Browse by topic

Discover Text

Explore related documentation through its most useful keyword groups.

1370 items

Grouped by Architecture

All Text

User guide

Creating a user

Set up an account when your role allows user management.

Developer guide

Render and manage media

Use resource IDs, media metadata and consistent responsive-image descriptors.

Developer guide

Build and serve frontend assets

Keep source files such as SCSS in priv/lib-src and compiled assets in priv/lib. Use an app-level Makefile that delegates asset work to the source directory's…

Developer guide

Developer guide

Build, inspect, and maintain Zotonic sites and modules.

Developer guide

The Zotonic workspace

The checkout is an Erlang umbrella project: one build contains many applications.

Developer guide

Display images with mediaclasses

Define reusable image sizes in priv/templates/mediaclass.config and use them in image tags. For example, a local mediaclass can constrain an image's width:

Developer guide

A site does not start

Run bin/zotonic status to distinguish an unavailable node from a stopped or failing site. Inspect the relevant startup log before repeatedly restarting it.

Developer guide

Handle a browser event with a wire

Use scomp#wire to connect a browser event to an action or a server postback. Give the target element a stable ID within the rendered page.

Cookbook

Trace database queries for your session

Enable module#mod_server_storage if the Development page says it is needed for database tracing. On the Development page, enable Trace all database queries for…

Developer guide

Add an HTTP controller

Use controller_template when a dispatch rule only needs to render a template. Write a custom controller when the endpoint needs additional request processing…

Cookbook

Create a reusable module

Create apps_user/zotonic_mod_garden with the following files. This example adds a discoverable module without starting an extra process.

Cookbook

Add a contact form

Choose a survey form or implement a validated server-side mail handler.

Developer guide

Write logs that explain an operation

Log the operation and its result with structured fields. Include an identifier that helps connect the message to a resource or job, without logging credentials…

Cookbook

Override a module template

Find the active template and its path relative to priv/templates. Create the same relative path in your site or another active module with a higher selection…

Developer guide

Create your first site

Create the garden blog, open it in your browser, and sign in to its admin.

Developer guide

Handle a browser event with a wire

Use scomp#wire to connect a browser event to an action or a server postback. Give the target element a stable ID within the rendered page.

Developer guide

Validate a form on both sides

Use semantic form controls with labels and meaningful names. Add Zotonic validators for immediate feedback, then validate the submitted values again at the…

Cookbook

Add a filter or rendering component

Use a filter for a small transformation of an input value. Keep missing and unexpected values predictable, and escape output at the point where it becomes HTML.

Developer guide

Introduction

This is the Zotonic Developer Guide. It takes you through all aspects of Zotonic so you can start building your own sites as quickly as possible.

Developer guide

Respond to a notification

Find the notification definition and inspect its callers before implementing an observer. The notifier operation determines whether observers collect results

Developer guide

Create a page layout

Use an existing site base template as your starting point. Put shared document structure in the base and page-specific markup in blocks.

Developer guide

Search

Query arguments and terms for searching pages using the search APIs.

Developer guide

Follow a request to its template

Start with the URL that gives an unexpected result. Check its hostname: Zotonic uses it to select a site before matching the site's dispatch rules.

Developer guide

Find the status site and your site's admin

The status site manages the running Zotonic installation. A site's /admin manages that site's content and enabled modules. They have different scopes and can…

Find the status site and your site's admin

Cookbook

Expose data through a model

Create src/models/m_garden.erl in the Garden module. This complete example exposes a public greeting:

Developer guide

Translate interface text

Write the source text in English and mark static interface text for translation.

Developer guide

Create a reusable module

Create apps_user/zotonic_mod_garden with the following files. This example adds a discoverable module without starting an extra process.

Release notes

0.63.0

Welcome to Zotonic 0.63.0, released on Oct 29, 2021.

Release notes

0.62.0

Welcome to Zotonic 0.62.0, released on July 7, 2021.

Release notes

0.61.0

Welcome to Zotonic 0.61.0, released on June 7, 2021.

Release notes

0.60.0

Welcome to Zotonic 0.60.0, released on February 15, 2021.

Release notes

0.59.0

Welcome to Zotonic 0.59.0, released on December 18, 2020.

Release notes

0.58.0

Welcome to Zotonic 0.58.0, released on November 2, 2020.

Article

The Rationale of Zotonic

Zotonic is a modern and extensive content management system. It has its roots in systems before it and carries the lessons learned from those systems.

The Rationale of Zotonic

Release notes

0.54.3

Welcome to Zotonic 0.54.3, released on August 31, 2020.

Release notes

0.56.3

Welcome to Zotonic 0.56.3, released on August 31, 2020.

Release notes

0.54.2

Welcome to Zotonic 0.54.2, released on August 4, 2020.

Release notes

0.56.1

Welcome to Zotonic 0.56.1, released on June 16, 2020.

Release notes

0.54.1

Welcome to Zotonic 0.54.1, released on June 16, 2020.

Release notes

0.57.1

Welcome to Zotonic 0.57.1, released on May 19, 2020.

Modules

Zotonic Core

The Zotonic core system implements the basic parts needed for every site.

Release notes

0.57.0

Welcome to Zotonic 0.57.0, released on May 11, 2020.

Release notes

0.56.0

Welcome to Zotonic 0.56.0, released on April 23, 2020.

Release notes

0.55.1

Welcome to Zotonic 0.55.1, released on March 16, 2020.

Release notes

0.55.0

Welcome to Zotonic 0.55.0, released on March 12, 2020.

Release notes

0.54.0

Welcome to Zotonic 0.54.0, released on February 4, 2020.

Release notes

0.53.0

Welcome to Zotonic 0.53.0, released on December 10, 2019.

Release notes

0.52.0

Welcome to Zotonic 0.52.0, released on November 6, 2019.

Release notes

0.51.2

Welcome to Zotonic 0.51.2, released on September 26, 2019.

Release notes

0.51.1

Welcome to Zotonic 0.51.1, released on September 13, 2019.

Release notes

0.51.0

Welcome to Zotonic 0.51.0, released on August 26, 2019.

Release notes

0.50.0

Welcome to Zotonic 0.50.0, released on June 27, 2019.

Release notes

0.49.2

Welcome to Zotonic 0.49.2, released on May 15, 2019.

Release notes

0.49.1

Welcome to Zotonic 0.49.1, released on May 8, 2019.

Release notes

0.49.0

Welcome to Zotonic 0.49.0, released on May 6, 2019.

Release notes

0.48.1

Welcome to Zotonic 0.48.1, released on 12 April, 2019.

Release notes

0.48.0

Welcome to Zotonic 0.48.0, released on 9 April, 2019.

Release notes

0.47.0

Welcome to Zotonic 0.47.0, released on 4 March, 2019.

Release notes

0.46.0

Welcome to Zotonic 0.46.0, released on 15 February, 2019.