設定 Oracle Sales and Service 應用程式整合

在此區段中,您將新增與 OCM 通訊所需的 Oracle Sales and Service 應用程式通用功能。這需要建立新的 Web 服務,才能與 OCM 文件 REST API、Oracle Sales 和 Service 應用程式全域功能進行通訊,呼叫這些新的 Web 服務,以及 Oracle Sales and Service 應用程式混搭,以顯示此 OCM 內嵌 UI 整合。

建立封閉測試環境

若要建立封閉測試環境,以導入此整合的 Oracle Sales and Service Application 變更:

  1. 以 Oracle Sales and Service 管理員身分登入。
  2. 按一下頁面左上角的 漢堡圖示。從功能表中選取組態選項,然後選取封閉測試環境

  3. 在「建立封閉測試環境 (Create Sandbox)」頁面上,完成下列欄位:

    1. 在「封閉測試環境」頁面上,按一下建立封閉測試環境
    2. 在「建立封閉測試環境」頁面的名稱欄位中,指定此封閉測試環境的名稱 (例如 OCM Document Collaboration Integration)。
    3. 所有工具清單中,選取應用程式編寫器核取方塊。
    4. 按一下建立與輸入
  4. 若要輸入將進行 OCM 整合變更的應用程式編寫器,請按一下頁面左上角的工具,然後從下拉式清單中選取應用程式編寫器

建立 Web 服務

Web 服務可用來透過 OCM 文件 REST API 與 OCM 通訊。

OCMCreateFolderService

