Replication Application
Allow replicating pages and other data between different XWiki instances |
Type | XAR |
Category | Application |
Developed by | |
Active Installs | 5 |
Rating | |
License | GNU Lesser General Public License 2.1 |
Table of contents
Description
The aim of this project is to make easy to share data between different XWiki instances and also expose as a demonstration the replication of wiki pages.
You can contribute translations for this application on https://l10n.xwiki.org/projects/xwiki-contrib/application-replication-default/.
This project is still very much in beta and the 1.0 version is planned for the beginning of 2022. The design and ideas of the future features and improvements can be found on Instances replication.
Linking instances
To start sharing messages between instances, you have to link those instances: this is done in the wiki administration -> Replication section.
An instance will start by requesting another one using the URL leading to XWiki (for example https://mydomain.com/xwiki). This will make the current instance pop in the target instance admin as a "Requesting instance" which can then be accepted (or declined).
Page Replication
The project also provide a use case which exploit this data replication framework to replicate wiki pages between instances.
Control
On each page, it's possible to control if the page alone or the page and its children should be replicated and with which instances.
There are two levels of replication:
- Everything: the whole page is replicated
- Reference: only the reference of the page is replicated, meaning that an empty placeholder is created on the other instances
Implement a new type of replication
The replication framework distribute "replication messages". Those messages are composed of the following:
- a unique identifier
- the date/time at which it was created
- the instance which is the initial source of the message
- a message type associated with the data
- custom binary data
- custom map of metadata
There are two main entry points for custom replication implementations:
- org.xwiki.contrib.replication.ReplicationSender: this component allows sending messages to specific (or all) registered instances
- org.xwiki.contrib.replication.ReplicationReceiver: a component role to implement in order to receive all messages associated with the message type indicate as component hint
Generic architecture
See Architecture.
Prerequisites & Installation Instructions
We recommend using the Extension Manager to install this extension (Make sure that the text "Installable with the Extension Manager" is displayed at the top right location on this page to know if this extension can be installed with the Extension Manager). Note that installing Extensions when being offline is currently not supported and you'd need to use some complex manual method.
You can also use the following manual method, which is useful if this extension cannot be installed with the Extension Manager or if you're using an old version of XWiki that doesn't have the Extension Manager:
- Log in the wiki with a user having Administration rights
- Go to the Administration page and select the Import category
- Follow the on-screen instructions to upload the downloaded XAR
- Click on the uploaded XAR and follow the instructions
- You'll also need to install all dependent Extensions that are not already installed in your wiki
Release Notes
v0.11
v0.10
v0.9
v0.8
v0.7
v0.6
v0.5
v0.4
v0.3
v0.2
v0.1
Dependencies
Dependencies for this extension (org.xwiki.contrib.replication:replication-ui 0.11.1):
- org.xwiki.contrib.replication:replication-default 0.11.1
- org.xwiki.contrib.replication:replication-entity-default 0.11.1
- org.xwiki.contrib.replication:replication-entity-controller 0.11.1
- org.xwiki.platform:xwiki-platform-rendering-macro-velocity 14.2.1
- org.xwiki.platform:xwiki-platform-display-macro 14.2.1
- org.xwiki.rendering:xwiki-rendering-macro-html 14.2.1
- org.xwiki.platform:xwiki-platform-component-script 14.2.1
- org.xwiki.platform:xwiki-platform-administration-ui 14.2.1