DrupalCon

Context is Everything: Configuring Drupal AI for Consistent, On-Brand Content

53:32 · 23 Mar 2026 – 26 Mar 2026 · YouTube

About this talk

This talk covers the Context Control Center (CCC) and its role in enhancing Drupal with artificial intelligence capabilities for creating consistent, on-brand content. Aiden, the speaker, is involved in developing and managing web solutions at Foster Interactive, as well as leading the AI initiative in Drupal. The session discusses how CCC allows for effective context management through organizing various context items, such as brand guidelines, tone of voice, and content strategies. The importance of context is emphasized, as it significantly influences the quality of AI-generated content. The speaker also delves into the underlying architecture of how the CCC interacts with the Canvas AI, detailing features like scope, subcontext, and multilingual support. The overarching theme stresses the necessity of crafting precise context to ensure that AI-generated outputs meet organizational standards and improve user engagement.

Full transcript

Well, thank you very much everyone. This is Context is Everything Configuring Drupal AI for consistent onbrand content. I am Aiden. I run Foster Interactive, a digital agency focused on UX research for building AI enabled B2B and higher ed websites. I'm also the organizer for the AI Drupal Toronto meetup which meets virtually every second month. So even if you're not in Toronto, please do check us out on

meetup.com and we'd love to have you join if you're interested in things web, things Drupal and things AI. Uh my company is also part of the Drupal AI partners and within the structure of uh that organization. I am the UX manager for the Drupal AI project. >> All right. All right. Thank you, Aiden. And also uh just so you know, Aiden wrote all that context that you

saw if you went to the Dre's note today. So uh you know that was [applause] definitely something. So thank you very much. That was a lot of work. All right. So I am Kristen Paul and I live in California in Santa Cruz. Uh one of my colleagues here from way back is sitting over there. It's pretty awesome. I am the lead for the context control center which

you saw a little bit at the Dreote. I'm going to dive in a little bit more now. I'm also the program manager for the Drupal AI initiative and also with Salsa Digital who is a a partner an AI partner for that program as well. So with that hat on, if anyone is interested in becoming an AI initiative partner, come see me after the talk. All right. And

I've got my details here if you want to hit me up on all the things. Okay. So we've split this up into two. I'm going to give kind of the nuts and bolts of Context Control Center. So, the first halfish will be me uh giving you kind of an overview of of what's behind the scenes and then I'm going to hand it off to Aiden. He's going

to do more of a deep dive into the Dreote uh context and how it was working with Canvas AI and kind of behind the scenes for that and and and a deep dive on some of the context items. So the context control center starts off with like an overview with some quick links and off to some documentation. And uh one of the areas that you'll spend a

lot of time if you're using it is just in the with the context items and creating context. You can uh organize your context in variety of ways and also give it use cases and other criteria. You can also have subcontext where you can categorize it and kind of have child parent relationships. And let's just look at one specific context in here uh which has rules about abbreviation,

spelling, dates and formatting. And you could see, you know, you basically could put whatever you want, but the this is a good example of things to use and don't use for the AI and also examples of good and bad. So, this is just a a simple example of how you could use context control center. So, why does context matter? Just adjust this a little bit. Um, if

you have no context or bad context, then you're going to get guessy generic garbage. And basically, so if you're at the Dreote, we want no slop, right? That's like our our end goal is no slop. So, in order to not get slop, you need to use your context that makes sense for your organization, your agency, your brand, and put that into a system so that agents and

other tools can use it and create accurate, authentic, aligned results instead. So that actually you don't get slop, you get good stuff. There's context can be anything really as long as it's textual. Well, you could even take an image and then you know uh process it and get text you know that describes the image. But you can think of context also sort of outwardly facing information things

like your audience, your brand, uh how you want to be perceived in the world, tone, that sort of thing. But you can also think about context in terms of your business rules, how you operate, how you want to add, you know, automate your internal processes, how your departments work together. So you don't have to think of of context as just a brand guideline or, you know, just

a writing guideline. Those are really great things and you should have those, but it can be as flexible as you need it. So you basically have a tool to provide whatever context makes sense uh for the types of activities that you want AI to help you with. So these are just some very very specific examples of what could be uh considered context. You might have tone of

voice or you know glossery of terms, SEO requirements or best practices, your service catalog. I mean it's it's basically endless, right? anything that you can extract out of your documentation, your humans like try to codify this and say, "Okay, we need to be able to understand how do we want AI to do better with the information that we as humans have and provide that into So the

whole point of conscious control center is really to bring order to all of this information and and have a very easy to use system both for technical and non-technical users. So it's very important that we serve uh you know non-technical users who can easily add their context without really needing to know anything about AI or anything but also your non your your technical users your developers they

