Module 13 - Answers Assessment

Hello, I am having trouble with the following task:

  • Add the Help Article page and update the vertical key, page title, label, and card (step 16/last step on report card)

Here is what I have on my help.json file:
{
“verticalKey”: “help_articles”, // The vertical key from your search configuration
“pageTitle”: “Help Article Search”, // !!!REPLACE THIS VALUE!!! The contents of the title tag and meta open graph tag for title
// “metaDescription”: “”, // The meta tag for open graph description
// “canonicalUrl”: “”, // The link tag for canonical URL as well as the meta tag for open graph url
// “keywords”: “”, // The meta tag for keywords
“pageSettings”: {
“search”: {
“verticalKey”: “help_articles”, // The vertical key from your search configuration
“defaultInitialSearch”: “” // Enter a default search term
}
},
“componentSettings”: {
/**
“QASubmission”: {
“entityId”: “”, // Set the ID of the entity to use for Q&A submissions, must be of entity type “Organization”
“privacyPolicyUrl”: “” // The fully qualified URL to the privacy policy
},
/
/

“Facets”: {
“expand”: false, // Allow the user to expand and collapse the facets
“showMore”: false, // Display a link to see more facet options within a facet
“searchOnChange”: true // Will automatically run a search as facets are selected or unselected. Set to false to only trigger updates with an Apply button.
// Additional options are available in the documentation
},
/
/

“FilterLink”: {
“changeFiltersText”: “sorts and filters”, // Text that displays by default
“resetFiltersText”: “reset filters”, // Text when filters are applied
“clearSearchText”: “clear search” // Text when there are no results, conducts an empty search
},
/
/

“DirectAnswer”: {
“types”: {
“FEATURED_SNIPPET”: {
“cardType”: “documentsearch-standard”
},
“FIELD_VALUE”: {
“cardType”: “allfields-standard”
}
}
},
**/
“AppliedFilters”: {
“removable”: true
},
“VerticalResults”: {
“noResults”: {
“displayAllResults”: true // Optional, whether to display all results in the vertical when no results are found.
},
“hideResultsHeader”: true
},
“SearchBar”: {
“placeholderText”: “Search”, // The placeholder text in the answers search bar
“allowEmptySearch”: true, // Allows users to submit an empty search in the searchbar
“loadingIndicator”: {
“display”: true //Optional, whether to include a loading indicator on seachbar
// “iconUrl”: “” //Optional, use custom icon url instead of the default loading indicator animation
},
“voiceSearch”: {
“enabled”: false // Whether or not voice search is enabled
// “customMicIconUrl”: “”, // Path to override the voice start icon
// “customListeningIconUrl”: “” // Path to override the voice stop icon
}
},
“Pagination”: {
“noResults”: {
“visible”: true
}
}
},
// Configuration used to define the look and feel of the vertical, both on this page and, by default,
// on the universal page.
“verticalsToConfig”: {
“help_articles”: { // The vertical key from your search configuration
// “Label”: “Help Articles” // The name of the vertical in the section header and the navigation bar
// “verticalLimit”: 15, // The result count limit for vertical search
“universalLimit”: 4, // The result count limit for universal search
“cardType”: “document-standard”, // The name of the card to use - e.g. accordion, location, customcard
// “icon”: “star”, // The icon to use on the card for this vertical
“universalSectionTemplate”: “document-standard”
}
}
}

Any help would be great!

I am also having an issue with this module for “Add a new card called communitystory and update data mappings”. It looks to be working correctly in the Live preview, but I would appreciate any help.

{{> cards/card_component componentName=‘communitystory’ }}

class communitystoryCardComponent extends BaseCard[‘communitystory’] {
constructor(config = {}, systemConfig = {}) {
super(config, systemConfig);
}

/**

  • This returns an object that will be called card
  • in the template. Put all mapping logic here.
  • @param profile profile of the entity in the card
    */
    dataForRender(profile) {
    const linkTarget = AnswersExperience.runtimeConfig.get(‘linkTarget’) || ‘_top’;
return {
  title: profile.name, // The header text of the card
  url: profile.website || profile.landingPageUrl, // If the card title is a clickable link, set URL here
  target: linkTarget, // If the title's URL should open in a new tab, etc.
  // image: '', // The URL of the image to display on the card
  // altText: '', // The alternate text for the image
  titleEventOptions: this.addDefaultEventOptions(),
  subtitle: 'In Partnership with:  ' + Formatter.joinList(profile.c_localNonProfits), // The sub-header text of the card
  details: profile.description, // The text in the body of the card
  // If the card's details are longer than a certain character count, you can truncate the
  // text. A toggle will be supplied that can show or hide the truncated text.
  showMoreDetails: {
    showMoreLimit: 250, // Character count limit
    showMoreText: 'Show more', // Label when toggle will show truncated text
    showLessText: 'Show less' // Label when toggle will hide truncated text
  },
  // The primary CTA of the card
  CTA1: {
    label: 'Learn More', // The CTA's label
    iconName: 'chevron', // The icon to use for the CTA
    url: profile.landingPageUrl, // The URL a user will be directed to when clicking
    target: linkTarget, // Where the new URL will be opened
    eventType: 'CTA_CLICK', // Type of Analytics event fired when clicking the CTA
    eventOptions: this.addDefaultEventOptions(),
    // ariaLabel: '', // Accessible text providing a descriptive label for the CTA
  },
  feedback: false, // Shows thumbs up/down buttons to provide feedback on the result card
  feedbackTextOnSubmission: 'Thanks!', // Text to display after a thumbs up/down is clicked
  positiveFeedbackSrText: 'This answered my question', // Screen reader only text for thumbs-up
  negativeFeedbackSrText: 'This did not answer my question' // Screen reader only text for thumbs-down
};

}

/**

  • The template to render
  • @returns {string}
  • @override
    */
    static defaultTemplateName (config) {
    return ‘cards/communitystory’;
    }
    }

ANSWERS.registerTemplate(
‘cards/communitystory’,
{{{stringifyPartial (read ‘cards/communitystory/template’) }}}
);
ANSWERS.registerComponentType(communitystoryCardComponent);

Hi Keith - I commented about your question on this community post

Alan - I took a look at your account and it’s a really small adjustment but it looks like the subtitle field has an extra erronous space in the "In Partnership with: ". It should be just one space after “with:” instead of two. It will look as follows:

subtitle: 'In Partnership with: ’ + Formatter.joinList(profile.c_localNonProfits), // The sub-header text of the card

Let us know if you have any further issues!

Alyssa

Thanks Alyssa! I just made the update to match what you shared, and I’m still failing the same criteria. The only other thing I can think of is that the non-profits don’t have a space between them in the join list when I run the preview, but I’m not sure how to add that. Here is my current code:

subtitle: 'In Partnership with: ’ + Formatter.joinList(profile.c_localNonProfits), // The sub-header text of the card

Hi Alan,

Are both the apostrophes straight? It looks like the second apostrophe here is 'In Partnership with: ’ is a “smart” or curly apostrophe which may be throwing the error.

Thanks,
Alyssa