ACC | Add action button to the form view

Adobe Campaign, Marketing Automation
2 minutes read

Have you ever wondered how to add new button with custom functionality to form view. I will show you step by step how to do it.

In my example I will create signatures used in email campaigns, which will be dependent on the recipient’s profile information such as language, country etc. The way how I have designed the solution for this problem is following:

  • we will use custom table schema that will hold all the signature rules and the signature content.
  • we will create synchronization button on the form view that will run JavaScript code to recreate personalization block with all the active rules found in the database.

You can achieve similar result with attaching the table to the delivery in the personalization tab

JavaScript library

Add JavaScript library that will contain all custom methods for your schema or schemas if you want to have all methods from all schemas under one library. All the functions inside the library have to follow naming convention

<namespace>_<schema>_<method_name>
var cus_myCusSchema_myNewMethod = function(arg){
//do something
}

Save the library and keep the name for to use later. In our example we called this library cus:myNewMethodsLibrary

Database schema with method

Create new or extend schema to add new methods in respective place.

<srcSchema name="myCusSchema" namespace="cus" xtkschema="xtk:srcSchema">
	<element>
             ...
             ...
   	</element>
  	<methods>
      <method library="cus:myNewMethodsLibrary" name="myNewMethod" static="true">
        <parameters>
          <param desc="Argument for function" inout="in" name="argIn" type="<valid_type>"/>
          <param desc="Parameter returned by function" inout="out" name="argOut" type="<valid_type>"/>
          <param desc="Parameter returned by function" inout="out" name="argOut2" type="<valid_type>"/>
        </parameters>
      </method>
  	</methods>
</srcSchema>
Navigation tree

Buttons with custom functionality are called commands in adobe campaign and to add them in the view you need to amend the navigation tree structure. First we extend the nms:core navigation tree. Also you can skim this through to find more useful information what else you can do with the navigation tree.

We add under the <model name=”root” following

 <nodeModel img="nms:survey/radiolist.png" label="My custom schema action button" name="myCusNavTreeButton">
        <command desc="Custom button function caller" img="nl:runtask.png" label="Do something"
                 name="myCusNavTreeButtonMethod" promptLabel="Really want me to do something?"
                 rights="">
          <soapCall name="myNewMethod" service="cus:myCusSchema">
            <param type="string" xpath="@dummy-value"/>
          </soapCall>
        </command>
        <view name="listdet" schema="cus:myCusSchema" type="listdet">
          <columns>
            <node xpath="@someField"/>
            ...
            <node xpath="@someOtherField"/>
          </columns>
        </view>
      </nodeModel>

That is it we have created new functionality inside adobe campaign classic.
The newly created schema methods are also exposed to the SOAP and can be called from another system just as any other default method described in the WSDL and also should be available in there upon creation.

Adobe Campaign post
Adobe Campaign, Marketing Automation

ACC | Track dynamic links

3 minutes read

Some email campaign send outs can have links dynamically rendered in the content. Such links are not visible by Adobe Campaign personalization engine and thus will not be tracked. The good thing is that we can use a workaround to make dynamic links trackable and also on top of all workarounds Adobe itself has provided […]

Continue reading
Adobe Campaign post
Adobe Campaign, Marketing Automation

ACC | All about variables in Adobe Campaign

2 minutes read

In this article I will explain all sorts of variables you can come across when working with the tool. Also I will discuss different less known approach of storing variables. Workflow variables In adobe campaign we have way how to store variables between consecutive activities. Normally you would store variables as instance or context variables. […]

Continue reading
Adobe campaign tips and tricks
ACC Tips & Tricks, Adobe Campaign, Marketing Automation

Escalate any user rights to admin

1 minute read

Normally web apps run under the web app user (which is anonymous and has very little to zero rights by default) and for certain operations you would need to require to grant additional access, or even grant full admin. To grant full admin for web app user is not solution to go with. Instead I […]

Continue reading
Adobe campaign tips and tricks
ACC Tips & Tricks, Adobe Campaign, Marketing Automation

ACC TIP | Export connection strings

less than a minute read

Whether you change your laptop or want to save actual configuration for your colleagues. You can easily achieve that by taking all connection strings as XML. ims – connection over adobe id SSO Also similar approach is to directly change the connection string file nlclient_cnx.xml that is located under your local AppData folder. To quickly […]

Continue reading
Adobe Campaign post
Adobe Campaign, Marketing Automation

Complete guide to data schemas in ACC

4 minutes read

I want to gather as much information I have and have it at one place for my future reference and for others to learn what can be possible with the custom schemas in the Adobe Campaign Classic – ACC If you work with adobe campaign for some time you might figured out that almost any […]

Continue reading
Adobe Campaign post
Adobe Campaign, Marketing Automation

Implementing DKIM in adobe campaign

2 minutes read

Have you ever wondered how to implement DKIM in Adobe Campaign Classic, look no further here is how you can do it. Implementing DKIM for Adobe Campaign Classic, gave many hard times as there is no official documentation you can follow step by step. But nothing is lost, it is easier than you may think. […]

Continue reading