Actions

How to contribute new features

From LimeSurvey Manual

Revision as of 16:36, 22 November 2019 by Olle (talk | contribs)

Contribution process

We are always encouraging users to contribute new features or fix bug they have developed. If you are planning to code a stunning new feature and you want it to be implemented at the core so you are future save when updating later, please proceed as follows:

  1. Use the latest Github version for your development
  2. Open a new ticket at our bugtracker at the good project part:
    1. Bug report for a bug
    2. Feature request for a new feature
    3. Development is more for fix the internal system
  3. If you already have fix : make a pull request at github. Remind the Standard for Git commit messages
  4. Describe your feature as detailed as possible and tell us about the implementation details (what code you want to add, which files you are planning to change, which GUI parts have to be extended, ...)
  5. We will then assign the ticket to one of our developers and discuss your approach. It's important to tell us about your plans before you start coding because otherwise you might take the wrong way when implementing new features so we might have to say "Sorry, we can't take that one (because of security problems or what so ever)".
  6. Once implementation details were discussed just start coding and create a Github pull request afterwards and ask for a developer to review your coding.
  7. There might be some further discussions about implementation details but once this was solved, your feature will be available in the next new version.

Internal contribution process

As above, but using gitflow instead of pull-requests. Especially:

  • New features are always on feature branches
  • New features are never merged into develop branch before QA
  • Bug fixes are in bug branch
  • Trivial fixes can be applied in the development branch directly (trivial fixes are e.g. one line or changing a localization typo in multiple lines)
  • The name of a new branch is prefixed with the bug or feature ticket, e.g. "15532-em-warnings"

Useful links