0:09
hey guys so in this video I just wanted
0:10
to quickly uh ship an video about all
0:14
the various updates that are coming into
0:17
total CMS beta 7 okay um I'm not going
0:20
to dive into some of all the the code
0:22
there are some new macros check those
0:23
out in the release notes uh but here
0:26
we're just going to look at some of the
0:27
new stuff available in the dashboard
0:30
so first you notice that the homepage is
0:33
kind of redone it has a little bit more
0:34
content now we have the video for beta 6
0:38
this particular video will actually be
0:40
also on this page um when I ship this
0:44
okay um and you'll notice that a lot of
0:46
the pages now have a little bit more
0:47
content um just to give us a little bit
0:50
more um you know stuff some of the icons
0:53
have been updated as
0:55
well um and now in the utilities
0:58
actually some of these utilities these
1:00
actually work um so first off we have
1:03
the project setup and what this is
1:06
useful for is let's say if you're
1:08
launching a new project and um if you do
1:11
have a new project um this collections
1:13
view will actually be empty by default
1:16
and so what this project setup will do
1:19
is when you click on default setup you
1:21
can click on that and what it will do is
1:23
it will actually create all of the
1:25
default collections for you
1:27
automatically um it doesn't create any
1:29
objects in there but at least creates
1:30
all of the collections for you um so
1:33
that's a nice little automation uh next
1:35
is we have the cash cleaner this is if
1:38
um in production if you on after you
1:41
publish and everything is online um some
1:44
of the content some of the twig uh the
1:46
content that's generated by total CMS
1:48
does get cashed for performance so if
1:50
you ever see that you're not seeing the
1:52
data that you would think um there
1:54
probably going to be in some rare cases
1:56
um especially because if you publish uh
1:59
do a republish all the Clash will the
2:01
cach will always be cleared when you do
2:03
a republish all but this button allows
2:05
you to uh just click on that and it will
2:08
quickly clear all of the server cache uh
2:10
for total
2:12
CMS next is if we skip all the way down
2:14
to server Checker um this is a nice
2:17
little um info about your server has
2:19
some things about uh the operating
2:21
system and the your some of your
2:24
configuration about your web server it
2:25
does some checks to make sure that you
2:27
know permissions and the required
2:29
software install
2:30
some optional software and then some
2:32
configuration values within total CS so
2:34
this a great little information and um
2:38
if any of these are have errors uh you
2:41
might have some issues with parts of the
2:43
CMS um and it will actually display the
2:45
error here as
2:47
well next up is the log analyzer and
2:51
this is a really cool utility for
2:53
analyzing your CMS logs okay so here
2:56
we'll notice that uh you'll have a list
2:59
of all your your logs uh you can click
3:01
on that and it will show you all of the
3:03
errors so this particular error in this
3:05
log has happened six times um and then
3:08
this is the actual raw log file um and
3:11
yeah you might have more depending on it
3:13
creates a log per day um it does store
3:17
up to 30 log files um before it starts
3:21
deleting those so yeah uh and every time
3:24
you just click on the log it
3:26
automatically shows up here and all this
3:28
data will get refreshed so you can see
3:30
exactly what's going on in the CMS uh
3:32
next thing is if we go into the
3:34
collections view you can actually add a
3:36
new collection now there was broken in
3:39
beta 6 um beta 6 had the ability to
3:41
create custom Collections and custom
3:43
schemas but I broke the new collection
3:45
form so um yeah that kind of killed the
3:49
the glory on that feature update but now
3:51
it's available so uh we can now add new
3:53
collections as well as um new schemas
3:56
right so you can go ahead and add your
3:57
own custom schemas as well as your
4:00
custom
4:01
collections excellent um if you go into
4:05
a uh collection now you'll notice that
4:08
there is a new utility called rebuild
4:11
index and what this does is if you click
4:14
on it what it does is it will actually
4:16
completely delete the in the existing
4:18
index for a Blog and create a completely
4:21
fresh one why would you want to do this
4:23
well um if you are adding new fields to
4:26
a collection or a schema or you are
4:29
Maybe be um editing it so that uh a new
4:32
field is a part of the index or you
4:34
remove fields from the index um this
4:37
feature just gives us the ability to
4:38
manually regenerate that um without
4:41
having to actually go in and modify any
4:43
objects or anything like that so it's
4:44
just a quick little utility um to
4:46
rebuild this
4:48
index lastly inside of the um
4:52
schemas uh this is kind of a nicity if
4:55
we go into a custom schema
4:57
here and if you know uh for each field
5:00
we can define something called a factory
5:02
and before we had to actually kind of
5:04
know what to type in here right um it is
5:07
documented um but now I have this nice
5:10
little um you know tool tip that gives
5:12
us a little bit of help so I want to do
5:15
like um you know image I can see all the
5:18
various options for images right and
5:20
then I can go here and then I can modify
5:22
the parameters in here right so really
5:25
cool little um little utility here um
5:27
that's been added to the factory and
5:30
again this is for um when you're
5:32
creating or editing your schemas um it
5:34
just makes it a lot nicer to um kind of
5:38
have an idea of what you can do here
5:40
versus having to always look at the
5:43
documentation now um while we're in this
5:45
interface I want to talk about a
5:47
breaking change that occurred um if we
5:50
look at the uh the new out of thebox uh
5:54
schema for blog um it has been modified
5:57
you'll notice that there are several
5:58
fields that have been removed extra
6:00
content extra content 2 um archive and
6:06
labels another uh thing that has
6:09
happened is the gallery has been removed
6:11
from the index okay now the reason for
6:14
this is that um those fields came from
6:16
Total cms1 and I just felt like they
6:19
were too much they I added them because
6:22
we wanted to abuse blog in total cms1 um
6:25
but now that we have the ability to have
6:27
custom collections um we need to pair
6:29
the blog schema down a little bit now I
6:32
don't want to break backwards
6:34
compatibility so um we do have the
6:37
ability to actually um change this okay
6:41
now you can to change it there is a a
6:44
new schema called blog Le Legacy that
6:46
you cannot see here but it does exist
6:49
and if let's see if we go to my blog
6:52
collection here okay um one thing you'll
6:55
notice is the gallery field does not
6:58
exist here um also so I think archived
7:00
doesn't exist right and those are a part
7:04
of the index in in the old version and
7:07
if I go ahead and edit my this blog
7:09
collection you'll see that it is set to
7:11
this schema of blog now if you have an
7:14
existing
7:15
blog and um those and you utilizing
7:20
those fields here's the fix okay so
7:23
you're going to edit the collection like
7:24
I've done here and what you're going to
7:26
do is you're going to delete this
7:27
collection don't be scared
7:30
um this isn't going to delete all of
7:32
your data it's just going to delete the
7:33
collection metadata okay so what we're
7:36
going to do is we're going to say okay
7:37
we're going to delete this so my blog
7:40
collection is gone right but don't worry
7:42
uh what we can do now is we're going to
7:44
click um new
7:46
collection and then what I'm going to do
7:49
is I'm going to um give it a name so I'm
7:51
going to give it blog make sure that the
7:53
ID is the same exact ID that it was
7:57
before um then in the select schema what
8:00
we're going to do is we're going to
8:01
select blog
8:04
Legacy uh and then type in your
8:06
description hopefully you also make sure
8:08
you save the URL um that you had in
8:11
there before and uh in this particular
8:14
project I didn't actually have a URL set
8:16
but if you have one make sure you copy
8:18
so you can paste that in here and then
8:20
let's click
8:22
save excellent we have our blog uh
8:26
collection again and it is set to the
8:28
Legacy scha now let's go back into that
8:31
blog what you notice is now we now have
8:34
access to the gallery and all the older
8:36
fields that were removed
8:40
previously okay so here we are in stacks
8:43
and this beta 7 has two huge updates um
8:48
for the stacks uh
8:50
ecosystem and the first one is um by
8:54
popular demand a feature that um I know
8:57
a lot of you have been waiting for is
8:59
actually filtering and sorting inside of
9:03
a loop okay so for example here um I
9:07
have an example in
9:09
here uh you'll notice that I've modified
9:12
the demo project to
9:14
contain um some more Fields so we have a
9:18
start if something is featured we also I
9:20
also added tags into here okay um and if
9:24
you notice these actually are sorted by
9:26
featured and date okay um and there's
9:29
also some filtering going on as well now
9:31
when you open up your
9:34
existing um Stacks projects you will
9:36
notice an issue with the loop
9:39
Stacks um by default the filter and the
9:41
sort will be turned off and you will not
9:44
see your content here okay um so what
9:48
you need to do is you will need to turn
9:50
on the filter stack and um instead of
9:54
this Loop filter being here you'll
9:55
actually see your old content what
9:57
you're going to do is you're going to
9:58
take that old content and drag it into
10:00
the Drop Zone that's down here now I
10:02
should have recorded this uh before this
10:04
happened okay but um yeah essentially
10:06
you're going to see your block grid
10:08
content or whatever you have up in here
10:10
you're just going to take that and drag
10:12
it into the Drop Zone area that's down
10:14
here okay and at that point if you want
10:16
to add new filters you just go ahead and
10:18
click on the plus button and you can add
10:19
as many filters as you want okay now
10:22
let's uh review these new uh filter and
10:25
sorting settings so inside blog or or
10:28
The Loop blog um let's turn on both
10:30
filter and sorting and as you saw you
10:32
can add as many of these as you like
10:35
okay and um let's have a look now this
10:37
is very similar to the feeds sorting and
10:40
filtering um it takes it to another
10:43
level a little bit though so for each
10:46
filter you can have as again as many
10:48
filters as you want and let's say here I
10:51
have uh property tags um and then we
10:54
have contains we have all kinds of stuff
10:56
in here okay um that we can then do um
11:00
Logic on right so for example let's say
11:03
I wanted to do um featured okay and I'm
11:07
going to do
11:08
featured is
11:10
true okay and let's turn off that so if
11:13
I do featured is true and let's preview
11:16
this page what it will do is it's only
11:18
going to show us the featured posts it's
11:21
all the posts With The Star by the way I
11:23
added a star in here so that's a a nice
11:26
little thing where uh we can do a static
11:28
filter
11:29
okay now um before I added this one um
11:33
let's look at what I had in there
11:35
before and what this does is this gives
11:38
us another option if you notice we have
11:40
filter by URL in turn turned on and you
11:43
also give it a filter by URL
11:45
key um so what this allows us to do it
11:47
allows us to um filter B based on a URL
11:52
now if I were to have have something in
11:55
the value that would be a default filter
11:57
without anything passed to the URL L if
12:00
you leave the value blank this means
12:02
that only filtering via the URL is
12:05
supported for this filter so by default
12:07
it's not going to have any filters it'll
12:09
display everything um but then it allows
12:12
me to add a tag um key to the URL so
12:16
that I can then filter let's have a look
12:18
at
12:19
that so here we are let's look at um we
12:23
can do something uh called here let's do
12:26
this one so I'm going to copy that tag
12:29
and basically what I'm going to do here
12:30
is I'm just going to do question mark
12:32
tag equals and I use Tag because that's
12:35
the uh what I set inside the URL key you
12:38
can put it whatever you like in
12:40
there um and I'm just going to paste
12:42
that in now if I hit enter what this
12:45
does is it it's now filtered there's
12:47
only one stack that has that right but
12:50
um actually let's change it up a little
12:51
bit um let's go ahead and do anything
12:54
that has
12:56
ET okay now um if you look um you'll
13:01
notice that this tag has ET this has ET
13:04
but this one also has ET but it's at the
13:06
end right so uh if we were to look at
13:09
the stacks
13:13
again what you'll see is that the
13:15
condition here is
13:17
contains so uh because this tag contains
13:22
ET then um it is displayed so if we
13:26
wanted it to be an exact match we could
13:28
then say condition is equal
13:32
to now let's preview
13:35
this let's refresh this
13:38
now and now um if we look I still have
13:41
the tag equals ET but this time because
13:44
I change my logic to be equal to instead
13:47
of just contains it only shows me the
13:50
posts that exactly have the ET
13:55
tag now other things here um we have an
13:57
invert filter logic so that um whatever
13:59
logic you build here you can actually
14:01
invert that logic um just by checking
14:04
this
14:05
box so essentially this particular logic
14:07
would now say uh any tag that is not
14:10
equal to whatever I pass view the URL
14:12
right so it's an inversion of this
14:16
logic um and we have used variables
14:18
similar to what we have um in a lot of
14:21
the other Stacks uh within total CMS um
14:24
if you use variables here essentially um
14:28
the tag or the property or the value
14:31
field um whatever you type in here will
14:33
be actually referencing a variable
14:35
instead of the static text okay kind of
14:38
an advanced feature but definitely very
14:40
powerful um if it's something you need
14:43
um where this could be powerful is let's
14:46
say that um we're on a blog post page we
14:50
wanted to create a uh a filter that
14:53
showed or a loop that showed related
14:56
blog posts right and so what you could
14:59
do
15:01
that is we can say
15:04
um let's say we have uh I want to filter
15:07
by author right and I want to show um
15:11
anything that is if I go value then I
15:14
can do let's pretend I'm on a post page
15:16
this is not but I could just do
15:19
post. author here right and then what
15:22
this is going to do it's going to filter
15:24
everything here because post. author is
15:27
referencing the blog post that's on the
15:29
page I set the value to reference a
15:31
variable so we are going to filter
15:34
everything in this list for authors that
15:36
are equal to the author of the blog post
15:39
we're on pretty cool very powerful stuff
15:43
here okay let's look at the sort and
15:45
sort is pretty simple right we have the
15:48
ability you can Define what field you
15:50
want to sort by um you can then set it
15:53
to be reverse sort natural sort natural
15:56
sort is useful if you have numbers
15:58
traditional 1 2 3 4 5 6 7 8 9 10 um if
16:02
you don't use natural sort um you're
16:04
you'll notice that the sort order is
16:06
going to be 1 10 11 12 and then 2 3 4 5
16:10
right so um numbers aren't sorted as you
16:13
would imagine them to um by default um
16:17
so we have a natural sort now if you
16:19
don't need that particular feature don't
16:22
turn on natural sort it is I mean
16:25
minutely more resource intensive um it's
16:28
probably nothing noticeable but it is
16:30
okay so um it's not quite as fast as
16:32
default sort so if you really don't need
16:34
that feature don't turn that on and then
16:36
obviously we have Shuffle now you'll
16:37
notice if you turn on shuffle it removes
16:39
all the settings because we don't need
16:41
to sort by anything it just shuffles the
16:43
properties okay and uh similarly to the
16:46
other ones you can actually use a
16:47
variable here as well um so you can just
16:50
turn on this and then whatever you put
16:52
in here in the property field will be a
16:55
variable as you see in this example um I
16:58
have multiple sorts so first we're
16:59
sorting by date then we are sorting by
17:02
featured now in in this um example here
17:07
you'll notice that I'm featured and then
17:09
I have it set to reverse because by
17:10
default featured actually when you sort
17:12
by featured it puts it at the bottom so
17:14
we want to reverse that so the feature
17:16
goes towards the top and that's just the
17:19
way that how the Sorting function works
17:21
with the data um stored as
17:25
featured also check out the rest of this
17:27
um this Loop post here you'll notice
17:29
that I added some things like this
17:31
conditional so that if if it's featured
17:33
add a little SVG Star and then down here
17:35
I add another little Loop where I Loop
17:37
through all the tags and I add in a
17:39
little label right so kind of an
17:41
interesting implementation
17:43
here oh another thing that we added to
17:45
Loops is uh when nothing is found okay
17:49
so um let's go ahead
17:52
and let's look at this and let's filter
17:54
by um tag equals Joe
17:59
and what we'll notice is since no blog
18:01
posts have tag equal Joe um we then get
18:05
displayed the no blog posts were found
18:07
message now uh that message you can add
18:09
in whatever Stacks you want in there um
18:12
I just have a simple header uh to keep
18:14
it simple but yeah you can add whatever
18:16
you want and then that content will only
18:19
be displayed when um the filtering or
18:21
sorting of the loop actually returns
18:25
zero
18:27
results um lastly uh we have the ability
18:30
to limit okay so um if I want to limit
18:33
by a certain number um we can do that
18:35
right so I want to limit it by three and
18:38
you can also do pages okay and what that
18:40
says is um because let's say I have um
18:44
100 blog posts and I want to limit it by
18:47
10 okay the initial page is going to be
18:49
show 1 through 10 and if I do page two
18:53
that's going to show numbers 11 through
18:56
20 so on and so forth what's cool is you
18:59
can actually pass that data via the URL
19:01
as well let's show you an
19:06
example so we're going to set this back
19:08
to the default of limit by three and uh
19:11
page one let's preview that in the
19:14
browser okay so here we have that inside
19:16
the browser and you'll notice as as we
19:18
set it configured we only display three
19:21
posts right and um if I go ahead and add
19:25
remember we added the the page URL key
19:28
to be a p so I'm going to do p equals
19:31
and I'm going to put the number two here
19:33
so this is going to give me page
19:35
two and we'll notice is that actually
19:37
loads three more posts and this is
19:40
technically post numbers four five and
19:41
six right um so if we were to divvy up
19:44
all of our posts into Pages where
19:46
there's three per page again this is
19:48
page number two so this gives us the
19:51
beginnings of a pagination um obviously
19:54
we're going to build upon this in the
19:55
future um but here's a start where um we
19:59
can actually kind of manually create
20:00
some pagination in our
20:04
Pages now if you don't want the
20:05
pagination feature at all you just
20:07
simply need to turn that off and then
20:09
all this will do is limit right so this
20:11
is going to limit um you know to display
20:14
only a certain number of
20:16
posts okay the last feature that I want
20:18
to show off inside Stacks is um a game
20:22
changer um now in beta 6 if you attended
20:25
that uh that hangout and or watched the
20:27
three-hour long video
20:29
um I I recommend doing that totally
20:31
worth it you're going to learn a lot
20:34
okay um but if we go ahead and let's go
20:36
into
20:37
preview if you remember um
20:41
before um a you can now add um the
20:44
dashboard to a menu super easy it's just
20:46
a macro check out the release notes for
20:48
that um and we're going to go to the uh
20:50
the embedded dashboard here okay oops uh
20:53
we're going to go to actually the
20:55
dashboard link okay and if you remember
20:58
um what I said before is the dashboard
21:03
doesn't work well in preview well that's
21:05
no longer the case now um so you can
21:08
actually go ahead and you have full
21:10
functionality with the dashboard all
21:13
inside of stacks super cool um
21:17
everything works so all the docs work um
21:21
all the collections you can add a new
21:23
collection so you can really manage your
21:25
data here okay so um this is important
21:28
because
21:29
inside of preview it's like its own
21:31
Standalone instance of total CMS it
21:33
doesn't reflect what's on the server um
21:36
so you can go ahead and let's click on
21:38
blog well notice that I do have blog
21:39
posts right um these particular ones
21:42
were created with the factory right so
21:45
if I go ahead and click on that and go
21:46
into well what happened to edit mode
21:49
here oh oops I shouldn't have done
21:52
that let's go back to the link uh go
21:55
into collections go into my blog
22:00
interesting preview kind of was a little
22:02
funky there um it does work let's go in
22:05
the browser so if you probably open it
22:06
in the browser uh go on the link works a
22:09
little bit better in the browser I I
22:11
admit I didn't really play with it much
22:12
in preview directly but if you preview
22:15
in the browser you can see that is
22:16
definitely running inside preview um and
22:20
now we can actually go ahead and play
22:22
around with things so we can go to a
22:24
Blog I can go I can go into the factory
22:27
I can generate object or maybe go into
22:29
the feed I have no objects in the feed
22:31
right so let's go into the
22:33
factory and um let's generate um a few
22:38
objects three is not much let's go ahead
22:40
and create another three okay and if we
22:43
go back to our
22:44
feed we'll see that boom I now have
22:47
created six objects which is cool and um
22:52
if I go back into preview and go to my
22:55
feed my feeds page and preview this
22:59
right we'll notice that in my feeds page
23:01
I actually have data now um prior it was
23:04
empty and that's because I was able to
23:06
go into the dashboard and preview and
23:08
generate these objects with dummy data
23:10
that I can then muck with my layouts and
23:13
play around with things so that um yeah
23:16
we can actually you know build and
23:18
design things with actual data which is
23:21
nice um and having all the data local
23:24
inside of stacks makes preview super
23:27
fast so that's why this is such a
23:32
GameChanger well everybody that is um
23:35
everything we have for beta 7 I hope you
23:37
enjoy it I can't wait to see your
23:39
feedback and what you're building with
23:40
total CMS 3 bye
23:48
[Music]