Skip to content

FAQ recipe — frequently asked questions

The FAQ recipe (openintranet_faq) adds a deliberately small Q&A content type to the intranet. It is the answer to “please stop emailing me about this — there is a FAQ”. Each FAQ entry is a question + answer + category, and the bundled view groups them on a single page.

The recipe ships:

  • A new FAQ Question content type (faq_question) — title is the question, body is the answer, plus a single-select Category field.
  • Two seed categories — Human resources and Intranet features — that the admin extends to fit their organisation.
  • An FAQ view that lists every entry grouped by category.
  • Default-content sample entries that demonstrate the system.

It is opt-in — install with drush recipe recipes/openintranet_faq when the support team wants a single place for the standard questions.

Each entry has:

FieldTypeNotes
TitleTextThe question — phrased as the user would ask it.
BodyLong text + summaryThe answer — full CKEditor with the AI assistant available. Include images, lists, links to relevant KB pages or documents.
CategoryList (string) — Human resources, Intranet features (extendable)Single-select. Drives the grouping on the FAQ landing page.

The bundle is revisioned, translatable (per-language Q&A), and uses the standard menu / pathauto behaviour.

Categories ship as a list-string field with two seed values, but the admin can add as many as needed by editing the field’s Allowed values list at /admin/structure/types/manage/faq_question/fields/node.faq_question.field_faq_category.

Typical custom categories: IT support, Facilities, Travel, Onboarding, Benefits, Compliance. Each addition extends the dropdown on the edit form and shows up automatically as a group on the FAQ landing page.

view.faq renders every published FAQ entry grouped by category — a single scrollable page where each category is a heading and each entry inside is a collapsible question + answer. The page is the natural target for Help → FAQ in the main menu.

The view supports:

  • Search (over question + answer text).
  • Filter by category.
  • Sort by category (default), title, or date created.

The recipe enables per-language content for faq_question, so an entry can be translated into every language the site speaks. Categories are stored as a translatable list field, so the Human resources label can become Ressources humaines in the French version while keeping the same machine value.

  • Knowledge Base — FAQ is the short answer surface; KB is the long article surface. A FAQ answer often links to a KB page for the full story.
  • Search — FAQ entries are indexed by DB Index Content automatically. A search for “vacation policy” surfaces the FAQ alongside the KB page, with the FAQ usually appearing higher because the question matches.
  • Engagement scoring — Reading and reacting to FAQ entries contributes to the user’s engagement signal.
  • Multilingual — Per-language FAQ entries; per-language category labels.
  • AI assistant — Use the AI button to draft / improve / translate answers.
  • Access Control & Groups — When the FAQ Question type is opted into the per-item Access tab, sensitive FAQs (e.g. internal tooling) can be restricted to specific groups.

The recipe relies on standard Drupal node permissions. The default install grants:

PermissionDefault role(s)
Create faq_question contentContent editor + Administrator
Edit any faq_question contentContent editor + Administrator
Delete any faq_question contentAdministrator
View published faq_questionAuthenticated user (configurable to anonymous)
Terminal window
cd web
drush recipe recipes/openintranet_faq
drush cr

After applying:

  • /node/add/faq_question is the entry-creation form.
  • /faq (the configured view path) is the landing page.
  • A FAQ main-menu link is typically added by hand from /admin/structure/menu/manage/main.
  • node, text, user, views, views_ui, options — Drupal core
  • Default Content — sample FAQ entries to seed the page