Building a site using a headless WordPress approach is a strategy with growing appeal in all kinds of organizations. While we have the tools available to do it, the approach right now can feel daunting, and requires cobbling together a number of plugins to get the results you need. WPEngine’s Kellen Mace steps in to help us understanding headless WordPress, and introduce their new one-stop tool, Atlas Content Modeler, that’s designed to help simplify the development process.

Followup Resources

Transcript

The following is a machine-generated transcript of this episode. It will contain errors until it has been reviewed and edited, and we apologize for the difficulty that may cause for screen readers. Do you want to help us speed up our transcribing process? Consider sponsoring an episode.

Everybody. Thanks for joining us this week on episode number 98 of the drunken UX podcast. This week we’re gonna be talking about the importance of atlas content model to the future of Headless WordPress. We’re being joined by Kellen Mace from WP Engine to talk about that folks. I am your host, Michael Fienen.

I’m your other other host Aaron. How are you doing tonight, Michael?

I just took a swig of semi warm scotch and it hit me a little sideways Laurie. Oh, make a face all right, good to go, hey, I’m doing good, how are you doing Aaron?

So my hands feel like they’re on fire. Um I was cutting peppers earlier from my garden, they’re these tiny, little like just like the size of like half my pinky and they’re like yellow. They look like tiny jalapenos.

What are those called? Like bird? I um

I don’t know, but they’re literally fire. I chopped at lunch and I de seeded them and then I washed my hands with soap because I thought that would do it. No, a they are currently like burning very much

but your arthritis is feeling better, isn’t it?

I don’t I don’t know if I have arthritis? I can’t feel anything but pain.

So did you, did you plant them knowing about the the heat though or was that really the show

I my I got them from my neighbor. Um He’s a really awesome, he’s an amazing gardener and I just like what he got and he just gave me a bunch of things and it’s like some of them are spicy peppers. Some of them are like you know bell peppers or some poblanos. I got some Habaneros and jalapenos. And uh these were a surprise

that sounds like you’re setting up for a game of pepper roulette right? These will make a bowl of peppers grab one, see what happens right

pop

it kind of pepper you want to give to like like a friend as a joke and be like oh yeah I try this tiny little pepper. It’s small. It’s okay

on our next episode we’re gonna do a variation of hot ones, right? Uh I’m gonna get Aaron to eat peppers and answer questions about web development and see see how that goes. I’ll tell you what if you want to see that if you want to make that beer out reality, go check out our sponsors over at the high end Web Association.

Their conferences coming up on october 5th and 4th and 5th and if you want to get a free ticket to that show you can go to drunken ux dot com slash H. E. Web 21. That’s drunken ux dot com slash H. E. Web 21 Shannon cason is going to be their keynote speaker and the entire event is online so be sure to run by there and get yourself a ticket to the show.

In fact, high end web is more or less how Michael and I met many years ago.

I think it is literally how we met, we didn’t

meet in person, We met through the thing with high end web that we don’t talk about. Oh yeah,

that’s Mattie. Most of you want to check us out, you can find us on twitter or facebook at slash drunken uX or instagram at slash drunken UX podcast. If you ever want to chat with us, we have a discord server, just go to drunken uX dot com slash discord.

It will drop your right in the place, Aaron you have an icy glass of something, is that cooling off your spicy hands.

Um you know, I haven’t considered putting my hands into it, but that might help. Um I’ve got some gin and vermouth and a splash of lime juice and it’s all right. It feels like a good end of summer drink

sort of a martini. Like a

yeah, I’m not going to call it a martini because I did not measure anything. I literally just like sports engine parts, vermouth vodka, lime juice on the right downstairs.

I, I warmed up for the show by finishing off a bottle of faber in 10 which was just sitting on my shelf too long so I felt it was time to just finish that off but I finished it before we even started. So I’m already on to another bottle of uh, I can’t say the word. Even Glenlivet 12. Very plain straight up space side. Any bar is going to have it.

If you ever want to try it, just walk wherever you like drinking and they will have it. I guarantee you it’s not fancy, it’s not special. I don’t even like it that much and I kind of want to get it off my shelf so I have to drink it to make it go away.

But when live it, if you want to sponsor us, we are happy to say mediocre things about You.

Oh no, no, no, I just don’t like the 12, the 15 and the 18 are phenomenal. Even the 21 archive is pretty darn good. Like I don’t mind. They’re, they’re hiring stuff and, or even mid tier stuff. It’s just for whatever reason. The 12, not my love the 14 bourbon cask. Also excellent.

Like Glenlivet makes a lot of good scotch. It’s just that their baseline. 12 is not fun for me. 12, it’s

average

12. It’s good enough for everybody to have it. Okay, so here’s the thing folks, we’re gonna be talking WordPress tonight specifically. We’re gonna be talking about a little plug in called the atlas content Modeler to talk about this. We have brought in Kellen Mace. He is the senior developer advocate over at WP engine.

He’s also the host of the decode podcast. He’s also formerly the senior software engineer at finder. He’s also the chief product officer at harness software and a developer at several other WordPress agencies. Kellan. Welcome to the show. Hello there.

I am glad to be here. Glad to be here.

Thanks for taking that long trip over one link to join us.

So it’s treacherous, but I made it so it’s

happy to navigate their way here. Eventually. It’s like we give you the map, you gotta cut through some jungles uh, and then your internet connection makes it to Kansas, although you’re just kind of straighten north of me. So while it’s a good distance you’re at least in the same time zone.

Yeah, that helps.

