Recommendations Designs - Escaping Content | Community
Skip to main content
neilh83114327
Level 2
November 30, 2017
Solved

Recommendations Designs - Escaping Content

  • November 30, 2017
  • 2 replies
  • 3337 views

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!

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by neilh83114327

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.

2 replies

Amelia_Waliany
Adobe Employee
Adobe Employee
December 18, 2017

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
neilh83114327AuthorAccepted solution
Level 2
January 6, 2018

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.