Best Practices from Oracle Development's A‑Team

  • September 2, 2015

Using an Applink to integrate Oracle Documents Cloud with a SaaS or on-premise application


Oracle Documents Cloud is an enterprise level file sync and share Cloud service that allows you to easily and securely share documents with members of your team. These Documents can be accessed using a browser or a smart phone. In this context, the people associated with the team are relatively static. The team is formed and exists for a longer period of time and collaborates around a number of activities on shared Folders and Files.


Documents Cloud


But there is another common use case for people to collaborate and share folders and files, not within the context of a team but within the context of an application and usually for a shorter period of time. The application can be an Oracle Cloud Saas service like Oracle Sales Cloud where a team would share documents relating to the sales opportunity for the duration of the sales opportunity. The file sharing and collaboration would only be within the context of the Sales Cloud service and the files would not be accessible directly from Documents Cloud.

It could also be an on-premise application like Oracle Siebel CRM or an insurance claims system where a group of people, the customer, a claims adjuster and a body shop work together to share documents to report, approve, and get a car that was involved in a collision repaired. Again the collaboration is done within the claims system and the documents can only be accessed through the claims system and not directly through Documents Cloud.

For this use case, the people working together in the context of the SaaS or on-premise application are authenticated and their access control is managed by the application.

Oracle Documents Cloud provides a rich set of REST API's to allow you to easily integrate Documents Cloud with your application.

A Documents Cloud Service user is used to allow the application to connect to Documents Cloud on behalf of the Application users using credentials stored in a keystore. This service user will be the only user who can access the Documents Cloud folders and files belonging to the application.

The first time Documents Cloud is accessed in a specific context, the related folder in Documents Cloud can be created dynamically. In the sales Cloud example, a new sales opportunity can be created and, the first time the Documents Cloud folder associated with that opportunity is accessed, a new Documents Cloud folder can be created for that opportunity. The GUID for the newly created folder is then stored in the Application for that opportunity to be used to access the folder in the future.

Example of the REST code from the Doc needed to create a new folder:

POST .../folders/FF4729683CD68C1AFB1AE87DT0000000000100000001


{     "name": "Claim No 156234",     "description": "Documentation for Claim No 156234 }


{     ...     "id": "FB4CD874EF94CD2CC1B60B72T0000000000100000001",     ...     "parentID": "FF4729683CD68C1AFB1AE87DT0000000000100000001",     "type": "folder" }

When the application needs to surface the folder and files for the specific application context, the service user connects to Oracle Documents Cloud and requests a Applink for the associated GUID. The Applink returns a URL that gives temporary access to the Oracle Documents Cloud folder or document to the application user with the appropriate viewer, downloader or contributor access.

Example of the code from the Doc needed to create a temporary Applink to allow a user to access the folder:

POST ...applinks/folder/F3399E673E5B93B3774531E7T0000000000100000001


{     "assignedUser": "U0EAA20910FAF3052ACB79E4T00000000001" }

JSON response

{     "accessToken": "_qVnD42Et8KwZrBUqveiqn1sw-RLpfZQdIPPi_fd17-gt60FP6-IuCApyLFw32EL",     "appLinkID": "LFwi1u1E9vZC_3pQhK5C4qxigAC4o1eUuMnv3dZbo6_OiaZx-yte-xIrxWdDJCA_jEgfVHe1At-26KX-M9mi9BaI7B0UX3Gx-QufREHWcHakby0_V9n8_C1pT7P_CKYlSqFU0rudQ8Q81M67-3fLffMA==",     "appLinkUrl": "http://www.example.com/documents/embed/link/app/LFwi1u1E9vZC_3pQhK5C4qxigAC4o1eUuMnv3dZbo6_OiaZx-yte-xIrxWdDJCA_jEgfVHe1At-26KX-M9mi9BaI7B0UX3Gx-QufREHWcHakby0_V9n8_C1pT7P_CKYlSqFU0rudQ8Q81M67-3fLffMA==/folder/F3399E673E5B93B3774531E7T0000000000100000001",     "errorCode": "0",     "id": "F3399E673E5B93B3774531E7T0000000000100000001",     "refreshToken": "ctOCKm4mtpayp__jUlQsfdFEd52vSn2Pd4QxOTcSZ1Wch0f9JP7EFSaXmDLKZdql",     "role": "viewer",     "type": "applink" }

The embeddable URL can then be used to display the Documents Cloud Folder and related Documents in an iFrame.  Here is an example of a Documents Cloud Applink embedded within Siebel CRM.

Siebel CRM Documents Cloud


More information can be found in the the Oracle Documents Cloud Documentation

The Siebel CRM Documents Cloud integration mentioned above is described in this white paper



Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha