Show Menu
TÓPICOS×

Trabalho com pacotes de dados

Sobre pacotes de dados

O Adobe Campaign permite exportar ou importar a configuração e os dados da plataforma por meio de um sistema de pacotes. Os pacotes podem conter diferentes tipos de configurações, elementos, filtrados ou não.
Os pacotes de dados permitem que entidades do banco de dados do Adobe Campaign sejam exibidas por meio de arquivos no formato XML. Cada entidade contida em um pacote é representada com todos os seus dados.
O princípio de pacotes de dados é exportar uma configuração de dados e integrá-la a outro sistema do Adobe Campaign. Saiba como manter um conjunto consistente de pacotes de dados nesta seção .

Tipos de pacotes

Há três tipos de pacotes exportáveis: pacotes de usuário, pacotes de plataforma e pacotes de administrador.
  • Pacote do usuário : permite que você selecione a lista de entidades a serem exportadas. Esse tipo de pacote gerencia dependências e verifica erros.
  • Pacote de plataforma : inclui todos os recursos técnicos adicionados (não padrão), como schemas, código JavaScript, etc.
  • Pacote de administrador : inclui todos os modelos e objetos comerciais adicionados (não padrão): templates, bibliotecas, etc.
Os tipos plataforma e administrador contêm uma lista predefinida de entidades a serem exportadas. Cada entidade está vinculada às condições de filtragem que permitem remover os recursos prontos para uso do pacote criado.

Estrutura de dados

A descrição de um pacote de dados é um documento XML estruturado que está de acordo com a gramática do schema de dados xrk:navtree .
Exemplo de pacote de dados:
<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>

O documento XML deve começar e terminar com o elemento <package> . Quaisquer elementos <entities> seguintes distribuem os dados por tipo de documento.
Um elemento <entities> contém os dados do pacote no formato do schema de dados inserido no atributo schema .
Os dados em um pacote não devem conter chaves internas incompatíveis entre as bases, como chaves geradas automaticamente (opção autopk ).
No nosso exemplo, as associações nos links "pasta" e "empresa" foram substituídas por teclas de "alto nível" nas tabelas de destino:
<recipient>
  <folder _operation="none" name="nmsRootFolder"/>
  <company _operation="none" name="Adobe"/>
</recipient>

O atributo operation com o valor "none" define um link de reconciliação.
Um pacote de dados pode ser construído manualmente a partir de qualquer editor de texto. Basta garantir que a estrutura do documento XML esteja em conformidade com o schema de dados "xtk:navtree". O console do Adobe Campaign tem um módulo de importação e exportação de pacotes de dados.

Exportação de pacotes

Sobre a exportação de pacotes

Os pacotes podem ser exportados de três formas diferentes:
  • O Package Export Wizard permite exportar um conjunto de objetos em um único pacote. Para obter mais informações, consulte Exportação de um conjunto de objetos em um pacote
  • Um único objeto pode ser exportado diretamente em um pacote ao clicar com o botão direito do mouse e depois selecionar Actions > Export in a package .
  • As definições de pacote permitem criar uma estrutura de pacote na qual você adiciona objetos que serão exportados posteriormente em um pacote. Para obter mais informações, consulte Gerenciamento de definições de pacote .
Após a exportação, é possível importar o pacote e todas as entidades adicionadas para outra instância do Campaign.

Exportação de um conjunto de objetos em um pacote

O assistente de exportação de pacotes pode ser acessado no menu Tools > Advanced > Export package... do console do cliente do Adobe Campaign.
Para os três tipos de pacotes, o assistente oferece as seguintes etapas:
  1. Listar as entidades a serem exportadas por tipo de documento:
    Se exportar um tipo de pasta Offer category , Offer environment , Program ou Plan , nunca selecione a xtk:folder , já que alguns dados podem ser perdidos. Selecione a entidade que corresponde à pasta: nms:offerCategory para categorias de ofertas, nms:offerEnv para ambientes de ofertas, nms:program para programas e nms:plan para planos.
    O gerenciamento de listas permite adicionar ou excluir entidades para exportação da configuração. Clique em Add para selecionar uma nova entidade.
    O botão Detail edita a configuração selecionada.
    O mecanismo de dependência controla a sequência de exportação da entidade. Para obter mais informações, consulte Gerenciamento de dependências .
  2. A tela de configuração da entidade define o query de filtro no tipo de documento a ser extraído.
    Você deve configurar a cláusula de filtragem para extração de dados.
    O editor de query é apresentado nesta seção .
  3. Clique em Next e selecione as colunas de classificação para ordenar os dados durante a extração:
  4. Pré-visualize os dados a serem extraídos antes de executar a exportação.
  5. A última página do assistente de exportação de pacotes permite iniciar a exportação. Os dados serão armazenados no arquivo indicado no campo File .