I want to start real fast because the first thing I listed you as was the senior developer advocate at WP engine. Now develop developer advocates are kind of a new and up and coming title. We see them at Digital Ocean. We see them at Git hub. Um, a lot of the folks, if you interact with like dev agencies at conferences.

A lot of times you’ll see developer developer advocates, that’s becoming an increasingly hard work for me to say. And it’s only three minutes into the show. Talk to us real fast.

I’m just curious from your background, like how you got into development just in general, like what was sort of the catalyst for that and that journey to becoming a developer advocate. How how did that happen to you?

Sure. Yeah, yeah. So I’ll go, uh not quite all the way back. Well, we will start at birth, but we’ll rewind a bit, a little bit to um, to my college days, I, I suppose. Um so in, in school I was very much into music. I was a musician, played a lot of guitar and drums and some bands and things. I really love that.

I never quite wanted to make a career out of it. I just pictured myself like endlessly touring the country in a bus or van or something like that. I don’t know that life doesn’t quite quite appeal to me and I’m not, some superstar is going to be, you know, uh whatever famous in play shows and whatever

I own guitars. Yeah, they hang on my wall really nicely.

Do they get some attention?

No, no, no. They look very nice over there though. Like they look impressive.

I I own a guitar or a piano and a drum kit and I play all three poorly. Although of the three, I probably played drums. The best.

Nice. I like all three a lot. That was, that was my thing in high school. I was just like fly off the bus and like crank up the amplifier and wait for my, you know, friends to come play or whatever. So yeah, so really? Uh and I think that’s a common.

I think that’s a comment story, like a lot of developer people I think are just like have a creative side of them, that’s why they like building things, you know, so they, I think a lot of times are like, oh I’m also a novelist or musician or like other other creative pursuit pursuits or whatever I think is kind of common.

So yeah, I was very much into music, we didn’t quite want to do that as a career, so I had no idea what I um should major in in college. I ended up, I had this kind of pivotal day where I printed off like this sheet of all the majors and academic programs at my school offered and crossed out all those that I did not want to, I kid you not,

that’s a good approach,

it was a process of elimination scenario for me. So I was like I crossed out all the ones I didn’t want to do and uh somehow I landed on um this this degree, my school had occupational safety and health management, uh huh.

So I thought it was like broad enough in one sense was narrow enough another sense, so I just, I went for that and after I got to school I kind of paired those two together, I took like my safety degree and then, you know, this foot in the door that I had in the form of um this hospital er job and I prepared the two together and I started doing health care safety.

Um So I did that for a number of years and uh part of something in me wasn’t satisfied and that’s like the creative you know part of me I view myself as a creative person. Somebody likes to to build things and tinker and so on into that job.

It’s very much like here’s what OSHA says we have to do for the E. P. A. Or whatever and I’m gonna train you to do exactly that nothing less, nothing more and do it on repeat for first shift, second shift third shift this month next month. And after a while it got a bit old for me. So I uh I wanted something new.

This was around around the time when uh some popular teacher self to code sites were springing up on the internet. Um So those you know listeners you might recognize like code academy or treehouse or uh code school were a few of the ones um in those days those were becoming popular online. And I was always I was always interested in tech.

I was always like an early adopter of new software and just you know into intertek. I saw that these you know teach yourself to code type sites were springing up online and I thought at some point I was like I wonder if I would like coding, you know like writing code.

I have a friend or two who do that and it seems to be interesting for them, like I’ll just try it, you know, just just to take care, whatever. So I did, I started going through some of the curriculum that those um services had, that those sites had and ended up really liking it, you know, I just, I just I thought…

I remember thinking like this is so cool that you can, if you just kind of figured commit to memory what the rules are and like how to write the syntax, you can do anything you want, right, you can say like I’m gonna take this data up from here and push it over there and save it here and extracted here and like anything you can dream up.

You know, there are very few limitations, it seemed like to what you can accomplish if you just kind of know the basic building blocks of variables and condition als and all that kind of stuff. So actually took one intro to computer science course through Harvard University’s Extension school, I believe that renamed it back back then. It was ed X dot org.

Oh yeah, I remember that

and that just furthered my like kind of love for for building things with with check in with code and stuff, so yeah, that was the final straw, I think so then I was all in after that. Um and thankfully for me, I have a good friend of mine brian richards, you know, you you might know if you’re in the WordPress space, anybody listening, he runs WP sessions dot com.

Which is like WordPress related training site. Um So brian, I have known each other for years like since college and he at the time, you know, was had a lead WordPress development role. Um so I’ve reached out to him and I was like, hey, I’m in, I’m into this coding staff like what can you teach me?

I want to, I want to learn more and building sites for next to no money, you know, I I would build like this, this pretty large, Pretty large site in charge, something like $200 and spend like spent like a month and a half, you know what I mean? But at that point I didn’t care, I was in it, I wasn’t in it for the money, I was in it for the learning.

I was like if I complete this project, they don’t know how to do all of those things for the next project and I can eventually charge more and whatever. So I eventually got good enough at that to leave my health care jobs, I was very excited about that.

I went to go work for 10 up for first, which is a well known agency in the WordPress space um in the next several years. Yeah, I I work for for 10 up for another company luminary, web services um for web dev studios after that um by that point I had had some leadership responsibility. I was like in a in a lead engineer position by that point.

So I was like leading some of our development we did for big enterprise clients. Like Campbell soup was one of the um the clients that we that we had. So I was you know, leading the development team that built out many of the features for some Campbell’s sites and things like that in the agency world. Like I I really enjoy what I was doing and I learned a lot.

