Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn More

View all

Sign in to view all badges

How can I mask CTX column in a schema (EVENT XML)

Avatar

Avatar
Validate 1
Level 2
mohammada451459
Level 2

Likes

9 likes

Total Posts

14 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 1
Applaud 5
View profile

Avatar
Validate 1
Level 2
mohammada451459
Level 2

Likes

9 likes

Total Posts

14 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 1
Applaud 5
View profile
mohammada451459
Level 2

13-04-2018

Hi All,

I need to mask a CTX column in one of my schema (EVENT XML column) with some random value or can keep it blank too. I can always mask some other columns which are not CTX either by null or black depending on the data type of the column , I did some search and found that for CTX we can do it through JAVA code but I am not sure what we can write in JAVA code to mask this column.

Thanks

Arif

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar
Validate 1
MVP
Jean-Serge_Biro
MVP

Likes

353 likes

Total Posts

464 posts

Correct Reply

153 solutions
Top badges earned
Validate 1
Boost 50
Boost 5
Boost 3
Boost 250
View profile

Avatar
Validate 1
MVP
Jean-Serge_Biro
MVP

Likes

353 likes

Total Posts

464 posts

Correct Reply

153 solutions
Top badges earned
Validate 1
Boost 50
Boost 5
Boost 3
Boost 250
View profile
Jean-Serge_Biro
MVP

16-04-2018

Hi Mohammad,

Yes, it is not possible to modify a factory schema (here nms:rtEvent); it is why I mentioned to extend the factory schema, you must achieve your changes in a new schema such as cus:rtEvent in order to apply your data masking with accessibleIf attribute.

What you try to do is a wrong approach, not secure enough.

Regards.
J-Serge

Answers (2)

Answers (2)

Avatar

Avatar
Validate 1
MVP
Jean-Serge_Biro
MVP

Likes

353 likes

Total Posts

464 posts

Correct Reply

153 solutions
Top badges earned
Validate 1
Boost 50
Boost 5
Boost 3
Boost 250
View profile

Avatar
Validate 1
MVP
Jean-Serge_Biro
MVP

Likes

353 likes

Total Posts

464 posts

Correct Reply

153 solutions
Top badges earned
Validate 1
Boost 50
Boost 5
Boost 3
Boost 250
View profile
Jean-Serge_Biro
MVP

13-04-2018

Hi Mohammad,


You should rather change the factory schema (actually by extending it ), using sysfilter you can either mask the value (replaced by blank, using accessibleIf, see PII access in the documentation :
https://docs.campaign.adobe.com/doc/AC/en/CFG_Editing_schemas_Restricting_PII_view.html ) or mask the element itself (visibleIf).

The good thing with accessibleIf is that it is not valuable not only for form display, but all objects (example, not allow people to export data or access it through Queries activities).

Regards
J-Serge

Avatar

Avatar
Validate 1
Level 2
mohammada451459
Level 2

Likes

9 likes

Total Posts

14 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 1
Applaud 5
View profile

Avatar
Validate 1
Level 2
mohammada451459
Level 2

Likes

9 likes

Total Posts

14 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 5
Boost 3
Boost 1
Applaud 5
View profile
mohammada451459
Level 2

16-04-2018

Hi Serge,

Thanks for the useful tips , but unfortunately we are not allowed to touch the schema , I am writing something like below but seems it's not updating the column with blank . Not sure where I am goign wrong.

var schemaName = vars.targetSchema.substring(vars.targetSchema.indexOf(":") + 1);

logInfo(schemaName);

var collection = <{schemaName + '-collection'} xtkschema={vars.targetSchema}/>

//logInfo("Collection" +collection);

var query = xtk.queryDef.create(

<queryDef schema= {vars.targetSchema} operation="select" lineCount={vars.recCount}>

<select>

<node expr="[target/ctx]" alias="data" />

<node expr="@id" />

</select>

</queryDef>

)

var res = query.ExecuteQuery();

//logInfo("DATA" + res);

var result = res.toXMLString()

for each (var tmp in res.query2)

{

var Data = ""; 

var EId = tmp.@id;

if(tmp.data) { 

xtk.session.Write(<eventHisto xtkschema="nms:eventHisto" _operation="update" id={tmp.@id} data={Data}/>);

}

}

Thanks

Arif