 Hello, DrupalCon Prague. My name is Matt Cheney. Thank you for sticking around to the very last session of the conference. I hope you guys had an amazing time. Did everyone have a good time, DrupalCon? It's one of my favorite times of the year, and it's super fun to be in this awesome big room. So hopefully we'll bring the energy to fill the place. So as I said, my name's Matt Cheney. I work at a company called Pantheon that provides a development platform and hosting services for Drupal. And part of my role there is to make sure that Drupal distributions rock. That I believe very strongly that Drupal will run 10, 20% of the internet. And I think the way we get there is by having prepackaged starting states and out-of-the-box solutions for common things that people want to have for websites. I write a lot of code day to day. I care a lot about making sure that that code is good and that the people who use it is good. I know a lot of you are in the same boat. But part of what I'm trying to do with Panopoli and what I think Drupal should do as a platform is to focus on the site builder. That these are the people that make most of the websites and the world today, probably most of the websites in Drupal. They're not implementing complicated hook systems. They're not writing a lot of custom code, but they're making websites that push their ideas out there to the world. And this is really important to me. I didn't go to school to be a programmer. I went to school to be a librarian. My interest is in organizing information, having people tell their stories online. And that's why when I look at tools like Panels Module, for which I love, this is a tool that with a little bit of cleanup, I thought really could be the kind of thing you could hand over to people who aren't technical coders or don't want to write code, but still want to control their layout to edit rich text content, to provide a lot of plug-and-play functionality so that they can go from having not a website to having a full website that they can show off to their friends and family, followers and everyone that cares about it. And this talk, as you might imagine, is about Panopoli. It's a base distribution of Drupal. It includes a bunch of different modules and a bunch of different features. We'll talk about most of them in the next hour or so. And we'll do a pretty good live demo, which we can all cross our fingers, works the way it should. But I think just sort of to back up the first session of the conference I went to was the Drupal 8 site building, site building session by Swento, which I thought was excellent. All the stuff I'm gonna show you is in Drupal 7 today, so I was really excited to see some of the site building tools for Drupal 8. It's got a lot of improvements for adding new fields into core. It's got the ability to have plug-ins and fieldable blocks in core. It has a WYSIWYG. It has content administration improvements. And this is the kind of stuff I think when Drupal 8 comes out, people make Drupal 8 a really awesome platform for people who are site builders to build stuff. And if that stuff that excites you with that stuff you saw and be like, man, that'd be awesome to have today, Panopoli is very much that solution. Panopoli is for the site builders and for the folks who want to make distributions because out of the box, Panopoli does a lot of stuff. And that's really important because most people don't want this thing when they talk about wanting a website. This is, as you might guess, Drupal out of the box. This isn't something that looks like a website. This isn't something that makes it clear what I need to really do to do anything other than maybe add a piece of content to that front page. And it's not the kind of thing that I can use on my own. I need a lot of other contributed modules. I need a lot of other custom configuration in some very dense administration pages. And I really have to work. I have to work to make this thing a website. And that's a problem. That's why less than 1% of all the Drupal downloads actually turn into websites. These aren't people who downloaded Drupal because they didn't want a website. It's because they downloaded them and they had problems installing it or they got it, they couldn't configure it or any number of other things. And that's why solutions like Joomla and WordPress have way more installs than Drupal does because those are honestly easier products to use for people who aren't professional developers who aren't gonna start down to write code to make every website. And that's why I've been really excited over the past few years that we're actually seeing things that look a lot more like websites coming out of the sort of Drupal distribution space. So this is something that looks a lot more like the kind of thing if I wanna download an open source product to actually go out and have a website that I might want. This is open public from phase two. They do a lot of government sites. They packaged up sort of a government site into a box and they have this thing. You can download on Drupal or you can check it out. And if you're making a public government site, this is what you wanna start with. This is way closer to what I'm gonna end up with if I'm making such a site than this sort of like blue kind of madness right here. And that's true for things that are like, hey, I want a government site like this. It's also true for common functionality I need. This is commerce kickstart, one of the best distributions in Drupal. It gives you e-commerce power right out of the box. Like having done a lot of configuration in Uber car and Drupal commerce, this not necessarily like the kind of thing that always will be super intuitive to someone who doesn't build websites. That's why having things like commerce kickstart that give you that store and that catalog and that cart and checkout experience right out of the box is way powerful. Because if you're sort of sitting there as someone new to Drupal and you're at this screen and it's like, okay, I have this, how do I turn it into a store? You go to a, you know, ooh, look check on Drupal 23,000 modules, I guess one will do it. That's way too much work and it's way too much work for new people. And that's what I care a great deal about in Drupal and beyond, people learning and improving their skills and using this technology, we all work so hard to make great and actually turn that into a thing. So that's why I like things like open public. That's why I like things like commerce kickstart. And that's why I like working with people who want to build solutions for their people. This is a website from the University of California, Berkeley in the United States. This is someone, universities have a lot of websites they need to build. They have a common set of design elements, this golden blue, our Berkeley school colors. And they wanna be able to say, hey, we need this site, here's an easy way to get going. You can spin up a site very quickly, you can have all this functionality of the box and it looks like it should look, it has the functionality it should be and that's where to get going. And this is how we increase the numbers of people using Drupal sites. This is how we attract more new people. And this is how we legitimately have better solutions in Drupal. Because like I've been saying, like users want something really great out of the box. They wanna be able to start from the absolute highest level that they can. They don't wanna redo plumbing every time. They don't wanna have to do a lot of the repetitive work. They wanna start and start raking their content and working on their design. Because that functionally is what people are expecting to do with tools like Drupal and open source tools. And that's sort of what I think we can get to as a community. And that's what Panopoly and distributions I think do. Because this will help you for a single site because people want really great stuff out of the box for a single site. But they also wanna get clone the box and have lots of different sites that sort of work and function the same. One of the things I see a lot of my job at Pantheon is that we host tens of thousands of Drupal sites for a lot of different people. Many sites are just one developer or one organization they have their site they're working on. But we're increasingly seeing a lot of organizations and universities and companies. They don't want just one thing. They want a hundred of them because they need to have various web properties to address all the different educational or business or organizational needs. And that's why having a distribution to Drupal that you can just sort of click and it spins up something great really helps people sort of make that all happen. And that's something that I think is very much what Panopoly is trying to empower and what I think presumably a lot of you in the room either want to do or have done. Because lots of people are doing this. You've got a lot of universities that have their own distributions out of the box. So anyone university can have that university's website. Yeah, I've got governments like the Canadian government. They have a version of Drupal that they can spin up and has a lot of their multilingual and like various other kinds of features. You've got media organizations that have their sites and you have a lot of Drupal companies and other kinds of organizations that are making solutions in this space. And we're seeing more and more of them every year. We're seeing stronger and stronger business models for them every year and we're seeing Drupal distributions end up taking a serious amount of interest and being a substantive part of the Drupal ecosystem. And I think that's really good because we've got about a million Drupal sites in this world and that's very cool. But Drupal I think is destined for really bigger things. And I think what's much cooler than a million Drupal sites would be obviously a Justin Timberlake approved billion Drupal sites where we have everyone in the world who doesn't have to struggle writing custom code who doesn't have to worry about having bad tech who could have a really awesome Drupal experience but make it easy. That Drupal should be as easy to deploy and to configure as it is to get a Facebook account. Facebook has a billion billion users. Drupal could absolutely get to that point because everybody needs to, you know, more and more people need to get online and I think it's sort of part of Drupal's destiny to run double digit percentage at the internet. I think distributions get us there. Here's the problem. It's hard to make a Drupal distribution. It's hard to put a lot of this base functionality in play that this is one of the problems that I had worked on. I've worked on a number of different distributions in the Drupal space. I'm doing a lot of reinvention. I'm creating a WYSIWYG from scratch a bunch of times. I'm doing a lot of different layouts over and over again. I did that when I was a site developer. I do that working with distributions. There's a lot of repetition. And I think one of the things that opens for software in Drupal is really good at usually is bundling that kind of stuff up and saying here's a solution. We can sort of do it once and then everyone can use it. And I think that that works really well on a granular level. Like you can have a module that does something and that can be reused. I think it's way harder to do it when you talk about higher level features. Things like WYSIWYG out of the box. Things like common layouts. Things like any kind of sort of functional piece you want to sort of add. And this is where I think, Panopoli really comes into play because Panopoli is designed very explicitly as a base distribution. And it works something like this. We've got Drupal 7 core on the bottom. Obviously we're using that to power all the magic that goes up. We've got a set of contributed modules that are used, things that I'll share with you. Some of which you'll recognize, some of which maybe not. And those are sort of the glue that sort of keeps it all together. But what we have sort of above that are a set of like these common Panopoli features which I'll share with you and demo with you to show you sort of what this does. But that these are things that live on top of Contrib. These are things like a fully loaded WYSIWYG, a set of layouts, a better admin experience, a bunch of little content widgets to add images or maps or table data or whatever to your site. And that it's the kind of thing that like really sort of is Drupal++ in the sense because you've got the Contrib and you've got these extra features. What's also super important of course is that the Legos keep going, that you can throw additional stuff on top, that you can take Panopoli and you can extend it out there. There's about a dozen distributions that I'm aware of that are sort of serious using Panopoli to do just this. Including Open Atrium 2, the Drupal 7 version. It's got Panopoli sort of as its foundation and it's going off and building all the really great Atrium features that it has on top. And that's great for them, for Phase 2 out of DC, because they can take the kind of stuff that's already done in Panopoli, WYSIWYGs and layouts and admin experience and the rest and say, okay, this is great, let's contribute to this, let's help fix bugs, let's help add small features, but let's have our expertise in Drupal distributions happen at the top of the stack. And I think for folks in the room who've come sort of wanting to build their own distribution, I am definitely gonna run through how to use something like Panopoli as a base distribution, how do you get it in a Drashmake file, for example, and have it built. But I would say that if you're gonna start a new distribution from scratch, just don't do that or at least try an approach I'll outline today by starting with the Panopoli framework and then moving up from there, because it'll save you a ton of time and energy in terms of getting everything up to play. So you wanna try this out? I'll show you this, I'll demo it, I encourage you to go back and check it out. It's a project on Drupal.org, Drupal.org slash project, Panopoli. You can download it, it's a fully built version of Drupal, you can just pull the tarball and install it on your web server, get your, put it in version control, set up a DevTest live environment, get Redis and Varnish set up, do the APC, MySQL tuning and get everything sort of ready to check it out, that's pretty straightforward. You can also try this as my company Panopoli, or Pantheon, you can go to this URL, get Pantheon.com slash Panopoli and we'll spin it up in the Pantheon cloud if you just wanna check it out, which is also a really straightforward way to try it. If you have it, feel free to bust a laptop or even iPad, it works reasonably well on that and follow along. So here's the deal, Panopoli is a bunch of stuff, but the first thing it is, it's a way to sort of enable and coordinate a bunch of contributed modules that don't always play very nicely together. These are some of the modules that are bundled with Panopoli, as I said, some of these are obviously gonna be recognizable, views is pretty common for sure. But you've got other stuff in there like FAPE that's a little bit crazier or some of these admin UI modules, admin views or save draft or link it that maybe you're not familiar with. And these are things that all sort of, I've looked at all of this code, I've tested and integrated these modules together, I've worked a lot of patches into these modules to make this kind of stuff jive together and really specifically work with panels and the panels framework. But that sort of, Panopoli, when you turn it on, it already has this code running in the right versions with any appropriate patches and it's sort of all coordinated. And that's something from a distribution perspective that's really helpful because you know and you can assume that you have things like the date module or the link module already there. So if you're building on top, you don't have to go include that too. And that's something that Drupal 8's gonna make a lot easier for all of us because a lot of these modules are gonna be or are already in Drupal 8 and that'll just make it a lot less like, contrib to put together. But that for now in D7, this is a really good solution to get a lot of this stuff there. Obviously central to Panopoli is panels. Panels is, as I said, a brilliant module but has a ton of administration sort of complexity. It's sort of a developer tool UI that isn't necessarily the friendliest to end users. And one of the things that I've tried very hard to do with panels is to take the sort of best sort of framework part of it and then put a sort of end user kind of front end on it. So I'll show you this in the demo but that it's sort of trying to make the panel stuff really work for end users. And it's not just panels specifically, there's also panelizer and fieldable panel panes and page manager existing pages and other modules in the sort of panels universe that all get bundled together. So folks are like, use panels and really like it. Panelizer is a really great module to check out as well. Fieldable panel panes as well. They all work together and they power most of the functionality that I'll show you today. Second thing that Panopoli does really well and saves I think a lot of people a lot of time is to define common layouts. Things that maybe as a, you know, theme or you're sort of building from scratch each time or modifying existing stuff but you sort of have to, when you look at a comp or you have a sort of idea for a site you have to build that layout in that way so people can check it out. Panopoli sort of ships with 31 layouts out of the box. They're all cross browser obviously and then they all have responsive logic in them as well. And these are things that just when you turn on Panopoli you get it's really easy to change between the layouts and that as you build stuff on top of it you can sort of assume all of these are there. And that's super nice because Drupal core and sort of the architecture in Drupal 7 doesn't really let you have these sort of like first class layout plugins that exist and can be used. It sort of delegates that to the theme system. Panopoli sort of takes it back and says, we're gonna play sort of control the content region which is most of the page. We're gonna let you switch layouts and we're gonna let these always be available so you can have any node use these layouts, any page use these layouts and really sort of jive with it. And that's something that like, this is in its own module, Panopoli layouts. Most of the stuff I'm showing you is sort of modularized and can be decoupled from the larger system. So if there's something you see here like, oh man that WYSIWYG is awesome I wanna try that. Like you can just use the Panopoli WYSIWYG module either in your distribution or even in your own sites that you're building and you'll get that functionality. There's a lot of work that's been done to make sure you can sort of pick and choose the stuff you want. A lot of people will sort of pick up the layouts and just roll with those. But there's sort of one of these things. This covers I think about 85% of the use cases that like I've seen as a sort of site builder sort of developer. It's, you know, that may or mileage may vary there but it's definitely gonna do a lot for people to get going and that all of these layouts are relatively easy to replicate. They're all using sort of the sort of C tools, panels, layout, magic. So if you see one of these that's close it's pretty easy to copy it and modify it to what you want but this hopefully covers a lot of what you're trying to do. You get that all out of the box very straightforward. Third feature is search. Drupal search as many of you are familiar with is relatively basic. It's designed to sort of work on any framework so it sort of does lowest common denominator stuff. MySQL full text index search kind of thing. It doesn't have facets. It doesn't have a lot of customization that's possible out of the box. And that's just limiting for people who want to have really interesting search sites. As I said, I went to library school. I care a great deal about organizing and searching information. And so when I see stuff like search API which Panopoli bundles and I think is a great module you have the ability to do much cooler search interfaces. And so Panopoli sort of gives you that default one right here. And this is just a basic sort of version of this. We see the list of results. That's a view you can customize in a panel pane. You can customize and you've got a facet on the right. And you can obviously go however you want with facets. But that Panopoli is sort of smart in that it supports obviously, so search API supports sort of the normal database search. So if you just turn it on with your MySQL database you'll get the faceting and you'll get that kind of stuff. It also has a sort of Apache Solar search API integration as well with some like conditional logic there. So if you spin it up on Pantheon you get a solar instance that automatically configures to it. If you have your own solar instance you can sort of configure that as well. And it'll just sort of work in solar world. But if you lose solar it'll default back to the database. And that's sort of a smart logic just to get search up and running. It's something if you've had to build a custom search page can take some time because it's search API, search API, solar, facet API and then all that configuration. This just happens out of the box. It's Panopoli search, it's a feature. And it'll sort of work. And that's a really great thing that you can get on your site if you're sort of jamming on a Panopoli. Fourth feature is probably the bestest of the features at least in the Drupal 7 world because we don't have a WYSIWYG in core. Setting up a WYSIWYG is sort of tricky to do. It's not that crazy to get like a basic WYSIWYG started. You know, WYSIWYG API, JavaScript library, you know, apply it to some text formats you're good to go I guess. But to actually do a WYSIWYG really right requires a fair amount of work. So this, you know, this has a sort of special theme that's put in so it looks a little better. It's got button configuration that was extensively user tested and refined which basically just involved me copying word presses. It's got media integration with media modules. You can like pop in and out images or videos really easily. It's got this caption filter magic so you can actually upload images. It's got image resize filters you can resize them and then you can, you know, have a lot of fun with all of that. Got tons of different cool markup and tags and attributes that get all passed through but it's got WYSIWYG filter module to actually make sure that we sanitize that information so you're not sort of full texting everything and letting people do cross-ed scripting attacks or other kinds of security considerations that the WYSIWYG itself sort of tries to, you know, give you a little bit of power you have but not give you too much power and that's really helpful. It also has a sort of backup option if you're not a WYSIWYG person that it'll have a sort of like mark-down filter that you can sort of toggle between and I'll demo that, demo that in the demo but the idea here is that this is the kind of thing that's got five modules, a bunch of config and takes four to eight hours to set up if you've done it before and this is something you sort of just get out of a box with the Panopoli without having to really work for it which is awesome. That sort of sits within inside a larger sort of admin page looking, you know, closer to what the Drupal 8 admin experience will be which is much improved. Looks a lot like the WordPress admin experience. Nothing super revolutionary here but like the positioning and prioritization is important. So the title field is twice as big as the other fields because titles are really important. The URL which like Path Auto typically is gonna hide in a field set at the bottom of some sort of tabs is prioritized because when I'm making a new page I wanna like pick the URL right then and there. That's very important to a lot of folks and that the actual options, things like, you know, having it be, I have menu items or authoring information or are sort of offset to the right so that everything on the left is your content, everything on the right are sort of options around your content and that's the kind of thing that sort of as a site editor who's just an admin I can benefit a lot from this kind of thing and this is even an older version, I'll show you in the demo, we've got this Save as draft module that sort of prioritizes the sort of, you know, save and publish buttons as opposed to having publish be just a little bit you check and that's awesome just because this makes people's lives easier and obviously this is a panel page and is very editable and that's very awesome for a lot of the folks who just wanna sort of have an easy experience editing content. Other feature which maybe one of my favorite features is the ability to create a sort of landing page. Drupal obviously lets you create a page which is a content type but that's nothing more than just a body field that you can sort of muck around with. That's not to me a landing page. A landing page is something that has a sort of rich set of layouts that has a lot of options to add or remove stuff and this is the kind of thing that panels is really good at and has historically been very good at. Folks who are familiar with panels probably use it for the front page that's one of the most common options that people use for panels. This sort of works all within side of the normal content creation workflow. So you'll see in the demo you wanna create a new piece of content. You can pick a content page which is just normal WYSIWYG or you can pick a landing page or you get this kind of interface. Give me a name, give me a path, add it to the menu if you want and then have something that you can start to play around with and customize as a landing page. On the back end it's making you a panel's page setting up that call back and it's doing the configuration but it's not something that you have to worry about as an end user because the back end panels can be a little scary. This happens all on the front end and it sort of just works. And what makes that even better is that this module for panels called panels IPE which sort of extends the panel's functionality to sort of be on the front end immediately gets to be able to be used to customize that landing page and any other page on the site. So this is sort of the future if you use Panoply 4 this should be pretty familiar. Every page has a sort of like black bar at the bottom where you can customize the content or change the layout. This is something that really makes content editors and site builders lives way easier because you have this visual connection between the stuff you're modifying and you have the stuff that's on the page. It has the styles that you have it doesn't have to abstract it. Because Drupal I think having worked with Drupal for about eight years the piece that really is very frustrating to me is that Drupal like you'll sort of fiddle something over here on an admin set screen or in code and then something else will pop up over here that does something. And if you know how that works you think you're freaking doing magic all the time because you're like do-do-do-do and then it like does it. But for people who like don't know that pattern it gets super confusing because they're like touching stuff here and it's changing here and they don't really understand and having that kind of immediate customize this page move stuff where I want for this page save for this page is super good as a workflow because they don't have to like lose context that way they don't have to have a magic quick tickle here and pop up here kind of experience. And that's the panel's IPE module that sort of brings panels to the front end. So if you haven't seen this before but you've seen panels and you're like whoa that's crazy this is way easier, way better and hopefully we'll impress you or convince you to try it. With inside of that Panopoli makes it easy to add content to all these different pages. So when you sort of customize your page you get a lot of blue areas for your regions you can add new stuff to it. This is using the fieldable panel panes module. So if you wanna say add an image to a sidebar region doing that in Drupal like core without sort of some of this extra stuff is actually sort of tricky. You know if you wanna add an image to the sidebar you have to figure out how to get the image onto the site you then have to reference that image using some sort of like HTML logic which you'd have to write or you'd have to like use some other modules sort of put that image in the sidebar then you have to use the block UI to sort of get there which has its own sort of set of complexities. Panopoli stuff makes it real easy. See a region, hit add, pop up the screen of the different things you wanna add to your site pick the one you want, upload your image and go. Has some nice responsive properties on the CSS on that image has the ability to drag it around to different areas. This is super cool because this is when I'm thinking conceptually about like building websites like I'm thinking about here's this Blake canvas I wanna add this thing here and that thing here and those things aren't like block callbacks with a markup those are images and text and maps and videos and the like. So this is something that really makes folks lives easier on top of having this customization sort of possibility. So a lot of the stuff in Panopoli once you've added it or while you're adding it you get these sort of customization screens where this is a view in question and you actually it's a little washed out but you can sort of see there's some options here around like sort order and like number of items and which fields to show and some titles and stuff like that and that you have sort of this preview on one side the options on the other side and you're able to sort of pick the thing you want hit save and then it's there and this is something that I think makes sort of the experience for folks who are a little scared to sort of click buttons and hope it works to sort of give them a lot of confidence and that you know in general sort of bringing it back to the distribution world that Panopoli provides you sort of vis-a-vis chaos tools plugin system honestly but sort of in general it gives you this sort of golden path it's like road to how to make sort of your distribution or how to make your site that when I'll sit down and sort of make a small website maybe for a friend or something and I'll use a Panopoli sort of base my thinking when I do have to go into code is not about how do I custom magic this but it's like which style plugins do I need from to add to make the design be able to be flexible what layouts do I need to add what kind of content like plugins do I need to add to sort of put this all together and that sort of the mental map of how you build sites changes from a lot of sort of custom logic to sort of this very formalized sort of plugin system within chaos tools and that's great in the Drupal 7 world we have that it maps not like immediately but it's conceptually sort of similar to how Drupal 8 will do its plugin system and that's super awesome because that standardizes the approach and it also forces some reusability and some best practices so a lot of stuff on the Panopoli sort of docs and Drupal.org which I definitely invite folks to check out there's a lot of explanation on how to build Panopoli apps how to use some of this chaos tools stuff on top of a large corpus of stuff on panels of chaos tools in general and that becomes awesome because with sort of the Panopoli bit and a little bit of your own sort of thinking of what you want you can go from having sort of not a website to having a really awesome website in just a few hours and that's sort of cool I've actually done this sort of a Panopoli talk at some Drupal camps and I have slides which I'm showing you now which I think is helpful to sort of get the overview but I did one in Drupal camp Sacramento and California the US where I was just like well you know I guess I could sort of show it off but I've seen some of you before you've seen my larger talk I'm just gonna rebuild the camp website in like that in that like 50 minutes I had and I just sort of said okay here's the schedule page with the landing page I made a table view here's image gallery for people here's a front page and it more or less worked which was sort of cool and that's where I think like that power plus some of the extra stuff you have really lets people make stuff fast and that makes things go live and that makes everybody really happy so okay so that's sort of like the things it does so you want to use this yourself well like I said download from Drupal.org try on Pantheon you can use it for make a site you want to make a distribution for making many sites well pretty straightforward the first step is that you need to sort of have start your distribution on Drupal.org we have a Panopoly based distribution starter kit it's like not very much code it's basically a light info file a light make file and a light profile basically it just says include the like nine modules Panopoly has and then some logic to include their dependencies and that that'll sort of turn on Panopoly in your own sort of namespace my distro in this case and that so you work for university you want your own distribution you sort of name it your university name or whatever dot info dot make dot profile and you get going and that will give you all the properly stuff and then you sort of just want to add a couple custom things so maybe you have your own theme that you're bundling put that in the make file add a couple bits of logic to enable the theme and make it the default and suddenly you can go from having that sort of wonderful blue bar tick to having your own university branding a lot of folks already have themes that they were using turning it on and install profiles pretty easy and that's something that that sort of makes your sort of custom distribution rock because now you've got the same Panopoly content I'm a vegetarian so I use a lot of vegetable stuff so you have all these vegetables and like veggie lipsum but it's sort of your thing you also then can add additional modules either things that are custom for your case or you can add other Drupal modules that you think are there so in this case university's adding a sort of feeds a feeds module to pull in some sort of data feeds from the university wide and enabling their sort of single sign on CAS module just so when folks spin up the distribution they have single sign enable which is awesome but that like once you sort of do that you take the starter kit you maybe enable your custom theme you add a custom module then you just Drush make the thing and now you've got yourself a distribution and that like it you know Drush make is magic and it'll sort of dependency build all the different stuff and you're sort of off to the races Drush make is also great for folks who have used it or want to check it out in that you have because it sort of has this recursive property where it will look for the Panopoly stuff and then look for the stuff it depends on and sort of put that all together that you have a lot of granular control over stuff so if a new update comes out for a module Panopoly will update eventually with that module but you can sort of update it ahead of schedule or you can add a patch that you specifically need for your use case or you can even remove stuff that you don't want and that gives you a lot of sort of control for your own distribution so I would say instead of trying to like dive into the distribution space head first and say I'm just gonna start from a blank canvas and just figure it all out starting from something like this helps you out a lot and I think that's sort of the point of open source and that's sort of the point of Drupal and so that's sort of generally what's going on so let's check this thing out and sort of to show you this it's a live demo so that has its own considerations I sort of need to see that too okay thank you sorry I've got to put this in mirror mode because I haven't quite scripted the whole actions okay so I've installed Panopoly in this case on my local machine which you'll see in just a hot second and it's nothing it's just the only thing I've done here is I've turned on the there's like a demo let's see if that looks right a demo module and that's something that can sort of have exposed your functionality uses the default content module which is nice although maybe not best okay bing enter full script okay so bing I can see it I was gonna see it um I would envision a blue screen with some vegetable pictures and a title that says Rubo Khan Prog with this awesome Panopoly like logo that I made that has the various building blocks just like that magic okay so this is Panopoly installed out of the box I didn't do anything here other than turn it on I did turn on all the extra modules that's really awesome um and so let me walk you through these features and try to impress you with sort of the kind of functionality here so first thing you'll notice as sort of promised on this page and most of the other pages at the very bottom we've got these two options for customize this page and change this layout these are things that I think sort of reflect the kinds of needs that a lot of folks would have so you'll see here we've got a pretty standard layout sidebar and main area if I go ahead and change it'll actually bring up a modal that gives me sort of the options for the various layouts I have as I said there's 31 of them they're all right there and you can sort of see um it's a little it's a little light but this this one has a sort of background um to it that sort of indicates that's the active layout well so that's a cool layout but maybe I want to see what it would look like sort of the other way so it's just a simple matter of sort of picking that that version making sure it works and it sort of flips it around on the page for me and that allows me to sort of check it out and be like oh yeah well how does that look for my site okay maybe that works maybe I want to have it be you know a little uh little narrower and it'll it'll sort of go down that way and this is the kind of stuff where like changing layouts for individual pages like by default is sort of tricky to do in Drupal this provides that ability sort of just in the UI I haven't gone to the admin part of Drupal site and I probably won't unless I show off some of the sort of nifty backend things but that almost everything that probably does does on the front end it does for end users and that's sort of the point so change the layout that was sort of cool customize this page is also quite nice so what this is gonna do is this is gonna say okay within the layout you've got a set of regions in this case we've got a sidebar region and we have sort of this main content region and what it lets you do is it lets you sort of say oh well within those regions I can drag stuff around or move them between areas you know maybe I want my search right there and I can go ahead and save it and that allows for reorganization and this is something that like just if I'm sort of looking at a site maybe with a client or just talking about it to myself and thinking oh what would be really great having the ability to sort of like move stuff around in real time and sort of see oh well how does that work can be really awesome because you know you have these sort of needs and sort of experiences when you're thinking about the site but if you gotta go back into the block visibility settings and like drag a bunch of things around and change some like regions and logic it can actually cause you to have a headache but this is something that makes it easy it's pretty easy to get rid of stuff if you don't like that you just go ahead and poof there it's gone you still have in your library of things you can add so it's not totally gone but it's sort of available to be removed there you also get the option that's sort of promised to configure this thing so this is a small list of items if I hit customize it'll bring up that screen I showed you earlier and as I said this is a view display views and panels actually has some sort of nice integration between the two they're both written by Earl Miles Merlin and Chaos and so there's a sort of click code path that connects the two together this is something that sort of gets exposed here in the modals in a way that actually is pretty nice because I can say oh well I don't want to see images but I do want to see teasers and I don't care when the date is and you know maybe I only want two of them and you know I can pick the sort order or whatever and that's something that I can sort of go ahead and save and it's sort of changed that fundamental display and that becomes something that's super powerful because people really like to have that kind of control and have those kind of needs and this is just obviously the demo content with your content you can sort of configure and customize that will that's for a view that has a field view you can do the same thing for this is sort of a content view sort of node view in this case entity view and you have here these are actually the view modes that are set up view modes are really great as a sort of form of Drupal site building and Drupal development obviously normal Drupal comes with default and teaser penoply adds this feature one that sort of has a little bit of coolness but you can sort of see this will turn it into a standard teaser mode and it'll actually go off and it'll sort of turn the content here into the teaser or you could do the full content if you want and that's sort of nice because now you have the ability to sort of configure and make your view modes as awesome as you want and you can use tools like display suite to really make this stuff shine you can then turn around with penoply and configure them you also get the ability to sort of with inside of the individual things maybe instead of having that you could even want to have a table view and so you could go ahead and structure your content like this so that you don't want the teaser but you do want the authorship and the date or something like that and you can sort of put your data like that and this is not doing nothing more than just switching on the view the display mode so it has table views which views does but that you can sort of do that all without having to sort of learn the airline pilot dashboard views interface although that's gotten a lot better recently but it's the kind of thing where if I don't if I haven't used it before I like probably will break it and this allows you to sort of have guardrails around what you're doing to sort of get it get it right the way you want which is sort of nice and that'll work you can customize more or less any piece of content you can also just in the this is this is the sort of landing page also the home page as you might imagine for individual node pages or user pages or taxonomy pages honestly any entity panelizer is a module that I mentioned earlier panelizer basically takes the kind of stuff that used to only work for like a home page and allows you to do it to any arbitrary entity so this is a node page and you can customize a node page the same way but you can see these are actually individual fields here and this is a menu block just doing the menu but using the fate module FAPE you can actually give it like a preview of just that field and you can adjust all your field settings settings right here or even change the content itself within the field and that's the kind of thing that like you know if you have going to sort of the back end to do this stuff that you sort of get it on the front end this works similarly to sort of like an inline editing kind of kind of feature the Drupal 8 will have but this allows for a little more administration helper around the edges because you can you know add a bunch more help text and you can have a bunch of options that sort of can pop up and using the same kind of interface preview options up here and various other things and that's sort of cool you also have the option typically to either save it so that just that particular entity has a new version like edit this thing save this thing but there's an advanced option that'll actually allows you to save that for all of it and it will actually create a template which is pretty cool so that customization is really helpful that's the kind of thing you can turn over to an end user and they can actually go change everything on the site you also get the option with inside of the individual sort of pains or content pains to change the design to them as I said a lot of universities like this kind of stuff because they have sort of standardized color palettes Drupal itself has a color palette for Drupal.org and part of the demo sort of module the installed actually has a set of style settings that map that color palette so if you want the dark Drupal blue you can sort of just pick a style plugin to apply this is a C tool style plugin it's pretty straightforward what I'm doing here I'm just injecting a class name but the idea here is that I can do this for all sorts of different stuff and this can work for various CSS modifications I can also inject JavaScript I can have additional customizations and the idea is that I can sort of make individual end users have the ability within limits to provide design decisions for the site and this is the kind of thing that'll allow sort of each site to be its own sort of unique snowflake but without having to sort of worry about having to like go into CSS to make these changes I can sort of do it right there and I can preview it I also, which you might have seen you have this option here where maybe you want tries blue and you can sort of look at it and sort of see inside of the CSS that it would look like what it likes if you don't like it you can obviously cancel it, it'll go back to green and that's the kind of sort of like preview before you go live kind of functionality that very lightweight solution but it's something that I think helps people just get a little more confidence because if you break your site that's bad this helps provide some guardrails so that's how the sort of homepage works that's how it works for user pages, taxonomy pages, node pages, et cetera if you want to go ahead and add a new one of these things one of the cool features is when you add content you get these sort of two options here option number one is landing page that's our option was content page which I'll show in a minute option two is landing page and that provides that functionality I showed before so we can go ahead and add what a page called Prague user path at Prague and make it on the top level so I'll hit go and this uses the like see you know the wizard to create the pages it's going on the back end to like make page manager know about this it's throwing it in the menu and you know long behold I have a page called Prague well that's not awesome but you know I hit customize and I can see I've got this one region for content I can start to add stuff too so we'll go ahead and add things and this is the ad interface if you want to add new stuff any of the sort of existing content you have so in this case we've got our demo items you sort of see up there you get a preview of what it looks like which is really nice and you get the ability to sort of pick those and then customize them or as mentioned you have the ability to create a bunch of different kinds of things so let's start with an image I'll go ahead and add an image I downloaded a couple for from the Prague world and I can go ahead and add this picture of Prague which is sort of nice this is the kind of thing that maybe if you had to do this on your own without these kind of helpers could be a little tricky this sort of just works now I have an image this could be a total page on its own but I want to add more stuff here so I'll go ahead and change the layout maybe I'll sort of 50-50 it and now it's smart it'll actually pull the image down just in CSS but it will sort of provide a little bit of sort of logic here so when I go to customize the page again you can see I've got I've got sort of an extra area there so maybe here I want to add some text go to my favorite Lipsum site Veggie Ipsum grab some text starting with avocado and go ahead and hit save and now I start to add some text and this kind of stuff is very cool because I can you know pick a lot of different things oh, sorry this is I don't know any addresses in Prague but I do know my address in San Francisco California and I can go ahead and sort of I can go ahead and add a quick map here and if you're doing something like you know trying to show people hey here's where we are what's going on it sort of provides a nice kind of experience here maybe that map I want to make centered so I can go ahead and sort of pick a layout that maybe has a sort of center well something like this and go like that and then I'll maybe put this to put the the text up here oh, text to text to text over here and do that which is sort of nice I also have the option for things like maybe this image I could go back and change it or maybe this is the kind of thing I want to reuse a bunch so I could go ahead and make it reusable and I can call it Prague castle and I'll go ahead and save that and I just made that reusable which means if I go back to the homepage and I'm sort of wanting to keep that piece of content I can go ahead and hit customize and hit add and I actually start to build a library of stuff that I want so I'll go ahead and just add that add that again to the site and this is the kind of thing that like as a content experience like person or as a sort of end user that I have the ability to sort of drop in and out pieces of content and I have the ability to sort of reuse them and that becomes really nice because that'll work for images that are common to the site that also will work for things like I can you have an option to to sort of add links to your site so this is nothing more than just the link module with like a multiple fielded link that you can start to add but you have a lot of ability here to you know sort of say hey maybe I have a list of quick links on the site that sort of always show up because I really want folks to go go to Drupal.org and maybe I want them to go to the Panopoly page as well with the URL and I can start to actually then maybe even save that as quick links add links and you know this starts to build a page that like isn't unlike the kind of thing that I would actually want to have on the internet representing this content and that becomes the kind of stuff that end users are asking for and clamoring for stuff that Drupal 8 will help them a lot to do but Drupal 7 really makes it difficult for them and that's true for the landing pages that I showed that's also true for individual content pages so just having a sort of body of the field I've worked with plenty of folks sort of as part of work that I've done where I'm trying to help them make a page and style it a certain way even turning on a whizzy way can be confusing for them if the markup doesn't work right or they want to do extra stuff and that having to try to teach them an HTML on top of having to figure out what's on their site can be like way too much this makes it really awesome so awesome page and I can go ahead and maybe put some more more text in here and that this is sort of the whizzy way interface nothing here from the basic line should be super crazy you can bold, italic, strike through, list, block quote, that kind of stuff alignment, some of the things but you also get the ability to drop in the media module which is constantly improving and changing Panopoli tries to take some of the sort of stabler parts of the module and allow them to be used on the site and so we can go ahead and just maybe insert a file here and there's the clock I'll go ahead and upload this this is going to drop this on the file system but also store this sort of in a reusable way and I can alt text and title text as I want and I can go ahead and add a picture of the clock which is cool because now I have that in my whizzy wig but maybe what I want to do is use this image resize filter to make it sort of smaller and then maybe I want to throw a caption on it best clock ever and I can sort of get this kind of functionality floated to the right even set up and that this is the kind of stuff that when I'm talking about whizzy wig and I'm talking about end users or blogs or kind of things that people really need to have because this is sort of straightforward I write what I want and I can either publish it so that it's like out there for everyone or I can save it as draft so that it's able for me to play around with it but isn't something that has to be public right now and that kind of stuff is sort of built in you also have there's this sort of kitchen sink plugin that allows you to have even more options for the whizzy wig that are hidden by default because some of these are a little more advanced or maybe not needed on a day-to-day basis and Panopoli Smart uses jQuery cookie to like actually store the preference so if I'm the person that likes the full bar I can get that all the time if I'm the kind of person who doesn't I don't have to see that also as mentioned obviously we're in whizzy wig mode there is an HTML mode as well the HTML mode is oh that's got the caption filter on it let's do that, let's do a new page and it'll give you the sort of gobbledygook from the caption filter but if I was to go ahead and add just a normal page and I'll give us a little bit of markup here oh the talax and you know I can switch I can actually start to see that logic right here in line and so nothing crazy here I mean this is just like normal HTML but the cool thing is that like I have the markup editor so I can actually sort of get you know helper stuff similar to how Drupal at work does it or maybe want to talaxize that it'll just give me a little bit of help but the idea here is that this provides both options for people so that you have the ability to switch back and forth without having to confuse people because some people like to write HTML some people like whizzy wig let's just give everybody what they want and this tries to do this other stuff here there's a lot of other things different modules do different stuff obviously there's the content creation page as you can see you know has the layout I mentioned you've got some options on the back end so you can actually configure which layout show up which content pane show up what reusable items show up and you have the ability to edit all of those your sort of administration pages are all views using the great admins views module that allows you to sort of because you know views is there you can make your admin content pages views that's something Drupal 8 would just do because it has views but not really can do that too it allows you to have sort of your this is my user page and it allows my user page to actually be a panel a customized panel page as well and this is the kind of thing if you've ever had to build like a dashboard or something like that for a client you can actually just give everybody a user page have it be something you can panelize up and then you can go ahead and sort of configure it but sort of you know meta level here is that like Panopoli has a bunch of features a bunch of stuff that people really like to do that like allow you to do things like make rich kind of pages like this and it provides that all in a way that's reusable by other distributions and by other folks so I've been working on this for about a year there's a dozen other people that like are seriously putting patches in and reviewing stuff and a lot of other people using this all around the world and I would sort of say for folks in the room who want to sort of check this out like definitely download the slides check out the presentation again specifically check out the docs and droop a org around the sort of starter kit and start to play around with this thing because you too can just sort of turn on your own theme and a couple of your modules and you can actually have this kind of functionality in your site that'll work for if you're doing a distribution that'll work if you have to actually go out and build a new site and you can even add the stuff to your old site if you just wanted that wizzy wig on your site you can just go ahead and download it but other than that that's sort of the magic of the monopoly there's a bunch more stuff that is there you can sort of flush around with but I definitely thank you all for your attention and seeing through the entire Drupalcon and hope that everyone will stick around for the closing session there should be a lot of energy and have a great time in Prague thank you