I was learning a lot but at a certain point I started like on the side I became enamored with these new job script, you know, frameworks that are coming out like um like react.

And I was living react and reduction graph QL and kind of you know tinkering with those technologies and and I really liked the just super snappy app like experience is that some of those, you know uh technology has brought to the table.

Um But I wasn’t able to do that in my day job, you know my day job is still uh you know traditional server rendered um pages. So I kinda wanted to bridge the gap there. I was like I have this by this point, I have a lot of knowledge of like WordPress and all of its a P. I. S.

And I have this separate knowledge of you know working with react and graphical and reduction these front technology like I wonder if I could pair those pair those together. You know it’s so you’re

responsible for Gutenberg. It’s me

it’s me, you can blame me. Yeah. And Gutenberg was another you know another reason to um to you know learn kind of the basics that react to you since it it uses that of course.

Um So anyways I was looking around a bit and I found a job at a startup called harness software and they had a WordPress back end and they wanted to decouple the front end from that and have a more applique experience with some more advanced features like um like fully like offline mode for example.

So they wanted folks to be able to load up the web app on their phone. Like if the network connection drops out you can continue, you know filling out forms and submitting data and saving things. And then when the network connection was reestablished later on then we would take any work that that that person had done off line and then sink you back to the server.

So stuff like that. You know, you can’t quite do if you’re if you’re doing the traditional server rendered web pages like the minute your network connection is gone, that’s kind of it right? The user just like going to hit a white screen or whatever.

So we that was part of the part of the motivation to decouple the front so we can have this application with its own logic. So it could, you know, continue um continue working for the user even if then our connection was, you know, flakier dropped out or whatever.

So I learned an absolute ton of that job and I was, I went head first into the headless WordPress world. So that was my, my intro there. So I’m, you know, while at the job I wrote an extension for WP Craft QL which is a plug in that provides a graphical aPI for WordPress.

I wrote an extension for that for to support gravity forms which is a common like form builder plug in. So I’m the author of like the topographical for gravity forms plug in. That was used by that, you know, start up and so on. So get a ton of experience there.

Um and um yeah, at a certain point I uh I ended that job, I worked shortly for a finder who you mentioned for for a few months and then switched again and finally landed at WP engine now. So don’t judge it is the first job where I am um in a developer relations role where I’m a developer advocate and uh it’s a lot of fun.

I I like this job. It’s different from my previous roles because they were all straight developer positions at dot PNG I feel like it’s a good mix for me where I’m able to like I still code on on projects all the example apps and repose and stuff that I put together to demonstrate certain attack or certain features.

Like I’m still still doing that coding work, but then I get to turn around and share it with the community and I get a lot of people saying like thanks so much for giving this, you know, problems free video, I’ve been stuck on this particular thing for you know, two weeks and now you just, you know something you did in the video.

I didn’t think to do the first time I tried, so thanks so much for that. You know, it’s, it’s very gratifying, it feels good to um to help the community like that. So yeah, that’s how I got where I am.

Um so before we go diving headfirst into talking about this new tool, atlas content modeler, I want to segue and I want to do it sort of elegantly in that don’t just because I have to say it out loud, it’s like a comedian who has to explain their jokes. Sometimes the joke is still funny just because they had to explain it.

Uh I know I will throw a disclaimer out just real fast. I am a WP engine client. So the work that WP engine does is important to me for a number of reasons, outside of the fact that I just like WordPress and use WordPress a lot that being said.

I want to start with this idea that I don’t know if it’s just a perception I have but I feel like WP engine has been putting forth a lot of effort of recent or an increased amount of effort of recent into like the headless WordPress sort of movement.

we’ve talked about Headless WordPress before

but we’ve talked headless WordPress, we’ve talked static WordPress.

Can we, can we do a refresher really quick on head with WordPress.

So yeah, let’s start there. Right, So Kelin if somebody comes to you and said he uses these words because they tend to come up frequently and I feel like it’s a case of a square is a rectangle, but a rectangle isn’t a square, but maybe I’m defining that wrong. Like what, what differentiates between headless and static.

Sure. Yeah, so I would say to me like the word headless um that is being different differentiated from a monolith. That’s a common term that you’ll hear like in the software development space, you know, if uh if a tech stack is a monolith, that means it is a central code base that controls the front end and the back end.

So by back end, I mean actually like reading and writing things to the database and things like that and by front end, I mean the actual html and CSS and so on that that results in what the user views. So headless is Breaking the two apart.

I I’m reminded of like what we call em MVC architecture, right? Model view controller in a platform is all three of those, they control the data model, they control the system that accesses that data and they control the system that presents that data,

yep, Exactly, yeah, so so ruby on rails, right? Very, very, very, very popular um powerful NBC framework, you know, laura vela is another like very popular one these days um and I’m not before we get too far, like I’m not one of these people who thinks that that the headless approaches like the only good one and should be used in all use cases, you know?

Yeah, yeah, I think it’s easy to get stuck in those kinds of traps, I think if you’re earlier in your development career, but but in my experience, you know, the longer you’re in it you realize the truth is the answer to almost everything is well, it depends what are the needs and these are the project.

You know, what talents do the people on the team have, what’s the hosting situation, how to deploy the work, all of these things, you know, influence like what the right framework is. So

I want to emphasize that because you just said the same thing that we have said on this show many times and we did not prompt you to say that that this notion of, you know, well here’s the thing, it depends like that those comments don’t come from a place of like…

