User Tools

Site Tools


Sidebar

openbach:manuals:2.x:developer_manual:index

Developer Manuals

There are multiple developer manuals that are detailed in this page.

If you want to contribute to OpenBACH, you will have to follow some guidelines. This document will guide through various development processes.

At any step of your development process, do not hesitate to contact the OpenBACH team through the available mailing list.

Contributing to jobs/helpers/scenarios/executors

If you have developed your own jobs/helpers/scenarios/executors and wish to have them included as reference and maintained by the OpenBach team, please follow these steps:

  • Test your contributions on an OpenBACH platform;
  • Include the standard licence header in your contributed files;
  • Create a git branch off the dev branch and commit your work there;
  • Create a merge request of this branch into dev.

Do not hesitate to contact the OpenBACH team through the mailing list to ensure the correct localization of your contributions.

Contributing to the core of OpenBACH

Please get in touch with the maintainers using the mailing list before being able to create a merge request.

Modifying Django's Models

When changing Django's models, do not forget to create migrations so the install process is aware of the changes. Pay extra attention to how you create your fields as the database may already contain some data.

For instance, if you are creating a required field on a model, you must either:

  1. provide a default value for the field; or
  2. populate the field from other values in the database using a data migration.

When creating a data migration, it is a 3 step process:

  1. create an initial migration with your field allowing empty values (null=True);
  2. write the data migration as a function to be passed to RunPython;
  3. alter the field to disallow empty values (remove null=True) and squash the 3 migrations into a single file.

An example of this use case can be found in migration #18 or migration #19.

openbach/manuals/2.x/developer_manual/index.txt ยท Last modified: 2020/06/16 16:32 by mettinger