Professional Documents
Culture Documents
White Paper - Siebel CRM Oracle Documents Cloud Service Integration
White Paper - Siebel CRM Oracle Documents Cloud Service Integration
Service Integration
ORACLE WHITE PAPER
JUNE 2015
Table of Contents
Executive Overview
Introduction
Functionality
Security Considerations
Installation
Siebel Tools
Siebel Application
Setup
Symbolic URL
List of Values
11
Configuration Changes
12
Sales Collateral
12
12
12
Attachments
13
13
14
Browser Script
14
Changed Objects
16
Testing
18
Troubleshooting
20
Executive Overview
This document details how to use the Siebel CRM integration with Oracle Documents Cloud Service
for associating files stored in the cloud as attachments to Siebel records.
This white paper is not intended to replace or reuse any of the standard Siebel File Attachments
functionality. It is intended to illustrate how to use the Siebel application with the Oracle Documents
Cloud Service for storing file attachments and documents in the cloud.
The solution is valid for any Siebel CRM deployment where a licensed Oracle Documents Cloud
Service is available. For this white paper, the solution was tested with Siebel Web Client 15.0 running
Introduction
The solution offered in this white paper provides the following benefits:
Throughout the Siebel CRM application this solution can be used to store documents in the
cloud rather than on a traditional file system.
It is possible to view documents in the browser without needing to download them. This also
removes the need for proprietary desktop applications to be installed on client devices. Many
different MIME types are supported by the Documents Cloud viewer.
The ability to drag-and-drop files effortlessly into the browser and automatically associate
them to the Siebel entity.
Storing documents in the cloud provides a faster alternative to a traditional file system. By
using the Oracle cloud infrastructure this can reduce the total cost of ownership (TCO) in the
enterprise.
Using Oracle Documents Cloud Service for document storage provides more scalability in
comparison to the existing file system solutions.
The ability to share documents with Fusion Cloud CX apps for example associating folders
to both Siebel CRM and Sales Cloud
The Documents Cloud user interface applies the users browser language setting for display.
Functionality
This document demonstrates two primary use cases for integrating the Oracle Documents Cloud Service with
Siebel CRM that leverage two specific resources in the Documents Cloud REST API; the Folder Resource, and the
AppLink Resource. The REST call returns an XML data structure to Siebel, which can be parsed using the Siebel
Transcode Service. Documentation for the DOCS REST API is available at the following link.
http://docs.oracle.com/cloud/latest/documentcs_welcome/WCCCD/odcs-restapi.htm#WCCCD3724
Figure 1.Screenshot showing a view where a user can see a document folder in the cloud
2.
Attachments
Storing Siebel CRM entity attachments in the cloud provides an easy drag-and-drop interface for contributing
and storing content. Each entity being used would have its own folder in the cloud. When a Siebel user
navigates to a specific entity (e.g. Account) and clicks Cloud Attachments, a folder is created in Documents
Cloud Service if one does not already exist for that entity.
An Oracle Documents Cloud Service embedded page, known as an AppLink, is then displayed granting the
user Contributor rights so that the Siebel user can create or delete documents in the folder. The folder ID is
persisted in Siebel CRM so that upon re-entry to the Attachments page, the AppLink is connected to the same
folder for all users accessing the entitys Attachments page.
In this example, the new applet is added to the Account List View.
Figure 2.Screenshot showing a view where a user can drag and drop files and also see related documents in the browser.
Security Considerations
It is required to encrypt a password for the Oracle Documents Cloud Service in the Siebel database. This is
performed by a single execution of a Business Service (provided). This will only work on the Siebel Server because
the keyfile.bin which stores the encryption keys does not exist on the Siebel mobile client. The keyfile.bin is provided
as standard, and therefore is the same for all customers, so for a production implementation, new keys should be
placed in the key file before encrypting any data. More information is provided in the Security Guide in Siebel
Bookshelf.
http://docs.oracle.com/cd/E14004_01/books/Secur/booktitle.html
The Oracle Documents Cloud Service user has system administration access to all folders and documents
and therefore their authentication parameters should be carefully withheld. Using the AppLink feature of
Documents Cloud, the folder views in Siebel CRM are limited to one folder only (and its sub-folders).
Web content from the Symbolic URL is generated on the Siebel Server. The Documents Cloud embedded
iFrame contains standard HTML5 compliant pages.
Installation
An overview of the installation steps to enable this solution is detailed below; it is assumed that an existing
subscription to Oracle Documents Cloud Service is available.
For more information on the Oracle Documents Cloud service, please see: cloud.oracle.com/documents
Siebel Tools
Please note, the steps below use the archive files provided with this white paper and offer a fast way to import the
new objects and changes into the repository.
1.
2.
Project: DocumentsCloudService
New applet to display the Oracle Documents Cloud Service folder for Opportunities
Creates an AppLink to the Sales Collateral library. Returns AppLink URL to an entity field
for use in a Symbolic URL.
Creates a Folder in Oracle Documents Cloud. Persists Folder GUID in a Siebel entity field.
Creates a corresponding AppLink URL, and returns the AppLink URL to an entity field for
use in a Symbolic URL.
Used for encrypting the Oracle Documents Cloud Service users password in the Siebel
database.
Table: CX_ENCRYPT_PWDS
o
3.
Used for storing the encrypted value for the Oracle Documents Cloud Service user.
Observe the proposed changes and choose appropriately to Overwrite changes or just keep the default
Merge option.
4.
5.
Stop Siebel Server, Compile and deploy the SRF, Restart Siebel Server
Siebel Application
1.
2.
Follow the steps to encrypt the password by running the Business Service in the Simulator (see steps in
the Setup section)
3.
Create a new Responsibility (optional) and associate the relevant modified Views
4.
Add new List of Values (see Picklists section) depending on which output types you want. This LOV can
also be multilingual.
5.
Clear the cache for LOV and Responsibilities accordingly, re-login to Siebel application
Setup
Symbolic URL
When configuring the URL field of the Symbolic URL, use square brackets to represent the AppLink value. Also,
the argument Append as Argument must be unchecked. The IFrameStyle height and width can be adjusted as
needed depending on the view.
Append as Argument - When this field is checked (default), the value is added as a URL argument on the outgoing
request. If this field is not checked, the value will be substituted in the text of the outgoing URL.
The FixupName for the Applet may need to be set to OutsideApplication or InsideApplet, depending on where the
IFrame is being placed.
For more information on setting Symbolic URL Arguments, please refer to Siebel Portal Framework Guide >
Integrating External Content > Portal Agent Administration > Defining Symbolic URL Arguments
http://docs.oracle.com/cd/E14004_01/books/PortalFrame/PortalFrameAggExtCont21.html#wp1009178
1.
2.
3.
Create a new record in the top applet to run the business service DOCSService and the method
SetPassword.
4.
Create a new record in the Input Arguments applet. Open the Property Name MVG and create a new
property with name=New Password and value=<your new password>
5.
Click Run
System Preferences
Configuration values for the Oracle Documents Cloud Service REST API calls can be stored in System Preferences
System Preferences can be either entered in Siebel Tools (Screens > System Administration > System Preferences)
or in the web client (Administration Application > System Preferences).
1.
Name
Value
Comments
DOCSUser
myusername@oracle.com
DOCSHost
DOCSAppLinkRestReso
urce
DOCSCreateFolderReso /documents/api/1.1/folders/
urce
DOCSAttachmentsBusin
essObject
Account
DOCSAppLinkRestReso
urce
DOCSAttachmentsTopF
olderGUID
Sales Collateral
The following configuration changes and primary properties are contained in the archive files associated with this
white paper, the changes include creating a new field that calls a business service method.
1.
Use the LOV folder GUID (DOCSSalesCollateralGUID) to create an AppLink request via REST to Oracle
Documents Cloud Service. Preserve the refresh and access tokens in profile data, and return the
AppLink URL.
2.
3.
Browser script event handler passes the access and refresh tokens to the iFrame when the event
appLinkReady occurs.
Attachments
The following configuration changes and primary properties are contained in the archive files associated with this
white paper; the changes include creating two new fields that calls a business service method.
DocumentCloud: A calculated field for holding the name of the Symbolic URL. Calculated value =
DocumentCloud (the name of the Symbolic URL set up earlier).
DOCSAppLinkURL: A field used for holding the AppLink URL, which is then used in the Symbolic URL to display
the Oracle Documents Cloud Service page. It is important to include the Siebel CRM entity [Id] field, and the entity
description value [Name] since that identifies the Siebel CRM entity and is used for the Documents Cloud folder ID
and Description. The last parameter is the return value from the Business Service. Note that the entityDescription
parameter passed into the business service will be used as the description on the Oracle Documents Cloud
Service folder.
Calculated Value:
InvokeServiceMethod("DOCSService","DOCSAppLinkAttachments",
"idFieldVal=eval([Id]),entityDescription=eval([Name]),folderGUID=eval([DOCSFolderGUID])","appLinkURL" )
DOCSFolderGUID: A field used for persisting/querying a Oracle Documents Cloud Service folder ID related to the
entity. Note that this field must be linked to a column in a Siebel CRM table. For example, extend the S_ORG_EXT
to have a column called X_DOCS_GUID or use one of the extension fields in S_ORG_EXT_X. A varchar field of
around 255 characters long should suffice. The Oracle Documents Cloud Service folder GUID can then be
persisted to the column in the Business Service for subsequent calls. Set Force Active = True for this field.
2.
Check if an Oracle Documents Cloud Service folder is already created for this entity.
a.
If no folder has been created, call the Oracle Documents Cloud Service REST service to create
a new folder. Persist the folder GUID to the database.
3.
Use the folder GUID to create an AppLink request via REST to Oracle Documents Cloud Service.
Preserve the refresh and access tokens in profile data, and return the AppLink URL.
4.
5.
Browser script event handler passes the access and refresh tokens to the iFrame when the event
appLinkReady occurs.
Browser Script
Event handling is performed in the Applet_Load browser script. Once the AppLink URL loads, handling of the
event appLinkReady must be done to display the page. The access token and refresh token must be passed to
the iFrame. The following sample code works for both use cases.
Changed Objects
APPLETS
NAME
BUSCOMP
COMMENTS
Documents Cloud
Opportunity
Applet
BUSINESS COMPONENTS
NAME
TABLE
COMMENTS
DOCS Password
CX_ENCRYPT_PWDS
Encryption
BUSINESS OBJECTS
NAME
COMMENTS
DOCSPasswordEncryption
BUSINESS SERVICES
NAME
COMMENTS
DOCSService
DOCSServiceAttachments
TABLE
NAME
COMMENTS
CX_ENCRYPT_PWDS
VIEWS
NAME
COMMENTS
Testing
This section outlines how the integration can be easily tested.
The AppLink should load the folder that was created. With the AppLink, access is locked down only to this folder and
no navigation allows the user to go elsewhere, even if the open the applink in a new window using the popout icon.
Login to Oracle Documents Cloud Service outside of Siebel. The user that owns the file is the folder owner (e.g. the
user defined in the LOV for calling REST Services).
Figure 12.Screenshot showing view where user can drag and drop files and also view related documents in the browser.
The files that are added to the folder will show the owner as the Oracle Documents Cloud Service user, but the
created user will be the Siebel username.
Figure 13.Screenshot showing view where user can drag and drop files and also view related documents in the browser.
Currently all Applinks are created with the Contributor role. There may be a need for business context specific
Applinks for different Siebel users based on a users permissions on the entity.
This demo only enables Oracle Documents Cloud Service attachments for the Account entities. If this was
needed on other views, additional configuration may be needed. In particular, in the LOV setup additional top
folder GUID values may be needed, such as a top level folder for Contacts, Opportunities, etc. Likewise, the
Business Service is hardcoded to look for DCSTopFolderGUID, but the eScript code would need to seek a
specific GUID for Contacts and Opportunities if this was to be enabled elsewhere in the Siebel CRM instance.
The Oracle Documents Cloud Service user interface does not dynamically adopt the Siebel CRM application
language settings for the Siebel user. The language needs to be set in the browser settings.
For Account integration, it was noticed that for some sample Accounts such as AG Edwards & Sons, Inc
where the name contains special characters, the page did not render. This would require encoding to be
included in the Business Service.
Troubleshooting
Common troubleshooting issues are documented here.
AREA
DESCRIPTION
REST Service
iFrame
Worldwide Inquiries
Phone: +1.650.506.7000
Fax: +1.650.506.7200
CONNECT W ITH US
blogs.oracle.com/siebelopenui
facebook.com/oraclecrm
twitter.com/oraclecrm
oracle.com/siebel
Copyright 2015, Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only, and the
contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other
warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or
fitness for a particular purpose. We specifically disclaim any liability with respect to this document, and no contractual obligations are
formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any
means, electronic or mechanical, for any purpose, without our prior written permission.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and
are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are
trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.0115
Siebel CRM Oracle Documents Cloud Service Integration
June 2015
Authors: John Bedford, Peter Flies, Jack van Dijk