Gerenciamento de dependências

O mecanismo de exportação permite que o Adobe Campaign rastreie os links entre os vários elementos exportados.
Esse mecanismo é definido por duas regras:
  • objetos vinculados a um link com uma integridade do tipo own ou owncopy são exportados no mesmo pacote que o objeto exportado.
  • objetos vinculados a um link com um tipo de integridade neutral ou define (link definido) devem ser exportados separadamente.
Os tipos de integridade vinculados a elementos do schema são definidos nesta seção .

Exportação de uma campanha

Veja aqui um exemplo de como exportar uma campanha. A campanha de marketing a ser exportada contém uma tarefa (rótulo: "MyTask") e um workflow (rótulo: "CampaignWorkflow") em uma pasta "MyWorkflow" (nó: Administration / Production / Technical workflows / Campaign processes / MyWorkflow).
A tarefa e o workflow são exportados no mesmo pacote que a campanha desde que os schemas correspondentes sejam conectados por links com uma integridade do tipo "own".
Conteúdo do pacote:
<?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>   

A afiliação a um tipo de pacote é definida em um schema com o atributo @pkgAdmin e @pkgPlatform. Esses atributos recebem uma expressão XTK que define as condições de afiliação ao pacote.
<element name="offerEnv" img="nms:offerEnv.png" 
template="xtk:folder" pkgAdmin="@id != 0">

Finalmente, o atributo @pkgStatus permite definir as regras de exportação para esses elementos ou atributos. Dependendo do valor do atributo, o elemento ou atributo será encontrado no pacote exportado. Os três valores possíveis para este atributo são:
  • never : não exporta o campo ou link
  • always : força a exportação deste campo
  • preCreate : autoriza a criação da entidade vinculada
O valor preCreate é apenas admitido para eventos do tipo link. Ele autoriza criar ou apontar para uma entidade ainda não carregada no pacote exportado.

Gerenciamento de definições de pacote

Sobre definições de pacote

As definições de pacote permitem criar uma estrutura de pacote na qual você adiciona entidades que serão exportadas posteriormente em um único pacote. É possível importar esse pacote e todas as entidades adicionadas para outra instância do Campaign.
Tópicos relacionados:

Criação de uma definição de pacote

As definições de pacote podem ser acessadas no menu Administration > Configuration > Package management > Package definitions .
Para criar uma definição de pacote, clique em New e preencha as informações gerais sobre a definição de pacote.
Você pode então adicionar entidades à definição do pacote e exportá-lo para um pacote de arquivos XML.
Tópicos relacionados:

Adição de entidades a uma definição de pacote

Na guia Content , clique em Add para selecionar as entidades a serem exportadas com o pacote. Práticas recomendadas ao selecionar entidades são apresentadas na seção Exportação de um conjunto de objetos em um pacote .
As entidades podem ser adicionadas a uma definição de pacote diretamente da sua localização na instância. Para fazer isso, siga as etapas abaixo:
  1. Clique com o botão direito do mouse na entidade desejada e depois selecione Actions > Export in a package .
  2. Selecione Add to a package definition e depois selecione a definição de pacote à qual deseja adicionar à entidade.
  3. A entidade é adicionada à definição do pacote e será exportada com o pacote (consulte Exportação de pacotes de uma definição de pacote ).

Configuração da geração de definições de pacote