need to be able to extend it they need to be able to add their own use cases and uh your site builders be able to configure things in ways that make sense for the end users right so um it's meant to be a a place where it's it's serving uh it has usability and and developer experience on both sides. So at a high level the the big

features of context control center. One context management. So this seems obvious but you know Drupal is a content management system. Context is content and we want to have the same sorts of things for managing context as we would for other content in Drupal. We also have the concept of scope. So context, you know, you want to still be able to maybe uh scope it to certain use

cases or certain languages or things that give it some criteria that's like, okay, well, I've read I've written some u writing guidelines, but actually this one's really for blog posts. It's not really for general pages. And you can scope it so that you provide more information of when this context is relevant. There's also concept of subcontext and that's it's an optional thing. Well, scope is as well

but um scope is is very useful and and you should use that. Subcontext is a little bit more of a choice. If you have a lot of context definitely scontext and organizing it would probably make sense. If you don't have a ton then you know you don't necessarily need to do there is a so right now we've mainly tuned CCC for uh working with agents that's what

we've mostly been testing with uh we do want to extend it beyond that but so there's a whole context selection logic process that goes into play that we'll talk a little bit more about but um you need to decide like this agent you know what is this agent's job what are they trying to do and make sure that you're pulling the right context for for that particular

purpose. And then again there's admin experience and developer experience that we've tried to bake in to make this uh you know useful for both audiences on technical and non-technical. So I'll go a little bit more into the context management side of it. So for those of you uh who have used Drupal or any content management system, any CMS, you would expect that you should be able to

uh revision your content, moderate it, you know, have draft and and um publishing and unpublishing scheduling, multilingual support, you know, translation support and that kind of thing, right? Wizzywig editor. This is all like pretty much standard what we would expect out of the box from a a CMS. And so context is no different. It's just content in the system. And we support all of the standard ways

that you would expect to be able to manage that context. Um so some of them maybe are a little more niche like scheduling. You know, it's maybe a little more niche uh thing where you know not everyone's going to need to do that. You can you can turn it off if you don't want it. But uh there may be cases where it makes sense like you have

a campaign that happens every year and you have some special rules and you're like okay I'm just going to have it activate and deactivate at certain times because it then it's not really cluttering the system. So it has its place but most of the things are are much more um general and definitely for you know people that are doing multilingual sites. So early days in Drupal I

was really involved in like the Drupal 8 multilingual initiative. So multilingual has something you know is very important to me. Um and I think it's it's something that we should make sure that you know this is a global community. You want to want make sure that we have that support. Oh one more thing on this one. So there is a wizzywig editor but it is a markdown

editor. So uh context uh so when you're talk you're working with uh agents or LLMs you tend to you know try to have some sort of structured content. And so markdown is a is a nice format because it's still human friendly yet it's also uh LLM friendly. So uh we've chosen to integrate a markdown editor within it. So this is not CCK. We did try using the

CCK markdown. There is kind of a way of doing it but it was a little bit clunky and so we we went with a more dedicated markdown editor. All right. So I talk a little bit about this uh concept of scope. scope is basically just adding some criteria around your context. So the most general one would be is if you had global uh context. Now that you

think, oh that's cool, I can just like tag stuff as global. So I would say use this sparingly because the idea of global is that it would be included with every single prompt that you're using on the site. So it it needs to be ideally small and very you know very very global something that you know maybe there's some you know never use words or or something

that's like you know must-have things and that's fine and you can use it but um but definitely you know think about that when you're using global there are specific use cases you can define so out of the box we come um with a couple that were shown in the Dre note which are writing words and working in canvas this um but you can extend and do more.

So you might want to have reviewing content, [clears throat] writing code, right? Or other things. Uh basically it's it's flexible. You can decide what you want to add. There's also a free tagging um capability where there's a dedicated vocabulary where you could add terms in it. Just your standard sort of thing that you would expect with taxonomy. if you wanted to have context that was for legal

pages, you have legal stuff on the site and you want to make sure that you know those are covered. Um, or you have some spring campaign and you want to tag it so that you know that those are for the spring campaign or whatever. It's just a way of organizing your Now, this this one is uh so I don't know who's the who are developers in the

house by show of hands. Are there techy? Oh, actually a lot of you guys. Okay. So, uh yeah. So, target entity. So entity is a very you know nerdy term but um basically all it means is if you want you could get very very specific with context and you can say the this context is re uh it works for or is it makes sense for these particular

