DP Code Development
The source code that drives pgdp.net is Open Source software under the GPL license. It is currently hosted on GitHub under the Distributed Proofreaders organization. The code is written primarily in PHP, a web-centric interpreted language. If you've ever done any Perl, python, or C coding you'll find PHP very familiar.
Languages currently in use:
- PHP -- most of the code is PHP, used for interfacing with the database, and generating the HTML that the users see.
- Less/CSS -- most of the CSS is generated via the Less utility.
- HTML -- very little of the code is bare HTML, but a knowledge of HTML is needed, because there is significant HTML creation done by the PHP code.
See DP Code - Middleware Versions for a list of the supported middleware versions.
Other sites beyond www.pgdp.net may use the DP source code.
If you're interested in helping with DP code development:
- Reach out to GM lhamilton or Squirrel srjfoo to introduce yourself and describe your development experience and how you'd like to help with the DP code development.
- Familiarize yourself with the code. If you don't already have a GitHub account, you can either sign up for one and fork the code, download the code to your computer, or review it online at the main Distributed Proofreaders repository.
- See the dproofreaders issues on GitHub for many shovel-ready projects.
- Review the tasks in the Task Center. Note that a task description doesn't always give a good description of what all is involved in implementing it. If you find an interesting task, or have something in mind that isn't mentioned in the task center, you should discuss it with the GM lhamilton or Squirrel srjfoo before you start coding.
- If you haven't, already, fork the DP code repository and clone the code to your workstation or a DP development VM. See DP Code Development Using git.
It's important for developers to have channels of communication. The primary method of communication among developers is Slack. To request access to the Distributed Proofreaders Slack team, reach out to GM lhamilton or Squirrel srjfoo.
Development squirrels have the ability to create branch-specific sandboxes for testing code. Once you have implemented and tested your code in your local workspace or VM, push your branch to your fork of the code at github and request that a sandbox be set up for wider testing.