Loading...
 
Skip to main content

History: Tracker Synchronization

Source of version: 16 (current)

Copy to clipboard
            ! Tracker Synchronization
Tracker synchronization allows to clone a tracker and the data in a remote Tiki instances. The link is established using webservices. Once the tracker is replicated, Tiki will keep track of local changes and allow to push them to the master on request.

!! Clone a tracker
In order to clone a tracker, both instances should be at a similar version. Mileage may vary if the versions are not the same.

# Configure authentication to the remote Tiki
## Make sure ''((External Authentication|#Web_Server_HTTP_|HTTP Basic Authentication))'' is enabled on the remote Tiki. Preferably, the connection should be made over (SSL) HTTPS for security reasons.
## On local (clone destination) Tiki under ((Admin DSN)) > Content Authentication, create a new authentication:
*** Identifier: Remote Tracker (only a name, use something meaningful)
*** url: https://example.com/tiki/ (path to tiki root, use HTTPS if supported)
*** Type: HTTP Basic
*** Username and Password should point to an account with tiki_p_admin_trackers, and some other permissions may be needed depending on the types of fields.
# On the local (clone) Tiki enable the Synchronize Remote Tracker feature from Admin trackers.
# Clone the tracker
## From Trackers listing > Duplicate/Import tab, enter the URL of the remote site (https://example.com/tiki/, should match what you used in Admin DSN), a list of trackers will be displayed. 401 or 403 errors will be visible if the authentication or authorization failed.
## Select the tracker you want to clone and submit, a link to Admin Fields for the cloned tracker will appear (note that some fields can be missing, see [#Limitations|Limitations])
# Synchronize data
## Visit the item list for the new tracker and access the ''Synchronization'' tab
## Use ''Reload data from source''. The page will reload and your new tracker will contain the data. This operation can be done over and over again to update the data from the master tracker.

!! Adding items locally
Items can be added in the cloned tracker. When ready to send them to the master, simply visit the synchronization tab again, check the items individually and push them. 

Reloading the data after a push will make sure all of the data is correct. Make sure there are no other outstanding changes.

!! Updating items locally
Existing items can also be modified in the cloned tracker. When items are modified, the synchronization tab will display the list of modified items in two separate lists:
* Items without conflicts, indicating that changes can be made without risks.
* Items with conflicts, indicating that changes also happened on the master since the last synchronization. Changes made locally need to be applied manually on the master to avoid overriding the changes. It is also possible to overwrite the changes on the master anyway and push the edit.

You should reload the data after pushing the item modifications. Make sure there are no other outstanding changes.

!! Limitations
Most field types can be synchronized. However, some field types require information outside of the scope of a single tracker and cannot be synchronized. These include auto-increment type field and page selector type field for example (__Do not try to add them manually; it will not work when synchronizing trying to reload data from source!__). Those fields will be skipped when attempting to clone the remote tracker.

Some fields are transformed during the operation. For example, the user selector field will be converted to a drop down field with static options obtained from the user list on the remote site, or a text field if the user list is unaccessible (not enough permissions).

Support for other field types can be added with some additional efforts. Contact the Tiki developers for assistance if required.

Changes to the structure of the remote tracker will not be synchronized. If changes occur, simply destroy the clone and create a new one. If the clones have any data to be synchronized, you should do it before you change the structure of the tracker.

-= Alias names for this page: =-
(alias(Tracker Sync)) | (alias(TrackerSync)) | (alias(TrackerS15n))  | (alias(Tracker S15n)) |  | (alias(S15n))

{SUB()}''(s15n is a short word that stands for Synchronization: a word with 15 letters, started with an s and ending with an n ;-) )''{SUB}