canvas pages one or more these particular blog posts uh media images really it's entities so it's basically whatever is a content entity in Drupal you could configure spirit that you could attach scope to those and associate that. So again, it's maybe a little more niche um but it can serve a purpose if you want to have very targeted context. Site sections was something that was uh proposed

early on and having context associated with certain uh parts of the website. So if you have marketing pages and they're at slashblog whatever slash product and then you have pages that are more maybe for the HR team maybe that's slashabout and around there or slashcareers you could actually have different site sections and they're all for now it's all pathbased and say okay well this context is is

for this area this context for for this area and then that way you're you're reducing the amount of um complexity when like the selection logic happens because it's like okay I can just ignore all those other things because I'm not on that part of the site when I'm trying to generate content. And last but not least uh so we have multilingual support which means you could actually

translate context if you would like. Another way to use language support is you could just you don't actually have to translate. You could actually just scope uh a particular context to a particular language and and if if you're actually just writing in English which sometimes people do even if they're um you know the output is in other languages you can still do that. So that's the idea

of scope and this is something that is these are plugins which means for the developers in the house you can extend it and make your own scope plugins. All right so we'll talk a little bit about subcontext and these are ones coming out of the dre note. Um so we had our fin drop and these subontext items and there's two kinds of subcontext items. one is required.

So the ones with the little um angled arrow up, those are required contexts. And all that means is I want to organize my context in sort of a hierarchy, but I want it to still be included with the parent. So if the parent context is included, then just the child comes along. Um, and it's usually more just for organization or if you have some fine grain rules

that you would like to break out and potentially uh use those uh subcontext items for specific processes that maybe you don't even use the parent. So it just gives you some a little little more control over how context is is um organized and also attached to agents. The other kind of cont subcontext is conditional and um this one's a little bit more interesting. So there's logic behind

the scenes that if you decide that you would like conditional context, we actually have to use an LLM, we have to use AI to decide if the subcontext makes sense for a particular situation. So, if someone's doing a prompt and uh we're like, oh, the you know, it checks the parent context. So, like for this example, right, we've got general page building guidelines. It's got three subcontext

items. They're all conditional. And the the the general the parent context is like gives some general guidelines about page building, but it says, "Oh, if you're building an article or blog post, I would like you to pull in the subcontext that makes sense for that. I don't actually want you to bring in the product pages subcontext, but there is some in the parent level, there's some like

general guidelines and then it pulls in the right one based on the task at hand." So that's the difference between the two types and I'm not going to go into all the details because there's a lot of different criteria which goes into context selection. Um, you [clears throat] know, whether it's published or not. You know, obviously you don't want to use context if it's not published sort

of defeats the purpose. Um, you can do hard override. So you can always include some context for certain agents if you wanted to. Sometimes that makes sense. Uh, or never include it. So there are some you know overrides that you can do and then all the you know factoring in all these scope criteria and the subcontext rules and there's there's a lot behind the scenes to you

know to tune it um to so that's more on like your your um site builder side your developer side that would you know try to figure out the right um setup for uh context control center whereas your non-technical users would be more providing the context entering it in the system. Um, you know, grooming it and and organizing it and adding new things or updating it, that sort

of thing. More on the con content management side of things. And you can extend it. Um, I think I already mentioned that you can add additional use cases if you would like. The way that you extend it for now is using a custom module or a contrib module. So you can um add use cases like reviewing content, writing code, basically anything that makes sense for your particular

organization or website. You can add these scope plugins. Some examples might be maybe you want context that's associated with a particular role that if someone is that role, then that context could get pulled in if it's relevant to whatever the task that the agent is doing. Um so but basically it's also flexible. You can decide what kind of scope plugin that you would want to add. And

um the and another one is just you can manipulate context uh even before it gets injected into the prompt behind the scenes if you if you need to do that with like guard rails or other things to make sure that you know you're not um providing you know personal information or other things as well. Dre mentioned I don't know who missed the Dre note but I tagged

a beta one last night which was very long time coming. I've been working on this for months and I want to thank [applause] many people were part of that. Thank Aiden and Emma who's over here as well. So for my UX support we got Aiden and Emma the dynamic duo I really love working with but a lot of other folks also uh were involved with this. So,

you know, Salsa of course, but then, you know, Freely give uh know Marcus was helping out a lot. Um, Aquia, Scott Falconer also helped a lot in the last few weeks. Um, 1x internet, Bruno was doing some front-end work for it. And, um, I'm probably forgetting some some important people. So, but yeah, it's been a a labor of love and also a community effort. So context control

