[ 
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

Reply via email to