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
Views
Replies
Total Likes
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
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.
Views
Replies
Total Likes
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
Hope this helps,
Thanks
Denis
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.
Views
Replies
Total Likes
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