center is part of uh the AI initiative. It's one of our core capabilities that we're building as part of our 2026 roadmap. And uh very excited to hit this milestone. And the our whole vision is to be the source of truth for context so we can connect Drupal with external systems as well and AI and have you know these really good outputs and no AI slop. Okay,

so a little bit more on the road map. So we just tagged a beta which is exciting, but uh we need people to test it. So ideally we've got some beta testers out there that'll I will also be around on Thursday for [clears throat] contribution day. I hope some folks will be able to join us. We'll have some AI tables. Um going to probably be testing it

and tweaking it uh that day. But uh so basically all of the things that are in beta 1 uh are pretty good, but we need you know some fine-tuning, make sure that you know squash some more bugs or whatever. And that's all the stuff that I've already covered. And that's um the 1.0 release we're hoping for May. Uh you know, got that foundation, we've got the context

management, the the scoping, uh subcontext, all the selection logic, and believe me, that was a big merge request. We refactored all that and it's just down to the wire just like two days ago. I finally merged that in and tested a bunch yesterday. So, um it's it's a piece it's a it's a beautiful piece of work. Um but and then all that admin and dev UX. So,

what's coming next after that? Uh so, we've talked about starter templates as a possibility of like kind of jumpstarting folks. Um, also like maybe easier workflows and kind of like wizards and things. Uh, common sources like uploading from a PDF, pointing it at a URL, giving a markdown file, that kind of thing. That one actually may end up in 1.0. They've made enough progress on something called

the document loader, which is an amazing module um that has a stable release now just as of a few days ago. So I think on Thursday I'm going to spend some time uh seeing if we can actually pull that over into the 1.0 release instead. But then also just external uh provider plugins and you know pulling stuff from GA you know so like dynamic things uh yeah

so lot of fun stuff happening you know working with non-agents so automators MCP all sorts of fun stuff. So there's a lot of stuff on the road map. I'm not gonna get into all the details because I want to hand it over to Aiden for deep dive into Dre's note fun stuff. >> Thank you very much. All right, so if you're going to leave today with one

point to take away, it's you got to focus on people first or else you're going to end up with AI slob. The magic, the apparent magic that we saw in the Dreote demo and we'll be looking at a second doesn't really come from the AI. it comes from the human effort that goes into making good context that the AI draws from. So that's the overarching theme. Um

and really that we're trying to solve some core challenges for marketing teams. Right? At Foster Interactive, we work with B2B and higher ed organizations which both have very very different missions. But the problems that the marketing and comps teams face are very common. They have tons of different responsibilities. They need to do newsletters, web updates, paperclick campaigns, events, events. like it goes on forever. Their teams are

stretched. They have a finite amount of in-house expertise because no one can do everything and because of that they are short on time and behind on deadlines pretty much always like putting out the fires and so things like keeping your site up to date all that kind of stuff sort of falls by the wayside. So at a high level, the context control center and the canvas uh

UI with the canvas AI agent in the middle works at at a high level like this. The user prompts in canvas AI that passes the prompt on to an orchestrator agent. The orchestrator agent actually makes one or more sub aents that actually do the page building or whatever that is. And those agents call the context control center. It might loot rules about your component library from the

component library like single directory component system and then depending on whether it needs to some of those components may need images or that kind of thing in them. So the agent actually calls and looks up media and picks what media to use and put back into the system and that is how the page is actually rendered. So let's look at that again. What we saw this morning

in the Dre note. Uh, what I'm doing here is opening up the canvas UI and pasting in a prompt that says, "Hey, can you make this product page?" And I've pasted in the markdown for the product page. Now, it says, "Hey, hang on a sec. I need to know who the audience is for this page and what is the goal of the page before I can reliably

make a decent page for you." So, I've answered saying it's for travel managers and to get white paper downloads. Now, at this point, I'm fast forwarding the video. There's about like 2 minutes cut here and the system is going into the back end and it's sort of saying, "Hey, I'm planning out this page and it maps out all the the the thoughts and now it's actually starting

to build the page." So, we've got our hero image in there and there sort of a hero block with two sort of secondary call to actions in there. It's rendering cards and picking the icons for the cards that wasn't specified in the original content. Now it's mapping out like we'll call them our key feature sections. It's selecting images and mapping out further uh further details here. It's

pulled in and decided that it saw content that looks like testimonials. So it picks the testimonial component and pops them into that structure. And now there's an additional detail section that it's writing out here. So remember the input was just a markdown file with some heading hierarchy in it and that's it. And so it's taking our unstructured content using LLMs to understand you know it's looking at

a whole bunch of context control center rules which we'll look at in a minute and mapping these PE pieces out and then wrapping up at the bottom with like a call to action block that's showing up So in addition to this, it's actually created SEO metatag and description which is contextual to the audience I told it and it even flagged a thing to review where somewhere in

