Senaite is based on Plone, so a good start is having a look at Plone’s documentation:
- https://docs.plone.org/4/en/intro/index.html
- https://docs.plone.org/4/en/manage/installing/index.html
A lot of efforts have been put on having a well documented and tested code. So a good way to understand how Senaite works is consulting the code.
Tests are a good tool to understand how the system works. You have the folder of tests here: https://github.com/senaite/senaite.core/tree/master/bika/lims/tests
I strongly suggest reading the doctests: https://github.com/senaite/senaite.core/tree/master/bika/lims/tests/doctests because they are “human readable”.
For example,
- How does the “analysis submission” work? Here you will understand it: https://github.com/senaite/senaite.core/blob/master/bika/lims/tests/doctests/WorkflowAnalysisSubmit.rst
- I want to understand permissions: https://github.com/senaite/senaite.core/blob/master/bika/lims/tests/doctests/Permissions.rst
- I want to understand the basic interaction a programmer can have with the system: Go to the APIs tests: https://github.com/senaite/senaite.core/blob/master/bika/lims/tests/doctests/API.rst or https://github.com/senaite/senaite.core/blob/master/bika/lims/tests/doctests/API_analysis.rst etc
The Senaite API is a good place to find useful functions and understand some interactions with the architecture: https://github.com/senaite/senaite.core/tree/master/bika/lims/api