Nuxeo Add-Ons

Nuxeo Live Connect

Updated: December 5, 2017 Page Information Edit on GitHub

 

Extract from the course What's New in Nuxeo Platform 2015 on Nuxeo University

Live Connect allows you to create a content application that handles cloud files (Dropbox, Google Drive, Box, OneDrive...) as if they were local files. Files remain in the cloud but they are referenced in the Nuxeo repository as if they were stored within it. This allows the user to benefit from thumbnailing service, full text, conversions, etc.

Live Connect for Google Drive also brings the "Cloud Edit" mode. Your application based on the Nuxeo Platform can provide the users with a direct link to the SaaS applications that you can use for editing Google Drive files (Google Docs, Office 365, Pixlr, etc.).

Live Connect is designed to allow many implementations. Default implementations are:

  • Live Connect for Google Drive
  • Live Connect for Dropbox
  • Live Connect for Box
  • Live Connect for OneDrive & OneDrive for Business (since Nuxeo Platform 8.2)

Live Connect Features

Live Connect provides a set of features described below.

  • File download: File download is made by redirecting the user's browser to the native download URL of the considered backend.
  • Full-text indexation: The text of the content is extracted and sent to the Elasticsearch index so as to be able to perform native Nuxeo Platform search using NXQL and standard search screens of the UI.
  • File conversion in PDF, using the provider's conversion system: When a PDF conversion is asked for a Live Connect file, the user's browser is redirected to the provider's direct URL for getting the PDF version.
  • File preview, using native provider's preview.
  • Thumbnail generation, using provider's thumbnail.
  • Apps link: Links that can be used to edit the file in the cloud.
  • Update of the document: If a document is updated on the backend, the reference will be updated (full-text index, thumbnail, filename...)
  • Native versioning: When a version of the document is created in the Nuxeo Platform, a versioning order is sent to the backend so as to make a version of the file on the backend and make sure to be able to get back the file in the future.

Depending on the backend capabilities of the provider, not all features are available.

The table below shows the available features for each default implementation.

Feature Available for Google Drive Available for Dropbox Available for Box Available for OneDrive
Download URL Yes Yes Yes Yes
Full-text indexation Yes Yes Yes Yes
PDF conversion Yes Yes Yes Yes
Preview Yes Yes Yes Yes
Thumbnail Yes Yes Yes Yes
Link to cloud app Yes No No Yes
Versioning Yes (non-native Google Drive documents) Yes Yes Yes*
Update of the document Yes Yes Yes Yes

* Provided by the Nuxeo Platform

Live Connect For Google Drive

Functional Overview

JSF UI

Creating New Google Drive Documents

On the document creation form, a Google Drive button enables you to browse your Google Drive content and select a document stored there.

This option is available for the following Nuxeo document types:

  • File
  • Picture
  • Video
  • Audio
Editing Content

Native documents stored on Google Drive can be edited using the native Google Drive application: Google docs, Pixlr, etc.

You can fill their metadata like any other metadata.

Content edit actions are tracked in the document history in the Nuxeo Platform and in Google Drive.

Browsing and Searching Content

Google Drive documents can be searched in the Nuxeo Platform like any other document: their content is indexed in the platform, as well as their metadata. They are displayed in search results like a Nuxeo document. Their thumbnail is provided by Google Drive.

Web UI

Creating New Google Drive Documents

On the document creation form, a Google Drive button enables you to browse your Google Drive content and select a document stored there.

Browsing and Searching Content

Google Drive documents can be searched in the Nuxeo Platform like any other document: their content is indexed in the platform, as well as their metadata. They are displayed in search results like a Nuxeo document. Their thumbnail is provided by Google Drive.

Setting Up Live Connect for Google Drive

Step 1: Preparing your application accounts on the Google developer console

  1. Go to https://console.developers.google.com/project.
  2. Click on Create Project.
  3. Enable Drive API: In Library > Google Apps APIs click on Drive API and then on the Enable button at the top of the page.
  4. Edit your consent screen: In API Manager > Credentials click on OAuth consent Screen, fill the product name (the name of your application). You can also upload a logo, etc. This is what is displayed when the user authenticates through Google.
  5. Create a new OAuth Client ID: In APIs & auth > Credentials click on Create credentials and select OAuth client ID.

    • Choose Web Application.
    • For Authorized JavaScript origins set the URL of your server. Ex: http://localhost:8080
    • For Authorized redirect URIs set the following URL, adapting the hostname and port to your case: http://NUXEO_SERVER/nuxeo/site/oauth2/googledrive/callback

