Arbeta med scheman gs-ac-schemas

Den fysiska och logiska strukturen hos de data som medföljer programmet beskrivs i XML. Den lyder under en grammatik som är specifik för Adobe Campaign och som kallas schema.

Ett schema är ett XML-dokument som är associerat med en databastabell. Den definierar datastrukturen och beskriver tabellens SQL-definition:

  • Tabellens namn
  • Fält
  • Länkar till andra tabeller

Här beskrivs också XML-strukturen som används för att lagra data:

  • Element och attribut
  • Elementhierarki
  • Element- och attributtyper
  • Standardvärden
  • Etiketter, beskrivningar och andra egenskaper.

Med scheman kan du definiera en enhet i databasen. Det finns ett schema för varje entitet.

Adobe Campaign använder datascheman för att

  • Definiera hur dataobjekt i programmet kopplas till underliggande databastabeller.
  • Definiera länkar mellan olika dataobjekt i programmet Campaign.
  • Definiera och beskriva de enskilda fälten som ingår i varje objekt.

Mer information om inbyggda tabeller i Campaign och hur de fungerar finns i det här avsnittet.

CAUTION
Vissa inbyggda Campaign-scheman har ett associerat schema i molndatabasen. Dessa scheman identifieras av namnutrymmet Xxl och får inte ändras eller utökas.

Syntax för scheman syntax-of-schemas

Schemats rotelement är <srcschema>. Den innehåller underelementen <element> och <attribute>.

Det första <element>-underelementet sammanfaller med entitetens rot.

<srcSchema name="recipient" namespace="cus">
  <element name="recipient">
    <attribute name="lastName"/>
    <attribute name="email"/>
    <element name="location">
      <attribute name="city"/>
   </element>
  </element>
</srcSchema>
NOTE
Entitetens rotelement har samma namn som schemat.

<element>-taggarna definierar namnen på entitetselementen. <attribute> taggar i schemat definierar namnen på attributen i <element> -taggarna som de har länkats till.

Identifiering av ett schema identification-of-a-schema

Ett dataschema identifieras med sitt namn och namnutrymme.

Med ett namnutrymme kan du gruppera en uppsättning scheman efter intresseområde. Namnområdet cus används till exempel för kundspecifik konfiguration (kunder).

CAUTION
Som standard måste namnutrymmets namn vara kortfattat och får endast innehålla tillåtna tecken i enlighet med XML-namngivningsreglerna.
Identifierare får inte börja med numeriska tecken.

Reserverade namnutrymmen reserved-namespaces

Vissa namnutrymmen är reserverade för beskrivningar av de systemenheter som krävs för att Adobe Campaign-programmet ska fungera. Följande namnrymd får inte användas för att identifiera ett nytt schema, i kombinationer med versaler och gemener:

  • xxl: reserverad för Cloud-databasscheman
  • xtk: reserverad för plattformssystemdata
  • nl: reserverad för programmets övergripande användning
  • nms: reserverad för leveranser (mottagare, leverans, spårning osv.)
  • ncm: reserverad för innehållshantering
  • temp: reserverad för temporära scheman
  • crm: reserverad för integrering av CRM-anslutningar

Identifieringsnyckeln för ett schema är en sträng som skapats med namnutrymmet och namnet avgränsat med ett kolon, till exempel: nms:mottagare.

Skapa eller utöka kampanjscheman create-or-extend-schemas

Om du vill lägga till ett fält eller något annat element i ett av de centrala dataroderna i Campaign, t.ex. mottagartabellen (nms:mottagare), måste du utöka det schemat.

Mer information finns i Utöka ett schema.

Om du vill lägga till en helt ny typ av data som inte finns i Adobe Campaign (till exempel en kontraktstabell) kan du skapa ett anpassat schema direkt.

Mer information finns i Skapa ett nytt schema.

När du har skapat eller utökat ett schema som ska fungera i är det bästa sättet att definiera elementen för XML-innehållet i samma ordning som de visas nedan.

Uppräkningar enumerations

Uppräkningar definieras först, före huvudelementet i schemat. De gör att du kan visa värden i en lista för att begränsa vilka val användaren har för ett visst fält.

Exempel:

<enumeration basetype="byte" name="exTransactionTypeEnum" default="store">
<value label="Website" name="web" value="0"/>
<value label="Call Center" name="phone" value="1"/>
<value label="In Store" name="store" value="2"/>
</enumeration>

När du definierar fält kan du sedan använda den här uppräkningen så här:

<attribute desc="Type of Transaction" label="Transaction Type" name="transactionType"
type="string" enum="exTransactionTypeEnum"/>
NOTE
Du kan också använda användarhanterade uppräkningar (vanligtvis under Administration > Platform ) för att ange värden för ett visst fält. Detta är effektivt globala uppräkningar och ett bättre alternativ om uppräkningen kan användas utanför det specifika schema som du arbetar i.

Tangenter keys

