[repo] Add a publish/subscribe mechanism for inter-instance communication using zmq
Each repo can have a publishing and any number of subscribing sockets
whose addresses are specified in the instance's configuration. An
application or cube can subscribe to some 'topics', and give a callback
that gets called when a message matching that topic is received.
As a proof of concept, this introduces a hook to clean up the caches
associated with the repository when an entity is deleted.
A subscription is added using Repository::zmq::add_subscription;
the callback receives a list representing the received multi-part
message as argument (the first element of the message is its topic).
About this site
===============
This web application is based on the CubicWeb knowledge management system
from Logilab_. CubicWeb is made of an object database and a web
framework. It allows to develop an application by defining a set of
entities and their relationships, plus a set of views that present the
data selected from the object database using a specific query language.
This application has a precise schema_ and can be considered an
example of a semantic web database, as it can export the data to XML
and others formats and is not limited to publishing HTML.
Supported formats: |microformats|_ - JSON_ - |rss|_ - |dublincore|_
.. |microformats| image:: /data/microformats-button.png
.. _microformats: http://microformats.org
.. _JSON: http://www.json.org/
.. |rss| image:: /data/rss-button.png
.. _rss: http://www.rssboard.org
.. |dublincore| image:: /data/dublincore-button.png
.. _dublincore: http://dublincore.org
.. _Logilab: http://www.logilab.fr/
.. _schema: schema