The console redirects you to a page where you can see the client id and secret id values. You will need them in the next steps.

Step 2: Configuring the Nuxeo Platform

  1. Install the package Nuxeo Live Connect if it is not already installed.
  2. In the Admin tab, go to Cloud Services > Service providers.
  3. In the OAuth2 Service providers section, click on the Modify button of the googledrive service provider.
  4. Set the client id and client secret values with the one you got on the previous step.
  5. Make sure the Enabled box is checked.
  6. Save.
  7. Now go to the HOME tab and click Cloud Services tab and click the Connect to Google Drive button or just create a new Google Drive document

You are ready to use it, just go in the workspace section and create a file object: you can use the Google Drive file picker

Live Connect For Dropbox

Functional Overview

JSF UI

Creating New Dropbox Documents

On the document creation form, a Dropbox button enables you to browse your Dropbox content and select a document stored there.

This option is available for the following Nuxeo document types:

  • File
  • Picture
  • Video
  • Audio
Browsing and Searching Content

Dropbox documents can be searched in the Nuxeo Platform like any other document: their content is indexed in the platform, as well as their metadata. They are displayed in search results like a Nuxeo document. Their thumbnail is provided by Dropbox.

Web UI

Creating New Dropbox Documents

On the document creation form, a Dropbox button enables you to browse your Dropbox content and select a document stored there.

Browsing and Searching Content

Dropbox documents can be searched in the Nuxeo Platform like any other document: their content is indexed in the platform, as well as their metadata. They are displayed in search results like a Nuxeo document. Their thumbnail is provided by Dropbox.

Setting Up Live Connect for Dropbox

Step 1: Preparing your application accounts on the Dropbox App console

  1. Go to https://www.dropbox.com/developers/apps.
  2. Click on Create app.
  3. Select Dropbox API.
  4. Select the permission Type Full Dropbox.

    The App folder permission won't work due to limitations in Dropbox API.

  5. Enter the name of your application.

  6. Click on the button Create app.
  7. From the Settings tab, copy the App key and App secret.
  8. In the OAuth 2 > Redirect URIs set the following URL, adapting the hostname and port to your case: http://NUXEO_SERVER/nuxeo/site/oauth2/dropbox/callback.

Please note that Dropbox only allows http for localhost. For all other sites https must be used. See HTTP and HTTPS Reverse-Proxy Configuration.

To enable additional users on your application, go to Settings > Development users and click on Enable additional users.

Step 2: Configuring the Nuxeo Platform

  1. Install the package Nuxeo Live Connect if it is not already installed.
  2. In the ADMIN tab, go to Cloud Services > Service providers.
  3. In the OAuth2 Service providers section click on the Modify button of the dropbox service provider.
  4. Paste the Dropbox App key in ClientID.
  5. Paste the Dropbox App secret in Client Secret.
  6. Make sure the Enabled box is checked.
  7. Now go to the HOME tab, click on the Cloud Services tab and click on the Connect to Dropbox button or just create a new Dropbox document.

Live Connect For Box

Functional Overview

JSF UI

Creating New Box Documents

On the document creation form, a Box button enables you to browse your Box content and select a document stored there.

This option is available for the following Nuxeo document types:

  • File
  • Picture
  • Video
  • Audio
Browsing and Searching Content

Box documents can be searched in the Nuxeo Platform like any other document: their content is indexed in the platform, as well as their metadata. They are displayed in search results like a Nuxeo document. Their thumbnail is provided by Box.

Web UI

Creating New Box Documents

On the document creation form, a Box button enables you to browse your Box content and select a document stored there.

Browsing and Searching Content

Box documents can be searched in the Nuxeo Platform like any other document: their content is indexed in the platform, as well as their metadata. They are displayed in search results like a Nuxeo document. Their thumbnail is provided by Box.

Setting Up Live Connect for Box

Step 1: Preparing your application accounts on the Box App console

  1. Go to https://app.box.com/developers/services.
  2. Click on Create a Box Application.
  3. Select the Custom App application type.
  4. In the Authentication Method screen, select Standard OAuth 2.0 (User Authentication).
  5. Enter the name of your application and select Create Application.
  6. In redirect_uri set the following URL, adapting the hostname and port to your case: http://nuxeo-server:8080/nuxeo/site/oauth2/box/callback .

    Please note that Box allows HTTP only for localhost. For all other sites HTTPS must be used. See HTTP and HTTPS Reverse-Proxy Configuration.

  7. Copy the client_id and client_secret.
  8. Click on button Save Application.