this copy it's there's a reference to a product name and it's like hey that's not on our list of approved product names. So now I want to change it. Let's say let's swap out this illustration with a photograph of a person. So I'm just like hey change the header to someone from our photo shoot and it just pops it in there. Another change might be down here.

We're like, "Hey, this looks a little textheavy. So maybe we should take this content and I want you to rewrite it as an FAQ block in the bottom and I want you to use the titles that are in there and rewrite them as questions and paste it down at the bottom. So again, each time I do one of these things, it's cutting out a minute or two

of video while it says thinking and crunching away, but it actually then starts restructuring it. So when it's when you see anything rendered, that's real time. and it's taken that content and it's reformatted and restructured it and put it at the bottom of the page. So now the canvas AI doesn't have any tools to delete. It won't ever delete things for you. So now I'm going to

cross check and make sure. Right, we got to double check AI work. Make sure it did a decent job with those titles when it copies it across. But when it's good to go, I can go ahead and delete that and sort of move on. The next thing I want to check out on this page is actually search for other pages in this website that I could link

to. So I put in a prompt just saying, "Hey, look for opportunities to cross link." And what's actually done is it's gone and read through every text field on the page. And it's going to be really hard to see on the screen, but there's little underlined like product names and things have been linked over to other pages where it does a semantic search in the background to

find thematically related content and added in those links for me. And now at the bottom here, the last thing, we want our stuff to work well on chatbt and all these other agentic search tools. Said, "Hey, just give me an AEO schema, which is structured markup that is like a reinterpretation of the content that people read on your page, kind of designed to be structured in a

way that's very good for uh Gemini and chatbt." And so it's read through the page and written that out uh written that content out in the structured content format. So this is crazy. This is crazy that this actually works. And you know to go from nothing like unstructured format to a page 10 minutes to do all these checks and balances. And what's more important is that the

quality is actually probably better than any, you know, even if I'm really good at all the like most of these things, there's going to be something that a double check on there is is going to help me improve my results. So, let's take a look at what context items or context documents we saw in the list earlier are being used at different parts of the workflow. So,

we started off with the prompt request that said, "Hey, can you make this page for me?" And there's three columns here, right? So on the left column that's I'm saying is the chat and the canvas UI. The center column is the agent and the uh column on the right is the context item. So the user prompts saying, "Hey, make the page." It triggers the agent is reading

the agent interaction guidelines. That's what tells it to say, "Hey, I don't have enough information to do the job." So I need to answer the question of who is the page for and what is the goal of the page. I I reply back. that goes back to the orchestrator agent. It now has enough information to do the job. It passes off the task to the Canvas AI

page builder agent and that loads a ton of context which we'll look at uh in a few minutes and such as brand guidelines, content strategy uh and structure for product pages. But during that journey, it's needs to make some cards and pick some images. So, it actually talks and it actually does a search with that semantic search in the background. And there's other context rules about what

I want for my imagery and what I want what I like for icons. And then when that's all done, it's finished rendering the page and passes back the comments to the to the user. Hey, I've done these SEO things by the way. And then it flagged that that item for review. So, because there's a whole bunch of brand guidelines in there, after it finished the page, it

just said, "Hey, please double check this. So at a high level that's that is the workflow we saw and all the different pieces of puzzle that come into play. What I want to emphasize though is the context control center CCC for short is flexible. So what you're seeing here is how I chose to structure the content within the section. You don't have to follow this structure like

don't think you have to have these categories these these pieces. You can structure it whatever is appropriate for your So the guidelines that are here, we've got agent interaction guidelines, brand tone and voice guidelines, design system and user interface guidelines, images and icons guidelines, and then the content structure guidelines. So these all come together to build the page. So the agent interaction guidelines are interesting because the

orchestrator agent that the first responds to your request doesn't actually know anything about what's on the page. So what we want to do is for identifying certain critical tasks that we're going to expect people to do within our website, we actually just write a quick prompt saying, "Hey, don't go and build a page until you know some key questions, right? Until you know who the primary buyer

is and what their goals are." So this is an example. Uh again, all of these prompts are just markdown files. And this is an editor called Typora. So if you're going to be doing a lot of work in context, get a good markdown editor you like to work in. And it just lists what it needs and what we expect. And if I don't have that information, what

do you do next? Right? Ask the user. And if the user refuses, do you, you know, do you guess and proceed? So you actually kind of describe how the agent should behave for certain userbased actions. Now, if you don't have any really complicated actions, you don't need to do this at all. You can just um just skip it. So what are the steps that go next to

