Create and implement a learner doc survey feedback link in the English and Spanish Help Centers


Today, doc users can send feedback to the doc team via a Google Forms survey. Replicate this behavior by adding a doc feedback survey link to the edX Help Center article pages, in both English and Spanish.

Current English doc feedback survey
Current Spanish doc feedback survey

Image shows representative placement and text.

Note: The HTML for this is presently included in the article_page.hbs template in the SANDBOX edX HC Learner theme. The text needs to be wordsmithed, translated into Spanish, and included in the edX Help Center HTML template: article_page.hbs.

ZD Files needing updates:

  • style.css

  • article_page.hbs

  • dynamic content - create new one for this text

Steps to Reproduce


Current Behavior


Expected Behavior


Reason for Variance


Release Notes


User Impact Summary



Deb Chatigny
May 15, 2018, 6:32 PM

, it looks like there are two dynamic content elements used in the article_page.hbs template, and the second one includes the hyperlink to the survey:

Help us to improve our help center dc.help_us_to_improve_our_help_center
Send us your feedback dc.send_us_your_feedback

You can find the dc list here: Zendesk > Support > Admin > Dynamic Content

Select Edit, in the English and Spanish, and you can see how the hyperlink is presently configured. If we modify this with what you found, we can test to see if it'll add the referring page's URL.

Grant Goodman
May 14, 2018, 7:03 PM

A RTD page has an element like this:

<li class="wy-breadcrumbs-aside"><a href="" target="_blank">Contact Support</a> or<a href="" target="_blank">Give Doc Feedback</a>

How does the &entry.241692674=EdX%20Learner%27s%20Guide%3A%20index parameter get populated?

It comes from edx/edx-documentation/shared/, which defines how to create the feedback form URL:

FEEDBACK_FORM_FMT = "{pageid}"

def feedback_form_url(project, page):
"""Create a URL for feedback on a particular page in a project."""
return FEEDBACK_FORM_FMT.format(pageid=urllib.quote("{}: {}".format(project, page)))

And project, page gets found using urllib.quote?

This doesn't help us at all to identify a Zendesk Help Center page. It should be easy to put the feedback form URL into the Help Center template, but we don't know how to populate the source article URL.

In Zendesk Curlybrace language, article.title is a property. So we should be able to:
<a href="" target="_blank">Give Doc Feedback</a>

This might go below line 82 in the article_page.hbs template, but I don't understand how the dc elements work yet.

Deb Chatigny
May 2, 2018, 2:51 PM

@Grant - thanks for taking a look at what code is grabbing the referring page and auto-populating it into the Google form. Carol mentions above that she found code in the shared/ file.

Carol Tong
April 13, 2018, 6:10 PM

Further updated to remove the horizontal rule and make the link text edX blue -> darker blue and underlined on hover.

The existing doc feedback survey from our RTD project uses some code to return the RTD project and page, which lives in the shared/ I'm not able to make an equivalent in Zendesk. But the form is ready to go without that, for MVP.

FEEDBACK_FORM_FMT = "{pageid}"

def feedback_form_url(project, page):
"""Create a URL for feedback on a particular page in a project."""
return FEEDBACK_FORM_FMT.format(pageid=urllib.quote("{}: {}".format(project, page)))

  1. We want the feedback_form_url function available in HTML templates, but it

  2. makes html_context un-JSON-able, so don't add it if we are doing JSON.
    if the_builder != "json":
    html_context['feedback_form_url'] = feedback_form_url

Carol Tong
April 11, 2018, 8:08 PM

Reduced the amount of text and made the CTA (Send us feedback) the actual link. The link launches a Google form. Screenshots attached of the updated text and the form .
Not included: script that automatically populates the URL of the article/page that the submitter came from
To come: Spanish version

Your pinned fields
Click on the next to a field label to start pinning.


Deb Chatigny


Deb Chatigny