Go to page content

Splitting up Zotonic in OTP apps - big changes coming!

5 July 2017

We are preparing a huge update to the 1.0-dev (aka master) branch. This update will make Zotonic compatible with Erlang OTP projects. All modules and sites become OTP applications.

This BREAKS ALL existing Zotonic-master installs!

And now for some Q&A.

What is changing?

    • All sites must become Erlang OTP applications
    • All modules must become Erlang OTP applications
    • Zotonic is being split up in different apps, for better re-use
    • All Zotonic parts are published as separate packages to  hex.pm
    • Use the hex package manager for module installations
    • The zotonic umbrella project which can be used for core development
    • There will be separate “starter” projects for easy development
    • rebar3 templates for creating 
    • When will what happen?

In the coming days we will merge the OTP branch into master.

The pull request is:  https://github.com/zotonic/zotonic/pull/1717

After this we will update with some missing pieces:

After we added logging we can call it a release candidate.

What is the new structure of a site/module?

Template, css, js etc. all move into the priv directory.

All Erlang source files move into the src directory

Example:

    mysite /
        src /
            mysite.app.src
            mysite.erl
            controllers / 
                controller_test_foo.erl
            models /
                …
        priv /
            zotonic_site.config
            templates / 
                …
            lib /
                …

We will keep you updated