About keyword dbEnum in Schema | Community
Skip to main content
Level 2
August 7, 2017
Solved

About keyword dbEnum in Schema

  • August 7, 2017
  • 3 replies
  • 3108 views

Hi

I am learning the schema of Adobe Campaign V7 . I find the dbEnum keyword in the neo:recipient as the follow.

    <!-- Attribute: Preferred Channel -->

    <attribute dbEnum="channel" desc="Preferred communication channel" label="Preferred channel"

               length="15" name="preferredChannel" sqlname="sPreferredChannel" type="string"/>

And I chekc the guide of dbEnum :dbEnum (string): receives the internal name of a "closed" enumeration. The enumeration values must be defined in the <srcSchema>.

My question is:

(1) I can not find the define of dbEnum="channel"  in the schema. Where it was defined?

(2) How could I extends value for the enumeration  dbEnum="channel" ?

Best regards.

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by Jean-Serge_Biro

Hi tumuzhuanjia,

There is a misleading: sysEnum enumerations are defined in the XML schema (srcSchema schema) while dbEnum are defined in the Administration>Platform>Enumerations node (xtk:enum schema).

Nota bene if you create your own enumeration:

Closed enumeration in dbEnum appears to be quite close of a sysEnum one, and for Adobe Campaigns form and webApp forms it is similar use from user point of view. And dbEnum seems easier to manage. But actually, in many cases, sysEnum are mandatory because the dbEnum string value is put as value in the schema (table) using it, while sysEnum allows int values to be inserted instead of the string displayed to select the value. So it is better optimized from SQL point of view (indexes performance, storage space, redundancy rules, string label to change).
But of course usually the choice is made depending of the different user needs.

Regards

Jean-Serge

3 replies

Jean-Serge_Biro
Jean-Serge_BiroAccepted solution
Level 10
August 7, 2017

Hi tumuzhuanjia,

There is a misleading: sysEnum enumerations are defined in the XML schema (srcSchema schema) while dbEnum are defined in the Administration>Platform>Enumerations node (xtk:enum schema).

Nota bene if you create your own enumeration:

Closed enumeration in dbEnum appears to be quite close of a sysEnum one, and for Adobe Campaigns form and webApp forms it is similar use from user point of view. And dbEnum seems easier to manage. But actually, in many cases, sysEnum are mandatory because the dbEnum string value is put as value in the schema (table) using it, while sysEnum allows int values to be inserted instead of the string displayed to select the value. So it is better optimized from SQL point of view (indexes performance, storage space, redundancy rules, string label to change).
But of course usually the choice is made depending of the different user needs.

Regards

Jean-Serge

Adobe Employee
April 11, 2021
Thank you for the explanation! @jean-serge_biro
Jean-Serge_Biro
Level 10
August 7, 2017

Hi tumuzhuanjia,

Sorry, in English, the French node Enumérations seems to be transated by Administration>Platform>Itemized lists, not Enumerations.

And if needed, have a look on Alias values in DbEnum, it allows better management of dbEnum lists.

Regards
J-Serge

Level 2
August 8, 2017

Hi J-Serge:

Thank you.

That is what I want.  Very professional answer.

Best regards.