BookmarkSubscribeRSS Feed
GemG
Calcite | Level 5

Hello Everyone!

 

My requirement is to fetch the campaign & communication information from metadata which are not executed.

As far as I know,the campaigns which are not executed, the information can be extracted using MAExtract utility.

If this is true,can someone guide me for the same and also i need to get the details of the custom page in campaign and communication node.Is this possible using MAExtract utility.

 

Thanks in advance.

GG

 

 

 

9 REPLIES 9
Dmitry_Alergant
Pyrite | Level 9

Hi, the way to run MAExtract is described in the documentation (ciintutilug.pdf - CI Integration Utilities User's guide).

 

The structure of the resulting XML is complex, but not this hard to understand. It's doable.

 

However, my advice would be to understand deeper reasons behind this requirement, look broader, and challenge the requirement or propose an alternative processual arrangement that would not require you to parse campaigns that have not been run. I can't tell more without knowing the background. Historically, in most of the situations where we thought of using MAExtract for a similar purpose, we ended up finding an alternative solution or transforming requirements so this was not needed at the end.  

 

 

 

-------
Dmitriy Alergant, Tier One Analytics
GemG
Calcite | Level 5

Thanks for your reply.

 

But where is the campaign and communication information stored before it is executed? Is it in some temporary table .

As once it is executed the data is pushed to CDM database.And whether the data is deleted from the temp table once it is pushed to CDM.I just need to get the information of all campaigns and communications which are pending or planned for execution.

 

Thanks 

GG

 

JamesAnderson
SAS Employee

Hi GG,

 

If you can accept doing this at the campaign level rather than the communication level then you could:

 

  1. Query metadata to get a list of campaigns (using data step metadata api looking for type = CICampaign)
  2. Query the CDM to get a list of campaigns that have executed
  3. Subtract 2 from 1 to result in a list of campaigns that havent executed.

This is probably easier than trying to extract and process the XML for all campaigns.

 

Regards

James

 

GemG
Calcite | Level 5

Hello James,

 

Thanks for your reply.

But i need the custom page data in campaign as well as from communication node.

So, for that if i can manage to get the data which is feed in the custom page before execution then it will be easier to differentiate between executed and planned to execute campaign.

 

So, from where i can get the campaign and communication information which are in the design or scheduled phase.

JamesAnderson
SAS Employee

HI,

 

This information is stored inside the SAS Metadata and Content Server, its not stored in easy to access files or tables. There are a number of APIs:

 

1) MAExtract utilities - requires manipulation of XML to get the data you want

2) CI Web Services - depending on your version may or may not provide the necessary functionality you require

3) Java API - lots of programming

 

Another alternative would be to turn on the business context option "Publish On Save". This would force a record into the CDM for every campaign (once they were opened and saved), and then you could easily check if its been executed or not.

 

Regards

James

GemG
Calcite | Level 5

Hello James,

 

As per your instruction, I made the following changes in Business Context:

Automatically publish campaigns on subsequent save

 

However, the campaign data is published every time that the campaign is saved after the Publish operation which is not serving the purpose.

 

From MAExtract utilities will i get the custom page information also?

 

Thanks in advance

GG

JamesAnderson
SAS Employee

HI,

 

Yes you will get custom details using MAExtract utility.

 

Regards
James

 

pcapazzi
Pyrite | Level 9

James,

How do you query the metadata?

JamesAnderson
SAS Employee

Hi, 

 

I was just referring to normal BASE SAS data step metadata functions, rather than anything specific to CI.

 

You could use BASE SAS code to get a list of campaign objects from metadata (the results of which would be similar to the search function in SAS Management Console with an object filter of Campaign).

 

The documentation for the DATA step metadata functions is here: http://go.documentation.sas.com/?docsetId=lrmeta&docsetTarget=p1k9zipe59ha2an1pq34gu143lay.htm&docse...

 

However this doesn't give you all the details that you can see inside CI Studio - for example you wouldn't be able to query the Campaign Custom Details. This is because that information is stored inside the campaign XML object inside the Content Server. The way to access that information is to use the MAExtract Utility to pull out the entire campaign object as XML (but as Dimitry originally posted, this is doable but time consuming)

 

Using the data step approach will give you access to the properties of the campaign that are visible inside SAS Management Console, so its limited, but can serve simple purposes (like getting a list of campaigns in metadata, or indeed a list of any type of CI Object: definitions, treatments etc).

 

Regards

James

 

 

How to improve email deliverability

SAS' Peter Ansbacher shows you how to use the dashboard in SAS Customer Intelligence 360 for better results.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 9 replies
  • 1884 views
  • 0 likes
  • 4 in conversation