Difference between revisions of "Synchronisation of wikifabs"

From Wikifab Developers
Jump to: navigation, search
Line 1: Line 1:
=== Context ===
+
== Context ==
  
 
The wikifab source code is available to anyone for free.
 
The wikifab source code is available to anyone for free.
Line 5: Line 5:
 
Many organizations have installed their own wikifab-based-site on their own server and they would like to publish some of their tutorials (created on their wikifab) to www.wikifab.org (or to another wikifab instance).
 
Many organizations have installed their own wikifab-based-site on their own server and they would like to publish some of their tutorials (created on their wikifab) to www.wikifab.org (or to another wikifab instance).
  
===  State of the art ===
+
==  State of the art ==
  
 
Mediawiki comes with a bunch of API that can be use to synchronize content among wikifab instances
 
Mediawiki comes with a bunch of API that can be use to synchronize content among wikifab instances
Line 12: Line 12:
 
You can find the API documentation here: https://www.mediawiki.org/wiki/API:Main_page
 
You can find the API documentation here: https://www.mediawiki.org/wiki/API:Main_page
  
=== Installation guide ===
+
== Installation guide ==
  
 
The guide to install a wikifab instance is here : https://github.com/Wikifab/wikifab-main
 
The guide to install a wikifab instance is here : https://github.com/Wikifab/wikifab-main
  
=== Features ===
+
== Features ==
  
==== login ====
+
=== login ===
  
 
APIs call need to log in on the target wiki. We imagine two different ways :
 
APIs call need to log in on the target wiki. We imagine two different ways :
Line 26: Line 26:
 
2nd way : an access key is configured globaly on the source wiki, and linked to one unique account on the target wiki. As the result, every tutorials synchronised to the source wiki will appear to be done by an user corresponding to the source wiki (which can be a specific type of user).
 
2nd way : an access key is configured globaly on the source wiki, and linked to one unique account on the target wiki. As the result, every tutorials synchronised to the source wiki will appear to be done by an user corresponding to the source wiki (which can be a specific type of user).
  
==== configure remote wiki ====
+
=== configure remote wiki ===
  
 
Admin of the source wiki must be able to configure a remote wiki to be a target wiki for sync tutorials.
 
Admin of the source wiki must be able to configure a remote wiki to be a target wiki for sync tutorials.
Line 39: Line 39:
 
This could be done in the configuration file LocalSettings.php
 
This could be done in the configuration file LocalSettings.php
  
==== Push a tutorial to wikifab ====
+
=== Push a tutorial to wikifab ===
  
 
Once a remote wiki is configured, a button "sync tutorial to <remote wiki name>" should appear an each tutorial.
 
Once a remote wiki is configured, a button "sync tutorial to <remote wiki name>" should appear an each tutorial.
Line 45: Line 45:
 
Click on this button will send the tutorial content, with images to the target wiki.
 
Click on this button will send the tutorial content, with images to the target wiki.
  
==== Dealing with conflicts ====
+
=== Dealing with conflicts ===
  
 
'''When modification was made on parent'''
 
'''When modification was made on parent'''
  
 
'''When modification was made on child'''
 
'''When modification was made on child'''

Revision as of 15:22, 18 November 2016

Context

The wikifab source code is available to anyone for free.

Many organizations have installed their own wikifab-based-site on their own server and they would like to publish some of their tutorials (created on their wikifab) to www.wikifab.org (or to another wikifab instance).

State of the art

Mediawiki comes with a bunch of API that can be use to synchronize content among wikifab instances Those APIs enable to create, view and edit pages.

You can find the API documentation here: https://www.mediawiki.org/wiki/API:Main_page

Installation guide

The guide to install a wikifab instance is here : https://github.com/Wikifab/wikifab-main

Features

login

APIs call need to log in on the target wiki. We imagine two different ways :

1st way : either each user on the source wiki must specified an access key on their preference, to link their account on the source wiki to an account on the target wiki. As the result, every tutorials synchronised to the source wiki will appear to be done by the user who do the sync action.

2nd way : an access key is configured globaly on the source wiki, and linked to one unique account on the target wiki. As the result, every tutorials synchronised to the source wiki will appear to be done by an user corresponding to the source wiki (which can be a specific type of user).

configure remote wiki

Admin of the source wiki must be able to configure a remote wiki to be a target wiki for sync tutorials.

It means :

  • add name of the target wiki
  • add url of the target wiki
  • if needed, add login keys

Additionally, it may require some additional configuration : if categories has been changed, we must set a matching table to match a category from the source wiki, to a category on the target wiki. It may require more configuration if form template is changed. It may also be required on the target wiki to check that the tutorial content match actual forms fields.

This could be done in the configuration file LocalSettings.php

Push a tutorial to wikifab

Once a remote wiki is configured, a button "sync tutorial to <remote wiki name>" should appear an each tutorial.

Click on this button will send the tutorial content, with images to the target wiki.

Dealing with conflicts

When modification was made on parent

When modification was made on child