文件AEM GuidesAEM Guides 文件

使用基線和標籤的Java式API

最後更新: 2024年9月12日
  • 主題:
  • Java型API基線

建立對象:

  • 經驗豐富
  • 開發人員
注意
您可以使用Experience Manager Guides中提供的Java式API來建立自訂外掛程式,並擴充現成可用的工作流程。 本文將會在2024年11月封存。
檢視 javadoc ,以取得有關使用Java型API的最新和詳細檔案。

下列Java式API可讓您建立基準線,並將標籤新增至基準線中的檔案。 這些API以套件組合的形式提供。 您必須在程式碼中包含此套件組合,才能使用這些API。

套件組合詳細資料:

  • 群組識別碼: com.adobe.fmdita

  • 成品ID: api

  • 版本: 3.5

  • 封裝: com.adobe.fmdita.api.baselines

  • 類別詳細資料:

    public class BaselineUtils extends Object
    

    BaselineUtils ​類別包含建立基準線以及將標籤套用至基準線中的檔案的方法。

建立基準線

建立基準線方法有兩個版本 — 一個用於XML Documentation解決方案3.5版,另一個用於3.5版之前的版本\(包括3.4、3.3和3.2版\)。 3.5版API允許在對應檔案中使用標籤、直接參照和間接參照來建立基準線。

另一個版本的API會使用日期和時間建立基準。 保留此API是為了與使用XML Documentation解決方案3.4、3.3或3.2的系統保持回溯相容性。

語法\(適用於3.5版\):

public static String createBaseline(Session session,
String sourcePath,
String baselineTitle,
String label,
LinkedHashMap directContext,
LinkedHashMap indirectContext)
throws GuidesApiException

引數:

名稱
類型
說明
session
javax.jcr.Session
有效的JCR工作階段。 使用者工作階段需要同時擁有DITA map的讀取和寫入許可權,以及基準線中包含之所有參照檔案的讀取許可權。
sourcePath
字串
AEM存放庫中DITA map檔案的絕對路徑。
baselineTitle
字串
基準線的唯一標題。
label
字串
選取已套用指定標籤的主題版本。
directContext
LinkedHashMap<String, Object>
在設定中,會根據其選取直接參考的主題(content),依照地圖中提及的順序來解析版本。
如果對映的所有索引鍵執行反複專案後,找不到任何版本,則基準線建立程式會失敗。
如果HashMap是空的\(傳送空白且預設值不是null的對應\),則預設會填入為:
directContext.put("label", label);
directContext.put("latest", true);
如果您希望基準線建立僅挑選指定標籤的版本,而且如果不存在此類版本,則會失敗,請放入label索引鍵和您要建立基準線的標籤。
indirectContext
LinkedHashMap<String, Object>
在設定中,會選取間接參考的主題\(參考的內容\),依照對應中提及的順序來解析版本。
如果對映的所有索引鍵執行反複專案後,找不到任何版本,則基準線建立程式會失敗。
如果HashMap是空的\(傳送空白且預設值不是null對應\),則預設會填入為:
indirectContext.put("label", label);
indirectContext.put "pickAutomatically", null);
如果您希望它是最新版本以取代自動擷取版本,則請取代:
indirectContext.put("pickAutomatically", null);
具有:
indirectContext.put("latest", true)

傳回:
基準線的名稱,是JCR儲存庫中基準線的節點名稱。 新建立之基準線的標題將顯示在DITA map的「基準線」頁面上。

例外狀況:
如果已存在具有相同標題的基準線,則擲回ItemExistExceptiom。

語法\(3.4、3.3和3.2\)

public static String createBaseline
(Session session,
String sourcePath,
String baselineTitle,
Date versionDate) throws GuidesApiException

引數:

名稱
類型
說明
session
javax.jcr.Session
有效的JCR工作階段。 使用者工作階段需要同時擁有DITA map的讀取和寫入許可權,以及基準線中包含之所有參照檔案的讀取許可權。
sourcePath
字串
AEM存放庫中DITA map檔案的絕對路徑。
baselineTitle
字串
基準線的唯一標題。
versionDate
日期
基準線是使用此日期的主題\(直接從DITA map參照\)版本建立的。 以d-MM-yyyy H:mm格式指定日期。

傳回:
基準線的名稱,是JCR儲存庫中基準線的節點名稱。 新建立之基準線的標題將顯示在DITA map的「基準線」頁面上。

例外狀況:
擲回RepositoryException.

套用標籤

applyLabel方法會將一或多個標籤套用至基準線中的檔案。

語法:

public static void applyLabel(Session session,
                  String sourcePath,
                  String baselineName,
                  String label)
                  throws RepositoryException, WorkflowException, Exception

引數:

名稱
類型
說明
session
javax.jcr.Session
有效的JCR工作階段。
sourcePath
字串
AEM存放庫中DITA map檔案的絕對路徑。
baselineName
字串
必須套用標籤的基準節點名稱。 若要取得基準線節點的名稱,您可以使用#id185NFF0085Z方法,或檢查CRXDE中DITA對應的基準線節點。
注意: ​標籤已套用至從基線中的對應檔案直接參照的檔案版本。
label
字串
套用至基線中檔案的標籤。 確保標籤不含下列字元: &amp;sol; &amp;逗號; &amp;冒號; &amp;逗號; &amp;lbrack; &amp;逗號; &amp;逗號; &amp;vert; &amp;逗號; &amp; &amp;ast;
若您想要設定多個標籤,請以逗號分隔標籤;例如Label1, Label2。

例外狀況:
擲回RepositoryException。

刪除標籤

deleteLabel方法會從基準線中的檔案刪除一或多個標籤。

語法:

public static Map
<String, String> deleteLabel(Session session,
String sourcePath,
String baselineName,
String label) throws GuidesApiException

引數:

名稱
類型
說明
session
javax.jcr.Session
有效的JCR工作階段。
sourcePath
字串
AEM存放庫中DITA map檔案的絕對路徑。
baselineName
字串
必須從中刪除標籤的基準名稱。
注意: ​標籤會從從基線中的對應檔案直接參照的檔案版本中刪除。
label
字串
要從基準線檔案中刪除的標籤。
如果您想要刪除多個標籤,請以逗號分隔標籤;例如Label1、Label2。

傳回:
基準線中所有檔案的對映具有 key:value ​對path:deletedlabels。

例外狀況:
擲回RepositoryException`, `VersionException`, `Exception。

recommendation-more-help
11125c99-e1a1-4369-b5d7-fb3098b9b178