A criação de pacote pode ser configurada na guia Content de definição de pacote. Para fazer isso, clique em Generation parameters .
  • Include the definition : inclui a definição usada atualmente na definição de pacote.
  • Include an installation script : permite adicionar um script javascript a ser executado na importação de pacotes. Quando selecionada, uma guia Script é adicionada na tela de definição de pacote.
  • Include default values : adiciona os valores de todos os atributos da entidade ao pacote.
    Essa opção não está selecionada por padrão para evitar exportações demoradas. Isso significa que os atributos das entidades com valores padrão ('string vazia', '0' e 'falso' se não definido de outra forma no schema) não serão adicionados ao pacote e, portanto, não serão exportados.
    Desmarcar essa opção pode mesclar as versões local e importada.
    Se a instância onde o pacote for importado contiver entidades idênticas ao próprio pacote (por exemplo, com a mesma ID externa), então seus atributos não serão atualizados. Isso pode ocorrer se os atributos da instância anterior possuírem valores padrão, pois não estão incluídos no pacote.
    Nesse caso, selecionar a opção Include default values impediria mesclar as versões, pois todos os atributos da instância anterior seriam exportados com o pacote.

Exportação de pacotes de uma definição de pacote

Siga as etapas abaixo para exportar um pacote de uma definição de pacote:
  1. Escolha a definição de pacote que será exportada, clique no botão Actions e selecione Export the package .
  2. Um arquivo XML correspondente ao pacote exportado é selecionado por padrão. Ele é nomeado de acordo com o nome e o namespace da definição de pacote.
  3. Após definir o nome e o local do pacote, clique no botão Start para iniciar a exportação.

Importação de pacotes

Sobre importação de pacotes

O assistente de importação de pacotes pode ser acessado pelo menu principal Tools > Advanced > Package import... do console do cliente do Adobe Campaign.
É possível importar um pacote de uma exportação executada anteriormente, por exemplo, de outra instância do Adobe Campaign ou um pacote incorporado , dependendo dos termos da sua licença.

Instalação de um pacote de um arquivo

Para importar um pacote de dados existente, selecione o arquivo XML e clique em Open .
O conteúdo do pacote a ser importado é exibido na seção intermediária do editor.
Clique em Next e em Start para iniciar a importação.

Instalar um pacote incorporado

Os pacotes padrão são pacotes incorporados quando o Adobe Campaign é configurado. Dependendo das suas permissões e do modelo de implantação, é possível importar novos pacotes padrão se adquirir novas opções ou add-ons ou se atualizar para uma nova oferta.
Consulte o contrato de licença para verificar quais pacotes você pode instalar.
Para obter mais informações sobre pacotes incorporados, consulte esta página .

Práticas recomendadas para o Pacote de dados

Esta seção descreve como organizar pacotes de dados de forma consistente durante a vida útil do projeto.
Os pacotes podem conter diferentes tipos de configurações e elementos, filtrados ou não. Se você perder alguns elementos ou não importar elementos/pacotes na ordem correta, a configuração da plataforma poderá ser interrompida.
Além disso, com várias pessoas trabalhando na mesma plataforma com vários recursos diferentes, a pasta de especificações do pacote pode se tornar complexa rapidamente.
Embora isso não seja obrigatório, esta seção oferece uma solução para ajudar a organizar e usar pacotes no Adobe Campaign para projetos de grande escala.
As principais restrições são as seguintes:
  • Organize os pacotes e acompanhe quando e o que foi alterado
  • Se uma configuração for atualizada, minimize o risco de dividir algo que não esteja diretamente vinculado à atualização
Para obter mais informações sobre como configurar um workflow para exportar pacotes automaticamente, consulte esta página .

Recomendações

Sempre importe dentro da mesma versão da plataforma. Você deve verificar se implantou seus pacotes entre duas instâncias que têm a mesma build. Nunca force a importação e sempre atualize a plataforma primeiro (se a build for diferente).
A Adobe não oferece suporte à importação entre diferentes versões.
Preste atenção ao schema e à estrutura do banco de dados. A importação do pacote com o schema deve ser seguida pela geração do schema.

Solução

Tipos de pacotes

Comece definindo diferentes tipos de pacotes. Serão usados apenas quatro tipos:
Entidades
  • Todos os elementos específicos "xtk" e "nms" no Adobe Campaign como schemas, formulários, pastas, templates do delivery etc.
  • Você pode considerar uma entidade como um elemento "admin" e "platform".
  • Você não deve incluir mais de uma entidade em um pacote ao carregá-lo em uma instância do Campaign.
