Listen to this page
This film review archive is also a Drupal AI playground. The examples below use content from this site.
Start with the search examples in the first section. They do not require an account.
What a visitor sees
No account needed. These are grounded in this site's own pages: they answer from indexed content and decline when the site has nothing covering the question.
Search, with an AI answer above the results
Type any of these into the box in the header, or open /search first. The answer streams in above the classic keyword results and cites the pages it used.
-
Which films are about investigations that fail?
Retrieval by meaning. No page on this site contains that phrase; the answer cites Zodiac.
-
What is your spoiler policy?
Answers from a single editorial page, and quotes its actual rule rather than a general one.
-
What is the plot of Jurassic Park?
Nothing on this site clears the similarity threshold, so the model is never called, even though it knows the film perfectly well. You get the fallback instead of an invention.
-
Who won the World Cup?
The same fallback, pointing at the editors.
A chatbot that stays inside the archive
Bottom-right of every page, or full width at its own page. It streams, it shows what it is doing while it works, and it restores your conversation if you reload.
-
How do your ratings work?
The 10-point scale, cited to How we rate films.
-
I liked Parasite, what else should I watch?
Recommends Get Out, reasoning from our own review. Nothing connects those two films but meaning; no shared tag, no shared genre term.
-
How much did The Godfather make?
Declines. Box office is deliberately not on this site, and it will not fill the gap from memory.
-
I want to talk to a person.
Links directly to the editors.
Related reading, computed from meaning
Open Se7en and look below the review: Zodiac, Why 1995 changed the thriller, Gone Girl. Not one of them shares a tag with Se7en. The block runs a vector query, not a taxonomy lookup.
A second assistant, a second body of content
Open the study programmes and the widget in the corner changes: same machinery, different corpus, different voice. It follows you across the programme pages and the student service pages, and hands back to the film assistant everywhere else. There is also a full-page version.
-
When is the deadline to pay the semester fee?
1 September and 1 February, cited to Semester fee.
-
Can I study nursing part-time?
Correct, and it quotes the programme's own fields back: 180 credits, part-time, application deadline.
Ask this one about films and it declines; ask the film assistant about semester fees and it declines too. Two grounded assistants on one site, neither able to reach the other's content.
What an editor sees
These need an account. The links go to the admin interface.
Fields that write themselves
Open a new film, write only the plot, then use the sparkle button beside Review, Subtitle and Summary. Spoken Summary generates an audio file from the same text. Which field derives from which is configured, not coded.
Writing tools where the writing happens
- CKEditor Any Full HTML field: completion, reformat, spelling, summarise, tone, translate.
- Editor actions Select text and a floating menu offers twelve actions in five categories. Each one is an entity an editor can add without writing code.
- Gutenberg AI on the block toolbar, a suggestions panel for title, summary and tags, a "what changed" summary for reviewers, in-browser document translation, image generation, and a sidebar assistant that can search the rest of the site while you write.
Accessibility, SEO and translation
- Media accessibility audit WCAG scores across the image library. Generate alt text on a failing image, re-run, and watch the score move. A recorded run went from 65 to 95 and cleared all six failures.
- SEO and GEO analysis Eight report types. The relevant ones here are AI Mode & GEO Citability and Agentic Search Readiness: they score the page for being cited by an AI answer, not for ranking in a list of blue links.
- One-click translation Every node has an AI Translate column. Semester fee is a good example. It was written in Norwegian and its English version was generated by this feature.
A gate before it goes live
Everything above helps an editor write. This checks what they wrote. Publish a film review and it is screened against this site's own editorial policy first: spoilers, tone and terminology, and facts with nothing behind them.
Nothing is rewritten and nothing is blocked outright. The editor sees what was found and decides. The decision goes into the revision log with the flags it overrode, so "we published it anyway" is a recorded answer rather than a missing one.
Open a new film, put this in Plot, tick Published and save:
-
This movie is an absolute must-see masterpiece and you will be on the edge of your seat. The twist ending, where Mills finds his wife in the box, is the greatest final scene ever. It made $327 million at the box office.
It does not save. About ten flags come back in three groups: the spoiler, then the hype and the second person and movie where the policy says film, then a box office figure that is on no field of this site. Each one quotes the phrase that triggered it. Tick publish anyway and it goes out, with the flags recorded against the revision.
Save the same text as a draft instead and nothing is screened at all. There is no model call for content nobody can read.
The gate does not care which editor wrote the text. Open a new Gutenberg page, put the same paragraph in a block, leave Published on and press Save. The page comes back with the flags in the right-hand sidebar, above the Published toggle, and the override checkbox under them. Same policy, same revision log entry.
The rules are not in the code. They are a policy item an editor can edit, the same versioned config the assistants read, and which content types are screened against which policy is configuration too.
What a site builder sees
These tools inspect and change Drupal configuration.
-
A podcast episode type with an episode number, a duration, a guest reference to People, a transcript, and a publication date.
Describe a content type and an agent builds it: bundle, fields, form display. It creates configuration, so use a disposable name.
- Agent explorer Run an agent and inspect each tool call and argument.
- API explorers Eighteen sandboxes, one per capability. The Vector DB Explorer shows the raw chunks and similarity scores behind every answer on this page.
-
MCP, 55 tools
Connect Claude or another MCP client to
/_mcpover OAuth, and it reads and writes this site under a real Drupal user's permissions, with every change attributed in the revision log. Ask it which drafts have gone stale: three have, deliberately.
What a manager asks about
Logging, costs, analytics, brand rules and guardrails.
- What did it actually send? Every request: prompt, response, model, token count, latency, and who triggered it.
- What is this costing? Tokens, failures and spend by provider, model and operation, with monthly per-user ceilings assignable by role.
- What are visitors asking? Every search, four graph views, and which answers visitors rated badly. This shows what content is missing.
- How do we keep it on-brand? Voice, terminology and policy as versioned configuration that every agent reads, with a log of which entry fed which run.
- What stops it going off-topic? Reusable checks that run before a request reaches the model. Two are configured here: a free length limit and a topic classifier.
- What should we write next? Gaps and content ideas across everything published, ranked, and exportable as CSV.
Configuration details and known issues are in
AI-FEATURES.md
in the repository.