Skip to content

Commit eca8554

Browse files
Fixes of some documents
1 parent d100662 commit eca8554

File tree

3 files changed

+33
-136
lines changed

3 files changed

+33
-136
lines changed

docs/community/contributing.md

Lines changed: 4 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
review-status: needs-review
3-
review-date: 2025-06-04
3+
review-date: 2025-09-01
44
reviewer: migration-script
55
migration-notes: "Added during 2025 documentation reorganization"
66
---
@@ -164,56 +164,7 @@ pip install -r requirements.txt
164164
make html
165165
```
166166

167-
---
168-
169-
<!-- Commented this section out, this whole commented section is all from the old documentation version. unless there are relevant information from this section, we'll comment this part for now (administrators-guide-label)=
170-
171-
# Administrators Guide
172-
173-
This guide is for administrators of OpenSPP Documentation.
174-
It covers automated deployments, hosting, automated testing, previewing, and importing external package documentation into OpenSPP Documentation.
175-
176-
(administrators-import-docs-submodule-label)=
177-
178-
## Importing external docs with submodules
179-
180-
To add an external package to OpenSPP Documentation, we use git submodules.
181-
Your package must be available under the OpenSPP GitHub organization.
182-
183-
Inside the repository `openspp/documentation`, add a git submodule that points to your project.
184-
185-
```shell
186-
git submodule add git@github.com:openspp/my_package.git submodules/my_package
187-
```
188-
189-
Add a target `docs/my_package` in `Makefile`, then add `docs/my_package` to the `deps` target, following `openspp_registry` as a pattern.
190-
You might need to adjust the paths to your package's documentation after it is cloned.
191-
192-
To complete setup, generate a symlink to your project's docs, and build the docs, use a single command.
193-
194-
```shell
195-
make html
196-
```
197-
198-
To make it easier for other contributors to work with your project, update the following files, using `openspp_registry` as a model.
199-
200-
- Add it to the documentation section {ref}`contributing-editing-external-package-documentation-label`.
201-
- Add the symlink `docs/my_package` to `.gitignore`.
202-
- Optionally set a branch to work on in `.gitmodules`.
203-
204-
Commit and push your changes to a remote, and submit a pull request against [`openspp/documentation`](https://github.com/openspp/documentation/compare).
205-
206-
(authors-guide-label)=
207-
-->
208-
209-
# Authors guide
210-
211-
This guide is for authors of OpenSPP Documentation.
212-
It covers how to run a live preview of documentation while editing, build documentation, and perform quality checks.
213-
For general markup syntax, see {doc}`myst-reference`.
214-
215-
216-
## Synchronize the browser while editing
167+
### Synchronize the browser while editing
217168

218169
Use `sphinx-autobuild` to view changes in the browser while you edit documentation.
219170

@@ -223,32 +174,6 @@ make livehtml
223174

224175
You can open a browser at http://127.0.0.1:8050/ to preview the documentation.
225176

226-
227-
<!-- Commented this section out, this whole commented section is all from the old documentation version. unless there are relevant information
228-
(authors-quality-checks-label)=
229-
230-
## Quality checks
231-
232-
We strive for high quality documentation, setting the following minimum standards.
233-
234-
235-
(authors-markup-syntax-label)=
236-
237-
### Markup syntax must be valid
238-
239-
See both the specific markup syntax above and general markup in {doc}`myst-reference`.
240-
241-
To validate markup, run the following command.
242-
243-
```shell
244-
make html
245-
```
246-
247-
Open `/_build/html/index.html` in a web browser.
248-
249-
250-
(authors-english-label)=
251-
252177
### American English spelling, grammar, and syntax, and style guide
253178

254179
Spellings are enforced through [`Vale`](https://vale.sh/).
@@ -272,9 +197,6 @@ We also understand that contributors might not be fluent in English.
272197
We encourage contributors to make a reasonable effort, and to request a review of their pull request from community members who are fluent in English to fix grammar and syntax.
273198
Please ask!
274199

275-
276-
(authors-linkcheck-label)=
277-
278200
### All links must be valid
279201

280202
```{important}
@@ -320,9 +242,6 @@ And there is a doubly punishing place for those who disable `linkcheck` because
320242
Please do not be "that person".
321243
```
322244

323-
324-
(authors-syntax-highlighting-label)=
325-
326245
### Syntax highlighting
327246

328247
Pygments provides syntax highlighting in Sphinx.
@@ -395,8 +314,6 @@ When using the online lexer, if any red-bordered rectangles appear, then the lex
395314
You can search the [Pygments issue tracker](https://github.com/pygments/pygments/search) for possible solutions, or submit a pull request to enhance the lexer.
396315

397316

398-
(authors-html-meta-data-label)=
399-
400317
### HTML and Open Graph metadata
401318

402319
All documents must have a `myst` topmatter key with an `html_meta` directive at the top of every page.
@@ -512,8 +429,6 @@ Here is how to set up and build the documentation locally {doc}`/contributing/se
512429

513430
Here is how to set up and build the documentation locally {doc}`/contributing/setup-build`.
514431