Alla tabeller måste ha minst en nyckel och upprättas ofta automatiskt i schemats huvudelement med attributet autopk inställt på true.

I kontexten för en Enterprise-distribution använder du @autouid och anger true.

Primärnyckeln kan också definieras med attributet internal.

Exempel:

<key name="householdId" internal="true">
  <keyfield xpath="@householdId"/>
</key>

I det här exemplet, i stället för att låta attributet @autopk eller @autouid skapa en standardprimärnyckel med namnet"id", anger vi vår egen primärnyckel för"houseId".

CAUTION
När du skapar ett nytt schema eller under ett schematillägg måste du behålla samma sekvensvärde för primärnyckeln (@pkSequence) för hela schemat.

Läs mer om nycklar i det här avsnittet.

Attribut (fält) attributes--fields-

Med attribut kan du definiera fälten som utgör dataobjektet. Du kan använda knappen Insert i verktygsfältet för schemaversionen för att släppa tomma attributmallar i XML-filen där markören finns. Läs mer i det här avsnittet.

Den fullständiga listan med attribut finns i elementavsnittet <attribute> i Campaign Classic v7-dokumentationen. Här är några av de vanligaste attributen: @advanced, @dataPolicy, @default, @desc, @enum, @expr, @label, @length, 16}@name, @notNull, @required, @ref, @xml, @type.

Mer information om de olika attributen finns i attributbeskrivningen i Campaign Classic v7-dokumentationen.

Exempel examples

Exempel på hur du definierar ett standardvärde:

<attribute name="transactionDate" label="Transaction Date" type="datetime" default="GetDate()"/>

Exempel på hur du använder ett gemensamt attribut som mall för ett fält som också är markerat som obligatoriskt:

<attribute name="mobile" label="Mobile" template="nms:common:phone" required="true" />

Exempel på ett beräknat fält som är dolt med attributet @advanced:

<attribute name="domain" label="Email domain" desc="Domain of recipient email address" expr="GetEmailDomain([@email])" advanced="true" />

Exempel på ett XML-fält som också lagras i ett SQL-fält och som har ett @dataPolicy -attribut.

<attribute name="secondaryEmail" label="Secondary email address" length="100" xml="true" sql="true" dataPolicy="email" />
CAUTION
Även om de flesta attribut är länkade enligt en 1-1-kardinalitet till ett fysiskt fält i databasen är detta inte fallet för XML-fälten eller de beräknade fälten.
Ett XML-fält sparas i ett PM-fält ("mData") i tabellen.
Ett beräknat fält skapas dock dynamiskt varje gång en fråga startas, och därför finns det bara i det aktuella lagret.

Länkar är några av de sista elementen i huvudelementet i schemat. De definierar hur alla olika scheman i din instans relaterar till varandra.

Länkarna deklareras i schemat som innehåller sekundärnyckeln för den tabell som den är länkad till.

Det finns tre typer av kardinalitet: 1-1, 1-N och N-N. Det är typen 1-N som används som standard.

Exempel examples-1

Ett exempel på en 1-N-länk mellan mottagartabellen (ett schema som inte är installerat) och en tabell med anpassade transaktioner:

<element label="Recipient" name="lnkRecipient" revLink="lnkTransactions" target="nms:recipient" type="link"/>

Ett exempel på en 1-1-länk mellan det anpassade schemat "Car" (i "cus"-namnutrymmet) och mottagartabellen:

<element label="Car" name="lnkCar" revCardinality="single" revLink="recipient" target="cus:car" type="link"/>

Exempel på en extern koppling mellan mottagartabellen och en adresstabell som baseras på e-postadressen och inte på en primärnyckel:

<element name="emailInfo" label="Email Info" revLink="recipient" target="nms:address" type="link" externalJoin="true">
  <join xpath-dst="@address" xpath-src="@email"/>
</element>

Här motsvarar "xpath-dst" primärnyckeln i målschemat och "xpath-src" den externa nyckeln i källschemat.

Granskningskedja audit-trail

Ett användbart element som du kanske vill ta med längst ned i schemat är ett spårningselement (granskningsspår).

Använd exemplet nedan för att inkludera fält som relaterar till datumet då data skapades, användaren som skapade data, datumet och författaren till den senaste ändringen för alla data i tabellen:

<element aggregate="xtk:common:auditTrail" name="auditTrail"/>

Uppdatera databasstrukturen updating-the-database-structure

När ändringarna är klara och sparade måste alla ändringar som kan påverka SQL-strukturen tillämpas på databasen. Använd databasuppdateringsassistenten för att göra detta.

Mer information om detta finns i det här avsnittet.

NOTE
Om ändringarna inte påverkar databasstrukturen behöver du bara generera om scheman. Om du vill göra det markerar du schemat som ska uppdateras, högerklickar och väljer Actions > Regenerate selected schemas….
recommendation-more-help
35662671-8e3d-4f04-a092-029a056c566b