 All right, well, welcome everyone to day two of DrupalCon Portland. It's my honor to present to you today theming for site builders, getting started the Drupal way. My name is David Neum, and I'm the founder and developer at Enjoy Creativity. We're a new company that was founded specifically to help churches and ministries with web design and mobile apps and to provide training and support and kind of fill a gap to help out people who otherwise wouldn't be able to afford really excellent, highly interactive, really beautiful websites. So that's what we try to do. And I've been all sorts of roles on all sorts of projects. I've served as developer, I've been just a site builder, I've done QA, I've done theming. And theming has kind of been my passion, I love theming a lot. But I quickly realized that there's a lot of site building that actually goes into theming your website. If you don't want to be responsible for maintaining your code throughout the entire life of the project, which can be, I'm sure you know, like several years, you want to use site building techniques. You want to use modules, you want to use best practices. So I just wanna say, I love the community, I love Drupal, I love Themers. And today, you know, if you're a Themer here today, you are totally welcome. We're gonna learn some techniques for becoming better Themers to work on teams in a better way so that you don't have to rewrite or reuse your code. We're gonna be learning about different ways to better maintain your websites in the long run by using site building techniques. And if you have never written code in your life, if you just consider yourself kind of living in the UI, you know, living in the Drupal interface and just being a pure site builder, you're gonna learn how to make your website even more beautiful. If you're working on a large team where maybe you're the site builder working with the Themer, then you can give them a head start and kind of offload some of the work that they'd otherwise have to do themselves. So before we really get started, I'd love to do just a quick hand count. Who in here, for this is their first Drupal con they've ever been to? Raise your hand, please. Wow. I think that is so, so awesome. That's just incredible. I love them. It makes me feel good. And who in here would consider themselves just a pure site builder you don't know or don't want to use code? Just raise your hand. Okay, cool. Awesome. So I often will tell people, you know, like professionally, I'm at a whatever and I'm hanging out and I'm like, oh yeah, I'm a Themer, I'm whatever, and they'll say a theming. What's that? And, you know, often the conversation ends up with me saying, well, I like to make websites pretty. That's it. You know, I take a design from someone else and I make the website look like that and it makes it look nice. And that's kind of, that's the response you'll get from lots of Themers. I actually, I think I picked this up from Joe Shindelar from Lullabot. He was the first to coin the term, make it pretty. But it's true. Theming involves making websites pretty. But the truth is that it's actually a lot more than that. As a Themer, if you are messing with the code, if you're getting in there, you have a lot of responsibility. You have total control over the website. You can print, you know, anything on the screen you want. You can configure whatever you want. And that means you have responsibilities for taking care of things like accessibility, you know, search engine, for being aware of the UI, UX stuff. And then also, you have to be very aware of security. So those are things we're going to talk about from both sides, from the perspective of a site builder. Maybe you're not messing with the code, but these are still things you need to be concerned about. And so, you know, as a Themer, you have to know these languages. You have to know PHP and CSS. And you have to become really, really intimate with these in order to properly build a website, you know, properly build a theme in a way that doesn't leave holes for these different responsibilities. But, you know, we are site builders here today. We are people who, you know, believe in Drupal. We believe in community. We believe in using modules to the full potential, not having to reinvent the wheel every time. And so that means no code. So as a site builder, as a person who aspires to make things better for not just their team and for their teamers and for, you know, the Drupal community, we should aspire to use the things that already exist, right? So, you know, we're gonna use modules. We're going to, you know, be intimate with the Drupal UI. And that means, you know, we're not gonna have to worry about writing custom code. We're not gonna have to worry about learning PHP or going in and tweaking those things, you know, yourself. If you know those, awesome. You can use them and you can do anything you want with Drupal, but it doesn't have to be a requirement to really make your website look really nice. And I found that this actually gives you a much more holistic website. It makes the website seem much more complete, much more whole. It's something you could hand off to someone and then they could see it and be like, oh, you used this module and that module and that module. Oh, I know this module, so I can instantly pick up and figure out what to do to make this little tweak. Otherwise, if you've done it completely in code, you have to know, oh yeah, in line 365 of this document somewhere, I tweaked something and you have to remember that. But, so as site builders, as this idea of not working with code, we get to actually, you know, have a better user experience for everyone on the team. So again, we're gonna touch on these different responsibilities. We're gonna start with these responsibilities and talk about kind of how you can help make them better for Drupal and how you can make your website better by using them. And then we're gonna go on to go through some specific examples, some different modules that we can use to actually make our website work better. So, first off, accessibility. Drupal does a decent job at accessibility. It's getting better, is the best I can say at this point. Depending on which theme you start out with, it will be better or worse at accessibility. As a themeer, you know, as the person writing the code, you have to be very good about, you know, be aware of the accessibility techniques. But as a site builder, one thing you can really, you know, take note of is alt tags. You know, images will have those alt fields. You can fill them in. Anything you, you know, put in there will show up when an image can't be displayed. So, for a screen reader or a search engine, it would make it so that, you know, the text would show up. It gives context. The next one here is HTML Purifier. This is just a simple module that will help make your code and anything you type into the, you know, the body text or any field to be more semantic, to be more accessible, to make it easier to, for your website to kind of instantly be a little bit more accessible. And then if you feel like you are intimate already with accessibility, you know what things should happen and what things shouldn't happen, then you are in a great position to help the community through just letting us know. You know, if you come across a module or a theme that doesn't actually do things the right way for accessibility, please, please, please go to Drupal.org, do a search, you know, in that queue for that module or that theme. See if someone's talking about it. If they're not, create an issue. You know, it's something very, very simple you can do, but it's extremely powerful, extremely helpful for the communities to open an issue and say, hey, I found this accessibility problem. It's doing this, it should be doing that. Here's how you can recreate it. And then it would be huge. Next, search engine optimization or SEO. The most important thing you can do for SEO is good content. You know, there's lots of tricks, there's lots of techniques, there's all sorts of things you can do to really fine tune it. But if you don't have good content, it's not gonna get you anywhere. So as a site builder or someone who's kind of aware of the front end of things, the content of things, good content is key. Of course, you know, good things like page titles and keywords and having good clean URLs are also very good for SEO. And we'll talk a little bit more about that in the example I have a little bit later. And then if, again, just like with the other one, if you're an SEO expert, if you know how things should be for good SEO and you see something that's not doing it the right way, let Drupal know. Go to issue queue. Find out if someone's talking about it if they're not, create an issue. It's very simple. So please, please do that. And next we have user experience. This often involves a ton of planning. So, I mean, oftentimes, you know, the themeer kind of gets landed with, you know, oh, we need better UI, we need better UX, whatever. But these things should be taken to account way before the themeer is even involved in the project. You know, these are things like creating a solid dev plan, going through and creating personas to figure out what the objectives of the users on your website are actually wanting to do. And things like, you know, looking at your content, how is it gonna be laid out? What sorts of navigation are you gonna have? How are people gonna find your content? These are all things to consider way before you even get to, you know, theming or making your website look nice or even the site building. But once you do get to that point, once you feel like you have a solid understanding or you have a solid dev plan and you know how things are gonna go, it's important to consider other modules that can make this even better. Like, there's several field modules which can make the life of your editors the life of your content creators much easier. We're gonna be talking about some of those a little bit later, but I mean, just simple things like, you know, if you have to enter, if you have to collect address information, there's a wonderful address module that will format all that for you. If you're wanting to collect phone numbers, there's a wonderful phone number module that will actually let you collect phone numbers and it does all that for you. You don't have to worry about validation, you don't have to worry about, you know, formatting properly or styling. It just does it for you. So that's a very, very simple thing you can do to actually make your, the user experience of not just your visitors, but also your editors just a little bit better. And then as always, for everything else I've mentioned, if you feel like something isn't right, if you feel like something doesn't have good UI or UX, just let us know. You know, go to drip.org and blah, blah, blah. Same spiel as the other ones, but let us know it's very, very important. The last one here, the last responsibility is really security. And for this one, the most important thing to consider as a site builder is text formats. In the UI, you're able to control things like which tags should people be able to choose from? You know, should they be only plain text where they can't put in any tags? Should it be things like bold and italics and paragraphs and that's it. But if you don't take care of your text formats, you can say, you know, allow anything. You can say full HTML. You can even say allow PHP, at which point anyone coming to your website who has access to the text format is able to use that code. So if they could use scripts, they can impersonate your login screen and they can, you know, get someone to log in and steal their credentials or they can write injection queries to go into your database and pull out stuff or they can log in as the administrator. There's actually a pretty nasty, nasty flaw where if you have PHP exposed on your website, if you have a place where someone can come in and type PHP, it's actually very simple for them to log in as your root user. That's a huge deal. This is something that themers specifically have to be aware of in the code side because they're printing out all these different things. They have to be aware of what's actually getting put on the screen, what's getting access to the user, but this is even before you get to the theming. You know, this is really early in the game. You have to consider the different people that are coming to your website, who's gonna be using it, what tags do they actually need and which ones can we just leave off? You know, which ones will they never use or don't actually need to have access to them. And never, ever, ever, ever have PHP in the UI. There's really no reason to ever type PHP in a text box. As a best practice, never have it there. If you know PHP, then you should probably just be writing a module or writing a theme to do that. It's much simpler than most people think. So, you know, no PHP. And then for security, of course, just like the other ones, report all issues. You know, you may not report these in the issue queue necessarily. Exposing security flaws to the public is not necessarily a good thing because then everyone could see what's going on. But there is a place to do that. This is a module, but every project page on Drupal Editoric has this. If you visit the project page for the module or the theme or the distribution or whatever, there's a link on the sidebar which says report a security issue. If you've noticed a security issue, if you see something happening, go to that project, click that link. This will send a message to the security team. You can type up what you did or what you saw or what it did. And then it is able to, they're able to kind of go through their process of evaluating and seeing, and they're gonna work with the maintainer to kind of get that worked out. So, if you see any security stuff, please let us know. Drupal's all the time getting better about them. And next, we're gonna move into the more fun part of the presentation. We're gonna look at some modules and how they work together and actually start using them for our website to make it easier to use. So, the first one we're gonna talk about is DisplaySuite. DisplaySuite is a wonderful, wonderful layout management module. It helps you take things on your page, your fields for your nodes or your nodes. And you're able to rearrange them and you're able to put them into different layouts and you're able to dynamically, based on conditions, say what should happen and add even more formats and stuff. So, here's just an example. We have here a event, a piece of event content, and we added a bunch of fields and we typed some sample content and we click save and here it is. So, this is what Drupal gave me, more or less, out of the box. It's not pretty. It's not, it's pretty ugly. It's kind of just flowing down the page, one right after the other, right after the other. It's not very pretty. But I have DisplaySuite on this website, which means all that I have to do is go to structure content types, events, or the content type that I'm working with, and then manage display. When I click on manage display, it'll take me to the same old managed display page that we're used to seeing in building websites. And it actually gives us an additional vertical tab at the bottom here that says layout for events in default. So, we're able to choose from here a layout. We can choose any sort of layout that we want. It comes with maybe a dozen or two, maybe more. And it actually works with C tools, which means if you have other layouts being created by either panels or if your theme is providing layouts or whatnot, those will all be available to you. So, you choose one, you pick whichever one you want here. And then after doing that, your list up here, your fields will actually be adjusted. So, we can see here, we chose two column layout, and now we have a left column and we have a right column. From here, we're able to drag and drop, we're able to move the fields wherever we want them, and we're able to also choose additional options. So, those cog wheels you see on the side there, they already had some options in there. They already had some things you could choose from, but displays we unlocks even more. It lets you say things like, oh, I want my title to be in H2, or in H3, or just a paragraph, or I want it to have these classes, or these IDs, which is awesome. It's, I don't know if you are a themary in here and you're more familiar with the way of doing this in the TPL.php files, the tipplefips. It is such a pain to make a template file from scratch. It is so annoying because once you do this, you know, if you did this in code, you typed up all the PHP and you got it there and you printed the fields in the different layouts, and then someone goes in and they add a field. That means you have to then go in and you have to modify your code, you have to figure out where it needs to go, you need to figure out what it's called. It could take literally like half an hour just to add a field to a layout that already existed. That stinks. So, by using DisplaySuite here, we just drag into place, we click save, and it goes. So, after we've done this, we can click save, and now we have a much, much better layout for this piece of content. Now, this right here has a tiny, tiny bit of CSS, just to kind of style things just a little bit, so things like the border around the image and some slight spacing stuff. So, DisplaySuite is actually a really wonderful tool for kind of introducing you to CSS. If you don't know any CSS, using DisplaySuite to get things pretty close and then using very, very light CSS to add color, add formatting, add, oh, I'm gonna move it to the left, just a few pixels or something, it's great for that. It's great for kind of getting the hard stuff out of the way so you can focus on the fun side of fuming. So again, before and after, drastically, drastically different. All it took was just a couple clicks. But DisplaySuite doesn't just have to be used for the front end, DisplaySuite can actually be used to modify the edit pages for your maintainers, for your editors, for your content creators. It's a very similar process as the other one, instead of going to Manage Display, this time we go to Manage Fields, and on the Manage Fields page, we actually have another selected layout option at the bottom, just like for Manage Display, and we're able to choose one column, two column, whatnot, and then we get the same process. It's identical, we drag the fields where we want them to go, we click save, and then we have a new experience for our editors. We can actually clean up our edit pages, our new node pages and make them even better. But that's not all. DisplaySuite can also be used for search. So this is another huge, huge theming pain. If you've ever had to theme a search page to change what fields should show up, what formatting they should have, what order those things should go in, what, it is just a huge, huge pain. I haven't found any tool as easy as DisplaySuite to do that. There's many others that will kind of let you do that, but it still requires code, it's still a pain. In DisplaySuite, you can go to Structure, DisplaySuite, and in the search tab on the side there, you can get all sorts of options for things like which view mode should my search results use. Well, in DisplaySuite, you can actually create your own view mode, so you don't have to be limited to full node teaser, or full node teaser RSS. You can create a brand new one that says search results, and then you can rearrange the fields, you can add a format or a layout, and then in your search, you're able to say, I want to use the search view mode, and then your search results will show up in exactly the format that you would like them to. So it's huge, huge, huge. And then what about panels? So I previously worked at chapter three, and chapter three is a huge panel shop. I learned everything I know about panels from working at chapter three, and I still love panels. Panels is a great, great tool. It's kind of, so if DisplaySuite works with a node, specifically, panels works with the page, like what the node goes into. Panels is able to rearrange the fields and nodes, just like DisplaySuite does, but these actually work together. You can use DisplaySuite for nodes, and then use panels to actually say, well, on this page, I want a sidebar on the left, on that page, I want sidebar on the right, and I want two columns in the middle, and I want to put blocks here and panes there, and it's pretty cool. There's actually a session in this room later today at five o'clock by Matt Cheney, and he's gonna be talking about Panopoly, which is a distribution of Drupal, specifically built around this idea of using panels for everything. So I highly recommend it if you're interested in hearing more about panels. It's a very good talk, I've heard it before, but panels is pretty cool. It will require code, though. That's another reason why I haven't really dug into panels for this presentation, because panels is wonderful, but you're going to need code. It's also a little bit complicated. That's just the way it is. It was built by the same creator as Views. It integrates with C tools really well. They cross back and forth between Views and panels, so it's wonderful, but it's complicated. So check it out, watch the presentation later, and see if it's for you. Next in SEO, there's a great module called SEO Checklist. This module doesn't actually do anything. It's kind of a funny thing to say, but I'm not knocking it. This module, all that it does on the website is it gives you this list, and it will go through and check to see if you're using the right modules. It'll check to see if you're using the right settings for SEO optimization, or, yeah, search engine optimization. So it'll do things like you can see here, like page titles, URL paths. Do you actually have a Google Analytics account or a Google Developer account plugged into your website? Are all these things in place? So SEO Checklist is a wonderful module. It's probably the most useful module that doesn't actually do anything, but it's highly recommended if you're concerned about things like SEO. So it's great to have and check up on your site. The next is Menu Block. Menu Block is an amazing module that solves a problem you wouldn't expect to exist. I've done lots and lots of trainings over the years, and lots of people who have never heard of Drupal and we sit them down in a computer and we've walked them through building the Drupal website. And the thing that the question we get every single time is, oh, I'm in the menu page. I just made a child page of about, I called it like about our team, about our company or whatnot. I went to the about page and I can't figure out how to get to that child link. Where did it go? What happened to it? And then the unfortunate truth is that Drupal Core out of the box with the themes that it provides doesn't actually have a way to show children pages. It doesn't have a way to, it doesn't have a dropdown, which would be, you know, you hover over about and then you'd see the children. And it doesn't have a way to show kind of like children links in the sidebar or anything like that. Menu Block solves that problem. Menu Block will take a website that, so here's an example. For this UCSF Department of Urology website, we are currently on the Cancer page, which if you follow the breadcrumb trail at the top here, it's within the page Patient Care, which is the primary navigation. So we clicked on Patient Care, we clicked on Cancer. Just by looking at this page here, you can't tell if there's anything else. You can't tell if there's any child pages within this. There is no dropdown menu or anything like that. So what we did was we added a Menu Block here. And with the Menu Block, we're able to say, show me a secondary links for any page that I'm currently on. So you could have this block, put it in your sidebar, and it will always show you the children links, basically, or it will always show you the grandchild links, or it can go any level steep that you want it to. It comes with tons of customization built into the UI, so you can tweak it to be anything you want. But you can see here, by following here, we have the first level navigation, the first patient care at the top. We click on that, we click on Cancer. And then we can see that we actually have a bunch of these third level navigation items within Cancer. And then Adult Non-Cancer is actually a sibling page to Cancer. So this can tell us great context of where we're at, where we can go. Great for navigation. It also doesn't require anything special like jQuery. It doesn't require any libraries. So if you don't really want a dropdown on your website, this is a wonderful alternative. It's also built within the block system, so it's very easy to use with the sort of configuration you're already used to. The next is Image Caption Filter. So with this module, it is a wonderful module for adding image captions. That might sound kind of silly, but it's actually a little tricky. A lot of people suggest jQuery, libraries that can do that for you. There's several different modules that can actually do this. This is the one I found to be the easiest to use and instantly working without too much trouble. Basically, it takes the title attribute on your image and uses that as the caption. So if you are adding a field to your website, an image field, and you can choose to have an alt tag and a title tag, if you put in something for the title tag, this will automatically make that a caption for you. So pretty simple. If you're always anticipating and needing a caption that works very well. I believe it also, it's a little hard to see, but there's actually a great box around to show that this is part of the image that's also included, and it's, again, fully customizable with theming. If you know a little bit of CSS, you can change things like the text or the color, font, whatever you want. This is another really cool module called Chosen. Chosen solves that age-old problem of multiple select boxes. The problem of, you have a select box up there, and you need to select multiples. You need to select more than one. As the help text on this example shows, it's like, well, you traditionally would have to hold control, or command, and you click, and you scroll down, and you click, and you scroll down, and you click, and you hope that you remember to hold that control button, because if you click without it, you just lost all your work that you've done before that. Super, super annoying. Horrible UI. Horrible. The Chosen module uses a jQuery library to completely reinvent this user experience. So instead of having something like this, we have something that works a little bit more like an autocomplete field. So you can start to type it out, and it will provide suggestions below. You click it, it adds it to the box. You type it out, suggest, and it's the same thing as you're used to with autocomplete, but not only that, you can actually scroll down through the list, and click them just like you would a select box, and it will add it to the list up at the top. And then if you don't like them, you can see it has a little x, so you can remove them very, very easily. So this doesn't require any code. It doesn't require anything special. You add the module, which adds the library. The library looks for select boxes. It automatically converts them to using this format. So you don't lose any functionality, but the UX is huge. So View Slideshow is probably my favorite module. When I was first learning Drupal, I came across View Slideshow, and it was just one of those things that just clicked. It just worked. Like all of a sudden, I had a rotating banner. I had a rotating image that I could put on my front page. I could have some rotating news articles, my five most recent news articles, and it would transition with a cool flip animation or whatever animation you want. And this was before I really knew CSS very well. So View Slideshow, out of the box, without any CSS, you can format to look still pretty good. You can still add things like next and previous to give examples of show me the next one, show me the previous one, and I'll cycle through. You can also see things like title or body or basically any fields that you would do in Views. So by being built in Views like this, it's very, very, very easy to build a rotating Slideshow of anything. You can also add additional things. So if you do know a little bit of CSS, this is another great example of how you can train yourself or teach yourself CSS just by experimenting with this. You can end up with a really cool example like a pager at the bottom with a little dot that moves around or if you prefer the kind where you have the slideshow with the title and the body on the side and you click it and it goes through. Or if you want the one where you have the tab which has the teaser text in it and you click it and the image up, the options are endless. You can theme this to be anything you want. But again, it's also empowering to people who don't know theming because you can just enable it and it will just work. So you also have some bigger things to consider. I mentioned earlier that things like accessibility and security will sometimes be dependent on the theme that you're using. If you are not working with a theme at all, if it's kind of up to you, I highly recommend looking at a module or a theme that kind of gets you started in the right direction. A theme like Fusion or Omega which have really wonderful starting things, they start you out with a lot of the structure already completed, a lot of the layout already completed and it gives you a ton of options in the UI for tweaking things. So if you want breadcrumbs, it's a checkbox. If you want things to be compatible with older versions of IE8 or IE7 or IE6, they're checkboxes. If you want to add in some jQuery to improve your forms, like to make your login form really snazzy across all platforms across Dell browsers, there's a checkbox for that. If you had to do this in the theme, it would take hours and hours and hours of work to get your theme up to the point that a starter theme would get you out. So it's really huge. Again, especially if you don't know theming, starting off with a really solid starter theme can really get you most of the way there. And then if it has the color module, that means you can actually tweak the colors. It actually gives you a really cool UI for being able to say, I want my header to be green and I want my text to be red and my background to be yellow and it's dangerous. Like you can make it really, really, really ugly but it's also empowering because you don't have to know how to do that yourself. If you have a pretty good eye for colors, you can make your website really beautiful without having to actually touch a single bit of code on the theme. And then again, there is the Panoply distro. The distribution of Drupal is built on panels. There's so much you can do with that just by dragging stuff around and moving and they come with tons of layouts. Again, just come this afternoon at five o'clock for the presentation then and they'll have a lot more information about that. And I just wanted to say that each one of you is special. No, but really, really. So I think that there's so much that people can do for the Drupal community. And no matter what your actual background is, no matter what your current knowledge is, no matter what you think you know or think you don't know, you are huge to the Drupal community. So there's this saying in Drupal and kind of everywhere at large. You don't know what you don't know. Basically it's saying, if you're new to Drupal and you're like, oh, I need a list of content, let me create a basic page and type out all my content lists. And they didn't know that the views even existed. They didn't know that that was an option. So it's a huge kind of barrier to learning and that you don't know what you don't know. Well, I have a quote to counter this which says, once you know what you know, you can't pretend not to know what you don't know. And when I was walking through this with my wife and she gave me a look like, what? Yeah, but seriously, like once you get to the point where you know these things that you didn't know, it's not possible to go back. It's impossible for me to not know about views or to not know about views slideshow or not to know about panels. But for anyone who is at the point, there's still plenty of things I don't know about going forward. But if it's something where you are stuck and you have no idea what to do and you're just like, I feel kind of helpless. It's a very great opportunity to go to Drupal.org, let people know, go into the IRC, ask for help. It's a great opportunity to point out things in Drupal that don't work with you. Point out things in Drupal that we don't have right, the things that we can improve. Those topics I mentioned earlier, the SEO, the security, the UI, UX, accessibility. All of those things are crucial to the future of Drupal. Versions get better year after year, but it can still get better. There's still a lot of work to go. So it's huge. Please consider going through and letting people know. It's great coming to cons like this, going to smaller camps, going to meetups on a monthly basis, being able to rub shoulders with Drupal people and just bring things up. Let them know the things you know, the things you're struggling with. And worst case, maybe someone can help you. Best case, maybe Drupal learns that, hey, the problem you're having is something that everyone else is having, too. And then we can actually make it better. So remember, only you can make Drupal a better place by creating issues in the queue. Yeah. So before we close up today and open to Q&A, I just wanted to say, this has kind of been the theme throughout the entire thing. I felt like when I started in Drupal at the very beginning, like Drupal, early Drupal five, just that it was rough. Drupal is still rough when you get started, even Drupal seven, but it was so hard not knowing kind of what to do or what my options were. And everything required code, everything required patches. And it's just not true anymore. Well, okay, so it's totally true. You still have to apply patches. But it's so much better now than it used to be. So using these techniques, and I hope we'll get some good questions for other techniques. But there's so much you can do to make your website beautiful, to make your website accessible or search engine friendly or whatever. All these things that you would previously require a ton of code, you can do from the UI. It's huge, it's great. So with that, I'm gonna open up to questions and we'll see where that goes. There's a mic up there if anyone wants to stop up. When you mention SEO and good URLs, one of the biggest debates we've had in our office is length of URL using the path auto field. Sometimes you can get some crazy long URLs versus nice tidy ones. Can you just kind of give your thoughts about that and kind of ideas what we can do to keep things nice and tidy? Yeah, definitely. So when it comes to SEO and accessibility and URL length, the most important thing to consider is how many slashes you have. The length does matter, but you have to think about, you have to have a page every slash in your URL. So for example, if you have a blog website and the path auto is set to say, I want all of my blog URLs to be blog slash author slash name or the title of the blog post. The title of the blog post, I don't think it really matters so much. Path auto will actually go in and chop it off and it reaches a certain length. But the other stuff is super important. Every slash that you add to your URL sort of adds metadata for Google to say, this is one level less important than the last, one level less important, one level less important. And it should be reflected also in the pages, the breadcrumbs, the navigation. So you should actually have a page at slash blog that shows all the blogs. You should have a page at slash blog slash author that shows blogs by that author. And by doing it that way, you're able to make it a little more semantic for people visiting your website to find what they're looking for but also make it easier for Google or Bing or whatnot to find that content too. Great, thank you. Hi. Thanks for the presentation. I noticed you said at one point that it was a security risk to put in PHP through the UI. I know in like display suite you can create your own code fields where you put in, where you can have PHP. Is that the kind of thing you were talking about or were you referring to something else? I refer to that as well as everything else. So there's a PHP module you can enable with Drupal Core that will let you use text formats that you can do that. You can also use it for block visibility and view stuff and all like view arguments and things like that as a best practice never include PHP in the UI. In Drupal 8 that might be better but at current point it's not possible to sanitize it in the UI in a way that will make it safe. So if you can do it another way which you can almost always do it another way, I don't recommend it. All right, well I guess with that we'll close it up. Thank you all for coming. I hope you enjoyed it. And I'll be up here at the front if anyone has any additional questions.