Splitting up Zotonic in OTP apps - big changes coming!
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:
- rebar3 templates https://github.com/zotonic/zotonic/issues/1737
- hex for module installs https://github.com/zotonic/zotonic/issues/1742
- user module/site handling with _checkouts https://github.com/zotonic/zotonic/issues/1743
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