I don’t know what I’m talking about or I am uncertain about my skills that it comes from the experience of knowing that man, there’s a lot of variables to juggle and the right solution depends on the right delivery bubbles. So I just want to I want to emphasize that cause I’m like, thanks for reinforcing that kind of thing.

I wasn’t coached

A follow up question to the last one. Um when would you use, when would you want to use

Headless WordPress versus the normal

WordPress instance? Like what, what is kind of the point where you’re like, ok, I need to move over to doing heading this WordPress.

Yeah, I think there can be a few of them. Um so, you know, traditional monolithic WordPress works great for many applications and has for for years now. But yeah, there are a few, a few things that Headless WordPress brings to the table that are difficult or in some cases, you know, not possible to you with a traditional monolithic architecture.

So one common one these days is to have multiple sources of data for for your website, I’ll break that down a bit more. So like one common thing these days is uh this buzzword of Jam stack, you know, you hear that a lot of these days on on the web was popularized by uh Billman and Phil Hawksworth of notify, they wrote a book introducing that term or whatever.

Let’s see if I can get this right javascript script A. P. S. What is it? Aaron, help me out.

Is it most rescue l

most most regrets I like it. I’m going to create a new piece attack on most grants most cats

marking. It’s marking its the html. It’s the thing that makes our stuff. That’s right. I’m the idiot. It’s okay.

So yeah, and in the jam stack cases the M is supposed to refer to pre rendered markup. So the idea is like you you build, you build, you know, as much of the page as you can, ahead of time at build time, you build out that html and then anything else you would fetch on the client and so on.

But anyways, yeah, not to get too derailed too much in the like the jam stack architecture, the idea there is you have one site that might have multiple sources. So it could pull in data from your CMS, like to display your blog blog posts.

It pulls in data from your Shopify store, maybe display your e commerce portion of your site, you’re pulling data from Salesforce from the Youtube, api whatever it may be, you know, you have these multiple sources. So if you’re building this decoupled architecture that, in my experience that becomes more easy to manage.

You know, you can you can at build time. Query all of these different data sources and then kind of, you know, stitch that data together and render the html. That ultimately makes up the page. Another one would be just if you want a single page app experience, you know.

So if somebody, if a client came to me and said, um yeah, we have, we run a great podcast is called the drunken UX podcast and our particular site or whatever podcast.

And they said, and they said for our particular site, we would like a an audio player that’s sticky that sticks to the bottom of the of the site and we want listeners to be able to play an episode and then an uninterrupted streaming audio as they browse the rest of the site, right As their route transitions happen, we want the audio to be uninterrupted.

So if you’re asking yourself like, well how would I do that on a traditional WordPress site? Right. Like it’s possible. Right? You but you you have a lot of probably pretty awkward job script where you have to say like every time user hits hits the link, you have to prevent the default behavior.

Then do an Ajax request to get the new content and replace what’s on the page and then you push the duct at the oil, all the stuff that you kind of get for free with a paid app frameworks that are out there. I actually

solved that problem. It would have been 2005 or 2006. I solved it by using frames.

I

put the audio player into a frame on the bottom of the page, set the frame border to zero and cut the gutter out and it did exactly what you’re, what you’re just describing.

Um felt so dirty

Kellen. I just had an opening for a new co host if you’re interested in leaving because like

I was

new new process. Right? What you’re talking about right? Like that that will sound very familiar though to like react deV’s or next deV’s or view Debs like this idea of having what we call routes right? Like things that the U. R. L. Of a page will change, the history of a page will change.

But what’s actually happening in the browser is you’re never leaving your never changing anything. It’s just what you’re seeing is changing.

Using your the NBC stuff that you’ve been talking about. Would you, would it be accurate to say that using head westward press might be when you want to like dramatically change the view there, but you want to keep kind of the model controller layers like kind of as is or like governed by WordPress internals.

Um No, I wouldn’t I wouldn’t say that. I think that I think decoupling um like that kind of kind of turns NBC on its head, you know, you can’t say that you can’t say that the french off script app is only the view and then everything out like the controllers in the model are still all in the back end because I don’t think that’s quite true, you know.

Because when you have like a front end apprehend and reactor view or spelt or something like that. It’s it’s doing a lot of the decision making like like routing, routing and data fetching and and then and template ng, things like that. It’s it’s doing all of those things. I think that extends more than two, more than just the view.

You know, it’s like doing some decision making there. It’s like what’s the route is the user logged in and their their permissions to fetch it if so fetch the data and then do the template ng or you’re taking it and injecting it into some markup and then render that to the page.

So yeah, I think it um you know dips into more than just the the view layer if you want to think of it that way.

So I like this because you know it’s getting into some some detailed conversation about like what the difference between this and that and all that is to which I want to ask what like right now. So you have developed a tool called that was content modeler that is designed to assist in the process of making a headless WordPress website right before you get to that step.

What is it that you think right now? Like what basically what precipitated you creating that what barriers or challenges did you see what with folks because right we have the WordPress rest a P I we have the graph QL plug ins now that we can get real cool queries going graphic.

Well is a way of querying data and getting it out of not just WordPress, but any system, it’s just a data format like xml or Jason or things like that. Um and WordPress has a plug in that supports that.

So what is it that like you think right now is like hindering people for making the decision to say, you know what I have this thing I want to build and I could do it in WordPress, but it’s not quite right. I’m not ready to jump into like full blown react and all of that. What are those challenges and barriers that are there now?

So with WordPress, with like traditional monolithic WordPress, it gives you a lot of things for free that you don’t have to think twice about. So one example would be um if somebody is a content creator, you know, they’ve created a new blog post, they’ve typed up a part of it, you know.

