Contributing translation

merge-requests/85/head
Aleix Quintana Alsius 2023-04-23 16:05:42 +00:00
parent d551f46bbf
commit cd78248bff
1 changed files with 30 additions and 34 deletions

View File

@ -4,7 +4,7 @@ DD is free software under AGPL3+ license, and contributions are welcome.
## Source code ## Source code
The source code repository and techincal documentation is available at: The source code repository and technical documentation is available at:
[https://gitlab.com/DD-workspace/DD](https://gitlab.com/DD-workspace/DD) [https://gitlab.com/DD-workspace/DD](https://gitlab.com/DD-workspace/DD)
## DD Architecture ## DD Architecture
@ -13,7 +13,7 @@ Code modifications will require you to familiarize yourself with DD architecture
![DD Workspace for education - Arquitectura](assets/diagram/dd_workspace_education.png) ![DD Workspace for education - Arquitectura](assets/diagram/dd_workspace_education.png)
**Note** This DD architecture diagram can be found in code respository in [editable][diagramedit] format. Like the rest of the whole code, you can suggest modifications **Note** This DD architecture diagram can be found at code respository in [editable][diagramedit] format. Like the rest of the whole code, you can suggest modifications.
[diagramedit]: https://gitlab.com/DD-workspace/DD/-/tree/main/docs/assets/diagram [diagramedit]: https://gitlab.com/DD-workspace/DD/-/tree/main/docs/assets/diagram
@ -22,9 +22,9 @@ Code modifications will require you to familiarize yourself with DD architecture
In order to organize contributions, adaptive software development methodology(ASD) is used. In order to organize contributions, adaptive software development methodology(ASD) is used.
This methodology focuses on self-organized team dynamics, interpersonal collaboration, and individual and team learning in a way that allows integrate the *Open Source* nature of **DD** with feedback or update cycles in the schools that are part of the pilot project and the technical needs of the project. This methodology focuses on self-organized team dynamics, interpersonal collaboration, and individual and team learning in a way that allows integrating the *Open Source* nature of **DD** with feedback, technical needs and update cycles in the schools that are part of the pilot project.
ASD helps build complex software systems, in our case a digital educational environment. ASD helps building complex software systems, in our case a digital educational environment.
It is organized in iterative cycles of three phases : It is organized in iterative cycles of three phases :
@ -34,10 +34,10 @@ It is organized in iterative cycles of three phases :
- Criticize without hostility - Criticize without hostility
- Attend without resentment - Attend without resentment
- Work as hard as possible - Work as hard as possible
- Behave or obtain the necessary skills - Provide or obtain the necessary skills
- Communicate the issues that prevent finding an effective solution - Communicate the issues that prevent finding an effective solution
3. **Learning**: Whether a desired result is reached or not, this process will help everyone involved, as it will increase the understanding of the project and its associated technologies. While working together [Merge Request][mr] and their associated reviews, as well as the communication between team working on and reporters are a crucial part. 3. **Learning**: Whether a desired result is reached or not, this process will help everyone involved, as it will increase the understanding of the project and its associated technologies. While working together [Merge Request][mr] and their associated reviews, as well as the communication between work team and reporters are a crucial part.
By applying this methodology in an iterative way, we improve the project incrementally. By applying this methodology in an iterative way, we improve the project incrementally.
@ -50,33 +50,32 @@ Some free online resources to familiarize yourself with ASD are:
### In practice ### In practice
- Do you find any issue? Help us reporting the [issue][issues]. - Did you find any issue? Help us reporting the [issue][issues].
- Do you want to add a patch? You'll find useful information in section quality control below. Depending on how complex are your changes: - Do you want to add a patch? You'll find useful information in quality control section below. Depending on how complex are your changes:
- Simple changes: Open a [Merge Request][mr] - Simple changes: Open a [Merge Request][mr]
explaining what are you adding and why. explaining what are you adding and why.
Doing so a **review** process will be started. Doing so, a new **review** process will be started.
- Complex changes: contact us before to decide if your solution is the optimal one for the project. - Complex changes: Contact us before to decide if your solution is the optimal one for the project.
A good way of doing so is opening an [issue][issues] explaining what are you trying to to do, also why and how. A good way of doing so, is opening an [issue][issues] explaining what are you trying to to do, also why and how you want to do.
- Do you often collaborate with DD? Help with the pending [Merge Request][mr] reviews, keeping in mind the quality control. - Do you collaborate with DD often? Help us with the pending [Merge Request][mr] reviews, keeping in mind the quality control.
[issues]: https://gitlab.com/DD-workspace/DD/-/issues [issues]: https://gitlab.com/DD-workspace/DD/-/issues
[mr]: https://gitlab.com/DD-workspace/DD/-/merge_requests [mr]: https://gitlab.com/DD-workspace/DD/-/merge_requests
## Quality controls ## Quality control
### Continuous Integration ### Continuous Integration
To simplify the review work and to ensure certain quality of what is integrated in repository: To simplify the review work and to ensure certain quality of what is integrated in repository:
- Nobody can direct `push` to `main` branch (`main`). - Nobody can `push` commits directly to `main` branch (`main`).
Always is necessary to follow the [Merge Request][mr] review proces. Always is necessary to follow the [Merge Request][mr] review proces.
- ** TO BE REVIEWED ( branch based events?? )** There is a [buildbot][buildbot] instance (in `ci.dd-work.space`, login via GitLab) as a Continuous Integration that reacts to `push` events in `main` branch and to [Merge Request][mr] events in any other branch. - ** TO BE REVIEWED ( branch based events?? )** There is a [buildbot][buildbot] instance (in `ci.dd-work.space`, login via GitLab) as a Continuous Integration that reacts to `push` events in `main` branch and to [Merge Request][mr] events in any other branch.
- When the event is a [Merge Request][mr], only static checks are executed, so no complete tests are launched. - When the event is a [Merge Request][mr], only static checks are executed, so no complete tests are launched.
This is to prevent crypto mining CI/CD abuse. This is to prevent crypto mining CI/CD abuse.
These checks are the same as: These checks are [ShellCheck][sc] for shell scripts, [mkdocs][mkdocs] to check that the documentation is generated as it should. Also, we will add soon linters and standard python checks.
[ShellCheck][sc] for shell scripts, [mkdocs][mkdocs] to check that the documentation is generated as it should, soon we'll add linters and standard python checks.
- When the event is a `push` to `main`, - When the event is a `push` to `main`,
additionally to the [Merge Request][mr] tests, it will start the installation process from the scratch in a virtual machine. additionally to the [Merge Request][mr] tests, it will start the installation process from the scratch in a virtual machine.
This helps in detecting problems and makes sure that DD can be correctly. This helps in detecting problems and makes sure that DD can be correctly.
@ -84,27 +83,24 @@ To simplify the review work and to ensure certain quality of what is integrated
### Checklist ### Checklist
Before testing a Merge Request, we need to do these tests on the changes introduced: Before integrating a Merge Request, we need to make sure that this checklist is passed:
- [ ] CI Tests passing. - [ ] CI Tests passing.
- [ ] The changes are needed, and solves a real problem. Also the changeset improves the maintenance of the project. - [ ] The changes are needed, and solves a real problem.
- [ ] ConsiderateEs consideren i debaten les implicacions de **seguretat** - [ ] The changeset improves the maintenance of the project.
- [ ] Es consideren i debaten les implicacions de **mantenibilitat** - [ ] **Security** implications are considerated and debated.
- [ ] Es revisen possibles regressions de funcionalitat - [ ] **Manteinance** implications are considerated and debated.
- [ ] No s'utilitzen dades reals en les proves - [ ] **Functional** regressions are reviewed.
- [ ] El resultat de la instal·lació des de zero en el CI és satisfactori - [ ] Tests are not done using real data.
- [ ] És possible crear i modificar grups i usuaris - [ ] Succesful installation result from the scratch in CI.
- [ ] És possible iniciar sessió amb SSO a Moodle, Nextcloud i Wordpress - [ ] Is possible to create and update groups and users
- [ ] Es respecta el [Principi de mínima sorpresa (Principle Of Least Attonishment / POLA)][pola] - [ ] Is possible to start a sessions with SSO in Moodle, Nextcloud and Wordpress.
- [ ] Això inclou que es respectin les configuracions explícites - [ ] Respect of [Principle Of Least Attonishment / POLA][pola]
dels operadors (`dd.conf`) - [ ] This includes respecting explicit configurations of operators(defined in `dd.conf`)
- [ ] Les funcionalitats noves que puguin tenir efectes negatius, només - [ ] The new features which may have negative effects, only will be applied by default when operators did have enough time to disable these before.
s'aplicaran per defecte, quan els operadors hagin tingut temps
suficient de desactivar-les abans
Si algun d'aquests passos falla, procedirem a ajudar a qui ha proposat els If any of these steps fails, we'll try to help who requested the code merging to solve the problems.
canvis a solucionar els inconvenients.
[buildbot]: https://buildbot.net [buildbot]: https://buildbot.net
[pola]: https://en.wikipedia.org/wiki/Principle_of_least_astonishment [pola]: https://en.wikipedia.org/wiki/Principle_of_least_astonishment