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.
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!
0:10 been since we uh went live it's been i don't know maybe a little over a month four or five weeks
0:15 something like that a little longer excellent
0:21 uh just some confirmation in the chat as usual that everything is golden let's go ahead and
0:28 make sure this is all working okay
0:38 excellent mr cole sean excellent everything's good on a visual looking good sweet
0:44 dr bob going i just saw your post on the community i uh i'll try to answer it
0:50 later i haven't even read it yet okay
0:55 so man exciting it's been uh it's been a while excellent jody thanks for coming on tony
1:02 aloha hopefully your everyone's doing well
1:07 um now what i'm going to show today is if you join the hangouts maybe the past couple weeks you've probably seen it
1:13 um and uh yeah it's pretty cool we got a cool new stack called feeds out
1:19 and uh i have i've wanted to build this stack for a very long time actually like years and
1:26 years um but you know i just kept working on total cms and working on uh foundation
1:33 six and um i'll be honest part of me didn't want to release because i was like well i don't
1:39 want it to eat into total cms but total cms has really
1:44 um obviously become a very mature product obviously i am still working on version
1:50 two uh and you know i i while you could use this for some total
1:57 cms esque things um it they the two products really complement each other and i think that
2:03 uh a lot of users are going to use probably use both on a website it could be you
2:09 know um so yeah we're going to show you how um
2:15 how we're going to use feeds to import csv files to import rss feeds so
2:22 actually but way back in the day you know you're probably aware if you've been around for a while i used to have a whole suite of rss stacks right
2:30 and unfortunately like the the yahoo apis that i was using because you know
2:36 yahoo's kind of been bought and sold all over the place all those apis got shut down
2:41 and uh so all of my rss stacks were dead and
2:46 i just never got around to building new ones well this is our new rss stack and
2:51 you can kind of do whatever you want with it it's pretty awesome
2:56 um so yeah scott's here he's done some really amazing stuff with the beta version already so um it's it's pretty
3:04 cool um so yeah anyway getting back csvs rss feeds
3:10 um json which is definitely kind of more developer centric but it's a it's probably the standard way on the web to
3:18 communicate via websites right is json it's uh it's a very great serialized language that
3:24 allows you to have complex data um
3:31 easy to programmatically parse through okay total cms uses json as well so um it's a
3:37 very uh a very popular format or along the around the web you've probably heard of it
3:43 um and it's very human readable as well which is nice next up is databases
3:49 okay and i know we've a lot of people have wanted um a suite of stacks that
3:55 allows you to pull data out of a database and we finally have that feeds is very powerful
4:02 with that um and i added support for pretty much every major
4:09 web database out there so we have mysql sqlite um
4:15 postgres and sql server so microsoft sql server because i know i was like uh you
4:21 know what someone's gonna ask for it so uh let's go ahead and do that i think the only big dog i didn't add
4:26 was like you know the big enterprise databases like oracle and scibase and db2 and stuff like that but
4:34 um i could add those connectors if anyone ever wants but anyway um let's dive in you don't want to hear me
4:40 talking about it you want to see this bad boy in action so um what i'm going to show you uh is kind of i've been
4:46 working on the demo for the product pages and i would love more ideas i mean because
4:53 this tool is very generic right it just allows you to take whatever data and build whatever layouts you want so um as
5:01 you're thinking or watching me show this demo okay
5:06 uh go ahead and let me know in the in the chat at the end what are the things you'd think would be interesting to see
5:14 okay um because it is very again wide open so i want to show as
5:19 much possibilities of what the stack can do so you guys can get inspiration
5:25 um from it so all right let's go ahead and uh let's dive in
5:31 all right um
5:36 let's see where is oh there it is okay
5:41 let's just open up feeds there we go oops it's opening over here
5:48 all right um and actually i will show you so one thing i um i want to point out before we
5:56 get started okay um let's actually go in now the product pages aren't ready yet okay but i want
6:02 to show you something okay because
6:09 um the there is two two stacks right now that i'm releasing okay
6:14 um so we have the base feed stack and here's the cool little robot icon that
6:20 we have for him he's a he's a cool little dude um so the bass feeds stack
6:27 okay supports csv rss json and actually also integrates with total cms blog
6:35 okay um the database uh connections are an additional add-on okay so i plan
6:43 on in the in the future to add some more feed packs okay um so the first feeds pack is
6:50 going to be a date the database add-on so if you want to use feeds to connect
6:55 to your databases you'll need to purchase feeds as well as the database pack
7:01 another pack i plan on releasing in the future is a videos pack so um that will connect to youtube and
7:08 vimeo okay and think of this as a way of you know creating your own version of a video
7:14 wall so video wall is of one of my most popular stacks it's awesome but um
7:20 i'll create this uh basically a data connector an add-on pack for feeds that will allow you to
7:26 build your own version of that with your maybe your own features your own layouts or your own whatever right so it's kind
7:31 of a build your own video wall um so yeah maybe in the future maybe we'll do like a social pack i don't know
7:38 um i mean integrating with stuff like twitter and instagram and stuff like that is always such a pain in the in the
7:46 rear right it's a pain in the neck you know i just get i get a crank in my neck just thinking about it so i don't know
7:51 maybe eventually something like that could happen but um for now we're definitely gonna have a database pack and i'll definitely have a
7:57 videos pack um so there we go okay
8:03 so without further ado let's dive in and see what
8:08 feeds can do now i'll show you uh basically kind of what i've built and
8:14 then maybe after that we'll we'll implement one from scratch okay and i'll kind of show you the difference the
8:21 differences between the different data types and all that jazz but what you'll notice is there is a
8:27 generic feeds stack okay and then inside there you can add
8:33 different feeds so here i've added a csv feed okay but you could add whatever feed you
8:39 want and the feed and the creation of your layouts based on that data is 100
8:45 independent okay what's kind of interesting is you can actually add multiple feeds so if you want to add a csv feed and
8:54 a database feed and basically what this will do is it'll actually merge all that data together into one view which is kind of cool um
9:01 okay so very interesting um i think most most time we're going to be dealing with
9:07 one single feed okay but it is an interesting idea that we can actually add multiple feeds in there if we want
9:13 and merge them okay into one feed um so the feed stack itself is pretty
9:20 generic so we have the ability to sort our data
9:26 apply some filters which we'll look at in a little bit you can limit your data and then you can do some data preview
9:32 okay and then inside this area here it's very similar to if you've built
9:39 something with like um total loop okay it's very similar to total cms blog
9:45 list as well where you're you build out what one blog post is gonna look like
9:50 and then basically that template is gonna that template or that layout that you build is gonna get applied to each
9:57 record in that particular layout okay so let's preview this page just
10:04 kind of show you what we have all right so
10:09 here is a pretty interesting page that has some various examples
10:15 so up here we have kind of an online store okay and this is all powered and all the
10:21 everything on this page is actually powered by csv okay but the data doesn't really matter and we'll get into that
10:28 okay um so here we have an online store that kind of has the icon it has the title a
10:35 little subtitle and a buy now button right um here we i've built out a whole
10:42 restaurant menu okay so here we have various hamburgers we have the the title of our of our
10:47 hamburger we have um the price and then we have all the ingredients below
10:53 right um so pretty cool uh we have galleries so here's an image
10:59 gallery of some cars i click on it i get a light box with the with the full resolution image
11:07 pretty interesting okay and then we have a really a way to do like a
11:12 and maybe an employee directory or a friends directory or you know my team directory or whatever right so here we
11:19 have a bunch of you know friends of weaver space right so you know you probably are aware of all these amazing
11:25 designers and developers they make awesome stuff for foundation total cms right so this way where we can
11:31 have you know kind of the image of the user their name a little snippet about them and then a
11:38 link to their website right um so really cool this is just three
11:43 again three out of an infinite possibility of what we can do so what we'll do now is let's go ahead
11:50 and dive in and let's look at these examples okay
12:00 so as i said just to keep things simple on this page i'm using csv okay um and inside the csv feed you'll
12:08 notice that you can actually paste in um the csv data directly into here now
12:14 you can also do a file a csv file on the server or you can do a url to a file
12:20 okay now you'll notice when i choose url to file
12:25 right you might see that this url here is to a google docs spreadsheet
12:31 now this will work you can actually get a csv
12:37 url to a google sheet okay you can't do this i am publicly saying please don't do
12:45 that okay i should actually change the the url to this maybe i don't know but
12:50 um yeah google sheets is prone to having tons of issues and when you
12:57 have production data relying on google sheets um it's just it's not if you're gonna have
13:04 an issue it's when uh because google sheets are just known to go down i remember a few weeks ago like for days
13:11 google changed something maybe it was like a week um you know and
13:17 everyone's google sheet stuff broke okay and uh
13:22 yeah kind of sucks so i wouldn't recommend it at all okay but you do you
13:29 um so it's possible to have this in here you can get a url a csv url to your google
13:35 sheet you can put it in here and it will work okay and uh so there we go
13:42 but for right now we're just gonna do all this data here we're gonna do it inside of a paste it locally
13:49 just works best locally inside rapidweaver okay um what we'll do is actually we'll let's copy this here and
13:55 i will uh we'll even open up a little
14:01 file oops just do this can i get this in a new tab
14:07 please jesus come on
14:12 give me a break here all right close it
14:22 there we go finally okay so here we go let's go
14:30 ahead and let's look at this csv data let me give it a little bit bigger so you guys can see it
14:40 okay so here we go you'll see that this is some csv data okay
14:46 and uh you'll see up at the very top i have all of my
14:53 fields okay so in your csv data that the first
14:58 record in the csv needs to be like your the titles of your um of each row or
15:04 each column i mean okay so we have id name
15:09 cart cart loom which is actually the cart loom id okay a color
15:14 and the summary right now you can you can create this with a spreadsheet okay like numbers or
15:20 something like that um you don't need to do a text editor but in this demo i did pretty simple
15:27 data points right so it should be easy for us to for us to see so we'll see here we have uh the id is call to action
15:34 um the that's the name so we have the call to action name um here's my cart loom id
15:42 um here is the rgb color code okay and then here next to that is the
15:48 little subtitle okay and then so on and so forth we have it for each of these okay
15:55 so if we wanted to look at the data really quick for this particular online store
16:02 what i'm going to actually do is inside feeds i'm going to click this preview data okay and let's go ahead and preview that
16:08 again and what we'll see is instead of my online store layout what i'm what i'm
16:14 looking at here is all of the raw data from my feed okay so it's that csv data
16:20 just kind of processed by feeds and displayed in an interesting format okay
16:25 so we can see for each thing i have an id a name a cartoon id a color and a
16:32 summary so this gives us a way to preview all of our data and this is also good if you don't necessarily know all
16:38 the fields available to you you can see we have id name cart loom color and
16:44 summary okay so let's start building our layout
16:52 here so you'll notice here um i do have to say that while
16:57 um feeds doesn't require foundation six the two work so well together just because the way
17:04 foundation 6 is built like you can here we have a feeds inside of a block grid
17:10 and what feeds is going to do is it's going to create tons of different block grid cells right
17:16 that's hard to do maybe not even possible to do with other grid stacks okay um i don't know um but
17:24 yeah foundation six makes that really powerful and easy to do okay
17:30 we'll see some other layouts here that don't necessarily require foundation six but this the block grid one
17:37 i don't know if it does or doesn't work with other other ones um it's possible it will um but it might not as well
17:44 okay so inside what feeds is going to do is it's going to take every single item in that csv data
17:51 and it's going to create a block grid cell for each one
17:58 okay so essentially it's the same as if i were to um if i were to create this block grid
18:05 with an icon and a title and a subtitle and a button and a background color and
18:11 created one for each okay but who wants to do that right because that that just takes lots of
18:17 time so let's create it once so we got i have a block grid cell now here i am using a css box stack
18:26 uh to apply the background color um i tried my best not to
18:31 you know use all foundation sticks you could definitely do this with swatches okay i just wanted to say that you could
18:36 use swatches for all your foundation six users um but css boxes has an interesting feature in that you have an inline style
18:44 okay so um this is our first look at um some of the macros actually let me
18:51 skip this one okay so i have a css box that has a background color okay and
18:56 then in inside that and again that is this outer shell this box
19:02 okay inside that i have a two column okay here actually you know for fun i'm
19:07 gonna go ahead and let's make this a little bit bigger there we go i'm just going to temporarily drag that out of
19:13 the block grid so we can see everything a little bit nicer okay then i have a two column
19:19 inside two column um i have a range check purely for performance stay uh sake i'm actually
19:25 here we'll just remove raincheck raincheck is my a cool stack i released about a month
19:30 ago um not needed just makes page load a little bit faster okay so i have a picture
19:36 stack inside the picture stack i defined a a use warehouse and i define a url
19:43 and then over here in this column uh we have the text content here we have
19:49 a header which is an h3 and here i'm injecting the name now look at this syntax your if you've used total
19:55 cms blog list or you've used a bunch of my stacks you probably recognize this
20:01 syntax sometimes it's called mustache templating um and what that is is curly braces
20:07 and you put in the field name from the csv file so remember in our csv data
20:15 i had name so if i wanted to inject the name field
20:20 in this case call to action all i need to do is do curly brace curly brace name
20:26 and then close my curly braces so again you just type that directly into the setting
20:32 okay same thing for here in the summary in the summary i'm doing curly brace curly brace summary and closing those
20:39 curly braces so this is a great example of how to
20:44 leverage and inject your data okay now let's look at some other
20:50 interesting things here i had a buy now link okay now i use cart loom on my actual
20:56 website um and so in cart loom all you need to do is know
21:01 that the id of a car of a of a product okay and you just add that id to the end of a
21:08 specific link right so i have you know joeworking.cartloom.com slash cart slash
21:13 ad and then i need to have the cart loom id okay so i'm injecting that cart loom id
21:20 with those little curly braces
21:26 pretty simple now every single button is gonna say buy now and that's okay
21:31 if we go ahead and look at this picture now this url is going to look really complicated um it's basically a way for
21:37 me to get the stack image from the weaver space from total cms on weaver space so it's using um
21:45 some apis from total cms2 um and i'm in all i need to know is the id
21:51 okay so i inject the id um and that's going to give me my url to
21:57 an image okay
22:02 and remember i skipped the css box really quick but here i just did in the inline style setting i did background
22:09 colon and then i'm injecting the color which is an rgb value
22:16 okay so i now have all of this data
22:23 okay hopefully you can understand how i'm building and how i'm how i am integrating that data into my content
22:30 okay now i should add that you can use these curly braces in
22:36 any setting or in the content area here you should be able to use it in any
22:42 content area okay and you should be able to use it in any setting as long as the
22:47 results of that setting are inside the html that makes any sense okay so like if i have a text setting
22:54 and that text gets added to the javascript file or to the css file
23:00 um it's that that value isn't going to work okay because these templates just like
23:07 total cms macros okay they only work in the html
23:13 so um how do you know whether or not a setting goes into the html or into the
23:18 javascript um try it um you know they're just there isn't any
23:24 you know for you as the end user there's no way of knowing okay i would say most text-based settings are probably going
23:31 to end up in the html but i can't guarantee that okay so
23:37 um yeah if if it does end up in the javascript or in the css then you won't
23:43 be able to use those values because the templating engine can't affect your css
23:49 or javascript files okay so all we need to do is once we build out
23:54 this block grid cell i add that into my feed okay and the rest is history you see you saw
24:01:00 the results here it creates it loops through each one okay and if we wanted to kind of see uh
24:07:00 i i can modify the data as well right so if i go in here and uh you know i can implement let's
24:14:00 just quickly change uh this call to action to hello live stream
24:21:00 okay there we go so as you see all of that is
24:27:00 built off the data okay let's undo that because i need
24:32:00 need that okay so sweet online store
24:37:00 great use case for and it fully works uh it doesn't work inside this demo but um if we go to
24:45:00 the actual feeds page i'm still working on tweaking the demo because
24:51:00 weaver space is still running foundation one and and so but if you click on these buy now
24:56:00 buttons it actually works boop
25:01:00 right so it's an actual online store okay uh pretty slick
25:09:00 all right next up menu right
25:15:00 so if we go down the menu okay and uh you'll notice that uh here we have our
25:20:00 feeds and inside here i'm using the csv feed and again i just it just has a ton of data let's go ahead and peek at that
25:28:00 data oops that worked
25:34:00 that didn't work there it goes all right so here i have an item a price
25:41:00 and ingredients that's it right so i have my item name i have the price
25:47:00 and then i have ingredient a whole you know list of ingredients okay if you guys aren't familiar with
25:54:00 csv you'll notice that some of these values have quotes some don't the reason is
25:59:00 if if your particular value like this ingredients list has commas in it
26:06:00 therefore since it has a comma we need to make sure that we put the entire thing in a quote so that the csv knows
26:13:00 um that any any commas inside there just have it a
26:19:00 part of the data instead of you know delin delineating a new field okay so a
26:24:00 little csv data for you there so you have um what eight different burgers okay um with different
26:31:00 ingredients different names different prices all that jazz okay again you can create this data in your numbers or a
26:38:00 spreadsheet or whatever your favorite spreadsheet app is and export it to a csv or get a url um you know like via
26:45:00 air table or something like that um i haven't played with error table yet but i'm sure they have some way of getting
26:50:00 the data into a csv format from a url so i would hope so okay
26:57:00 um but air tables similar to google sheets i don't know i wouldn't necessarily trust it for a live production website um i think the best
27:04:00 your best option is especially since the data isn't gonna change very often it's just to uh put a csv file on your server
27:11:00 okay but anyway um let's look at this data so here i'm it's just a three column stack
27:17:00 okay i use columns pro for foundation six you could use any three column stack
27:22:00 okay um the ones in foundation six to have some interesting features that allow me
27:28:00 to do like this dots no matter you know the the content length here and here
27:34:00 these dots will always span the middle in between them right um kind of one of the unique features to
27:41:00 to the foundation columns okay so in column one i just have it set to shrink to content
27:47:00 and inside there i just said it's a header it's a paragraph set to item that's it
27:53:00 okay and then in my my second column it actually has no content i just put i just styled it with a bottom border
28:00:00 okay so that's how i got the dots it's just a bottom border on that middle column
28:08:00 okay and for that set to size auto and then
28:13:00 the last one again is just set sizes set to shrink to content and then i have my price now this is an interesting one
28:21:00 you'll notice that here i have a slash in front of the dollar sign
28:27:00 and the reason for that is um if there are certain characters dollar being one of them um that the templating
28:35:00 engine tries to interpolate as maybe a programming variable or something like that so
28:41:00 i'll remove that just kind of see we get a little error so um just a little tidbit of
28:46:00 information um yeah if you want to have a dollar sign either have to escape it with a little
28:51:00 backslash or you can actually use like the html code i think it's ampersand dollar semicolon um
29:00:00 and then that um but anyway you'll see that i have a dollar sign and then um the price so i'm injecting
29:06:00 the price from the data okay and then below that i have another header stack that is the ingredients
29:14:00 so this this is a really simple layout it's just three columns with the item
29:21:00 a middle column that has dots and then the price and then i have my uh
29:27:00 ingredients below it and if you see if you notice oh i closed the window
29:33:00 i mean it makes a really elegant menu right it's pretty much what we would expect the menu to look like
29:40:00 just super simple and this just a three column with a header and then a three column with a header three column with a
29:47:00 header right so as you see feeds is just taking the layout that i
29:52:00 built and it's just replicating it for each item boom boom boom boom boom boom boom
30:01:00 okay um next is the gallery okay
30:07:00 now the gallery is interesting uh let's go ahead and look at this csv for here
30:14:00 oh you guys might be getting bored because as you see this is pretty simple i mean every single one of these is is
30:19:00 is the same but also unique right the process of getting the data is is
30:24:00 the same here i just have an image name okay so i have an image name
30:30:00 and then an alt tag okay and then if you're curious on my server
30:35:00 is it i think it's inside resources do i have it no it's just um here i'll show you
30:42:00 this particular website in finder really quick
30:50:00 let's go to weaver space so um inside my resources folder
30:56:00 uh this is actually images from the photo pro demo so i photo pro cars and
31:01:00 then inside there i have full resolution images and thumbnails okay the image name is the same for both
31:08:00 it's just the full res is inside the full folder and the thumbnails are inside the thumbs
31:13:00 folder okay and if you looked at my csv data all i have here is the
31:20:00 image the image name okay so
31:25:00 what i did here layer let's go ahead and make this
31:31:00 big so we can see it so we have a launcher um this one's
31:36:00 quite interesting um so let's go to the basics let's go to the picture okay uh inside the picture i have um
31:44:00 the url to the file so i have you know weaver space slash resources photo pro slash cars slash
31:52:00 thumbs and then in the name of my image
31:58:00 okay now remember in my um in my example
32:04:00 remember i had i was in resources photo pro cars thumbs
32:09:00 and the name of the image right and these are this that's the files that are on my server right
32:18:00 and conversely um let's see and then oh in the picture i have the alt tag so i put the alt inside of the alt tag
32:25:00 and then i also added a caption stack um and i i added the caption so the caption
32:31:00 the alt this is uses the alt tag and the caption okay
32:36:00 now if you look i click on this it actually opens up a light box that
32:42:00 shows the full resolution image so let's go ahead and look at how we did that
32:47:00 so i added a light box into the template okay
32:53:00 and i'll come back to the lightbox id because by with this kind of more advanced uh
32:58:00 situation multiple a lightbox has to be created for each picture that's inside the csv
33:05:00 file okay and so and every lightbox has to have a unique id
33:11:00 okay so we'll get into that inside the lightbox pretty much i have the same exact setup as the thumbnail
33:18:00 it's just my url is resources photo pro cars full
33:25:00 and then the image name okay so remember uh remember i have the full and these are
33:33:00 the full res images with the image name okay so
33:39:00 there we go there's that and then i'm adding the alt tag information as the caption and as the alt as well okay
33:47:00 um so now how are we going to launch this lightbox i need to
33:53:00 have a special um id i need the way of assigning a unique
34:01:00 id to each thing right if you look inside here up here i have a launcher which
34:06:00 says open lightbox and here you'll notice that i have a slightly different syntax
34:12:00 okay um what i'm doing is i'm using the image name so let's look at this really quick
34:18:00 let's go ahead and look at this large okay so normally to get the image name
34:24:00 we would do this okay now however image contains some unusual characters
34:31:00 primarily a dot okay and that's not gonna work you can't have a dot
34:37:00 but um there's a lot of really cool little helper functions that we can do
34:43:00 um in the templating machine or the temporary language that we have
34:49:00 and one of these interesting one is slug so we can do all kinds of stuff so here i'm doing um pipe slug and what that
34:58:00 does is that will create let's look at let's look at this first one here we'll just look at it in the source code
35:14:00 um where is it
35:22:00 where's my launcher okay here we go now this is long because these image
35:29:00 names are really long okay but if you look here data open equals audi a1
35:34:00 quattro blah blah blah blah and if you look at the end it's instead of a dot jpeg it's a dash jpeg
35:41:00 okay so what this slug does is it kind of makes a url friendly version of a
35:46:00 string okay and so um what i'm doing is i'm passing the image
35:52:00 name to slug and a slug is modifying that slightly
35:57:00 okay and it's creating a valid id for this launcher okay and what i did is i put uh in this
36:04:00 launcher now launcher is a foundation six stack that will launch a light box um from anything you can also use
36:10:00 buttons or whatever but i wanted to make this one big button right so the launcher stack is perfect for that
36:17:00 so here i say open lightbox and then i give it this image slug and then inside my lightbox i give it
36:24:00 that same exact id image slug
36:29:00 okay and that is exactly how all this magic is done um
36:35:00 so it just you can build your own stuff right so that's how we were able to do a
36:41:00 pretty cool example um of how to use a gallery now in here you could do in your csv you
36:47:00 could put in the the full url to each one to each of these images however i
36:53:00 knew that was kind of a waste because i knew the urls were standardized okay so all i really needed was the unique
36:59:00 aspect of each image which was the name and the alt tag or the caption
37:11:00 okay uh last example friends of weaver space um you know i'll
37:17:00 zip through this one really quick it's the same exact stuff okay
37:22:00 we have some csv data all i did is i inject the same exact data
37:28:00 um via all these template macros so i have the image i uploaded the images to my server
37:36:00 um i put in um the now here's an interesting one okay
37:42:00 um so oh this is another inch this is a pretty interesting one actually
37:47:00 all right so let's go ahead and look back at my server now if you look here uh my feeds friends
37:55:00 and then here's all my friends okay and if you look here it's all it's their name
38:01:00 okay but in lowercase and the spaces have a dash
38:07:00 okay so in my csv for that now let's go ahead and look at the csv data for this
38:20:00 okay um i have name website and about that's it
38:26:00 now i could put in image as a field okay but i'm i'm a stickler for repeating myself
38:34:00 so i knew if i just named the images a certain thing um we'd be golden so i have i know
38:42:00 all of our names joe workman chris powers scott williams davide massimo yohan okay
38:50:00 so as long as i name these and i can determine the name of the image based on
38:55:00 the name i can just use the name right so if you remember the the names
39:01:00 if you remember it's all lowercase and the spaces are dashes so um let's look at this what i did
39:08:00 here it is okay so what i did is i have i processed the name
39:13:00 and then i parse it through the slug helper function which creates
39:19:00 um let's let's do my name as an example so here it's doing joe workman
39:26:00 and then the slug it's good it's going to do joe dash workman
39:31:00 and you'll notice here i'm then parsing it through the lower function which is going to give me
39:39:00 joe dash workman okay there we go now this is all fancy
39:46:00 pants right i could add another field in my csv that is just joe dashworkman.jpjpg
39:55:00 i could do that okay but you know for these demos i try to do some fancy pants stuff to show off
40:01:00 okay um again you don't need to know this
40:07:00 you could just create an image field in your csv with the name or the full url to the image and you're good to go
40:14:00 okay but let's look at this okay so here in the picture
40:19:00 i'm going ahead and i have the url and at the end you'll see that i have that macro.jpg
40:31:00 pretty cool right okay um and the right i think that's the only
40:36:00 kind of advanced feature inside this one um the rest of this actually this layout
40:42:00 with the circle and it's hovering over top that's one of the foundation six templates um i think it's a card template um
40:51:00 yeah it's a contact the contact card template that's what i used so the freeze foundation six templates for
40:56:00 contact card that's what this is okay um so i just leveraged that and then i ejected the data um for name and
41:04:00 about and injected the website via the link
41:11:00 okay pretty cool okay um i think that kind of answers all the
41:17:00 questions here now probably for the demo someone pointed out i should equalize all these heights yeah yeah i probably
41:22:00 should probably equalize this um this paragraph right here so then um you know
41:28:00 it all goes so they're all pretty in that same height we could definitely do that
41:35:00 so nano nano scott okay um
41:41:00 so let's look at some questions i know some questions were coming through i want to make sure i answer them
41:47:00 all right let's see um feeds is not yet on lever space no i have not launched it yet it will be
41:53:00 launched um by friday i'll send out an email and all that jazz um i'll
41:58:00 definitely record like a quick overview video as well that's probably a little bit more concise than this one
42:04:00 um so that you know but yes uh technically if you they are available um on the website
42:11:00 right now but the web pages aren't finished yet um they are available for purchase if you could figure out the urls
42:17:00 um what plug-in are using for the online store i use cart loom for my i've used
42:23:00 cartloom for 13 years now um
42:28:00 and yeah i love cartloom i have a an affiliate link i think that gets you a slight discount on my website weaver
42:35:00 space slash start if you want to check out cartloom there's tons of other things you could do you can you can use
42:41:00 this to integrate with ecwid or or vibra cart or there's all kinds of stuff i've done a bunch of live streams on online
42:47:00 stores um check those out i think they're they're all valid um i do really like cartoon though i think implementing
42:54:00 it is just really simple um feeds is not yet on yep uh any idea
43:00:00 if cartoon lets you book appointments no cartoon does not have a booking appointment system has invoices
43:08:00 but no way of booking appointments at least to my knowledge um is there a site for cart loom
43:15:00 oh here's the site for cartoon yes cartloom.com is there documentation for the functions of the templating engine yes
43:22:00 so um the templating engine oh i'm not sharing my screen
43:28:00 let me go ahead and do that okay so the name of the templating engine that we're using
43:35:00 um is called twig and i will it will be linked to on the product page
43:40:00 okay and there is a whole bunch of stuff you could do in twig
43:46:00 okay let's do twig for template designers so you can do all kinds of interesting
43:53:00 stuff you can like do for loops you can do if statements you can do all kinds of
43:58:00 really crazy stuff um and yeah you can set your own variables
44:04:00 you can you know yeah you can do all kinds of stuff inside twig okay see here you can like join a list
44:11:00 by you know if you have like a let's say all the tags or categories in a blog post you want to create a con comma
44:18:00 delimited list of those there you go um you know you can you know here's an
44:23:00 example of using multiple fil they call them filters the helper functions okay filters so you can do you know name
44:29:00 strip all the html tags and then give it a title case okay really cool stuff here um
44:37:00 i really love twig i'm going all in with twig um total cms2 will be based we'll be
44:43:00 using the twig templating engine as well and um i'll be migrating some of the older
44:50:00 mustache-based template systems that i have in various other stacks to use twig so we have access to twig everywhere all
44:57:00 right it's very similar to mustache where we have the little you know two curly braces okay um so the syntax is
45:04:00 familiar it just gives us so so much more okay and if you're curious of all the various
45:10:00 helper functions if you go to the main docs page there's all of these okay
45:17:00 now i will state that i don't include all of some of these are optional add-ons that i'm not including
45:24:00 the reason is um let's say like a lot of the currency and the format options
45:32:00 um require a a install this extra bundle which is
45:38:00 like over 20 megabytes and it has a ton of files
45:43:00 um because it's an international extension so i haven't included it yet because of
45:50:00 just the raw size of it and the annoyance of having to upload it when i'm not sure people are
45:56:00 really going to use it or need it um i've included most of the other extensions um except
46:03:00 for the international one because it's so big okay um so yeah um you have access to probably
46:11:00 80 85 percent of these functions um the only thing i didn't include again
46:17:00 is this international one so you'll note any of these if you go down and you see it cost it takes this international
46:23:00 extension um i haven't included it um because just because of the raw size i'm willing to
46:30:00 do it i mean once you upload it it's on your server and it's done but you know sometimes people with
46:36:00 shady internet connections publishing 20 megabytes you know often
46:42:00 is not fun so um if we don't need it i i don't want to include it okay so that's that
46:49:00 um very helpful my wife noticed it too hi everyone awesome why did you left
46:54:00 part possibility of a full crud system so um
47:01:00 i wanted to make this the ability to have uh
47:09:00 you know there are a lot of people well a like this is all about processing tons of different data right so you know csv
47:16:00 json it's about integrating external sources and i built it and i was like you know a
47:22:00 lot of people have existing databases and they want to do that um and i didn't i'll be honest i didn't
47:29:00 want to waste the time on a full crud system with a date for a database when
47:35:00 um i'm building total cms2 which kind of serves that function
47:40:00 okay and uh yeah but with that said
47:46:00 i do know about a a a small crud system that someone else is is kind of building
47:52:00 here um and i think once feeds gets released he's kind of waiting on feeds to get released
47:57:00 because he he has a nice little crud system um being built so awesome
48:03:00 you know that's the great thing about a community is you know i can build one part someone else can build another part
48:08:00 and together we work together to make amazing amazing things so super stoked
48:14:00 about that um sweet okay um
48:21:00 i didn't i didn't really go through any of the filtering okay or sorting okay let's look at some of the sorting okay
48:28:00 um so if we look at this online store um
48:34:00 we'll notice that this data is not sorted okay so let's go ahead and do a sort and
48:41:00 we're going to sort by name
48:47:00 voila magically it's all sorted by name pretty cool you can also do reverse sort
48:54:00 or shuffle right so let's just shuffle and voila and that will actually happen
49:00:00 on every page load just kind of shuffles pretty interesting
49:06:00 okay filtering um
49:11:00 let's look at another simpler demo that i have that shows some filtering
49:17:00 uh well let me let me show you uh some examples here okay
49:24:00 um so let's do this online store let's do a filter let's just do a static filter for right now
49:31:00 and in the static filter you can say equal to not equal to starts with doesn't start with ends with doesn't end
49:37:00 with contains doesn't contain less than less than or equal to greater than greater than or equal to so there's
49:43:00 a lot of types of rules that you can build okay let's use like contains
49:49:00 let's see is there a common word here time live
49:56:00 style of course there's nothing
50:03:00 nothing is there okay um i guess we'll just do um
50:11:00 name contains call okay
50:16:00 for that oops it was call typo
50:23:00 it is case sensitive there we go so in in i'm filtering for anything
50:30:00 where the name contains the word call okay and uh yeah there we go
50:37:00 um if you add something like you know um here let's let's do
50:45:00 hold on set that to none let's look at the raw data here can i do ampersand here oh yeah let's do
50:51:00 an ampersand so we're going to do a static filter where the
50:58:00 summary i think it yes summary contains ampersand just so you can see something
51:03:00 with multiple records there we go right so here we can we filter we created a
51:09:00 filter and every time i load this page because this is a static filter we're filtering the data to show a limited set
51:15:00 of that data okay you can also provide limits down here where you can be like um you know
51:21:00 if here let's just turn that off let's say i only want to have four
51:26:00 okay so what it's going to do is gonna it's going to show four records right
51:32:00 even though there's more okay you can also do from offset and basically you can say like start at record one
51:38:00 okay so then it call to action isn't it started from parallax and it did four
51:44:00 right so that's kind of where the count and offset uh help you out okay
51:49:00 setting those to zero basically cancels out that setting um
51:55:00 you can also do multiple sort and multiple filters so let's say for example i wanted to
52:01:00 sort by name but first i wanted to do a pre-sort
52:08:00 okay and i wanted to sort by um summary
52:14:00 okay so what this will do is first it will sort by summary then it will sort by name in this particular case that
52:21:00 doesn't really matter um but you you can do as many sorts
52:26:00 and also as many filters as you want so you can do inside the feed stack i allow you to
52:32:00 provide one sort and one filter but then you can add as many pre-sorts and pre-filters as you want
52:38:00 um to create a much more complex data
52:44:00 structure okay so um the last bit
52:49:00 i want to show you is the ability to filter based on
52:54:00 um the url
53:00:00 okay so in this example we'll see that i have a grid of an image
53:07:00 with some tree or with a title okay and what happens is if i click on one of
53:12:00 these i go to a different page
53:18:00 where the title is passed to the url and then basically the feeds here will
53:25:00 filter the content and only display data for that one particular item
53:32:00 that's very powerful all right let's look at that really quick so in this particular project it's
53:38:00 csv and then post page okay so the csv i have no filters we're displaying everything and actually in
53:45:00 this particular example i'm actually using two csvs just to show you that you can do multiple uh pieces of data
53:52:00 okay and then we have that simple card layout okay now on the post page
53:58:00 what you'll notice is in the feeds i have filter set to
54:04:00 dynamic url and the rule is equal to title
54:09:00 so it's going to look for title in the url and then it's going to get that title
54:16:00 and filter the data in the csv file by it and it has to be equal to it
54:24:00 pretty cool right and in this particular case um
54:30:00 feeds there's only one that results into that so it's basically like creates like a blog post page right so a dedicated
54:37:00 page that and this particular csv is really simple but you can then display more data or more detailed data in this
54:44:00 than you would on like the the listing page okay
54:49:00 super super powerful
54:54:00 um and i guess lastly let's see can i use external search box to filter or sort the results
55:03:00 so you could create i guess a search box that does a
55:10:00 um a filter and a search just by um sending
55:16:00 url data to the browser right so for example here
55:21:00 let's say this this csv data is pretty pretty dismal um
55:34:00 what you would do is you would say dynamic url filter and then you could say um search for title or maybe this is
55:40:00 tags or whatever right just like blog does where you can pass tag or category you do the same exact thing here
55:47:00 and then you can create a search box using a foundation six form that does a get url action and it just basically
55:54:00 sends the data to the browser okay um
55:59:00 should totally be possible i mean a thousand percent sure it'll work okay hopefully that makes sense
56:07:00 marcelo yes there is total cms1 integration you'll see you'll notice here um i have a total cms demo here
56:13:00 um and it's just bringing in a blog feed now why would you want to use feeds
56:19:00 instead of like blog list or total loop um purely because the feeds has the a
56:25:00 more advanced filtering and more generic filtering and sorting um so you can sort by any field you want
56:31:00 in feeds the total cms stacks don't allow you to do that so so that's why i added the integration
56:38:00 all you need to do is put in your blog id and you can filter out a blog list
56:44:00 really easily with feeds
56:52:00 okay let's look at some of the other data types so rss here is a a rather probably ugly demo um
57:01:00 that shows data from the hrefs rss blog or blog rss feed so it gets the data
57:07:00 from the rss feed and voila there we go
57:13:00 um we just display each one pretty cool right
57:18:00 um and again if we turn on the the data preview we get to see now rss is tricky because
57:26:00 every rss feed is a little bit different okay in terms of what data is provided so you're going to you're definitely
57:32:00 going to want to use this data preview tool um with if you want to use rss feeds so you can see
57:37:00 what particular fields your rss feed is using okay
57:43:00 so like for example um this particular rss feed uses author instead of
57:48:00 contributor some might use contributor okay um so yeah uh these fields are are
57:55:00 i've kind of i've tried to standardize it in in the feeds but everyone's going to be different
58:02:00 okay so if you're using rss you're definitely going to want to utilize this data preview feature so you can see all
58:07:00 the fields available to you for a particular rss feed
58:14:00 okay um json json pretty simple you give it a url you can
58:20:00 also give it um a path within so you can like parse sub parts of the data um
58:27:00 so there we go um total cms you kind of already saw that all you have to do is give it a blog id you're done
58:33:00 mysql here you can give it mysql is interesting so all the database
58:40:00 ones have this as a feature since i can't connect your database from inside rapidweaver i want to give you
58:47:00 the ability to still develop your views and layouts inside rapidweaver so what we like what i do is
58:54:00 inside preview you can put you can supply csv data okay and that csv data is used inside
59:02:00 preview so here um these are just you know supplied from this okay so basically you
59:07:00 would take a sampling of your database create a csv from it so that you can actually preview it inside rapidweaver
59:13:00 and then when you publish it'll actually connect to the database okay so and that way you'll need the the
59:19:00 host name and the database name username password all that jazz okay by default you can do all data from a
59:26:00 table limited data from a table or you can provide a actually custom sql query okay
59:32:00 so for those that aren't scared of sql okay um same exact setup for sql lite it's
59:39:00 another database here instead of user and password you just give it the path to the sqlite file
59:45:00 and inside preview you would give it you know some csv data to you know preview your layouts inside preview
59:53:00 um and we saw the demo already okay um total cms external url
1:00:01 not sure what that means marcelo um uh you know total cms only works on your
1:00:08 current domain so um so yeah the total cms integration will only work on the cms of the site you're currently
1:00:15 on okay total cms does have an rss feed
1:00:22 so you can use the rss feed i guess on a different domain if you wanted
1:00:30 david this is really terrific solves a whole bunch of issues that i'm having um to overload the blog data model looking
1:00:36 forward to yes so yes this is interesting concept um and this is uh
1:00:42 think of feeds combined with like total this current version of total cms
1:00:48 um and that with crud of it all and that gives you that's what total cms2 will give us okay
1:00:54 so um hope you guys like feeds um if you really really want to go buy it
1:01:01 now and you can't wait um you can go to uh weaver space dot weaver space slash
1:01:07 stacks slash feeds um and you can purchase it right now okay
1:01:13 um it is available although the download isn't quite ready yet so you can
1:01:19 purchase it but you won't be able to download it um hopefully i should have the the official download done by the
1:01:24 end of today okay um so yeah weaver space stack feeds
1:01:30 and then there's also a link to the database um one directly in the features
1:01:35 um you can go to feeds um dash db
1:01:40 um is the url for that okay here i'll put the two urls in the chat
1:01:46 for you guys there you go so i put both urls in the
1:01:52 chat for those that uh wanted to uh you know jump the gun and and purchase
1:01:58 it now um i am still working on on the pages obviously um so you know as you
1:02:03 see a lot of this this information is empty right so um yeah i hope you enjoy feeds if there's
1:02:09 any other questions let me know let's see i think i think we're good to go
1:02:14 i appreciate um everyone joining in today it was a fun one hopefully you enjoy feeds i think it's going to be
1:02:20 really powerful and a beloved stack so
1:02:25 hopefully we'll see you guys on friday um at the hangouts um we'll probably be
1:02:30 talking all about feeds on friday and um and all the amazing stuff we can do hey did anyone think of any cool
1:02:37 demos go ahead and post on the um if you think of anything after this that you'd like me to kind of mock up
1:02:45 go on on the community obviously there's a post for this live stream go ahead and post some ideas there i would love to
1:02:51 hear from you right so go to uh do do do where is it there you go go ahead and on this post
1:02:58 oh on this post here just go ahead and comments okay let me know your thoughts
1:03:05 of feeds and if you have any ideas for more demos go ahead and add comments there and i'd
1:03:10 love to hear your feedback and i'll try to build them before we launch by friday okay so
1:03:16 cool thank you very much everyone um have a wonderful rest of your week go out there and make your
1:03:22 websites great bye
{comment}