Maybe half of it and they think I want to see what this looks like on the front and I want to preview this post. So they hit the preview link, you know what WordPress will do is send you to the front end of the site with a U. R. L. Parameter with the post ID. And then I realized, oh this this logged in person.

I’m able to authenticate and authorize this person, I know that they’re the author of this post and now I’ll display it for them, you know, as a preview of the post. So things like that you kind of take for granted if you’ve been in the WordPress world for for a bit.

Um but when you, you know decouple the friend from the back end, you have to think about like oh wait a minute now when that person goes to preview the post and see what it would look like on the front end, our friend lives over there now it’s it’s decoupled.

So I actually have to put some thought into into, I need to authenticate and authorize the person over there are decoupled app and then once I know they have access then I can get this draft post that only that person has access to and show it in my front and app.

And you have to rewrite the preview link so that when it’s clicked it would send these are to the right place to that app to view the preview. So things like that. And as I described it, you might hear this and think Headless sounds like a bad idea if I have to if I have to re rewrite some of the features I get for free with WordPress.

Um And uh and there are those, those trade offs at this point but I think I think it’s getting easier and easier and there’s a lot of interest in like Headless CMS is in general, a lot of companies out there like content fel in prismatic insanity and so on are um, you know, kind of uh, popularizing the Headless CMS as well and were impressive, of course, can’t be overlooked.

Like it’s 40-plus% of the web at this point. So even if fraction of those sites, you know, are interested in headless architecture, we’re talking about huge numbers here. Right? So, so it can be advantageous depending on the project and worth those pain points that you might hit along the road. So, so that we can segue into this Content Mahler specifically, if you

Yeah, no, now, yeah, Now I very much want to talk about like the content modeler itself. Right? Because yeah, WordPress has an api that lets you create custom post types. Yeah. Uh depending on different systems, will call these different things. Content structures, content models, whatever in some systems.

That may be a custom table in the database. In WordPress, it’s all one giant table. Uh, so to do this in WordPress right now is kind of a either you have to do it in all vanilla cult code. Right? Or use like a generator or something like that. Or use most people will use either like pods or the pods plug in or advanced custom fields a cf um, to do all this.

And the one thing that like I immediately thought of was okay, I use a cf all the time. I create a custom post type, throw my custom fields in there and I’m like, why would I use Atlas Content modeler, looking at the demo and we’ll have a video of course in the show notes for this, that shows like Atlas content model or inaction.

And the first thing is like, oh well it’s just doing what advanced custom fields does, Is that not the case?

Mm uh it does compete pretty directly with a cf but it’s specific to Headless WordPress. So I would say, you know, if you’re somebody who’s in the WordPress space out there listening and you have a system in place already for creating your custom post types for reading custom fields to those, like, like a C. F, you know, and any taxonomy is maybe that you would want to add already.

Uh and that suits your needs, you know, all the data, your data storage issues are taken care of by those, you know, that I wouldn’t change a thing like that works well for you. Um once you decide on a headless architecture though, some of those things become more difficult.

Um so, so for example, like, you know, to create um what we’re referring to a moment ago as a content model, you need a few pieces, you need like a custom post type, right? Some some custom meta fields for that. This type, you may also choose to have like a taxonomy for that post type so that you’re able to group together or categorize your post together.

And And even beyond that, sometimes for some project that’s necessary to have relationships that you can efficiently query.

So if you’ve been in the WordPress space for a while, you might have heard of like posts, two posts, it was very popular plugging for a while for like maintaining very efficiently querying based on like posts that are related to one another for doing like many too many queries, things like that.

You need, you know, each of those those things um you might need to create your full data model for the kind of data that you want to store and doing that for a headless WordPress project. Um you know, up until Alice content, Mueller was on the scene doing that uh for how this project was kind of cumbersome.

So it would look like this. So your for your custom post type, you could use a plug in like custom post type ui So you can install that plug in and use that to register your post type and register your tax economies or hard code, all that if you wanted to. But one of those two options.

And then for custom fields that in that case you might reach for a cf and use that for your custom fields for relationships. Then you need to reach for something like I mentioned, poster, poster, and the relationships. And if you have all of those, then you think, well, wait a minute, I’m doing this site with a headless architecture.

So that means I need a way to I need a way to extract all of that data and have it exposed in either the rest api or the graphical schema. So it’s available to my friend and app because you don’t get that for free, out of the box. Right?

So the custom post type ui plugging it recently added support for um exposing post types in the graphical schema for a cf. Advanced custom fields, there is a W. P. A graphical extension that explore ex um that exposes that in the graphical schemes, you could use that for customs for relationships. I’ve never seen anything.

I don’t think that that exists. So right now it’s possible to get all that wired up. But you know, you you here as I’m talking to you as you hear all the moving pieces, it’s like, well you need these 44 plug ins and they need several more plug ins just to add those 1st 42 of the graphical scheme, and then finally, you end up with, okay.

Now I’m able to save all of my data that I need for my miles as well as expose all my data to the front and applications. So, so that’s what, that’s kind of the primary value proposition for atlas, content model or it comes along and says, if you have a cm running on your site, you can create a new model, let’s say it’s uh called project.

You know, I can create a new model called project and say this project is going to have um like the person’s uh the street address, let’s say it’s like a construction company doing work on, you know, business and residential addresses or whatever. They want to keep track of their projects.

So they can say, I’m creating a new project model, it’s gonna have a number of fields, is going to have street address, client name, client, contact, phone number. Whatever you can register your meta fields enable relationship Set it up between two models.