若要建立 OCM 建立資料夾 Web 服務,請執行下列動作:
  1. 從左側導覽功能表中選擇通用設定,然後選擇 Web 服務
  2. 在「Web 服務」頁面上,按一下建立新 Web 服務圖示。
  3. 在「選取連線類型」對話方塊中,選取 REST 選項,然後按一下確定
  4. 在「建立 REST 網路服務連線」頁面上,完成下列欄位:

    1. 名稱欄位中,將資料夾的名稱指定為 OCMCreateFolderService
    2. URL 欄位中,輸入建立 OCM 資料夾所需的 Web 服務 URL 作為 https://<OCMServerURL>/documents/api/1.2/folders/##OCMParentFolderId##?name=##OCMFolderName##。其中 <OCMServerURL> 是用於此整合的 Oracle Content Management 伺服器 (例如,https://mycloud.com/documents/api/1.2/folders/##OCMParentFolderId##?name=##OCMFolderName##)。
    3. 在「認證配置」區段中,選取下一個步驟中將設定的選項。
    4. 在「選取和設定資源的方法」區段中,選取 POST 核取方塊。
    5. 在「回應有效負載 (Response Payload)」區段中,選取程式碼範例選項,並將 {} 新增至多行文字方塊。
  5. 若要建立將用於 Web 服務的 IDCS OAUTH 認證配置,請在「建立 REST Web 服務連線」頁面完成下列欄位:

    注意:

    第一次使用 OCM 建立 Web 服務時,才需要這些步驟。


    1. 在「認證配置」區段中,選取使用 IDCS OAUTH 撥打電話選項。
    2. 權杖 URI 欄位中,輸入 IDCS 伺服器 URL https://<idcsServerURL>/oauth2/v1/token。其中 <idcsServerURL> 是此整合所使用之 IDCS 伺服器的 URL。
    3. 範圍欄位中,輸入在建立 IDCS OAUTH 認證配置時複製的範圍 (例如,https://BD2F184D9D2344CB8134FCD4CBFF7DF.mycloud.com:443/urn:opc:cec:all)。
    4. 若要建立用戶端憑證金鑰,請完成下列欄位:
      1. 選取從屬端證明資料金鑰欄位旁邊的建立證明資料金鑰圖示。
      2. CSF 金鑰欄位中,輸入金鑰 (例如 Web 服務 )。
      3. 使用者名稱欄位中,輸入建立 IDCS OAUTH 認證配置時,上面複製的從屬端 ID (例如 c585b2d3e97c40e491ca99112281e36)。
      4. 密碼欄位中,輸入建立 IDCS OAUTH 認證配置時,上面複製的從屬端密碼 (例如 768b9513-658e-4854-bac7-2fe72d19011)。
      5. 按一下確定
    5. 若要建立用於交換器識別的 OCM 證明資料金鑰,請完成下列欄位:
      1. 選取證明資料金鑰的證明資料金鑰欄位旁邊的建立證明資料金鑰圖示。
      2. CSF 金鑰欄位中,輸入金鑰 (例如 OCM 整合金鑰 )。
      3. 使用者名稱欄位中,輸入用來與 OCM 通訊的 OCM 整合使用者 (先前用於建立 OCM 根資料夾的使用者) (這必須是 OCM 中的企業使用者)。
      4. 密碼欄位中,輸入 OCM 整合使用者密碼。
      5. 按一下確定
    6. 按一下儲存並關閉

OCMSearchUserService

若要建立 OCM 搜尋使用者 Web 服務,請在「建立 REST Web 服務連線」頁面上,完成下列欄位:
searchuser.png 的描述如下
searchuser.png 圖解描述

  1. 名稱欄位中,將搜尋使用者名稱指定為 OCMSearchUserService
  2. URL 欄位中,將搜尋使用者的 URL 指定為 https://<OCMServerURL>/documents/api/1.2/users/items?info=##userName##。其中 <OCMServerURL> 是此整合所使用的 Oracle Content Management 伺服器。
  3. 在「認證配置 (Authentication Scheme)」區段中,選取使用 IDCS OAUTH 進行呼叫 選項,然後針對 IDCS OAUTH 參數使用和上述值。
  4. 在「針對資源選取和設定方法」區段中,選取 GET 核取方塊。
  5. 在「回應有效負載 (Response Payload)」區段中,選取程式碼範例選項,並將 {} 新增至多行文字方塊。

OCMSharedFolderUsersService

若要建立 OCM 共用資料夾使用者的 Web 服務,請在「建立 REST Web 服務連線」頁面上完成下列欄位:
sharedfolder.png 的描述如下
sharedfolder.png 圖解描述

  1. 名稱欄位中,將共用資料夾使用者的名稱指定為 OCMSharedFolderUsersService
  2. URL 欄位中,將共用資料夾使用者的 URL 指定為 https://<OCMServerURL>/documents/api/1.2/shares/##folderId##/items。其中 <OCMServerURL> 是此整合所使用的 Oracle Content Management 伺服器。
  3. 在「認證配置 (Authentication Scheme)」區段中,選取使用 IDCS OAUTH 進行呼叫 選項,然後針對 IDCS OAUTH 參數使用和上述值。
  4. 在「針對資源選取和設定方法」區段中,選取 GET 核取方塊。
  5. 在「回應有效負載 (Response Payload)」區段中,選取程式碼範例選項,並將 {} 新增至多行文字方塊。

OCMShareFolderService

若要建立 OCM 共用資料夾 Web 服務,請在「建立 REST Web 服務連線」頁面上,完成下列欄位:
共用 - folder.png 的描述如下
說明共用 -folder.png

  1. 名稱欄位中,將共用資料夾使用者的名稱指定為 OCMShareFolderService
  2. URL 欄位中,將共用資料夾使用者的 URL 指定為 https://<OCMServerURL>/documents/api/1.2/shares/##folderId##。其中 <OCMServerURL> 是此整合所使用的 Oracle Content Management 伺服器。
  3. 在「認證配置 (Authentication Scheme)」區段中,選取使用 IDCS OAUTH 進行呼叫 選項,然後針對 IDCS OAUTH 參數使用和上述值。
  4. 在「選取和設定資源的方法」區段中,選取 POST 核取方塊。
  5. 在「要求有效負載 (Request Payload)」區段中,選取程式碼範例選項,並將 {} 新增至多行文字方塊。
  6. 在「回應有效負載 (Response Payload)」區段中,選取程式碼範例選項,並將 {} 新增至多行文字方塊。

OCMDeleteFolderService

若要建立 OCM 刪除資料夾 Web 服務,請在「建立 REST Web 服務連線」頁面上完成下列欄位:
deletefolder.png 的描述如下
deletefolder.png 圖解描述

  1. 名稱欄位中,將資料夾名稱指定為要刪除的 OCMDeleteFolderService
  2. URL 欄位中,將刪除資料夾的 URL 指定為 https://<OCMServerURL>/documents/api/1.2/folders/##folderId##。其中 <OCMServerURL> 是此整合所使用的 Oracle Content Management 伺服器。
  3. 在「認證配置 (Authentication Scheme)」區段中,選取使用 IDCS OAUTH 進行呼叫 選項,然後針對 IDCS OAUTH 參數使用和上述值。
  4. 在「選取和設定資源的方法」區段中,選取 DELETE 核取方塊。
  5. 在「回應有效負載 (Response Payload)」區段中,選取程式碼範例選項,並將 {} 新增至多行文字方塊。

建立全域函數

全域函數可用來包裝 Web 服務的業務邏輯,以便於在其他位置使用。

OCMCreateFolderFunction

若要建立 OCM 建立將使用 OCMCreateFolderService Web 服務的資料夾全域函數:

  1. 從左側導覽功能表中選擇通用設定,然後選擇全域函數
  2. 在「全域函數」頁面上,按一下新增全域函數圖示。
  3. 在「建立全域功能」頁面上,填好下列欄位:

    1. 函數名稱欄位中,將函數的名稱指定為 OCMCreateFolderFunction
    2. 返回 (Returns) 下拉式功能表中選取字串 (String)
    3. 描述欄位中,在指定的 OCMParentFolderId 下輸入「在 OCM 中建立新 OCMFolderName 資料夾」文字,然後傳回新建立的資料夾 ID。
    4. 在「參數」區段中,按一下新增參數圖示。

      名稱欄位中,將名稱指定為 OCMParentFolderId ,然後從類型下拉式功能表中選取字串

    5. 在「參數」區段中,按一下新增參數圖示。

      名稱欄位中,將名稱指定為 OCMFolderName ,然後從類型下拉式功能表中選取字串

    6. 編輯指令碼欄位中,貼上下列指令碼:
      def OCMFolder = [:]
      try {
        OCMFolder = adf.webServices.OCMCreateFolderService.POST(OCMParentFolderId, OCMFolderName)
        println("OCM Folder Created: " + OCMFolder)
        return OCMFolder.id   
      } catch (Exception e) {
        println("Create OCM Folder Error: " + e)
      }
    7. 按一下儲存並關閉

OCMSearchUserFunction

若要建立 OCM 搜尋使用者全域功能,請在新的「建立全域函數」頁面中,用來存取 OCMSearchUserService Web 服務,完成下列欄位:
searchuserfunction.png 的描述如下
searchuserfunction.png 圖解描述

  1. 函數名稱欄位中,將函數的名稱指定為 OCMSearchUserFunction
  2. 返回 (Returns) 下拉式功能表中選取字串 (String)
  3. 描述欄位中,輸入 「Searches for a user in OCM by the Specify userName 並傳回該 User's Id」文字。
  4. 在「參數」區段的名稱欄位中,將名稱指定為 userName ,然後從類型下拉式功能表中選取字串
  5. 編輯指令碼欄位中,貼上下列指令碼:
    def response = [:]
    try {
      response = adf.webServices.OCMSearchUserService.GET(userName)
      def responseItems = [:]
      responseItems = response.items
      println("OCM Search User Result: " + responseItems.getAt(0))
      return responseItems.getAt(0).id
    } catch (Exception e) {
      println("Search OCM User Error: " + e)
    }
  6. 按一下儲存並關閉

OCMIsFolderSharedFunction

若要建立 OCM 共用資料夾全域功能,請在新的「建立全域函數」頁面中,用來存取 OCMSharedFolderUsersService Web 服務,完成下列欄位:
ocmis.png 的描述如下
ocmis.png 圖解描述

  1. 函數名稱欄位中,將函數的名稱指定為 OCMIsFolderSharedFunction
  2. 返回 (Returns) 下拉式功能表中選取布林 (Boolean)
  3. 描述欄位中,輸入「如果指定的 OCMUserId 已共用至指定的 OCMFolderId,則傳回 true」文字。
  4. 在「參數」區段中,新增下列值:
    名稱 類型
    OCMFolderId 字串
    OCMUserId 字串
  5. 編輯指令碼欄位中,貼上下列指令碼:
    def response = [:]
    try {
      response = adf.webServices.OCMSharedFolderUsersService.GET(OCMFolderId)
      def responseItems = [:]
      responseItems = response.items
      for (item in responseItems) {
        if (item['type'] == 'share') {
          if (item['user']['id'] == OCMUserId) {
            return true
          }
        }
      }
      return false
    } catch (Exception e) {
      println("OCM Folder Shared Error: " + e)
      return false
    }
  6. 按一下儲存並關閉

OCMShareFolderFunction

若要建立 OCM 共用資料夾全域功能,請在新的「建立全域函數」頁面中,用來存取 OCMShareFolderService Web 服務,完成下列欄位:
sharefolderfunction.png 的描述如下
sharefolderfunction.png 圖解描述

  1. 函數名稱欄位中,將函數的名稱指定為 OCMShareFolderFunction
  2. 返回 (Returns) 下拉式功能表中選取布林 (Boolean)
  3. 描述欄位中,輸入文字 「Shares the Specified OCMFolderId in OCM, 搭配指定的 OCMUserId 和 OCMRole, 如果成功就會傳回 true」。
  4. 在「參數」區段中,新增下列值:
    名稱 類型
    OCMFolderId 字串
    OCMUserId 字串
    OCMRole 字串
  5. 編輯指令碼欄位中,貼上下列指令碼:
    def params = [:]
    params.userID = OCMUserId
    params.role = OCMRole
    def response = [:]
    try {
      response = adf.webServices.OCMShareFolderService.POST(OCMFolderId, params)
      if (response.errorCode == "0") {
        println("OCM Folder Shared: " + OCMFolderId + "(" + OCMUserId + ":" + OCMRole + ")")
        return true
      } else {
        println("Share OCM Folder Failed: " + OCMFolderId + "(" + OCMUserId + ":" + OCMRole + ")")
        return false
      }
    } catch (Exception e) {
      println("Share OCM Folder Error: " + e)
      return false 
    }
  6. 按一下儲存並關閉

OCMDeleteFolderFunction

若要建立 OCM 共用資料夾全域功能,請在新的「建立全域函數」頁面中,用來存取 OCMDeleteFolderService Web 服務,完成下列欄位:
ocmdelete.png 的描述如下
ocmdelete.png 圖解描述

  1. 函數名稱欄位中,將函數的名稱指定為 OCMDeleteFolderFunction
  2. 返回 (Returns) 下拉式功能表中選取布林 (Boolean)
  3. 描述欄位中,輸入「刪除 OCM 中指定的 OCMFolderId」文字。
  4. 在「參數」區段的名稱欄位中,將名稱指定為 OCMFolderId ,然後從類型下拉式功能表中選取字串
  5. 編輯指令碼欄位中,貼上下列指令碼:
    def response = [:]
    try {
      adf.webServices.OCMDeleteFolderService.DELETE(OCMFolderId)
      println("OCM Folder Deleted: " + OCMFolderId)
      return true
    } catch (Exception e) {
      println("Delete OCM Folder Error: " + e)
      return false 
    }
  6. 按一下儲存並關閉

建立混搭

Mashup 是獨立外部應用程式 (例如 OCM) 中的視窗。

若要建立混搭以內嵌 OCM 內嵌 UI,使其可公開在 Oracle Sales and Service 業務物件中:

  1. 從左側導覽功能表中選擇通用設定混搭內容
  2. 在「混搭內容:Web 應用程式」頁面中,按一下登錄 Web 應用程式按鈕。
  3. 在「註冊 Web 應用程式」頁面上,完成下列欄位:

    1. 名稱欄位中,將應用程式的名稱指定為 OCMEmbeddedFolderUIMashup
    2. 針對類型欄位,選取 Groovy 運算式選項。
    3. URL 定義欄位中,將 OCM 內嵌 UI URL 輸入為 https://<OCMServerURL>/documents/embed/v2/folder/。其中 <OCMServerURL> 是用於整合的 Oracle Content Management 伺服器。
    4. 按一下儲存並關閉