Hi @batista.lucas1501 and welcome to the community,
Your question implies two answers:
1. senaite.core vs senaite.lims
SENAITE LIMS follows Plone philosophy and its code is divided in several packages each of them providing specific features or functionalities for easy maintenance, code management and bug tracking. Or at least, this is the idea behind SENAITE modularity.
For example, from a functional point of view, senaite.core contains the core functionalities for a LIMS, including workflows, permissions, etc.
But the seniate.core
package by itself does not bring the whole SENAITE LIMS software completely. There is another package called senaite.core.listing that provides a “ReactJS based listing tables” to render visual components for the system, such as “lists and tables” .
There are optional packages that you only need to install in case you want the functionality. This is the case for SENAITE Storage.
What is senaite.lims then? senaite.lims
package is a meta-package that wraps other packages in order to offer the SENAITE LIMS software:
You can have a look at the following setup.py
piece from senaite.lims
and see what packages are included and installed for senaite.lims:
install_requires=[
"senaite.core>=1.3.3.1",
"senaite.core.listing>=1.4.0",
"senaite.core.spotlight>=1.0.2",
"senaite.impress>=1.2.3",
"senaite.jsonapi>=1.2.2",
"setuptools",
],
SENAITE Health is also a meta package that includes senaite.lims and senaite.panic to bring a LIMS for health enviorements.
2. How to make changes to SENAITE?
Making changes to SENAITE official packages is a good starting point for practice. But, if you want to change/add SENAITE features for a productive system, it is better to create an addon and make changes there. If you were to make changes in the same SENAITE official packages, for example senaite.core
, you would have trouble updating to every new version.
How to create an addon? Reading documentation below and having a look at small SENAITE packages such as senaite.databox or senaite.panic.
You can find some extra info here: Where to start learning the Senaite code?
And here:
Mastering Plone!
http://plone-training.readthedocs.io/en/plone4/
A beginner training + advanced training focused on Plone development, intended as a week training for people who are new to Plone.
10.1 HTML Page Templates (TAL), from The Zope2 Book
https://docs.zope.org/zope2/zope2book/ZPT.html#html-page-templates
This chapter explains how TAL constructs work for the creation of .pt files (page templates) that are dynamically rendered to HTML. Useful to know how to create results reports templates.