And then the moment you’ve done all this, you’ve defined you’re your model, which is your post type, your fields, your taxonomy is relationships and you hit save now it’s in the graphical scheme. All rest api and you can head over your front and app and start querying for that. So it’s already available to you.

Let me ask a maybe obvious question but maybe not, which is obviously you’ve built Atlas content model or as a tool for people wanting to build Headless WordPress websites. Is it usable?

Is it helpful for folks who want to build a normal WordPress website but still want the ability to build a custom post type and and have that advantage of I’m going to build all these custom fields and everything and maybe down the road, I might go ahead.

Listen, I don’t know, but I’d like to maybe future proof myself a little bit. Does it work well in the absence of that headless architecture as well?

Right. Yeah, that’s a good question. Um and it doesn’t it’s geared specifically to headless architectures um that was an early decision, you know, they they looked at what the goal was for the project and decided um instead of trying to support traditional lithwick WordPress and Headless, you know.

At the same time and uh and maintain both going forward, there is more advantageous to only focus on on how this WordPress sites see it only supports that. So if you don’t plan to pull your data out via the rest api or graphical schema, then then yeah, you would want to use other solutions like, you know, the custom post, Wi plus a cf, those solutions,

is there a route for converting? Um so like if I’ve got, let’s say, you know, and I’ve referred to this and I know at this point people are starting to be like, are you really doing this? I am redesigning the drinking you excite and uh oh and I’m building it like a traditional WordPress site and I’ve got already a podcast structure with all our episodes in it, but you posed a good option.

Right. Maybe I want to build a site where I can have like a a static player that sits on the page that is always there available and can play even as they’re navigating the site, is there a route in ACM in terms of being able to convert an existing structure to an ACM structure or if I’ve already got existing stuff, do I kind of have to stick to how that is moving forward?

Right? Yeah, that’s a good question. Under the hood, it doesn’t do many custom custom things like it adheres pretty tightly to to the way WordPress does things. So when you create a model behind the scenes, that’s a post type, when you add custom fields, you know, it’s ultimately saving those at to the post meta table in the database.

Just like a cf would when you create taxonomy, it’s saving those in the same way that that you would if you’re using a different plug in to create those. So, So yeah, to answer your question, if you’re somebody who has registered your post type and uses a cf, maybe to add some custom fields to that and you wanted to move to a C. M.

Um what you need to do is create a model and then make sure the name of it matches the post type you, you know, you had already created and then for your fields, you get to specify the medic ease.

So you could, if you had like a single line text field that a cf was targeting, you know, named Hello, underscore world in your in your model your new model that you’re creating if you create a single line text field and you tell it to use you know that same hello underscore world for the medic e you know all those two points we just do the same thing essentially.

they get they rewrite the data from the same exact, you know, row in the post meta table. So yeah, that’s definitely doable. So post types taxonomy is and custom fields would all map map very easily I think if you make sure the names match up like I said

right right erin careful around the eyes, I saw what you were doing there. He’s he’s still complaining about his fingers behind the scenes as we’re recording and I saw him rubbing his his eyes with his I used

my wrist

that is part of your hands. Well I know but

I didn’t touch the spicy stuff to

my wrist and like I

oh it’s not as bad as it could have been but

he’s making faces that’s all I know

he’s starting to hallucinate from the ghost peppers.

I put I don’t know what these are. I put photos in the guest channel, we should put them on social or something as you can

see

someone can identify them for me.

I will gladly make fun of your pain

share the one with the picture of my fingers and the redness on the

so also a I’m not entirely sure Aaron doesn’t have an allergy, I’m just gonna throw that one out there, but kelly with the atlas Content modeler. So this is a plug in, you just install it in WordPress and it gives you the ability to then just create these deals.

Is that a repo plug in yet or is that something that they have to download on git hub are through WordPress engine. Is it available to people freely right now?

Yeah, great question. Um, it is available, it’s not on the WordPress dot org, plug in directory at this point. Um, but there is a public github repo so anybody can use it right now, at the moment, only a um, a subset of the fields that will eventually exist do exist, you know.

So if you uh, install right now you’ll see there’s there’s like single line text, text area with the wig number bullying and maybe one or two other field types, you know, which is um quite a few less than you’re used to. Something like advanced custom fields, of course, it has a whole list of things to choose from.

So, so this, this project will get their their their their team is working on adding uh, field types um, as we go, so right now it’s in um, it’s in an alpha beat uh,

alphabet.

Yeah, I don’t know if it’s technically

it ain’t, but I believe

it is,

it don’t say it. So,

so I would say if you, if you want to try it out definitely do it but not on a client, you know production client project maybe do it on your own on your own sites and um I know the team would love like any feedback that you have as well.

So when you read me for that report there are instructions there about like if you find a bug or some, you know, confusing parts um in the UI or whatever, like please reach out here, you know, and there’s some instructions about how to inform the decision making.

Yeah. Yeah. Um Okay, I want to get into something, we kind of open this can a little bit already but I want to loop back to it and kind of nail it down pretty specifically, which is let’s talk about use cases a little bit because like we talked about not everybody needs a headless site, the right solution for the right problem.

And so for something like this, right, we assume that you have a server that’s running PHP and as such can run WordPress. Um and so we’re using WordPress too, have an interface to model our data to store that data in a database so that we can get it and to give us the api so that we can get at it from the front end.

Where do you see like a tool like this, whether that’s topic wise, industry wise, subject wise, like what kind of sites do you think will really benefit from having this kind of approach as opposed to say, you know, going out and being like, well we’re just gonna build our own react app or something like that. We’re going to set up a mean stack. Was that?

