 Hi, everyone. Before we get properly started, just so I can, you know, better understand who you guys are and try and make this better suited to your needs. Who here considers themselves a developer? So you write PHP or JavaScript code. Who here considers themselves a site builder? So you configure sites, install modules, but don't necessarily write code. How about users? So you use a site that someone else built. Okay, wow. I'm really glad I asked because there's far more developers here than I was expecting for a site builder track presentation. How about how many people consider themselves a beginner? Beginner site building, I guess? Drupal, yeah. Okay. How about intermediate and advanced? Okay, so this presentation is definitely mostly geared towards site builders on the beginner and intermediate end. Definitely there's stuff for users, you know, if you see something that you think is awesome here and you can go bug the person who built your site, say, hey, Drupal can do this thing. Why can't our site do that? And definitely the second half of the presentation is more advanced. We're going to be talking in general about what Drupal distributions are. Maybe you should consider using one. Maybe you should consider creating one. And then we're going to look in specific at Panopoli, which is a Drupal distribution. Okay. So I'm David Snopak. I'm a freelance Drupal developer. I'm one of the co-maintenors of Panopoli and 20 or so other Drupal modules. And one other thing I wanted to say, if you have a question, just like hold up your hand or yell it out and I'll repeat it to the microphone unless I forget and then also yell that out that I should repeat it into the microphone. That helps me understand if you guys are understanding what I'm saying or if I should slow down and explain something better. So we've been at Drupal Khan for the last couple of days talking about things you can do with Drupal. What are some of the types of sites that you can build with Drupal? Come on guys, yell something out. What's a type of site you can build with Drupal? I'm sorry? A commerce site? An e-commerce site? What else? A blog? A company intranet? Yeah. What was the last one? Yeah, like an events calendar or some sort of event planner. I put a couple of those on my slides but really like the possibilities are unlimited. I'm not really aware of a class of site that you couldn't build with Drupal. I mean sometimes there's other considerations that might make another platform better in a certain situation but you can build pretty much anything. But what does Drupal give you out of the box immediately after install? Who here has installed Drupal 7? Or at least seen what it looks like out of the box. Sweet. So for those of you who haven't seen it, you get this blue thing which is sort of a simple blog with a not so great content editing experience. The thing is nobody actually wants this thing. You know when you're hoping and dreaming about your new website you're not thinking of this. This meets no client requirements document ever. You couldn't go live with this. You're going to have to dig through the 26,000 modules on Drupal.org, find the things you need, install them, configure them, mold it into the site that you actually want. And that's the power of Drupal, right? Whatever you want to do, there's a module for that but that work is up to you out of the box. What most people actually want is something that sort of feels like a website. This screenshot is from a Drupal distribution called OpenPublic for creating local government websites. After you install it, it's a website for a local government, right? With demo data. All you have to do is go through there, replace the demo data with actual information about your local government and you could go live with that in a matter of hours. You need the core functionality for your site. This screenshot is from Commerce Kickstart, which after you install it has a product catalog, a checkout shopping cart, all the basic functionality of an e-commerce site. And you know, it's built on Drupal Commerce, which is a fleet of modules for creating sort of infinitely flexible e-commerce systems. You could create anything with it, not just a shop with products, but it's so much easier when you're starting out to install something that works and modify it rather than starting from scratch and having to build it up when you're beginning. If you're already a Drupal Commerce expert, the story is different. In short, people want something that is as close as possible to their end goal out of the box. If you're building an e-commerce site, you want to worry about the products you're going to offer, the deals you're going to do, not creating basic shopping cart functionality. If you're creating a blog, you want to be thinking about the articles you're going to write, not implementing basic comments and social sharing and all that stuff. You want to worry about the unique value proposition of your site and not monkeying around with the plumbing. And if you work at an organization with lots of sites, or you're a freelance site builder or work at a Drupal shop, and you're creating sites every day, there's probably some configuration you do on every single new site. Wouldn't it be great if Drupal just came out of the box that way? So this is where Drupal distributions come in. Who here is familiar with the idea of Drupal distribution already? Oh, sweet, lots of people. So for those who haven't heard of this before, Drupal distribution is Drupal pre-packaged with a set of modules and themes and also some configuration. So you install it just like Drupal, and when it comes out of the box, it actually does something. And the great thing is that it still is Drupal, right? So if the distribution does X, but you really need X plus Y, you can still dig into that pool of 26,000 contrib modules and extend it. So here are some popular open source distributions. These are projects you can download off of Drupal.org and install right away. Commerce Kickstart, we already talked about open public. Open Atrium for building an internal collaboration tool for an organization to be your intranet. Drupal Commons for creating an online community if you wanted to have your own Facebook. Open Academy, university department sites. Julio, school and high school websites. Demo Framework. This is a really interesting example. Acquia makes demo framework. I'm sure everyone's familiar with Acquia. If you're not, they're one of the biggest Drupal shops. Dries, the founder of the Drupal project, works there. Also the founder of Acquia. Anyway, when they go to a client to try and sell them on the idea of Drupal to give them a demo of Drupal, they don't show them Drupal 7 out of the box. Instead, they take this Drupal distribution, which has a lot of the common modules. You can set it up for common use cases already built out for the way you would see an actual production site and show them that. It's an internal project management and customer management tool. So if you ran a Drupal shop and you wanted to manage all of your projects internally, using a Drupal site, you totally could with Erpel. And Panopoli, which we'll be talking about in some detail very soon. So those were all public distributions. Those are like products you can download and use. But lots of organizations also create custom distributions for use internally just to make their own lives easier. Here's some big examples. But who knows how many others, right? No one's under any obligation to tell us that they made an internal distribution. They can keep that private. And these are some big examples, but even small to medium-sized organizations can benefit from creating an internal distribution. As a freelance Drupal developer, I've created internal distributions for a number of organizations on the smaller end. So here's some reasons why you might want to do that. You know, if you're a Drupal shop, you probably don't create entirely unique sites every time. You probably operate in some niche. So you could create a distribution that does all of that same setup you're doing on every site out of the box, reduce the work you do. If you have a number of sites, like a university or a government where you're launching new sites all the time, you build out your distribution once and then deploy as many times as you'd like. So an alternative to creating a distribution is just cloning sites, right? You build out one site, and then you're about to launch site number two, which is going to have some of the same functionalities. So you just clone the first site and then modify it, right? And that could work, except when you have to change some of that shared functionality between both sites. Now you have to log into site number one and change it, and log into site number two and change it. Maybe with two sites, that could work too, right? But not with 10 sites or 50 sites or 100 sites. Instead, if you create a distribution, you can just update the distribution and then that will deploy to all of your existing sites. So what is Panopoly? Panopoly is at least three things, which makes it a little hard to explain and certainly a lot harder for us to develop. The first thing is that it is a Drupal distribution itself. But it's a starter distribution. It's a blank slate, like the way that Drupal 7 Core is a blank slate. It doesn't impose in a use case on you, but we think of it as an improved blank slate. It includes a number of things that a lot of people want, for example, WYSIWYG, media support, responsive layouts, and some panel stuff, which we'll talk about a little bit later. But if you're just getting into Drupal, you're just getting into site building, starting with Panopoly, I think can be a better place to start than with vanilla Drupal 7. And I hope I'll be able to convince you of that when we get to the demo portion. Panopoly is also a base distribution. Who here is familiar with the idea of a base theme? Okay, about half. So a theme in Drupal is what controls the visual appearance of a site. So when you want to make your site look unique, you create your own theme. You can create your own theme from scratch, starting from the beginning, or instead you could start from a base theme. Some common examples are Zen, Omega adaptive theme, and that allows you to take advantage of some of this shared work that the community has already done and allowing you to focus more on what makes your design unique. So Panopoly is a base distribution in the same way, you know, Zen is a base theme, and you can build your own distribution on it and save some of the, you know, low level work, some of the decision about approach, and just focus on what makes your distribution unique. Who here is familiar with the features module? Who here has actually created a feature with the features module? Okay, if you're a site builder and you're at the sort of intermediate level and you want to take your game to the advanced level, definitely go learn about the features module. It's super useful. What the features module allows you to do is to take some of the configuration you did in your Drupal site, so the pointing, clicking, you know, configuring content types, creating views, and export that automatically into a module. And then you can take that module, enable it on another site, and it will make that configuration happen on that other site. So it's a way of reusing configuration between different sites. And Panopoly is actually made up of about a dozen or so features modules that provide like each of the individual things that Panopoly does. So there's like a Panopoly admin module which does the admin improvements, a Panopoly WYSIWYG module that sets up the WYSIWYG. So if you wanted to take just a piece of what Panopoly does and put it on your vanilla Drupal site, you totally can. Like if you liked the WYSIWYG stuff and wanted that on your Drupal site, you can just download the Panopoly WYSIWYG module, run the make file, and install it. So, yeah, to try and summarize this rather complicated slide, you know, it's the set of modules. When you install the distribution, you're basically getting them all at once, but you could also take them piecemeal and you can use that as a basis of creating your own distribution if you wanted. So one of the main focuses of Panopoly is improving the user experience. And you'll see a lot of this when we get to the demo portion, but right away I just want to explain some of the user experience principles that we use in Panopoly. So, first of all, we try to do a lot of the obvious user experience improvements that pretty much everyone is already doing anyway, right? If you're an experienced site builder, there's a set of modules and things you do on every site and all experienced site builders are doing roughly the same thing. For example, installing one of the modules that puts a filter on the modules page. I mean, we could argue over which module should we use to do that, but I think we could all agree that having a filter on the modules page is objectively better. Or replacing the out-of-the-box content list page with the one that comes from the admin views module. I don't know anyone who prefers the built-in one. You know, the one in admin views is objectively better. So rather than everyone having to relearn all of these sort of best practice obvious UX improvements, we just put them in there out of the box. So we want to keep users and site managers on the front end of the site and off of the back end. So rather than them seeing a page and having to sort of figure out what is that page? Is that a view? Is that a panel? And having to go then dig into the back end, the appropriate place to change it, learn how to use that and change it. We want to allow them to change this content on a page while being on the same page that they're viewing it. So editing things with their displayed rather than digging into the back end. So we want to keep the Drupalisms behind the scenes. So any internet literate user should be able to easily understand the concepts that they need to know in order to customize their site. They shouldn't have to know what a view or a block or a panel is in order to do the type of customization that we want to allow them to do. And this applies to users and site managers, right? Because if you're the site builder, you're stuck with Drupalisms. You know, you have to know these things. Show live previews and previews wherever possible. You know, we shouldn't have the action of changing something really far removed from seeing its effect. You know, for example, to change a block on a page, you'd have to go to admin structure blocks, you know, add a new block, set up some configuration, press save, and nothing happens, right? You have to go all the way back to the front end to see it happening. So trying to show users the effects as quickly as possible. So, panels has a lot of love and a lot of hate. There's a lot of strong emotions about panels. Who here has used the panels module before? Who here loves panels? Who here hates panels? Awesome. Then this slide has a purpose. Who here has mixed feelings about panels? That's pretty much everybody, yeah. So I started out in the hating panels camp. Definitely. I'm a developer. So for me, panels is just another pointy clicky thing. And I don't want to do pointy clicky things. I want to write code, right? And a lot of site builders don't like panels because it's complicated. There's a whole bunch of new terminology and concepts you need to learn. There's a learning curve. The page manager, which is the default user interface for working with panels, is confusing. It's complicated. But it was that really won me over into the loving panels camp. And I think it's because of the way that we have chosen to use it. We're not just including panels in the page manager, but the best of the panels ecosystem. So about a half dozen other modules that improve panels that extend it. Here are a couple of the big ones. We also try to hide the nastiness from users. Which is mainly the page manager. The golden rule of Panopoly is that users and site managers never see the page manager. Instead, we give them an alternate interface called the IPE. So if your only experience with panels is with panels in the page manager, what you're going to see in the demo with Panopoly is going to be new to you. And the way that we use all of these things together allows you to create really amazing experiences for your users and site managers. And you can create these experiences even without writing any code. You know, you can do it using views, using fieldable panel panes, which is really just another way of saying entities and fields. And we'll talk about that a little bit when we get to the demo. So actually, here comes the demo. This is going to be a mixture of slides and actually looking at a Panopoly site. So the first thing that Panopoly does is it enables a bunch of super popular contrib modules. If you've done any site building in the past, you probably recognize a lot of these. Maybe some of the ones towards the middle are panel-specific stuff you might not recognize, but, you know, views, Path Auto, WhizzyWig, jQuery Update. I mean, these are modules that everyone is using. And Panopoly will also update all of these modules. If there's a security update, you know, we try to make a panel of Panopoly release on the same day that a security update comes out. We also try to take care to select the correct versions of the modules so they work together. There can be some interesting interactions, for example, between Media and WhizzyWig, and we take care of all of that for you. So if you're using Panopoly, you no longer have to worry about managing this set of really popular modules. You just update Panopoly, we'll take care of that for you. Layouts. So every website has to deal with layouts somehow. Usually every individual site has a couple of layouts, you know, three or four. The traditional way in Drupal to do layouts is through the theme system, but there's a plethora of other ways. You can, you know, use context and beans, you can use panels. Panopoly uses panels. And through panels, we provide this set of layouts. They're all responsive. They're all cross-browser tested. They'll work in most themes. And the user can switch between layouts arbitrarily and move pieces of content between them in real time on the page they're looking at, always WhizzyWig style. And I'll show you that right now. So this is a fresh install of Panopoly 1.6. When you're installing Panopoly, you get the option to install the demo data. And that's where all of these vegetable pictures and this initial content is coming from. If you disable that module later, it'll remove all of that content. So there's a risk in enabling it. Hang on, I have to log in. Right. Yeah, so the demo contents provided by a module called Panopoly demo. And during install it'll ask you if you want to enable it. And it's just a checkbox. So you don't have to, but if you do, once you uninstall it'll remove all of this extra content. So you don't have to worry about it adding junk to your site. So these two buttons down at the bottom, this customize this page and change this layout buttons from the panel's IPE. Let's try changing this layout. This is the current layout selected. Let's switch that to sidebar on the left. So now the front page has a sidebar on the left, rather than on the right, this page is already live. Done. Let's try clicking customize this page. And here we can grab individual pieces of content on the page and move them around. So we can take this content demo item, move it to the sidebar. And here this image got smaller. It resizes to the amount of available space it has. And if we click save, bam, this page is now live. No, but I can answer the question right now. So the question was when the image resizes like that, is it just resizing in CSS, or is it actually resizing it on the server? It's basically the question, yeah. So we do use an image style to reduce them so we won't have like a gigantic image. We have sort of a maximum size that the image style outputs, and then after that it resizes it in CSS. We do not have real responsive images. We are talking about integrating the picture module, which is a back port from Drupal 8 which does do responsive images, but we haven't gotten to that yet. There is a feature in the WYSIWYG where if you resize the image in the WYSIWYG, it will create a resized version on the server and serve that. But just not for an output of images everywhere else. Yes. Absolutely. Yeah, that I was about to show. So here, we'll do it straight away. Oops. So you can see here we reduced the width a little bit, and already you can see some changes. The menu items become big finger push buttons. This is probably like a tablet size. You can also see that the images in the content also got smaller to deal with the amount available space that they have. If we reduce it even further, you'll see the menu go behind this hamburger icon there and the content switch to a single column layout. So this would be the full mobile version. The layouts are all responsive, all the ones that come with Panopoli. The theme that we bundle is responsive Bartik, which is actually a back port of the Drupal 8 Bartik theme which is fully responsive. So yeah. Yes? Like really specifically. So in Panopoli right now, we have a custom grid system that does this. We're in the process of switching to a set of identical layouts called Radix layouts which use the Bootstrap grid system. But that's coming soon, not quite yet. Question over here? How soon? So you can already use Radix layouts which will replace the Panopoli layouts with identical ones that use the Bootstrap grid system. We just haven't removed ours and bundled it in the core distribution. Yeah? So the question was if you wanted to have more stuff happen when responding such as different pieces of content disappearing or turning into an accordion or whatever, how would you accomplish that? And I think the answer is just the standard sort of Drupal answer. There's a lot of ways to do that and what we're doing certainly wouldn't prevent you from doing anything you otherwise could do in Drupal. If you wanted to do it at the theme layer you totally could. Replacing the templates and injecting the classes I think there might be some like panels plugins that allow you to say that this pain will disappear when the screen gets below a certain size. But we don't do anything that will hurt or help you doing that beyond what you can do in normal Drupal. Yes. Right. So you don't have to give your users access to all of the layouts. If you chose for your site or your distribution just to support a subset of layouts you totally could. Yeah. If you wanted that level of control I guess that would be the way to go. The layouts come from a module called Panopoly Theme which really just provides those layouts. So if you didn't want them at all and just like address that problem yourself you would disable that module or not included in your distribution. Back to the slides for a moment. So Search. The core Drupal Search is designed to run on as many platforms as possible including like $5 a month hosting. It's not designed to be particularly featureful or performant. So Panopoly replaces the built-in Drupal Search with a suite of modules called Search API which out of the box gives you faceted search you can see on the right side bar the filter by type and also allows you to easily swap out the search backend for Apache Solar which is a real search engine if you had big search needs. But yeah like I keep saying if you didn't want the search customizations that we do you could just disable this module and do your own thing right or in your own distribution all of our modules come with their own make file. So if you didn't include Panopoly Search in your distributions make file it wouldn't even download the dependencies for it. It wouldn't pull in Search API and all of that junk. So you can slim it down to just the things you need. WhizzyWig. So whether or not WhizzyWig is actually a good idea and there's a lot of valid arguments on both sides of that. Users love it. Some users expect it and it's going to be in core in Drupal 8. So Panopoly does provide a WhizzyWig configuration. In Drupal 7 just turning on WhizzyWig is actually quite easy like just getting the WhizzyWig editor to appear. But in practice there's a plethora of problems that appear. The first one is which of those buttons in the toolbar to include. Turning on the buttons in the toolbar is super easy. There's like 100 options. You just check a checkbox for each of them. But some of them are just a simple idea. For example, letting them change the font. They'll put everything in comic sans, destroy the all the time you put into perfectly selecting the font for your site. Or letting them change the font size. They'll make one line be 50 points and another line be 52 points. There'll be no consistency. In any way you don't want them changing font size for headers. You want them using semantic headers anyway. So carefully selecting which buttons to include is difficult. But just removing the button doesn't make it impossible to put that content into the WhizzyWig. If they copied something from another web page or from Word, it will put it in the WhizzyWig editor even if the button is not available. So you also have to set up filtering rules to remove the things that you don't want to be in there. And then beyond filtering for control you also have to filter for security. There's a number of tags. Namely the frame tag and the script tag that attackers could put in there to spy on your users or steal their personal information. And even beyond that, some of the features that users expect in WhizzyWig don't come with WhizzyWig out of the box. So you need to install additional Drupal modules, additional libraries to get that to work. So even though turning it on is pretty simple, really tuning it and getting it right is rather difficult. So let me show you what the WhizzyWig configuration that we've set up looks like. So the first thing is by default we just show the simple WhizzyWig buttons and you have to click this other button to see some of the more advanced options. So we don't overwhelm the user with too many options. Let's look at media inserting images which is something that WhizzyWig doesn't do out of the box and is relatively difficult to get set up. Yes, we use the media module. We use a very specific 2x branch and we try as much as possible to keep updating it as new versions come out but that is problematic for everyone. But the version that we bundle is well tested so you don't have to worry about dealing with media's bugs. We have a couple of patches applied. We have a extensive B-hat test suite that does test media to a certain degree. So using our media will be less work to be stable than going your own. A feature we just added recently being able to manually crop things. So you just wanted the kitten's super cute face. That's from the manual crop module. But let's not show that. And you're able to choose an image style before you insert whether you want the original image or quarter size. And returning to an earlier question if you resize the image here we have the image resize module enabled so it will generate it on the server side. If you have images you'll need image captions. Another extension to WYSIWYG that we include. My computer just turned off. Hold on a moment. What's that? Yeah, I used up my battery too much before coming to this presentation. I'm sorry guys. I'll get this back online in a moment. While we are waiting, are there any additional questions? Sure. It's definitely on the roadmap. I don't know who was able to tell, but that was TinyMCE. We have a patch in the issue queue for switching to CK editor. It's something that we would like to do to get in line with Drupal 8 and to allow you to use the edit module. It's from Spark allowing you to edit fields in line. Yes? So in Panopoli out of the box, I'll repeat the question. The question was about SEO tools. In Panopoli out of the box we don't bundle any SEO tools, but there is a Panopoli SEO module which is maintained by the community which includes metatags and a couple of others. I can't recall off the top of my head, but there is an add-on module for that and it's actually provided as an app which you can go into in the section on Panopoli and just say I want to install that. Any other questions? Sure. So the question was about how is it different to upgrade a distribution. The steps are a little bit different for upgrading a distribution than you would with just like your own site with a collection of modules. Actually it's a lot like updating Drupal Core. You can basically follow the same instructions you would for going from 7.27 to 7.28 is try to update the modules that Panopoli provides individually because we do keep them at very specific versions that are tested to work together and so if you update something it could break things. But we do very regularly update what we have and test it and make sure everything works. And for security releases we will update as soon as possible. The modules will be under profiles Panopoli modules so they'll be in a physically different place a little easier. I'm really sorry guys. I should have plugged this in as soon as I got up here. Any other questions? Yes. I'm a member of the Drupal security team and my main goal of being a member of the Drupal security team is to keep tabs on the security issues that affect Panopoli so we know about them before everyone else does which allows us to have our release ready for the same day that the security issues are down. I can't guarantee that we will always do that but we try really really hard and since we've started operating that way we have released on the same day as all the security issues. In unrelated question what desktop environment are we using? Notion it's a fork of ion allows you to do everything without touching the mouse. We'll see what loads faster. LibreOffice with my local copy or Google Docs. Yes for your custom work and custom themes into sites all themes or the specific site directory if you worked that way. We only bundle one additional theme responsive Bartik. There are a number of themes designed specifically for Panopoli. Call a theme that the Kalamuna guys created and Radix which OpenHRim uses Radix R-A-D-I-X and those are base themes to allow you to create your own theme for Panopoli. The question was does it only work on Pantheon? And it'll work everywhere. I'm personally not affiliated with Pantheon. The lead maintainer Matt Cheney is also a founder of Pantheon and the names are sort of similar but there is no dependency between Panopoli and Pantheon. In use for the OpenShift site or you mean it runs on OpenShift? Yeah. There's a cartridge to run Panopoli on OpenShift. Okay sorry for the massive delay. Let's catch up to where we left off. I think we're still looking at features of WYSIWYG. Alright. Oh come on computer. I'm super sorry guys. We'll end up having to cut off probably the end of the demo once I finally get going again. But if you have any additional questions or want to see more come talk to me. We're also doing a sprint a Panopoli sprint on Friday if you want to help out. Anyone can help even if you're not a developer just coming and testing and reporting bugs is super useful. Writing documentation is a new user also super useful. I can never look at Panopoli as a new user ever again. So please come join us. Okay maybe I'll move on to a later slide and come back to the live demo once my VM starts. Oh jeez. But all those slides depend. Any other questions? Possibly yes. So the question was about the workbench module working with Panopoli and I guess like configuring the panels part of a page. Yeah. I think that might be more of a feature that will need to be integrated into a panelizer. I don't think it creates revisions for the changes that you make to an individual page. I don't know. We don't have any plans to work on that. That's a really interesting problem though. Are you doing an internal distribution or a public one? An internal one. Okay. I know that there's been a bunch of work by the open atrium team to make workbench work well with open atrium which is based on Panopoli. So it should work. But yeah there is currently no way to connect the content revisions with the revisions you're making in the IPE. Oh really? Yeah. You should report the bugs to the issue queue. Oh awesome awesome. And come to the sprint and help us fix them. Okay there's one more feature. I want to look at the WYSIWYG and then we'll look at the content editing experience, the more details about managing the layout. Sorry again for the technical problems. So another module that we bundle additionally with WYSIWYG is the linkit module. A number of users have trouble with links and URLs like they don't even know what they are. So with linkit just type some keywords in a piece of content on the site it'll give you a couple of options you just select it and insert the link so the users never have to deal with URLs for the local site. So yeah basically you know why create your own WYSIWYG configuration from scratch when you can take ours which we've already put a ton of thought into what to include and how to configure it. So let's take a look at the content editing experience. We'll take a look at a new node. So who here has seen this? Sure. Yes. So the question was about the admin menu and yeah we are using a back port of Drupal 8's toolbar menu which is called navbar in Drupal 7. So there's sort of a theme of we're trying to use a lot of the stuff in Drupal 8 which we won't really be able to use Drupal 8 for another year or two so you get to enjoy some of the improvements in Drupal 8 in Panoply. So who here has seen the default Drupal 7 ad content page? Okay. So there's a couple of people who haven't seen it and I'm due to the running out of time otherwise I'd show it to you. But we've made a number of customizations to the content ad page. First of all we put it in two columns the way Drupal 8 will also be putting the content ad page into two columns. We've removed some confusing and useless stuff from this page just trying to get it down to the bare minimum that is necessary. For example we don't have the promote to front page checkbox under publishing options because that checkbox only actually does something if you don't replace the default front page. But everybody replaces the default front page so now all of your users for the end of time are stuck with a checkbox that does nothing. Right? We also installed the save as draft module to get rid of the publish checkbox now users have this publish and save as draft button. We've also put a lot of thought into changing the size and order of things based on importance so the title is big and at the top of the page like a title should be. Below it you have the URL that the page is supposed to live at which is also important but we make it super tiny so it doesn't get in your way. So that's content you know Drupal does awesome ad content like if you want to create a content type add a bunch of fields and then create a hundred instances of it that's Drupal's bread and butter. If we made a presentation content type had a description had a link to the slides date and time that the presentation took place create a bazillion of them and make some views like Drupal rocks at that. What Drupal does less good at is unique one off landing pages and there's a couple of solutions to that in contrib you could do like Drupal's is one of the solutions the problem with even panels is that to do that to create a landing page you have to use the page manager and the golden rule is users should not touch the page manager it's too confusing so in Panopoly you can go to the add content page and select landing page this isn't a real content type it's sort of like a pseudo content type but users are already used to the flow of going to add content to create content so they also come here to add pages and underneath this is actually creating a page manager page but rather than taking us to the page manager it takes us straight to the page view we will then customize it with the IPE actually first let's give this page a layout give it a sidebar everybody loves a sidebar and when you go to customize this page and click the add button you get a menu of things that you can add to the page they're all basic just internet things just add file, add image there's probably a million ways in Drupal to add an image to just one page on the site and they're all really complicated like you could do it with blocks but you'd go like admin structure blocks, add your block you'll put it in one of the regions you don't really know what those regions are you just have the names you put it in the region, you set the visibility settings say it's only visible on this page click save and who knows if it even worked panoply you just come here click add image but we're going to step it up we're going to add a video and I would have had this link ready so this is again with the media module you can put in either the URL or the embed code and as soon as you make a change in the settings on the left you see an immediate preview on the right any of the changes we make so add a title the title immediately appears let's make it a link to Google, I'm hovering over the link you can see it's already well let me put HGP on there you can see it's already a link to Google and we already have a video live you may have noticed I checked to make that a reusable pane now we can come back here and see this reusable content tab and I can click add and have that same video so this isn't a tool really for you for site builders this is a tool for your users they can create you know pieces of content that then they can use in several places on their site is there a question? yes the question was about where is the reusable content available is it just on the page or on the whole site and the answer is on the whole site so the videos are responsive I think we're just doing it in CSS though so if I put it in the sidebar you'll see the video gets smaller yeah, yeah yes? the question was how do blocks work with this you can use blocks in panels and I personally also use blocks to do the header and the footer but you don't have to do that does that answer your question? we can talk about it more afterwards I want to try and get through more of this before I run out of time yes? so they're not blocks they're panes from the panels world but yeah when you say like make reusable and give it a name then it is like a pane that you can reuse somewhere else so actually I don't want a video so let's do a carousel everybody loves a carousel we'll make it the cutest carousel ever so you can see as I'm creating this carousel it's already appearing up here in the preview area ooh, we found a bug during a live demo surprise um one kitten is cute enough let's add a content list to the sidebar so this widget is actually a view who here has used views before I was familiar with creating views if you're a night builder and you haven't used views go learn it it's like the number one Drupal module it's useful for a million different things so this one is provided as a view and a lot of the settings you see on the left are actually view settings like we can say let's switch from being fields to content and now we see teasers or the full content or make it into a table we can control which of the views fields are displayed you can see it changing up here again and when you're creating the view you actually can say like which of these settings do you want to allow users to configure when adding it as a pane so you could say like well I still want them to be able to change like how many items are displayed but I don't want them to change the display type you can choose any of those view settings so you would be creating these views for your users for their specific use case and giving them whatever controls you wanted them to have actually this content type select box up here this is actually the exposed filter from the view so you can take any of the exposed filters on your view and say I want them to appear as pane settings I want them to appear actually at the top of the widget like a normal exposed filter so this allows you to create really powerful tools for your users that are specific to their use case so yeah after a couple of minutes we have something that you know sort of already looks like a front page so you're able to very quickly put that together so another thing you're able to do is to provide your users with a menu of styles to apply to these widgets if you click the little paintbrush guy here you get the available styles these three are provided by the Panopoly demo module they all look terrible we can make it be blue light blue lime green that's probably the most terrible we can make that look but these are things that you create for your users you can create them in your theme you can create them in a module there's a module called stylizer that allows you to create these styles using a point and click interface and so you are able to give your users some control which they like but limit it to things that you know are going to look good so yeah like I was saying earlier the things that Panopoly provides are basic internet stuff like it's a blank slate but if you're creating like a distribution for musicians there's a lot of things here like add discography you know add album listing like you're able to customize this to be the type of experience you want to provide return to the slides for a moment yeah so the most advanced use case of Panopoly is creating your own custom distribution and we won't be going into that today since this is more of a beginner session but if you're interested in it come talk to me or come to the sprint on Friday but we'll speak to it briefly right now you know Panopoly guides distribution development it provides a set of best practices for the low level stuff like creating your make file you know how to structure your modules, how to build your features how to create your custom things and integrate them into the same customization platform that Panopoly is using this slide is sort of a thought exercise for the more experienced site builders here this distribution is Open Academy which is built on Panopoly but let's pretend for the moment that it isn't so this distribution allows department websites to list what courses are available news, events and it provides this view this course view if this were a normal Drupal site with this view how and the user wanted to customize it and add some text up here between the course title and the actual listing you'd go into views edit it, create a header area and put the text there that assumes that the user who's using this knows that this is a view first of all and then it assumes that they know how to find where to edit views and add that header area and that's workable you could train your customers up enough how to use views to do that but what if they want to add a video here like show some video with their students smiling come take our courses it accelerates to a point where it's difficult to explain to them how to do that in the Panopoly model which Open Academy actually does instead of creating views pages you would create all of your views as content panes and place them on a panel so then for people to extend it like all of that stuff comes from Panopoly they just come here, click customize page throw some text in there, throw a video in there remove some of the fields so it allows them to customize the changes that you create for them within the same sort of WYSIWYG model so here's some distributions built on Panopoly we talked about a number of them earlier demo framework actually only uses like a module or two from Panopoly but that's totally a valid use Open Church for building church websites for building restaurant websites push tape for musicians MVP creators a pet project of mine these last two are really interesting examples they're both internal distributions I don't know like if web experience toolkit would be useful to you not being the Canadian government right? but it's really cool that they open source their code to let us see how they went about creating an internal distribution quick shout outs Matt Cheney is the original creator of Panopoly and co-founder of Pantheon Systems Tom Kirkpatrick co-founder of Systemseed you know we're the maintainers right? but a lot of the credit goes to the Panopoly community we have a really active community on the issue queue our job is really to review and commit the stuff that everyone else is creating yeah so please join us on Friday for the sprint if you can sore again for rushing through the end of that and all the technical problems oh and I'm supposed to tell you to evaluate my presentation on the Austin Drupalcon website please be kind and we have time maybe for like one more question uh oh so so there are the question was about Panopoly apps and there are a couple of apps available it's not a very developed ecosystem we'd like to develop it more actually I'd intended to call on someone over here so when Panopoly was originally being created there wasn't a WYSIWYG in Drupal 8 yet and TinyMC was used and still is used by WordPress so the initial WYSIWYG was modeled after the experience that WordPress gave since they do have a very good content creation experience ok thank you everyone