[
http://jira.nuxeo.org/browse/NXP-3673?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=54051#action_54051
]
Radu Darlea commented on NXP-3673:
----------------------------------
The current implementation works on JBoss as addons which can be deployed
independently: nuxeo-platform-sync-server on server;
nuxeo-platform-sync-client-web and nuxeo-platform-sync-client-core on client.
The client / server terminology refers strictly to the relation between 2
servers. Actually both machines are JBoss servers, but one of them is "online
server" and acts as pure server, and the other ("offline server") acts as pure
client.
The data workflow on server:
- WS Addressing webservice is made available by the server to allow client
requests: the current situation and the DocumetnSnapshot of a particular
document.
- ExportRestlet (already existing in platform) is providing a way to download a
document export
- new RelationRestlet is providing a way to download relations in RDF format
- new VocabulariesRestlet is providing a way to download directories XML based
custom encoded
The data workflow on client:
- the user is prompted to provide the server credentials
- the module is able to obtain the webservice SEI based on them. With this, the
module requests for server the tuples describing the current situation, or the
DocumentSnapshot of a particular document.
- the module is able to request and interpret the exported: document,
relations, vocabularies.
A typical workflow would look like:
Client is instructed to connect to Server and synchronize the documents. It
first acquires the EntrancePoint web service instance on which requests the
synchro web service.
Clients provide the query to be run on server and requests the tuples. Servers
runs the query with the user credentials and provides a list of tuples
containing: the document id, path, type (including version / proxy selector),
modification date, context data for allowing import.
Client compares the list with the current situation running the same query.
First it removes the documetns no longer available, after it adds the new
documents (in order: usual documents, versions, proxies), and finally it
updates the documents modified.
The documents are added through Core import, allowing preserving the document
ID. Also, this method allows to "add" proxies and versions easily.
The update of documents is made in several steps:
- first, the client requests the FlagedDocumentSnapshot (a DocumentSnapshot +
the hasBlobs flag) on synchro webservice
- the DocumentSnapshot map of properties are set on the local document using a
mechanism very likely with the core import/export
- if the document has blobs, client makes request to ExportRestlet for the
document export
- the Client reads the document.xml and the blob files received and adds them
in the document
The vocabularies and relations are exported entirely and also are imported by
replacing existing ones.
> Have synchronize feature
> -------------------------
>
> Key: NXP-3673
> URL: http://jira.nuxeo.org/browse/NXP-3673
> Project: Nuxeo Enterprise Platform
> Issue Type: New Feature
> Affects Versions: 5.2 GA
> Reporter: Radu Darlea
> Assignee: Radu Darlea
> Fix For: 5.2.1
>
>
> As user I want to be able to synchronize my offline server.
> Acceptance test:
> - an empty mini Nuxeo server is used
> - online server holds a set of documents, commented documents also, and
> workflows started
> - using the synchro GUI, the mini Nuxeo server is configured to connect to
> online server.
> - the mini-server is updated. User checks to see that all documents are
> available offline
> - online server DB is modified: new documents added, commented, documents
> deleted, workflow transited
> - using the synchro GUI, the offline server is updated
> - the changes are checked offline
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.nuxeo.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
ECM-tickets mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets