You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<!-- 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.
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
217
168
218
169
Use `sphinx-autobuild` to view changes in the browser while you edit documentation.
219
170
@@ -223,32 +174,6 @@ make livehtml
223
174
224
175
You can open a browser at http://127.0.0.1:8050/ to preview the documentation.
225
176
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
-
252
177
### American English spelling, grammar, and syntax, and style guide
253
178
254
179
Spellings are enforced through [`Vale`](https://vale.sh/).
@@ -272,9 +197,6 @@ We also understand that contributors might not be fluent in English.
272
197
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.
273
198
Please ask!
274
199
275
-
276
-
(authors-linkcheck-label)=
277
-
278
200
### All links must be valid
279
201
280
202
```{important}
@@ -320,9 +242,6 @@ And there is a doubly punishing place for those who disable `linkcheck` because
320
242
Please do not be "that person".
321
243
```
322
244
323
-
324
-
(authors-syntax-highlighting-label)=
325
-
326
245
### Syntax highlighting
327
246
328
247
Pygments provides syntax highlighting in Sphinx.
@@ -395,8 +314,6 @@ When using the online lexer, if any red-bordered rectangles appear, then the lex
395
314
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.
396
315
397
316
398
-
(authors-html-meta-data-label)=
399
-
400
317
### HTML and Open Graph metadata
401
318
402
319
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
512
429
513
430
Here is how to set up and build the documentation locally {doc}`/contributing/setup-build`.
514
431
515
-
(myst-reference-link-heading-label)=
516
-
517
432
#### Link to a heading
518
433
519
434
```md
@@ -524,8 +439,6 @@ Here is how to set up and build the documentation locally {doc}`/contributing/se
524
439
Read the section {ref}`myst-reference-link-heading-label`.
525
440
```
526
441
527
-
(myst-reference-hello-heading-label)=
528
-
529
442
##### Hello heading
530
443
531
444
Read the section {ref}`myst-reference-hello-heading-label`.
@@ -563,8 +476,6 @@ Use `image` for anything but diagrams.
563
476
564
477
Use `figure` for diagrams.
565
478
566
-
(static-assets-label)=
567
-
568
479
#### Static assets
569
480
570
481
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.
630
541
```
631
542
````
632
543
633
-
```{image} /_static/standards.png
544
+
```{image}../_static/standards.png
634
545
:alt: XKCD "Standards" comic strip
635
546
```
636
547
@@ -856,31 +767,23 @@ print(f"my {a}nd line")
856
767
````
857
768
858
769
859
-
(setup-build-label)=
860
-
861
770
# Building and checking the quality of documentation
862
771
863
772
This document covers how to build the OpenSPP Documentation and check it for quality.
864
773
865
774
866
-
(setup-build-installation-label)=
867
-
868
775
## Installation
869
776
870
777
Installation of OpenSPP Documentation includes pre-requisites and the repository itself.
871
778
872
779
873
-
(setup-build-installation-python-label)=
874
-
875
780
### Python
876
781
877
782
Python 3.8 or later is required.
878
783
A more recent Python is preferred.
879
784
Use your system's package manager or [pyenv](https://github.com/pyenv/pyenv) to install an appropriate version of Python.
880
785
881
786
882
-
(setup-build-installation-vale-label)=
883
-
884
787
### Vale
885
788
886
789
Vale is a linter for narrative text.
@@ -906,8 +809,6 @@ This is an easy way to become a contributor to OpenSPP.
906
809
```
907
810
908
811
909
-
(setup-build-installation-graphviz-label)=
910
-
911
812
### Graphviz
912
813
913
814
Install [Graphviz](https://graphviz.org/download/) for graph visualization.
All build and check documentation commands use the file `Makefile`.
@@ -974,7 +871,7 @@ Open `/_build/html/index.html` in a web browser.
974
871
make livehtml
975
872
```
976
873
977
-
Open http://0.0.0.0:8000/ in a web browser.
874
+
Open http://127.0.0.1:8050/ in a web browser.
978
875
979
876
980
877
### `linkcheck`
@@ -1010,8 +907,6 @@ See {ref}`authors-html-meta-data-label` for more info.
1010
907
make html_meta
1011
908
```
1012
909
1013
-
(contributing-sphinx-extensions)=
1014
-
1015
910
# Sphinx extensions
1016
911
1017
912
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
1021
916
-[`sphinx.ext.todo`](https://www.sphinx-doc.org/en/master/usage/extensions/todo.html) adds support for todo items.
1022
917
-[`sphinx_copybutton`](https://sphinx-copybutton.readthedocs.io/en/latest/index.html) adds a little "copy" button to the right of code blocks.
1023
918
-[`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.
1025
919
-[`sphinxcontrib.httpdomain`](https://sphinxcontrib-httpdomain.readthedocs.io/en/stable/) provides a Sphinx domain for describing HTTP APIs.
1026
920
-[`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.
1027
921
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.
-[`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.
Copy file name to clipboardExpand all lines: docs/developer_guide/module_development/index.md
+26-15Lines changed: 26 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,17 +31,28 @@ For developers new to Odoo, it might seem easier to directly edit the existing O
31
31
32
32
In short, creating modules is the professional standard for Odoo and OpenSPP development that ensures your solution is robust and future-proof.
33
33
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
-
41
34
## Best Practices in OpenSPP Development
42
35
43
36
For more detailed guidelines, refer to the {doc}`Best Practices Guide <../best_practices>`.
44
37
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
+
45
56
## References
46
57
47
58
For more information on developing OpenSPP modules, refer to:
@@ -53,17 +64,17 @@ For more information on developing OpenSPP modules, refer to:
0 commit comments