since ‎05-08-2019
‎10-12-2019
DimaKudryavtsev
Level 4
Does automatic key generation is shared between nms:recipient and xtk:workflow DimaKudryavtsev - Adobe Campaign Classic
Hi, colleges!I have noticed recently, that new nms:recipient records get assigned @id value over 300 million. Currently, the larges @id for this entity is 383,349,601 and it rising rapidly.Obviously, we do not have so many customers, the real number is much smaller. I have done a quick investigation, and it seems that nms:recipient entity actually shares identity numbers with xtk:workflow and few others entities. When any of these records are created, the id is picked up from the same autoincrem...
3783
Views
3
Likes
2
Answers and Comments
Re: Encrypt URL parameters for Preference Center DimaKudryavtsev - Adobe Campaign Classic
Hi.You cannot import javascript code into an 09email template, unfortunately. Templates are JSSP pages and they have they live in their ecosystem.You can use personalization blocks, that is correct. Alternatively, you can use a typology rule or initialization script of the delivery to add some javascript code.Last, but not least, you can create a stored procedure in some DB (SQL Server for example) that will encrypt the data and then map it into some variable in recipient data scheme or just exp...
1915
Views
1
Like
0
Answers
Creating custom exception class DimaKudryavtsev - Adobe Campaign Classic
As a part of some library, I want to be able to throw some custom exception. I define my exception class like this:loadLibrary("xtk:shared/nl.js")LibException = function(message, data) { this.message = message this.data = data}LibException.getMessage = function() { return this.message}LibException.getData = function() { return this.data}LibException.prototype.toString = function() { return "Library Exception: " + this.message}LibException.isLibException = function(obj) { return NL.isObject(obj) ...
1698
Views
3
Likes
1
Answers and Comments
Re: overriding linked delivery content DimaKudryavtsev - Adobe Campaign Classic
You can use initialization script for any activity and access/modify its data. Be careful, though, as ACM will not check your changes. Activity data can be accessed via activity keyword and it is an XML object.If you wish to print it out, use logInfo(activity.toXML().toXMLString())and you will be able to see what properties are available.
1398
Views
2
Likes
0
Answers
Re: Automate Adobe Campaign Classic Testing DimaKudryavtsev - Adobe Campaign Classic
You can create a workflow from the template and run it by executing a SOAP call to xtk:workflow#SpawnWithParametersprovide template id and any parameters you need.Next, you can monitor workflow status by periodically querying the workflow record via xtk:queryDef#ExecuteQuery method and check for workflow @status attribute. If the workflow is in suspended (3) status, that means it has failed. If status stopped (5), it has finished successfully.To delete the workflow, use xtk:session#Write method ...
1627
Views
2
Likes
0
Answers
Re: Javascript code of https request for client certificate authentication. DimaKudryavtsev - Adobe Campaign Classic
HiIt is not possible to set SSL key inside the campaign js code as far as I know. The maximum, that I was able to do is HMAC authorization.That is if the server is not accessible via HTTPS request and SSL can not be managed by the operation system, of course.I can recommend to build a simple Java or node.js app that will act as a proxy, install it on the same machine and expose some local port. Connect to the proxy via HTTP or HTTPS and let it handle the secure connection to your ESB.We used to ...
14113
Views
1
Like
0
Replies
Re: Operator with no access to web console DimaKudryavtsev - Adobe Campaign Classic
Yes, It is not possible to restrict access to view/home if the operator has at least some basic rights (like belongs to some group). However, If the operator does not have read access to a folder, where campaign actually exists, one will not be able to see it anywhere. Same goes for workflows, deliveries and any other records.I have operators, who can access only designated folders and have only read-only access to them for monitoring purpose.So it is possible to store web-app to a special folde...
1575
Views
2
Likes
0
Answers
Re: Operator with no access to web console DimaKudryavtsev - Adobe Campaign Classic
Not to my knowledge.Can you just restrict operator access to all folders apart of web app folder? You can see what folder access operator has in Audit -> Folder RightsTo make it easy, create operator group, that have required level of access and make the operator be a part of this group and make sure one does not have any access outside of the group access.
1503
Views
1
Like
0
Answers
Re: Operator with no access to web console DimaKudryavtsev - Adobe Campaign Classic
HiThe Rich Client is the console. If you forbid the access to it, the operator will not be able to login to the console only. But one will be able to login to web app or perform a SOAP calls, if one have right permissions.
1524
Views
1
Like
0
Answers
Re: Passing deliveries dynamically from script to continuous delivery DimaKudryavtsev - Adobe Campaign Classic
Yes, that is probably an error in Adobe. However, if you think how this component might work, it actually makes sense. As I have mentioned before, continuous delivery will check first if delivery has been cloned already. Deliveries and the delivery templates are, in fact, same entities: nms:delivery. The difference is in @isModel attribute. The template will have it set to 1.Since you already have fed the activity with actual delivery, the activity will find out, that delivery has been already c...
9347
Views
1
Like
1
Replies
Re: Automate Adobe Campaign Classic Testing DimaKudryavtsev - Adobe Campaign Classic
If by clien testing, you means campign or delivery testing, there is no good automated solution as far as I know. You can duplicate your workflow and feed it with test data and that is practically all.I usually generate special workflow to test deliveries. But this only works, if continious deliveries are user or any other template based activity. Recurrent deliveries can not be tested this way.
1646
Views
2
Likes
0
Answers
Re: Version Management for campaign/Workflow DimaKudryavtsev - Adobe Campaign Classic
HiYou cannot have a lock, but you can move your campaign or workflow to a folder, that does not permit editing. Right-click on any folder, choose properties and then switch on Security tab. Here you can choose what group will have write permission. You can have your developers only be allow write into dev folders and have production folders to be read-only for everyone, except admins.But I agree, some form of locking/version control is highly desirable.
3306
Views
0
Likes
0
Comments
Re: Passing deliveries dynamically from script to continuous delivery DimaKudryavtsev - Adobe Campaign Classic
Also, I have quickly checked the A/B example from Adobe ( A/B testing )The reason, they use this code, is because they do not use continuous delivery to send winning delivery to the customers. They use simple delivery activity. Continuous Delivery works a bit differently. It accepts a delivery template. When it runs, it checks, have this template been cloned since last time it has been edited. If it hasn't been, the activity will clone the template into delivery and will execute it. If delivery ...
9347
Views
2
Likes
0
Replies
Re: Passing deliveries dynamically from script to continuous delivery DimaKudryavtsev - Adobe Campaign Classic
Hi shivakumar,activity.scenario_id should be loaded with delivery template id, not the actual delivery id. Since you cloning already executed delivery, it seems that you are attempting to load your scenario with actual delivery id.I would suggest to find the template id of finished delivery and use its value.What does your delivery logs say?
9347
Views
1
Like
3
Replies
Re: Adobe Campaign - Delivery connector js for Routing DimaKudryavtsev - Adobe Campaign Classic
Hi somasundaramhaldurai,The error means that your JS code is attempting to convert some value into XML, probably, by using E4X. You are absolutely right about that the error originated in your processDeliveryPart function. Please examine your function and verify that all XML-related code is correct.If you want more context on where the error have originated, you can add some logInfo() calls into your code. Then open mtachild@ logfile and you will be able to find the log.
3100
Views
2
Likes
0
Answers
Re: Trouble with split query DimaKudryavtsev - Adobe Campaign Classic
That is some strange query. Why you have schema name in it?
6087
Views
1
Like
0
Replies
Re: Trouble sharing audiences DimaKudryavtsev - Adobe Campaign Classic
HiLogs show only messages if they are not empty. If the component call logError() but do not provide any actual error, you will not see the error message in the log.Select the component, click on Display the tasks and logs button:In the bottom window, select the task that has failed and double-click on it. It will open a new window with task info that will provide more context.
1420
Views
1
Like
0
Answers
Re: Issue querying Segmentation list from AAM DimaKudryavtsev - Adobe Campaign Classic
HiWould be helpful to see the actual query and schema definition, but from error, I can tell, that it expects the group element to be presented in temp:group schema and it is not there. So there should be an error in XTK expression.
9153
Views
1
Like
0
Replies
Re: Generate Customized a Data Model or Data Dictionary DimaKudryavtsev - Adobe Campaign Classic
HIYou can usevar schema = application.getSchema("cus:myTable")To generate a single table schema. Is this is what you are looking for?
1665
Views
1
Like
0
Answers
Re: Best approach to target and send large volume email via SOAP API (Adobe Campaign Classic) DimaKudryavtsev - Adobe Campaign Classic
HiI can suggest exporting this list into the file, upload file into Adobe server, then call xtk.workflow.SpawnWithParameters to spawn a workflow from a template:var parameters = // all parameters will be visible in workflow as vars.* In this case file will become vars.filextk.workflow.SpawnWithParameters( workflowId, parameters);Inside the workflow, load the file into a temporary table and spawn a delivery.Alternatively, one can configure delivery to be spawn from a CSV file, call nms.delivery.S...
5865
Views
2
Likes
0
Replies
Re: Recommended data schema to pass temporary data to an email delivery? DimaKudryavtsev - Adobe Campaign Classic
I would recommend creating a new table, add a link to nms:recipient and then you can reference it in the delivery template through a link directly. You can add some technical workflow that would delete any old records from it.
1191
Views
0
Likes
0
Answers
Re: Delivery fails because the targetData is undefined DimaKudryavtsev - Adobe Campaign Classic
There actually example in the seed address page:Have you seen it? Long story short, the targetData represents an XML that you are throwing on a delivery template to produce actual delivery and it maps to a temporary table schema. Any table column will become an attribute with the same name and any linked table will create a nested element with tag name equal to link name and attribute names, equal to linked table columns.The delivery template will load these elements and attributes only if they ...
1786
Views
0
Likes
0
Answers
Re: Understanding 'type' in Tracking URL configuration DimaKudryavtsev - Adobe Campaign Classic
Hi. You can not change the type of delivery. But you can change click formula used to generate the link.The easiest way would be to do something like that. Try to replace:type.substr(0, 1) with(type.substr(0, 1) == 'h' ? 'h' : 't')BTW, you will still get pretty long and strange-looking tracking URL that might look suspicious for your customer. Some SMS providers actually provide you with their own way of tracking SMS links by automatically replacing them with some short URL. Check with your SMS ...
1844
Views
1
Like
0
Answers
Re: Understanding 'type' in Tracking URL configuration DimaKudryavtsev - Adobe Campaign Classic
Tracking URL's are explained here: How to track personalized links in emails For tracking detection, Adobe Campaign embeds Tidy to parse the HTML source and detect the pattern. It lists all the URLs of the content so that they can be tracked individually. Adobe Campaign uses Tidy again to replace the URL (http://myurl.com) with a URL pointing to the Adobe Campaign redirection server.For example, in the initial content: http://myurl.com/a.php?name=<%=escapeUrl(recipient.lastName)%> is replaced fo...
1604
Views
0
Likes
0
Answers
Re: Understanding 'type' in Tracking URL configuration DimaKudryavtsev - Adobe Campaign Classic
HiIt is defined as part of nms:deliveryData Schema:contendDef is defined as
1601
Views
0
Likes
0
Answers
Re: Unable to edit custom data schema DimaKudryavtsev - Adobe Campaign Classic
Did you click on duplicate when added new field? Just open existing the schema in the editor and add the field there.
1710
Views
1
Like
0
Answers
Re: SMS Click Rates DimaKudryavtsev - Adobe Campaign Classic
Only if you accepted that your URL will be replaced with long tracking server URL or use some URL shortening service like Bit.ly and take your click metrics from there.
1210
Views
1
Like
0
Answers
Re: Bug: Dynamic Content Hidden Character DimaKudryavtsev - Adobe Campaign Standard
I just attempted to create this template and I do not see any extra characters anywhere. The code  is a zero-width no-break space character. (http://www.fileformat.info/info/unicode/char/feff/index.htm) Adobe should not insert something like that, but if you have designed your template via something like Dreamviewer and then copy-paste template code into Adobe, it might sneak in there accidentally. Adobe will allow you to past Unicode characters into the template, but when the template is saved...
1155
Views
1
Like
0
Answers
Re: Delivery fails because the targetData is undefined DimaKudryavtsev - Adobe Campaign Classic
HiThis is a common bug and the error message is actually wrong. When you have a JSSP tag in your delivery, something like <%= targetData.attributeName %>. If the attribute name is misspelled or wrong, the Adobe is unable to load the required column and targetData become undefined.Said that, since your deliveries have been working before, I guess there are some data issues. In your case, when JSSP tag looks like <%= targetData.member.point_Bal_Val %> that probably means that you have some "member...
1666
Views
1
Like
0
Answers
Re: Bug: Dynamic Content Hidden Character DimaKudryavtsev - Adobe Campaign Standard
Can you post your delivery template please?
1134
Views
1
Like
0
Answers