going from unstructured to structured content? It loads the brand guidelines and key facts which formats written words and if it needs to it writes new ones. The canvas UI is descriptions of all the user interface components that it can use to build the page out and it really explains what they are and how they work to the agent. And then finally we have the content structure guidelines

which uh which actually um organizes how that pieces are how those pieces are mapped out um as well. So the brand guidelines itself here's an example of them. You can see that there's conventions for how we describe the names of products, places, dates, numbers, all this stuff. spelling, grammar, style, copy patterns, lists of acronyms that you like to use, or even lists of band words you don't

ever want the system to output, as well as mapping out um image approach and and preferred icons structures. So, these are all broken up into sort of categories that were those subcontext items we saw earlier. For images, you can see what it's actually doing, right? It's going to your media library and picking images. And for icons in this theme, there's an ID you have to fill out

and it uses the phosphor icon library. So, I've actually just loaded in a bunch of here are a bunch of icon IDs that are on certain themes and it uses that as context to help pick the the icons. But for images, every image that's uploaded to the system actually has a description that's when you uploaded the website, an LLM tool describes the image, but then I've actually

written, you know, obviously a human curated description of saying, hey, this illustration is related to the theme of finrop travel products and just sort of describing when it when when it should be used or what sort of context is in there. So it's really quite an interesting you know we've been trying to organize media uh in Drupal for a long time but now you can just describe

the application use case in natural language and then the LLM in the back end is actually as it runs the page it runs search queries to a vector database that returns appropriate media and that's how it decides which media to place. So the next section that we have here is a key facts and value proposition in a business organization like this. This would be like approved stats,

facts and claims like key key details that you would want to emphasize on your page. I've also included a testimonial library that's affiliated with different lines of the business and examples of call to actions that are approved and sort of like applied usages of these facts. um as as you go through. The next item is the canvas UI component descriptions which literally is text explaining what the

user interface elements are. This is actually outside of the context control center. It's in the canvas UI prototype. Probably will come into the context control center in the future. But you can see how every single component in canvas has a description, a short description and a long description. And how it works is the LLM canvas UI agent gets a gets all the short descriptions automatically. So it

knows what tools and building blocks it has to assemble and build a page out of them. And then if it picks to use certain components, then it gets the long description underneath. So I did a lot of work in here to get um the descriptions to work so that it wouldn't put light colored text on a light colored background. That kind of thing. you express the relationship

on how different elements of user interface should be used when they're placed on the canvas. And then this is the last one, content structure document. This is the heavyduty one. This is describing what a good product page actually is. And there's a ton of detail in here which includes sort of this huge table of contents for required and optional elements to make a good product page. And

so this is doing the bulk of the work of taking our unformatted content and telling us how to build it out. Each section of the page has detailed descriptions of the if you go into canvas UI, those are all the options that you can pick and use and map those items out. And then you could even include things like that you see here where there's like there's

feature sections and if there's two to four of them, use cards. If they're longer than two to four, five plus, use straight up text descriptions in two columns. And that rule was actually used where you saw that that chunk of text that got rewritten as FAQs. That is why it formatted it into two columns there. And as you work through these things and and sort of test

them, uh it's really helpful to put a checklist at the bottom of your file. If it does unexpected behavior when you're rendering your output, you say, "Hey, don't consider the page done until you've completed this checklist." And if it sort of ignores rules or whatever, it gives it a an extra kick to actually do what you want it to do. And it tends to improve the quality

quite a bit. So you may be thinking, hey, that is a lot of work. But not if the tool gives you quality at scale here. You know, if you were to do that page manually, I recently did like landing pages for our paperclick stuff. It's like fully an hour or two after I wrote the content flowing out the page getting it right. This is down to 10

minutes. So you get a, you know, a time and quality multiplier forever after you've implemented these systems. You still need to take care of them. It still needs to be maintained with good context over time, but it's a massive time multiplier. And you may be tempted to skip doing it and using canvas UI without it. And I strongly recommend not to. This is the exact same prompt

when I just deleted the entire context control centers context before doing this. So you can see the nice dark card in a single column that's filling the whole page. You can't read it because it's picked dark text on dark backgrounds and doing >> AI slop. >> Yeah. So so we need to, you know, you need to do the work for these tools to kind of work for

them to function and give you good results. So out of in this prototype out of maybe five runs or so, one would kind of fail and it was just like not worth using or it would literally time out or something. Three would need some improvement. One was excellent. Render time is about 3 to 5 minutes on average. Costs about a$150 to render a page in API tokens.

