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

SOLVED

Recommendations Designs - Escaping Content

neilh83114327
Level 2
Level 2

Do Recommendations Designs support escaping of characters for formats they need to be delivered in? This seems critical to producing valid syntax in Design results. Examples:

  • JavaScript needs escaped quotes (\" and \'): entityTitle = "HD 48\" TV & speakers"
  • HTML attributes need HTML encoding &quot for double quotes etc: <img alt="HD 48&quot; TV &amp; speakers" ...
  • HTML requires html encoding: HD 48" TV &amp; speakers

The documentation says that Designs use Apache "Velocity Version 1.5 with no additional tools or libraries". However, I swear I recall seeing an article somewhere on how to escape quotes for JavaScript in the Velocity used in Recommendations-- but I can't find it again!  I checked for Velocity's EscapeTool library but it is not installed.

Thank you for your assistance!

1 Accepted Solution
neilh83114327
Correct answer by
Level 2
Level 2

That article talks about escaping reserved characters ($) in a design template (Velocity).  My question was around escaping the value of the entity's output.  In particular, double quotes in content cause problems when trying to generate JSON syntax or HTML attribute syntax.

My solution: Without the ability escape in Velocity, I escape the content before uploading in the product feed.  A good compromise for most scenarios is to html encode double quotes to &quot; .  In practice that is working well.

In most cases, the end result will be inserting it into an HTML document (web page, email, etc) where it will work properly.  Should you ever need plain text, you'll need to decode html.

View solution in original post

2 Replies
Amelia_Waliany
Employee
Employee

Hi there and thanks for your question! If you need to escape something you just need to add a backslash in front of whatever needs to be escaped. Check out the article on Customizing a Template in the Adobe Target Product Documentation for more info, and feel free to reach out here if you have any additional questions. Hope this helps!

neilh83114327
Correct answer by
Level 2
Level 2

That article talks about escaping reserved characters ($) in a design template (Velocity).  My question was around escaping the value of the entity's output.  In particular, double quotes in content cause problems when trying to generate JSON syntax or HTML attribute syntax.

My solution: Without the ability escape in Velocity, I escape the content before uploading in the product feed.  A good compromise for most scenarios is to html encode double quotes to &quot; .  In practice that is working well.

In most cases, the end result will be inserting it into an HTML document (web page, email, etc) where it will work properly.  Should you ever need plain text, you'll need to decode html.

View solution in original post