Text

All Text

The Status site

The Zotonic “status” site is the first thing you see once you have installed Zotonic, or if you do not have any sites…

Sites

Zotonic has the capability of serving more than one site at a time. You can have multiple sites enabled, each with its…

Getting Started

You have three options for running Zotonic: to get started quickly, start our Zotonic container. You can also use Nix…

toggle_class

Toggle a CSS class from an HTML element.

add_class

Add a css class to an html element.

remove_class

Remove a CSS class from an HTML element.

backup

Model for backup configuration and operational status, including backup permissions, listing, directory, encryption…

mod_backup

mod_backup serves two different purposes: it makes a nightly backup of your files and database, and can also backup…

observe_email_status/2

Email status notification, sent when the validity of an email recipient changes

observe_pivot_fields/3

Foldr to change or add pivot fields for the main pivot table. The rsc contains all rsc properties for this resource

slide_fade_out

Hide an element by animating the height and opacity.

slide_fade_in

Show an element by animating the height and opacity.

slide_up

Hide an element by animating the height.

slide_down

Show an element by animating the height.

fade_out

Hide an element by animating the opacity.

hide

Hide an element without any animation.

show

Show an element without any animation.

toggle

Toggle the visibility of an element.

fade_in

Show an element by animating the opacity.

utc

Translates a datetime from local time to UTC.

timesince

Show a readable version of a date/time difference.

sub_year

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

sub_week

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

sub_month

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

sub_day

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

ne_day

Tests if two dates are not equal.

in_past

Tests if a date is in the past.

in_future

Tests if a date is in the future.

eq_day

Tests if the value is a date and equal to the argument. The value and the argument must be a tuple of the format {Y,M

datediff

Calculate the difference between two dates, returning a single part of that difference.

date_range

Show a date range.

add_year

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

add_week

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

add_month

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

add_day

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

Dates

add_hour add_day add_month add_week add_year date date_range datediff eq_day in_future in_past ne_day sub_hour sub_day…

summary

Extract a summary from a resource.

mod_admin_merge

Adds functonality to merge two pages together into a single page.

dispatch

Dispatch rules Name Path Resource Args admin_merge_rsc [“admin”,”merge”,id] controller_admin_edit [{template

confirm

Show a JavaScript confirm message and on confirmation triggers one or more actions and/or sends a postback to the…

alert

Show an alert dialog.

Notifications

alert confirm growl

zmedia_choose

Used after a media item is selected in the media chooser for the TinyMCE editor.

Port configurations

Port configurations can be tricky, especially in combination with SSL. Here we explain all steps to come to a correctly…

Useful environment variables

The following environment variables influence how Zotonic starts up.

mod_l10n

Localization of Zotonic. Provides lookups for country, month, week names. Localization module providing locale, country

dispatch

Dispatch rules Name Path Resource Args admin_l10n [“admin”,”localization”] controller_admin [{template,”admin_l10n.

editor_remove

Remove any WYSIWYG editor controls from all textarea’s with the z_editor class in the target.

mod_clamav

Uses clamd to scan all uploaded files for viruses.

mod_admin_modules

Adds support in the admin for activating and deactivating modules.

module_toggle

Activate/deactivate a module in the module manager in the admin interface.

observe_acl_user_groups/2

Return the groups for the current user.

acl_mqtt

MQTT acl check, called via the normal acl notifications. Actions for these checks: subscribe, publish

observe_acl_logon/2

Initialize context with the access policy for the user.

observe_acl_is_owner/2

Check if a user is the owner of a resource. id is the resource id.

observe_acl_is_allowed_prop/2

Check if a user is authorizded to perform an action on a property. Defaults to true .

observe_acl_is_allowed/2

Check if a user is authorized to perform an operation on a an object (some resource or module). Observe this…

ACL notifications

acl_context_authenticated acl_is_allowed acl_is_allowed_prop acl_is_owner acl_logoff acl_logon acl_mqtt acl_user_groups…

observe_admin_menu/3

Used for fetching the menu in the admin.

mod_mailinglist

This module implements a mailing list system. You can make as many mailing lists as you like and send any page to any…

controller_admin_mailing_preview

This controller shows a preview of what a resource that is being mailed would look like, in a popup window.

observe_media_upload_props/3

Notification that a medium file has been uploaded. This is the moment to change properties, modify the file etc. The…

0.06.0

Released on 2011-02-12.

escape

HTML escape a text. Escapes all reserved HTML characters in the value. Escaped strings are safe to be displayed in a…

escape_ical

Escape the value according to the RFC2445 rules.

temporary_rsc

Creates a temporary resource if its input value is not defined.

survey_answer_split

Filter to split multi-value survey answers on the '#' character.

mod_development

Presents various tools for development.

development

Model for development and diagnostics controls, including tracing flags, observer lists, cache/compile/reindex actions

Upgrade notes

These notes list the most important changes between Zotonic versions. Please read these notes carefully when upgrading…

Global configuration

This section describes the location and contents of Zotonic’s global configuration files erlang.config and zotonic.

0.09.2

Released on 2013-07-02 20:53 by arjan.

observe_user_is_enabled/2

Check if a user is enabled. Enabled users are allowed to log in. Return true , false or undefined . If undefined is…

observe_signup_url/2

Handle a signup of a user, return the follow on page for after the signup. Return {ok, Url} ‘props’ is a map with…

observe_signup_failed_url/2

Signup failed, give the error page URL. Return \{ok, Url\} or undefined. Reason is returned by the signup handler for…

observe_signup_done/2

Signal that a user has been signed up (map, result is ignored)

observe_signup_confirm_redirect/2

Fetch the page a user is redirected to after signing up with a confirmed identity

observe_signup_confirm/2

Signal that a user has been confirmed. (map, result is ignored)

observe_signup_check/3

signup_check Check if the signup can be handled, a fold over all modules. Fold argument/result is \{ok, Props

observe_signup/2

Request a signup of a new or existing user. Arguments are similar to #signup_url\{\} Returns \{ok, UserId\} or \{error

observe_session_context/3

Refresh the context or request process for the given request or action

observe_request_context/3

Refresh the context or request process for the given request or action

observe_set_user_language/2

Set the language of the context to a user’s prefered language

observe_logon_submit/2

Handle a user logon. The posted query args are included. Return:: {ok, UserId} or {error, Reason}

observe_logon_ready_page/2

Check where to go after a user logs on.

observe_identity_verified/2

Notify that a user’s identity has been verified. Signals to modules handling identities to mark this identity as…

observe_identity_verification/2

Request to send a verification to the user. Return ok or an error. Handled by mod_signup to send out verification…

observe_identity_password_match/2

Check if passwords are matching. Uses the password hashing algorithms.

User notifications

identity_password_match identity_verification identity_verified identity_update_done logon_options logon_ready_page…

mod_admin_identity

Provides identity management in the admin - for example the storage of usernames and passwords.

email_unique

Check if an entered e-mail address is unique, by looking in the m_identity table for the email key:

username_unique

Check if an entered username is unique, by looking in the m_identity table for the given username:

0.42.0

Welcome to Zotonic 0.42.0, released on 5 November, 2018.

Customizing the style of an admin page

How to make style customizations to admin pages.

Just enough Erlang/OTP and rebar, part 1

Zotonic source code have you scratching your head? Learn Rebar first.

Just enough Erlang/OTP and rebar, part 2

Building a gen_server to front the library and generating documentation.

observe_export_resource_content_type/2

mod_export - Determine the mime type for the export.

lower

Translates the value to lower case.

capfirst

Converts the first character of the value to uppercase.