Step 2: Configuring the Nuxeo Platform

  1. Install the package Nuxeo Live Connect if it is not already installed.
  2. In the& ADMIN tab, go to Cloud Services > Service providers.
  3. In the OAuth2 Service providers section, click on the Modify button of the box service provider.
  4. Paste the Box client_id in ClientID.
  5. Paste the Box client_secret in Client Secret.
  6. Make sure the Enabled box is checked.
  7. Save.
  8. Now go to the HOME tab, click on the Cloud Services tab and click on Connect to Box button or just create a new Box document.

Live Connect For OneDrive

Live Connect for OneDrive is compatible with Nuxeo Platform 8.2+.

Functional Overview

JSF UI

Creating New OneDrive Documents

On the document creation form, a OneDrive button enables you to browse your OneDrive content and select a document stored there.

This option is available for the following Nuxeo document types:

  • File
  • Picture
  • Video
  • Audio
Browsing and Searching Content

OneDrive documents can be searched in the Nuxeo Platform like any other document: their content is indexed in the platform, as well as their metadata. They are displayed in search results like a Nuxeo document. Their thumbnail is provided by OneDrive.

Web UI

Creating New OneDrive Documents

On the document creation form, a OneDrive button enables you to browse your OneDrive content and select a document stored there.

Browsing and Searching Content

OneDrive documents can be searched in the Nuxeo Platform like any other document: their content is indexed in the platform, as well as their metadata. They are displayed in search results like a Nuxeo document. Their thumbnail is provided by OneDrive.

Setting Up Live Connect for OneDrive

Step 1: Preparing your application accounts on the OneDrive App console

  1. Go to https://account.live.com/developers/applications/index.
  2. Click on Add an app.
  3. Enter the name of your new application and click on Create application.
  4. Copy the Application ID.
  5. Application Secrets: Click on Generate New Password and copy it.
  6. On Platforms, click on Add Platform and then select Web. In Redirect URIs set the following URL, adapting the hostname and port to your case: http://nuxeo-server:8080/nuxeo/site/oauth2/onedrive/callback.
  7. Click on Save.

Step 2: Configuring the Nuxeo Platform

  1. Install the package Nuxeo Live Connect if it is not already installed.
  2. In the ADMIN tab, go to Cloud Services > Service providers.
  3. In the OAuth2 Service providers section, click on the Modify button of the onedrive service provider.
  4. Paste the OneDrive client_id in ClientID.
  5. Paste the OneDrive client_secret in Client Secret.
  6. Make sure the Enabled box is checked.
  7. Save.
  8. Now go to the HOME tab, click on the Cloud Services tab and click on the Connect to OneDrive button or just create a new OneDrive document.

Setting Up Live Connect for OneDrive for Business

Step 1: Preparing your application account for OneDrive for Business

For OneDrive for Business follow steps here:

    1. Get an account from your Office 365 subscription: [email protected] where username is your username and tenant corresponds to your new domain http://{tenant}.sharepoint.com.
    1. You will need to subscribe to a Microsoft Azure Directory offer.
    1. Register your app with Azure Active Directory

    While registering your app, at the Add properties step, please follow this example to fill in the pop-up and adapt the hostname and port to your case:

    • SIGN-ON URL: http://nuxeo-server:8080/nuxeo/site/oauth2/onedrive/callback
    • APP ID URI: http://nuxeo-server:8080/nuxeo/site/oauth2/onedrive

    While setting your application delegated permissions, you need to check Read user profiles, Read and write user files and Read and write items in all site collections boxes for an Office 365 SharePoint Online application.

Step 2: Configuring the Nuxeo Platform

  1. Install the package Nuxeo Live Connect if it is not already installed.
  2. In the ADMIN tab, go to Cloud Services > Service providers.
  3. In the OAuth2 Service providers section click on the Modify button of the onedrive service provider.
  4. Paste the OneDrive client_id in ClientID.
  5. Paste the OneDrive client_secret in Client Secret.
  6. Replace Authorization Server URL by https://login.microsoftonline.com/common/oauth2/authorize?response_type=code
  7. Replace Token Server URL by adapting the tenant (nuxeofr in the URL provided bellow) in resource parameter to your case: https://login.microsoftonline.com/common/oauth2/token?resource=https%3A%2F%2Fnuxeofr-my.sharepoint.com%2F
  8. Make sure the Enabled box is checked.
  9. Save.
  10. Now go to the HOME tab, click on the Cloud Services tab and click on the Connect to OneDrive button or just create a new OneDrive document.