Uh I mean is uh was it Mongo express? Uh a PS and neanderthals because I remember all of these acronyms off the top of my head. Ah what are those use cases? What do those look like for something like this? And where do you envision it really making an impact?

Yeah, I yeah, so we did we touched on this briefly with a few of those use cases like pulling from multiple sources or the persistent audio player example across pages. Yeah, those would be good ones. Um but there are some more big ones as well, the folks out there might want to consider as well.

Another one is having a back end um that serves up ah agnostic, you know, data um to any type of client. So if that’s necessary. So what I mean by that is if you’re choosing a decoupled architecture, what you end up with is either the rest api or the graph QL scheme on your WordPress back end.

You can ask it for things and it gives you back very un opinionated, Jason data, you can do anything you want with that. So that means if you are and I’ve, you know, talked with folks out there in the community who work with clients who say, yeah, we want to manage all of our content in WordPress.

Then we plan to query for that data and render it on our website on our iphone app, on our android app on maybe there’s a desktop application that that they’re building or wherever else on the web, you know? So if you ask yourself, well, how would I do that in a traditional WordPress site where your WordPress back and you know, generally speaking, it just serves up html like the fully rendered html pages.

It’s making the assumption that like the one and only place this is used is on the web because I’m serving up the html. So what would you do if you needed a um an IOS or android application, You know, if your if your web server only sort of html, you know, you might be able to use some of that like inside of a web view or or some something on those devices.

But at that point you’re kind of turning it into a website. It’s not a, not a true native app at that point. So I’ve met folks in the community out there who opt for something like WP graphic.

Well, knowing that now my content creators can go into WordPress and, you know, make all their um do all their authoring and editing of content there and then that the web web back end will serve up this raw Jason data and that would be consumed by my next gas or Gatsby or knocks or whatever front and on the web and also consumed by my IOS app and also consumed by my android app, which is cool.

It’s a nice idea that it’s this un opinionated source of data that can be used by any any client.

What about let’s let’s like will land the plane with this kind of thought golden nugget territory. What’s the golden nugget that you would want somebody to take away? Who is thinking about a cm? Like what’s the important?

Like if I’ve learned one thing, listen listening to this conversation um what would you want them to walk away with in terms of whether that’s something about Headless WordPress itself, whether that’s something about the atlas content modeler.

Um well what is that sort of like one thing that you think is really valuable that people should be thinking about? Mhm.

Right. Yeah, I would say there are two, you know, big decisions to make if you have a web project and you’ve already settled on WordPress for the back end, at least if you’re going to use it as a CMS, you at least, you know, decided that much.

I think the next decision you have to make is, you know, the traditional monolithic architecture versus a headless or decoupled architecture and um I would just weigh the pros and cons there. Hopefully this podcast episode is helpful.

Some of the things we’ve talked about, you know, some of the examples of how this might be advantageous um you know, might be helpful for you making that decision. As I mentioned. It’s not without its pain points though, like the preview links and other things like form submissions and things like get more complex if you choose that.

So I would I would do some research there and figure out if it’s a good uh set up for the project. If it is, then the other decision is how are you going to create those content models? Um So in my opinion, you know, Ellis Content Mylar is going to be a very uh convenient and powerful way to do that right at this moment, it doesn’t have all the fields baked in relationships.

Is um is it fully supported yet and so on. It’s still early days. So if you have to get a sight out the door, like right now, maybe it’s a headless architecture, maybe, you know, opt for a cf and other things, but definitely keep your eye on Ellis Content model or for as a tool.

It’s going to make it easier for you to create those data models as opposed to, you know, cobbling together multiple plug ins to do the same thing.

Yeah, easy way. And the other thing I was thinking about as you talked about how you’re trying to unify the tools in A. C. M. So that you don’t have to go out and get this plug in and that plug in and this other plug in to kind of produce the same outcome through a normal back in.

I always think about what happens when one of those things breaks, right? Like when you have to rely on three or four plug ins to produce your outcome, you become beholden to this tool chain that any one of those things pushes out a bug even accidentally. I mean nobody pushes out of bug intentionally for the most part but right.

ACM tries efforts to like get all that into one space and let’s pretend that you have a test suite. I’m going to guess that there’s probably a pretty good test suite involved in that and that you guys are thinking about those things and it’s like when you guys push an update out it’s probably coming with some pretty robust help…

So to speak to prevent that kind of mistake and that you’re thinking about your product as opposed to the other plug in authors that are thinking about their plug in but not necessarily how it interacts with others. And so you reduce the number of vectors, right? That can be a problem. And I think that’s that’s gonna be really valuable.

I think to folks who want to be like I need one stop man, I need to be able to trust my one tool in front of me. Yeah.

Yeah. Absolutely. Right. Yeah. There’s a lot to be said for minimizing those dependencies like you said right as soon as one version number isn’t quite compatible with the rest now there’s trouble but but yeah, if it’s unified then you’re in a better spot there. So it’s a big benefit. Anybody

who’s developed long enough knows that every fringe bug won’t affect you one day. The odds are against one of those fringe bugs is gonna land on your plate and it’s going to be the long time. You need to use a cf with the graphic, you’ll plug in with the post, you I plug in. It’s going back, you’re gonna be at the nexus of that bug. It’s going to happen.

It’s just that is purely a matter of odds. Yeah, take a break, sit back, we’re gonna get you out of here after this message from our sponsor. As we talk about WordPress, it’s also important to emphasize the fact there are a lot of people out there using WordPress. What do we at, like 37, of websites use it.

