The Nuxeo Federation Framework allows users to search, find and view documents stored in an external system, thanks to Nuxeo federation capabilities. Binary files can either be copied in Nuxeo repository or remain "in-place".
Synchronization Process
The synchronization is done according to the following scenario:
- Simflofy queries 3rd party repositories to fetch content based on rules that can be specified (New documents, modified documents, etc.).
- Simflofy creates documents in Nuxeo with references to these contents.
- Nuxeo is then able to access the documents that are stored in those 3rd party repositories.
Simflofy documents are now stored in Nuxeo like any other document.
Installation
- A Simflofy server is needed to run the federation process. You can follow the Simflofy installation steps.
- Install the Nuxeo Simflofy connector available in the marketplace in your Nuxeo instance.
Configuration
Nuxeo Configuration
This addon comes with a Blob Provider that enables access from Nuxeo to any content that Simflofy knows how to federate. This blob provider is configurable with the following parameters:
nuxeo.simflofy.url
: the Simflofy URL.nuxeo.simflofy.username
: the username that Nuxeo use to access Simflofy.nuxeo.simflofy.password
: the password that Nuxeo use to access Simflofy.nuxeo.simflofy.createFromKey.users
: the list of users that can create blobs in this blob provider (separated by commas).
nuxeo.simflofy.createFromKey.users=*
allows all users to be able to create blobs.
Example:
nuxeo.simflofy.url=http://localhost:8080/simflofy-admin
nuxeo.simflofy.username=admin
nuxeo.simflofy.password=admin
nuxeo.simflofy.createFromKey.users=user1,user2...
These configuration parameters should be provided in the configuration file nuxeo.conf
.
Connector Configuration
Authentication Connection
First, create an authentication entry for all the systems you need to federate.
Each system has a specific authentication screen. Enter your credentials and any additional information needed for the authentication.
Repository Connection
Once the authentication configuration is set, create a repository connection which will use the authentication connection you've just defined.
Validate your configuration by clicking on the Test button.
Content Service Connection
The content service connection allows you to use the addon for "in-place" federation. Thus, it is not needed if you only need to migrate content.
- Set the Security Mode to Simflofy Authentication Connection.
- Reuse the authentication connection you've initially created.
- Optionally, edit the additional default settings.
Output Connection
An output connection is necessary to indicate the target folder of the Nuxeo repository. It is typically something like /default-domain/workspaces/federation-folder
.
The Nuxeo Config tab indicates the folder where federated documents will be found.
Discovery
A discovery is a mechanism to retrieve all the document types and document properties available in a specific system. It is necessary to create a discovery instance if you need to establish a particular mapping between system: without discovery, you'll have to create the mapping manually, without any suggestion (and consequently, increase the federation error rate).
A discovery instance needs an authentication connection and additional properties.
Once created, you can run a report to view the discovery results.
Federation Job
The federation jobs are the cornerstone of the federation process. A job concerns one source system and one target system. Consequently, if you need to federate three applications to Nuxeo, you'll need three jobs.
Click on Add a New Job button to create a new job and fill in the information in the different tabs.
Job Description
In the Details tab, you need to indicate:
- The repository connection and the content services for the federation mechanism (source system).
- The output connection (target system).
- The migration type (simple migration, incremental migration or polling).
Tasks
The Task tab allows you to perform predefined actions on the federated content.
For example:
- The Override Folder Path Task helps you to build the target path according to document properties (in the case you don't want to replicate the same folder structure).
- The Generic ACL Mapper Task allows you to map permissions.
Mappings
The Mappings tab allows you to map document types as well as document properties. If you've run a discovery on the federated systems, then the connector offers you suggestion mechanism. On the left side, the source system information is listed and the target system on the right side.
- Select the discovery instance.
- Select the document type mapping.
- Select the property mapping (Simflofy will indicate you the field nature to ensure mapping coherence).
- Click on the + button to validate.
Additional Information
Depending on the system you're federating, some extra tabs will appear. For example, in the case of a CMIS connection, you can restrict the document you wish to federate with a CMIS Query:
Job Execution
Once your job is configured, you can run it from the Job Status and Monitoring menu. Click on the Start link to trigger the job and then on the Refresh button to see the federation process status.
You can view among other metrics:
- The number on document retrieved from the source system.
- The number of created/modified documents in the target system.
- The number of synchronization errors.
- The job execution time.
You can view the job report by clicking on the numbers displayed in each column (Read, Written, Errors...) to list the exhaustive list of related documents:
Functional Overview
Data Sources
You can store in Nuxeo a huge variety of document types:
- Files stored in a flat folder structure: Either in a filesystem or a remote cloud storage unit such as Amazon S3 or Microsoft Azure.
- Similarly, you can federate content stored in the major file storage and synchronization cloud application (Google Drive, Dropbox, Box, etc.).
- Documents stored in a legacy document management system. In this scenario, the federation configuration is more complex as you would need to map document properties, document permissions, document ownership, document versions, etc.
- Information stored in specific applications with an existing Simflofy connector (Twitter, Microsoft Exchange, Salesforce...) or in a structured application (as a relational database for example)
Integration Scenario
The Nuxeo Federation Framework addon allows you to run two different scenario:
In the main cases, users are willing to federate their document repositories within Nuxeo. It means the document remains in the third party applications, but users are able to search, find and view them in Nuxeo transparently. From a end-user perspective, the federation is totally transparent so a user don't know necessarily if a document is stored in Nuxeo or any other application
If the external document repository aims at being decommissioned, then the connector allows you to migrate the content into Nuxeo. Technically, it means the binaries are copied in Nuxeo.