Documentation
Browse by topic
Explore related documentation through its most useful keyword groups.
1065 items
Grouped by Architecture
A named transformation applied to a value inside a template expression.
Explore this clusterA typed event or request exchanged between decoupled Zotonic components through the notifier.
Explore this clusterA server-defined browser action or event binding connected through Zotonic wires.
Explore this clusterA namespaced interface for retrieving or changing data and invoking operations in Zotonic or browser-side components.
Explore this clusterAn OTP application or site component that adds Zotonic behavior templates data and configuration.
Explore this clusterA server-side template_compiler document that renders data into HTML text email or another representation.
Explore this clusterA request handler that maps web requests to responses and coordinates authorization rendering or data transfer.
Explore this clusterA route declaration that matches a URL pattern and selects a controller with arguments.
Explore this clusterThe central Zotonic entity that represents content users media categories and other addressable objects.
Explore this clusterDocumentation not covered by the other keyword groups in this split.
Explore this clusterWelcome to Zotonic 0.64.0, released on March 4, 2022.
Welcome to Zotonic 0.65.0, released on March 17, 2022.
Welcome to Zotonic 0.66.0, released on May 24, 2022.
Welcome to Zotonic 0.67.0, released on July 5, 2022.
Welcome to Zotonic 0.68.0, released on July 21, 2022.
Welcome to Zotonic 0.69.0, released on August 30, 2022.
Welcome to Zotonic 0.70.0, released on September 16, 2022.
Welcome to Zotonic 0.70.1, released on September 26, 2022.
Welcome to Zotonic 0.71.0, released on October 18, 2022.
Welcome to Zotonic 0.72.0, released on November 21, 2022.
Welcome to Zotonic 0.73.0, released on December 8, 2022.
Welcome to Zotonic 0.75.0, released on March 2, 2023.
Welcome to Zotonic 0.76.0, released on April 4, 2023.
Welcome to Zotonic 0.77.0, released on May 25, 2023.
Welcome to Zotonic 0.78.0, released on June 29, 2023.
Welcome to Zotonic 0.78.1, released on July 6, 2023.
Welcome to Zotonic 0.80.0, released on November 21, 2023.
Welcome to Zotonic 0.81.0, released on January 12, 2024.
Welcome to Zotonic 0.82.0, released on March 25, 2024.
Welcome to Zotonic 0.83.0, released on June 27, 2024.
Welcome to Zotonic 0.83.1, released on August 6, 2024.
Welcome to Zotonic 0.84.0, released on August 29, 2024.
Welcome to Zotonic 0.87.0, released on February 4, 2025.
Welcome to Zotonic 0.88.0, released on March 13, 2025.
Welcome to Zotonic 0.89.0, released on July 1, 2025.
Welcome to Zotonic 0.89.1, released on July 3, 2025.
Welcome to Zotonic 0.90.0, released on September 4, 2025.
Welcome to Zotonic 0.91.0, released on February 4, 2026.
Welcome to Zotonic 0.92.0, released on April 21, 2026.
Welcome to Zotonic 0.93.0, released on July 7, 2026.
Welcome to Zotonic 0.94.0, released on August 25, 2026.
Released on 2022-10-31.
Released on 2022-11-11.
Released on 2022-11-17.
Released on 2022-12-05.
Released on 2022-12-23.
Released on 2023-01-30.
Released on 2026-03-27.
Released on 2026-03-30.
Released on 2022-09-13.
Released on 2022-10-12.
A validator to check whether a password conforms to the password secutiry requirements.
Check if an input value evaluates to true.
Access control is about defining who is allowed to access certain resources. It takes two steps:
The m_acl model gives access the id of the currently logged in user, and provides a mechanism to do basic access control checks.
Authorization checks to perform, in addition to the acl_action dispatch option, can be given in the acl dispatch option, and accepts the following options:
Model for ACL rule inspection and helper checks in mod_acl_user_groups, including insert/move checks, upload limits, mime checks, and ACL state lookups.
Model for ACL user-group helper values in mod_acl_user_groups, including collaboration-group settings and category usage checks.
Rescuing a dysfunctional site from the Zotonic shell.
Add a css class to an html element.
Adds a day to a date. The value must be of the form {{Y,M,D},{H,I,S}} .
Adds an hour to a date. The value must be of the form {{Y,M,D},{H,I,S}} .
Adds a month to a date. The value must be of the form {{Y,M,D},{H,I,S}} .
Adds a week to a date. The value must be of the form {{Y,M,D},{H,I,S}} .
Adds a year to a date. The value must be of the form {{Y,M,D},{H,I,S}} .
This model exposes some meta-information for the use in mod_admin templates.
Model for listing editable content blocks for a resource in the admin interface.
Model for admin configuration views, including SSL certificate info, security directory info, and selected module config values.
Model for admin identity configuration values, including password policy regex and default category/content-group for new users.
Provide aggregate keyword usage and overlap data for mod_admin_keyword .
This model holds the admin menu, which is built up by calling each module to add items to the menu.
Compare two resources and return a formatted list of their differences.
Add an editorial note to any resource.
Model for admin status endpoints, including Zotonic version and health/status overview values.
Action module which provides postback handlers for the “status” view of the admin:
Common markup in admin templates.
Return the first element after another element in a list. For example:
Show an alert dialog.
Include a template for all a resource’s categories from all modules.
Call all modules to include a certain template.
Add a $(..).animate jQuery call to the target element.
Appends the argument to the value.
Convert a value to an Erlang atom.
Model for two-factor authentication state and setup, including TOTP QR/image generation, mode checks, reset checks, and clock skew checks.
Disconnect an external authentication identity from a resource.
Model for authentication state and login support checks, including password authentication flow helpers and reminder/verification actions.
Automatically apply HTML escaping to values.
Why When you create a person, you usually need to add it to a user group as well. You may want to automate this, in particular if you need to differentiate…
Once you have Zotonic running, you want to make sure that it automatically starts up when the server reboots, so that the website keeps running after a power…
Model for backup configuration and operational status, including backup permissions, listing, directory, encryption settings, and active backup state.
Model for resource revision backup metadata, including revision list/title retrieval and revision retention settings.
Action which starts a manual backup.
Return the first element before another element in a list. For example:
Creating sites Media Best Practices Template Best Practices and Pitfalls
Define a template block and overrules a template block from an inherited template.
Translate HTML <br/> elements into ASCII newlines ( \n ).
There are multiple ways to set up interaction between server-side Zotonic code and client-side JavaScript.
Makes a button with an action attached.
Add button interaction classes to an element.
Cache frequently used rendered template output for later reuse.
Call an Erlang function.
Converts the first character of the value to uppercase.
Compose another template based on the category of a resource.
This model can retrieve information about the resource category hierarchy in different ways.
Include another template based on the category of a resource. The include tag is replaced with the contents of the included template file. You can give…
Centers the value in a field of a certain width using spaces.
1.9.0 — Sep 1, 2026 — Diff — Docs — Download
Render a chart without JavaScript, CSS, external services, or external assets.
Render a donut chart as inline SVG.
Render a pie chart as inline SVG.