Everyone is invited to make changes to this document.
Please make a merge request to suggest improvements and add clarifications. Please use issues to ask questions.
See Docker.
All sites run on mod_ginger_base. As many as possible run on mod_ginger_foundation.
- For single resources, use
{% if id.is_visible %}
. - For lists, use the
items|is_visible
filter.
-
Override only the templates you need and only the blocks you need.
-
When overriding a base/foundation template, use
{% overrules %}
where possible. Then only overwrite the blocks that you really need to overwrite.
- In the ACL rules, never give users (including managers) access to ‘system content’. This prevents users from accidentally editing categories and content groups.
-
When changing templates, parameter names etc. always think about backwards compatibility.
-
Other people and sites depend on you to make sure their code still works after your changes.
-
If you need to introduce a breaking change, document it in the CHANGELOG.md file.
For instance release-0.5.0
. Then merge the release branch including your
bugfix into master:
$ git checkout master
$ git merge release-0.5.0
They will then become part of the next Ginger release.
-
This enables others to keep track of changes and provide you with ideas.
-
We tag issues to show them on the roadmap.
{% catinclude id %}
allows more specific template overrides.
Instead of copying .erl files, hook into the notifications that already exist in Zotonic and Ginger.
-
Base new Ginger modules on mod_ginger_template.
-
Add a readme and a license.
m_ginger_somemodel
(notm_somemodel
) andginger_some_table
(notsome_table
).