Configure Oracle WebCenter Content

Learn to install and configure the Fusion Applications adapters, enable embedding of managed attachments user interface, enable advanced security in WebCenter Content, and other key configurations you need to enable integration of Oracle Sales and Service application with WebCenter Content.

Configure WebCenter Content for FA Integration

Log in to wls-1 of WebCenter Content stack VMs and run the following commands to configure it for FA integration.

sudo su - oracle
 
cd /u01/scripts/sh

For IDCS SSO-based environments

For WebCenter Content stack based on June 2024 or later release:

Run the configuration script with the following arguments.

sh configure_wcc_fa_adapter.sh --fa_domain <fa-domain-host> --ucm_domain <ucm domain host> --idcs_user <WCC Idcs Administrator user>

When the script prompts for password input as shown below, enter the administrator password for WebCenter Content IDCS:

Please provide IDCS User's Password: 

For WebCenter Content stack based on May 2024 or earlier release

Run the configuration script with the following arguments.

sh configure_wcc_fa_adapter.sh --fa_domain <fa-domain-host> --ucm_domain <ucm domain host>

Once the script is run, modify the credential key MA_CSF_KEY used by the Managed Attachments framework by completing the following steps.

Modify the MA_CSF_KEY credential key to IDCS credentials:

  1. Log in to Enterprise Manager.

  2. Click the WebLogic Domain menu

  3. Click Security and then Credentials.

  4. Expand the "oracle.wsm.security" map.

  5. Click and edit the key named MA_CSF_KEY.

  6. Change the username and password to username and password of the WebCenter Content IDCS administrator.

For non-IDCS SSO environments

Run the configuration script with the following arguments.

sh configure_wcc_fa_adapter.sh --fa_domain <fa-domain-host> --ucm_domain <ucm domain host>

Enable Advanced Security in WebCenter Content

  1. Log in to Webcenter Content as an administrator.

  2. Navigate to Administration and then to Configuration for wcc****.

  3. On the Configuration Information page, make a note of the value for the search engine under the System Configuration section.

  4. Under Administration, click Oracle Advanced Security Configurations.

  5. On the Oracle Advanced Security Configurations page, complete the following updates:

    If WebCenter Content is set to use DATABASE.METADATA as the search engine:

    1. Select the Core QueryText Security Config check box.

    2. Custom table names: AFOBJECTS

    3. Custom field names: Leave this field blank.

    4. Click Update.

    If WebCenter Content is set to use DATABASE.FULLTEXT or OracleTextSearch as the search engine:

    1. Select the Core QueryText Security Config check box.

    2. Custom table names: AFOBJECTS

    3. Custom field names: dreleasestate

    4. Click Update.

    If custom metadata is used with DATABASE.METADATA:

    1. Select the Core QueryText Security Config check box.

    2. Custom table names: Leave this field blank.

    3. Custom field names: <xCustomMetadataField1; xCustomMetadataField2; xCustomMetadataField3;...>

    4. Click Update.

    If custom metadata is used with DATABASE.FULLTEXT or OracleTextSearch:

    1. Select the Core QueryText Security Config check box.

    2. Custom table names: Leave this field blank.

    3. Custom field names: <xCustomMetadataField1; xCustomMetadataField2; xCustomMetadataField3;...>

    4. Click Update.

Enable Webservice Security Policy for WebCenter Content Grant Webservice

In case the required policy is already applied, skip this section.

  1. Log in to Enterprise Manager as an administrator.

  2. Navigate to UCM_Server1, Deployments, Oracle UCM Webservices, Modules and Components, Webservices, AfGrantService, and then to AfGrantAccessPort.

  3. Click Attach/Detach policies.

  4. Click Directly Attached Policies and then click Attach/Detach.

  5. In the Available Policies section, search for oracle/wss_http_token_service_policy

  6. Click Attach, click Validate, and then click Ok.

  7. Restart all WebCenter Content servers.

Configure Oracle Sales and Service Application Integration

Learn to create a sandbox, a webservice, a mashup, and other key configurations you need to configure the Oracle Sales and Service application integration.

Create a Sandbox

Create a sandbox to implement the Oracle Sales and Service application changes for this integration:

  1. Sign in to Oracle Sales and Service application as an administrator.

  2. Click the hamburger icon in the upper left corner of the page. Select the Configuration option from the menu and then select Sandboxes.

  3. On the Create Sandbox page, complete the following fields:

    1. On the Sandboxes page, click Create Sandbox.

      The image shows the Create Sandbox page with fields such as Name, Description, Publishable, and the All Tools list. The option Yes is selected in the Publishable field in this example and the Application Composer check box is selected in the All Tools list.

    2. On the Create Sandbox page, specify a name for this sandbox in the Name field (for example, WebCenter Content Records Management Integration).

    3. From the All Tools list, select the Application Composer check box.

    4. Click Create and Enter.