515-
(myst-reference-link-heading-label)=
516-
517432
#### Link to a heading
518433

519434
```md
@@ -524,8 +439,6 @@ Here is how to set up and build the documentation locally {doc}`/contributing/se
524439
Read the section {ref}`myst-reference-link-heading-label`.
525440
```
526441

527-
(myst-reference-hello-heading-label)=
528-
529442
##### Hello heading
530443

531444
Read the section {ref}`myst-reference-hello-heading-label`.
@@ -563,8 +476,6 @@ Use `image` for anything but diagrams.
563476

564477
Use `figure` for diagrams.
565478

566-
(static-assets-label)=
567-
568479
#### Static assets
569480

570481
When the documentation is in a submodule, paths to static assets—including, images, figures, and videos—must resolve in both the main documentation and the submodule's documentation.
@@ -630,7 +541,7 @@ The following MyST example will display as shown below.
630541
```
631542
````
632543

633-
```{image} /_static/standards.png
544+
```{image} ../_static/standards.png
634545
:alt: XKCD "Standards" comic strip
635546
```
636547

@@ -856,31 +767,23 @@ print(f"my {a}nd line")
856767
````
857768

858769

859-
(setup-build-label)=
860-
861770
# Building and checking the quality of documentation
862771

863772
This document covers how to build the OpenSPP Documentation and check it for quality.
864773

865774

866-
(setup-build-installation-label)=
867-
868775
## Installation
869776

870777
Installation of OpenSPP Documentation includes pre-requisites and the repository itself.
871778

872779

873-
(setup-build-installation-python-label)=
874-
875780
### Python
876781

877782
Python 3.8 or later is required.
878783
A more recent Python is preferred.
879784
Use your system's package manager or [pyenv](https://github.com/pyenv/pyenv) to install an appropriate version of Python.
880785

881786

882-
(setup-build-installation-vale-label)=
883-
884787
### Vale
885788

886789
Vale is a linter for narrative text.
@@ -906,8 +809,6 @@ This is an easy way to become a contributor to OpenSPP.
906809
```
907810

908811

909-
(setup-build-installation-graphviz-label)=
910-
911812
### Graphviz
912813

