Custom Table with new Target Mapping | Community
Skip to main content
kapilKochar
Level 6
June 29, 2022
Question

Custom Table with new Target Mapping

  • June 29, 2022
  • 2 replies
  • 2262 views

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

 

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.

2 replies

Adobe Employee
June 29, 2022

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

 

 

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

kapilKochar
Level 6
June 29, 2022

Hi @costa_n11 ,

 

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.  

kapilKochar
Level 6
June 29, 2022

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

 


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.

Sukrity_Wadhwa
Community Manager
Community Manager
November 23, 2022

Hi @kapilkochar,

Were you able to resolve this query? If yes, then kindly share the solution to help the rest of the community as well. 

Thanks

Sukrity Wadhwa