Text

All Text

0.65.0

Welcome to Zotonic 0.65.0, released on March 17, 2022.

0.64.0

Welcome to Zotonic 0.64.0, released on March 4, 2022.

observe_rsc_import_fetch/2

Fetch the data for an import of a resource. Returns data in the format used by m_rsc_export and m_rsc_import. Either…

observe_email_send_encoded/2

Add a handler for receiving e-mail notifications

observe_http_log_access/2

Access log event for http. Called from the z_stats.

observe_logon_options/3

Check for logon options, called if logon_submit returns undefined. This is used to fetch external (or local…

observe_auth_client_switch_user/2

Send a request to the client to switch users. The zotonic.auth.worker.js will

observe_email_dkim_options/2

Return the options for the DKIM signature on outgoing emails. Called during email encoding.

observe_validate_query_args/3

Called just before validation of all query arguments by z_validation.

observe_resource_headers/3

Let all modules add resource specific response headers to the request. The accumulator is the list of headers to be set.

observe_media_import_medium/2

Notification to import a medium record from external source. This is called for non-file medium records, for example…

observe_url_fetch_options/2

Determine the URL fetch options for fetching the content of an URL. Used by z_fetch.erl.

observe_auth_client_logon_user/2

Send a request to the client to login a user. The zotonic.auth.worker.js will

observe_media_preview_options/3

Modify the options for an image preview url or tag. This is called for every image url generation, except if the…

Other cookbooks

Create a custom action Create a custom filter Create a custom model Create a custom controller Custom pivots Create a…

Shell cookbook

Activate/deactivate modules Filter and convert characters Erlang tab completion Debugging db (query) issues Reset a…

Just enough…

These Cookbook items each represent a stage in some Zotonic users’ journeys to understand the workings of Erlang and…

Frontend cookbook

These cookbook entries contain valuable nuggets of information regarding the frontend development of a site.

Admin cookbook

Creating a custom widget on the edit page Customizing the layout of the admin edit page Customizing the style of an…

menu_expand

Takes a menu, or a menu resource id, and adds all haspart objects connected to the menu ids.

language_dir

Return rtl or ltr depening on the direction of the language.

escape_check

Ensures thant an HTML escaped value is properly escaped.

0.63.0

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

sub_hour

Subtracts an hour from a date. The value must be of the form {{Y,M,D},{H,I,S}} .

add_hour

Adds an hour to a date. The value must be of the form {{Y,M,D},{H,I,S}} .

parse_url

Parses an URL (URI) using uri_string:parse/1 .

oauth2_consumer

Model for OAuth2 consumer configuration and token access, including consumer lists and per-consumer token retrieval.

controller_ping

Simple controller for connection tests, used on the /test/connection page.

is_site_url

Test if the given URL is a url for the current site.

URLs and links

is_site_url url url_abs sanitize_url is_letsencrypt_valid_hostname urlize escape_link urlencode urldecode parse_url…

mod_image_edit

Non destructive edits of images.

image_edit

Manages the medium_edit_settings property for non destructive image editing.

Create a custom controller

Zotonic comes with a large collection controllers that cover many use cases, so you’ll probably have to resort to…

0.62.0

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

signup

Exported APIs:

0.61.0

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

seo_sitemap

Model for sitemap generation metadata, including available urlsets and paged urlset export values.

sanitize_html

Sanitize a HTML code. Removes elements and attributes that might be dangerous, like <script\> elements.

sanitize_url

Sanitize an URL. Removes URLs that might be dangerous, like javascript: URLs.

mod_syslog

Syslog integration module for forwarding Zotonic log events to external syslog services.

toc

Filter to derive a Table Of Contents from a HTML body.

dispatch-test

Dispatch rules Name Path Resource Args initial_test [“test”,”initial_postback_test”] controller_template…

dispatch

Dispatch rules Name Path Resource Args microsoft_authorize [“oauth-service”,”authorize”,”microsoft”]…

microsoft

Check with useauth if the authentication using the Microsoft identity platform is enabled and configured.

mod_microsoft

Adds logon using the Microsoft identity platform.

dispatch

Dispatch rules Name Path Resource Args fileuploader [“fileuploader”,”upload”,name] controller_fileuploader []…

fileuploader

Model to start uploads, upload a block and delete uploads.

controller_fileuploader

The fileuploader controller is used to upload parts of a file.

mod_fileuploader

Upload files using a parallel web worker.

0.60.0

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

0.59.0

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

site_update

Model for checking if a site has version control enabled.

mod_site_update

This module pulls updates of a site‘s code from a remote version control system. The supported version control systems…

controller_logon_done

This controller is used as a jumping stone after a log on from the /logon page. The p argument is passed from the…

url_abs

Generates an absolute URL for the given dispatch information.

url

Generates the relative URL for the given dispatch information.

0.58.0

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

The Rationale of Zotonic

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

0.56.3

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

0.54.3

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

format_duration

Show a duration in hours, minutes and seconds.

mod_audio

Adds support for viewing and handling audio medium items.

0.54.2

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

dispatch

Dispatch rules Name Path Resource Args oauth2_consumer_authorize [“oauth-service”,”authorize”,”zotonic”

oauth2_service

Model for OAuth2 service flow helpers, including redirect URL generation and oauth redirect processing.

mqtt_ticket

A ticketing system for out of band MQTT posts via HTTP.

email_dkim

DomainKeys Identified Mail Signatures (RFC 6376) is a method to add a signature to outgoing emails. This enables…

0.54.1

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

0.56.1

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

Directory structure

Zotonic is a set of regular OTP applications. These can be found in the repository’s apps/ directory:

Reference

All the nitty gritty details when the big picture has settled.

mod_acl_mock

Mocking module for access control during tests.

User Guide

Welcome to the Zotonic User Guide. This guide is a non-technical introduction to Zotonic.

linkedin

Model for LinkedIn integration helpers, currently exposing whether LinkedIn auth integration is enabled.

admin

This model exposes some meta-information for the use in mod_admin templates.

ACL options

Authorization checks to perform, in addition to the acl_action dispatch option, can be given in the acl dispatch option

observe_edge_insert/2

An edge has been inserted. Note that the Context for this notification does not have the user who created the edge.

observe_auth_validated/2

Authentication against some (external or internal) service was validated

mod_import_wordpress

Import WordPress .wxr files in your site.

media_import_props

Notification to translate or map a file after upload, before insertion into the database Used in mod_video to queue…

observe_media_stillimage/2

See if there is a ‘still’ image preview of a media item. (eg posterframe of a movie) Return:: {ok, ResourceId} or…

observe_tkvstore_put/2

Put a value into the typed key/value store

observe_tkvstore_delete/2

Delete a value from the typed key/value store

observe_security_headers/2

Check and possibly modify the http response security headers All headers are in lowercase.

observe_scomp_script_render/2

Add extra javascript with the \{% script %\} tag. (map) Used to let modules inject extra javascript depending on the…

observe_module_deactivate/2

A module has been stopped and deactivated.

observe_m_config_update/2

Site configuration parameter was changed

observe_language/2

Notify that the session’s language has been changed

observe_dispatch/2

Final try for dispatch, try to match the request. Called when the site is known, but no match is found for the path

observe_admin_rscform/3

Used in the admin to process a submitted resource form

observe_activity/2

An activity in Zotonic. When this is handled as a notification then return a list of patterns matching this activity.

observe_action_event_type/2

Render the javascript for a custom action event type. The custom event type must be a tuple, for example: `{% wire…

dispatch_translation

Dispatch rules Name Path Resource Args admin_translation [“admin”,”translation”] controller_admin [{acl_module

dispatch

Dispatch rules Name Path Resource Args signup [“signup”] controller_signup [] signup_confirm [“signup”,”confirm”]…

dispatch_mailinglist

Dispatch rules Name Path Resource Args admin_mailinglist [“admin”,”mailinglists”] controller_admin_mailinglist…

development

Dispatch rules Name Path Resource Args admin_development [“admin”,”development”] controller_admin [{template

dispatch

Dispatch rules Name Path Resource Args admin_custom_redirect [“admin”,”custom-redirect”] controller_admin…