Create WebCenter Content Grant Webservice

  1. To enter the application composer where you'll be making your WebCenter Content integration changes, click Tools in the upper left corner of the page and then select Application Composer from the drop-down list.

  2. Choose Common Setup and then Web Services from the left navigation menu.

  3. On the Web Services page, click the Create a new Web Service icon.

  4. In the Select Connection Type dialog, select the SOAP option and click OK.

  5. On the Create SOAP Web Services Connection page, complete the following fields:

    1. In the Name field, specify WebCenterContentGrantWebservice as the name of the folder.

    2. In the URL field, enter https://<WebCenter Content URL>/idcws/AfGrantAccess?WSDL as the web service URL.

    3. Click Read WSDL.

    4. Navigate to Security, Security Scheme, and then select Call with basic authentication.

    5. In the Credential key field, click + to add a credential key. If credentials for this web service already exist, you can select the existing credentials, otherwise, create one using the following steps.

      1. Credential Key - Specify a name.

      2. User name - If WebCenter Content is configured with IDCS Single Sign-on, then specify the administrator name for WebCenter Content IDCS, otherwise, specify the administrator name for WebCenter Content Weblogic.

      3. Password - If WebCenter Content is configured with IDCS Single Sign-on, then specify the administrator password for WebCenter Content IDCS, otherwise, specify the administrator password for WebCenter Content Weblogic.

Note: For WebCenter Content web service, use HTTPS-based URL (not HTTP-based). Also, the URL should have valid HTTPS certificates because the FA connection to the web service will not work without valid HTTPS certificates. It will not work with self-signed certificates.

Create a Global Function to Call WebCenter Content Grant

  1. Choose Common Setup and then Global Functions from the left navigation menu.

  2. On the Global Functions page, click the Add a Global Function icon.

  3. On the Create Global Function page, complete the following fields:

    1. In the Function Name field, specify WebCenterContentGrantWebserviceFunction as the name of the function.

    2. Select String from the Returns drop-down menu.

    3. In the Parameters section, click the Add Parameter icon and add the following fields:

      1. Name - SrNumber

      2. Type - String

      In the Edit Script field, paste the following script:

      println("Executing WebCenter Content Grant Access for SR " + SrNumber);
      
      def curUserName = adf.context.getSecurityContext().getUserName();
      
      def response = [:];
      // NOTE - Change this to a name corresponding to your instance
      def applicationName = "MyCompanySalesCloud";
      
      def request =
        [
          commandNamespace : "UCM_Managed_Attachments",
          solutionNamespace: "UCM_Managed_Attachments",
          username         : curUserName,
          userContext      : [],
          requestParameters:
            [
              entry:
                [[
                   key  : "businessObjectType",
                   value: "ServiceRequest",
                 ],
                 [
                   key  : "businessObjectKey1",
                   value: "SRNumber",
                 ],
                 [
                   key  : "businessObjectValue1",
                   value: SrNumber,
                 ],
                 [
                   key  : "application",
                   value: applicationName,
                 ],
                 [
                   key  : "labelValue1",
                   value: "Managed Attachments - Service Request Documents",
                 ]]
            ]
        ];
      
      
      try {
        // Execute WebCenter Content Grant web service
        response = adf.webServices.WebCenterContentGrantWebservice.execute(request);
      
        // Retrieve WebCenter Content MA URL from response
        String ucmMaUrl = "";
        String afGuidVal = "";
        def responseCommands = response["responseCommands"].get(0);
        for (responseCommand in responseCommands) {
          if (responseCommand["command"] == "OPEN_BROWSER") {
            String url = responseCommand["value"];
      
            // Extract afGuid
            url = url.substring(url.indexOf("?") + 1);
            String[] urlParams = url.split('&');
            for (String urlParam : urlParams) {
              String[] nameValPair = urlParam.split('=');
              if (nameValPair[0] == "afGuid") {
                afGuidVal = nameValPair[1];
                break;
              }
            }
            ucmMaUrl = "&afGuid=" + afGuidVal;
      
            println("Extracted WebCenter Content attachment url suffix " + ucmMaUrl);
            break;
          }
        }
      
        return ucmMaUrl;
      } catch (Exception e) {
        println("Error getting WebCenter Content Managed attachment url for SR " + SrNumber + " " + e);
      }

      Note: For applicationName, enter a name for your Sales cloud instance. For example, <MyCompany>SalesCloud. This is one of the keys used to construct the unique GUID for managed attachments. So, once it is set and used, it should not be changed.

      About Grant webservice payload

      You can specify up to 5 keys (businessObjectKey1,. businessObjectKey5) and their corresponding values (businessObjectValue1,. businessObjectValue5) respectively in the payload. The maximum character lengths of various parameters are:

      • applicationName: 20

      • businessObjectType: 100

      • businessObjectKey's: 80

      • businessObjectValue's: 80

      Specifying Custom Title in Managed Attachments UI

      The value for the key “labelValue1” in the payload is used to customize the managed attachments UI title. The custom title will not be translated to other languages. This field is not mandatory. If this field is not provided in the payload, a default title will be present in the UI.

  4. Click Save and Close.

Create a Mashup