913814
Install [Graphviz](https://graphviz.org/download/) for graph visualization.
@@ -927,8 +828,6 @@ sudo apt-get install graphviz
927828
`````
928829

929830

930-
(setup-build-installation-clone-OpenSPP-documentation-label)=
931-
932831
### Clone `OpenSPP/documentation`
933832

934833
Clone the OpenSPP Documentation repository, and change your working directory into the cloned project.
@@ -940,8 +839,6 @@ cd documentation
940839
make html
941840
```
942841

943-
(setup-build-available-documentation-builds-label)=
944-
945842
## Available documentation builds
946843

947844
All build and check documentation commands use the file `Makefile`.
@@ -974,7 +871,7 @@ Open `/_build/html/index.html` in a web browser.
974871
make livehtml
975872
```
976873

977-
Open http://0.0.0.0:8000/ in a web browser.
874+
Open http://127.0.0.1:8050/ in a web browser.
978875

979876

980877
### `linkcheck`
@@ -1010,8 +907,6 @@ See {ref}`authors-html-meta-data-label` for more info.
1010907
make html_meta
1011908
```
1012909

1013-
(contributing-sphinx-extensions)=
1014-
1015910
# Sphinx extensions
1016911

1017912
We use several Sphinx extensions to enhance the presentation of OpenSPP documentation.
@@ -1021,11 +916,8 @@ We use several Sphinx extensions to enhance the presentation of OpenSPP document
1021916
- [`sphinx.ext.todo`](https://www.sphinx-doc.org/en/master/usage/extensions/todo.html) adds support for todo items.
1022917
- [`sphinx_copybutton`](https://sphinx-copybutton.readthedocs.io/en/latest/index.html) adds a little "copy" button to the right of code blocks.
1023918
- [`sphinx-design`](https://sphinx-design.readthedocs.io/en/latest/) adds grids, cards, icons, badges, buttons, tabs, and dropdowns.
1024-
- [`sphinx_sitemap`](https://pypi.org/project/sphinx-sitemap/) generates multiversion and multilanguage [sitemaps.org](https://www.sitemaps.org/protocol.html) compliant sitemaps.
1025919
- [`sphinxcontrib.httpdomain`](https://sphinxcontrib-httpdomain.readthedocs.io/en/stable/) provides a Sphinx domain for describing HTTP APIs.
1026920
- [`sphinxcontrib.httpexample`](https://sphinxcontrib-httpexample.readthedocs.io/en/latest/) enhances `sphinxcontrib-httpdomain` by generating RESTful HTTP API call examples for different tools from a single HTTP request example.
1027921
Supported tools include [curl](https://curl.se/), [wget](https://www.gnu.org/software/wget/), [httpie](https://httpie.io/), and [python-requests](https://requests.readthedocs.io/en/latest/).
1028-
- [`sphinxcontrib.video`](https://pypi.org/project/sphinxcontrib-video/) allows you to embed local videos as defined by the HTML5 standard.
1029-
- [`sphinxext.opengraph`](https://pypi.org/project/sphinxext-opengraph/) generates [OpenGraph metadata](https://ogp.me/).
1030922
- [`sphinx.ext.viewcode`](https://www.sphinx-doc.org/en/master/usage/extensions/viewcode.html) generates pages of source code modules and links between the source and the description.
1031923
- [`sphinx.ext.autosummary`](https://www.sphinx-doc.org/en/master/usage/extensions/autosummary.html) generates function/method/attribute summary lists. -->

docs/community/module_lifecycle_development_status.rst

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ The requirements to merge code into OpenSPP projects depend on the module's
66
maturity level.
77

88
The OpenSPP uses the following maturity levels for the modules stored in the
9-
Github repository and published in PyPi platform:
9+
Github repository:
1010

1111
- **Alpha:** Unstable, for development or testing purpose
1212

@@ -17,9 +17,6 @@ Github repository and published in PyPi platform:
1717
- **Mature:** In Production level since more than one version and
1818
actively maintained.
1919

20-
This is consistent with the terminology used on PyPi, and the allowed
21-
values are the same as the ones used by PyPi.
22-
2320
A module maturity level is stored in the **development\_status** key of
2421
the standard manifest of the module (\_\_manifest\_\_.py).
2522

@@ -38,9 +35,6 @@ A module’s development\_status can be different for different versions.
3835
A “mature” or “stable” module in a version can start as “stable” or
3936
“beta” in the next branch, as a step towards maturity.
4037

41-
All modules, regardless of their development status, will be published
42-
on PyPi.
43-
4438
Next we describe in detail what each 'development status' means, what
4539
can be expected by users, and what are the requirements for modules to
4640
be assigned each maturity level.
@@ -56,8 +50,8 @@ that are easier to review and make it easier to divide the work between
5650
several people.
5751

5852
Each pull request is an iteration providing a correct set of features.
59-
The corresponding code should always pass TravisCI checks and should
60-
have at least one peer review.
53+
The corresponding code should always pass the CI checks on GitHub Actions and
54+
should have at least one peer review.
6155

6256
Since these modules are a work in progress toward a “stable” module,
6357
they are not suitable for use in production. The design and

docs/developer_guide/module_development/index.md

Lines changed: 26 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,28 @@ For developers new to Odoo, it might seem easier to directly edit the existing O
3131

3232
In short, creating modules is the professional standard for Odoo and OpenSPP development that ensures your solution is robust and future-proof.
3333

34-
This modular approach is the foundation for all advanced customizations. From here, you can explore:
35-
- Adding more complex field types (Selection, Many2one, etc.).
36-
- Creating entirely new models and menus.
37-
- Adding business logic with Python methods.
38-
39-
By mastering this pattern, you can tailor OpenSPP to meet any specific program requirement while ensuring your implementation remains clean, stable, and easy to maintain.
40-
4134
## Best Practices in OpenSPP Development
4235

4336
For more detailed guidelines, refer to the {doc}`Best Practices Guide <../best_practices>`.
4437

38+
## Module Customization Guides
39+
40+
The following guides provide step-by-step instructions for common customization tasks in OpenSPP. Each guide focuses on a specific area of the platform, showing you how to extend its functionality by creating a custom module.
41+
42+
- **{doc}`fields`**: Learn how to add new fields to existing models.
43+
- **{doc}`registry`**: Extend the core registry models for individuals and groups.
44+
- **{doc}`indicators`**: Create and manage custom indicators for eligibility checking, reporting, and analysis.
45+
- **{doc}`programs`**: Customize program definitions and behavior.
46+
- **{doc}`cycles`**: Modify program cycles and their states.
47+
- **{doc}`entitlements`**: Customize the logic for calculating and managing entitlements.
48+
- **{doc}`change_requests`**: Build new types of change requests to handle custom data modification workflows.
49+
- **{doc}`dms`**: Extend the Document Management System (DMS) with custom categories and logic.
50+
- **{doc}`rest_api`**: Create new REST API endpoints for integration with external systems.
51+
- **{doc}`areas`**: Customize geographical area data, such as adding population statistics.
52+
- **{doc}`service_points`**: Extend the functionality of service points.
53+
- **{doc}`audit`**: Configure and extend audit logging for tracking changes to critical data.
54+
- **{doc}`dashboard`**: Develop custom dashboards and reporting views.
55+
4556
## References
4657

4758
For more information on developing OpenSPP modules, refer to:
@@ -53,17 +64,17 @@ For more information on developing OpenSPP modules, refer to:
5364
:hidden: true
5465
:caption: Contents
5566
56-
areas
57-
audit
58-
change_requests
59-
cycles
60-
dashboard
61-
dms
62-
entitlements
6367
fields
68+
registry
6469
indicators
6570
programs
66-
registry
71+
cycles
72+
entitlements
73+
change_requests
74+
dms
6775
rest_api
76+
areas
6877
service_points
78+
audit
79+
dashboard
6980
```

0 commit comments

Comments
 (0)