Implement storage persistency

Last modified by Vincent Massol on 2021/04/06

We implemented a first version of ActivityPub persistency with a Solr Core which is initialized at the first XWiki restart after the installation of the extension. That is why we need the administrator to restart XWiki once ActivityPub is installed. This will be fixed in the future to avoid this step.

Note that this storage currently only store the local objects that are created in the current instance: actors and activities related to the current instance, and the associated objects. We might change that in the future to handle more properly the case of unreachable instances.

In the same way for now the schema of our data is really simple and only contains a unique id, a type (related to the type field of the ActivityPub object) and the serialized content. This will certainly evolve to allow to perform scalable request in the database.

Get Connected