Uh because it's running Claude and Claude sonnet and opus as the primary models that are doing all the heavy lifting building out the pages. Um, we also tested OpenAI versus Enthropic. Again, with Drupal AI, we don't want to be tied to any one vendor. This is just prototype time, but the end of the day, Claude was working better for us at the time. Last Vienna demo, OpenAI

was the better tool. So, it it it moves around over time, and we think that's because it's recently the uh cloud models have a 1 million token context window, which just allows it to handle a lot of data. So, I think that that's been really helpful for the output. our sort of my my company's sort of next steps and what we want to focus on in the

near future is setting up a bunch of automated tests so we can rerun that page building process like over and over again and that'll allow us to test different models and tune and reduce you know ultimately reduce some of the detail that's in the context control items that you see here. We want to boost speed, reduce costs, and of course improve output. And uh as we as

Kristen talked about, create tools to help create context, right? It is a pretty specialized thing to think through and and organize all this information. Uh so we can build helper tools that make that even easier. And we've reviewed a deluxe setup. You don't need to start with a deluxe setup. Maybe start with one or two brand guidelines and and start playing. And then you could introduce more

complexity over time as you're working within the tool space. Uh I recommend everyone check out this Norman Nielsen Group article on tone and voice where they define this idea of tone and voice for an organization as four key attributes on a spectrum. And so if you check out ai.fosteractive.comcc there's a matching word document that's kind of like a template that you can sit down and fill out

with your team. Definitely go and read the article first, but fill it out with your team and then you convert that to markdown and that can be your tone-in voice document, your first thing to go into Also, the entire prototype that we've been looking at, you can download and install. It's on github.com/fosteractive c2026. So, Chicago 2026. Um, and even if you want to install this, you'll need

an open a API token, a cloud API token, and DDEV. But if you just want to look at the context documents that I showed very briefly up here, they're all just sitting in the folder. So you can just download it and check those out to get a sense of how to structure these things. I want to emphasize that human first AI, which is what we're talking about

here, it's a team sport. The knowledge that you need to put into your context control center is probably like a PDF brand guideline that no one's looked at for a few years sitting in a folder on someone's computer. And more importantly, it's actually probably all hidden and embedded in your team members's heads as assumed knowledge and expertise that everyone knows but no one has articulated out loud.

So when you work through that, connect with your teams, connect with your vendor partners and organize and gather your team of smart people to sit down and address this challenge. Do user research, talk to your actual audience so you understand their pain points, needs, and wants. And then as that that as an input you can workshop with your team to figure out your brand positioning, your strategic

positioning on how you as an organization address the problems that your audience actually faces and that can become the basis of a content strategy which connects the dots, right? How do you solve their problems and write words that resonate with their with your audience in their language but proposes your solutions? And you need a design system to map that out, which then becomes a system you can

test, right? Don't assume on your first pass you're going to get it right. Review it with that audience as well. And so this practice where we sort of put human insight as the core of what we do is how we produce quality content. And when we do put quality content as the core of what we do, we get two benefits. Our work becomes authentic and distinct because

what we see as a trickle of AI slop is quickly going to become a deluge. And so the organizations that are going to be most successful are going to be the ones who actually double down on user research and keeping human insight at the core of what they do. So I'm going to leave you with two closing thoughts today. The first is that I want you to

all, you know, it's now is the time to unlearn what you think is possible. My own assumptions like working on this project honestly like held me back. I couldn't imagine the workflow I just showed you like last summer. I had no idea it would be possible. So now is the time to look at old problems with fresh eyes. But at the same time, we need to remember

that human insight cannot be outsourced to AI. And as we enter a world where ev basically everything we look at is fake, it's more important than ever to have real authentic an authentic human core to our AI enhanced work. Thank you very much. Please. Yeah. So if you were around on Thursday, please come and collaborate with us. It' be we'd love to have lots of test cases.

uh reach out to us on LinkedIn if you have any questions afterwards and please please uh scan the QR code and provide feedback. >> Yeah. And I know technically I think we're at time but um we got the room for another few minutes. So if anyone has any burning questions uh you can shout shout one out now. Okay. >> So I do integrated marketing stuff. I'm very

excited to use this and everything. I use AI in this way. all the time. Things like that. >> So, so I think maybe repeat the question. >> Um, so the repeating the question would be uh has there been consideration put into other use cases for the context control center outside the website itself such as social media um and other platforms? And I think it's the answer is

yes. Right. Um uh an MCP server connection to Drupal would allow any AI tool to have access to the knowledge stored in the context control center using all the scope and rules and and uh that that could be defined within it. So that could be think of it as a knowledge hub that an organization could build and make available to all kinds of different >> Yeah. And

