使用資料包

關於資料包

使用 Adobe Campaign,您可以透過資料包系統匯出或匯入平台配置和資料。包可以包含不同類型的配置、元素、過濾或不過濾。

資料包可以 XML 格式檔案的形式顯示 Adobe Campaign 資料庫的實體。資料包中包含的每個實體都會以其所有資料表示。

資料包​的原則是導出資料配置並將其整合到另一個Adobe Campaign系統。 瞭解如何在此中維護一致的資料套件集。

軟體包類型

可導出包有三種類型:使用者套件、平台套件和管理套件。

  • 用戶包:它允許您選擇要導出的圖元清單。此類軟體包可管理相依性並驗證錯誤。

  • 平台套件:它包含所有新增的技術資源(非標準):結構描述、JavaScript程式碼等。

  • 管理套件:它包含所有新增的範本和商業物件(非標準):範本、資料庫等。

注意

platform​和​admin​類型包含要導出的預先定義的實體清單。 每個實體都會連結至篩選條件,讓您移除已建立套件的現成可用資源。

資料結構

資料包的描述是符合​xrk:navtree​資料架構的語法的結構化XML文檔。

資料套件範例:

<package>
  <entities schema="nms:recipient">
    <recipient email="john.smith@adobe.com" lastName="Smith" firstName="John">      
      <folder _operation="none" name="nmsRootFolder"/>      
      <company _operation="none" name="Adobe"/>
    </recipient>
  </entities>
  <entities schema="sfa:company">
    <company name="Adobe">
      location city="London" zipCode="W11 2BQ"/>
    </company>
  </entities>
</package>

XML文檔必須以​<package>​元素開始和結束。 隨後的​<entities>​元素會依檔案類型分發資料。

<entities>​元素包含在​schema​屬性中輸入的資料模式格式的包資料。

套件中的資料不得包含不相容於基本之間的內部索引鍵,例如自動產生的索引鍵(autopk​選項)。

在我們的示例中,「資料夾」和「公司」連結上的連接已被目標表上的所謂「高級」鍵替換:

<recipient>
  <folder _operation="none" name="nmsRootFolder"/>
  <company _operation="none" name="Adobe"/>
</recipient>

具有值"none"的​operation​屬性定義了協調連結。

可以從任何文本編輯器手動構建資料包。 只要確保XML檔案的結構符合「xtk:navtree」資料架構。 Adobe Campaign控制台具有資料包導出和導入模組。

導出包

關於包導出

可以以三種不同的方式導出包:

  • Package Export Wizard​可讓您將一組對象導出到單個包中。 有關詳細資訊,請參閱導出包中的一組對象
  • 通過按一下右鍵​單個對象​並選擇​Actions > Export in a package,可以直接將其導出到包中。
  • 包定 義可讓您建立包結構,在其中添加將在以後在包中導出的對象。有關詳細資訊,請參閱管理包定義

在匯出套件後,您就可以將它和所有新增的實體匯入另一個促銷活動例項。

導出包中的一組對象

可通過Adobe Campaign客戶端控制台的​Tools > Advanced > Export package…​菜單訪問包導出嚮導。

對於三種類型的包,嚮導提供了以下步驟:

  1. 按文檔類型列出要導出的圖元:

    注意

    如果您匯出​Offer categoryOffer environmentProgram​或​Plan​類型資料夾,請勿選取​xtk:folder,因為您可能會遺失部分資料。 選擇與資料夾對應的實體:nms:offerCategory(用於選件類別)、nms:offerEnv(用於選件環境)、nms:program(用於程式)和​nms:plan(用於計畫)。

    清單管理可讓您新增或刪除要從設定匯出的實體。 按一下​Add​以選擇新實體。

    Detail​按鈕可編輯選定的配置。

    注意

    從屬機制控制實體導出序列。 有關詳細資訊,請參閱管理依賴項

  2. 實體配置螢幕定義要提取的文檔類型的過濾器查詢。

    必須為資料抽取配置過濾子句。

    注意

    查詢編輯器顯示在此部分中。

  3. 按一下​Next​並選擇排序列,以在提取過程中對資料進行排序:

  4. 在執行匯出之前,先預覽要擷取的資料。

  5. 套件匯出精靈的最後一頁可讓您開始匯出。 資料將儲存在​File​欄位中指示的檔案中。

