DRAFT: This is a collection of personal recommendations. The workflow is open for discussion, feel free to jump in and modify this Wiki!
The workflow within this repository should be driven by Issues (and Incidents). Every series of changes starts by creating an issue.
In order to fully use the capabilities of GitLab it is necessary to establish a certain set of prescribed workflow steps with following goals:
- Localized changes (don't change the whole system at once but by parts)
- Localized notification (based on localized (to issue type or chair) responsibility)
- Localized assurance (technical and editorial quality assurance)
This does not mean to only change a file, but to have one dedicated issue/merge-request for a concrete problem. Branches will be deleted after merge (Repository setting). There are standard rules about how large commits etc. should be...
Localized Notification and (Quality) Assurance
During creation of an issue, one can optionally choose an Assignee to handle this issue. In a merge request, on can choose a Reviewer.
Furthermore, GitLab-labels can be used for classification and notification: The use of labels during issue creation allows to only notify the ones that are needed during the handling of the follow-up merge-request.
The labels of this repository can be divided into different classes. See here for a list of currently active labels.
These labels should be subscribed by the persons in charge of authorizing new features:
Theses labels are then used to inform the persons in charge about a proposed feature and also to classify the development process as something that is a new addition.
Technicians should subscribe to the following labels:
tech-maintenance(Development and standard tasks in order to assure operability that add nono new functionality)
typo(for marginal changes to existing pages that have already undergone quality assurance)
These labels are then specified to inform technical maintainers that something about the web page, repo does not work as expected or to classify development projects that do not add new functionality (e.g. code refactoring).
Professors, Chief-Engineers and other people responsible for editorial quality assurance should subscribe to at least one of the following labels:
These labels are then specified by the users who need quality assurance on their research topic by their supervisor.
New labels can be added by everyone but the subscription needs to be carried out individually. Therefore it is better to reuse existing labels.
Handling of Merge Requests
Each issue leads to an associated merge request which inherits the chosen labels. Depending on the nature of the chosen labels, either professors or chief-engineers or technicians are responsible to react to the merge request. Redactional changes or new research topics are usually handled by professors of chief-engineers, while maintenance merge requests are handled by technicians.