loading

Module Assessment| Hitchhikers Platform

loading
You must include a first name and last name in your profile to create challenge environments.

Background

You love the idea of the Admin Console - could make it significantly easier to add or make changes across different resources. In this challenge, your account has everything from the Knowledge Graph Track – you have:

  • Restaurant entities
  • FAQ entities
  • Job entities
  • Event entities

You do not have any Pages or Answers resources yet - but you want them!

You want to do a couple of things:

  1. You want to modify some resources in your account directly via Admin Console. Specifically, you want to add a new custom field and update the fields on a couple of entity types.

  2. You want to install an additional solution template that creates an Answers experience. You can install the “Food Solution” template, but this time want to remove the verticals that aren’t applicable to what you’re doing, like offers.

Your Challenge

  1. From your account, hover over your name and click on Admin Console. This should launch the Admin Console in a new tab.

  2. Look around at the various files. If you completed the Knowledge Graph track you should be very familiar with the resources you added. Open up all of the directories to see everything that’s there.

  3. Click on “Settings” and check off Friendly-Name mode and click “Save”. Note how the names for things like Templates and Labels are now readable.

  4. Time to make some changes! Navigate to km/entity-type-extension/job.json so you can add the Primary CTA custom field to the type.

  5. Add a new object in the field array for the Primary CTA field.

    {
        "id": "c_primaryCTA",
        "required": false
    }
  6. Click Add Resources button to add a new field for Event Disclaimer.

    • Select “Knowledge Manager”
    • Select field
    • Enter the resource name as eventDisclaimer
    • Click Create – the system will add a file template for the field resource type. You’ll notice that the $id for this new field will actually show as “ceventDisclaimer”. The c prefix denotes a custom field (as opposed to a built-in one). This follows the default resource naming pattern.
  7. Modify the new field resource with the field metadata:

    • Add a description so your field has a tool-tip “Enter any event disclaimers here, like public health, city ordinances, capacity concerns, etc.”
    • Delete the descriptionTranslation array object (this should be multiple lines)
    • Add a displayName of “Event Disclaimer”
    • Delete the displayNameTranslation array object (this should be multiple lines)
    • Update group to “NONE”
    • Update localization to “PRIMARY_ONLY”

    Make sure you have no JSON syntax errors. All strings should be enclosed in straight quotations. Just like in the code editor or search configuration editor, you should see red underlining and red notation if there is an error detected in the syntax.

  8. Update the field’s type. In the type object, remove everything except for the stringType object.

    • Update stereotype to “MULTILINE” to set to subtype of Multiline text
    • Update the maxLength to 200 to add custom validation
    • Remove the minLength
    • Update the typeId to “yext/string”

    You want the field to be similar to the c_deliveryDisclaimer field you created in the UI so you can use that as a reference point.

    It should look like this

    "type": {
        "stringType": {
            "stereotype": "MULTILINE",
            "maxLength": 200
             }
        },
    "typeId": "yext/string"
  9. Navigate to the file for the Event entity type extension (km/entity-type-extension/event.json).

  10. Add the new c_eventDisclaimer field to the field array. Set required to false.

  11. Review the changes you’ve made so far by clicking the “Show Diff” button at the top. Select to “View diffs for this account” and click “Continue”. You should see 3 files changed – the event type, the job type, and your new eventDisclaimer field.

  12. Apply your changes by clicking Apply button at the top. Select the “Apply to this account” option and click continue. You can leave the Namespaces field empty. Similar to the previous step you should see the same 3 files as diffs. Review these to make sure these look right according to the instructions and then click “Continue”.

  13. Review the Confirmation dialog. When you are ready, click “Confirm”.

  14. Monitor the Console for any errors or issues. If you have any errors, try to debug and retry. You can reach out to the Community or email hitchhikers-support@yext.com if you need assistance.

  15. Return to your account and navigate to Knowledge Graph > Configuration > Fields. Click into the Event Disclaimer field - you can see that any changes applied through Admin Console appear in your account.

  16. On the Event Disclaimer field in the UI, click into the Field Specification and update the validation to have up to 400 characters instead of 200 and click “Save”.

  17. Return to the Admin Console. Since you just made a change in your account you want to make sure that you have the latest data from your account. If you still have your tab up, do a hard refresh to pull in fresh configuration files. Otherwise, you can re-launch the Admin Console by hovering over your name and clicking “Admin Console”.

  18. Navigate to the Event Disclaimer field (km/field/eventDisclaimer.json) to see the changes you made to demonstrate how changes made in either interface are reflected in the other.

  19. Back in your account, navigate to Apps > Solutions and click on the Food solution. Click “View Solution” to see the solution in the Admin Console.

  20. You want to apply this solution to your account, but you don’t want a few things, including:

    • The sample entities in the km/entity directory
    • The Pages templates for FAQs
    • The Pages template for the Answers frontend - you want to create this on your own separately (but you do want to apply the Answers search config)
    • The c_relatedFAQs field since you already have a c_associatedFAQs field in your account

    Click on the “directory” icon to the left of the trashcan at the top of the directory. This will allow you to select multiple files at once. You want to check off the following files:

    • km/entity directory (folder)
    • pages/site-config/FAQ Pages.json
    • pages/page-builder-template/FAQ Template.json
    • pages/site-config/Answers-Food.json
    • km/field/c_relatedFAQs.json

    Click on the trashcan icon at the top to bulk-delete the files (remember you’re only deleting these files locally). Review the confirmation dialog and click to confirm deletion.

  21. Apply your changes by clicking Apply button at the top.

    • Enter your account ID. You can find this in the URL path of your account, or searching for the “Account ID” in Personal Settings.
    • Review the Diffs to make sure these look right (e.g., make sure you’re not adding any of the resources that you were asked to delete) and then click “Continue”.
  22. Review the Confirmation dialog. When you are ready, click “Confirm”.

  23. Monitor the Console for any errors or issues. You should see an error returned because the system is trying to add the field you just deleted (c_relatedFAQs) to the Restaurant and Job entity types. Navigate to the files and delete the field from the field array.

  24. Repeat steps 21 and 22 once you’ve fixed the error.

  25. If you have any additional errors, try to debug and retry. You can reach out to the Community or email hitchhikers-support@yext.com if you need assistance.

  26. Return to your account to see the new resources, including:

    • The restaurant page builder template
    • The answers experience configuration
    • New fields and entity types
Module Assessment
+<% util.points %> points
loading
Weekly Challenge Streak Weekly Challenge Streak: <% util.streakWeekly %>
You must include a first name and last name in your profile to create challenge environments.
Challenge account expires in <% util.expirationHours > 24 ? Math.round((util.expirationHours * 1.0) / 24) : util.expirationHours %> <% util.expirationHours > 24 ? (Math.round((util.expirationHours * 1.0) / 24) == 1 ? 'day' : 'days') : (util.expirationHours == 1 ? 'hour' : 'hours') %>.
Challenge account has expired. Please create a new account.
Report Card
Apply the Food Solution template with the specified changes and deletions
Add the Event Disclaimer custom field via Admin Console
Add the Primary CTA field to the Job type using Admin Console
Previous Submissions
Attempt #<% submission.attemptNumber %>
<% submission.date %>
Score: <% submission.numericScore %>
Pending
Splash Loading