Stacks Guru is born from the need to search the vast number of videos out there on stacks built for Stacks Pro and the Stacks 5 plugin for Rapidweaver.
We have scraped over 500 videos to get the transcripts for each in order to make the spoken word searchable.
Please use this free tool to help you learn and discover the awesome power that Stacks and the stacks made for Stacks have to offer.
I have spent the past few weeks working on the new totalcms.co website. Today I would love to show you how I did it, how the process improved Total CMS itself, and what are the next steps in the future. The MCP integrations are really awesome. Join me live and bring your questions. I am excited to show how you can leverage the next big thing into your websites.
00:14 Oh, there we go. Looks like I'm live now. Everybody see me in the chat.
00:22 Hello. Oh, looks like we're good. Sweet. All right. Um, let me get some confirmation in the
00:31 chat. Sorry about that. Excellent. We are all getting older. Yes, we are. Thank you very much, Dave.
00:40 Um, cool. Excellent. Sorry, I had to re I I had to reboot. Um, right before I was going to go live, I don't know, my machine just started feeling super
00:49 sluggish and I opened up Activity Monitor and it was like Windows Server was taking up like 5 gigabytes of memory and I was like, you know what? I'm just
00:58 going to roll the dice and reboot or not roll the dice that uh everything was going to be good during the uh stream. So, I rebooted and then it took a long
01:06 time. It didn't want to connect for some reason. So, anyway, but we're here now. So, sorry about that. I apologize. Um,
01:18 Mr. How, thank you for coming in. Mr. Nice Guy, Dr. Bob, Matt, Matt, I just saw I I'm
01:27 going to email you a video. Maybe I'll post it on the community. Actually, everyone can can watch it. It was about uh I don't know if you've seen the YouTube videos about this guy that um
01:35 like builds this um barbecue scrubber in the US and he's his goal is to get all of the um material sourced within the
01:46 US. Um the original video was probably about a year ago. I actually think I posted it. Um he did a follow-up video last week about how things are going and
01:54 uh I don't know. I thought about you because of your parts business. So anyway, um [cough] Mr. James Alton Thomas, thank you for
02:04 popping in. Uh hopefully uh everyone's going to enjoy today. Um yeah, I as I said in the email and [clears throat]
02:13 in my post, I have spent quite a bit of time on building total CMS, but not only that, like my whole goal before I release
02:22 Total CMS 3.5 is to make sure that it really is just a solid standalone platform. And um so I wanted to build
02:31 out a website as if I was a user. Um and yeah, build it out, make sure all the functionality was was there. Make sure
02:42 that it was as user friendly as possible to to build things. Um doesn't necessarily mean um there's no advanced
02:50 stuff, right? But just as simple as possible. Um, now the build so far, um,
02:58 man, I got a frog in my throat. Does not want to leave. Um, well, before I describe everything,
03:08 let's let's just jump in and show you what I've built. You can go to totalcs.co as well and um and have a look. But let's go ahead and go to the
03:19 website. Oops.
03:31 >> [clears throat] >> And uh if you go to website uh we have
03:40 oops now before if you remember I posted this a while ago that I built this page as a
03:50 static web page. It was just a a static web page wasn't dynamic at all. It was just um you know actually had uh had a designer within the community Raph
03:59 actually design this for me and uh the goal was to build it in stacks but as you probably know I'm I'm working on like five projects at once right now.
04:09 Uh, and so I I had I it wasn't quite as easy as you would think, but I I had the the design and uh
04:19 Claude had just released Fable. Um, if you if you remember that last month um they released Fable uh to everybody and I was like, you know what? I I want to
04:29 see I want to learn Fable and this is an interesting um project to throw at it. So, I had Fable take the designs and
04:38 build out a web page for me. And it was just a static web page. Um, and then after that, um, I total CMS
04:46 3.5 was super close to being ready. I really want, as I said earlier, I wanted to, uh, really work on getting, uh, it ready and testing it out from a users's
04:56 perspective. So, I then took that static web page and it's now all done with Total CMS. Now, you'll get a little bit of behind the scenes. Um, but let's
05:06 let's review the website as it is right now. Okay. Um, I'm not going to review the design. I'll I'll review the bits that are managed by Total CMS and what
05:16 isn't. And um, this is where I tend to differ a little bit from some people. And now also, this is a website for me, right?
05:24 So, I don't need to put every bit of content on the web page. It's not editable by the CMS. Like, for example,
05:34 this header right here or the the content of this button. I mean, I I don't have every bit of paragraph um editable by the CMS. Like, I can't
05:44 change this heading if I log in and go to a text collection and change that, right? It's just not a thing. Okay. But
05:52 with that said, um if you're doing this for a client or a customer, um that probably is going to be a requirement. So, um just a little bit of difference
06:02 on approach versus um if you're building something for yourself versus if you're building something for a client. Okay.
06:12 So, this entire page isn't editable by the CMS. Um but let's scroll down and we'll find out what is. Let's see where's the first section that is. We go
06:22 up here. We go. Here's the first section that is. Okay. So, here is a section of uh websites that use Total CMS.
06:31 And yeah, I wanted to be able to dynamically just easily add new ones, maybe hide other ones or shuffle them or whatever,
06:40 right? So, this this felt like a very um obvious choice to add in CMS content.
06:49 So, uh we'll look at the back end in a little bit, but just let you know. So, we can add in a website. We add in the name and the URL and and I took a little screenshot of it and so that we have a
06:59 nice little um card for each website and whenever I add those websites it just automatically adds it to the end, right?
07:08 Um so super nice. Um you click on them, it takes takes you actually to the website. Okay. But uh yeah, so this is a CMS
07:16 editable component on the page. It loops through a uh I think it's called showcases, right? And so it loops through a showcase uh collection and
07:27 will display all the sites here in a horizon uh container. [snorts] Next up, we have the pricing table. And
07:36 if we keep going a little bit right here, we have testimonials. Now, obviously, that's going to be something that we uh you know, obviously want to
07:45 add new testimonials or stuff like that, right? So I have a testimonials collection that uh I save in and it basically displays those testimonials
07:54 right here on the web page. So those are not static to the website. Okay. Uh the rest of everything here is pretty much
08:02 static on this particular page. Um but there's some other stuff that I did. Um and let's scroll down to the bottom in the footer. You'll see that I have
08:12 a bunch of head-to-head comparisons and some uh some guides. Okay, I even had them right here kind of in the in the content here where we have head-to-head
08:21 comparisons and guides. And these are uh a lot here for um SEO, right? So, obviously I was working I'm building out
08:31 this web page. I need to have proper SEO. What can I do? And proper SEO means that I I need to have more than just a single page, right? So, uh, we need to
08:40 have something like what is total CMS versus WordPress, right? So, here is a, uh, a page that basically compares Total
08:48 CMS to WordPress, why you would use one versus the other, a bunch of common questions, right? And
08:56 then, uh, you can link out to other comparisons. So, I think I've uh, I've done seven uh, comparisons here comparing Total CMS to different um,
09:05 other CMS's out on the market. Um, and yeah, this is going to be a great way for obviously SEO loves articles like
09:13 this. So, um, yeah, I took a lot of time, uh, really drafting these out, uh, comparing feature to feature and building out these, uh, web pages.
09:26 Then next up, we have guides. And these are sort of not necessarily comparisons, but they're definitely kind of SEO. I'm
09:35 targeting the SEO world here where it's like, do I want to uh self-host or have a hosted platform, right? Um, obviously
09:43 I'm kind of in uh I'm in love with a self-hosted because I think we should all own our own infrastructure, right? So, uh things like Web Flow and Squarespace and Wix and those things um
09:54 yeah, I don't think they're great for you. So anyway, uh yeah, a lot of those guy these guides here kind of go off uh and talk about those. We have a lot of
10:02 other guides. So um yeah, a lot of that is done from the SEO perspective. Uh and all of this is managed by the CMS. So this isn't a
10:14 static web page. Neither are any of these guides down here. Okay. I created a comparisons collection where I then um
10:24 you know add in the content and then I have a single web page that then displays all of them right um it just swaps out the content and obviously if
10:32 you look at the URL it's totalcms.co versus web flow versus WordPress versus Squarespace so on and so forth. Okay.
10:43 [snorts] Um I haven't been looking at the chat. Let me uh let me make sure I pull that up.
10:51 Okay. Um, so we're now we'll dive into the back end a little bit and the configuration.
11:00 Um, and I'm not going to dive into the too much today on the development workflow. Okay.
11:09 Um, I will I will say that I did use uh if we go to the docs if you're curious. So we go to the get started. [snorts]
11:19 Um we do installation. Okay. Um I did use this composer method to do totalcms.co.
11:27 And the reason for that was I wanted to uh this is if you're using total CMS as a standalone platform. Okay. And the reason I wanted to do that was I I
11:37 needed to test all of Total CMS all by itself. Um yeah, all on its own. So, uh,
11:45 I'm not going to dive into that all that workflow today. Um, and I did it. I did use cloud code to help me out. Um, and I used the development MCP and there's a
11:55 bunch of skills um, and stuff like that that ship with total CMS that help you do that better and faster. Okay? But
12:03 we're not going to be diving into that a lot of that today. So, um, but I did want to say that it is using um, this composer install. Um and again it was
12:13 done primarily so that I can test total CMS out um from that perspective. Okay. Um, and then we'll talk about uh, you
12:21 know, I do plan on the my next uh, probably website redo uh, will probably be made for stacks, which um, if you
12:30 might guess is going to be built with total CMS 3 plus stacks 6, right? Um, and uh, that's going to be exciting. And
12:39 then once that's done, I'll give you guys an overview of that. Okay. Um, because yeah, stack six is awesome. And I think a little birdie is, you know,
12:49 might might be super close to getting something out. Knock on wood. But um yeah, hopefully soon. Um maybe next weekish
12:57 by the end of the month. Let's say end of the month. Okay. Um I I don't want to promise anything, but uh yeah, little birdies be talking. Okay. Just saying.
13:07 Um okay. And actually after this live stream, I've I've committed to actually help him help do some stuff to uh make
13:15 that a reality. So got to make this quick so I can get to that, right guys? Okay. Um so that's the install. Okay. Um
13:23 we're not going to be talking about that. All right. Let's dive into the admin back end here.
13:36 Oh, I rebooted and got it up. There we go. [snorts]
13:45 Okay. So, here is my admin backend and this is the production website.
13:54 Uh, actually, you know what? I I should talk about something else as well. Um, first we'll give you an overview, okay? And then I'll talk I almost forgot about
14:03 to talk about something today. Um, so let's just do a quick review of the collections. So if you see here is
14:11 the collections. I don't have a lot. Um, and that's because when I created this, I actually didn't create like all the default collections. I knew what I wanted and I I didn't want to clutter up
14:20 the admin area with a bunch of collections that I knew I didn't need. Okay, so obviously we have the O collection uh which has your user accounts. Okay, we have a change log
14:29 collection that has that logs all of the um the updates. Okay. So, any of the major versions that get released, um, there's a change log. I didn't show you
14:38 that part of the web page, but yeah, it just lists out kind of, you know, in a in a nice little list all the various releases of total CMS.
14:47 We have comparisons collection and that is all of those comparison pages, right? So, if we look at the WordPress one, here is all the WordPress stuff. Okay,
14:59 we have uh the competitor, what is it? uh the des meta description for SEO um what is the lead paragraph what is the
15:07 summary um and then here we go down all the feature table right so here's the feature table in each feature it has a bunch of stuff what what does the
15:16 competitor do what does total CMS do and some notes right so it builds out that table um then we have why you would want to
15:24 choose them and why you might want to choose total CMS and then we have some FAQs and some sources Okay, so we source
15:32 out all of the URLs and links that we use to determine the competitor's features. Okay. Uh when the data was last verified, um it's sort order. Um I
15:43 actually don't think I really need sort order to be honest with you. Um I'll be honest, Claude kind of added that, but anyway. Okay. Um so yeah, there's a glimpse at the at the comparisons. Um
15:52 oh, MCP prompts. We'll get back to that. Okay, we're we're going to get back to MCP. Um we have roundups, which is those guides. Okay, which is each individual.
16:01 These are kind of like it's kind of like a blog post. Okay, a little bit different. It is custom because it has FAQs and whatnot, right? But here's here's an idea of what that roundup is.
16:11 Here's those showcases. So that's all the websites that we saw um in that grid, right? So that we have, you know, the website name, the website URL, the
16:20 display URL, um an alt tag for the screenshot, and then the image here. And actually, come to think of it, that is not even needed because we can add the
16:29 alt tag in here. So, I will have to fix that because that's not very total CMSesque. Okay. Um, under style text, um, I just
16:39 have kind of my legal agreements here. I debated calling this legal, maybe creating like a a legal uh collection
16:47 that contains it could just be a style text containers, but then it contains like your license agreements, your privacy policies, your terms and conditions, blah blah blah blah blah blah blah, all that fun stuff, right?
16:58 Okay. And then testimonials. Um, this is the testimonials. So, uh, all the various testimonials from people that have the quote, the author, their little
17:07 company or row, and, um, yeah, it keeps adding sort order. I think I'm going to remove the sort order. I don't think it it's really needed. Okay, but anyway.
17:15 Um, there we go. Hey, so that is how collections are done. I won't dive into all of the we're not going to go through every single schema and talk about them,
17:25 okay? Um, this it's not the point of today. Um but let's go ahead and look at obviously there are schemas for everything. Okay. Um let's go and dive
17:37 into next I guess we'll we'll show you site builder. Okay. And um how site builder is worked
17:46 because this is um this project is built with total CMS alone. Um and in order to have web pages you need to use site
17:55 builder. So here's all of the pages that we have a part of the website. Okay. Um so obviously this particular one is the
18:03 homepage, right? Yes, this is the homepage and um this is actually a collection of of of of pages, right?
18:12 Where you can then have your your title, your metad description. Um I probably need to create page images. I haven't done that yet. Um and then you you
18:20 define what URL for this is for this page. Um and then what template that page uses and those templates are down here. So if we look at the homepage
18:30 here, right here is the homepage template. Okay. So this is the and you can go you can go into full screen mode and again
18:40 um I I did build this using hand coding and Claude helped me create this.
18:50 Okay. So that is the homepage. And if I ever want to edit it, I would just go into here and I would edit the uh the homepage here and I could save
18:59 it. Okay. Now, you might see this disclaimer up here. Uh these templates are managed by Git in this environment. So editing them um doesn't do anything.
19:08 Okay. And that's yeah, so in this case, these actual templates are actually read only because I'm managing them in my source control repository, which is a
19:18 workflow supported by total CMS. Okay. and we're not going to go down that hole um today.
19:26 So, uh I have other all these pages. So, as I said earlier, we have change log, right? So, let's go ahead and here let's show you that change log since I didn't show that to you before.
19:40 So, whoops. What is that? That was not what I wanted to do. Oh, there we go. Um so, here is the
19:48 change log. Okay. And so this is the page that shows out that shows that change log. And if we see here in the
19:56 change log, the URL is /change log. It uses the change log template. And we can go over here, find the change log
20:05 template. And here it is. And we can kind of see here that it's um it's looping through
20:14 my change log collection. We're sorting it by date. And then we're going to go ahead and, you know, display that information. Okay, this is a pretty
20:23 simple uh a simple one. Okay, close that extension.
20:34 Say we go through each one. Now, if we look at um let's go ahead and find
20:42 where's the comparisons. Okay. Um, so here is the comparison page
20:51 which is just going to be versus um and then it uses the versus template. Uh, and then um what this page is is actually um if we go back to the web
21:00 page, if we go to um versus here, uh, there we go. It's just a page that
21:09 just shows you an index and loops through and shows you all links to all um, comparison pages. Okay. Um, so let
21:18 let's dive down again. As you see here, the individual pages map to a template. Um, templates are going to be uh here we
21:28 it's very similar to what we see in stacks. We have layouts, pages, and we have partials. There's also macros and templates and white label stuff, okay,
21:38 which I'm not even using here. Okay. Um, but very similar terminology to what we have in stacks. So I have a layout, a
21:46 page, and a partial. And a perfect example is if we look at that homepage, if we look at the homepage again,
21:55 uh you'll see that the homepage actually doesn't have a lot of code. It's only 122 lines, right? How how can that be possible? Well, if we look down here at the bottom, um it basically the the
22:05 homepage is broken up into individual sections and um it's including the hero partial and the stats partial and the pricing partial. So, uh, when we look at
22:15 the homepage, essentially this is a partial, right? This section here is built to be a partial. This section here
22:24 is built to be. So, it's kind of built in little components. Um, that does mean I could reuse this component on a on a particular page, such as if you notice
22:32 on some pages at the bottom, this component here I've used in I used in a few different pages, right? This footer section here I use in many different
22:41 pages. So just like we have partials in stacks, you can create partials here. Okay. So that I can edit the footer. So for example, if we look here down at the
22:51 bottom, uh I think oh it's kind of final CTA. Okay. But um yeah, and if we go into uh oh, I got to
23:02 close that. Right. So if we go into here, we look at the partial. Okay. Um you'll see that if we go into final CTA
23:10 that is the actual code for that particular section. Okay. Um and uh there is actually another foot there's a footer in there as well.
23:20 Okay. So those are the individual code snippets that you can then import to every single page. Um just like we do in
23:28 stacks. This is just done with code. Okay. All right. I don't want to scare those people that that aren't, you know, code warriors.
23:37 Um because yeah, let's dive into some other implementations and some other cool things uh that I want to show.
23:46 So another thing that I worked on is and it's a lot of people do this where when you're designing a website, you're going to build everything locally. And let me
23:56 go ahead and [clears throat] uh I'm going to hold on real quick just to say new group with these two tabs.
24:04 All right. And I'm just going to rename this really quick. Say prod. All right. And I'm going to open up a new tab. And
24:14 we're going to go to totalclo.
24:22 My server might not be running. One second. There it goes. Server wasn't running.
24:32 Okay. Um, so this is the same website, but it's local on my Mac, right? Um, and actually, one second.
24:41 Give me two seconds.
25:02 [clears throat] Okay. So this is uh running local on my Mac and then I can go into slashadmin
25:10 here. Okay. And this is the local uh version of the admin on my local
25:20 machine. Okay. You'll notice here in the in the settings um I set the the uh browser title to be dev and then the
25:30 browser title here to be prod. Another thing that I did is I make sure if I have a local server, okay, and this could be using M or Survebay or if
25:39 you're geeky, you saw my post about my Apache server last week. Um, you could use that. Um, yeah, if you're if you're running something locally such as this,
25:49 um, I recommend you change the colors out, right? Because, um, here on my production, I have it set to orange. My developer site is set to blue. So, it
25:58 just gives you a little bit of of indicator on potentially which site you're in. So, if you're in both, it could be confusing sometimes. So, I
26:06 definitely recommend changing the browser title, maybe even the the title up here, right? Making it so that it's unique.
26:15 All right. Next up is the workflow. Let's say I'm working on my um my website locally because I don't want it
26:23 I don't want it to be online yet. So all that work that I just showed you, I'm actually doing it all locally first, right? So that's why if we go here, we
26:31 can go to um let's scroll down and go to the versus pages, right? So if I go to those those WordPress comparison pages,
26:43 there it goes. Okay. So there I have this the WordPress. Again, this is all local. Okay. It is not If we look at the domain, it's totalcs.local.
26:53 Okay. Um you can also I I tend to use test as well. Um I didn't use test for this because I use test for my development server. So totalcms.test is
27:03 my development server. Um so I use local instead. Um but yeah and then if we look at uh the production website it's totalcs.co.
27:13 Okay. But let's say I'm doing a lot of work. Um I'm working here and I'm you know as I was de designing this site I was
27:22 creating schemas and I was doing a lot of work you know obviously as you're developing a site you're creating these these custom schemas for the the change
27:30 logs and the comparisons right and let's say as I'm working on these things I want to publish those changes to my
27:39 server online how are we going to do that right um prior to uh well the this release. Uh actually this was supported
27:49 in I think RC15. Um I really did some improvements around this. Um we have something now called a sync manager. Okay. So if I go into um let's
28:00 just go sync manager. Whoops. What I what happened?
28:12 All right, whatever. So, sync manager. Okay.
28:20 Um, and what sync manager allows you to do is when I am on my local development server, I can sync data from here to my
28:32 production server. Okay, not all data, but things such as schemas. So, that's going to be a popular one where you're working on maybe some new features, some
28:40 new data um for a schema, and once you've tested it and you're you're happy with it, you want to push that data up to your server. Okay, let's show you
28:49 that. Okay. Um so, I'm going to go in my development server and um let's just go to change log. Okay. And I'm going to I'm just going to
28:58 I'm going to make a simple change. I'm just going to update the description. Okay. Obviously, during day-to-day life, you're going to be changing uh properties and whatnot. I'm just going
29:06 to update the the description because I'm happy with my schema for right now. So, I'm just going to say this is a change during the live stream, right?
29:18 And we're going to save that [clears throat] sometime today.
29:29 There it goes. Not sure why it's so slow. Okay. Uh, now if I go back to our sync manager. Oops.
29:40 Okay. We go back to the sync manager. By the way, if you didn't know what I was doing right there, um, shift commando uh is this cool little um, quick
29:51 navigator. Okay. And if you ever forget what the keyboard combo is, you can also click on this uh, magnifying glass to get the same thing. And if you ever want
30:00 to remember the the the keyboard navigation, it's in the tool tip right there. Right. So, um if we look at the tool tip right there, I think this
30:08 little my little mouse tool doesn't show the tool tip very well, but um the it's in there in the tool tip. Okay. Now, if you notice now, I went to my sync
30:16 manager and remember I changed that change log. It detected that the local copy is newer than what's on the server,
30:25 right? And so as you see there's there's all of these thing items here. I can then go hey I want to sync this change log and you can click on that and then
30:36 you can say push to production. Now another cool thing is um this is smart and it can see that everything that that did change and you can say select
30:44 changed and what that will do is when you click that it will automatically select everything that changed. If you notice this changed and these other two
30:53 objects and now I I don't actually want to update those right now. Okay. Um those pages, but I just want to sync this one up. So um we click that change
31:02 log. I'm going to go ahead and say push to production. So you little confirm. I need to make that light box look a little bit better. Um and now it's
31:11 thinking and oh failed. Failed. Interesting. Uh I must have changed something. Um, I will I will look into
31:19 that. Darn it. Hold on. Let's see. Now, if we go to um let's go over here. I go into what was
31:28 that? Change log. Yeah, something that failed. All right. I've done a lot of changes since uh since I had last played around with
31:37 this. So, um doesn't necessarily surprise me, but uh that's unfortunate.
31:51 Let's try. Let me try that one more time.
32:00 Oh, there it went. Uh, okay. Not sure what happened that first time, but uh, now I'm on here. Let's go ahead and refresh this page. And there's my
32:10 change. Voila. Nice. Okay, so that uh allowed me to sync again changes from my local server to my
32:20 actual server online. Did that make any sense? Let guys let me know in the chat if you have any questions. Okay, now um setting this up
32:31 is super easy um if you want to do that. And essentially what you do is on your production server, you're going to go into your settings
32:42 and you're going to go into sync data. Oh. Oh, I'm sorry. Actually, on your production server, um, you're going to go into API keys. Sorry. And then you're
32:54 going to create a new API key. Now, I already have one called I just called it sync manager, but you'll you'll create an API key. Call it sync manager or
33:02 whatever you want. give give it a name. Okay, you're going to need get and post. You're going to need both of those. And then what you're going to want to do is
33:11 you go select specific endpoints and you check sync manager. Okay. Now, what you're going to is
33:19 you're going to say create API key. That will then display an API key that you're going to copy. Okay. I already have one, so I'm not going to save this. Okay. But
33:28 you create API key. Again, pretty simple. Give it whatever name you want. get post specific endpoints sync
33:36 manager. Okay. Now, once you have that API key, you're going to go into your development server.
33:45 You're going to go into settings. And my local dev server is super slow right now for some reason.
33:58 And you're going to go into sync data. And then you're going to put in your production server API.
34:08 Okay. Now, because I'm using that composer install, it's just my domain. However, if you are using um stacks,
34:17 okay, or rapid weaver, you're going to put in the um let me let me teach you where to get that URL. Okay. So,
34:27 let's go to trying to think of my my URL. Is it demo
34:36 totalcs test? I think yes, this one. Okay. Um, so we're just going to go to slashadmin. All right. So, um I don't need to log
34:45 in, but if you look at the URL here, you know, it's like you have r um your URL RW plugins stacks TCMS admin. Okay,
34:56 essentially everything before admin, you're going to copy that and you're going to you're going to put
35:05 that in there. Okay? So, this is going to be the URL that you have in there. Then you're going to put in your API key. Okay,
35:15 you're going to paste that in there. And then you're going to save. I'm not going to save right now because obviously my I already had it configured. Okay, so
35:23 again, you're going to put in rwcom plugin stacks TCMS. Um, if you're using stack 6, it will be slash site assets
35:31 slash something or other. I forget I forget the exact path off the top of my head. Okay, but essentially it's always going to be the the where your admin page is.
35:42 Okay, minus the slashadmin, right? So here we had uh you know slashadmin blah blah blah blah blah. It's whatever is before slashadmin. That
35:52 is your total CMS API URL. Okay. Anyway, there is that. So that's pretty simple setup. Again, all you do is create an
36:01 API key on prod save save save those in the settings on your development server. Then once you do that, just go into the sync manager
36:12 and it should work. It tells you what the remote server it's connecting to is and it will then all of a sudden do the diffs and everything like that. Remember
36:20 we already synced that up. So change log isn't showing as changed anymore. Um so and it's kind of grayed out. Anything that isn't that is the same as in
36:29 production. um is going to be grayed out. Pretty cool. So, that's a really great workflow for
36:37 if you want to have a local server but but still then publish those changes online. Okay. Um man, I have been talking a lot
36:48 today. Um, and I still have one big topic to go over and I think it's going to be the what I think is the coolest
36:58 really awesome feature of Total CMS 3.5. Um, it's one of the flagship features and that's MCP. Um, so we're going to close out dev.
37:08 We're just going to work on the prod server right now. And I want to talk about I guess before I talk about the configuration, let's let's show you
37:17 let's show off a little bit and show you what we can do with um with this.
37:26 So here I have Claude. Um and then what I'm going to do is uh first I'll show you how to uh well we're going to go ahead and configure the total CMS uh MCP
37:36 server for my website. Now this website is for total CMS website but yours could be for your bakery or your um your
37:46 association or whatever it is. Now inside now I'm going to do all this in claude um chat GPT and others there's
37:55 different ways of adding uh MCP servers. Follow those directions. Okay. But right now I'm going to use claude. So I'm going to go into connectors
38:04 and you say add custom connector. Now, here in the name, this is where you're going to put your website name. Okay. Mine is going to be um totalcms.co
38:17 MCP. Okay. Um you can name it whatever you want. Um I just I put the website spacemcp. Okay. Um but again, that's up
38:26 to you. Now, your remote MCP URL. This is an important one. This this is where um your AI is going to connect to T
38:37 total CMS. And where do we find that? So, let's go ahead and go into the I believe it's in the settings.
38:45 And if we go to MCP server, you're going to want to make sure that you enable um SMT S or MCP server. Okay.
38:54 And then here is your end point. So, um, the endpoint here is copyable and it will it will be whatever you need
39:03 it to be. Okay. So, um, go ahead and copy that. If you're installed with Rapid Weaver or you're installed with STAX, this will contain or should
39:12 contain the correct path for you. Okay. Um, so I'm going to go ahead and copy that and we're going to paste it right in there. Okay. Now, um, first I'm going
39:22 to show you how we can, uh, basically have I'm allowing public access. So, by default, this is actually turned off, but I want anyone unauthenticated
39:34 um to be able to access the data within Total CMS. Not all of it, but what I determine is accessible. Okay? And we'll go over all
39:44 that in a little bit, but I want to show off a little bit first. Okay? So, I'm going to go ahead and say add. So, that's all you need. You don't need these advanced settings. Don't
39:53 worry about those. Okay. So, go ahead and click add. And it's thinking, right? And we say, "Yep, I want to connect.
40:04 What? This seriously worked." Like I tested this so many times. Just
40:13 uh Oh, there. There. Phw. Okay. I guess it said failed. Try again. I tried again and it worked. There we go. Okay. [laughter]
40:22 Okay. So here we can see a bunch of tools that um
40:31 that we can use. And by default, it's going to normally for for this you can say whether or not
40:40 some tools require approval or always allow. For now, I'm just going to say always allow. Okay, we're going to close that.
40:50 So now I am connected to total CMS and what are some things that I can do? Okay.
40:59 So um let's start off and say like um uh what is the latest um release of total
41:08 CMS? Oops. Helps if I spell release right.
41:21 And it's thinking. It's finding tools. It's connecting to the MCP server. Right. It's And voila, it found the
41:30 release. Okay. Now, I can prove to you that it it actually connected and got this information from the MCP. Um
41:39 because uh total sema here it says total CMS 3.5 was released June 1st 2026. We all know that total CMS 3.5 actually
41:49 hasn't shipped. Okay. But if we go back to the change log
41:58 in the change log it says that total CMS 3.5 was released um in June. Okay. Um, and actually if we here if we want to
42:07 look at the the raw data, let's go to uh the raw data here. Change log 3.5. We'll see that the release date here, even
42:16 though even though I didn't actually display it on the web page, it only says 2026 on the web page, but in the data in the in the server, okay, in the backend,
42:27 it says 3.5 was released on June 1st, 2026. And that's exactly what we see here. so that we know for a fact that it's
42:37 actually connecting to the MCP. Um, and total CMS is is returning the latest release here for um the user for based on the data in
42:49 the CMS. That's really cool. Okay. And let's ask let's ask it some other stuff. Um, so let's be like um uh how does um
43:00 WordPress uh compare to total CMS.
43:09 Okay, obviously that is uh more data that is going to be u publicly accessible and so let's go ahead and wait. It's it's connecting to the MCP
43:18 server now. Um and it's doing its research trying to get the data. [clears throat] It's getting the data now.
43:32 And voila. So, it found um the comparison page for versus WordPress. Uh it says it was last verified on July 26th, 2026.
43:41 And it just outputs a bunch of information. Okay. Um I'm not going to keep going. You can you can use that data and then maybe compare it with uh
43:50 you know Squarespace or whatever or say how does this work with your workflow, right? So um really cool just to show you that how it's actually connecting to
44:00 total CMS very seamlessly um getting the data and again this is displaying data about total CMS because I'm connecting it to a total CMS website
44:10 but this would be data about your content okay so this is a way a the new way
44:20 where people can actually research your brand know about you and then use AI guide to help them analyze your maybe
44:28 products versus others and compare how it works with their workflow and things of that nature. So, it's a much better, more in-depth research tool um for
44:37 users. And it's kind of the way SEO is going. Uh as I've said many times, MCP is SEO. And hopefully you can see why
44:45 that is now. Okay. Um next level. Okay. So, let's say I
44:56 want to use MCP. There's more uses for MCP than just search and discoverability and getting data. Um, I want to be able
45:05 to use MCP to help me as the web designer actually update my content, right? I want to I want to be able to,
45:13 you know, I don't want to go into Total CMS and edit my content or do things. I want I want AI to help me do it. Okay.
45:22 Now um I have a little caveat here that while building all this I actually
45:30 recently discovered a limitation with clawed. Okay. And so total CMS right now has a
45:38 public um MCP where you can define uh data that is accessible publicly and then you can also have data that is
45:48 actions that are only doable that can only be done via authentication. Now when you enable authentication um it actually for claude this is a
45:58 claude issue um if someone if once you enable authentication for MCP claude only ever wants to use the
46:07 authenticated connection it can't use both authenticated and unauthenticated in the same time at the same time that is a clawed issue um I have filed the
46:17 bug with them um but total CMS does support it okay so Without further ado, let's go ahead and I will show you uh
46:25 what we can do with an authenticated collection or connection. Right now, to do that, I'm actually going to go in here. I'm going to go to the connectors.
46:34 We're actually going to completely disconnect this guy because I'm going to do a completely new connection. So, we're going to disconnect. [snorts]
46:42 Okay. And um I don't think I need to delete it. I think we're just going to leave it there. Let's go ahead and now I had disabled ooth in this server. Um it
46:53 is on by default. All right. So we're going to go into the settings. We're going to go into OOTH server and um by
47:02 default OOTH is enabled. Okay. Um so I'm going to go ahead and turn it on. I had turned it off because I knew I wanted to demo a public collection.
47:13 Let's go ahead and save. [snorts] All right. Um, so now that I've saved that, um, I'm
47:24 going to go ahead and, um, we're going to go ahead and just connect. And it should hopefully Oh, yeah. Yep.
47:32 It's now asking for authentication. It's going to say, "Hey, you're logged in as admin. Here's all the rights that I need to do." We're going to say allow.
47:49 Right. We're now back in the app. And what we should notice here is we actually have a lot more tools available to us now. We have readonly tools as
47:58 well as write and delete tools. Pretty cool. Okay, let's go ahead and um
48:06 what I'm going to do is for readon tools, I'm going to say always allow. And just so you can see, I'm going to keep um these custom tools as whatever
48:14 the default option is here. Okay, what's create object? Oh, always allowed create. Okay, [snorts]
48:24 so as you see, these are all the various things we can do. We can create we can clear cache. We can create collections. We can uh create schemas, create objects, do all kinds of stuff, right?
48:33 So, um let's go ahead and close that. And um so let's do some actions that um
48:42 would allow us to be able to modify our website. So, let's go um let's go look at that testimonials section. Right? If you notice here, I have testimonials
48:51 here. Um and yeah, I have an empty spot here. Why don't why don't we add one more testimonial? Okay. So, um now the
49:00 question is, you know, just for fun, I'm going to start a new chat. I don't know how that works with like I just swapped out that MCP server. So, I'm we're going
49:09 to start a new chat. Okay. Um and we're going to connect to Total CMS. Let's just say um let's see. I need to do some
49:17 work on total cms.co. Um, can you help me? I would, whenever I
49:28 talk to agents, like I don't know. I like to treat it like I they're like a person and they're like my assistant, right? So, I tend to write nicely. Um,
49:37 uh, create a new testimonial. Um, let me know
49:46 what um info I need to supply to create
49:57 one. Enter. All right. So now um this should be then connecting to total CMS and um it's actually going to uh it
50:06 should hopefully um look at all the data the structure of the data um find the testimonials collection um it's querying
50:14 the collection now it's it's actually discovering what what sort of data a testimonial is. Okay. And there there it
50:22 goes. Um so it said hey testimonials have these four fields. There's a quote, an author, um a role, and a sort option.
50:32 Okay. Um so cool. Uh let's go ahead and let's say um so here is a testimonial
50:43 from John Smith. Okay. Um
50:51 here I'm just going to I had this one that I was testing with earlier. I'm just going to copy paste so you don't have to watch me type. So test it. His testimonial just says total CMS has changed the way I build websites. It
51:01 gives me the tools that I need to build modern solutions that my customers need. Sweet. Enter.
51:23 So, it said it created uh a new testimonial. Let's just go to my web page. We're just going to refresh.
51:31 What? Dude, that so worked earlier. It's probably cash.
51:41 Oh. Uh well, here. Let's uh um I am not seeing it uh yet online. Uh,
51:51 can you clear the cash for me?
52:03 Oh, okay. Well, it said, "Hey, clearing cash wasn't necessarily allowed all the time." So, I'm just going to say yes. I want to I want to allow you to do that.
52:15 Okay, cool. Let's see. Voila. Look at that. Okay. All from
52:25 I never went into the admin area at all. And let's just for fun, let's go into the admin area.
52:37 Uh uh where was I doing? Um testimonials. And voila, there's John Smith right
52:46 there with his testimonial. Very cool, right? Okay. Um,
52:56 all right. Next up, let's see. Uh, Troy, you had a question. Can you show us how to add a collection? Uh, can you be a little bit how to add a
53:07 collection? Uh, can you be a little bit more specific, Troy? Okay. I'd be happy to show uh to test it out, but we can uh if you can show me, that'd be great. All
53:16 right. Um, you know what, for fun, um, here, I'm
53:24 gonna go off script a little bit. Um, so let's say I I'm designing this website and, um, I just need to fill in
53:32 testimonials with some some mock ones. Okay? you know, um I am still um
53:41 working on the uh site design. Um
53:49 can you please add um five more
53:57 um demo testimonials for me?
54:08 Let's see. I I did not test doing this, so uh that would be kind of interesting. So, we'll see. Drum roll, please. Right.
54:41 Oh, it's saying that. Oh, five five testimonials already exist.
55:13 I had never asked it before to like create dummy data. Okay, so Oh, there it goes.
55:23 First it it it did it did push back a little bit on me. Say, hey, there's already five in there. Uh, what do you really want me to do? So, I said, no, I'd like there to be 10. So, if you can
55:33 create more, that'd be great. Right.
55:42 Uh let's go back to uh this and voila. Created more. Nice. Look at that.
55:54 On the live website. Very cool. All through the MCP. Okay. Uh Troy got back to me. basically have Claude create a new collection for say displaying a
56:03 gallery of images or something like that. Okay. Um, sure. Let's let's try that. Um, I'm not going to have it add it to um add it to this collection here,
56:14 but um all right. Let's say um
56:45 using.
56:55 All right, I'm not going to try to like uh create a custom schema of this for right now. Um, but that could potentially even
57:05 be possible. But let's go ahead and I just told it to create a gallery collection uh using the built-in gallery schema. Okay. And um
57:25 do I want to create a collection? They always allow.
57:37 And there it is. There's there is a gallery collection. Now doesn't have any objects yet, but um there it is. I just asked it in plain English to create a
57:46 gallery collection. Pretty slick.
57:59 Okay. It's saying I it could help me create objects in there and whatnot with galleries and it could go ahead and it's even saying that it could use the
58:09 factory. Wow, it even knows about factory and how it can create images for us. Uh dummy images. So pretty cool. Um I don't want to do all that on my
58:17 production website right now though. So uh sorry Troy, but there we go. I it did create a new collection based off the gallery schema. Uh we can then create
58:26 other objects inside of that. Okay. Uh, you know, why not? Let's go ahead and uh um Sure. Let's
58:35 you create a um new gallery um for me with five demo images
58:49 um from the factory. Uh and name the gallery Troy.
59:02 Let's see. Troy, I I am in the frontier now. Uh let's see how this does.
59:11 It's creating an object. The gallery object Troy was created. It went through blah blah blah. I can fill
59:21 it. Uh blah blah blah blah blah.
59:33 So, it created it. Uh, it said, "Oh, let's see. Uh, I just need a placeholder images. I point the template at service like Yeah, please. Yes.
59:53 All right. It's sometimes sometimes it's annoying when AI is like sometimes it just it's gung-ho and does everything for you and other times it's like h well I don't know if you want me to do this
60:03 you let me know you know it's like it's interesting that line of where it does so um
60:13 this will be interesting I have no clue I've not done this before this will be interesting uh
60:23 interesting I have interesting. Yeah. Uh it's Yeah, that it's not going to upload demo images for us through MCP. Yeah, I
60:34 didn't I didn't I I I had my doubts it was going to do that. It did create an object. Um but yeah, MCP doesn't um it
60:43 does it only deals with text right now. Um so, uh and the factory isn't necessarily a I guess I could probably use the jump start. I don't know. There
60:52 there there are some ways around it. Um but through MCP creating demo uh images. Uh yeah, interesting. Yeah, I I
61:01 understand why it didn't work. Um but it's something it is supported through, you know, you can use the factory or whatnot. Uh which actually it did tell us you can use factory to do that. So um
61:12 but the MCP doesn't isn't exposed to the factory um for various reasons. Anyway, hope that helps out, Troy. Um, that was
61:20 a fun little experiment. Um, something's good. Image, the adding images failed. There we go. Not surprised.
61:32 All right, we're going to go ahead and delete these. I don't need it.
61:43 Okay, to wrap up, um I want to go over how to configure MCP. Okay. Um one thing
61:52 I also want to note is when I logged in, um I did log in as my admin account, um if you log in as a as a non-admin
62:01 account, um you will have the permissions that that user's access groups have access to. So um if that user has access to particular
62:10 collections, he'll be able to run the MCP tools on those particular collections but not others. Okay. So um very cool. Uh the permissions for MCP
62:20 were a lot of work actually. Uh something that I literally just finished this morning. Um and super stoked about that. Um because before it was kind of
62:29 an before this morning it was kind of an all or nothing thing. um where um if you were given right access to the to the um
62:39 CMS through MCP, you had basically full admin privileges and that didn't make sense. Um so I worked on matching the the rights that you have inside your
62:49 access groups with to that account with um the MCP off uh login. So pretty cool. It's very elaborate and like I said, it
62:58 was a lot of work. All right. Um let's go into the configuration. So earlier uh we did talk about if we go into MCP
63:06 server here um you'd have to make sure you enable it. If you want public access, enable public access here. Okay, not going to go over these for right
63:15 now. You can just leave those as default for for whatnot. Okay. Um if you do want to have authenticated colle uh connections, you're going to want to make sure that OOTH is enabled. Okay. I
63:25 also recommend doing allow dynamic registration. Um this enable OOTH is on by default. dynamic registration is not
63:34 okay. Um, so I do recommend you turn that on. Um, you don't have to have it, but it just makes life easier. Um, just believe me, I won't go into the details
63:43 of that for right now. Okay. Um, okay. So, that's it from the from the settings standpoint. Turn on OOTH,
63:52 turn on MCP server, or turn on OOTH if you want um authenticated connections. Okay. Now the rest of the work is all
64:00 done at the um the collection layer uh and the MCP prompts layer. Okay. But um
64:09 so inside here if you remember we go if we go into change log and if we go into edit collection
64:18 um inside every single collection um there is an MPC or MCP server settings and you define whether or not the
64:27 content in this is publicly accessible or it requires authentication. Okay. Or you can even require API key only, which
64:35 means you're not even going to allow it to be authenticated via a login. You have to have an official API key um which actually most clients outside the
64:44 terminal don't support yet. So um it is definitely an advanced way to make sure that you you know um you're limiting um access to that. Okay. Um here you can
64:55 say uh now search uh right now tech the there's only one way to do search. Okay. that's coming. Uh you would set your title property. So there's various um
65:05 ways when MCP returns data to your AI agent. It needs to know like what what the official name of a uh object is
65:14 right in this collection. So in this particular one title is the the official name of each object. Um if you don't supply anything, it uses
65:24 ID by default. Okay. Um and then a very important thing is here the description. So what is this collection
65:32 um and how do how what sort of data is within it so on and so forth. Now, if you notice here, I created a custom
65:42 MCP tool called latest release. And if you remember earlier today, I said, "Hey, what is the latest release
65:51 of Total CMS?" And guess how it knew that? It's because I created a custom tool called latest release. And if we
66:00 look at that, uh essentially uh you give it uh you give the tool a name, you give it a description about what that tool does. Okay. And it's simply a way of
66:09 having parameters in queries. This one is crazy simple. It just limits one. It sorts by date ascending. So basically it says, hey, take all the changes um order
66:20 by date, descending order and return one. And that that's the only thing for a latest release, right? There there's obviously going to be a lot more complex
66:29 things that we can do. But um so now I know when someone asks for the latest release, this is the exact parameters um
66:38 that the uh total CMS will use to return the correct data.
66:55 Is this going to be easy enough to install MCP even for a raga muffin? Well, um if you can, uh follow this uh these tools, uh you know, James, um
67:06 installing it's easy. Um you know, it is a lot of redundant work just doing what I'm showing you here, okay? It's just
67:14 turning on the various switches, making sure that you take time to set up your descriptions, okay? Um is very important. Okay, now
67:24 you can actually get really far without having to do custom tools, okay? you can actually get really far with that um just setting up um all the various descriptions.
67:34 All right, so now um that is the collection layer. Uh if we look at the schema layer, um this is also very
67:42 important. Now, I do have to say if you're only using the built-in schemas like blog, all this is done for you. Okay. Um, but if you are doing custom
67:51 um, schemas, uh, one thing you're want to do is for every single property that you have, okay, um, you're going to want to make
67:59 sure that you have title and help set. Now, you can also, if you notice here, there's an MCP details for every single
68:08 one. Um, you can set an AI description. So, uh, if you don't set an AI description, um, it is going to use your
68:18 help information as well as label. So, it'll use a combination of label and help to determine what this field or what this property is. Um, and if you
68:30 feel like if that data isn't apparent and or it could be potentially vague or whatnot, you can provide extra details inside this.
68:38 But most of the time, I do have to say that a properly done label and help text is all you need. So if you've already set up your schemas um with that, which
68:48 you should anyway because it actually makes the forms easier to use for users, um that data will be used for MCP.
68:56 Um now, if there is some data in your uh forms that could be sensitive, you might you can turn that data off.
69:06 So what you do is you go into that property and you turn it off. By default, any password or pass key um field or secret field, sorry, it's
69:15 called secret. Um those fields are automatically removed and are not exposed to MCP. Okay. So um whenever
69:23 data is sent down to the AI agent, none of that password data and none of that secret data um will get sent down. So if there's any other data that you want to
69:33 make sure doesn't get sent to any AI agent that's quering MCP, you turn this off.
69:41 Okay, pretty simple. Okay. Um lastly,
69:50 there is a uh collection called MCP prompts that you can create. Okay. And um
69:58 these essentially allow you to um create thing or do sort of actions. Think of these as kind of like text expander
70:06 snippets or something like that, right? Where um you can create a kind of like a tool that does a a a larger prompt.
70:17 Okay. So here I can say add change log entry um where I can pass it a version information, right? And so if I say add
70:26 change log to entry. Um and then basically this is going to be a a sort of like a text expanderesque prompt
70:34 that can be autogenerated. Okay. Um I didn't show an example of that today. Maybe I can do a video on that in the future. Okay. But um yeah, you can do
70:42 kind of pre-made prompts here. And and if you noticed inside the prompt body, you can actually use Twig to create logic. So your prompts are actually
70:53 dynamically generated maybe off data in the CMS or whatever, right? So um it's pretty um pretty powerful. And if you
71:01 see here, it does require um an argument. So we have an argument in this particular one accepts version, right? And then I can inject that version into
71:10 my prompt.
71:24 Okay. Um I think that's about it, guys. Um I think that's pretty much all of the configuration um for MCP. Let me go ahead and see if
71:34 there's any other tools or or questions. I mean, excellent to know. It's been amazing to see all the things that you can do with total CMS and claude. What uh what a
71:43 duo. Thank you very much. Um so yeah, as you see here, um you know, in theory, James, like if you settle CMS up, um
71:52 even with just the the default blog and and whatnot and you turn on MCP, um you should then be able to connect um from
72:01 your AI thing and say, "Hey, write me a blog post and post it over there. and it should work. Okay. Um so then you
72:09 can yeah you can just tell the agent to do everything for you. Okay. And most things are doable from here. Not everything. Okay. But a lot of things
72:19 are doable. Okay. From from this as you see I I couldn't create images here so that I would still be on the fly for uploading images. Okay. But it could create the blog post for me. Okay.
72:30 Marcelo says, "Can we build a complete website from scratch with claude locally using total CMS and patchy just as it is now possible uh with elements? Not sure
72:41 what you mean there in terms of elements, but like I said earlier um this website was built um 100% um yeah with Claude. Um Claude Claude on
72:52 this site helped me create the schemas. It helped me create the collections. it it created uh I proof read a lot of those those comparisons and gave
73:01 feedback and did some minor tweaks but a bulk of that work you know 80 to 85% of that work was done by Claude um I just went in and did the kind of final
73:10 touches and tweaks and whatnot as you see there's still some tweaks I need to make like those sort fields I don't think we really need those claude added them for some reason I don't think I think there's other ways better ways to
73:19 do that um but yeah um yes you can um And uh pretty soon uh you know stack 6
73:28 during the conference if you were at the summit I showed off how MCP is going to be working with stacks and how we're going to be able to generate layouts
73:36 using stacks. Um and then obviously that you could then you know um integrate with total CMS somehow right obviously
73:45 uh you know that's still in the works. Um but yeah that's that's the ultimate goal. Okay. The ultimate goal here is um I love stacks. I think it's a the best
73:55 way to uh manage your site. Um and especially for non-developers because even for me I I'll even for me like me
74:04 going into site builder here and uh and looking at all this code I this code doesn't scare me at all. I I I can see this and I can read it and
74:13 whatnot, right? But opening up a stacks project and tweaking settings in stacks is um a whole lot more user friendly,
74:22 right? Um so while it's possible here in total CMS and I'm very glad that we have that ability um I I am also excited for
74:34 how we're going to integrate um AI with stacks okay going forward um so that we can generate um the user interfaces
74:42 using um using stacks so have AI build the the web pages for us um inside um
74:50 stack six and maybe AI gets 75% there or 80% there. Um but then we're in stacks. So then taking it to that 100% to be
75:00 exactly what we want is I feel so much easier than um you know trying to manage using claude to manage an existing
75:10 codebase that it created and then you get uh you know I'm sure if you I know Marcel you're a pretty talented guy and you know you've done some really cool
75:19 stuff but over time as AI modifies the codebase and whatnot if you don't re if you're not really on top of it you don't really know things, it kind of goes off
75:28 on rails. So, um you know, having um AI generate something in stacks for us um that gets us really really close to what
75:38 we want and then we can just tweak and make final, you know, uh final pass style tweaks and adjustments. Um really is I think um where I feel um it's
75:48 everything should be going. Okay. Um so anyway, that's my long- winded response. Um I'm looking really forward to that. So, um I do have that um proof of
75:58 concept that uh STAX MCP server that I definitely plan on um enhancing um going forward and that's hopefully what we'll
76:06 be using. Maybe even get some uh obviously we will get more features baked into stacks to support even more of that. So anyway, um let's see. Is the
76:15 schema essentially the recipe for what you want to get done? Yes. So schema is uh the recipe I guess you can call it
76:23 recipe or definition right. Um so a schema uh let me share my screen again. So let's look at um let's look at the
76:33 web the web page right and let's look at a simple one. Uh let's go to let's look at those showcases right. Um so these showcases right here. So what this is a
76:44 showcase. Each one is a showcase and it has um an a a name of the website. It has uh a a
76:55 userfriendly viewable version of the URL. It actually has the actual URL that I link to and then it has an image.
77:04 Hopefully that makes sense, right? So let's go ahead and look at that. So if we go into the schemas and if I go into my showcase,
77:14 you'll see everything that we have here. Okay, we have we have the name which is um here let's go ahead and let's do this.
77:29 Okay, so here I have the name which is you know Ponty AI or a leap above dance. We have the URL, which is the URL that
77:39 it's actually linking to, right? So, the URL you see at the bottom of the screen. Okay, the URL that I'm linking to. The URL label, which is this domain name.
77:48 So, alapabove.com. Um, we have the all tag that I said earlier is not needed because it's baked into the image. The sort we don't need.
77:57 Uh, we have the actual image, which is the image that we're displaying here. And then the ID. Everything needs an ID. Okay. So, um, this is even simpler,
78:06 right? We don't necessarily I plan on delete. I won't do this. I won't save this right now, but I do plan on removing that alt tag. And I do plan on getting rid of that sort. So, now this
78:15 is my what a what a showcase item is, right? It's a name, URL, URL label, and an image. And that's exactly what these
78:23 are, right? So, when I go to also think of the schema as like a form builder, okay? Because when I'm going into the showcase, here's all my showcases. Let's
78:33 look at we're looking at a leap above dance. So, let's look at that one. Basically, here is my form. I have the name, the the URL, the URL
78:45 label, the alt text, the sort, and the image. Now, again, these two I plan on removing, but think of the schema as a
78:54 form builder, okay? And I'm building out the collection form essentially what it is.
79:03 So, we're building out the form. We're defining what all the the data is. Okay. For example, this particular one, it's a text field. I could probably change that
79:11 to be a URL field. It's probably better. Um, doesn't change the actual uh end result, but um yeah, if you're being
79:20 nitpicky. So, hopefully that answers your question, James, a little bit. um where the the schema is the definition or or you can also call it reference it
79:29 as the form builder um for all the objects in this collection.
79:37 So if we look at pronty, there's all the data for pronty, right? Okay, wmpa, there's all the data for that, right?
79:45 And again, it the schema is just adding the um the form fields for us.
79:53 Okay. Okay, everybody. Uh we've gone a little long, but uh hopefully you got some uh
80:03 some stuff out of today and uh hopefully you enjoyed this overview of how um Total CMS is built and managed and and
80:11 gave you an idea on how to configure the MCP and shows you the power of of what the MCP can do for us from the open public perspective as well as using the
80:20 AI to actually edit and manage our content. Um super excited about that. So take care everybody. Have a great rest of your week and I hope to see you uh a
80:31 lot of you at the hangout on Friday.