Go to page content

Big changes coming – master in flux

10 May 2019

Coming week we will be merging our work on the MQTT communication (cotonic) into the master.

This is a BIG CHANGE.

Master will be unstable for some time after that, as we are fixing known issues and omissions.
Though mod_admin, our test sites and zotonic_site_status are working.

Changes in short:

  • Modern front-end framework Cotonic
  • Cotonic uses webworkers, components and dom-tree patching
  • All components are communicating via the topic tree
  • All client/server communication is now using MQTT
  • “PubZub" is removed and replaced by "cotonic.broker"
  • All models are mapped into the topic tree (example: “model/rsc/get/1234”)
  • All ‘api services’ are removed and now unsupported, use models instead
  • controller_api now maps to the MQTT topic tree
  • The controllers are now using a new process/4 function, check the controller_template for an example.
  • MQTT topic layout has been modified
  • Client and server topic trees are linked using bridge topics
  • controller_logon is removed
  • No sessions: both sessions and page sessions are removed. Use localStorage and sessionStorage on the client
  • New controller_authentication used by the client-side JS for setting auth cookies
  • New javascript includes needed
  • The zotonic “wires” are now in `mod_wires`
  • “mod_wires" should be seen as deprecated, but will be supported for a long time coming
  • Security: https only (either by Zotonic or by a proxy)

And for the docs:

  • We removed some docs that linked to old removed functionality
  • We need to update the docs with the new functionality

If everything is sorted and cleaned up then we have the new Zotonic ready for release.

FYI the merge request that we will be merging is here:


And here is some background about the new communication (MQTT) bus in Zotonic:


This all is the basis for a state of the art communication and web platform.


Maas-Maarten, David, Marc, and the others of the core team.