A lot of universities are using it and one area where you can learn about all of the different ways that these large and very complex organizations are using WordPress is by checking out the high ed web conference erin you’ve been there, I have there, I’ve been to the regional ones. You’ve been, yeah, they do regional ones as well.

Yeah, those are great because they are like, they’re much more like focused in, you’ve got a smaller group of people, you can all, all, you can get in like one room and have fun with that and, and get to know folks have my red stapler from, from my talk a few years back on tag manager. I’m very proud of that award. Thank you Officer office space

reference. I take it.

Yes, absolutely, absolutely. I

love it. I love it.

Yeah, the talks are really great. Um, but honestly, like, I think one of the hugest benefits from it is the fellowship getting to meet other people who are doing higher ed work, just like you are, is like, it’s, I can’t even emphasize how valuable it is, meeting people who are facing the same kinds of challenges.

You are both with like the institution and also with students and the same kind of uh,

like problems to solve

and everything like you just, you can’t,

you can’t beat that

and that’s something that you don’t get if you only watch the talks on youtube after the fact. So like getting to interact with these people is really great

this year. They are online. Um, you can thank covid for that, but they do the crux of this organization is online or I’m sorry in person, uh, conferences, but this year they are online if you want a very like accessible format. They do have live captioning on their stuff. They do take all their accessibility and things very seriously.

They have incredibly affordable registration. Um there 2021 conference is designed to literally offer you flexibility to join the conversation the way that you need to and how you need to their next conferences october 4th and fifth, uh this is all online.

Their keynote presenter is uh the present are the presenter of the host, um Shannon cason from NPR and you can visit drunken ux dot com slash slash slash b slash e slash drunken ux dot com slash h E Web 21. That’s drunken ux dot com slash h E Web 21 to register for that conference. Mhm mm Kellerman, thanks for sitting down with us this week.

I appreciate you talking about the Atlas Content Modeler. I’m excited to use it. I’ve got some stuff that I’ve already got kind of in mind in terms of where this might be useful for me and and the projects we’ve got going on, check it out. You can get that plug in over on gIT hub, we’ll have links in the show notes.

But while you’re looking at that kelly and I want to give you the microphone, take two or three minutes, whatever you need, Tell folks what you got going on, where they can find you and anything else that you think they should be paying attention to.

Sure. Yeah, absolutely. Well, first off, you know, you’re welcome for coming out. It was my pleasure. Um, it’s always fun getting out and talking about, uh, this stuff with, with other like minded folks, so thank you for having me on.

Um, yeah, in terms of what I’m working on, as mentioned, my day job is that WP engine doing developer relations, develop advocacy type stuff. So if you’re out there listening and you’re interested in this Headless WordPress world, may want to learn more about how to do that.

How to develop sites in that way, definitely check out developers dot WP engine dot com. Um that’s the site where we, that’s kind of the hub for all of our contents. We have blog posts linked from there are Youtube channel is linked from there, the decode podcast that we mentioned earlier. You’ll find links to it there as well. Another

thing like documentation, listener. Thank you.

Thank you. Yeah, yeah. So, um, we have linked to all of those things, including documentation as well. So Alice content model we’ve been talking about for the episode here, um, very shortly we’re going to have our documentation is gonna go live for that project and will be linked from that developers W PNG dot com site as well.

So, yeah, that’s where to find um, all the stuff that we’re working on. Um, me personally, I have a little side side project I’m working on just to learn some new tech. Um, I don’t know if anyone remotely interested in this, but I’m building something that I think is cool.

So I’ll just, I’ll just mention that it’s video mentions dot com is this new little app I’m building, I’m working in spelt kit and I’m using a super super bass for, which is kind of a back end as a service. It’s kind of similar to firebase only. It’s an open source alternative to that. So using that and trying out tailwind CSS as well.

I feel like I’m late to the party there so many developers are gaga about taylor and I’ve never done a, you know, actual project with it. So yeah, I’m having fun trying out the new tech and I’m, uh, this new app, video mentions dot com.

That’s um, the idea there is, you can type in a certain word and tell it what youtube channels you want it to monitor and then it will email you any time any of those youtubers say the words that you told it to listen for. If you have a certain phrase that you care about.

If that’s anywhere in their spoken words that they say somewhere in the episode, it’ll email you say, hey, this episode at the three minute 42nd mark. The phrase you care about was sad. You know, so, so many fun with that.

I’ve had a little app idea I had, I want for myself and maybe other people don’t care, but, but I’m building it anyway, so I can use it.

That is how we all do it right? Like you’ve got to find those passion projects.

Can I sign up with the words, hey, it’s your boy.

All right. Yes, but yeah, or or hey, you guys right. It’s another like, like every other every other video someone saying, yeah,

you have to like and subscribe and

click the bell. Exactly. Yeah. Your email in box b pretty quick.

I’m not even kidding. We’re going to put photos of these peppers up on instagram, which you can see at instagram dot com. So I struck a new X podcast or you can come and talk to us about peppers and also ACM at facebook and twitter dot com slash drunken ux Or come and chat with us about pepper discourse at 2x.com slash

discord. I was worried. You were gonna say discourse there at the end, that that made me worried. But you pulled it out, I give you credit.

Uh and the only thing that really matters as far as like, things like content modeler and those kind of tools, it doesn’t matter if you’re using headless WordPress, you can be as headless as you want to as long as you keep your personas close mm and your users closer erin keep your fingers off your eyes, bye bye