Se precisar implantar sua configuração em uma nova instância, você poderá importar todos os pacotes de entidade.
Recursos
Este tipo de pacote:
  • Responde a um requisito/especificação do cliente.
  • Contém uma ou várias funcionalidades.
  • Deve conter todas as dependências para poder executar a funcionalidade sem qualquer outro pacote.
Campanhas
Este pacote não é obrigatório. Às vezes, é útil criar um tipo específico para todas as campanhas, mesmo se uma campanha puder ser vista como um recurso.
Atualizações
Depois de configurado, um recurso pode ser exportado para outro ambiente. Por exemplo, o pacote pode ser exportado de um ambiente dev para um ambiente de teste. Neste teste, um defeito é revelado. Primeiro, ele precisa ser corrigido no ambiente dev. Em seguida, o patch deve ser aplicado na plataforma de teste.
A primeira solução seria exportar todo o recurso novamente. Mas, para evitar qualquer risco (atualizar elementos indesejados), é mais seguro dispor de um pacote que contenha apenas a correção.
É por isso que recomendamos criar um pacote de "atualização", contendo apenas um tipo de entidade do recurso.
Uma atualização não pode ser apenas uma correção, mas também um novo elemento do seu pacote de entidade/recurso/campanha. Para evitar a implantação de todo o pacote, é possível exportar um pacote de atualização.

Como nomear convenções

Agora que os tipos estão definidos, devemos especificar uma convenção de nomenclatura. O Adobe Campaign não permite criar subpastas para especificações de pacotes, o que significa que os números são a melhor solução para se manter organizado. Nomes de pacote de prefixos de números. Você pode usar a seguinte convenção:
  • Entidade: de 1 a 99
  • Recurso: de 100 a 199
  • Campanha: de 200 a 299
  • Atualização: de 5000 a 5999

Pacotes

É melhor configurar regras para definir o número correto de pacotes.

Ordem dos pacotes de entidade

Para ajudar na importação, os pacotes de entidade devem ser ordenados, pois serão importados. Por exemplo:
  • 001 - Schema
  • 002 - Formulário
  • 003 - Imagens
  • etc.
Os formulários devem ser importados somente após as atualizações do schema.

Pacote 200

O número do pacote "200" não deve ser utilizado para uma campanha específica: este número será usado para atualizar algo que diz respeito a todas as campanhas.

Atualizar pacote

O último ponto diz respeito à numeração do pacote de atualização. É o número do seu pacote (entidade, recurso ou campanha) com um prefixo "5". Por exemplo:
  • 5001 para atualizar um schema
  • 5200 para atualizar todas as campanhas
  • 5101 para atualizar o recurso 101
O pacote de atualização deve conter apenas uma entidade específica para ser facilmente reutilizável. Para dividi-los, adicione um novo número (comece por 1). Não há regras de pedido específicas para esses pacotes. Para entender melhor, imagine que temos um recurso 101, um aplicativo social:
  • Ele contém um webApp e uma conta externa.
    • O rótulo do pacote é: 101 - Aplicativo social (socialApplication).
  • Há um defeito no webApp.
    • O wepApp está corrigido.
    • É necessário criar um pacote de correção com o seguinte nome: 5101 - 1 - Aplicativo social webApp (socialApplication_webApp).
  • É necessário adicionar uma nova conta externa para o recurso social.
    • A conta externa é criada.
    • O novo pacote é: 5101 - 2 - Conta externa do aplicativo social (socialApplication_extAccount).
    • Paralelamente, o pacote 101 é atualizado para ser adicionado à conta externa, mas não é implantado.

Documentação do pacote

Ao atualizar um pacote, você deve sempre colocar um comentário no campo de descrição para detalhar quaisquer modificações e motivos (por exemplo, "adicionar um novo schema" ou "corrigir um defeito").
Você também deve datar o comentário. Relate sempre seu comentário em um pacote de atualização ao "principal" (pacote sem o prefixo 5).
O campo de descrição só pode conter até 2.000 caracteres.