Advanced Live Connect Configuration

Synchronization

Since cloud files can be changed externally Nuxeo Live Connect relies on a scheduled synchronization process to ensure local metadata is kept up to date. Things like the document's title, thumbnail, full text for indexing, etc, are not updated in realtime since they rely on this regular synchronization job which is set to run every 5 minutes by default.

To change this interval users can override the default contribution:

<component name="org.nuxeo.ecm.liveconnect.scheduler.override">
  <require>org.nuxeo.ecm.liveconnect.scheduler</require>

  <extension target="org.nuxeo.ecm.core.scheduler.SchedulerService" point="schedule">
    <schedule id="blobProviderDocumentUpdate">
      <event>blobProviderDocumentUpdateEvent</event>
      <!-- default is 0 0/5 * * * ? (every 5 minutes)  -->
      <!-- change it to run every 30s -->
      <cronExpression>0/30 * * * * ?</cronExpression>
    </schedule>
  </extension>
</component>

Note Synchronization requires service calls that might be subject to quotas and/or limits. Please refer to each provider's documentation for further information.

Known General Limitations

  • Nuxeo Drive is not compatible with files that are stored on a Live Connect backend: files will be downloaded, but it won't be possible to update them.
  • Native versioning: Only non-native Google Drive documents have revisions created on the Google Drive side.
7 days ago Manon Lumeau add tags for doc days
13 days ago manonlumeau Update NX University links with Docebo URLs
15 days ago GitHub Remove old nbsp tags
a month ago manonlumeau Added content-review-lts2017 label
2 months ago manonlumeau NXDOC-1346-FT review screenshot
a year ago Solen Guitter 55
a year ago Anne Jubert 54
2 years ago Manon Lumeau 53
2 years ago Solen Guitter 52 | Add min required version of Nuxeo Platform for OneDrive
2 years ago Solen Guitter 51 | Merge notes about HTTP / HTTPS Box support
2 years ago Solen Guitter 50 | Add note about Box allowing only https
2 years ago Manon Lumeau 49 | Fix images border
2 years ago Manon Lumeau 48
2 years ago Solen Guitter 47
2 years ago Solen Guitter 46
2 years ago Kevin Leturc 45
2 years ago Kevin Leturc 44
2 years ago Kevin Leturc 43
2 years ago Kevin Leturc 42
2 years ago Kevin Leturc 41
2 years ago Kevin Leturc 40
2 years ago Kevin Leturc 39
2 years ago Solen Guitter 38 | Fix duplicated content
2 years ago Michaël Vachette 37
2 years ago Bertrand Chauvin 36 | Add link to video course
2 years ago Bertrand Chauvin 35 | formatting
2 years ago Bertrand Chauvin 33 | Added video
2 years ago Bertrand Chauvin 34 | formatting
2 years ago Arnaud Kervern 32
2 years ago Arnaud Kervern 31
2 years ago Anahide Tchertchian 30 | cosmit
2 years ago Anahide Tchertchian 28 | follow google drive ui changes
2 years ago Anahide Tchertchian 29 | cosmit
2 years ago Joshua Fletcher 27 | Clarify field mapping.
2 years ago Joshua Fletcher 26 | Add missing step for Dropbox configuration, add note about SSL requirement.
2 years ago Nelson Silva 25
2 years ago Nelson Silva 24 | Added synchronization scheduler configuration notes
2 years ago Joshua Fletcher 23 | typos
2 years ago Manon Lumeau 21
2 years ago Manon Lumeau 22
2 years ago Manon Lumeau 20
2 years ago Joshua Fletcher 19 | typo
2 years ago Manon Lumeau 18
2 years ago Solen Guitter 17
2 years ago Solen Guitter 16
2 years ago Solen Guitter 15 | Update feature table
2 years ago Solen Guitter 14 | Add functional overview for Google Drive
2 years ago Solen Guitter 13 | Add Dropbox set up steps
2 years ago Solen Guitter 12
2 years ago Solen Guitter 11
2 years ago Alain Escaffre 10
2 years ago Alain Escaffre 9
2 years ago Alain Escaffre 8
2 years ago Alain Escaffre 7
2 years ago Alain Escaffre 6
2 years ago Alain Escaffre 5
2 years ago Alain Escaffre 4
2 years ago Alain Escaffre 3
2 years ago Alain Escaffre 2
2 years ago Alain Escaffre 1
History: Created by Alain Escaffre