使用 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主控台有資料套件匯出與匯入模組。
可以以三種不同的方式導出包:
在匯出套件後,您就可以將它和所有新增的實體匯入另一個促銷活動例項。
套件匯出精靈可透過Adobe Campaign用戶端主控台的Tools > Advanced > Export package…功能表存取。
對於三種類型的包,嚮導提供了以下步驟:
按文檔類型列出要導出的圖元:
如果您匯出Offer category、Offer environment、Program或Plan類型資料夾,請勿選取xtk:folder,因為您可能會遺失部分資料。 選擇與資料夾對應的實體:nms:offerCategory(用於選件類別)、nms:offerEnv(用於選件環境)、nms:program(用於程式)和nms:plan(用於計畫)。
清單管理可讓您新增或刪除要從設定匯出的實體。 按一下Add以選擇新實體。
Detail按鈕可編輯選定的配置。
從屬機制控制實體導出序列。 有關詳細資訊,請參閱管理依賴項。
實體配置螢幕定義要提取的文檔類型的過濾器查詢。
必須為資料抽取配置過濾子句。
查詢編輯器顯示在此部分中。
按一下Next並選擇排序列,以在提取過程中對資料進行排序:
在執行匯出之前,先預覽要擷取的資料。
套件匯出精靈的最後一頁可讓您開始匯出。 資料將儲存在File欄位中指示的檔案中。
匯出機制可讓Adobe Campaign追蹤各種匯出元素之間的連結。
此機制由兩個規則定義:
連結到架構元素的完整性類型在本節中定義。
以下是如何匯出促銷活動的範例。 要匯出的行銷促銷活動包含一個工作(標籤:「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值僅允許用於連結類型事件。 它授權您建立或指向尚未載入匯出封裝中的實體。
包定義允許您建立包結構,在其中添加將在以後在單個包中導出的實體。 然後,您就可以將此套件及所有新增的實體匯入另一個促銷活動實例。
相關主題:
可從Administration > Configuration > Package management > Package definitions菜單訪問包定義。
要建立包定義,請按一下New按鈕,然後填寫包定義一般資訊。
然後,可以將實體添加到包定義中,並將其導出到XML檔案包中。
相關主題:
在Content頁籤中,按一下Add按鈕以選擇要與包一起導出的實體。 在導出包中的一組對象部分中顯示了選擇圖元的最佳做法。
實體可直接從實體在實例中的位置添加到包定義中。 要執行此操作,請遵循下列步驟:
以滑鼠右鍵按一下所要的實體,然後選取Actions > Export in a package。
選擇Add to a package definition,然後選擇要向其添加實體的包定義。
實體將添加到包定義中,將與包一起導出(請參閱從包定義中導出包)。
可以從包定義Content頁籤配置包生成。 若要這麼做,請按一下Generation parameters連結。
Include the definition:包括當前在包定義中使用的定義。
Include an installation script:可讓您新增javascript指令碼,以便在套件匯入時執行。選中後,Script頁籤將添加到包定義螢幕中。
Include default values:向包中添加所有實體屬性的值。
為避免冗長的匯出,預設不會選取此選項。 這表示具有預設值(「空字串」、「0」和「false」(如果未在模式中定義)的實體屬性不會添加到包中,因此不會導出。
取消選取此選項可導致合併本機和匯入的版本。
如果導入包的實例包含與包的實體相同的實體(例如,具有相同的外部ID),則不會更新其屬性。 如果前實例的屬性具有預設值(因為這些值未包含在包中),則會發生這種情況。
在這種情況下,選擇Include default values選項將防止版本合併,因為前實例的所有屬性都將與包一起導出。
要從包定義導出包,請執行以下步驟:
選擇要導出的包定義,然後按一下Actions按鈕並選擇Export the package。
預設情況下,將選擇與導出的包對應的XML檔案。 它根據包定義命名空間和名稱命名。
定義包名和位置後,按一下Start按鈕以啟動導出。
您可透過Adobe Campaign用戶端主控台的主功能表Tools > Advanced > Package import…存取套件匯入精靈。
您可以從先前執行的匯出匯入套件,例如從其他Adobe Campaign例項或內建套件匯入套件,視授權條款而定。
要導入現有資料包,請選擇XML檔案並按一下Open。
然後,要導入的包的內容將顯示在編輯器的中間部分。
按一下Next和Start啟動導入。
標準套件是內建套件,在設定Adobe Campaign時安裝。 視您的權限和部署模型而定,如果您取得新選項或附加元件,或升級至新選件,則可匯入新的標準套件。
請參閱您的授權合約以檢查您可以安裝哪些套件。
有關內置軟體包的詳細資訊,請參閱本頁。
本節介紹如何在整個項目生命週期中以一致的方式組織資料包。
包可以包含不同種類的配置和元素,無論是否經過篩選。 如果您遺漏某些元素或未以正確順序匯入元素/封裝,平台組態可能會中斷。
此外,由於同一平台上有許多不同的功能,使得封裝規格資料夾的複雜度很快。
雖然不是強制性的,但本節提供解決方案,協助您在Adobe Campaign中組織及使用套件以進行大型專案。
主要限制如下:
有關設定工作流以自動導出包的詳細資訊,請參閱本頁。
請一律在相同的平台版本中匯入。 您必須檢查是否在兩個具有相同組建版本的實例之間部署軟體包。 切勿強制匯入,並一律先更新平台(如果組建版本不同)。
Adobe不支援在不同版本之間匯入。
注重模式和資料庫結構。 導入具有模式的包後必須生成模式。
首先,定義不同類型的包。 僅使用4種類型:
實體
如果您需要在新實例上部署配置,則可以導入所有實體包。
功能
此類型的包:
Campaign
此套件不是必備的。 有時候,建立所有促銷活動的特定類型會很有用,即使促銷活動可以看作功能亦然。
更新
配置好後,可將功能導出到另一個環境。 例如,可將套件從開發環境匯出至測試環境。 在本試驗中發現了缺陷。 首先,它需要在開發環境上修正。 接著,應將修補程式套用至測試平台。
第一個解決方案是再次匯出整個功能。 但是,為了避免任何風險(更新不想要的元素),只包含修正的套件更安全。
這就是為什麼我們建議建立「更新」套件,只包含一種功能實體類型。
更新不僅可以是修正,也可以是實體/功能/促銷活動套件的新元素。 若要避免部署整個套件,您可以匯出更新套件。
既然已定義了類型,我們應指定命名慣例。 Adobe Campaign不允許針對套件規格建立子檔案夾,這表示數字是維持有條理的最佳解決方案。 數字前置詞包名。 您可以使用下列慣例:
最好設定規則來定義正確的封裝數。
為幫助導入,實體包應按順序進行導入。 例如:
表單只應在模式更新後匯入。
套件編號"200"不應用於特定促銷活動:此數字將用於更新與所有促銷活動相關的內容。
最後一點涉及更新包編號。 它是您的套件編號(實體、功能或促銷活動),首碼為"5"。 例如:
更新套件應僅包含一個特定實體,以方便可重複使用。 若要分割它們,請新增一個數字(從1開始)。 這些包沒有特定的訂購規則。 為了更好地瞭解,請假設我們有101項功能,一個社交應用程式:
建立外部帳戶。
新套件為:5101 - 2 —— 社交應用程式外部帳戶(socialApplication_extAccount)。
同時,101套件會更新為新增至外部帳戶,但不會部署。
更新套件時,您應一律在描述欄位中加上註解,以詳細說明任何修改和原因(例如,「新增架構」或「修正缺陷」)。
您也應將留言日期設為。 請務必將更新套件的意見回報至「父項」(不含5首碼的套件)。
說明欄位最多只能包含2.000個字元。