DP Code Development

From DPWiki
Jump to: navigation, search

Source code

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.
  • Javascript -- several tools use javascript, and we expect more to do so in the future.
  • 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.

Getting started

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.
  • 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.

Development Process

See DP Code Development Using git for setting up a work station for code development. It's also a good idea to study the DP Code Best Practices.

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.

See Also