Skip to content

Contributing

Engelbert edited this page Jan 8, 2015 · 1 revision

👍 First off, thanks for taking the time to contribute! You are an awesome person! 👍

ProjectPier is a collaborative, community-driven project. This means that the software and its supporting features (documentation, the projectpier.org website) are collaboratively produced by users and developers all over the world.


How to Contribute

There are several ways to contribute to ProjectPier:


Improve or Enhance the software

There are two basic types of contributions you can make to ProjectPier's codebase:

ProjectPier Core

Changes to the ProjectPier core are made through a thorough review process to ensure the overall integrity of the software.

Changes to the core are generally of the following types:

  • Bug Fixes/Reports: These changes respond to identified problems (aka: reported bugs) in the existing code. Your bug reports play an essential role in making ProjectPier reliable. If you find a bug, please follow the submission guidelines. If you can, it is also helpful make a pull request that fixes your bug. It is important to include as much information and details as you can so that other people can replicate the issue and confirm the bug exists. When providing a patch/pull request you will also need to include details about how to test the patch.

    Bugs are fixed in ProjectPier very often, sometimes many bugs are fixed in a single day. Therefore it is important that you are using the latest development version and that your bug still happens in that version.

  • Enhancements: These changes are enhancements to what has already been developed.

  • New Features: These requests add new functionality.

  • Code Maintenance: These changes are to improve the quality of the code or bring it up to date with changes elsewhere in ProjectPier. This can include bringing code in line with coding standards, improving efficiency (e.g., eliminating unneeded database queries), introducing or improving in-line comments, and doing upgrades for compliance with a new release version.

Extras

Currently contributions involving community developed extras such as Themes and Translations are available on the ProjectPier.org site.

To make a contribution, you need to:

  • Produce your contribution.
  • Apply for contributor privileges.
  • Make a pull request.

As long as contributions meet some minimal criteria - they do what they claim to and have some demonstrable benefit without unduly replicating already-available functionality, and are coded with an eye towards secure code - they should be OK.

Themes

Refer to the Theming Guide for more information. Under Construction

Translations

Refer to the Translations Guide for more information. Under Construction

Modules

Refer to the Modules/Plugins Guide for more information. Under Construction


Manuals

More information on creating/enhancing the manuals will be available soon, for now you should contact Jon via his projectpier.org Contact Form.


Guidelines

The following is a set of guidelines for contributing to ProjectPier and its extras, which are hosted in the ProjectPier Repositories on GitHub. If you're unsure which component/part of the core is causing your problem or if you're having an issue with the ProjectPier-Core or a contribution (translations, plug-ins, themes) please open an issue on the appropriate ProjectPier Bug Tracker.

These are just guidelines, not rules, use your best judgement and feel free to propose changes to this document in a pull request.

Submitting Issues

  • Provide a sensible title for the bug.
  • You will need to choose a related label.
  • Include the version of ProjectPier you are using and the OS your server runs on, telling us which browser you are using might help too.
  • It is frequently helpful to include the PHP, database and webserver version information.
  • Include screenshots and animated GIFs whenever possible; they are immensely helpful.
  • Include the behavior you expected and other places you've seen that behavior.
  • Perform a cursory search to see if a similar issue has already been submitted.
  • Use Markdown if possible.
  • Note that you DO have to be signed in to GitHub to submit bugs

Pull Requests

  • Include screenshots and animated GIFs in your pull request whenever possible.
  • Follow the ProjectPier Coding Standards.
  • Document new code as extensively as possible.
  • End files the UNIX way.

Git Commit Messages

  • Use the present tense ("Add feature" not "Added feature")
  • Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
  • Limit the first line to 72 characters or less
  • Reference issues and pull requests liberally
  • Consider starting the commit message with an applicable emoji:
    • 💄 :lipstick: when improving the format/structure of the code
    • 📝 :memo: when writing docs
    • 🐛 :bug: when fixing a bug
    • 🔥 :fire: when removing code or files
    • 🔒 :lock: when dealing with security
    • etc...