Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

Custom Table with new Target Mapping

Avatar

Community Advisor

Hi All,

 

Need some suggestion for below : 

A custom table say 'B' with new target mapping. This custom schema have no linking with recipient table. Also, while creating new target mapping  created new broad logs and tracking logs for this table using target mapping wizard.

 

Two challenges :

 

 

A) Services and Subscriptions

As per this doc(Using a custom recipient table has the following limitations:)

if we using custom table with no link rcp table then we can not use OOB services. What's the alternate way? 

B) OOB quarantine and blacklist

Will OOB quarantine and blacklist logic will work with custom table ?(I could not find any document for this one)

 

Thanks

 

5 Replies

Avatar

Employee Advisor

Hi @kapilKochar 

 

If you look at the Target Mapping configuration you will see a series of field you can set to manage the standrd exclusion it is done via DenyList

In your B data schema, you must allow to capture these fields and of course you need to have a field to capture the email address. For ease, you could name these fields same as in nms:recipient

Denis_Bozonnet_2-1656517894765.png

 

Denis_Bozonnet_1-1656517861653.png

 

The new entity has its own Delivery, Exclusion, and Tracking Logs schema as expected.

 

DESIGN CAUTION:

1- Avoid to have a composite fields as a PK, although it does work, for very large table, this is definitively not the most performant design. Use a single field for your PK

2- Since a single PK field is strongly advised, please name it simply "id", otherwise, the billing workflow might fail. It did in the past, so better to play safe. ideally you will use autopk AND a custom sequence, do not use the standard xtkNew as a sequence if you decide to go with autoPk... You will get into trouble once the sequence expires...

 

As for the subscription, it is true that Subscription (nms:subscription) is very much tight up to Recipient () and you will have to replicate it for your new B schema and using pre-defined filters you should be able to provide similar features...

 

Hope this helps,

Thanks

Denis

Avatar

Community Advisor

Hi @Denis_Bozonnet ,

 

Appreciate your prompt response. Also, thanks for sharing the best practice. 

I have created a table with autopk="true" , but as per the requirement I need to create composite key as well which will be the combination of 2-3 fields. Will that something you reckon call for an issue? 

 

Also, For Subscription, Do we have any documentation around that?

Have you done similar to this before ? Any specific challenges around that as per your experience in terms of managing subscription table and all ? or is this straightforward.  

Avatar

Employee Advisor

Hi @kapilKochar 

You can create an unique index with your 2-3 fields if required, the trick will be that anytime you want to reconcile using these 3 fields, you would have to ensure you use the fields in the Join clause in the same order than in the index definition otherwise the index won't be used...

 

For custom sequence, you could look at the documentation https://experienceleague.adobe.com/docs/campaign-classic/using/configuring-campaign-classic/data-mod...

 

As for subscription, I haven't done it personally and it would be a matter to replicate the entity nms:subscription and create pre-defined filters similar to the ones provided

 

Denis_Bozonnet_0-1656519670320.png

 

 

Hope this helps,

Thanks

Denis

Avatar

Employee Advisor

Hi @kapilKochar 

As for documentation on subscription, I don't think there is one but I would more or less duplicate the nms:subscription data schema, adapt to use the new entity (B)

The most complex part would be to replicate the methods such as Subscribe/Unsubscribe which you would certainly use in your preference centre if it is provided by ACC....You will have to write a JS Library for these functions... 

Thanks

Denis

 

Avatar

Community Advisor

Thanks Deni for your valuable suggestions. I am also more worried about implementing methods of nms:subscription schema . As when I am trying to check the definition of this methods I am not able to find one. So not sure OOB what all things adobe doing in background for subscribe or unsubscribe 

 

Like for subscription , in schema we have below method 

 

<method name="Subscribe" static="true">
<help>Create or update a recipient subscription to an Information Service</help>
<parameters>
<param desc="List of Information Service names (comma separated)" name="serviceName"
type="string"/>
<param desc="Recipient to register and optionally to create" name="recipient"
type="DOMElement"/>
<param desc="Create recipient if it does not exist" name="create" type="boolean"/>
</parameters>
<example language="javascript">
<programlisting>var recipient = {recipient: {_key: "email", email: "john.smith@example.com"}}
nms.subscription.Subscribe("SVC1", recipient, false)</programlisting>
</example>
</method>

 

Thank again for your help.