Expand my Community achievements bar.

SOLVED

Recommendations Designs - Escaping Content

Avatar

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

Avatar

Correct answer by
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

Avatar

Administrator

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!

Avatar

Correct answer by
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.