to extend that just a little bit. So there's uh part of the 2026 roadmap for the AI initiative. There's uh eight core capabilities and one of them is actually multi- channelannel um campaigns which also uh so a lot of those capabilities we're going to be you know working together in these different streams of work and making sure that we're supporting each other uh whether it's canvas or

you know so page building or the component uh the design system components and also campaigns and things So we're not in a position where we can switch very easily right now. >> Can we make this work in a different setup for paragraphs? >> Ah the paragraphs question. >> All right. Thanks a lot. Uh [laughter] so uh so if you have an agent that works with paragraphs, yes,

you could use context. Yeah, you could use CCC with that. So it's context control center doesn't depend on any kind of agent. It's just that there's a mapping you could do a mapping between agents and whatever context is in the system. So it is a very flexible system. So what I would ask is is there are there any good agents that work with paragraphs? And I don't

know the answer to that. >> Yeah. As a followup for that as well, the same exact same question came up where, hey, I don't want to I'm not ready to use Canvas. Well, can I can I get value out of this now? And so, we're working on an AI review module. So, it can't go back and make the changes for you. That's like a key piece of

the puzzle that's missing. But go ahead and review your rendered content against your own brand standards or guidelines. Again, the the emphasis here is it's not like we've predefined what the what the metrics can be. Your organization defines what good is and provides examples in the context control center. This is good, this is bad. And then we're working on extending that use use case to be providing

feedback and review on a page. It runs in the background. It could rip through all kinds of pages so that for example, you had an outdated fact that is now stale. It could actually review your page and be like, how factually accurate could be something you consider important for your organization? You got a list of facts and you're like, score the factual accuracy of my pages based

against this list of important facts. >> Could context control center uh rules and elements be set up as recipes that you can reuse across sites? So the question is can you use context control center to make recipes with your context to be able to reuse across different sites? Um yeah so uh yes and no. So right now um what you can do so a recipe um you

can you can use so if so backing up the context items that we saw those are content entities which means that you can include them in a recipe but it needs to be default content >> right so so just for the nerds in the house right so there's the config entities so actually back in the day for Vienna content control center was uh config entities but we

wanted to have all of this um content management revisions all these things that it didn't make sense to stay there. So we we switch those over and then um so yes in principle you you could package all that up. Now is that reasonable because those things are going to change over time. So I don't think that's necessarily maybe the best approach, but on the road map is

a way to be able to share context between systems and have your hub and then you know using MCP >> and the demo is recipe based. So when you install it, it goes and does all that stuff. But yeah, not sustainable is the problem. >> Thank you. in the back. >> Do you have any sense yet how this might affect performance of the live site? >> So

the question is do we have any sense of how this might affect performance of the life site? Um well I mean you saw that the times that it takes to generate this stuff is you know can take a while but a lot of that's chunking back on whatever provider it's happening. I don't know like yeah CPU time maybe you have a better idea >> the loads on

your AI provider. So you're you there's you're you're the the system chunks away and does you know the fans don't go or anything like that on on the the local prototypes. It's it's all >> in the data. >> On the CCC side though we did put a lot of effort into performance tuning. So that is something security and performance tuning was something that we we heavily made

sure that now if you had a million context items I don't know we haven't really tested that case but if you have hundreds or whatever it should be finevious. Um yeah, so obviously test it out. Would like like to see your feedback. There was maybe one more. >> just I saw that you said open AI and a cloud code, right? That's and >> it's and so the

image processing part works best with open AI and then claude was the best for understanding the page composition rules and translating those to canvas UI components, writing words, picking images. It was just a little bit little bit better at that. >> Was that a choice you made or you saying that we would need to have both >> to run the demo? You need both. >> Okay. Uh

but there's absolutely no reason like there's no there's no there's no infrastructure dependency here. Uh put in more work, make better context, use a lighter model. That's definitely practical. It just needs iterations to get there. >> Two word question. Where is the demo? >> Uh yeah, so maybe jump back to that slide. So, we did do the demo actually using the GitLab uh the Drupal the Drupal

associations GitLab and it was private and we couldn't figure out how to make it public. So, Aiden nicely put it on his GitHub last minute and and it's there. So, uh yeah, so thanks to Aiden to make sure that that was uh made available for everybody to try out. >> Um but yeah, we're we're well over time, so I think any other questions will be outside. Uh

happy to to have your additional questions in the hallway trim >> and join us on Thursday. >> All right. [applause]

From event

DrupalCon

23 Mar 2026 – 26 Mar 2026

All event videos
Back to Watch