Dreamwidth Development Handbook
We do, however, recognized that many users will not have a lot or any experience with coding. What we hope, though, is that this will be no reason not to get involved in the development process. Especially these users can often bring a fresh perspective to a project.
This page is, when it's finished, going to be a tutorial to getting started with Dreamwidth development. This will include:
- The basic steps of getting a development environment that you can code on and how to work with a Linux machine.
- An introduction to the Dreamwidth code and how it is structured with examples.
- Introductions to Perl, which the Dreamwidth code is mainly written in. This will be done with examples from the code.
- Realistic exercises to make the new development volunteer familiar with
- how to find something in the code
- how to edit something in the code and test the changes
- how to generate a patch and upload it
The above-mentioned example exercises will need to include:
- basic variable declaration and handling
- if/elsif/else statements and loops
- working with BML
- working with the User and Entry objects
- basic CSS and S2 handling
More info to come.
Lesson One: Getting Started
A good way to get started is to apply for a Dreamhack. A Dreamhack is a development environment hosted by someone else where you can safely edit the code without breaking anything and where you don't have to worry about the technical maintenance. You can apply for a Dreamhack here.
After that was set up, you need to connect to your Dreamhack and set up a few things. The Dreamhack Getting Started article will hopefully help you with that. However, it requires a few basic things about working with a Linux command line. But don't despair, we have a Command line tutorial for all your 'new to Linux' needs. There is also the Beginning dev checklist, which will hopefully answer a few questions.
To make your life easier, you will probably also want to set up the scripts on the bottom of the Dev Maintenance site. The rest of the handbook assumes that you have set up the 'dws', 'dwu', and 'dwdb' scripts.
Note: This is just a draft for me, the final page will have a lot more detailed information and be on its own page.