管理相依性

出口機制使Adobe Campaign能夠跟蹤各種出口要素之間的連結。

此機制由兩個規則定義:

  • 連結到具有​own​或​owncopy​類型完整性的連結的對象將導出到與導出對象相同的包中。
  • 連結至具有​netural​或​define​類型完整性(定義的連結)的物件必須個別匯出。
注意

連結到架構元素的完整性類型在本節中定義。

匯出促銷活動

以下是如何匯出促銷活動的範例。 要匯出的行銷促銷活動包含一個工作(標籤:「MyTask」)和工作流程(標籤:「MyWorkflow」檔案夾(節點:管理/生產/技術工作流程/促銷活動流程/ MyWorkflow)。

任務和工作流會匯出到與促銷活動相同的套件中,因為符合的結構描述是由具有「自有」類型完整性的連結所連結。

封裝內容:

<?xml version='1.0'?>
<package author="Administrator (admin)" buildNumber="7974" buildVersion="6.1" img=""
label="" name="" namespace="" vendor="">
 <desc></desc>
 <version buildDate="2013-01-09 10:30:18.954Z"/>
 <entities schema="nms:operation">
  <operation duration="432000" end="2013-01-14" internalName="OP1" label="MyCampaign"
  modelName="opEmpty" start="2013-01-09">
   <controlGroup>
    <where filteringSchema=""/>
   </controlGroup>
   <seedList>
    <where filteringSchema="nms:seedMember"></where>
    <seedMember internalName="SDM1"></seedMember>
   </seedList>
   <parameter useAsset="1" useBudget="1" useControlGroup="1" useDeliveryOutline="1"
   useDocument="1" useFCPValidation="0" useSeedMember="1" useTask="1"
   useValidation="1" useWorkflow="1"></parameter>
   <fcpSeed>
    <where filteringSchema="nms:seedMember"></where>
   </fcpSeed>
   <owner _operation="none" name="admin" type="0"/>
   <program _operation="none" name="nmsOperations"/>
   <task end="2013-01-17 10:07:51.000Z" label="MyTask" name="TSK2" start="2013-01-16 10:07:51.000Z"
   status="1">
    <owner _operation="none" name="admin" type="0"/>
    <operation _operation="none" internalName="OP1"/>
    <folder _operation="none" name="nmsTask"/>
   </task>
   <workflow internalName="WKF12" label="CampaignWorkflow" modelName="newOpEmpty"
   order="8982" scenario-cs="Notification of the workflow supervisor (notifySupervisor)"
   schema="nms:recipient">
    <scenario internalName="notifySupervisor"/>
    <desc></desc>
    <folder _operation="none" name="Folder4"/>
    <operation _operation="none" internalName="OP1"/>
   </workflow>
  </operation>
 </entities>
</package>   

與包類型的關聯在具有​@pkgAdmin和@pkgPlatform​屬性的架構中定義。 這兩個屬性都接收定義與軟體包關聯的條件的XTK表達式。

<element name="offerEnv" img="nms:offerEnv.png" 
template="xtk:folder" pkgAdmin="@id != 0">

最後,@pkgStatus​屬性可讓您定義這些元素或屬性的匯出規則。 根據屬性的值,元素或屬性將在導出的包中找到。 此屬性的三個可能值是:

  • 永不:不匯出欄位/連結
  • 一律:強力出口
  • preCreate:授權建立連結的實體
注意

preCreate​值僅允許用於連結類型事件。 它授權您建立或指向尚未載入匯出封裝中的實體。

管理包定義

包定義允許您建立包結構,在其中添加將在以後在單個包中導出的實體。 然後,您就可以將此套件及所有新增的實體匯入另一個促銷活動實例。

相關主題:

建立包定義

可從​Administration > Configuration > Package management > Package definitions​菜單訪問包定義。

要建立包定義,請按一下​New​按鈕,然後填寫包定義一般資訊。

然後,可以將實體添加到包定義中,並將其導出到XML檔案包中。

相關主題:

將實體添加到包定義

在​Content​頁籤中,按一下​Add​按鈕以選擇要與包一起導出的實體。 在選擇實體時的最佳做法會顯示在本節節中。

實體可直接從實體在實例中的位置添加到包定義中。 要執行此操作,請遵循下列步驟:

  1. 以滑鼠右鍵按一下所要的實體,然後選取​Actions > Export in a package

  2. 選擇​Add to a package definition,然後選擇要向其添加實體的包定義。

  3. 實體將添加到包定義中,將與包一起導出(請參見本節)。

配置包定義生成

可以從包定義​Content​頁籤配置包生成。 若要這麼做,請按一下​Generation parameters​連結。

  • Include the definition:包括當前在包定義中使用的定義。

  • Include an installation script:可讓您新增javascript指令碼,以便在套件匯入時執行。選中後,Script​頁籤將添加到包定義螢幕中。

  • Include default values:向包中添加所有實體屬性的值。

    為避免冗長的匯出,預設不會選取此選項。 這表示具有預設值(「空字串」、「0」和「false」(如果未在模式中定義)的實體屬性不會添加到包中,因此不會導出。

    注意

    取消選取此選項可導致合併本機和匯入的版本。

    如果導入包的實例包含與包的實體相同的實體(例如,具有相同的外部ID),則不會更新其屬性。 如果前實例的屬性具有預設值(因為這些值未包含在包中),則會發生這種情況。

    在這種情況下,選擇​Include default values​選項將防止版本合併,因為前實例的所有屬性都將與包一起導出。

從包定義導出包

要從包定義導出包,請執行以下步驟:

  1. 選擇要導出的包定義,然後按一下​Actions​按鈕並選擇​Export the package

  2. 預設情況下,將選擇與導出的包對應的XML檔案。 它根據包定義命名空間和名稱命名。

  3. 定義包名和位置後,按一下​Start​按鈕以啟動導出。

導入包

軟體包導入嚮導可通過Adobe Campaign客戶端控制台的主菜單​Tools > Advanced > Package import…​訪問。

您可以從先前執行的匯出匯入套件,例如從另一個Adobe Campaign例項匯入,或根據授權條款從內建套件匯入。

從檔案安裝軟體包

要導入現有資料包,請選擇XML檔案並按一下​Open

然後,要導入的包的內容將顯示在編輯器的中間部分。

按一下​Next​和​Start​啟動導入。

安裝內置軟體包

標準軟體包是內置軟體包,在配置Adobe Campaign時安裝。 視您的權限和部署模型而定,如果您取得新選項或附加元件,或升級至新選件,則可匯入新的標準套件。

請參閱您的授權合約以檢查您可以安裝哪些套件。

有關內置軟體包的詳細資訊,請參閱本頁

資料包最佳實踐

本節介紹如何在整個項目生命週期中以一致的方式組織資料包。

包可以包含不同種類的配置和元素,無論是否經過篩選。 如果您遺漏某些元素或未以正確順序匯入元素/封裝,平台組態可能會中斷。

此外,由於同一平台上有許多不同的功能,使得封裝規格資料夾的複雜度很快。

雖然不是強制性的,但本節提供解決方案,以協助組織和使用Adobe Campaign的套件進行大型專案。

主要限制如下:

  • 組織套件並追蹤變更的項目及變更時間
  • 如果更新了配置,請盡量避免損壞未直接與更新連結的項
注意

有關設定工作流以自動導出包的詳細資訊,請參閱本頁

建議

請一律在相同的平台版本中匯入。 您必須檢查是否在兩個具有相同組建版本的實例之間部署軟體包。 切勿強制匯入,並一律先更新平台(如果組建版本不同)。

重要

Adobe不支援在不同版本之間匯入。

注重模式和資料庫結構。 導入具有模式的包後必須生成模式。

解決方案

包類型

首先,定義不同類型的包。 僅使用4種類型:

實體

  • Adobe Campaign的所有「xtk」和「nms」特定元素,如架構、表單、資料夾、傳送範本等。
  • 您可以將實體視為「管理員」和「平台」元素。
  • 在促銷活動例項上傳套件時,套件中不應包含多個實體。

如果您需要在新實例上部署配置,則可以導入所有實體包。

功能

此類型的包:

  • 滿足客戶需求/規格。
  • 包含一或多項功能。
  • 應包含所有相依性,以便能夠在沒有任何其他軟體包的情況下運行該功能。

Campaign

此套件不是必備的。 有時候,建立所有促銷活動的特定類型會很有用,即使促銷活動可以看作功能亦然。

更新

配置好後,可將功能導出到另一個環境。 例如,可將套件從開發環境匯出至測試環境。 在本試驗中發現了缺陷。 首先,它需要在開發環境上修正。 接著,應將修補程式套用至測試平台。

第一個解決方案是再次匯出整個功能。 但是,為了避免任何風險(更新不想要的元素),只包含修正的套件更安全。

這就是為什麼我們建議建立「更新」套件,只包含一種功能實體類型。

更新不僅可以是修正,也可以是實體/功能/促銷活動套件的新元素。 若要避免部署整個套件,您可以匯出更新套件。

命名約定

既然已定義了類型,我們應指定命名慣例。 Adobe Campaign不允許為軟體包規格建立子資料夾,這意味著數字是保持井然有序的最佳解決方案。 數字前置詞包名。 您可以使用下列慣例:

  • 實體:從1到99
  • 功能:從100到199
  • 促銷活動:從200到299
  • 更新:從5000到5999

軟體包

注意

最好設定規則來定義正確的封裝數。

實體包順序

為幫助導入,實體包應按順序進行導入。 例如:

  • 001 —— 方案
  • 002 —— 表單
  • 003 —— 影像
  • 等等。
注意

Forms只應在模式更新後導入。

軟體包200

套件編號"200"不應用於特定促銷活動:此數字將用於更新與所有促銷活動相關的內容。

更新軟體包

最後一點涉及更新包編號。 它是您的套件編號(實體、功能或促銷活動),首碼為"5"。 例如:

  • 5001更新一個架構
  • 5200以更新所有促銷活動
  • 5101以更新101功能

更新套件應僅包含一個特定實體,以方便可重複使用。 若要分割它們,請新增一個數字(從1開始)。 這些包沒有特定的訂購規則。 為了更好地瞭解,請假設我們有101項功能,一個社交應用程式:

  • 它包含webApp和外部帳戶。
    • 包標籤為:101 —— 社交應用程式(socialApplication)。
  • webApp有缺陷。
    • wepApp已更正。
    • 需要建立具有以下名稱的修正軟體包:5101 - 1 —— 社交應用程式webApp(socialApplication_webApp)。
  • 必須為社交功能新增外部帳戶。
    • 建立外部帳戶。

    • 新套件為:5101 - 2 —— 社交應用程式外部帳戶(socialApplication_extAccount)。

    • 同時,101套件會更新為新增至外部帳戶,但不會部署。

軟體包文檔

更新套件時,您應一律在描述欄位中加上註解,以詳細說明任何修改和原因(例如,「新增架構」或「修正缺陷」)。

您也應將留言日期設為。 請務必將更新套件的意見回報至「父項」(不含5首碼的套件)。

重要

說明欄位最多只能包含2.000個字元。

本頁內容

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now