About Stacks Guru

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.

Stacks Guru

Video Reference

Leave a Tip!

Every little bit helps to keep this going. I'll be doing my very best to keep up with the likes of Joe when it comes all the videos he posts!

Total CMS 3 Beta 1 Hangout thumbnail

Total CMS 3 Beta 1 Hangout

Categories: Hangout

Transcript

0:01
hopefully uh if you guys are there on uh on the hangout on Friday um you'll you probably already know this or some of
0:08
the things I'm going to talk about now but um I'm going to uh restart a lot of the explanation because I know a lot of
0:14
you weren't there at the hangout on Friday so I need to re-explain um some
0:19
things um first things first um this is a the total CMS this is a beta right
0:27
obviously um and uh while it actually is quite functional um
0:34
and it's I think pretty good the features that are there are pretty solid now
0:42
um it is your own risk if you want to build a live production website with
0:48
it okay um uh I will tell you right now if if I see something that needs to be
0:55
changed or fixed I will not be scared to release a breaking change between beta
1:03
releases so if you spent tons of time and I'm like oh I really need to change
1:08
at it's better something better for the products future um I will break it okay
1:14
just to let you know obviously I'll let you know if I do anything like that but I am not scared to release breaking
1:19
changes between betas if it means the product's going to be better because of it how will the lies work will will this
1:26
stop working when you started showing licenses well how's that going no uh this uh it it for all intensive purposes
1:35
uh 3.1 will be the initial the first public release okay so 3.0 it's going to
1:41
update um the stacks will remain the same problem I'm treating every release
1:46
from today on like a regular product update with the caveat is with these
1:54
beta releases I don't care about breaking backwards compatibility if I have to okay but once I ship you know
2:03
let's say we at we're at 3.0.10 which would be beta 10 and then all the next one's going to be the
2:09
official 3.1 release it will automatically update okay so um you're
2:14
not going to have to worry about managing different versions of total cms3 it will auto update and we should
2:20
be golden okay um so but I just wanted to put that caveat out there of a if you
2:27
want to build a production website you can um we don't have all the features of
2:32
total CMS one in version 3 yet um and I'm not scared to release breaking
2:38
changes okay
2:44
um that actually reminds me to talking about total cms1 to total cms3 okay um
2:51
it's sort of like a foundation 1 to Foundation 6 update okay um this is a
2:59
complet new product while it has the same name and it has the
3:05
underlying um theme of version one or the same um you
3:11
know ideas that version one had um it is completely new it has zero code from
3:18
version one nothing not even CSS absolutely nothing was brought from version one into here is completely new
3:25
and reimagined and better I think in every way
3:30
with that said total cms1 obviously is a very mature product okay and there are
3:39
tons of little tiny features that maybe some of you don't even know
3:44
exist that might not be in total cms3 maybe I don't even have it planned I
3:50
don't know okay there are a ton of features in total cms1 a lot of little Edge case scenarios that I built for
3:56
this case and that case and um so as of right now treat total CS 3 kind
4:03
of like a new product okay um in that I
4:08
do have plans to bring over most of the majority of the features but feel free
4:13
to ask hey um if there's a feature in total cms1 that you really really love and you need to make sure that it's in
4:19
version 3 let me know okay and we can talk about it um I haven't made it
4:25
public yet but after after this Zoom today I there is a toal CS3 beta group
4:31
on the community okay I will make it public okay so everybody even those that
4:37
don't have access to the pre-sale can watch be a fly on the wall okay until I
4:43
open up betas in the future okay um but yes feel free to
4:51
openly talk and share your thoughts and feelings and issues with with about total CS 3 there okay
5:00
um obviously because it's a private beta right now I'm not going to give out download links to Total cms3 um even
5:07
though going in the future after public release it'll be like the current version the stacks will be free to download but obviously you just need to
5:13
purchase the license okay um but again remember total CS
5:19
there's going to be a gazillion total cs1 features that might not even be on my radar for total CS 3 so let me know
5:26
okay uh what features you want um that might not be there okay and I'll tell
5:32
you yes obviously I'm gonna have that obviously I don't for example okay hidden
5:38
tags oh hidden tags interesting one I'll have to think of a way to uh to do that
5:46
we could probably do that in twig probably pretty simple um so good one though I like that let me let me take a
5:52
note of that on strategy on how we're going to implement that yeah put an as on that note because I love it too oh
5:58
really oh yeah yes okay easy well in custom collections
6:03
that's easy uh because you could just create multiple tag fields and hidden tags could just be a hidden tags field
6:10
okay um but we'll we'll try to come up with something
6:19
else let me just open up a a notepad really quick to make a notes of all
6:25
these things
6:41
okay all right hidden tages who man s just the hell did that
6:47
do that took a screenshot in Zoom I think if you do
6:53
command s in Zoom it takes a screenshot that is strange okay
7:02
um next up on the agenda before we get started
7:13
okay PHP um if you're using how are is anyone here using rapid Weaver 8 just
7:21
curious okay uh and has not yeah and and hasn't had a cool little fix that I've
7:28
uh gave out to people okay so a problem is total cms3 requires PHP
7:34
8.2 okay um there's a lot of reasons for that um because it makes the code more
7:40
modern faster blah blah blah blah blah blah blah blah blah okay um however um
7:47
rap weav 8 its preview engine runs PHP
7:54
7.4 okay um which means total CMS three by out of the box
8:01
will not work in rap weav 8 unless you don't care about preview okay it will
8:09
break your preview um now if you're running rap classic or
8:15
rap Weaver 9 or whatever they're calling it nowadays okay it does have a setting
8:22
uh that allows you to use PHP 7.4 or PHP 8.2 in
8:28
preview um so if you're using Raper classic um you're fine okay uh total CS
8:34
3 will work just fine inside preview maybe um to start off I should
8:42
show we should talk about a little bit of vocabulary upfront okay vocabulary on
8:49
total C I'm still sharing my screen correct yes I am
8:55
um okay this is a folder um of a of a demo
9:01
project that's currently published on my machine okay and I want to talk about what uh what this
9:26
is pretty much everything in total cms3 um behaves like
9:34
blog in total cms1 okay and um so in total cs1 we have
9:41
a Blog and then a Blog can have blog posts right um and those blog posts have
9:49
multiple Fields right title summary ID or permal link summary media extra
9:56
content All That Jazz right um so basically total CS 3 took that concept
10:03
and went all in on it but we call things we can't call
10:08
everything a blog like we do now right we everything's called a Blog even though it's my product page or my
10:14
reviews or my whatever you're abusing blog for right um we can't call
10:19
everything a Blog so um what we call them is a
10:25
collection okay collections have objects
10:30
and objects have properties now the organization were
10:37
we're taking a a small Peak behind the curtain here right this is um what is it
10:43
quintessentially the CMS data folder okay this is now called the TCMS data
10:48
folder okay um and at the top level we have a bunch of
10:53
folders and these folders are a colle are our collections
11:01
okay so inside of a folder um this is a collection called demo and inside there I have objects and
11:09
each of these objects have a file okay um and so and then obviously each of
11:17
these objects have properties right so particular this particular one has an ID name a description a price a feature
11:23
tags some colors a date an image right so it has all of those
11:32
properties does that make sense to everybody so again simple concept we have collections collections have
11:39
objects objects have properties okay pretty simple now what's
11:45
kind of cool is um in total CMS one I kind of changed thing how things were
11:51
like organ how that CMS data folder is organized so it's a little hodgepodge um here it's very simple right so like
11:57
here's this um cidate whatever the heck that is object
12:03
right and if you notice up here there's a cupid aate uh folder and inside there
12:09
there there's going to be folders for each property that has a file right so if you notice that uh this particular
12:15
object had an image property well obviously we need to store an image for the image property and if we go into the
12:22
image folder we'll see that we have an image right now if there were multiple
12:29
images in here we it would have multiple folders or if there was a gallery it would have a a folder with all the
12:35
images in the gallery right um but there the organization is very
12:43
very nice okay um there are some other files
12:51
I'm not going to dive into all the weeds here um so there's this meta file that kind of describes what the collection is
12:58
but and we don't need to go into that right now okay any questions on this on
13:04
on how you know this data is kind of organized and and the important thing is to know that there's the hierarchy of
13:10
objects collection or collections objects and properties
13:16
okay
13:24
excellent so let's dive in um
13:29
there are currently I think there's now 75 Stacks inside total cms3 I'm curious
13:38
actually let me uh let me figure that
13:52
out 72 that was close Okay um now some a lot of these are are
13:58
going to be hidden um in terms of like there's child Stacks or various things right okay um and right now all the
14:06
icons are the same okay um if you're curious I you can create a smart group
14:11
um in stacks and uh if you just do a smart search for Total CS 3 um it will create
14:19
a group for you that has just the total CS3 Stacks okay um assuming you have stacks
14:25
five because smart searches required Stacks five okay
14:31
um and I've kind of organized these into groups if you have any feedback on on
14:36
these let me know I'm I'm open to changing some things for those of you that had beta 3 I renamed some Stacks oh
14:43
look SVG doesn't have a icon the heck happened
14:49
there interesting okay not sure what happened on that one that's weird
14:55
um um and I I renamed some of the groups as well um just to kind of make things um a little clearer okay
15:06
um where to where to start um so just like total CMS 1 there is a CMS
15:14
core okay now um unlike total cms1 um on
15:19
total CMS one you can have CMS core and admin core um and then on the admin
15:25
Pages you didn't have to have CMS core on the page um that's not true CMS 3
15:30
right CMS core goes on every page okay every page uses CMS core it's a
15:36
requirement what loads the CMS onto every web page okay there's still an admin core stack it it does a lot less
15:43
than what admin core in total CMS one did okay um total the CMS core stack and
15:50
total CMS 3 kind of handles a lot of that now um this one just basically loads in the various JavaScript
15:56
libraries that we need and and uh some CSS for styles that obviously we only
16:02
want on the admin side okay um technically this as of right now this
16:07
could be called admin Styles because it's pretty much what it does okay but um I figured I'd keep the name okay um
16:15
so there's admin core and CMS
16:20
core and the concepts of total CMS again are are very much the same okay all
16:28
right let's go this is the uh uh this project file this is the demo project um that comes in the download now um I did
16:36
update the demo project for beta 1 um if you want this uh exact demo project uh
16:42
you can go ahead and redownload it okay obviously the the updates aren't going to download the project file even though you're stack updated okay
16:51
um so on the content admin side here right we have an image we have a text
16:57
box and you know here's some style text okay if you guys uh well all of you attended the summit so you'll recognize
17:04
this page it is the same um you know obviously style text wasn't working at The Summit um but it works now right um
17:14
save all forms right we have a cool new save thing I like it okay um and if we
17:22
refresh page we'll see that everything is working now um You probably a big thing
17:29
that I I showed off at the summit and all the Hangouts over the past month or so um is the new image thing right I've
17:36
even done live streams so hopefully you guys have seen that I'm not going to go through all the ins and outs of this because I've I've kind of reviewed this
17:43
a lot okay um you know we have the ability to save the data you know the big thing in here is
17:49
the the new focal point thing um and uh that's that's really awesome okay um we
17:57
have an image Builder right this allows us to
18:02
uh a big part of total CMS 3 is that all the images are built on the Fly okay um
18:10
whereas in version one uh you know the thumbnails and cropped versions of images were or always created when you
18:17
upload the image but these are going to be um dynamically created on the Fly
18:23
which is awesome because if we ever decide we want larger thumbnails or different Siz things um we can do that
18:29
super easy now um you can go ahead and choose different effects background and borders
18:36
um watermarks do not work yet okay uh watermarks rely on galleries actually um
18:44
and uh I haven't implemented galleries yet okay uh I hope that get galleries in beta
18:51
too okay um so hopefully in beta 2 or beta 3 we'll have water markeing available to us
19:00
um there's also if you notice if if I were to you know add any values here
19:05
okay um and I if I do preview image um what we'll notice here is this macro up
19:11
here okay um this is our first introduction to what the CMS macros look
19:17
like okay um if you're familiar with feeds I've been telling people for a
19:22
long time that get to know and love feeds because feeds uses twig and total
19:28
SE S3 is going all in on it okay so this syntax probably looks semif familiar to
19:35
you um if you've been using feeds at all obviously it's a it's kind of a next
19:40
level um from what feeds does but um it gives us a lot of functionality and
19:45
what's really cool is um I can copy this macro okay and I can paste this into my
19:51
content and it will produce this exact image the size the if any effects that
19:57
you do will create that image every time okay which is pretty
20:04
cool another thing that's great about this image Builder is it shows us the size of the image as well as the pixel
20:10
dimensions okay so as you adjust and create different settings in here you can see how those settings are going to
20:18
affect um the resulting image one thing I haven't tested um that uh Mr burden
20:25
here uh said is he tried to create an avif version of a file it didn't work
20:30
for him and it doesn't work for me so um there we go I'll have to look into
20:39
that let's see webp works that's good right I'll look in the avif not sure
20:46
maybe I don't have the proper extensions or something installed I'll look into that okay um avf is definitely like the
20:55
most bleeding edge image format um it doesn't even have support in every
21:00
browser yet so um you know I just as the community is getting all in on webp
21:06
because web webp actually has really really great support now um and as you see this is the webp version of the
21:12
image um and uh yeah works
21:18
great okay any questions on the image
21:24
Builder NOP okay um in here you can feature image you can uh download the original you can
21:31
upload um clear the cache for this particular image and then obviously delete
21:36
okay um okay and obviously just like every
21:44
other thing if we here if I just go ahead and upload a new image right okay
21:50
uh we go over to the content side that image will obviously be
21:56
replaced okay now um some things behind under the hood basically um total cms3
22:04
you know sometimes if you're using a service like Cloud flare or your hosting has some like pretty aggressive caching
22:11
um sometimes when you replaced an image in total CMS you wouldn't see it um for
22:17
a while on the content side that should not be an issue uh in total CMS 3 um it
22:24
uh it I I implemented some cash busting uh logic that anytime you replace an image um it will
22:32
it should bust through even cloudflare caching okay so we shouldn't have any issues with that which is pretty cool if
22:40
you're curious if we look at this uh this particular image okay and if we look
22:49
at um here if we look at this there's a a cache string added to the image URL
22:59
and um this just looks like a random set of numbers but basically um it's based
23:06
off the date and time that the image was uploaded okay along with some other data
23:13
okay but uh a big part of it is the date and time that the image was uploaded which means um if we ever upload a new
23:21
image this is going to change because the upload date changes um hence this
23:26
cache key is going to update and this URL is going to change for the image
23:32
which would then therefore break any sort of uh caching that was
23:38
done okay so there we
23:45
go all right let's dive into the stacks I'm just kind of I just you know wanted to show you how everything is similar to
23:52
what we're already familiar with now another a big difference
23:59
uh between total CMS 1 and three is how you're going to work with it inside
24:05
Stacks okay and I don't mean by dragging and dropping I mean those that's going to be
24:10
very similar to what you're already used to right here so here I'm on that admin page and what you'll notice in uh
24:16
there's a bunch of total CMS forms stacks these are going to be the forms that you're going to upload so if you
24:23
want to do a Blog form or a checkbox or a color or a date or date time all of those okay um you're going to upload
24:30
these and add these to the page and just like you did in total cms1 um where we
24:35
had CMS ID We Now set our object ID
24:42
okay not sure why that was there um so the object ID is essentially the same thing as what a CMS ID is so this
24:49
particular image is called demo image and just like uh version one on the
24:55
content side I drag in a Content image stack so here's a bunch of contents right so we drag in the image and we
25:03
give it the same object ID again the concepts here are the same
25:09
there should be nothing new here just like you had to make sure you matched up your CMS IDs you need to match up your
25:14
object IDs
25:20
okay um now there are some uh things I did
25:27
add in this beta uh we have validation rules okay so um just like we had four
25:33
validation rules in version one I added four more validation rules um for images
25:39
and files uh in this version of total
25:44
CMS so uh we have mode size width and or height and width just like we did in
25:50
version one um the new rules is we can have an aspect ratio so we can make sure
25:56
an image is an exact aspect ratio okay we can um now this this setting
26:03
this particular setting doesn't make sense for an individual image but it will make great sense for Depot and gallery where you can
26:10
um limit the number of items that can be uploaded okay so again this particular
26:17
these settings are going to be consistent across all of the file upload types um so it doesn't really again this
26:24
doesn't make sense for an image because we're just uploading one image anyway but let's say this was a gallery um
26:29
we'll be able to say I only want 10 allow to allow 10 images to be uploaded okay so you can um put in a max number
26:37
of items allowed um next is type okay this allows
26:43
us to um Define what types of files are going to be allowed now again for the image stack um probably doesn't make too
26:51
much sense I guess you you can you could limit it to a PNG if you really want to make sure the customer uploaded a PNG
26:58
okay um but for files and Depot and stuff you can you can uh Supply a comma
27:03
delimited list of rules such as image zip stuff like that okay XLS maybe um
27:12
and next is we can do some sort of limits based on file name I'm not I'll
27:17
be honest I'm not 100% sure on the use case for this I just thought let's add
27:22
it seems like an interesting idea um so yeah you can limit this m
27:28
maybe the one use case is you want to make sure your customers name your files a certain way
27:34
before they're uploaded okay so you you could actually and all of these strings actually
27:39
support regular Expressions as well so if you know what you're doing you can actually say I want to make sure it's
27:44
you know words-word and you know you you want to enforce that for some reason I
27:50
don't know okay um but yeah so now you can do rules based on the file name
27:56
that's being uploaded all right so that's validation
28:01
rules um okay next up I don't want to I don't
28:08
want this to be a tour of of all of the various stacks and settings um but yeah
28:14
uh I'll dive through what I think some of the interesting settings are um now um in in all of the form
28:22
Stacks we have the ability to do form actions okay and uh we can uh this is an
28:30
action that will be taken once that form is successfully
28:36
submitted so uh a you can go back in history um you can refresh the current
28:41
page you can redirect to a particular URL okay um you can redirect to a
28:48
URL but also add the object ID of the from the object in the current form to
28:55
the end of the URL okay so let's say I'm this form is editing a an object
29:02
that is my product okay and after it's successfully submitted I want to
29:08
redirect them to this URL with that ID of my product added to the end of the
29:13
URL right it this just makes it flexible so that it doesn't matter what object is loaded into the form we can dynamically
29:20
go somewhere okay um and next up is we can do an Ajax uh Ajax post which means
29:26
we can then integrate with things like you know automation tools like zap your active pieces or you know those things
29:32
where we can um if we form is successfully submitted we can
29:38
ping this particular URL and then actually all of the data from the form is sent along with that request as well
29:44
so we can set up some some automations and whatnot which is pretty
29:50
interesting okay now you'll notice in inside each
29:58
individual form you can have a save button you can also have a delete button
30:03
okay um but there's also a save stack and if you notice there's a save stack
30:10
where you can add whatever button you want and if you use the save stack that
30:15
will save all forms on the page whereas if you have a save button
30:22
in an individual form and you click save it will only save that particular
30:31
form now the delete button those are only ever able to be added to a specific
30:38
form you can't have a global delete button I think that's just a bad idea okay we don't want to be able give
30:45
people to globally delete every everything that's on the page okay um so
30:50
yeah uh you can delete the item of a specific form using the delete
30:56
button so there we go
31:05
um now there are slight differences between
31:12
um a lot of these fields such as checkbox and color and date and and a
31:18
lot of these but blog and feed are slightly different okay what makes them different
31:25
let's go to feed okay so here is oops I don't not right now we remind you later
31:32
here is a feed form okay now
31:37
um in feed form what you'll notice here um is we we a we have two actions we can
31:43
run now okay and this is the same thing for blog okay uh we can uh do a
31:50
different action if we're creating a new Post in our feed versus editing an
31:56
existing post in the feed does that make sense right so let's say if someone
32:02
creates a new post I want to uh redirect to a particular URL after they're saving
32:09
but if they're editing an existing post maybe I want to do nothing okay so it's
32:15
it differentiates it smart in that it knows whether or not you're creating something new or editing an existing
32:22
object and you can do different objects based on that maybe on maybe when you're creating
32:29
new you want to do an Ajax request but then when you're editing an existing one you want to do nothing
32:37
okay um now what you'll notice here um here let's go into the live example
32:44
here okay so here's a little example here uh where actually have the content for a feed as well as the form on the
32:51
same page just to make things simple and if I click on this up here um
32:58
it will load that particular post into the form below okay you can see how I
33:04
built that okay um it's right up here and we'll review that in a little bit okay um but I just wanted to show you um
33:13
yeah how that kind of works where is it if I and if I look at the URL it's added
33:18
the ID to the end of the URL kind of similar to how blog adds permal link equals so on and so forth um the new
33:26
permal Link in total C three is ID right so we're just passing an ID to this field to this uh page and when we do
33:34
that the form will load that particular object um into the form whereas if I just go straight to
33:41
the page with no IDs um it's going to I can type in a new one let's go ah and
33:46
create a new
33:52
one okay let's add in some laurum text we're going to add in a
33:58
hangout tag and let's go ahead and add in a uh an
34:04
image okay and uh we're going to
34:11
save so now it's if I go ahead now actually would have been cool is if I
34:17
here let's do this I'm GNA do this now we're going to go into here we're gonna uh refresh the current page when I
34:23
create a new one right let's go ahead and publish that
34:34
let's just refresh it manually now there we go oh I need to add some Gap into my layout but you'll see I now
34:41
have my new my new feed item in here and if I go ahead and click on it okay it loads that into the
34:48
form right okay um and for fun let's go ahead
34:54
in here and I'm going to go ahead a another
35:03
post if you didn't know if feed exists in total cms1 a lot of people don't use it it's just a smaller limited version
35:10
of blog um it automatically creates uh IDs for us unlike blog where you can
35:16
kind of Manu manually manipulate the ID okay
35:21
um I'm going to go ahead and select the existing oops go
35:28
that let's put in a different image and hopefully brows browser cache
35:34
isn't going to kill me here and it's going to oops h no I command s not command
35:44
R I bet you browser cache didn't didn't get my published change so we'll uh
35:50
we'll forgive myself for right now oh interesting what's up with that
35:55
layout huh that's trippy why is the image over
36:03
here that's crazy something for me to look at in the
36:09
future okay um any questions on on that okay um and
36:16
then blog blog the blog for works pretty much the same thing um now for right now inside edit mode the blog form looks
36:23
like a feed form okay um but if we go to the page the blog form needs a little bit of work
36:31
okay um I need some Styles I need to give us the ability to add in remove Fields if we don't want them okay um
36:39
because there's just a lot of fields in blog okay um and obviously galleries
36:46
don't haven't been implemented yet so blog only has an image right now it doesn't support Gallery okay um but you
36:53
can go ahead and you can add blogs it should should work just fine
36:59
okay again it's just edit mode uh the the form stack needs a little bit of work for edit mode and turning on and
37:05
off fields and whatnot okay any questions
37:11
there no man it's a quiet Bunch today Joe is there still um can we still
37:19
control the tool bar for the editor um you will be able to uh but I
37:27
have haven't uh added any of those settings yet okay um so yes um again
37:33
right right now no um it's hardcoded in I think it's just whatever these fields are now just you just have that right
37:40
now but there will be just like the current uh um toal CMS where you can add
37:47
whatever I'm actually adding even more um so you'll have even more control um
37:52
and you'll be able to control it per instance as well okay yeah but to
37:57
strategize on how to do that without like a gazillion settings so it's going
38:05
to be a challenge I want to make it more powerful but maybe easier to do um and not make it because currently it's you
38:12
know a pagewide thing and I'd love to make it a a specific instance like you
38:17
know in summary you only wanted these three buttons but down here you wanted a different set of buttons or something
38:22
that'd be awesome if you can pull that off yes um so yeah I definitely want do that
38:30
okay good question
38:37
um now the big thing with total CMS 3 is obviously custom collections okay and uh you'll notice in
38:44
this demo file there is a custom collection form okay um
38:52
however I I I'm going to recommend you just stay away from them for right now
38:58
um the reason being it they work um but creating the custom
39:03
collection and generating what the schema for that collection which I haven't gone into yet today
39:11
um is a very manual process you have to create Json files manually so um I will
39:19
I I will eventually soon have this is slated for beta 3 okay um have the
39:24
ability for us to have a form that will then generate a custom collection for us
39:29
and at that point we will'll have a nice userfriendly way to create and Define what our custom collections are okay so
39:37
as you see in this example here I have a custom collection that has name description price you know what we saw
39:43
actually I showed this off earlier right all those objects and here they are up here
39:49
um but because it's uh a very manual intensive thing in terms of defining
39:55
what a custom collection is um I'm just going to say while the stacks are
40:01
there stay away from them for now okay um or if you want to play with them feel
40:08
free but you're not going to be able to do much with it okay um if you wanted to create um
40:14
something for example um the current blog you can create whatever form you
40:20
want for blog right because you drag and drop the fields however as we saw um here um
40:27
when you add in a blog form it's just the statically created form I do plan on
40:34
having the ability to turn on and off Fields but you are at the mercy of my
40:39
layout okay now um if you wanted to you could create a custom form Okay just set
40:46
the collection to be blog okay and then you can add in all the various Fields you want via this
40:53
this dropdown okay now one thing you're going to have to make sure the field names need to be the exact names that
41:00
blog uses so summary extra extra extra two content tags categories labels right
41:07
so you need to make sure that you use the correct property names um but you
41:13
can use a custom form to create a blog for a custom blog
41:18
form okay so just let you know
41:24
that okay any questions so far
41:35
no all right let's dive it oh another actually a big thing with I I started
41:41
talking about this and I got off on tangent another big thing with total CMS 3 is how it works in Stacks within uh
41:49
within stacks and I showed you how edit mode works but what about preview
41:57
so if you as you know this project um is this particular project file here okay
42:03
and if we look here um here is what my content data looks like now if we preview this page inside rapid
42:10
Weaver okay sorry Stacks classic okay you'll notice that it looks a little bit differ like now it it the image is the
42:18
same that's only because I was actually I used it the same image right here let's go ahead and I'm going to go back
42:23
over here we going to change this image different okay so that there's the
42:30
content there I go ahead and change refresh this you'll notice that this image is different okay and this is
42:39
because total CS 3 it no longer queries your server for
42:44
the information that's in your CMS on your server why is
42:51
that the reason is it's slow very very very very very slow okay
43:00
um for a very simple page like this with just three you know content areas it's
43:06
okay but as our projects get larger and more data is brought from the server
43:12
preview gets slower and slower and slower and slower and um so in order to combat that
43:20
uh what I did was I made total CMS completely encapsulated inside preview
43:27
meaning that it's its own little dedicated CMS it has its own data all
43:32
within preview which is actually really cool the The more I've used it over the
43:37
past couple weeks the more I I think it's definitely the way to go okay um it
43:45
makes preview fast okay um and it allows you to have you know a test set of data
43:52
Maybe in preview um and it doesn't interact maybe there were some a lot of times people would change things inside
43:58
preview not realizing they were changing their actual website okay um but now um
44:05
it is 100% encapsulated within preview um and the data should be persistent
44:11
across um you know restarts of stacks okay now um I do have to say if you're
44:17
using apps like clean my Mac or any of those style of apps um the data is at risk of being
44:27
cleaned up by those apps okay since a lot of this is stored in quote unquote temporary folders um you know the those
44:35
types of cleaner apps can nuke your data within preview okay just to let you know
44:41
that okay but preview is again lightning quick now um it is much more enjoyable
44:48
and nicer to
44:55
use okay um let's talk about the content Stacks now uh we we kind of went over
45:02
all of the uh admin side and kind of U beat that with a dead horse but um let's
45:09
go into the content
45:15
Stacks um and just like total cms1 there are um content Stacks that you can use
45:23
to display the the CMS content but there are also a suite of macros that we can
45:28
use to integrate into our favorite Stacks okay let's go over the stacks
45:35
first okay that that load in our content okay
45:41
um we can all Rejoice we now have a date content stack in total CS 3 yeah a lot
45:48
of you know there that there is a way of saving dates in total cms1 but there is
45:54
no way to display a date okay um obviously blog did but um yeah if you
46:00
saved a date outside of blog unless you had my Tardis stack um you know it was
46:06
just a ploy for me to sell my Tardis just playing it really wasn't but um yeah it was just one of those
46:13
things where I was just like I'll create it one day and it it just never happened okay so we now have an official um date
46:22
content stack for total CS 3 um and you can supply your own custom
46:27
date format you can also set a time zone okay if you want to make sure you're you know you're explicit with what exactly
46:34
what time zone you want the date displayed in okay um so yeah we have dates um we have
46:42
uh images which we kind of already saw uh you can also in the image stack
46:47
adjust all of the various you know values so you can you can blur an image you can pixelate it you can sharpen it
46:53
you can apply a background color a border color you can cross based on the focal point okay all that type of stuff
47:00
okay um if anyone wants didn't see any of this stuff for images and how to you
47:06
know maybe the focal point stuff we can look at that uh in a little bit okay towards the end so numbers svgs style text and text
47:16
okay um there's also a data which allows us to
47:21
um basically extract any kind of data from the CMS okay um um so basically you
47:28
just give it an object a collection and a property so um you have to give it the exact thing and it'll pull that data in
47:35
regardless of what it is okay um and then uh same thing for the text Stacks
47:43
here uh you can supply what sort of tag you want the text to be added to so like this brings in a a bit of text called
47:49
header and I want to make that an H3 Okay now what's kind of cool with the
47:55
CMS stacks is that you can supply a default
48:00
value right what does that mean okay um I'm going to go ahead and here actually here we'll Supply a
48:08
default value um this is my default
48:13
value okay now if I go ahead and preview this okay you'll see that it doesn't say this
48:20
is my default value says this is my header test okay I'm going to go over here and let's go ahead and I'm going to
48:28
delete this and we're going to save it okay so now that header has no
48:34
content in it and let's go back to the content demo well you'll see here is now
48:39
it says this is my default value okay so it allows us to Define default content
48:46
if the content if there's no content defined in the CMS at all for
48:52
it okay now um Chris Powers
48:57
actually had an interesting when he saw this he was like this is going to be a game changer for project files and I
49:04
never even thought about that but it totally is because now um you know
49:09
project file designers can supply default content and their projects will
49:14
work out of the box inside preview without actually having any CMS
49:21
data at all which is pretty amazing actually that's actually really cool it makes the
49:26
setup of of a project file that's going to use total cms3 much easier and much
49:31
nicer to use so is that where the preview data come from is the default
49:37
data um no I mean remember the preview comes
49:43
in so we let's go off on a little tangent really quick um if I in if you're in uh Stacks classic and you do
49:51
command nine okay that will open up or all if you do uh View
49:57
uh web server logs and then you click on this Open document button okay um so
50:04
this is where you we get to the preview data so inside here is uh where uh rapid
50:11
Weaver puts in all of our files that we actually preview now I don't put it in this because if you quit rapid Weaver
50:17
all of this data is gone okay so but we have to go up a few directories and we get to this directory that has a
50:23
ton of folders in it okay we scroll down we'll see here we have a TCMS data Dash
50:31
and then the domain name this is the data that is stored for this is where the data for preview is stored okay so
50:38
if we go into text and header okay um you'll notice in the preview here the
50:43
text is blank okay there's no text I guess my question was oh to be more
50:51
clear how do you store how do you get the preview data in the first place but you put it in there in preview
50:57
mode yes yes yeah okay that's what I was trying to get to oh got it yes so yeah
51:04
um to get the data in preview mode you just save the the forms um inside
51:10
preview okay now if you re if you want to pop pre-populate that folder with a
51:16
ton of data I mean I just showed you how to navigate it you can actually just move files like if you have a ton of
51:22
files if you like want to bring in all the data from your server you could download that entire TCMS data folder
51:28
and plop it in there and it will use it all it's the same it's not any different
51:33
than what exists on the server in terms of organization and logic it's the same
51:39
okay but yes uh by default you would have you would then populate that with
51:45
um you know inside here now um I'm talking to Isaiah eventually would be nice in Stacks Pro um I hope it to give
51:53
us a setting where we can define a folder in finder okay that isn't going to be
52:00
possible uh within rapid Weaver um but in Stacks Pro Isaiah had some ideas on
52:05
where we can actually allow me to you know get permissions from the OS to a
52:12
folder outside of you know the app basically so that that would be cool but for now um I I I am happy with this
52:20
default you know location um of of the data and I think it it's pretty good okay
52:27
um and again the default value stuff is pretty slick especially I you know didn't even think about it for project files but I think that's going to be a
52:33
great uh thing for them okay
52:41
um I'm not going to dive into every single one of these some of them have you know various little you know uh
52:47
settings for that particular style of content but they're pretty much the same you define your your object um now you
52:54
can also do a custom collection so like for example the text um by default if
53:00
you just Supply an object ID it's going to look in the text collection okay but let's say you wanted
53:07
to bring in um you know something from the feed uh description okay um so you
53:15
know if you wanted to bring in if you knew the exact object of your feed uh
53:21
the ID and you wanted to bring in the description you could do that right um
53:27
so yeah if you want to get very granular about that you can but by default it
53:32
just brings in text that we save in a text collection okay there's also a button
53:39
here called preview macro and that gives you uh a preview of what this if we if I
53:45
wanted to do this well how would I do that and this is the macro you would
53:51
use okay and all of the uh all of the content Stacks have that preview macro
53:57
button okay so like date's a little bit more elaborate because we we actually use twig to for then format uh We've
54:04
passed it to a date formatting function um where we you know pass in our format
54:10
but it's kind of cool that uh if you wanted uh it gives us the exact macro that we would use
54:17
okay now um as I said macros are super useful uh so we can integrate data into
54:23
our content there's also a macro Builder stat where um this actually doesn't output
54:29
anything it's just a way of helping you build out your Macros okay so like if I
54:34
wanted to have um a date okay um and I wanted you know put in my object ID and
54:41
if you want custom collection and custom property it dynamically builds out the macro for
54:48
you okay uh unfortunately we can't copy and paste but you can see what that
54:54
is um and uh any yeah and then does it show in preview uh no it does not show in
55:00
preview if you made it if you made it show in preview it could cut and paste it interesting
55:07
idea right good idea all right um so let's show how we
55:15
can um do this right oh actually another thing I wanted to show before I I do this is um if I do text my object we can
55:24
supply default content here as well okay and what you'll see what that is is you can actually Supply default content
55:31
via um a macro as well so just as as we can supply default content um Within
55:37
These these Stacks you can do it via a macro as well which is pretty cool all right so
55:44
let's go ahead and um I'm going to add in a header stack from Foundation okay and let's go ahead and
55:53
bring in CMS . text okay and I'm going to call
55:59
a CMS ID that doesn't exist right so I'm going to do hangout
56:06
oops I can
56:12
type now there we go now if if that content existed it would display it
56:18
inside this header right let's go ahead and refresh now nothing's displayed
56:23
because it doesn't exist right but I can go ahead and add in that default content if I
56:40
wanted okay there we go now if I refresh here it shows the default
56:45
content right now I'm not going to go and ahead and add the admin thing right but if I were to add in a form for the
56:51
hangout text and then saved text in there it would display that text from the
56:58
CMS
57:07
okay any questions um now the image uh so um Gary
57:16
and Scott had the idea um there are two different macros for
57:22
images and um there's image hold on
57:32
second oh preview macro okay um so in the image stack you'll see that there is
57:37
image path and then uh what this will do is it will just like the the path based macros in the current version of total
57:43
CMS it gives you the URL to an image right um but if you just do cms. image
57:50
okay for example let's go ahead and do that so I'm just going to add in a uh
57:56
HTML stack here let do it right above it or here we'll we'll do it above this so that we
58:03
uh have it so it's separated okay I'm going to do um cms.
58:11
image and then we're going to do demo image is the ID I'm going to replicate
58:17
that okay and uh we're going to do with in 600
58:26
not worried about the height we'll just do with 600 and
58:33
done so here's our macro now if you notice I'm using image instead of image
58:38
path by doing this what this is going to do is actually it's going to Output an actual
58:43
image okay so if we preview that oops okay this is going to get a lot of
58:50
people um this actually that was good let me let me say what was going on so if you notice here this outputed an
58:57
image tag right but it outputed it as text okay and so if you're using macros
59:05
and and you ever see that it's outputting the HTML instead of what that HTML should display okay um
59:15
oops what the heck happened I think it just crashed
59:22
great thanks wonderful
59:35
probably have to redo all of that it's all good all right just that
59:42
again HTML cms.
59:49
image demo image
1:00:08
600 all right so if you notice this outputs the HTML and if if ever that
1:00:14
happens uh essentially what you need to do is in your macro um this is a security feature in
1:00:20
twig okay but what we need to do is you need to do a pipe and then Raw
1:00:28
I refresh and what we notice there is now that image is displayed okay now if
1:00:35
I go back into here and I change this instead of do image I'm going to do image path just to show you what what
1:00:40
that is okay what that does is it outputs the
1:00:46
path to that image okay it's actually the total CMS API call to retrieve that image okay but
1:00:55
it's the UR that you would put inside of an image a warehouse image stack or something like that so like if you had
1:01:01
an uh an a stack that you wanted to um that had a warehouse image setting and
1:01:06
you wanted to add a total CMS image into that stack okay this is how you would do it right you would use this particular
1:01:13
macro right you actually don't need the raw anymore you would just the raw won't
1:01:19
break it but yeah it'll produce the same thing so you would you would put this
1:01:26
into any sort of Stack that supports Warehouse images and you wanted to put in a total CMS
1:01:34
image you would use the image path macro now um where can you find out more about
1:01:42
these macros okay so
1:01:47
um one thing that's kind of cool is the technical docks for total CMS are all
1:01:54
baked into the actual CMS okay so there is a stack called doc links okay I'm
1:02:02
just called docs link okay and um it works 100% in preview um and if you
1:02:09
click on it what that will do actually you might need to you might need to preview in the browser for it to work
1:02:14
actually now that I'm thinking about it because it opens in a new tab okay
1:02:19
um so these are a work in progress documentation for total CS 3 okay and if
1:02:26
you notice there's a bunch of twig templates section okay and if you go to Total CMS content you'll see that I have
1:02:32
a lot of the various twig things that you can put that you can do here so like
1:02:37
here's cms. text here's CMS image path um CMS alt okay which is gets the alt
1:02:45
text um uh for a particular image okay actually forgot to I need to add the uh
1:02:51
cms. image now um into there okay so um
1:02:56
this is very rough documentation um eventually I'll have full explanation examples and whatnot but um you know
1:03:03
this has some data in it okay um for various other I've added a bunch of
1:03:09
other custom twig extensions and Twig functions and all kinds of stuff um that
1:03:15
we can that we can use um there's also we can I did this last night we can
1:03:21
actually generate QR codes um with total CMS now
1:03:26
uh which is pretty cool um here I'll I'll show you a quick example of
1:03:33
that um so if I just do um
1:03:39
qr. um URL okay and
1:03:44
um I'm just going to give it I'm going to give it a static text right now we're
1:03:50
just going to do that
1:03:56
okay so um this is going to create a QR code that's going to take someone to my
1:04:01
Weaver space uh right but um you could use this for example let's say you were storing a URL inside of your um product
1:04:10
you can then put in um that data you can inject that data into this and create a
1:04:15
URL based on the data from a CMS object okay um but just to make things quick
1:04:22
and simple um let's do that oh and I need need to again if you ever see HTML
1:04:28
I need to pipe that to Raw I need to see if we can hijack that and I know certain things need to be raw and that's kind of
1:04:36
annoying there we go so there's a QR
1:04:41
code okay now we'll eventually have to come up with some way of like how are we going to style or color these or whatnot
1:04:47
but um hey we have QR code generation in to CS pretty cool if you ask me all from twig which I think is pretty
1:04:55
slick okay um so yeah um so a lot of those
1:05:01
docs are here you see there are a lot of other QR code stuff I I used URL but you can do telephone GPS SMS Wi-Fi mail to
1:05:09
events and a contact card okay
1:05:16
um there's also an entire um thing called the
1:05:22
factory which I'm not sure I have the the the lungs to uh talk about Factory
1:05:28
right now but it is an entire way to um output content fake content okay
1:05:38
into onto a page or I'll show a quick example here let's just um output um
1:05:44
paragraphs okay so what I can do here is I can do um Factory
1:05:51
do paragraphs okay and I can give it a number of paragraphs that I want I'm
1:05:56
going to do four okay and
1:06:06
um r that oh and uh one second I need to do paragraphs through I should probably
1:06:14
make that false or True by default
1:06:27
so yeah another yeah um so there it creates a paragraph you might be
1:06:32
thinking well that didn't create four paragraphs
1:06:37
um here let's do real text I shouldn't have picked that one because there are some caveats with that
1:06:43
one uh that I don't want to go into right now all right Let's do let's do some of the other on let's
1:06:50
do like uh name right so we could do name so we could do Factory just
1:06:56
generate some random name
1:07:04
okay actually let's put that in a header something like that right so let's say it's in
1:07:10
a that header and
1:07:18
name there we go and if we go on it gives us a different name every time
1:07:24
right um you can even do something like I want to make sure I have not sure why
1:07:29
but if you want a male name right so we want to make sure we have a a guy's
1:07:34
name there we go every time it'll guarantee us to give us a guy's
1:07:40
name kind of cool okay um so that's the Factory and
1:07:46
there's all kinds of stuff that we can just generate fake data for okay
1:07:52
um before I thought this would be interesting
1:07:58
um for dummy data like preview data okay
1:08:03
um but then I came up with the default thing and I think maybe that's even better okay um maybe you could actually
1:08:11
potentially merge both of those like make the default data the factory data that is possible actually um here just
1:08:18
for fun uh let's do um
1:08:27
you're going to do cms. text okay and let's bring in a
1:08:32
name field okay um
1:08:37
name that doesn't obviously name doesn't exist right but then what we're going to do is we're going to do pipe uh
1:08:44
default and then inside the parentheses of default we're going to default it to
1:08:50
factory I I haven't I haven't tried this in theory this should work this will be pretty
1:08:58
interesting so if CMS text doesn't work we'll default to a factory
1:09:05
name right so there we can kind of see it a little bit nicer so we're going to bring in uh the Cs text for a name
1:09:13
field and if it doesn't if that doesn't have anything we're going to default it to a a artificial
1:09:20
name and it worked that's pretty cool
1:09:27
I really love twig so cool so good
1:09:32
um okay any questions on that uh I think we were kind of just
1:09:38
reviewing twig and and how to integrate that with existing content now just like in total cms1 the macros will only work
1:09:46
on the HTML page right so if like if you have a setting of a stack and that setting goes in the CSS or the
1:09:53
JavaScript um that's not going to work okay um so just like in total schs one
1:09:59
all the macros from Total schs the locations should be the same right it'll only work in the
1:10:10
HTML um he any
1:10:15
questions I think I've reviewed most things uh let me go over a couple other
1:10:21
Stacks that I kind of skipped a little bit um there is a clear cach stack this is a
1:10:28
new one and this is probably something you might put on the admin side okay and
1:10:34
uh if you add it to the page you can add any button or link to to this um and
1:10:40
basically when you when you click on it it will clear the cash on the server
1:10:45
okay um and what that does is um you may notice from time to time if
1:10:52
you change some of your twig lay like if you built some Advanced twig
1:10:58
layout um and you've tweaked it and you published it um it might show the old
1:11:05
layout okay um so I built in this the ability to clear the cash but if you
1:11:11
ever do a republish all um that will always clear the cash okay just to let
1:11:17
you know so if you ever uh end up publishing to basically if you publish the total CS app um then uh that will
1:11:26
automatically clear the cach it'll realize that you did a republish all and it'll help you out and just clear the
1:11:31
cash for you automatically but if you want a manual approach to clearing um these layouts
1:11:38
just to kind of show you um a little a little bit more behind the
1:11:44
curtains thing we go into okay so this is uh this particular
1:11:49
website that I have published okay this one okay uh if we go into RW common
1:11:54
plug-in Stacks TCMS okay this is where total CMS lives
1:12:00
this is where the application for the CMS lives there's a cach folder in here and inside here uh what you would notice
1:12:07
is there's just a bunch of um cashed layouts basically so a lot of the the
1:12:14
layouts that we build with twig end up getting cached so that for performance
1:12:19
reasons okay and um yeah that that button will trash this entire
1:12:28
folder okay so that's what that is uh we talked about doc links we
1:12:34
talked about save um oh there is a debug stack okay and uh let's show you let's
1:12:42
go to the feeds page I actually I didn't show how we created this we can do that in a second
1:12:48
okay what I'm going to do is I'm going to do a debug okay and and uh what we can do is
1:12:57
we can print out this is similar to If youve ever used feeds there's that data
1:13:03
dump button or data preview button okay essentially this is the same thing okay
1:13:09
um and we can uh go ahead and put in a variable so I'm going to go ahead and and I want to look at the content of a
1:13:15
variable called post okay and that that's inside of this Loop which I haven't explained yet but we'll get to
1:13:21
that okay now if I go ahead and preview this I'm not sure if there it does have some data okay um we can see the raw
1:13:29
data from the CMS okay so it's a way of seeing again
1:13:36
the raw data for that particular variable um so that maybe you can be like oh I forgot what properties are
1:13:42
here or how we can access that data and whatnot right so um this debug stack
1:13:47
will help us do that
1:13:53
um there there are some data loaders right I'm I'm actually going to skip
1:13:59
these and come back to those right and we're going to scroll down to the bottom and go to layout helpers these are
1:14:04
another um bit of stacks that we're probably going to be used a lot okay
1:14:10
because these allow us to do some um some very cool things it allows us to
1:14:15
control our layouts with the CMS now let's go with with the first one
1:14:22
which is very familiar we have this same exact stack in cms1 it's called
1:14:27
toggle and um based on whether or not a toggle is set or off you can display
1:14:33
contents onto the page okay you can also do else so in this you know here if this particular
1:14:41
toggle called my object is turned on uh we would display content if it's turned
1:14:46
off it will display the else content pretty basic it works exactly
1:14:51
the same as the toggle stack does in total cms1
1:14:59
um next is the conditional and and this is similar to toggle and that is that if
1:15:06
else if logic but um with the conditional uh stack you can basically
1:15:11
build your own if statements okay um I hem and haing did a
1:15:18
lot of versions of this stack trying to um make it work for both Advanced users
1:15:26
and handhold beginning users with like the if logic Rule and I just decided I
1:15:33
think the way we're going to go is just to give you access to the raw if statement and um yeah you can do all
1:15:40
kinds of stuff like you can do like this particular one says if the object ID equals my object then display this data
1:15:47
right but you can do all kinds of crazy stuff in here um and so if this let's
1:15:53
say if I were to do um if object. price
1:15:58
equals zero okay um oops right that means that
1:16:04
this data is free and maybe I display a free download button right or if the
1:16:09
price is greater than zero right then that means it's not a free product and I would have something else
1:16:16
here okay so we can do a lot of uh interesting layout rules and differences
1:16:22
based on conditions um
1:16:28
now if you are familiar with feeds you've probably been to this web
1:16:33
page okay which is The Twig documentation okay and there's all kinds
1:16:38
of stuff in here all of this will work inside total CMS as well Okay the reason
1:16:44
I brought it up right now is there is if uh an overview of what if statements can do um in here so you can kind of get
1:16:51
some more ideas on what you can do with if statements in twig
1:16:56
okay right um but if you notice there's a blue a blue plus button here we can do
1:17:02
an else if rule so you can create like um you know different Logics right so if
1:17:09
the price let's say um is equal to zero display
1:17:14
this you know else if the price is um you know less than uh less than 100
1:17:21
display that right so you can do all kinds of of different Logics based on
1:17:27
conditions and then you can have a final catchall which is the else so if none of these other rules um one then dis then
1:17:35
do this or display this content right so a very very powerful stack um if you
1:17:42
want to create conditional layouts based on your data in your
1:17:52
CMS all right the last one here um in the layout helpers is a loop
1:17:58
stack now um the loop stack is essentially
1:18:06
feeds okay you know in feeds you can bring in data and then you apply the the
1:18:11
layout that you add into feeds to all the items in that data this is exactly
1:18:16
that this is exactly what that is okay so here I'm bringing in a collection called
1:18:22
feed I'm applying um each item in the feed to a a key it's a
1:18:29
variable but I call it a loop key because I think key maybe is the word variable tends to scare people okay so
1:18:36
I'm I think I'm going to shy away from the word variable okay and call it this is a loop key okay and what's actually
1:18:42
kind of cool is I know it's small probably in screen share here but you can see in the title I give you a little
1:18:48
example of how you can access the data right so like if if I were to call this item okay we'll see that uh it gives us
1:18:55
a little example of how we can access that data right inside the um title of
1:19:01
the stack right so I'm going to put it back to post so I don't break my page
1:19:06
okay um so here I'm looping through the collection of feed and then I'm
1:19:12
assigning it to a key called post and what I'm going to do is if you notice here I can now access the data for every
1:19:19
single item okay and in here you'll notice that I have a block grid and
1:19:25
basically what this is going to do is it's going to replicate this block grid cell for every item in the
1:19:35
feed for every object in the feed I should say right so it's going to create
1:19:41
a block grid cell and inside that block Grid it's going to create a link container and if we look at the link
1:19:48
here I'm linking it to question mark ID equals and then I'm doing the macro to
1:19:54
bring the ID of that post so post.
1:20:00
ID and then I have this uh image stack now um in order
1:20:09
to use an image within this Loop um there's something that I skipped over
1:20:14
before and it's something called support variables in this image
1:20:20
stack if before if I were to turn this off okay and let's say I did demo image
1:20:27
right like like on the the default page here or like you know on the homepage of
1:20:33
this demo this is going to look for an object ID called demo
1:20:38
image okay but in this for Loop okay I need to make it Dynamic I need to bring
1:20:46
in the uh the ID from this particular
1:20:51
post so what I do is I we support variables in here and uh so at that point I can then
1:20:59
put post ID into my object ID um then I I need to give it a
1:21:06
collection because we're not I if I turn this off it's going to pull data from the image collection uh and that's not
1:21:13
what I want I want to pull it from the feed collection and then I want to bring in the property of
1:21:19
image okay now uh one thing to do if you support variables these are static
1:21:26
values and when you turn on support variables and you want to use a static value you need to put it inside
1:21:33
quotes and that reminder is inside the tool tip if anyone ever reads that okay
1:21:41
um so I know that's going to catch a lot of people I'm I'm open to ideas to
1:21:46
making this better right this is definitely something I want the ability we need to
1:21:52
have the ability to support variable content or dynamic data within our
1:21:58
Stacks um but yeah I I'm I'm open to your
1:22:04
feedback in terms of how this works and how this functions um and how I can make it more
1:22:12
user friendly this was the best I can come up with so far but I there might be a
1:22:18
better solution out there maybe it's creating two image
1:22:23
Stacks one that's like an Advanced image stack and a normal image stack where the advanced one supports variables and the
1:22:30
normal one doesn't I don't know okay
1:22:36
um but anyway so that's the image I'm bringing in I need to give the image an
1:22:42
ID and I I I do that via this uh variable okay and then below the image I
1:22:48
want to display the title of our post and I do that with a header stack and I just use that simple post. tile
1:22:55
okay and that gives us um our grid layout right and if I click on this it
1:23:03
loads that inside of the feed now remember this is all inside preview it's
1:23:10
100% independent from the online version which is
1:23:16
here which I'm still perplexed on why that happened but whatever
1:23:29
um so yeah um that any questions on Loop
1:23:35
and kind of how that works and how we access you know the data from all of
1:23:42
this now one thing you'll notice is um now for those that had beta zero I did
1:23:48
change the loop stack a little bit if you remember um I did um this behav beh
1:23:54
differently before um before you had to preload your data um before you looped
1:24:00
through it and you can still do that but by default it just pulls in the data from a collection okay let me let me
1:24:07
show you what this is so here's a checkbox similar to in feeds where we can actually preload a feed um we can
1:24:15
you know bring in a pre-loaded feed um in feeds okay um so I can use preloaded
1:24:21
data now when I do that what I have to do is is um I skipped over earlier these
1:24:27
data loader Stacks okay and um in this particular
1:24:33
instance I want to load in
1:24:38
oops I'm going to load in um objects from a collection okay and in the
1:24:45
collection here I'm going to load in my feed uh collection okay and I'm going to
1:24:52
assign it the key of feed or let's call it my feed just just so
1:24:59
it's different okay so now um right now I have the
1:25:05
entire feed collection stored in a key called my
1:25:10
feed now in in here if I want to use preloaded data I'm going to put in my
1:25:18
feed here right now why why would you ever do
1:25:25
this rather than just using loading from a
1:25:30
collection so um if we if we know I'm going to be using data a lot throughout the page okay um let's say I have this
1:25:39
block grid but then further down the page I have a different block grid that that does different things with the same
1:25:45
with the same data now if I didn't preload my data basically each instance would load the
1:25:52
data for me okay so to make things a little bit faster what we could do is we could
1:25:58
preload the data one time and then process it in different
1:26:03
Loops or different ways throughout my entire page so this is just an optimized way
1:26:11
again it will work if you just load in the collection for every single time okay but for performance reasons um if
1:26:20
you know and we wanted to be you know nice about it we can preload that data and then load it inside of my
1:26:29
Loop now what's kind of cool is if we wanted we can go ahead if I add this debug under here so I'm going to load in
1:26:34
this data and then I can debug it right away if I wanted to right so I can do uh it was my
1:26:40
feed okay so here I load it into a key called my feed and then if I debug
1:26:47
that there we go I can debug that you know at and there's only one Post in here but if there are multiple posts
1:26:54
you're like if I go ahead and publish this
1:27:01
page okay let's refresh this we'll see now in here I have all you know there's
1:27:08
three different posts in this feed and I can see all the data for
1:27:15
it pretty
1:27:20
cool okay
1:27:28
and so I think the most used data loader is most likely going to be objects
1:27:33
because that's going to load in objects from a collection okay essentially it's
1:27:39
like blog list okay if we're if we're measuring Apples to Apples this this basically
1:27:46
allows you to preload a a blog list okay in total cs1
1:27:52
terms um you know into a variable now there are other things we
1:27:57
can do we can load in a collection which is like the metadata about the collection so like the collection's name
1:28:04
um what properties it has um not quite sure why we the exact use case on that
1:28:11
yet but yeah you know we can load in a collections metadata okay we can load in
1:28:16
a very specific object so like if I wanted to load an
1:28:22
exact blog post I knew knew I wanted to load this very this specific blog post I
1:28:27
would put in the collection the objects ID um and then assign that to a
1:28:35
variable right and then you know and then I can access that with you know post. or object. ID object. summary OB
1:28:44
you know if because here I'm assigning it uh here let's do it actually for fun let's go ahead and um
1:28:55
I need my data first right here I'm going to write copy link I'm going to
1:29:01
copy that link really quick right so I'm G to get
1:29:07
my right so this is the ID of the only uh feed item in my feed okay and my
1:29:14
collection is feed okay and I'm going to sign it to a data key called object okay so right now
1:29:22
um I'm loading in this specific post from my
1:29:29
feed okay and for fun we're going to go ahead and and let's just debug it and we're going to Output um what what was
1:29:35
the key I used object here let's change that to my
1:29:41
object so my object and then yeah there we go so there we go so now we have that
1:29:49
right so now I have all that data and I can access all that data so um let's go ahead ahead and
1:29:55
do a header
1:30:05
stack and we're going to do uh inside the header stack we're going to do now
1:30:11
remember I I gave it uh my object right so I'm going to do my object dot
1:30:22
title right because is an attribute of of a feed post so because I gave it my
1:30:29
object I can now use my object inside my macros and I can just do my object and
1:30:35
get the title property and there we
1:30:40
go right this isn't this header isn't a part of that grid right it's just right
1:30:46
above it that is super powerful and you can
1:30:53
intermax it could be like um hangout test right so you can mix and match
1:31:00
macros within normal content just to show you that right so it's hangout text colon and then the
1:31:18
ID tocs3 is super powerful okay really
1:31:24
the things we're going to be able to do are pretty mind-blowing all right um other data
1:31:30
loader Stacks um there's a property um which essentially allows it's like
1:31:37
object but it allows you to load a specific value from a specific object
1:31:44
from a specific question or collection right so in this case here if I wanted
1:31:49
to do here this ID let's call this um that and I wanted to
1:31:57
load in the title and the collection was
1:32:03
feed and my data key is going to be my title okay so now I'm getting um the
1:32:10
title property from this specific object from this spec from this collection and
1:32:16
I'm going to assign it to this variable right and basically down here I could do
1:32:21
um my
1:32:28
title and that's the same right because it's before we were just displaying the
1:32:34
title now it's displaying title but just in a different way
1:32:40
okay um now this last one is pretty interesting
1:32:47
um I'll just conceptually talk about what this can do okay um what what this
1:32:54
does is it loads all unique property values from a
1:33:00
collection what does that mean um let's say um I'm in a on a Blog Page
1:33:09
and in my sidebar I want to list out all of my tags
1:33:15
okay and in order to do that I need to get all unique tags that are inside
1:33:22
every blog post that's what this does okay so for
1:33:27
example I would do collection of blog property tags and what that and and then
1:33:34
I can add it to uh data key let's call it my tags right um so what this would
1:33:39
do is it would load in all unique tags from every blog post and give them to us
1:33:48
at that point we can then use you know the loop stack or whatever to Loop through all those tags and display
1:33:58
them okay hopefully that makes sense but that's that's a pretty powerful stack
1:34:03
it's going to allow us to do all kinds of
1:34:14
stuff and with that guys I think I've talked about everything and I'm sure your minds are probably blown or tired
1:34:21
or you know what whatever there's a lot here okay I know there's a lot of new
1:34:28
syntaxes um I don't I don't I think I think the syntax of this is easier to understand
1:34:36
and remember than what total cms1 was and my opinion I think it's cleaner easier to read um now with that said I
1:34:45
know like loading data and using Loop stacks for everything
1:34:51
um can be difficult for some people people like they you know taking that leap um you know
1:34:57
so I'm open to ideas of hey you know let's say the blog filter stack in total
1:35:03
cs1 that kind of created that list of tags Force automatically like hey maybe a stack like that would be nicer to make
1:35:11
like um so that it takes makes what I just showed you maybe
1:35:18
a little simpler right um like you know maybe creating a
1:35:24
you know easier to use versions of the stacks um not getting rid rid of the
1:35:31
ones that we that I just showed you but just adding more that make it easier for
1:35:36
you know more novice users to use I think would be good and so I'm open to
1:35:41
ideas on what those would be like things that you find difficult or challenging um to
1:35:48
implement or to get your head head around um let me know so that we we can
1:35:53
try to come up with a simpler solution um or or probably come up with new Stacks that
1:36:01
are easier to use I'm probably I I personally love these more advanced Stacks it they really click with my
1:36:07
brain so they're always going to be there and I sure guys like Scott they probably click with him as well okay um
1:36:14
but I can understand that um having to preload data and then do this loop stack
1:36:20
and then create my link list based on all the Stacks that I have can be
1:36:26
challenging for some people okay while we have the ability to do a lot right
1:36:32
now um I am open to ideas on how to create things easier for more novice
1:36:39
users and I'll be honest even even sometimes even me it's like I know if I
1:36:44
I know a common thing we're going to want to do is create a list of links for every tag right can we create a stack that
1:36:52
does that a little easier right so things like that if you come up with ideas on things that you would like to
1:36:57
be made easier let me know totally up to it I'm sure we're going to have a gazillion more Stacks into here um and
1:37:04
more tools to play with okay I'm opening the for of questions or
1:37:10
things you'd like me to show um things that aren't in current version okay here
1:37:15
let me share my I'll share my to-do list actually really quick
1:37:29
um so beta one one thing I I didn't get around to I told you the blog forms
1:37:34
needed to be a little bit of work um that's going to get moved down to Beta 2 okay um beta 2 I I want to try to I'm G
1:37:43
to move CSV import down to the bottom of of that that'll be a low priority but
1:37:49
galleries files and Depot okay um need to be made okay um those don't exist
1:37:57
right now okay so galleries files and Depot need to be created okay
1:38:05
um um I want to do a uh there is a radio field I built it um I just need to make
1:38:11
the stacks for it okay um and then a select form um which is kind of like the
1:38:16
the select form that's in total CS one where you can have instead of typing in text you can have that a drop down menu
1:38:24
where when you can build out what options you want inside of it okay um and then obviously nicer blog form um
1:38:31
and then hopefully CSV import okay so that you can uh start importing some data
1:38:37
okay although CSV import I think makes more sense once I build out custom
1:38:43
collections so we might move that to Beta 3 now that I'm talking out loud I think that makes sense okay because I
1:38:49
think people are going to want to import your data when we have custom Collections and that's currently set for beta 3 where we have um schemas and
1:38:57
custom collection Generation Um from a form um again they work I have an API to
1:39:03
create them and you can manually create all the files for it um but I don't have a userfriendly way of doing that okay so
1:39:10
beta 3 I have it currently set for um basically custom uh collection
1:39:15
generation okay um there is a a a new field called
1:39:21
set or deck I I'm still not sure which one I'm going to choose I keep flip one day I like the
1:39:27
word the term deck the next day I like set I don't know um and then beta 3
1:39:33
will'll probably have the uh the image water marking since I'll I'll ship galleries in beta 2 U maybe water
1:39:38
marking will make it into beta 2 I don't know we'll see um and then beta 4 at that point I you
1:39:46
know uh I need to generate licenses and um probably version API and a bunch of
1:39:51
other stuff there's probably going to be a lot of other Stu there's probably going to be way more than four betas okay but right now beta 2 and beta 3
1:39:58
schedules that's pretty locked in I'm pretty set and once we get to that point
1:40:03
um all the main features of the CMS are going to be done okay um you know based
1:40:10
on your feedback I'm sure we're going to add a ton more we need you know these Stacks to make again these things more
1:40:16
easy um also right now there isn't a way of filtering our data um I'm sure it's
1:40:24
possible with twig but we need we need to create a a friendlier way within Stacks to filter our data like you know
1:40:30
show me all blog posts that you know have the tag of this right so you know
1:40:35
stuff like that right so filtering our data right now it just displays everything okay um another thing is
1:40:43
we're going to need is load more right so you know load the first five blog posts and then do a load more either by
1:40:50
button or scroll or pagination um I do hope to have pagination um in total
1:40:56
CS 3 total cs1 only does load more so um
1:41:01
hopefully we'll have all three options okay a load more with a button load more
1:41:07
uh via scroll and then um pagination okay so what I'm I'm really
1:41:13
struggling with still is just creating a simple blog I mean I can see when I save a Blog that it's being saved to the
1:41:19
server I can see it there but then playing it using Loop um or whatever I
1:41:25
just cannot get my head around that okay we can we can do that really quick actually here um I kind of showed you
1:41:31
with feeds with that feed um here actually maybe for right now
1:41:37
I'll I'll create a new one from scratch okay um and
1:41:45
uh all right what I'm going to do is uh I'm going to create a new page
1:41:56
uh actually just for fun we're going to
1:42:03
do give me give me one second here let me yeah I mean you don't need to do it now if you haven't got time but it's
1:42:08
just I I got the time I I I alloted my entire day for this hangout I will be
1:42:14
here as long as you guys are willing to be here and work with me okay so yeah
1:42:23
um but one thing I want to do
1:42:30
is I want to create a custom where am I doing oh I'm in the wrong freaking folder that's why I didn't see
1:42:36
it right uh actually just for fun I'm just going to delete all posts from there right we're just going to do
1:42:44
that right so now if I go to um this page
1:42:56
I just deleted all the data how was that how was that a
1:43:01
thing oh interesting debug data is still there oh interesting right this is
1:43:08
interesting so interesting thing so you saw I just deleted that data but some of this the data is still displayed here
1:43:15
okay and I'm wondering if that is because something I'll have to play
1:43:22
around
1:43:29
with oh and also oh it's because the in I didn't delete the index file that's why because it's a hidden file one
1:43:35
second we go into here hold on I deleted the the the files but there's in there's
1:43:41
invisible files there Ah that's why let delete that
1:43:48
really quick that makes sense ah okay
1:43:55
cool that's good that made me nervous for a second there okay cool I like that
1:44:00
um this is still there because there is that debug stack on page but let's go ahead and rebuild all this right so uh I'm going to delete
1:44:09
that okay now I I'm using a feed but feed and
1:44:14
blog is it's just the number of fields are you know it's feed just has small less Fields than blog okay so are you
1:44:21
okay with me doing it with a feed yep okay cool just because the blog form is
1:44:26
kind of ugly and ginormous right now and feed is smaller okay um and you whatever you
1:44:33
like as far as the collection's concerned can you I'm say it again you can call that what you like you've got
1:44:39
collection named as feed that could be feed it could be blog it could be anything um yes um is that the idea uh
1:44:48
so right now um with feed and blog stick
1:44:53
with the collection name feed and blog okay um the reason
1:45:00
being let me or I'll go down this small Rabbit Hole so when you create a feed um
1:45:06
total CMS knows that feed and blog are both a um here I'm going to go ahead and
1:45:13
delete this entire folder okay right now there no feed exists in the
1:45:18
CMS okay I'm goad and I'm just going to refresh this page okay and what we should notice is feed
1:45:26
is there now right okay what it what it did is it created a since feed is a
1:45:35
known um out of thee boox collection okay it's going to create it
1:45:41
for us okay it's gonna be hey I know feed is is a um is is supposed to be it's a
1:45:48
reserved I call it a reserved collection right you actually can't create a custom collection called feed right now okay because it's
1:45:55
a reserved name um now you will be able to just like in blog you can have multiple in
1:46:01
total cs1 you can have multiple blogs named whatever you want in total CS 3 I can have I should
1:46:09
be able to have a feed called whatever I want right as long as it's a feed right
1:46:16
okay so I I should be able to call it my feed now um if I were to come in this
1:46:22
stack and put it in the collection my feed total and it doesn't exist on the
1:46:28
server total CS doesn't know my feed is supposed to be a feed collection does
1:46:35
that make sense yeah right um so when I create when I do all the forms for
1:46:40
creating custom collections I'll have the ability to for you to create a collection for a res a out of the box
1:46:47
schema if that makes sense so basically you'll be able to create a um a feed
1:46:54
called my feed okay now you could also do it basically in order to do that all
1:46:59
you'd have to do is just go in here create have it create a feed and then you're going to rename the folder and
1:47:04
you can go into this file and just change the ID and at the point my feed
1:47:10
now will work okay so if you really want to create it there is a little bit of
1:47:15
manual work okay in terms of um you know creation of it but now since it exists
1:47:21
on the server I can now actually use it and populate my
1:47:27
feed okay um did that make sense a little bit y perfect okay but if you
1:47:36
just want to be safe just stick to the term feed or blog okay so for right now I'm just
1:47:42
going to stick with feed okay um and so now let's go ahead and start
1:47:51
creating um our our content side now I'm going to do it just above the form just so we have it all on the same page
1:48:00
okay so um I'm going to go ahead and we need to we're going to do a grid okay so
1:48:05
I'm going to go ahead and I'm G to add a block Grid in there okay and just like feeds
1:48:13
you have to think about okay um I want a grid of my posts so what I want to do is
1:48:19
I want to Loop through and create whoa what was
1:48:24
that drop over crashed rrap weav thank you very much
1:48:45
hor r on stack Prim yes okay um all right let's just do
1:48:51
that again really quick and make sure I I save as I go along okay um so I want
1:48:57
to create multiple block grid cells for each post
1:49:04
correct so what I'm going to do is um we're going to go in get the loop stack okay and we're going to add it
1:49:12
here now um if you're using block grid um there's a cool little thing I added
1:49:18
mostly because the feeds act the feeds stack actually do full with edit mode
1:49:23
right um and that just makes everything full wi so now at that point I have a block grid and I'm going to I have my
1:49:30
loop stack there and Loop's going to create a block grid cell for every single post okay okay now in my Loop um
1:49:39
oh the default collection is feed right um I should probably change that to be collection but um that's fine the
1:49:46
default feed the default collection is feed and I want to uh my loop key I'm
1:49:51
going to call it post okay um so what I'm going to do now is
1:49:59
we're going to um to keep things simple let's just go ahead and do a
1:50:12
header and we're going to do um I'm going to use the macro and we're going to do uh
1:50:19
post. title okay because I know that there's a title
1:50:26
field in the post okay there's title content tags image okay and featured you
1:50:33
said slide to side you said I couldn't use um post. content because that's
1:50:38
reserve for something else um if you touch um well that in blog yes um in
1:50:44
feed in a feed you actually have access to I think you have access to all data
1:50:49
in the index Okay so so uh feed and blog are a little bit different the content is
1:50:55
available to you in the in the um in the index
1:51:02
okay um so like here we we could actually do uh I make this
1:51:09
one actually we'll stick with the title and
1:51:15
let's go ahead and uh we're going to publish
1:51:25
now up here I I have no feed I remember I deleted everything so we're starting fresh right did I change everything back
1:51:31
to oh good speed okay so let's just go I'm gonna go ahead and quickly add in some post
1:51:40
right okay I'm just going to add a title and image just to keep things
1:51:46
quick okay save that
1:51:55
okay um reload can do um my second
1:52:09
post as I notic if I didn't put a um an image in to the blog it didn't save the
1:52:16
whole thing didn't save for some reason oh really okay um doing something
1:52:25
wrong so it was the blog stack rather than the FED stack but
1:52:31
um come on sometime Arc uses command s to show and hide the Side Bar and
1:52:40
sometimes it doesn't allow the save to work and I didn't I could add a save
1:52:46
button to this page I I maybe I should do that yeah oh yeah yeah that seemed to
1:52:51
work yeah might been me finger trle okay um all right so there we go now now
1:52:59
let's let's go ahead and um add images okay and we'll we'll link we'll link to
1:53:06
this page so that it loads like I had it before when you click on it it'll load that post in in this uh in this form
1:53:12
okay and just for fun I'll I I'll also add a save button here just add a save button down there
1:53:18
okay and if we want we can all here we'll also add a delete button we can show we can show that
1:53:24
off um all right so we want an image okay so we're going
1:53:31
to add an image up there now um because I want to again because I want to
1:53:38
dynamically um bring in the object ID okay because the object
1:53:46
ID is stored in a variable okay um in post. ID
1:53:53
if I were to do this it would look for a object literally called post. ID that
1:53:59
does not exist right we want to reference that as a variable so we need to click this right
1:54:05
here um now we also because I'm loading this from a feed and not a uh an image
1:54:13
uh collection okay we need to provide a custom collection in property
1:54:19
and um we're bringing it from the feed and I know the property is called image
1:54:25
okay now I I made a mistake here on
1:54:31
purpose because I have support variables turned on this would look for a variable called
1:54:37
feed and this would look for a variable called image which doesn't exist we need
1:54:44
these ones to be static while this one is a variable so in order to do that we need to put this around quotes yeah
1:54:55
okay I I understand that particular concept is going to break some brains and again I'm open to ideas on how to
1:55:02
make this better okay um but for right now that's how you would do
1:55:07
it okay um so let's go ahead and publish
1:55:19
that oh the third post didn't have a that's post didn't have an image okay
1:55:25
um okay now uh let's add the link okay
1:55:31
so um what I'm going to do is I'm going to use a link container um in Foundation 6 there we go link
1:55:39
container okay and I'm going to add my image and my header into that link
1:55:45
container and um I'm going to create a link and basically um here in
1:55:53
just like in total cms1 you can add like you know permal link equals and then your permal link okay um in Foundation 3
1:56:02
or found in total CS 3 we can add ID equals and then your permal link to the
1:56:07
URL and it will load it into the form okay um so what we're going to do here
1:56:12
is we're going to go ahead and do question mark ID equals and I want to
1:56:18
inject the ID of my post and I can do that with a little macro just doing
1:56:24
curly brace post. ID yeah curly
1:56:30
brace okay let's go ahead and publish
1:56:42
that right and let's refresh and now you will notice that these are now links okay and I can go
1:56:49
ahead and click on the third post and let's go ahead and add an image to
1:56:55
that now you'll notice uh something interesting is that um so I when I
1:57:02
clicked on third post it loaded the post in here and we were editing that post now now yeah when it when a form is in
1:57:09
edit mode images will automatically be uploaded when you the second you drag
1:57:14
and drop them okay which is differently than if you're creating a new post the
1:57:20
the images aren't uploaded until you click save on a new post okay uh but
1:57:25
when you and this is the same behavior actually in as in total cs1 blog post blogs behave the same way okay
1:57:33
um so uh again when you're editing a post images will automatically be
1:57:39
uploaded uh so let's go ahead and refresh this page and there we go and let's let's go
1:57:46
ahead that's bugging me let's go ahead and uh add some padding there publish
1:58:00
there we go just click on that loop stack again in edits just um settings again yeah I I
1:58:07
I did modif this slightly and made it simpler than the version you had now so hopefully it's a little easier to to
1:58:13
rock now the loot key was just a a name you picked so you can use it later on
1:58:19
yes yep you can pick it you know I can make this Gary if I want right yeah yeah and then um the other links would be
1:58:26
yeah and then all these would have to be gary. tile right got it got it got it
1:58:32
yeah yeah right for fun we're going to go through
1:58:37
and do it and then in the link
1:58:48
container there we go now if I publish that it should ALS still
1:58:53
work you're going to give the commander a heart attack oh yeah Char Olympus there we
1:59:01
go you're that
1:59:07
Commander it's good thing it wasn't Chris
1:59:12
Dot thanks for that Joe yeah that that makes a lot more sense that's what I was s of struggling with does um so feedback
1:59:21
does that is that a difficult concept to grasp where whatever you define here is what you define in here no no no I okay I
1:59:32
mean so I just had an idea off top I can make it so that um by default you don't
1:59:39
have to and maybe it defaults to a word called item or or object or it already
1:59:45
defaults to object so then you could just do object. tile um so I don't know um does that concept does anyone think
1:59:52
that that concept whatever you put here is what you would use inside of the
1:59:59
loop I don't see anything wrong with that but okay I kind of know how it
2:00:05
works I guess yeah yeah Scott like it's just a for Loop you
2:00:13
idiots yeah that's what I was was
2:00:19
missing okay do you like the changes that I made to
2:00:24
Loop so it just loads The Collection you can you have the option to load a collection in there does that do you
2:00:30
think that makes it a little bit easier Gary it does it's it's simpler than layout stack before wasn't it you
2:00:37
were yeah yeah yeah I I agree you know it it was definitely a a extra hurdle
2:00:42
having to be required to load the data first yeah Jay when you have a you have a
2:00:49
property for like required correct okay I meant to bring that up
2:00:56
earlier when oh oh like like so like you know title has to be it's a required field yeah yeah yes yep um and here let
2:01:05
let's show um what it looks like if you let me see I forget what's what's I
2:01:11
think in in feed only ID is required actually
2:01:18
um in General on any field you could you can put a proper pretty required on there yes yeah in any yeah if you're
2:01:25
creating a custom form you'll be able to set any field you want as required um and then uh it won't submit the form if
2:01:32
that field doesn't isn't filled out is there in the form is there an indication
2:01:38
that that property
2:01:44
set Oh you mean like like is there indication like you can add a little Aster to the title or something like
2:01:50
that if you wanted youan yeah I just wondered if the you know if the outline turned to red or if
2:01:56
the you know there was something to to show that that's a required field um it
2:02:02
only does it on submit so like it only does it if it fails so like it doesn't
2:02:07
there's no specific Styles if a field is required um but if someone tries to submit it it'll it'll have a little tool
2:02:14
tip that says this field is required I got you okay um and actually there that
2:02:20
actually reminds me of um here let's let's do a little demo
2:02:26
here um there's actually a bunch of um validation okay hey here I'll show
2:02:33
you here let's mark this text field as required okay um and then there I'll
2:02:39
show the pattern stuff in in a second but let's go ahead and set that to be required okay um so I'm going to go
2:02:47
ahead right now uh well it's blank so I'm me save some data to
2:02:55
it right and now I'm going to try to delete that I shouldn't be able to save
2:03:00
this field because it says it's required and there you
2:03:06
go did you see that sorry I clicked on it and I it went away but if I try to save it again fill out this field okay
2:03:14
so that field is required okay um so and then it does
2:03:19
turn red um on on the failure right so that you know and then I can go ahead
2:03:25
and type in it and I can save and we're good to
2:03:31
go does that do you think does that workflow work yeah yeah I was just
2:03:36
curious if there was some yeah some way to not you know you can add to Aster or whatever but um and then there's also
2:03:43
patterns okay so uh you can set a minimum length so you know not sure
2:03:49
exactly why but let's say you want to make sure there's at least 10 characters okay in that
2:03:57
right uh one two three four five six seven eight nine save use at least 10
2:04:05
characters okay um so yeah um so that gives oh that
2:04:12
didn't turn red though I'll have to look into that interesting but if I add a zero in
2:04:18
there now now there's 10 characters and it allows me to save
2:04:23
okay um zero um and then we have custom
2:04:29
patterns okay so uh we do all kinds I have a bunch of pre-baked ones like you can make sure it's a a decimal or a hex
2:04:37
or an i an IP address um they're you oh I thought I
2:04:42
removed that all right I'm removing credit card uh because I don't want to promote storing credit cards in total
2:04:49
CMS okay um I swear I removed that hold on let me
2:04:54
let me make sure I whatever I'll do that later let me make a note remove credit
2:04:59
card I think I removed it from the CMS but not from the stack
2:05:08
yeah um so yeah there's a bunch of pre-baked ones okay even postal codes
2:05:14
from all kinds of countries and then you can also do a custom pattern okay um and
2:05:19
at this point you can um probably use chat GPT and say hey chat
2:05:25
GPT give me a a a regular expression pattern for whatever type of data you want and you can generate a a regular
2:05:32
expression pattern um to match the
2:05:37
data okay uh which is pretty
2:05:45
cool um another thing um if oh shoot it shows up only once while
2:05:52
you're in a in a session
2:05:58
uh you remember you've probably seen it a gazillion time there's a little blue popup in preview that comes up and it it
2:06:05
warns you that hey the data you're seeing isn't from the server it's all
2:06:10
inside preview okay um if you close it by clicking it okay it will not come up
2:06:17
again until you restart your project okay but if if you already know and you
2:06:26
never want to see it you're like yeah I I know preview is is on a thing unto
2:06:31
itself just go to the admin core stack you can turn it off okay so if that little blue box is
2:06:38
driving you nuts um you can turn it off inside the admin core it's the only setting in admin car at this at this
2:06:44
time okay um so yeah there you go
2:06:51
that'll become the new. html. PHP question would it why isn't my site
2:07:05
yeah cool any other any other questions you guys loving what you're
2:07:11
seeing yeah excited nervous all of the above it's just another learning curve
2:07:17
isn't it really you know it's it's like you it's what you used to but but um you know once you start using it in anger I
2:07:24
think but another question for you Joe the what do you what you can do between um light standard and pro will be
2:07:32
controlled by the license code yeah correct so what you get will be the same it just won't work if you um
2:07:39
and yeah right now there's no restrictions that's it but when you when you when you've got lights will that
2:07:46
still be per domain yes it will it will so as whereas easy CMS at the moment it
2:07:51
is across domains correct light yeah okay yep light the light version will
2:07:56
still be will will will it'll be a new thing yeah easy CMS will go away and the
2:08:02
light version of total CMS will be per domain okay but easy CMS and and TCMS
2:08:08
one will still keep working correct good thank you yep happy with
2:08:16
that I know I'll be redesigning sites for the sake of it to use
2:08:23
but I understand yeah I mean it easy CMS as it is now I mean it's a very simple thing and I've used it on on numerous
2:08:29
sites and it is a gift you know in that you can use it on as many domains as you want you know so you may be missing out
2:08:36
there but uh so I can see the waye yeah um easy CMS it's G to get more since
2:08:42
it's going per domain I think I'm gonna add gallery to it I know that's a big thing easy CMS doesn't have so light
2:08:48
will get Gallery uh because you know I if someone's just doing a a little
2:08:54
website you know for their for themselves a gallery is pretty uh you
2:09:00
know for any website right um so I do think Pro you know the standard if you
2:09:05
want to blog standard will have blogs um you know that blog will never get into
2:09:11
light but I do think um you know moving Gallery uh will will make that a more
2:09:17
attractive thing for per domain pricing what you're yeah or put feed into light and bloging
2:09:24
to the middle one oh that's an interesting idea I'll think about that yeah that could be a good
2:09:32
one yeah could feed then you have I you can do a a crazy simple blog with feed I
2:09:37
guess yeah yep Joe did I miss something or are we
2:09:43
able to change the size of a picture at this point yeah you can change the size of a
2:09:50
picture I see to have a problem uploading a bigger picture you have a
2:09:55
problem uploading a big picture yeah like if if I have a a three mag picture it just doesn't seem to want to upload
2:10:02
it I'm still having some issues with with the uh version of Rapid Weaver I'm using so it may be related to that so
2:10:09
I'm gonna deal with that later how big is Big less five
2:10:16
Megs wait how much less than five Megs but not Big L five okay here let's do I
2:10:23
mean so um if you're uploading the image and the upload fails yeah or you just
2:10:29
can't create the smaller versions no I can't I can't get it to accept I can only get it to accept small
2:10:35
screenshots at this point okay so my standard images just
2:10:40
don't seem to go out right and I I suspect it's a setting somewhere I'm missing I I just don't know where I
2:10:47
missed it yeah I had one image that wouldn't upload there was no particular reason it wasn't big it wasn't you know
2:10:52
unusual it was only a JP um I just didn't bother ping it anymore but that
2:10:58
was a an odd one everything else is fine see how big how big these images I
2:11:13
got's this is 36 megabytes let's try that
2:11:30
inter and that's probably a all let's go okay so interesting let's go here
2:11:40
uh wonder if that's a PHP i i setting yeah
2:11:49
exactly I think most of them default is to 2
2:12:01
megabytes oh it's there okay um so the image the image my image did get
2:12:07
uploaded okay
2:12:14
but um my none of my thumbnails are working and
2:12:20
um probably what's going on most likely here is the PHP doesn't have enough
2:12:26
memory to resize of four megabyte image down to 500
2:12:32
pixels okay um so this is going to be an interesting thing I I do think could be
2:12:38
a a problem on some people's servers um where if you want to upload a very large
2:12:45
image um you know creating thumbnails off of those um um could be an issue um
2:12:54
here here let's uh all running M see if I
2:13:02
can um get where the PHP I I settings
2:13:08
are yeah that's that's the point that image I was trying to upload which wouldn't upload was 7.8 megabytes so
2:13:13
that explains there you go yeah um yep
2:13:23
but in just case it actually did upload it it did up yeah it did upload so uploaded the original file but it can't
2:13:29
generate any previews from it interesting um yeah here like if we go
2:13:35
into actually
2:14:09
that one
2:14:47
no log error was generated either interesting oh right
2:15:19
here I will t T to see if I can get at least better logging about that um but yeah
2:15:27
I'm I'm 100% sure that the case for that is because of PHP memory limits okay um
2:15:34
so like if I were to go into here let's find a let's do a couple little tests let see
2:15:41
what size image I can do and my server is allowed to let's
2:15:46
do there's Paul russom Paul
2:15:51
1.6 Meg that one worked okay um there's one
2:15:59
that is 2.3 megabytes let's
2:16:08
see my server do that one let's do 2.7
2:16:18
megabytes did that one okay but once we get to
2:16:31
3.6 yeah it doesn't it doesn't like it it's just for fun here let's do eight megabytes let's
2:16:42
see oh interesting it was that particular image
2:16:48
it didn't like that's crazy maybe it's because it's well maybe
2:16:55
it's because this one's a PNG okay so now we're talking about image technology so pngs are
2:17:01
uncompressed image formats right jpeg is an is a compressed image
2:17:08
format so in order for an application to resize an image it has to uncompress it
2:17:16
resize it and then output in the format if it's jpeg it'll compress it again
2:17:21
so while this jpeg is 3.6 megabytes
2:17:27
compressed the question is what is the uncompressed size I'm not exactly sure
2:17:32
what to measure that but it's probably quite large so uh 3.6 megabytes compressed
2:17:40
uncompressed it could be 12 me like here it's interesting let's try this 12 megabyte PNG
2:17:52
even the browsers chug into did I drag that properly or is it just taking a
2:17:59
while I notic even large images even the browser to generate that preview of the image what is this image it's that one
2:18:07
try that again console errors or the brow the
2:18:14
browser just still trying to generate that preview
2:18:25
delete the old one first Joe that's a good
2:18:38
idea all right so now I have nothing
2:18:52
I think at this point I was getting a red screen oh okay so since you're in edit
2:18:57
mode that's sending it to the server immediately right I'm I'm on I'm on my map this
2:19:04
isn't edit mode so this is running on it this is Apache with
2:19:13
M this is the published website yeah but what I'm saying is you're not creating a new post if you're
2:19:19
editing a post yes so it sends it it sends it immediately right uh
2:19:25
correct yeah um so yeah for some reason that 12 megabyte so so I wonder can you
2:19:33
see can you see on the network tab can you see the the package oh oh I see what you're saying
2:19:40
interesting let's see
2:19:56
can you see the payload I guess was question nope because I I don't generate
2:20:03
it until the browser gives me the image data right yeah but that's that's that's
2:20:09
telling us something though it's telling us it's not dying on the upload the browser puking yeah exactly the browser
2:20:15
PE in yeah so that one the 8 megabyte even
2:20:23
eight if you drag the 8 megabyte you see it takes a little while and then it and then it comes right um so I it takes a
2:20:30
while but for some reason the browser doesn't like between 8 12 Meg it doesn't like that
2:20:37
interesting like this here let's if we did a try and chrome try and Chrome or something real quick and just
2:20:46
see as a PNG so this particular like if I exported
2:20:53
this is that 3 megabyte image or 3 megabyte jpeg exported to PNG which is
2:20:58
an uncompressed format is now almost 18 megabytes so uh interesting so that's
2:21:07
you know that's what's going on there
2:21:23
so it never made it to the server then in this case oh uh this particular one well this 8 megabyte one it did
2:21:31
um I'm pretty sure it did because if I refresh that one work
2:21:40
yeah now if you noticed the first time when I refreshed this the first time it took a little bit longer for that uh
2:21:47
thumbnail to pop up it's because it it never generated that thumbnail before so it created that thumbnail then loaded it
2:21:53
and now subsequent page loads are are faster because that cashed version of the image has already been
2:22:04
created um and obviously it exists since we're looking at it
2:22:23
Matias how you doing I I know you said you uh you missed some things because you were kind of out and about but uh
2:22:29
yeah I I am going to be record this is recording um so I'll make sure I upload the recording for everyone uh to watch
2:22:36
great thanks Joe what what are your what are your first thoughts or Impressions and and whatnot what do you
2:22:44
think uh um the first thought I did have um
2:22:50
from the things I just saw in the last uh one and a half hours um yeah The Twig
2:22:56
stuff I'm still struggling with feeds and so on um I think it may be a little
2:23:02
bit more complicated than TCMS one but I'm very looking forward to the
2:23:07
features of TCMS TCMS 3 um mainly regarding the image handling um storring
2:23:15
the original image and so on um and other stuff so I'm really really looking
2:23:21
forward to use TCMS 3 for my clients okay but um yeah that gives me one uh
2:23:28
question I did post some questions 10 hours ago in the Forum but
2:23:35
uh no problem one of the questions was when do you think it will be halfway
2:23:40
safe to use the beta on client sites one month two month two months three months
2:23:47
I I mean I the features that are currently
2:23:53
implemented I I think are pretty solid uh but um you might have missed at the
2:23:59
beginning when I said um during the betas I'm I'm not going to be scared to
2:24:07
break something from One beta to the next so like if you were using a feature
2:24:12
uh I'm not going to guarantee that that doesn't break in the next beta because I changed it to make something else better
2:24:18
right I would do it the same um so yeah like CMS dot yeah yeah like
2:24:25
ex actually yes so like for you know all the macros that we saw today everything was CMS do something right um when I
2:24:33
released a very beta zero on Friday um it it used to be total CMS Dot and um
2:24:41
the feedback was that's too much typing can we shorten it right so I I changed
2:24:47
it to be CMS dot which I actually I like I think it's nice right but it me anyone that used over
2:24:53
the last three days used total CMS dot well they have to go fix it all right so
2:24:59
examples like that where I'm I'm making things better for the future right um uh
2:25:05
so it is your decision if you want to use it on a client's site okay yeah um
2:25:11
I'm not going to stop anybody from doing it um but just with that caveat of you
2:25:18
might have to between betas things might change that you have to do extra work because of
2:25:24
it I think I wait for weeks until I do such things sure yeah and I mean to be
2:25:33
honest like but also like I I don't want to discourage you not
2:25:38
to because when you're building a a site for an actual client that's when you're
2:25:45
really using it that's when you break get feedback you know I mean a lot of
2:25:53
times we get yeah I can create one little page you know but like when you're building an actual website with
2:26:01
it that's when we really start to test it right yes um and so if you are
2:26:07
willing to deal with changes between betas I I can't I
2:26:14
don't know what there might be no changes I don't know but if you're willing to potentially deal with that I
2:26:20
think that would be a good thing for everybody because then right now I'm willing to change and break things or be
2:26:28
less willing to do that once we ship it right um so the more you're willing to
2:26:35
really exercise it now the better it is for everybody of course yeah yeah right
2:26:42
okay may I just read out my other questions I did post here um the other
2:26:47
question was I I maybe you have already answered them in the first hour I don't know uh how does the detection of the
2:26:55
different versions of TCMS 3 work are the serial numbers somehow tied to a
2:27:01
certain version light standard or Pro um okay that's the first question I
2:27:07
don't have an answer to that I haven't built that yet okay and will the light version as the successor to easy CMS
2:27:15
also need a serial number and would therefore be tied to a certain domain
2:27:20
yes it will ahuh okay interesting okay
2:27:26
but it will have more features than the current than easy CMS like it will have gallery and Scott had an idea of putting
2:27:32
a feed in there well think about that and you can still use Easy CMS for some
2:27:38
sites yes yes easy CMS the current version of easy CMS and total CMS will
2:27:44
still continue to work um I'm not you know obviously kind of like Foundation one I really release updates to
2:27:51
Foundation one anymore they're probably not going to get updates anymore but they'll still
2:27:57
work okay okay which P which PHP version is the minimum requirement for TCMS 3
2:28:04
will 8 8.1 be enough. two .2 okay yes no
2:28:09
problem okay ah and now can TCMS one and TCMS 3 theoretically work on the same
2:28:18
page only for some time to make transitions or TCMS related rebuilds of
2:28:25
existing sites easier smoother to do can they run on the same page and I'm
2:28:30
exchanging part and part yeah or will there be
2:28:36
problems how do when you left a a TCMS one stack on
2:28:42
the page didn't it during the hang up had a and a t cms3
2:28:49
admin C did you try that Gary okay um I you tried to do that tested it well you
2:28:55
you couldn't figure out why it wasn't working and you said oh of course I've left a TCMS one stack on there oh really
2:29:02
oh yeah oh okay so it doesn't seem to work okay um in
2:29:11
theory it should work in in theory but I'm sure there's
2:29:18
some sort of something um maybe it could be the the the the
2:29:24
variable names that I use like I just happen to use the same thing right I mean it there there could be conflict
2:29:32
and then there could be the sure you added you add you added the stack to show the macros the difference in the
2:29:38
macros you show the difference in the macros of TCMS one and the macros for TCMS 3 and you tried to view the page oh
2:29:46
oh did I add CS oh I could have added C here let's let's test it really quick let's I'll add CMS core to the page from
2:29:52
Total cms1 let's see how it works okay right I didn't try answer that's easy
2:29:59
question to answer let's just go ahead and let's go ahead and there's uh CMS core I'm gonna add CMS core one no not
2:30:07
admin core that seems to be okay
2:30:13
yeah I can't remember if it was on the um yeah the admin page or the content
2:30:18
page no maybe I don't
2:30:24
know I I would say
2:30:30
maybe yeah cool if it if it if there's any
2:30:35
issues I don't think I'm gonna try to make them work on the same page um yeah
2:30:40
okay maybe it was the blog ma Gary it was um I remember that though Gary's
2:30:48
right I can't remember exact yeah okay maybe then I just have to copy the page and make changes that
2:30:55
way uh yes it's okay
2:31:01
yeah next question that's all from me oh okay cool no question excellent no so
2:31:09
Maas like I said ear uh you might not have been here so I know I I I'm doing a lot with macros and the loops and you
2:31:16
know that and having to know that's the mustache syntax and whatnot
2:31:22
now I I do want as I said earlier I do want to create um simpler Stacks that
2:31:30
maybe would require less um less macros or less twig syntax on the page that
2:31:38
would great you you'd give up some flexibility for that um but um it it
2:31:46
would make it a simpler pure like Stacks based approach yes as an alternative to
2:31:53
the more complicated um yes and I agree now right now I most of it is all the
2:32:01
complicated approach I I understand that um but as as we build and we get ideas
2:32:08
and maybe I see what people find easy and what people find difficult then I
2:32:13
can create the stacks that would make it simple the hard things more simple
2:32:21
great yeah for example um in in total cms1
2:32:27
there's a blog list stack right y um and as were you here
2:32:34
when I built that feed with Gary when we use the loop stack right I can see like
2:32:40
it would be nice if we had a blog list style stack right where maybe you don't
2:32:46
have to do everything um or you could let us start ing third party people make
2:32:51
this yes yes yeah um I mean and maybe
2:32:58
also maybe you know instead of creating stat maybe it's just creating a template that is like a pre-made layout so you
2:33:05
can see how it's all done I don't I don't know um but again I'm open to feedback and I want to make sure that
2:33:11
it's not difficult to use I want to make sure it's easy to use um or relatively
2:33:18
easy to use for people that are used to Total cms1 um versus getting overwhelmed maybe
2:33:25
with what they feel looks like programming yeah yeah would be great at least some
2:33:33
templates uh where where one can look how how it's done yes and to replicate
2:33:39
this yes be like hey this template does this I just want to P you know unpack it
2:33:44
and then I can change it around and move it to modify it yeah yeah yeah
2:33:51
I think having live working examples I think is a a big thing where you know it's kind of like the the foundation 6
2:33:57
approach where or you know where you have a blank slate and you're like what do I do now like
2:34:04
oh where do I start you know and even templates will be better
2:34:09
now that you can have that default beta in there too yes oh that very true yeah
2:34:21
cool any other uh any other questions oh and did you see also uh mattius that did
2:34:28
you're still using R for eight correct uh right ah this this was one question in my post uh what did I write so far no
2:34:36
one was able or had the time to tell me how to get PHP .2 running in W in rid
2:34:43
weer 8 MH um so I would be thankful for some instructions how to do this I today
2:34:51
I or yesterday I tried um rapid Weaver classic and the PCM 3 demo site worked
2:34:59
in preview it's no no problem there after switching to PHP a.2 but uh for
2:35:06
some reason I would like to continue to use Rapid Weaver 8 so um
2:35:12
um just a quick one Joe yes um I I got in late but um I've been with a customer
2:35:20
but um I've got rw8 which I bought from the App Store MH and I tried what you
2:35:27
gave as on Friday the PHP and whenever I do preview or publish
2:35:33
the whole thing just crashes and I don't have I would never got a license with that one because it
2:35:40
was bought from the Apple App Store so I can't use the classic but I've got it working in
2:35:46
M okay okay today H I'll uh I'll I'll see what I can so um
2:35:56
Matias do is yours from the app store or the Apple App Store mine is from um the
2:36:03
real me side okay um I'll I'll teach you if you want I'll teach you how to do it
2:36:08
if you want okay should that would be nice yes I've done what you said and put
2:36:15
the PHP in there but it just crashes every time do preview and everything yeah I I understand yeah I think it's
2:36:21
the App Store thing where the App Store really locks down yeah because you remember how I said um uh so yeah and
2:36:30
you don't get a license with the App Store so you can't use nothing else yeah you can't just do that
2:36:39
um I'll try to come up with with a workr for you David and I'll I'll ping you if I could think of one okay yeah that' be
2:36:45
nice but um it does work in m so it's not really
2:36:51
okay so Matias yep um what you're going to do is uh let me bring
2:37:04
up um now I actually uh all right so I renamed my rap Weaver
2:37:10
8 to Stacks classic okay this this is the rap Weaver app I
2:37:16
just I just renamed it for for myself okay okay it's not uh you don't have to
2:37:22
do this okay no you don't have to do this okay you can keep it okay um but what you're GNA do is
2:37:30
you're going to right click on um rap Weaver 8 okay and do show package
2:37:35
contents of course yeah okay and then you're going to go into contents Mac OS
2:37:41
Mac OS yep okay now you're then you're going to do the same thing since you have classic as well yeah okay you're
2:37:48
going to get classic you're going to do the same thing open up the same folder yeah of course yeah
2:37:54
okay now in classic you will notice that there is a php7 and a PHP 8 file okay in
2:38:02
in rap Weaver 8 it will look like this it'll have just one PHP and rap weav
2:38:07
eight yeah okay what I did is um I I renamed the PHP that was there to
2:38:15
php7 I take the the PHP 8 file from rap Weaver classic you move it here or you copy it here and
2:38:23
rename it to be PHP done that thanks thanks Joe okay
2:38:29
okay at that point preview will be uh uh 8.2 yeah yeah okay it's so easy if if
2:38:39
you know what to do yeah yes thank you all no
2:38:44
problem okay fine fine
2:38:49
and if anyone like David bought it off the Mac App Store um oh when you do that
2:38:55
and then next time you open up rap 8 um it might say this is from an un
2:39:01
unidentified developer yeah I got that yeah just right click and say open and then say yeah okay yeah um on the Mac
2:39:08
App Store now David did you try right clicking and say open all well no um on the when I done
2:39:18
it in the in my one basically I done exactly what you done there renamed it to seven and then put the other one in
2:39:25
there and every time I done preview it just crashed and come up with an error message and various other things
2:39:32
so I think it's purely to do with the one from the Mac App Store because you don't get a license code yeah so the app
2:39:40
actually loaded but it was just when you hit preview it di yes you can use everything else it's just when you do
2:39:45
previe the whole thing crashes okay h
2:39:52
right but I I played around when I downloaded this morning the cms3 bit and
2:39:58
it works in m so I'm going to play with that later on
2:40:04
okay okay and I can I can copy my one and
2:40:12
send it to you if you want to have a play with but I don't know if how that would work
2:40:17
okay um yeah no um I have some ideas I'll I I'll I'll send you a message on
2:40:24
on the community and yeah and uh because I did send one to you and Josh saying that it was crashing okay on on Saturday
2:40:31
after the hangout on Friday yeah I saw that so I'm glad you're were able to come today though thank you well no I
2:40:37
was up with a meeting I've got a charity on board and uh they w a great big site
2:40:43
so that's going to be sight lock and everything so be good very cool
2:40:49
yeah so we we negotiated 1% of all income so that's even
2:40:56
better hopefully they'll make some money
2:41:03
nice any other questions guys yeah three hours ago I said to my
2:41:09
wife yeah just about an hour you know um yeah at least you brought me a glass of
2:41:15
wine so you drank it
2:41:20
I know we we visited a few nice country pubs on the way back from St Orbin so had a few nice country
2:41:28
alses excellent I just remember you some months ago I think you um mentioned that
2:41:35
you are working on a new impact deack on a new
2:41:40
version um Am I Dreaming maybe I I haven't started work on it it's
2:41:45
something I I would like to do a new version but um I haven't started working on impact okay
2:41:52
yeah came to my mind
2:41:58
okay and Page safe yes I did start a new version of page safe um it's running on madefor
2:42:06
stacks.com um and uh I don't have it's still has a
2:42:12
lot of work to go um I implemented like a username thing like I don't know it's
2:42:19
it still has a lot of ways to go um after T after TCMS 3 yes and I yeah um
2:42:28
so yep I also have I want to get a new version of foundation started as well I have some really cool ideas for that to
2:42:33
make that easier um um so yeah okay
2:42:39
there's always one thing working at a time that's the thing and it one thing at a time yep
2:42:46
exactly so I'm just glad man it's taken so many years to finally get total CMS 3
2:42:53
into people's hands you know the past this the past few months
2:42:58
I've been working so hard on it and uh I'm I'm really happy with how it's turned out um I think it's turned out
2:43:05
even better in some respects than than what I imagined um so Joe the photo
2:43:11
stuff is great Joe will we be able to create a collection and give it to
2:43:18
someone else like uh like create a custom schema like
2:43:24
like I I created this custom schema and I want to you know share it for share it with somebody I'm thinking about total cow
2:43:32
yeah um that is on my list of things I would
2:43:40
like to do um I don't I don't know exactly how to make it sharable yet um
2:43:46
you know the easy the easy the easy way is here's a here's a schema file that you
2:43:52
can just drop into your CMS data folder and it you know that then it just it's done for you um so you know but I would
2:44:00
like to be like an official plug-in architecture eventually um but for right
2:44:06
for at the beginning I'll probably have just hey drop this into your drop this
2:44:11
Json file into your schemas folder in C in your CMS data folder and then then
2:44:16
you're good to go yeah I was just trying to Fig figure out how to to make total cow compatible with three yeah um yeah
2:44:25
and that way you can just create your own Fields you don't have to bastardized blog right right yeah exactly um so yeah
2:44:32
um at at minimum that that's you the hardest thing uh and that's not really
2:44:38
hard just giving someone a Json file and they drop it in a folder on their server and they're good to go but eventually I
2:44:44
would like to have an official like plugin I think that would be really cool um but I I not not sure exactly how to
2:44:49
architect that yet but it's something I would like to do yeah or maybe maybe I could just modify the
2:44:59
stack so that it just copy that schema into the that they need into the yeah
2:45:04
you could yeah that's actually true too I mean is yeah since you're you're publishing code to the server anyway
2:45:09
your server could just be like let me just install this schema file for you yeah totally all right I I'll get with
2:45:16
you when it's time to deal with that yeah that's a good idea actually yeah
2:45:22
that that's even simpler you just check to see if it's there if it's not there install
2:45:44
it yeah well Joe if you don't have any other important things to share I'm I'm
2:45:49
out of here very much Scott thanks very much really much guys I think I think we're
2:45:55
gonna call it quits yeah the end of normal hangout so I want to go to bed late see you
2:46:02
tomorrow is it still light out there man there the window only coming up to8
2:46:13
o'clock still daylight much everybody thanks much
2:46:18
hopefully on Friday at the Hang tomorrow by looking forward to the recording thanks Jo yes uh yep we'll do I'll try
2:46:26
to get it out you record this you that's good I'll look back at it thank you brilliant take care guys bye
0