A Mashup is a window into an independent external application such as WebCenter Content. To create a Mashup to embed the WebCenter Content embedded user interface (so that it can be exposed in an Oracle Sales and Service business object):

  1. Choose Common Setup and Mashup Content from the left navigation menu.

  2. On the Mashup Content: Web Applications page, click Register Web Application.

  3. On the Register Web Application page, complete the following fields:

    1. In the Name field, specify WebCenterContentManagedAttachmentsUIMashup as the name of the application.

    2. For the Type field, select the Groovy Expression option.

    3. In the URL Definition field, enter https://<WebCenter Content Server Host>:<WebCenter Content Server Port>/cs/idcplg?IdcService=EMBEDLOGIN_HOME&ActAsAnonymous=true as the WebCenter Content embedded UI URL.

    The image shows the Register Web Application page with fields such as Name, Type, and URL Definition.

  4. Click Save and Close.

Configure Specific Business Object Integration

In order to configure specific business object integration, learn to extend the business object.

Extend the Business Object

Business objects can be extended using a Mashup (like the one created earlier) to expose an external application such as WebCenter Content within the Business Object user interface. To create a new service request page layout to include the WebCenter Content integration:

  1. Choose Objects, then Standard Objects, then Service Request, and then Pages from the left navigation menu.

  2. On the Service Request: Pages page, in the Details Page Layouts section, click the Duplicate Details Page Layout icon.

    Note: If a custom page has already been created, then that page can be used for the WebCenter Content asset integration instead of creating a new one and step 3 can be skipped.

  3. In the Duplicate Layout dialog, complete the following fields:

    1. In the New Layout Name field, specify WebCenterContentEmbeddedUIIntegration as the name.

    2. In the Source Layout field, select Standard layout from the drop-down menu.

    3. Click Save and Edit.

  4. In the Details Layout page, select the Add icon from the bottom of the left navigation menu in the Subtabs Region section to add the WebCenter Content embedded UI.

  5. Select the Mashup Content option. Click Next.

  6. On the next page, select the WebCenterContentEmbeddedAssetsUIMashup option that was created earlier and click Insert.

  7. On the next page, complete the following fields:

    1. In the Display Label field, enter Managed Attachments.

    2. For the Display Icon, click Change Icon if you want to change the default icon that shows up in the service request UI as a tab.

    3. In the Edit Script field, paste the following script:

      println("Service Request Managed Attachments Tab Selected: " + SrNumber)
      
      // Create MA url based off the item SrNumber
      def ucmMaUrl = adf.util.WebCenterContentGrantWebserviceFunction(SrNumber);
      
      println("WebCenter Content MA Url suffix " + ucmMaUrl);
      
      return ucmMaUrl;
    4. Click Next.

    5. Click Save and Close.

Verify the Integration in the Sandbox

Now, verify if the integration was set up properly.

Create a New Service Request

To create a new service request:

  1. Click the site name just to the right of the Hamburger icon in the upper left corner of the page and then select the Service tab.

  2. In the Service page, select the Service Requests application.

  3. On the Service Requests page, click Create Service Request.

  4. On the Create Service Request page, complete the following fields for the service request:

    1. In the Title field, enter the service request name (for example, My Service Request).

    2. Click Save and Continue.

Add Attachments

  1. Click the Managed Attachments tab to load the attached assets in the WebCenter Content embedded user interface.

    Note: Sign in as the same user used in the Oracle Sales and Service application (these users must match between systems). If you're using Chrome in Incognito mode, you must allow cookies. If not already logged in to WebCenter Content, you must allow pop-ups for the log-in window to appear.

  2. Click New.

  3. Enter a title.

  4. Click Browse and select the file to attach.

  5. Click Upload.

  6. Click Refresh to refresh the attachments, or navigate to another tab and come back to the Managed Attachments tab to refresh it.

Publish the Sandbox and Use the Integration

Once the integration is tested and is working as expected, then the changes you made can be published for public consumption.

Publish the Sandbox

For publishing, enter the following sandbox details:

  1. Select the name of your sandbox in the upper left corner of the page, (for example, WebCenter Content Managed Attachments Integration) and then select the Sandbox Details option from the drop-down menu.

  2. On the Sandbox Details page, click Publish to publish the sandbox.

    In the warning message box, click Yes if you’re certain that the integration is working as expected and you’re ready to make these changes permanent (and public).

Use the Integration

Production users should now be able to use the WebCenter Content Managed Attachments within the context of a service request.

Organizations can now easily access, view, and upload assets associated with a service request directly from the Managed Attachments tab with all material stored within Oracle WebCenter Content. The embedded Oracle WebCenter Content Managed Attachment UI provides an easy and modern interface for contributing and storing content.

Known Issues

Learn about the issues you may encounter when extending Oracle Sales and Service business objects with managed attachments.

Issue: In Firefox browser, Managed Attachments page shows error message "Firefox Can’t Open This Page"

Description:

In the Firefox browser, the Managed Attachments page shows the error message "Firefox Can’t Open This Page". This might show up when you click the refresh button in Managed Attachments, if the browser window size changes, etc. (anything that causes the Managed Attachments embedded mashup to refresh).

Workaround for this issue: Click any other sub tabs on the page and come back to the Managed Attachments page.