 I think we might get started, but maybe if someone can just close that door at the back because there's a bit of background noise coming through. And if you can't hear, then maybe you should just move forward a few rows if you're right up the back. But yeah, just yell out if you want me to speak louder. All right, well, my name is Erica Bramham and I am a web developer. I was formerly a site builder, but now I do a little bit of PHP. But this talk is totally about building websites with no custom code. So it can be done and it's, Drupal makes it fairly easy. It's just a little bit hard to get past the first initial steps. So I think we'll just get started. So there is some important background information, but I'm going to skip it for the presentation because you can read it at home. And I think I want to get stuck into just actually building something to show you that it is actually pretty easy to build a functional website without any custom code. So the slides will be online and you can read them at your leisure. I mean, I guess the topics, maybe I'll just quickly go through them. So introduction to Drupal, what do you need to install Drupal locally? What do you need to install it on an external server? The terminology in jargon. So maybe actually if I use a word that you don't understand, just put your hand up and ask and I will explain it. So because there's some words that are Drupal specific that you may need a bit of help actually working out what they mean. The Drupal file structure and then some information about modules and themes, the cache administering your Drupal site. And I've just got a big list of recommended contributed modules, which are the ones that I use in my site building every day. So let's go to part two and this is our site building. So the first thing we're going to do is install Drupal, except I'm not going to show that because it's kind of different depending on what operating system you use. I would recommend using Acquired Dev Desktop if you haven't done any development before because that will get you set up with a Drupal installation really easily. You just kind of click through the steps, download the software and then it's there. I've got one that I can show you. So I've installed it and this is my Acquired site that it's set up for me and you can log into it. Just start, I think I set the password as admin, admin. Oh no, it's not working. Oh well, we're skipping that one. So I actually use a program called MAMP. There's a free version which lets you, which is kind of a light version of this. So this gives you PHP and it also gives you SQL which is the database and it gives you Apache which is the web server. So if you don't understand what those three things are then I would go with the Dev Desktop or you can pay, I think it's about $90 for MAMP and that gives you a more advanced interface or the free one, it's a little bit more complicated to set up I think because you only really get one site but it's a bit harder to create multiple sites on your machine. So I have set up my site with Drifl and when you install a new Drifl site you get to this screen. So normally you only get two profiles, standard and minimal. I've got this one here called DCSID which has got just a couple of little helper things that I've put together for this presentation. If you, minimal comes with kind of nothing enabled, just the bare minimum but standard comes with a few things enabled like there's a page content type and I think an article content type and some of the menus are also enabled. So depending, you might want to try installing both of those and seeing which ones you want to work with. So I've already set up a database. So if we go to SQL Pro, I've created my database and I've called it Naked so there's no tables inside it but Drifl needs the database already there and if we give it our name and your database username and password which in my case it's root and root which is the case for most local installations but not all and then just let it do its thing. So now we can put in our site information. So there we go. I'll just auto fill this and I might just turn off these notifications because I don't want my computer to notify me if there's stuff out of date for this test site. So that's it. Drifl is installed. That was pretty quick and easy but it may not be so quick and easy when you're trying to do it at home. So I think maybe if you've got a local user group it'd be a really good chance to have a go at setting it up and if you get stuck go along to the user group and then see if you can get a bit of help with someone there because that's possibly one of the harder bits is getting it all running on your local computer. So this is my site and there's kind of nothing there because I've installed it with just the absolute bare minimum enabled. So I'm just going to show you how to download a module from... and I'm going to get a module called admin menu. Okay, all right. All right, there we go. That one's working. So there's a bit of contention about what people like to use as an administration menu. I've flipped between them but this is the one that I like using at the moment. So this is what a module page looks like on dripple.org. There's some information about the module, what it does. There's usually often a link on how to install and configure it. So the first thing we want to do is we want to download it and I'm just going to grab this tar file. You'll see that there's a version number and this one has RC4 on the end of it and that means it's a release candidate for so it's not technically a stable module but it means that it's almost getting pretty close to being stable. So some people might say you shouldn't be using this in production environment but I think because we're mainly using it for our development then I'm not worried too much about that. So I'm going to copy this module and I'm going to find my website. So this kind of gives us a good chance to look at the file structure. So this is dripple. The directory that we're going to focus on is this directory called sites. So we go sites and then all and inside modules and I'm actually going to create a new folder called contrip and that's where I'm going to put all of the modules that I download off dripple.org. You can just put them straight into modules but it's good to get into the habit of making a contrip directory now because when you become awesome and start making custom modules you want a way of differentiating your custom modules from the ones that you download. So now that I've put it in here I'm going to go to the modules page. I think it's called administration. There we go. So I'm just going to check this button and press save. And this modules page is kind of a bit unwieldy so there's another module that I'm going to enable and I think I've got it here. So this is a tool called drush and it lets you do things pretty quickly from the command line. This is advanced so I'm just using it to make this presentation flow a bit faster. You can just continue to download modules and install them the way that we just did. So I've downloaded the wrong one. I think I've already got it in my downloads. And I'm actually going to delete this admin menu out of here because I already have a copy somewhere else and it may make my website break. So if I refresh this modules page you'll see that now it looks much nicer and it's quite easy to find modules that you want so if I was looking for that administration menu which is gone again I'm just going to clear the cache because I've moved a few things around so hopefully I'm not going to get a bunch of nasty errors on my website but maybe that would be a good kind of test and then I can solve it and there's our administration menu so what that one's done is it's given us this menu up the top here. There's a couple of other menu options so if you're not too convinced by this one I'd recommend having a look around and finding one that you like. I think there's a module called admin and then there's also the default Drupal toolbar which comes with Drupal 7. So now that we've done that we want to be able to make pages on our website so the first thing we're going to do is we're going to create a page content type. Now if you install the standard profile this is kind of more of an exercise in how to do things because I think if we start really simple and then build up so we're going to go add content type and we're just going to call this a simple page and you can put some health instructions for your users so it's often a good idea I usually do this at the end but it's usually a good idea to put some instructions because often users, you know they may not know what a page does so for example this is for pages like and our title field label we'll keep it to be called title and then optional preview before submitting you can set it so that the node is unpublished by default and then you have to manually publish it but we're just going to leave everything as default and this is promoted to front page so the default Drupal front page is kind of a list of all the nodes on your website that have been promoted to the front page we're going to change that in a little bit so I'm just going to leave this flag here and then we'll keep this one on there for now because we're also going to change that later some other way now our page is okay but I think I want to add a file attachment field to the page because users might want to put some file attachments on their field so I need to enable a couple of modules so perhaps I'll just go through these slides and get up to the place we're up to so we're going to want some modules called field field UI and file I think field is already enabled by default but these UI modules are kind of like it stands for user interface so you can't actually do any administration on your website unless you've got the UI modules enabled but you can disable them again on your production website when you're all ready to go live you can turn all those off so I've enabled both of those so now if we refresh this page we get an option to manage fields so we're just going to add a field called attachments that one will do and I like to prefix my fields with the name of the content type so we'll call this page attach it just kind of makes things neater when you've got a site with hundreds of fields and you're trying to find things later so I think it's a good habit to get into even if perhaps you're only building small sites for now so there's quite a few options in these fields so the attachment gives you an option to display it so if you want to display it by default or if you want the users to be able to choose not to display that attachment for some reason maybe they just wanted to put it into the file system but I'm just going to leave all of this as kind of the default settings and then I might let them upload PDFs as well as text and I'll let them upload as many files as they want so let's save this one and now if we go add content we can create a page so let's call this page about me and we can give it some text and we can also attach a file so upload that one and then if we save this one there we go, we've got a page and we have a file attachment down the bottom but this is kind of not fantastic because maybe the user wants to put some links in their page maybe they want to make some text bold so you're probably going to want to add what's known as a WYSIWYG to your page which stands for what you see is what you get so we're going to enable a couple of modules we're going to enable one called WYSIWYG now if we go to the WYSIWYG page all WYSIWYG is a wrapper module for a couple of WYSIWYG libraries so there's a bunch of different ones to choose from and you need to download them externally so generally when you download a library you put it inside so we're in sites all and then make a new directory called libraries and then you can put all your libraries into this one but I've already got it in my installation profile so I don't need to download it again and I don't need to enable anything it's just there so when the module needs it it knows where to get it from so if we go to configuration content authoring and text formats see this is one reason why I don't like this particular menu so I'm just going to make one called WYSIWYG and I'm going to let authenticated users use the WYSIWYG I don't want our anonymous users to be able to do anything there's a few options we can limit the HTML tags so this is kind of good if you want to stop your users from being able to put stuff like iframes into the content because they can make a bit of a mess but the one thing that always gets me is for some reason this doesn't include a p-tag in the default setting so I always just enable it and then wonder why my p-tags get stripped out of my content every time I try to create a page so save this one and then we're going to set this text format up to use the WYSIWYG so you'll see because I've got that CK Editor to library there that becomes an option you can install as many libraries as you want so maybe you've got some users that prefer to use a different editor so you can have tiny MC as another popular one so you can let them choose which text format they want to use so save this one and there's a whole heap of buttons that we can add so I might just give them bold italic and underline for now so if we add a new page you'll see that we've got our buttons up here so we can maybe chuck a sentence in there and we can make the first word bold if we want to and I'm actually going to call this page home because I don't really like the default front page of the Drupal website at the moment because it's just kind of a big list of our content and not very useful so one hard thing for beginners is to work out how to change that because it's in kind of an obscure place so we go to configuration, system, site information and then we put in the node address of our page so I know that it's the second node I created so it's going to be node 2 and now if we go home, here's our home page that we created so this is also kind of a bit of a crap front page because you might want to have some blocks and stuff I would really recommend you go to the panels presentation that Jen Lampton is doing this is really awesome for doing things like laying out your front pages with nice little blocks and I'm not going to cover panels at all in this because I think it deserves its own full presentation I think that one's tomorrow so we've got our pages, that's all good I'm just going to enable a feature which has got a little bit of stuff so we don't have to keep recreating things so the next thing my website wants is an events feature so we're going to... I've already partly created this events content type with some fields a title and a body is not very useful for events so I'm going to add a date field to start with so I'm going to enable date module and I'm also going to enable date to pop up which gives us a calendar and if we refresh this page then we get a date and we're going to choose our pop up calendar and I'm going to keep this as is because maybe someone has an event on that starts at 10.30 in the morning so I also want to collect an end date because maybe it's 10.30 to 11.30 but I'm not going to make it required because maybe they don't want to put in an end date just going to leave all of this as it is and save that and I also want to add an address and there's quite a cool module called address field which lets you collect an address just with one field instead of having to make individual fields for the postcode state city etc so address and it says postal address but you can use it for street addresses as well and one thing I am going to enable here is the organization so I'm going to use that as the venue so we'll save this one and now we can create an event there we go, album world premiere and let's have that on Saturday night and you can set up your date formats I'm pretty sure you can set it up so that it doesn't use 24 hour time if you're not really into 24 hour time there we go Sydney Opera House and we have our event here so as it is this event is not very useful as a single event we probably want to have an events page that's going to show our users all of the upcoming events so to do that we use a module called views so this is probably one of the most important modules that you will learn how to use so I'm enabling views and views UI I'm also going to enable a module called date views which just gives us more control over date fields within views because by default you can't do things like saying I only want to show things with a date from now onwards so now that we've enabled those we're going to add a new view and we'll call it event and we're going to show content of type event sorted by newest first and then we're going to create a page and I think we'll give it a menu link too in the main menu and we won't worry about a block so currently it's only showing one event so I think we might generate some content so there's a useful module called develop and that comes with a module called develop generate so I'm going to enable that one and this is really useful for site building because it lets you just in one step generate a whole bunch of content let me open that one up in another page so let's make 20 events now if we refresh this page we should get a whole bunch of events down here so I actually want to I don't really want to sort them by post date because that's not very useful I want to sort them by the date field so let's remove that one and then add our date field that we added earlier and we'll just use start date and then we'll sort ascending so they're going to get bigger which means going from now to further on in the future but this is also still showing all our past events so we want to add a filter to filter out those past ones so we're going to use that date field again and we'll set it to day and then we'll say it is greater than or equal to relative date so now so this is going to change as the date ticks on then our events that show on the current and upcoming events page are going to change and I might say minus one day because we possibly want to show the event from today if someone's looking at the website and they're about to go to the event so let's save that one and this is actually not the date that we set this is the submitted date so we can't really tell whether it's working you'll just have to trust me that it is working and if we save this one you'll see that we've now got this events tab in our main menu so here's all of our upcoming events and I don't know I think this is kind of ugly, this display so the first thing perhaps I want to do is for the very first event on this page I want to show the full event instead of showing the teaser so if we have a look we're showing content and we're showing teaser so I'm going to add an attachment to my view and I'm going to change this page so it's only going to show one item and I'm just going to change it for this attachment and then I'm also going to change this teaser for the attachment to show the full node so this is our full node for this first event and then I'm going to attach it to the page that we created before and now if we have a look at our page you'll see that this event is appearing twice so we can fix that by editing our page settings over here and creating an offset of one so it means that it's going to skip the first item because we've already printed it in the attachment and there we go we've got our full event and then we've got the little short teaser display of the upcoming events so let's save this one and if we refresh our events page it should have reflected over here so this is still kind of a bit ugly because we've got this stupid date label and the address label so I'm going to enable a module called display suite this is another really awesome module for taking control of how your nodes look when presented in different contexts so for example here we've got a teaser display mode and then we've got a full node display node display mode here and we want to... you can control them with the default Drupal stuff but display suite gives you heaps more control over what they look like so if we refresh this we should get display suite link so I'm going to manage the display of our events and I'm just going to do the default one to start with so this will be kind of for our full node so I'm going to go with two columns stacked I think so this is... we get regions to put stuff in our node save that one and I think maybe if we put the body in the right and then the date and the address in the left up in the header so that looks a little bit better but we probably want to turn off the labels so we can hide those labels on those fields and that's kind of looking bit nicer we could do with some CSS but that's sort of the next step is to skin your side with some CSS so I also want to change the teaser so if I switch over to my teaser here I might just go with a one column layout and I don't think I want to show the text I think I might just want to show the date of the event and the title and then perhaps a read more event a read more link so that they can click through to the full details so we'll save this one and then if we refresh our page over here and it hasn't generated any... no it hasn't generated dates it just hasn't generated the... nope I haven't even set the address so I'm going to hide this title there we go so already we're kind of getting there with our events page to take this a step further you might want to explore one of the calendar modules and have an events calendar to kind of second step and yeah a bit of CSS would probably make this look pretty presentable as an events page so now I'm going to add a past events page so that users can see all of the awesome past events that we've held on our website so go back to my view and I'm going to add another page and I'm actually going to change this display here this is just an administration name so it just kind of makes it a bit easier when you're... if you've got a view with a whole lot of displays to see what's going on and I'm going to update this page so that it's not skipping one anymore because I just want to show the teasers for my events and let's update this date to be less than or equal to now and I'm also going to enable the menu module because I want to give this a menu link and it also needs a path because you can see that it's got some validation errors here so let's just call it events slash archive and we'll give it a menu entry called past events in our main menu and I discovered that Drupal does something kind of cool the other day so I'm pretty sure it does it because I've given it a path of events which was our original events page and then slash archive but if we have a look at our menu links it's actually set this as a submenu of events which I thought was pretty cool because I don't think it used to do that in Drupal 6 so at the moment though we've got nowhere of seeing our secondary links so if we're going to the home page we still only see our events page so no one can get to that past events so I'm going to enable a module called context the UI module as well so context is kind of a cool module because it lets you I mainly use it for laying out blocks but it lets you do conditions and reactions so we're going to add a context for every page except for the front page so I'll call it layout not front we're going to go with path and use the tilde to say front and then the front is kind of special so it looks like that in the triangle brackets and then we're going to add a block which is our main menu and let's add that to the first sidebar so if we visit our home page you'll see that we don't have the menu but then if we visit a page that's not the home page we have this menu here and I kind of don't like that this menu starts with the words main menu because it's just the menu people don't need to know that it's the main menu so I'm going to enable another module called menu block and this one lets you kind of gives you more control over your menu so let's add one and we'll call it main menu secondary and let's say we'll start from the first level and we're going to give it unlimited depth so if we go back to our context and edit this one and add our new menu block that we've created and then we'll go back to our events page so I think I need to configure it slightly differently so I actually want to start from the second level yeah that's better so now we've got our events which is kind of our the section that we're at the moment and then we go through we can get to our past events page that we created before so we can get to that other menu from our context so there's a few reactions that you can use with context you can do some stuff with breadcrumbs you can turn on and off theme regions and there's some contrived modules that let you add extra reactions and conditions as well so for now I'm just going to delete this main menu that I don't want so I think our events is pretty much done and I'm going to now we're going to create a blog section or a news section so I've already done some of the hard work so for this I'm using a module called Features and this is another one that I use every day it kind of lets you make your own modules that package up things like views content types and configuration and then reinstall onto other sites but you don't need to know any code at all so you just create it all through the Drupal interface and then download it and then you can put that into the custom modules directory on a new site and it's all there and enabled so that's definitely if you're kind of beginning intermediate it's a really good one to have a look at because it cuts you down on a lot of work because one thing a lot of developers do is you build a blog for every single site that you build and it generally works the same just click a button and install that with everything ready to go then that's going to save you heaps of time and you can spend more time on theming and kind of doing the fun stuff so I have a content type called blog and I've given it just some basic fields title, body and image and I've also started this blog view so we've just got a page called blog and it's got a page in the menu so we actually want to add some tags to our blog so we're going to use the Drupal module called taxonomy so I'm going to add a vocabulary so vocabulary is a kind of sets of tags of sets of terms so this one is going to be called tags so I could have another taxonomy called colors which holds all of my color terms but we're just going to keep this one generic so generally you use taxonomy for classifying stuff anytime you want to classify content into some sort of organized set then tags is probably a good thing to use so let's generate some terms 10 is okay so it's created us a bunch of tags but still we can't tag our blog content with these tags because we have to add another field to the content type so we need to add a term reference field we're going to go with autocomplete term widget tagging which means that when the user creates a blog post they can create new tags on the fly so they don't need to have been already created into our tags if you set it as one of the other options that's a way that you can set the exact tags that the user can choose from and they can't create any new ones so save this one and I'm just going to let them add as many tags as they want so if we now create a blog post give it some text and couple of tags so there's our tags down the bottom and this has actually created these tags for us in our tags vocabulary so what I'm going to do now is I'm going to add a display to our view that lets you filter these blog posts by tag I should say that I think the Drupal blog module does all of this for you but this is kind of a really good way of getting your head around some of the more advanced stuff so we're going to add a page display and we're going to give it a path and I'm going to call it blog and then tags and then I'm going to use this percent which is going to substitute in for whichever tag it is we're looking at at the moment so we're looking at our tag called music the URL is going to be blog slash tag slash music so under the advanced tab there's something called contextual filters and this is where views becomes a little bit complicated so I'm going to add taxonomy term ID as a contextual filter and I'm going to also override the title of the page so let's call it blog posts and percent one is our argument so that's going to substitute in the term name so I think we should probably generate some blog content so that we've got some stuff to work with so let's do that over here so currently this is showing all of our blog posts but you've got this contextual filters box here where you can update your preview so if we have a look at our tags taxonomy and we grab one of these term IDs so say this one is taxonomy term 7 so if we put 7 in here and this is now showing our blog posts tagged with PR so let's save this view and still we don't have any way of the users accessing these tags that's kind of a bit annoying because they can't filter the blog posts by the tags so we're going to add another display we're going to add a block so unlike pages, blocks don't have to have a path it's a block that you can attach to another page so what I should have done possibly is remove this argument from this page so we just have to make a little change into this one we're going to display a summary and we're going to sort it ascending and we also need to put in our base path which was blog slash tags we only want to do it to this block so there we've got kind of a nice menu of all of our tags and each of these is going to link to the page of each of those each of those tag views so let's save this and we're going to go back to context module and I think I want this block to show on my entire blog section so I'm going to add a path and I'm going to use the path blog and blog slash star so the star is a wildcard so that means that any path that comes after blog as well as the root blog is going to show this block so then we're going to add our views block and this is a good reason why you should give your view displays useful names because at the moment this just says view blog and I know that this is the block that I've created but if you had a whole lot of views then it gets a little bit confusing so if we add that in there and we have a look at our blog so here's our nice tags menu if we have a look at say music so here's our post that we tagged with music earlier and then there's a few other posts that have been tagged with music as well so I think that's all I want to do in the blog section but let me just check that I haven't missed something out that's it so the next thing that we're going to create and this is the last little bit is a featured content block and I'm going to use a module called bean which is kind of cool so what bean lets you do is to create block types so the same way we've been creating content types you can create a block type and add fields to it so if we refresh this you can do what bean does with kind of content types but then your content type is actually going to be a page whereas we really want to be a block we don't want it to have a page of its own because I mean a block doesn't have to have its own separate page so we will go to structure block type featured content block and let's give it some fields and ah we can't give it fields now this is a good example of why you need to clear the case regularly because obviously some stuff that bean installed kind of hasn't kicked in yet so if you want to clear the case and you don't have drush you go to configuration development performance and there is a clear all cases button so if you're having problems with your Drupal website the first step is always to clear the case before you start panicking because it might fix things and it has because now we can add some fields so let's go with an image here and we just want to let them upload one image and then if we maybe add a body field too so they can add a bit of text and because I want this block to feature some content elsewhere on the site I'm also going to add a link so that users can click through from this this little block to the content that you want to promote so I'm going to enable a module called entity reference and entity is well that's a hard one to explain I think it's in the first part of my notes so a node is an entity like when you create a blog node that's an entity, a block is an entity a user is an entity so it's kind of like I guess it's just a thing that can be a collection of fields a taxonomy term is also an entity so I don't know if anyone's got a really good explanation of an entity so if we publish this one yep it's a weird one to explain so we're going to choose entity reference here and this is going to let us choose another page on our website so we're just going to let them choose whatever content type they want and only one value so if we now add a block so we're going to promote our upcoming show and I don't know let's say come to our CD launch and we're going to give it an image a little bit of body text and here's a link of all of our nodes on our website so let's just choose our album world premiere event so this looks a little bit ugly but we can fix that with display suite so what I think I want to do with my block is I want to give the users a choice of whether they want to have the image on the left or the right of their featured block so I'm actually going to add a new view mode actually a couple of view modes so let's call this one featured content image left and we'll let it apply to beam and then add another one call this one image right and let's manage the display of our featured content block and we'll go with a two column stacked again that's one of my favourites and we'll keep the title in the header and then so this one actually we're just doing the default one so we'll just kind of go with the image on the left as a default and then our body and link on the right and then we want to go to custom display settings and we want to give custom display settings for our two new view modes so image left is still okay it's a bit annoying I have to make it again and then we're going to do the same thing for the right you actually have to choose one of these layouts to let display suite take over because otherwise you're just using the Drupal defaults so even if you just want one column you can choose one column so this one is going our body and link on the left and our image on the right so now I might add a front page context just so we can put our block onto the front page beams here's our upcoming show beam so let's put it into the highlighted content and if we have a look at our home page currently we've got this default layout which was the image on the left but if we edit that one we can choose one of our image on the right view mode and save that and if we refresh our home page there you go, switched around so that kind of gives you users options without needing to be designers and layout the page themselves they've got a few set options that you've created and that is the end of the site building for now so I might just go through how long have I got another 5 minutes yeah okay yeah so maybe if there's any questions can I upload them to the Drupal Con website yeah yeah okay so I'll put them there otherwise if I can't upload them I'll put a link on the session page to a google doc yeah okay cool yeah it's a little application free one called Little Ipsum so it's for OSX and it just lets you copy two words or a couple of sentences or a couple of paragraphs so it's pretty, that one's pretty awesome yeah yeah I like this one for site building this one the admin menu because it's really quick to access all the links but for end users I usually use admin because you can add your own blocks to that that gives you a little like it's a funny toolbar on the side and then it expands out from the side I don't really like the default Drupal toolbar but that's just my preference some people really like it it looks nicer than these ones but I just find that it's too hard to add stuff into it yeah I don't ever use the core block system personally it's not useless so you get more control and you can do the same but more with those modules and I could have demonstrated the core stuff but there's plenty of documentation out there on setting up Drupal with the core stuff so you can do what I did when you want to add a block to the front page you can do it from the blocks configuration but say you only wanted to add a block to the front page for logged in users you can't do that through the Drupal default block so you need to then use a module like context and add your user role context in there yep I go to my slides so admin and admin menu are good for administration but module filter it's a pretty new one and I'm only just getting into it but I like it because it just gives you a block and you don't have to worry about trying to make your node into a block C tools is a dependency for a whole lot of useful modules develop and develop generate this is one of my favorite modules because you can do so much stuff with the layout of your node and once you get into the more advanced features you can use tokens so you can kind of generate your own displays for certain fields by substituting in data so maybe you had your author field and you wanted it to say this post was posted on date by the author and you wanted it to be slightly different to the way that the Drupal one does it you can create your own custom field and then add that into the display suite layout you can also add in views blocks right into your content with display suite so if you want to have you've got a couple of fields and then you want another view block you can chuck that in there with display suite 2 which is pretty useful views that's really important one and that's probably one of the first ones that you should learn because any time you want a list of any sort of content then views is the module to go to context so that's kind of I use it mainly for layout so conditions and reactions webform so webform is a nice little module that you create forms that users can fill in and then you can view the responses on your website that one's pretty easy to set up you just install it and then you create a new form and it gives you a page with the form so you can use that for a contact form or sign up form for an event and then these are just some kind of field modules so date lets you have date fields so that will validate links and emails for users so they don't put in dodgy emails that aren't a real email entity reference so that lets you choose another entity on your site from a field so that could be a user or a node or a bean or a term address field we saw that one that lets you insert a full address a real name is a useful one if you've got lots of users who are kind of creating content on your site because it lets you put in fields like first name, last name I don't know title if they're a doctor and then it puts them all together to create a real name field so that will display instead of the user name wherever the user's name is displayed that one's kind of if you don't have that then you've got to every time you make a view if you want to show the user's full name field for the first name, last name one minute thanks all that's there libraries that's kind of essential if you're using any external libraries so it doesn't really do anything by itself token is a good one because a token is kind of like using using a token to substitute in for real data so you wanted to maybe you've got your user name token so you want to use that on the user's profile page so you like whichever profile page you're viewing you want to display that user's name so you can use token to substitute in that data and then rules is kind of a is a good one and it's a little bit complex to set up but it's useful so you can it's I mean it's just conditions and actions so whoops my examples I'll get back to the slide send an email to all site admins when a news node is created or updated you can do that with rules or unpublish a node if it has not been edited for over two weeks there's some examples of rules was it weak so we saw that one field groups are useful one it lets you put fields into a group of fields it's kind of useful for laying out nodes menu block we saw that one gives you more control over your menus and that's it and I just say that there is a part three of these slides which is about getting help but again you can read those ones at home