cesy: "Cesy" - An old-fashioned quill and ink (Default)
Cesy ([personal profile] cesy) wrote in [site community profile] dw_dev_training2009-08-06 08:34 am

Starting out in Dreamwidth Development

There's been discussion in a couple of places recently about making it easier for people to start out in development when you know pretty much nothing. I think someone is working on an official guide, but I figured I'd put something up here in the meantime, as [personal profile] 7rin was asking.

Firstly, most of our dev-training currently happens on IRC. The wiki page explains how to get on there. However, I know IRC isn't possible for everyone, so I think the plan is for people to be able to ask stuff in this community as well.

The first thing to do is to request a Dreamhack. These are our development boxes, and are the basic tool you'll need to do anything. Note that getting one and not using it doesn't use up any resources, so don't worry if you have to drop out of dev stuff later. Once you've got it, follow the steps in the getting started wiki page on Dreamhacks, though it may not all make sense at this stage.

You've then got two choices of method, depending on how you prefer to learn. Either way, a really important point to bear in mind is that at various points in this process, it will all go horribly wrong. That's normal. There will be something you don't understand, or something breaks, and you have no idea what's going on. That's okay. Post an entry here, or drop a comment to any dev (*) and we'll find someone who can help you fix it. We all have it happen to us on a regular basis. Things Going Wrong is a normal part of programming, not a sign that you've failed. This is important to remember when you've spent three hours banging your head against a brick wall. Anyway.

Method 1
Start having a look at Bugzilla. For Bugzilla, I'd suggest you first set up a new email address, as it gets displayed publicly, set it to forward to your main address, and then sign up on Bugzilla. The most useful search is for the keyword "effort-minor", which should include all the easy bugs. Once you've got a Dreamhack running that you can log into, and you've found a bug you like the look of, I'd suggest asking in IRC or the community to check whether it's harder than it looks or anything like that.

Method 2
Just look at the code on your Dreamhack for something where you know what it does (for example htdocs/userinfo.bml is the profile) and read a Perl book/online guide to figure out what's going on in there, asking in IRC or here when you're stumped. If you've never used a command line before, this wiki page will help.

This: http://www.perl.org/books/beginning-perl/ and http://www.ebb.org/PickingUpPerl/ are the Perl books we recommend.

http://wiki.dwscoalition.org/notes/BML is the Wiki page for BML. But BML is evil.

Other resources
Other resources to look at, if you haven't already, are the wiki and this community. Membership is open and posting is open to all members so you should be able to post in here if you get stuck.

http://www.linux.org/lessons/beginner/toc.html looks like a good Linux introduction and is relevant from lesson 5/6 onwards.

W3Schools have a good basic guide to CSS.

Of course, I've glossed over an awful lot of things, there, so do tell me which bits need more explaining.

(Thanks to [personal profile] yvi for her suggestions and additions.)

(*): This includes me, most of the people commenting in this community, and anyone posting in [site community profile] changelog. Most of us can be contacted by PM, or just leave a comment on any public entry, either here or in our journals.
yvi: Kaylee half-smiling, looking very pretty (Default)

[personal profile] yvi 2009-08-06 11:15 am (UTC)(link)
Yes, that sounds like fun :). Maybe a few different exercises for different stuff?

Like, I don't know

* get the user names on the userinfo page to print in reverse alphabetical order
* tweak Tropo Red's navigation bar background color to #000000
* make communities use a different icon

Plus a few others and have 'solution' pages for a few of them.

At least it sounds like more fun than going through book exercises.
afuna: Cat under a blanket. Text: "Cats are just little people with Fur and Fangs" (Default)

[personal profile] afuna 2009-08-06 11:17 am (UTC)(link)
Hehhe, agreed. And more relevant ( $u->user has more meaning than $random_variable!)
yvi: Kaylee half-smiling, looking very pretty (Default)

[personal profile] yvi 2009-08-06 11:22 am (UTC)(link)
You know, this sounds like fun. I could maybe sit down and write a few this weekend, depending on whether I am going to meet the family or not.

Maybe a new entry here (or in another community?) to see what people need most and whether anyone would like to help? For example, I'd love something where the user and entry object stuff is involved, since it's used a lot. There needs to be some BML stuff, some English-stripping, etc.

We could have a whole "DW for Beginners textbook" ;) Yeah, I know I am going overboard here.
afuna: Cat under a blanket. Text: "Cats are just little people with Fur and Fangs" (Default)

[personal profile] afuna 2009-08-06 11:24 am (UTC)(link)
Go overboard! I don't think anyone will mind (and I'd be happy to help out *G*, assuming family doesn't eat me this weekend, too!)

And hmm, yeah a new entry sounds good? Or maybe look back to D's last or next-to-last walkthrough,and see whether anyone mentioned anything in particular, too?
yvi: Kaylee half-smiling, looking very pretty (Default)

[personal profile] yvi 2009-08-06 11:54 am (UTC)(link)
Evil enabler :P
afuna: Cat under a blanket. Text: "Cats are just little people with Fur and Fangs" (Default)

[personal profile] afuna 2009-08-06 01:21 pm (UTC)(link)
Yes! :D
pauamma: Cartooney crab wearing hot pink and acid green facemask holding drink with straw (Default)

[personal profile] pauamma 2009-08-06 03:01 pm (UTC)(link)
She's not evil!
yvi: Kaylee half-smiling, looking very pretty (Default)

[personal profile] yvi 2009-08-06 03:04 pm (UTC)(link)
*hides and tries to look innocent*
denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)

[staff profile] denise 2010-07-31 03:21 pm (UTC)(link)
We should totally come back to this idea and pull it together. *g*
sophie: A cartoon-like representation of a girl standing on a hill, with brown hair, blue eyes, a flowery top, and blue skirt. ☀ (Default)

[personal profile] sophie 2010-11-13 02:02 pm (UTC)(link)
I totally agree. :D