 I rarely ever download apps. I try to keep them off my phone, yeah. You know, I use Firefox and that's like it. I don't do them a lot with it. I was just telling somebody about Firefox, the developer edition. I don't think I've been using it at all. I mean, all the developer tools now with Firefox are really good, so... Yeah, but the developer edition has some really nice Java string. Yeah, well, me and JavaScript got an obviously eye to eye. That's exactly so. She's probably a good developer, yeah, yeah, yeah. So, when JavaScript grows wrong, I have the scooby. Yeah, yeah. And I just ping my mate who's a wisdom to JavaScript. And he thought, like, I think this is where I find a new method of coding that works. I think if I need anything else besides this browser... Well, what happened? I think I left it in the pub last night, so... I think that one might have been me. Might have been me trying to forward it, too. I need Photoshop. I can go and visit my friends, can't I? Yeah, between me and... I had a mere session. Right. Didn't you say you were going to be competing against me? Yeah, yeah, then someone's going to turn up after. Yeah, so why would I? I'm going by default. That's fine. I can push it back. I'll be louder than you. Yeah. It seems to happen every week now, doesn't it? Yeah. Yeah, it's a little bit... They sold display widgets to this Russian bunch who just inserted their own code to spare them. And then the auto-update brought it all in, didn't they? Yeah, it was an update because it's like 200,000 installs, but probably that means it's got like 4 million installs. Well, how many are probably how many Bitcoin as well? And then they did the same... And they did exactly the same and exactly the same Russian company from another business. Another... I don't know. That many minutes left. Okay. Hopefully the timing will be okay. Since it's unrehearsed, I do not know. You spent a lot of time doing those slides. Yeah, I know. It's all I did yesterday. The funny thing is, it's essentially... It's a lot of the same stuff from 2014. This is the triple kind of Amsterdam slides that are modified for this. So this is ages ago. Really? Well, now... Here you go. Yeah, I've actually been doing this version, this talk for in some way, shape, or form for about almost six years. Started doing it in 2012. I had retired it. And I brought it back when I wrote the Drupal 8 module. So, that was a good time to register around this talk. And you know, any chance to talk about my tasty back end in front of a group of people? I take. Yeah, the jokes don't get better either, so I'll apologize in advance. And after questions, I guess we should start now to start the talk. This is Drupal 8, the tasty back end, because Drupal got really hungry. So, this isn't what you're here for. You should leave now. Yeah, who am I? I am Jenny Thien. I work under the name of Delicious Creative. I'm a freelancer, even though it's just me. I like to use a company name, because that way people can call me up and say, hi, can I speak to somebody in marketing? They're like, yes, please hold. Hello, this is Jenny in marketing. Oh, no, yeah. Don't call me again, goodbye. I've been doing Drupal since like 2006 or 2007. I can't remember. And it kind of helps me become a freelancer because my old job, my old boss, was like, I don't want you doing Drupal. And I was like, I don't care. I like Drupal. And then I got sacked. And then I basically dedicated my life to Drupal ever since. And it's been far too long. I guess it started about Drupal 5 and all that sort of stuff. And now we're up to Drupal 8. So, it's been a long winding road. I'm actually upgrading an older, migrating of Drupal 5 into Drupal 8 right now, which is interesting. But it works great. Migrate's awesome. But I'm glad you came to this session Frankie is the best. That's all you need to know. And this is my new intro. I started the tradition a couple of years ago on my talks where I would say three random things about myself instead of going on and on about my developer crimes. So, this time I'm going to do three things about Frankie. So Frankie is a Jack-o-wala. So he's half Jack Russell and he's half Chihuahua. Frankie joined my family, so it's just me and him. December of 2016, so I've had him for over a year now. And yes, he is the best. He likes going up to the South Bounds. I live in Brighton and we go to the South Bounds a lot and do some hiking. And we had fun hanging out in this log for a while. And also last year, he was quite happy about this. He got to tour with Wu Tang, which was pretty amazing. And yeah, he had loads of fun. So, there's my three random things about Frankie. If you want to play along at home, there's a demo site, TastyBackend.com where you can check out all the stuff that I'm talking about. It was down for a long time and a lot of people kept telling me it was down. And I finally got it back on the line. And it's the Drupal 8 version now, so everything that you'll see up there is current, I guess the current version of the website. So, the philosophy of the TastyBackend. This is Aristotle, one of the great thinkers in philosophy, but you know, Frankie's a good thinker as well. So, the philosophy of it all is basically, Drupal's very powerful. And we can use Drupal to do all sorts of stuff. And that's why we love it. Drupal's great. We can build really, really, really complex things with Drupal. And that's cool, but we're not normal. It's the weekend, it's Sunday, and we're at a Drupal event. Most people are at home, like checking bloody marries, or having brunch, or doing something lovely with their families, or pets, or whatever. But we're at a Drupal event. And it's easy for us to use Drupal day in, day out, and know it's in and out, and know how things work in the administrative UI, which is built for us. But our end clients don't have that luxury. They're the ones at home right now. They're the ones that have to use the sites that we build. So we need to change Drupal to match it for what they are doing. We need to optimize Drupal for what they need to do with it, not for what we do with it. Because that powerful, all that power is, yeah, it's powerful. And it can overwhelm a lot of users, especially users that are brand new, to updating websites or dealing with websites in general at all. You show them a big complicated system. People can go, you know, people put up walls quite often, if there's something that they don't understand, they might refuse to want to learn something, just because it's too complicated. So it can be very overwhelming. So you got to lock it down. Right? Get rid of the stuff that they don't need. Lock it down. Your clients don't need to edit views, I swear. And Drupal provides a lot of defaults for us for content management. So all of the node forms come out of the box, so we can... add content and we have management screens for all that sort of stuff as well, taxonomy pages and menu pages. But the defaults are okay. But we can do better. Because the defaults to me seem like they're more appropriate for for us, for developers, for site builders, for the people that are putting it all together. The Drupal-y toolbar is great, especially with the admin toolbar. You can drop down, you can get anywhere in the UI really quickly. But that's for us. That's not for your clients. That's our menu. That's our way of getting around the site while we're building our sites. While we're configuring our modules. And that's okay. That's great. It's okay for Drupal to be a developer system. It's okay for Drupal out of the box to be optimized for us to use it. Because Drupal isn't a CMS. It's a toolkit for building a CMS. And that's a very important distinction that people always tell people that are new to Drupal in difference between other systems. It's not supposed to be anything out of the box. This is why we have distributions. So you can choose what you want it to be out of the box. But then you can also easily modify all of that. But Drupal, by default, standard install profile, or minimal install profile, or whatever, it doesn't know what you want to do with it. So it's up to us to be the ones that create that. And if you're only providing user one access to your client, you didn't do it, you failed. The amount of times I've had to go work on sites, they say, okay, Login, what are you guys using? And everybody in the company has user one access. That's really dangerous. It's not streamlined for what they need to do with the websites. Once again, chances are your clients don't need to edit views. Chances are they don't need to be configuring all the modules that are on your site. It actually, I find it just seems to encourage people to share account details. So you're creating a website and you say, here's user one, here's the master login, have fun, and then they don't really see that they can manage other users or anything else. And people just go, oh, you need to work on the site now? Somebody in a different department of the company? Well, here's the login details when you find that everybody is doing that. No, no, no, no, no. Bad news. So we must try to help everybody to manage their own sites. Because the people managing the content can simplify how they add content. You can simplify how they manage content and how they get around. And it's easy. You don't have to do anything. But I recommend modifying to suit your needs as well. And here's Frank, I'm getting a toast to you back in. My office is freezing. And he likes to stand in front of the fan here. I don't know why one day he just, like, pointed his bum at it. And that was that. So there is now a Drupal 8 tasty back-end module. Drupal 7, I attempted to it works in Drupal 7 as well. It's not on Drupal.org because it was kind of a collection of modules. And I often recognize people use it with an install profile. There's a tasty back-end install profile for Drupal 7. In Drupal 8, it's just one module. You can bring your own install profile. In Drupal 7, I used it a lot as a base and I would modify it for install profiles I was making. I like building all my sites as install profiles. As you can tear them down and rebuild them at any point. But now you don't have to do that. So if you're using your own install profiles or you're using other install profiles that are out there it works great out of the box with it. And it also means that the core administration pages are left alone. So all the defaults that Drupal provides for managed content screens and users and other things like that are still there for us. And tasty back-end trains are completely separate UI automatically for your clients. When you're installing the module it has a lot of dependencies because there's a lot of contrib dependencies needed to be able to modify how Drupal Core wants to do things for tasty back-end to work. So Frankie installs it with Composer. I don't know how half his face got sucked into terminal there. But it kind of looks like a tip. So I recommend that. Tenses are probably using Composer with Drupal 8 anyway. So if you just require tasty back-end it'll install these numerous dependencies for you. I thought it was quite easy. So creating content this is what people are often coming to me saying we want a website we can manage ourselves. So once again your clients are configuring modules your clients primary concern most likely is managing their own content creating their content. So this is everything for them. This is why they ask you to build them a website. So tasty back-end provides a content admin role. This is a user role dedicated for people whose primary purpose is to manage content on your site and chances are that's going to be your clients. By default Drupal basically just dumps out a bunch of fields onto the node pages for your node forms to add or edit the nodes and this really isn't ideal and here is an example of quite this is an artifacts node on a website I'm currently working on and it has lots and lots and lots of fields and by default this is kind of what you would get. Everything is just kind of dumped out here sometimes it's easy sometimes people miss fields if they're not like wrapped up in a field set or something else and it just keeps going on and on and on and once again how people that might be new to managing their own content on their own site can be overwhelmed if as soon as they load this artifacts is the primary piece of content for this website and if somebody wants to manually add one of these they're actually mostly done through migration if somebody wants to manually add one of these and they take a look at this form for the first time they're going to go oh man look at all this stuff there's loads of it so what I often recommended in Drupal 7 was to use vertical tabs for everything and to split things up into vertical tabs now in Drupal 8 with the 7 theme we have this right column there by default we're going to take a different approach even though there's an issue as a feature request for adding vertical tabs to the Drupal 8 version of this module which I will add eventually as an option at the moment I'm using horizontal tabs and these are provided by the field group module so this same form can now look like this so when the page loads you see content images and categories across the top what you need to do is basically put the content first is the absolute basics what you need to do to successfully create this piece of content you don't have to have images to create this piece of content you kind of have to have categories this is a bit of a cheat but there's too many to put into one tab here but the bottom line is you only show what they really need to do upfront and then kind of hide all the extra optional stuff and in here you can also group things into separate field groups here so everything that might deal with the date happens here anything that has to do with these dimensions of these artifacts happens here this is the easiest field set you can add to the field group module it doesn't take any time at all so everything is grouped according to what its purpose is so it keeps similar fields together it also makes it a lot easier to see the differences in between the fields so you don't accidentally miss something and then you can go and add your images up here there's only one image field here but most of these artifacts have anywhere from 10 to 18 images so there's a lot so if you're going to look at an image field that has 18 images it's going to take up a large portion of your page so if you don't need to deal with the images at all all of them are hidden behind this horizontal tab same thing with the categories sorry this small screen doesn't display these things very well but there's lots of different categories here and once you're going to group them they are appropriate into into similar field groups they are into field sets and honestly there's a lot of fields it just probably took 15 minutes to modify the form to do it doesn't take long it just happens in the UI on your form display modes you can just add your field groups drag them around, drag and drop save it and you're done export it, config and de-aid is awesome and away you go the field group module is very important also very useful for the front end as well if you want to chuck something if you want to configure the front end I find it works great for shortening forms and simplifying everything to make sure your clients don't recoil in fear and it gets to the point of the content hide this stuff, they don't need to see up front anything optional sticking into a different tab this is definitely important it adds additional functionality without being too complicated quite often complexity is measured in how it looks to be complex or not so you can add something really complicated or loads of forms and this artifacts content type is pretty complicated lots of fields, lots of taxonomy but it doesn't look that complicated as soon as you load the page and that's very important sometimes the appearance of something is more important than how it actually works like using little spinners don't actually, you're not actually making an ejector quest that's a whole different story, that's a different topic completely and it's up to you to do this I'm not preaching the gospel of KC backend I guess I am preaching the gospel of KC backend but it's up to you to modify this according to your individual needs so if you don't like horizontal tabs and you want to use some other ways for your forms cool, that's great this is just how I like to do it KC backend won't do the tabs for you if it does, it will be optional so you can group anything however you like so it's up to you really to customize your Drupal sites for what your individual clients need for those individual sites so do whatever you like if it's on the page and they don't need to see it get rid of it Drupal dumps lots of fields, lots of settings all over the place and a lot of times it's completely redundant to what your clients need to do how many, you know actually you use to publish the front page or sticky at the top of lists we don't need to show this stuff so get rid of it you can use a hook form altar if you're that way inclined that's easy and that's great but you don't have to disable field module is really cool so if you have only certain fields that are appearing on node forms that maybe you only need them for administrative purposes maybe if you're setting the value in an entity pre-save or something else field allows you to select which user roles can actually edit certain fields on the node forms and it just provides a permission it's pretty lightweight and it just gets rid of stuff you can say this role doesn't need these fields cool, get rid of it and there's also the the override node options module is very important as well for tasty backend because it allows you to set certain roles that can only do certain core things with nodes like market is published or unpublished sticky or promoted to front page options those are just permissions so once again if you're if you install that module and your user roles don't need to make those selections it just gets rid of it for you and if they need to do that at a later date or if you need to do that for a particular content type maybe you do have a blog content type that needs to be promoted to front page it makes sense there and you can allow your admins to just take that box for the permission and then they can actually set that field but it's not just content as well because as we know entities so in Drupal 7 I did this a lot with commerce products to simplify the forms I think I have an example here where we have a subscription product and the recurring subscriptions I just stuck in a field set because it was really easy but one of the main reasons I did this because of the VAT because I mean there's loads of VAT fields and people adding these products are like they're not good they have a VAT based on the currency behind the scenes but I put this here so people can override things if they need big but once again I just put that in the field set and collapsed it because they don't need to see it so now this form looks a lot easier to fill out so if it's not if it's not content you can do it with other things so allow your custom entities and anything else your users interact with so managing content Drupal provides the admin content page where it lists all your different nodes and provides a certain you know this one you know your default content page which is fine for basic things but it dumps all of your content types into the same management page and it only provides filters for certain things based on content type but it doesn't really show you relevant information about those content types for example by default in the standard install profile added to articles now it might make a lot of sense for you to want to filter your articles based on tags to find the ones that you want to get to so once again while the defaults are okay we can do better and now when you play these reviews so you can mess with this page and you can override it but it's still not going to be as specific enough information especially if you have a lot of different content types and if those content types are quite complex so tasty back ends will provide a custom management page for content type so you install tasty back ends and you add a new content type it automatically adds a completely separate management screen for you for that content type so if we go back to our example over here when we go to manage content you'll see we have artifact exhibition and page all these were created automatically for me same thing over here this is kind of a standard profile we have manage article content and you can see where I've modified this where we have a title field by default we have a tags filter and we're actually showing the information on the tags in the content type now this is a pretty simple content type now this article content type is fairly complex and this is a bit of a mess because I am adding fields to this during devs so I can see what's what it provides me a great overview of how my migrations are going because I'm migrating in 13-14,000 nodes into this website all the time so this way I get to look down and be a classification designer's designer's manufacturer for author publisher when this goes live in the next few weeks I'm going to slim this down but for me right now in development this is great because if I run a migration and I'm migrating all these different things I can now go okay I can just start scrolling through and I can see a list of how all this stuff is working and it also means that in the future anybody that needs to drill down to find a particular content they need to manage they have incredibly relevant information on the screen now on this site you certainly wouldn't want the same thing for the exhibition content type this is quite simple or the page content type these are very simple so if you only had the one content page to manage all your content you couldn't have specific information for a node type you'd be showing a bunch of irrelevant columns for content types that simply just don't have it it gives clients access to relevant information it gives you access to relevant information it gives us a lot on developing sites just so I get a better overview of what's going on and once again TastyBackend creates all of them for you so you don't have to do anything you have to modify them afterwards to suit your own needs which is fine but at least it does the initial work for you by creating those views there's a base view now this is an interesting concept here so when you install TastyBackend there is a disabled view down here called TastyBackendManageContent and that is the default view that gets created per content type as you're adding content types into your system so as we can see up here with the views we have TastyBackendManageBasicPage TastyBackendManageArticle there's a users one as well but that's what we're getting ahead of ourselves here so these two views were automatically created based on this view this also means that if you don't like this default view you can modify it to suit your needs you can put any other fields you want in this view into this default one that you like and then as you're adding your content types it will read from this view and create your individual views per content type based on this view so that comes in very handy I often use the domain access module if I'm using a multi-domain site and it's very useful to show which domain on the management page that each individual note belongs to so I can just add that to this view here and then all my other views pick it up now if you've already got a bunch of content types and you already have a bunch of views and you now want to add a field to all of them you can also go to TastyBackendReloadViews now anything that comes with a be careful warning you'll probably be bigger and be red or something be careful because if you've made any changes to these views and then you modify the default base view and then you reload these views it will wipe out those changes so I recommend making your customizations towards the end of the project to these views so if you do want to add certain fields to all of your views you can do so from the beginning but basically the workflow here would be edit that default TastyBackend management view you select the views you want to reload and when you reload them the management views now pick up those changes and it's not smart enough to know if you've already modified anything so be careful it will wipe out your changes but it means that you can both view that 10 or 15 of these and you want to add domain information to them or something else you don't want to manually edit 15 of them but you can add it all from this one page right then and there here's just a random slide to Frankie in the pub because I thought it was cute he likes sitting at the chairs pretending he's one of us so sometimes without me it's weird he becomes a little drunk administration menus Drupal once again gives us this you know it's great in Drupal 8 especially we know working great on smaller screens etc this is the default menu that is used for this content or for us to manage everything and once again that's for me that menu is for me to use only while I am developing the site and if you try to modify that which I see people do all the time by just giving people certain permissions or not you end up with these weird gaps in the menu and sometimes menu links remain and people end up clicking on things and getting an access to NIDA or something along those lines and that's really not a good experience for your end users so what Tasty Backend does it provides a Tasty Backend Manage menu which is the specific menu for your content administrators and it only contains exactly what they need to do and nothing else I use the toolbar menu module to be able to provide additional menus in the toolbar and then I do some permission stuff in the back end to make sure they can't access the default management menu and it automatically adds the links to the menus when you're adding content types so you get the node add links added you get the management links for the views automatically added if you're giving people permissions to edit certain menus it all gets added and does all that stuff for you and as an example this user that we're logged in with here demo if we click the manage menu we get the Tasty Backend Manage menu so those options are to add the content that's all they need to do they get to manage content they get to edit their taxonomy their menus that they have permissions to edit and if they have access to managed users they get access to the users and for the most part pretty much everything what clients need to do unless you're doing things with commerce or custom entities or anything else but this is the crux of it all and they don't see anything else it's purposely built for them they never get to accidentally click any links it takes them to their own place or access to none there's no gaps in the menu anywhere all they see is that and it's optimized for what they need to do there is a system menu a menu item included as well as you can see here we only have these ones these add content managed down to users but on this website we have a system so just in case we do need to give our administrators access to any other special configuration screens or if they are able to configure certain modules or anything else I then make custom menu links and chuck them in the system menu here and in this one there's a custom form for them to upload a zip file of the CSV and images that they get imported into the site so I basically just dump anything else in system that seems appropriate if it wasn't appropriate I would create a separate menu item in this management menu specifically for them and stick all those other menu items under that but for the most part for me in my experience these kind of handle most of what you need exceptions being things like commerce etc whereas on this site you'll see we have a similar setup over here with admin menu module and we have a special store top level menu item which only has a stripped down links to manage the Drupal commerce side of this website then we have another system menu over here where we've actually given them access to manage some flags and pen cues so once again they don't have to go through the completely crazy big Drupal management menu to get to what it is that they need to do just look at Frankie while I have a drink he's so much like me he hates getting out of bed in the morning he never wants to go out I always think it's payback because when I was a kid my mom couldn't ever get me out of bed and I was like Frankie come on we gotta go we gotta go outside he's like no I'm staying here so quite often you might want to give people access to manage menus as well tasty backend uses or relies upon the menu admin per menu module and that basically just provides a set of permissions so you can allow certain roles to only edit certain menus you don't really want to give out the administer menus permission because that gives them the ability to edit all menus and they typically only need to edit like a main menu or a flutter menu and that's pretty much it for the most part and we don't want them messing with the default management menu that we use where all the triple modules stick all of their links and where we need to get around that huge menu we don't want them touching that they shouldn't have access to it and you can tell them oh don't touch that but people get curious especially it's like oh we have a new intern and they want to impress their boss or whatever and they start clicking around the site and all of a sudden everything is wacko don't trust them at all they shouldn't have access to it don't give them access to it so for example we have menus here and this user role only has access to edit the flutter menu and the main navigation menu if they have the full administrative menus permission all the menus would show up in there they don't need them all they need to edit is all they should be seeing users as well Casey Beckin provides a user admin role and that only allows certain users to add only certain other users with certain user roles because once again we don't want people to be able to escalate their own privileges by giving themselves user roles that they shouldn't have so they only need the administer users permission Drupal 8 has done a lot better with multiple permissions for user management and you only need to assign that one permission Casey Beckin does it for you and then currently I'm relying upon the role delegation module which basically allows you to say the user admin role can add the contents admin role and the user admin role and that's it so they can't add the administrator role they can't add any other roles the only ones that you want them to and it's classic I recently have done a day of consulting with somebody with a website that somebody else had been building that wasn't going as they planned and they said we don't have full access to the website but we want you to look at it and tell us what you think about how it's going so here's one of our logins and I logged in and one of the first things I did I was like I shouldn't do this because they didn't want the other people to know that I was looking at this website but I could have easily just just edited user one or added the administrator role to my account and then I could have anything on the site so the people like they looked like they tried to hide some of this stuff that they didn't so another thing that TastyBackend does when you go to this user's manage user's page I like that ad, didn't I so the user management page that TastyBackend provides do you see the user one account? you hide it your clients don't even need to know it exists once again if you put something there you're going to attempt somebody to edit it at some point or you're allowing somebody to escalate their own privileges I could have easily changed the password locked everybody else out of the website and put all sorts of crazy stuff all over it so hide everything now what TastyBackend won't do is if I were to manually go to user slash one slash edit I would still be able to edit user one so it's beyond the scope of TastyBackend to protect that but I do recommend that you I do recommend that you install the user protect module and user protect module basically allows you to select certain users and protect them from any and all edits with a variety of configuration so I highly recommend you add this on top of TastyBackend if you're going to use this or on any other site just to make sure that you're protecting your user one account because if somebody can manually just type in the URL to edit the user one account they would be able to but this module would prevent them from being able to do so yeah the suggestion would also be possible to disable user one on production that's what we do so just for the video there's a suggestion to disable user one on production which is a great idea I wasn't really sure that you could even do that so yeah I never thought about that good thank you my next talk will include yeah so once again there is the TastyBackend module please download it and please use it and please test it and please submit issues it's currently beta one and people say why did a beta release? well webform went up to like beta 58 or something I don't want to let them have all the beta fun so there's also this I need to add some stuff to it as well so I don't think it's quite ready for a full release and I wanted some testing but it seems I've got it in use on a few sites and it's been working great for me it really seemed to like it they can easily manage their sites and Drupal.org is reporting anywhere from like 3 to 40 people using it who knows so hopefully people are using it so give it a try let me know what you want or if you have any future requests or anything else once again check out the demo site at TastyBackend.com that was put pretty quickly yesterday I'll probably make a slightly better one that rebuilds itself every night at some point so don't put any dodgy content on there just yet and Roadmap will include TastyBackend management for media web forms and commerce which is stuff I had I had media and web form available for Drupal 7 the commerce I never quite got out I was doing TastyBackend sort of stuff with commerce as I showed but I didn't have a module for it yet but as TastyBackend matures I will be adding more of these things so if there are other modules or ways of doing things in Drupal that I see if you get to add to this I'll add additional modules so if you have any requests for additional modules please let me know I'll be happy to add them to the TastyBackend suite of modules so we have any questions the question was if I use the TastyBackend with any specific administration themes not currently I'm a big believer in just keeping things that simple I know that some people complain about how 7 looks and stuff like that but it's fine with me I've looked into a few others and I actually even considered at one point making the TastyBackend admin theme but there's other ones that look pretty good at minimal and a few other ones that I'll test it out briefly but I don't see anything in here that would matter but it's a good demonstration theme of your choice I haven't tested it with various different admin themes but since all we're really doing is customizing note forms adding views, customizing the menu and providing different permissions there's no reason why this wouldn't work with the admin theme of your choice so if you have one you like let me go ahead and if you do use it can you find anything wrong please let me know I just enabled the module these days and hope it works on Drupal 7 I often just didn't enable it because I found it screwed up a lot of things in the front end sometimes or you'd have contextual links inside contextual links and trying to click on the right one was sometimes very iffy so I take a very conservative approach towards this sort of stuff and while it does provide an easy way of doing things sometimes it starts to screw but I don't have the extra time to dedicate to that I just disable it so I mean I think as you would with any feature you add into a site testing if it works for you I think it's a great idea and a lot of other things in Drupal 8 but at the moment I'm pretty much keeping things quite simple and locked down hopefully I'll add more modules to help out with stuff like that in the future as well anything else I'm a freelancer and I'm always looking for new work and I'm finishing up a couple projects right now and I have a captive audience so if you need any help hire me here's all my contact info thank you very much I don't know if this will work but I'm a massive Colombo fan so one more thing here's Frankie going nuts in my office it's hard to get work done as well it's not the same thing I hadn't done it it was just going to end up being the same thing I thought it was a good idea I thought it was going to take an October I'm super happy with the way we share it was a lot easier probably because I was going to take the strength and he's checking me out he's already done it cool, awesome I was looking for the last two weeks to work on a new menu exactly what you did I just wanted to achieve that it just does it for you please do I'd love to know what people are using it for I think that we use a lot of these circles and blocks from the previous website and I use contextual links with those small blocks because the blocks you use are very confusing I've done stuff before with the ECK a lot stuff in Drupal 7 where I have customers who type just add another menu item or something like that into the tasty backend menu and there are sort of things thanks very much I had a question about it's still very fast it wasn't directly related to so I'm relatively new to Drupal 8 I've been using Drupal about 10 years or so but I've literally just started on my first couple of Drupal 8 projects so Drupal 7 it features and I've kind of used install profiles as a way to capture so install profiles for all of my sites but it was a way of it was kind of a mechanism for me to deploy configuration and to kind of save or capture the current state of the site so whenever there was an update to the site you would do an update to install profile with update hooks so how does that change with Drupal 8 with configuration management being as export configuration and does it kind of make and like so if you're using I guess my question is really like for me in Drupal 7 an install profile was a workaround for the fact that there was no kind of good way of doing configuration management with deployment and by that I mean I hate using features yeah what I'm using this is the moded install profile this is currently the museum of design and plastics website I'm working on so Drupal 8 it's just an info file you have all your normal stuff glad to explain that by the way because I was trying to work it out I've got this file it's museum of museum of design in plastics anything that's been made of plastic they probably have a photo on their web it's great, it's wet it's great so your install profile what I do is I use the config develop module and what that does is you just have this item here and all of the config that belongs to this install profile you just list it so I tend to group it from miscellaneous blocks, content types this is all the fields you can get a lot of it but it actually teaches you a lot about how everything is structured because you have to write all this stuff out in here and once you list all these in your profile there's a drush command you just type drush cde with the module or install profile and it automatically exports all your config it strips out the UID and it puts it into the config install profile of your install profile so that means when you install it it'll automatically read from that and it strips out everything so my workflow is I add new features or whatever so if I put my config in here I export it it strips everything out for me and then I reinstall the site and I have Ansible playbooks that reinstall the site for me and that's on github if you want to use that it's called Drupal IP tools right so that makes complete sense because I've been doing exporting the config but then when I do a rebuild and I'm just doing drush si minimal and then installing my config it's like oh no I'll take the export can fit this out it strips it all out for you you don't have to worry about anything it just totally does it because I use Ansible so it is in here somewhere and this is Drupal IP tools I'm actually going to talk about this it's called Ansible and install profiles there are videos of it out there and this provides Ansible playbooks for Drupal 7 and Drupal 8 that tear down the site and rebuild it for you and it also does it on the server as well so that because it can be really time consuming you don't have to do all that so basically as I make my changes and I want to make sure I want to install profile ok I just type command and play with the dog for a minute and a couple minutes later it's completely rebuilt the site for me and it allows you to create a new project which is based off of the Drupal Composer template and basically you just have a configure a YAML file where you put in your database information and the other modules you want to install and stuff like that and it'll run migrations for you it'll do all sorts of stuff so that's kind of how I manage everything during development with install profiles and it's just ok, jenny10 jubilip tools oh yeah pay me on twitter or something if you want any more information I'm just delish creative on twitter I think is on the page for this talk awesome I might end up picking your brains about migration stuff as well right now, I'm currently working on a Drupal 6 to 8 migration a Drupal 7 to 8 migration a Drupal 5 to 8 migration a WordPress to Drupal 8 migration covering databases, CME, X and L so just quickly on that I should say I'm doing a Drupal I'm doing a 7 to 8 migration previously I've done a 5 to 7 but yeah this is my first one into 8 so are you using any of the like, you know you do like the drush, migrate whatever it's hard to keep on the migrate modules so there's one that you can do which basically will just create migration plans for everything on your Drupal 7 site so do you kind of go down that route or do you just actually build your own migration plans or do you just kind of do it my philosophy with that is if you're going to have a brand new site fix all this stuff in that old site you don't want to bring it over because if you just run the 7 to 8 migration it brings over all the same problems and it doesn't produce a workable site at the other end so what I do there's a configure only option so basically what I do is I build the Drupal 8 site with the content types everything is set up the way I want it set up and then I run the configure only so it creates the animal files for me and then I just modify the animal files so that way it does the heavy listing for you because a lot of times it's just like field names so basically you do the configuration first of all your new content types and all that I build the site how I want it and then I typically if it's a Drupal site I'll run the configure only script so it creates all the files for me it's very useful especially if you have a taxonomy and stuff like that because those things work pretty good and then you just have to modify a couple of things so I think that was the mistake I made so the first time I did it I tried just running configure only and then it's like well actually I don't want the same configuration for 107 years there are some changes I can make so I but I think I kind of exported all of that configuration and then I started going well actually do you know what instead of just migrating the content types across I'm going to build them from scratch again funny noise and then the next time I ran the migrate configure it lost a load of new things or when I tried to do a re-import the site config obviously after doing a site install it's like well actually I'm not going to bother migrating the taxonomy in the wall or I'm not going to migrate my AUSs or something and I had to build a lot of custom stuff to migrate my AUSs the problem sometimes with doing it the way I've suggested is it adds in a bunch of migrations as dependencies that you may or may not want you guys strip all those out but I find it works great because a lot of times this is all the migrations on this site a lot of these are just duplicates with things but it does a lot of heavy lifting for you and then you can just fill in the blanks and change the stuff you need to change you got to watch out for the dependencies that it creates and then reinstall it on the migrations and config develop is actually very useful for this as well because one of the options in the UI is if you go to development config develop you can paste in the path to the animal files and it will automatically re-import them on every page load it's great for migrations because that way if you change something in the migration and you want to pick up the changes in the animal file you just paste the path to it in there and it's hit refresh and then and it will just do one specific yaml file you can paste in loads of them you have to put the full path to modules whatever you can pick and then the way that I've been doing it is just running a drush cim with a path to my file so that will work too but it's easy because sometimes I'm making changes and if you have it ready I just click refresh because sometimes you also want to see it on the migrations page to see if it's picked up or if you add a new one you don't want to use and config develop to that because it's installed and it seems to work quite good it also has drush commands for importing there's a drush cdi1 command that allows you to import a single piece of config and stuff like that so it has some useful stuff in it so I recommend that for developing that sort of stuff as well