 One of the major projects that we had was upgrading close to 200 sites for Portland State University from their Drupal 6 system into their Drupal 7 system. And we did that all in one go. It wasn't one day, but it was one go, so to speak. And that's a little bit information about what Imagex Media is doing and some of our clients. So I'm going to stop with the shameless plugging right here. Should you upgrade to Drupal 7? Well, I think the answer is relatively obvious, but for a lot of people that topic is one that causes some nightmares and some headaches. If you were probably the reason why you're sitting in this room today is that you're an administrator, maybe in an organization that has a Drupal 6 installation, a Drupal 6 site. You're maybe the site owner yourself and your current system is in Drupal 6 and you're thinking about like going over to upgrading to Drupal 7. Maybe you're a shop owner or a freelancer and in recent times now the requests have become more and more from clients to, hey, can you upgrade my site from 6 to 7? So we want to talk about a couple of things and make the headaches go away a little bit or make you aware of when the right time is to take a Tylenol, so to speak. So these are a couple of the things that we're going to talk about. Should you upgrade to Drupal 7? And the answer is a resounding yes, but there's a little asterisk beside it because that's a pretty definitive statement. So we're going to briefly touch on some areas also where it might not be the best way to upgrade your site from Drupal 6 to Drupal 7. If you studied your little program carefully, you saw that there are a lot of sessions this year about actually migrating your site, not going the usual upgrade way, but migrating content. And not only from a different system like WordPress, that also is a valid way of going from a Drupal 6 site to a Drupal 7 site. But in this session we want to concentrate a little bit more of like the traditional way, the upgrading path, the upgrade path that is there. We're going to briefly talk about some of the benefits that you will gain from going to Drupal 7, show you a little bit what the status is regarding core and also contributed modules. We're going to talk about actually how to upgrade what the steps are there regarding core contract, your custom modules, your theme, what is going to happen to your content, CCK fields. We're going to talk a little bit about catastrophes that you might run across or that we experienced. And contrary to every recommendation from the Drupal Association that said don't do live demos, we're going to do a live demo. And Shea is very sure that his script that he has written will work. I'm not so sure about that, so if you're getting bored, tweet to hashtag H-U-7-up, fail or win and bet if we actually managed to get this live demo working at the end of the session or not. And you might get a lollipop if you do. So let's talk a little bit about the new things in Drupal 7 and that is a little bit more from a programmer's perspective. I chose these cars because, let's be honest, the old Mustang, that's a classic, that's still a pretty good car and I feel the same way about Drupal 6. It's still a pretty good system and it's one of the systems that really made Drupal take off more than anything before. But there's just a lot of nice new bling and nice new things in Drupal 7 that makes you considering switching over there. In CoreNow we have the concept of entities, we have an improved form API that has a lot of cool features that programmers can use. We have a new database abstraction layer that makes it much easier to integrate with other databases other than MySQL. And on the contract level we also have a lot of exciting new developments and modules coming out. Some of these have back ports to Drupal 6 or Drupal 6 version but they're not as fully featured as in Drupal 7. Like the media module, display suite or a theming related Omega or Delta. And some of the other benefits and features that came in 7 with new functionality is like now you can cancel accounts. We have a new base theme and admin theme. Accessibility has become better. Usability and I know some of you might grinch when I'm saying these keywords but we have now a dashboard and an overlay in Core. We have contextual links right in there. We have improvements when it comes to security. You need now the hash salt in order to trigger cron runs. We have methods against brute force attacks. And of course mobile, as you heard in Drees's keynote, will be even more integral part in Drupal 8 but Drupal 7 is already on a good way to make it much easier to have mobile-friendly site and mobile applications that you can develop and in order to bring like a really lame Drupal joke and web chicks will dig you if you go with Drupal 7. I'm just going to be very happy if you use that. So these are some of the benefits that you will gain by going to Drupal 7 but now the question is, is Drupal 7 ready for you for the website in your organization or for the client that is coming to you and wants an upgrade and Shay is going to talk a little bit about that. Alright, we'll get back to the point that we had earlier. Is Drupal 7 ready for you? I'm going to give you a rezoning yes. Yes it is. As far as it goes right now, the core is stable but it's more than stable. If you notice the key point yesterday, the Drupal 7 development lifecycle is now in the mature stage so that means there's not going to be any radical changes, bugs and kind of problems in that. They're out of the way so you shouldn't be running into anything core-related that will prevent you from upgrading from 6 to 7. And from that as well, one of the reasons why we're saying this upgrade a little bit later, core has been stable for about a year and a half now and we haven't said that maybe you shouldn't wait a little bit because a lot of the things that make up Drupal and what it is is the contributed modules and a lot of those weren't ready yet when Drupal 7 came out. So right now there's 3200 contributed modules that are now Drupal 7 versions and that are stable and the majority of these ones are the core ones that you use on your websites in the day to day. Things like context, views, panels and stuff like that. So they're ready and that means that Drupal 7 sites are ready for you as well. As far as Drupal 8 goes, you might be wondering, hey, should I wait? You know, Jesus is telling me like, hey, there's a functionality freeze in December and then there's going to be code freeze in February and then August 8, hey, we're going to have a live video. Why don't I just wait until next year? Again, when I was talking about Drupal 7, it's about a year and a half later now that we're saying, hey, okay, now it's time to upgrade. Although code was stable, a lot of the other contributed modules have to catch up as well and just another point as well. This is the open source community. When these deadlines are set, just be aware that a lot of the times delays happen. You guys part of the software industry, I'm sure that you guys have had pushbacks and things get delayed so I would anticipate that as well. One great notice would be, I've got a tweet here from Angie and this was on February 21st of this year and she marked that this week was the first week that Drupal 7 usage overtook Drupal 6 stats. I just want to show you the trend that's coming up here. This is the weekly project user breakdown on D.org. On March 11, there was 342,000 websites in Drupal 7 and no only 314,000 in Drupal 6. So there's 314,000 sites that work in Drupal 7. There's another reason for you to upgrade as well. As you can see through the time here, Drupal 7's popularity is growing quite quickly so the velocity of the change is huge. To get back to the point through the contributed modules, this is a screenshot of Drupal contrib.org. This was put together by Angie Byron. It's got a listing of the status of the top 60 most popular Drupal modules in Drupal 6, done by usage, and 46 of the top 60 are in a stable state. Some of them are in beta 1, beta 2, like C tools, but they are stable and usable. So I'd check out that site. Along with the ones that you use that are stable and are usable, there are a few problem modules for those of you that have modules like Organic Groups. Right now in Drupal 6 there's 115 different individual modules that add functionality to Organic Groups. There's 21 in Drupal 7. So this is part of the whole thing we're going to try to explain to you today is you got to do a bit of research on whether or not some of the stuff that you use has an upgrade path and is ready in Drupal 7. So some of these ones are the common ones. UberCard. Comma changes a whole bunch in Drupal 7. I actually highly recommend using Drupal 7. If you're going to use anything commerce related, the commerce guys actually just acquired I think about $5 million in funding to progress Drupal 7 e-commerce. So if you guys are into that, I'd definitely be focused on moving up to Drupal 7. If you're using UberCard right now, I know there's a lot of development happening for that, but you might not be ready. Other things to make note is a lot of the SEO tools that are in Drupal 7 aren't as strong as in Drupal 6. Drupal 7 actually itself is a lot more SEO friendly with the adoption of a lot of themes in HTML5, but the tools that you provide your SEO gurus aren't quite there yet. So we have things like NodeWords, which have an upgrade path to a new module called MetaTags, where MetaTags quick. So the tools that you're used to and that you spend all the money and give to your SEO gurus might not be there in Drupal 7. So be aware. You can still do everything in 7, but again, it's just a couple of the modules might not be available there for you. And just a couple of other ones to note, PathRedirect content profile. So on top of this, these are just a couple of handful. Again, you'll have to do a little bit of research when it comes to your own personal site. If you are using the module, go to the page, check it out. There's an issue queue that will usually have an upgrade path status or an issue status so you can kind of see and understand whether or not what I have on my site has a path to 7. So now a little bit less of the why and more of the how, whoever tweeted that out here. How to upgrade core and contrap? Let's say you have done your research, as Shay just mentioned, and your site is a relatively straightforward and standard site regarding Drupal 6. And the modules that you're using on it. Now if you look at these steps and you have already done a little bit of your research, you say like, well, okay, these steps, they seem to be the same steps that are mentioned on Drupal.org documentation. And that's true. This is repetition for emphasis. These steps are really important to follow along. The first step, as stupid as it sounds, is to back up everything. If you don't have your code yet in Git or any version control system, shame on you. It's really important that you have a quick fallback when you're starting to work on the upgrade in case anything goes south or you need to go quickly back to the last point where you started off. The next point that you need to do is you need to upgrade everything to the latest and greatest within Drupal 6. You really have to do that in order to make the transition as quick and as painless as possible. The third step is to disable all non-core modules. Sometimes maybe if you didn't did transitions from five to six, it also worked if you didn't do that. But we found in the projects that we worked with that actually this really helped in order to have a clean transition. Then, if you're using Git, that can be really a simple step is to switching out core and contripped files. If you maybe have a different branch where you already put the new files in, run update PHP, enable all the modules again that you need, run update PHP again, and in a perfect world, you will have a new site. There are tools that can help you to achieve that much quicker and much simpler than doing all of this by hand. Of course that's where Drush comes in and hopefully all of you or most of you are using Drush. The two commands that I want to highlight here is UPC which is short for update code, which if you just use the command like this, is looking at your whole Drupal installation and is looking for the core as well as for any contributed modules that have an update available and then will run that update. You have to follow that up though with a database update. And there's even a Drush command that promises you to do the whole steps one, two, seven for you, which is Drush site upgrade or sub. That works if you have a very straight forward site again. It doesn't work in all cases. So be careful with that, but you definitely can try that out and that can actually help you quite a lot. And some of these steps Shay will later run the demonstration. So just a quick reminder, I think so far we only have fails but that's okay. So what about your custom module? If you have created your custom module, is it looking really bad? If you have a custom module that you want to upgrade and a lot of sites have at least a little helper module in any kind of like minor changes maybe like form tweaks or things like that. One thing you can do, again the documentation on d.org is really good for this. But I want to give you a quick show of a module, the coder module and the coder upgrade module and how these modules can really help you with your site upgrades. So let me quickly go this is a clean Drupal 7 install here and if you want to see again which module it is that I'm talking about it's called coder and in that package is also coder review and coder upgrade. So and I dug out two really old from ancient old Drupal 6 projects two modules to look at it. So one was a custom tie-in to CCK and now in the module page you see a link for code review and when I'm clicking on it the first thing that it does it complains about what crappy code I wrote there and that I didn't indent it in spaces for missing and all of this but that's actually not what I'm interested in. In the review section I can say I want to convert this module from 6 to 7 and also want you to tell me about the coding standards and things like that but just for this demonstration I say just show me the critical things that I really need to do that need to be definitely need to be done in order to get this module from 6 to 7 and now it gives me a number of things already for example hook permissions is the new name of that hook instead of my info file a couple of other functions that don't exist anymore nice thing is it gives me already the replacement functions for it as well as a direct link to the Drupal doc site where I can read more about these changes and what needs to be done there and it also went into the javascript file and told me like the way you have structured that javascript file is not going to work in 6 anymore now there's also the feature here and the upgrade feature has two sections that you can run the first one is that it says like okay I'm going to help you with getting your coding standards in line because that might be all over the place and it makes it easier to migrate a module over and then the second one is actually to apply the core API changes to it and just quickly to show you so here's a module that I really can read that I took spaces out and indenting out and all sorts of things so that was Drupal 6 a helper module now for the coder upgrade it has a directory called coderupgrade old in files directory so this is where you plug in your old module and now I say okay I want you to try to upgrade this module back I want you to look for the coding standards and also the core API changes this one here okay so this has now worked and I can show you the changes that happened now in a new directory called new it placed that module again and what you see is still like the old module and this is the new module so just to show you the changes it actually indented everything it made sure that it all conforms with what we have in Drupal.org but also you might know that a hook block has changed from just one big hook function into multiple so it already did that to me and split that up and it left some to-do messages for me about things that I still need to look at in my module so for example rename the blocks the deltas to something more useful and not just zero or one it also complains about that I didn't have any documentation about what this function is doing and if I'm looking at the install file I'm actually seeing that it tells me well the DB query that syntax has changed so this is the new syntax that I have given you this is your old one just make sure that this statement is still doing what you want to do so a super helpful tool does it work with extremely complex modules that you work with not the coder upgrade right away but definitely the code review will give you a good first start in order to find the different functions that might be deprecated in your module and make it easier for you to upgrade in this regard now that's about the steps on how to use or how to go about core and excuse me about core and your custom modules but then there's also the themes so Shay is going to talk a little bit about how we can what you have to take into consideration regarding your theme I'd like to thank you guys right away for the hashtags I expected both two or three and to answer your questions we got a couple more demos and answers to your questions coming out one of them right here is what about my site's theme unfortunately your site's theme doesn't have a coder module your site theme is most likely custom because you want to reflect your brand so chances are you have something homebrew that reflects your needs as your own regions so we'll talk about that in a sec what's new in Drupal 7 there's new PHP template functions in Drupal 7 so those of you that use preprocess and process functions heavily in your theme this will be a bit of work to migrate those across you're going to need developers is what I'm going to get at when you actually do your site's themes upgrade there's new content variables which is now a block and you can place it around your site's theme and move it around there's new template files there's new HTML and a new region template file they got rid of the box template file so if you happen to use that I don't know who here would or has they got rid of that one so things to be aware of if you had overlaying and kind of wrapped around code in that regard so things to consider is your theme is usually custom there's not too many of you that I'm sure that are here running something like say Minnelli or I don't know Bartek or something well that's for 7 but you're going to have something that you've gone out and you've paid a developer for that brings your brand to life so the upgrade fast for that chances are it doesn't exist you might be lucky I'd go back and take a look and see if there is a Drupal 7 version and whether or not that actually that meets your needs still the demo I'm going to show you later actually has a Minnelli which does actually have an upgrade path which is quite nice within your theme when you're considering about time and cost to upgrade your theme a lot of you I'm sure use views and a lot of you have multiple template files into a couple of themes where I'm digging and finding them all over the sites and custom modules and they have hundreds for every row and field so as you're going through those not only with the module upgrade with your theme upgrade as well so keep that in mind you'll have to make changes to those but when you're upgrading to Drupal 7 consider this a really good opportunity to take a moment to refresh your design to take a look at your look and feel and maybe this is a good chance for you to come up with a new design you might have just actually gone through a whole upgrade to your site look and feel and now you realize oh there's cool stuff in 7 now it's time to go to 7 so you might have to upgrade but this actually would be a really good opportunity to start again to create a new fresh look for your site and with that you can then convert it to HTML5 mobile is a very big thing right now and that's consideration so when you are going to upgrade to 7 there's lots of great tools there's lots of great frameworks those of you who are familiar with the Omega framework I use that and I think it's great but it would be a good chance to switch over to an HTML5 based site and then to get into the mobile market well okay so now we got all my modules all my theme, my core is up to date I got content and I've written a lot of content and I want to keep that content so I do well you have two choices Ben mentioned earlier that there's migration a lot of times if you've developed a new site you might want to just migrate the content over from the D6 into the new clean installation in D7 there's actually I believe a session coming up with Morton after this one it would be a good idea to go check that one out but the upgrade path core should take along take along your content what happens with the site upgrade is if you built your content types with CCK and with core when you run the upgrade that should take all your content along with you all your fields, all your data but it's not 100% there's a few contributed modules out there like say date or even like image for that matter which is now a core which is big they might not come around straight across so what you have to do after you actually upgrade is do a field migration so I got a demo coming up later that will show you again when you do the core upgrade what comes out and what doesn't will you lose anything when you upgrade will you lose your content if you don't back up most likely so I highly again stress the fact is that the upgrade process is a bit of a buggy once with you have a lot of contributed and custom modules so make sure you back up but will you lose anything, no you're not going to lose any of your content it will come forward but something to keep in mind is that if you have custom modules that define content types or custom modules that define fields you will have to upgrade those with the coder first the core upgrade won't do that for you what about my images and other files within my content again if you use in file field that will upgrade through core which is great there's a new module, media it's not new, there's a sixth version there's a seventh version again I highly recommend using that it's compatible with the file field so after you upgrade you should be able to switch what's called the widget type on the field over to the media field and you use the new robust features in the media module and then imce a lot of you probably use imce as your file browser again this would be a good opportunity to move away from that into the media module it will actually allow you to import imce file directly instructor directly into the media module so within the media file browser you can see a structured foldered layout of all your files and preview, it's quite slick actually how to upgrade catastrophes, this is my personal slide for my rant with the demo that I put together I spent I don't know how many hours I'm pulling my hair out, I'm lucky I have more than this good but it has issues and some of the common issues that you might find are something like volume of content we've had a number of sites that have hundreds of thousands of nodes and when you run scripts with hundreds of thousands of nodes things time out, things break and things you know just there are limitations to your hardware so you have to break it up into batches compress them which we say a lot of times when you have such a volume of content is actually the best option might be migrate is to export out pieces of your site and import them in one at a time but while you're doing that upgrades can take a while so while those large batches of content are being upgraded, you're getting new content you have a user contribute site guys are blogging, guys are posting on the forums guys are leaving comments, you don't want to lose any of that so how do you control that well solution, you have a development environment and you have you automate the process as much as you can if you come to a shop or a freelance developer if you happen to write scripts something that they can constantly reuse which again I'll highlight the importance of having a backup and writing scripts because as you do the process is a bit tedious things break, you have to fix something and start all over again so if you're creating a site and it doesn't work it doesn't complete, it's broken you actually have to restore and start again so having and writing scripts is a really important thing in this regard so while your users are making new content and your scripts are running have it so that you can be ready for when your script stops to quickly QA, take a look make sure everything's there do what you have to do, switch over to your site that you upgraded from your live production site and at that point you'll have to migrate in the new content depending how much it is you could do this manually or you could have something like the migrate module node export or some other sort of service to move them across common things that break are file paths how do you track them down when they're in your content link checker and a couple of interns would be really handy and again I really reiterate the process it's a picky and finicky process there are a number of modules that during the process will break will cause issues, will halt the whole thing you got to stop, make the fix adjust the order of operation sometime and restart I'm going to hopefully be able to prove this later so one important thing also especially if you're a company that offers the service of upgrading the site or if you're thinking about it for your organization and want to know what it all will entail is really to be aware and count the cost of what will come ahead of you there might be still a couple of deal breakers out there Shea mentioned the organic groups module there has been a lot of great work done for that also in Drupal 7 but if your Drupal 6 site is using any of the even so exotic modules that have been created for organic groups in 6 you might be out of luck at the moment in Drupal 7 because there have been such major changes to organic groups if you have an extremely hacked core I have my personal opinion about people who had core but you might be a little bit out of luck or there might be actually a lot of work ahead of you in order to make this upgrade working and also if your site is quite outdated you're running still on views one beta or something like that you really should consider just to maybe build it new then to try to run the upgrade path so a number of things to take into consideration that Shea and I already mentioned about and just to recap that you have to take into consideration the number of the contributed modules that you use in your site and what the status is of those modules so you have to do your research there is there an upgrade path if there is if that module doesn't exist in D7 how can I get the how can I keep that functionality what needs to be done there the number of custom modules we showed you what can help you but that was like those were like two relatively simple modules if we're talking about like 10 custom modules with like thousands of lines of code you can kind of imagine how long it will take also then with QA and testing until you have that up and then kind of like the number of themes that you're using on your site and the views TPL hell that it was really easy to get into in Drupal 6 remember these template files need to be adjusted so you have to count them and kind of like think about like okay how many files do I actually need to adjust how many files do I have to work on and also the server and hosting requirements at Drupal 6 was a little bit more lightweight than Drupal 7 so it needs a little bit more power behind it so that's also definitely something that you need to check in order to see if you need to make any changes if you switch over to Drupal 7 environment so to recap is Drupal 7 the way to go yeah it sure is it's on the top of its life cycle it's a great product the features that are in there you want to have them and they're really great it's the best way to move forward especially when it comes also to mobile development is upgrading an easy thing not necessarily but it's not as bad especially if you use the tools that are out there if you for example all your contributed modules there's usually like a ticket in the issue queue that says report and that's a great place to start and looking at like what happened to a number of people that had maybe issues in the past with upgrading their module you have to take your costs into consideration and do a proper site audit of your site in order to really see what you have and how much it will cost you but in the end everything is going to be alright it's not as bad as it looks it really can be done so I saw a couple of wins last time I checked and Shea is going to start the demo and but once he started the demo it's going to take a couple of minutes so you can either then starting already to line up if you have any questions to us or we're going to try to answer some of the questions that came in through the Twitter back channel I was getting a little nervous at first the fail column was quite heavily out front in the start but I think we caught up in the wind near the end and to answer the question yes the slides will be posted there will be a link at the end of this so I'll show you where to get those ooh I'm getting ahead of myself here alright come on over 4 1, 2, 3, 4 ok so what I'm going to do here what I've done I'm going to show you a website what I've done is I've created a Drupal 6 website from a lot of very common very common modules ooh this is big I'm going to make this this small you guys see that? probably ok what I've done is I've created not a simple site but a site here that I'll log out quite quickly enough I've created a site using a lot of very common Drupal contributed modules there's a new system, a calendar system there's a blog, there's forums there's actually an e-commerce store a very simple one that just lists products really that's all it does there's a quick tabs here on the right hand side there's recent news there's a poll there's integration with social media navigation there's quite a bit of things going on in this although small it's only got about 1,500 nodes in it although small it's not simple in the fact that it's a page and an navigation menu there's a few things here what I'm trying to hope to do is go from this site which is actually using a contributed Drupal theme there was an upgrade path there so those are that you were wondering what it would take this one actually had an upgrade path quite nice to get to the new one shrink this which is a nice new shiny theme to have something that looks sort of like this your content comes through, your navigation comes through calendar blog forums so that's what we're going to try to do today and for proof of concept I'm going to show you guys here it is up.hop this is the Drupal 6 site I'm going to run the script and it's going to go through the process that we did today so nothing like code live code to make people run away and while this runs it's going to take anyway when this starts it's going to take about 5 minutes to complete so again we'll get the rest of you guys to please take up to the mic and we'll start answering questions but what this script is doing is it takes, I've upgraded all of the contributed modules to the latest development versions so that already has been prepared but the script will then take all those contributed modules disable them run upgrade on core re-enable the contributed modules with the D7 versions and then run the update on those as well sounds simple, there's probably a couple hundred lines of code in this this is super exciting I know it hasn't done a whole lot yet but it'll start spinning, there we go within this script as well there's a number of DB fixes that I had to do with some contributed modules causing errors in the database so there's a number of little tweaks to get this to work so I'll probably provide this code it's not pretty at the moment I'll have to actually upgrade it and actually leave some comments it's actually re-usable somewhat but what this is doing this is using Drush and a few scripts creating from a D6 version to a D7 version so right now it's actually doing all the contributed module updates I know these are core updates so again, so please take the mic and we'll have some Q&A session here and just to follow up with what Shea has said once he has commented properly the code in this script and it's run through the Coder module for proper syntax we will make that code available to you we're gonna post probably a link on the session page but if you're also interested in it, feel free to shoot Shea or me an email in our presenter site on the Dupalcon and we'll be available for a while after the presentation as well so feel free to come and say it Hi guys, I'm Senpai and just last week there was a new Drush alias committed to Drush 5 that in one step will disable all enabled contrib modules it loops through the site looking for anything that's not core and not theme and disables it in a single command and if you're savvy you can also get that to export to a text file so that you can use the same command in reverse to re-enable everything so you might want to look for that it's kind of cool because Drupal 7 runs the install files of all the modules that are in the site regardless of whether they're disabled or not, how are you guys handling that and do you find that it's still necessary to disable contribs or does it matter from upgrading from Drupal 6 to 7, absolutely, disable your contrib modules prior to operating core what I actually did with this script is because of the way that this works it will actually try to upgrade not only the core, but all the contrib modules at once I have this in a git branch that actually checks out from a D6 branch to a D7 branch without any contrib modules in it so then it runs core very cleanly without any interference from any of the contrib modules completes that and then checks out a new branch which has all the contrib modules in it and then runs the enables and runs all the updates on the D7 versions of those that's kind of how that works though I think it's important to disable them prior to upgrading just a quick question for the drush command which one was that it's actually commented out in one of the RC files I think it's not in core drush but they put it in there as a reference it's called disk-all and you can find the Drupal.org note I think it's 1304400 look it up give or take one or two right great so thank you do you have any experience with upgrading internationalization or the domains models can you talk about that I'm going to be extremely honest with you you know I'm going to be very honest with you the answer would be no for that sorry you mentioned going all the way to dev versions of all your contributed modules rather than a stable release that seems crazy but yeah absolutely the reason why is a lot of the development versions have the bug fixes that were pushed out for the upgrade to Drupal 7 there are quite a few actual Drupal 7 modules that we run development versions of just because things like even like c-tools and views those have the latest bug fixes and those are actually the latest and stablest modules out there so we're doing running the dev versions of things and it is not for every module sometimes it is best that you run the stable version in Drupal 7 but when you're going to upgrade from 6 to 7 majority of the time you want to upgrade to the development version because it has all the latest code and then in the upgrade process or patches that were needed to be applied to that that's for both in 6 and 7 well 6 will definitely development version 7 you can upgrade to stable branches sorry for two questions but the other one is is this a good moment to switch to a different theme or should that sort of be a separate project is this a good moment for that by switch to a different theme do you mean another contributor going from specifically for me Zen to Omega well I have a bit of a bias against Zen so I have to take my two cents on that one I'm sure there will be a few guys arguing with me in this code absolutely I think this is a wonderful time to really take the time to move from your old theme into a new modern responsive layout again like Dries pointed out mobile is very big and is something you should consider so yes this is the time to go so I'm going to pause you for one second here I'm just going to quickly show you this is completed so hopefully we have a new site and I get nervous about this this block administration was assigned to an invalid region that tends to happen so the layout might look a little bit different but when we get back we'll find out come on one two three go that doesn't count as a fail that's a macOS problem okay so this is the moment of truth hopefully we have a final tally on the when I stop counting okay so this is the Drupal 6 site hopefully it looks like something a little bit like the Drupal 7 site when I hit this refresh button so fingers crossed for many people hey it worked so it's there as much as that was done during the live demonstration that took a while and again it took a few minutes to run as well so quick point is we'll get to the questions in a sec not everything does get across 100% with this you'll notice that the blog is missing some images and some social media links those fields a lot of times are contributed fields and actually have to come in and upgrade them using the cckmigrate field upgrade tool that comes out with core while Shay is getting to that tool I'm just going to quickly answer a question that was posted to you on Twitter you said there are two ways upgrade versus fresh install which do you prefer or had to take most of the time you works it really depends on the project that you're working with if the site is relatively straightforward it can save you a lot of time to have all that content moved over and the content types moved over and you don't have to recreate any of this but the moment you get into more complex projects especially if there are new requirements that came in as part of that project that's when it then becomes something where we kind of like say okay you know what this might actually be a good case where it would make more sense to start with a clean slate and just migrate the content over I'm going to quickly go through this page and we'll get to the questions again what this page is it's under the structure and then migrate fields I'm using the admin menu module for those that are wondering what that is this will show you some of the fields that didn't actually make it through during core update and the reason why so we have a date field the 5 star rating field and an image thumbnail field that didn't make it across and also a field listed at the bottom here saying it's missing a reference so this is one of the trouble modules the node reference field there's multiple new entity reference fields that you'll have to either migrate to or provide a transition to the modules we have date a new 5 star and field thumb come in here you check them off on the fields and you run the migrate selected fields button and what this will do is actually migrate your old fields up to the new Drupal 7 entities so that will then allow the site to show the 5 star ratings and the images again I'll show you that in a sec so if we carry on with the questions yes you mentioned sites using Drupal 6 sites using Goober Cart did you elaborate on that I'll be honest I'm not an e-commerce expert we have another individual within our office that takes care of that but as far as e-commerce goes and from what I understand is that Uber Cart hasn't progressed as far as the commerce module and that is the focus in Drupal 7 there's going to be a lot more development happening for the commerce module like I mentioned that the commerce guys acquired a whole bunch of funding without that one so that will most likely be the dominant e-commerce tool for Drupal 7 so that's a consideration you should have what tips or recommendations would you recommend for dealing with a lot of used template files and at what point would you maybe not pursue the upgrade path is there a certain number or complexity there's any magical number a lot of those views template fields too you might just even have a syntax change with the actual wrapper element that can be accomplished a lot of times through things like semantic views and the new view 7 will allow you to pick and choose wrapper and labels that again is a bit of a give and take you'd have to take a look and see what was actually done in those views template files as well which would create even more of a nightmare so it's really hard to say if there's a magic number for that again if there's logic and there is a whole bunch of files and they all have logic definitely something to look into even creating fresh new template files but I can't really give you a magic number on that one I mean in going forward properly you definitely want to look at those template files and just create it in order to make that field be in a span tag instead of like a diff tag or something like that and audit it in this way and try to get rid of these template files that don't have any additional logic in because it has become now in the latest views version in 777 so easy to to do that right through the UI thanks for the demo pretty impressive I think you addressed this question like about five minutes ago while we were waiting but let me maybe you can detail a little bit more you said that in some cases when the site is a bit complicated a bit complex I should say then it's best to try a migrate strategy that integrates and you actually my question was about no reference and you addressed that in the sense that now there is the entities reference module and with multi-values when you have no reference that is multi-values and how you go about that do you run first and upgrade and then you take care of things that those connections that were not properly migrated or how would you go about that in a case like this again Drush can probably be a big friend for you because the thing is you're not losing anything in the database the information and the references are all there so if you have something where really there is where you don't know exactly there is no upgrade path there is nothing documented because it's a very specific case or so through Drush you can run your own PHP scripts with the whole bootstrap so you have everything to you and it's basically just as if you would write your own module so going back to what I mentioned in the beginning the upgrade for Portland State University from Drupal 6 to Drupal 7 there were a number of things that we needed to adjust in this way so what we had was about 10 times larger amount of lines of code and scripts that what Shea was using for that demo today in order to upgrade these multi sites and then also run specific upgrades where there was no way to go from what they had in the old system and how it was supposed to work in the new system where you just had to go in and say okay this new module is saving the data information in this way so what I need to do is I get the information from the old tables and I'm plugging them into the new tables and regarding reference I think the jury is a little bit out there because there are two modules that are competing in this realm one is entity reference and the other one is just references I think so that's a little bit it's hard to say which one to go there at the moment yeah there's a third one out there I can't remember what it's called that it does take care of that that gap between six and seven it's kind of a patch module that is out there I can't remember the name but it does for this particular one it allows you to upgrade into it and then from there you might be able to easily use that kind of word fun but may be able to manipulate those references from there to the new entity reference field for example a little easier than it would be directly coming from six hi I have two questions actually the first one is you mentioned about IMCE and media module is there a what's the technical reason for switching to media and Drupal 7 versus just staying with IMCE you can stay with IMCE there's no problem with that at all and actually a lot of guys still use that as far as the new functionality in 7 media module is pretty cool it's really it's easy to manage it allows you to organize folders and create thumbnails and it integrates with WYSIWYG so it really is the the new leader in what's going to go forward in file management so IMCE still works but again you're working on file directory it's a file browser media module has it actually creates file entities and manages them on top of that so there's a lot more power with using the media module and you can import your existing file structures into it so you don't have to it is a preference choice but I quite recommend using it I use it for all the states I build going forward the other question is I'm from a large educational institution and it's interesting to hear that you did Portland State University is there any specific advice you'd give because quite a few people at our university have taken the migrate or rebuild the scratch was there anything being in the university situation that you could think of you would add as good advice well I think in this case why we chose the upgrade was because how they had their content type structured beforehand was really simple, relatively simple they didn't use Drupal 6 to its full potential so the upgrade was just an easier step especially when you were thinking about like 180 like when we started the project it was only 160 site by the time we came to the point where we were saying it was like 180 up to 180, 185 sites so it really again it really depends on do you want to introduce new functionality there is it just about getting it from one platform and the other but it should just do basically the same thing I think this is a you have to look at this on a case by case there is no general rule where you can say this is the if your site falls under these criteria you do upgrade if it goes beyond that you should migrate I think this board is like its large gray zone where you have to really do the content audit and also the site audit about the features and functionality definitely if you want to go a step further if you want to go and say you want to use this opportunity to introduce new features and to introduce a new theme and these kind of things then it's definitely something where migrating it might be actually the better option where the time that you would spend on figuring out how to upgrade it you could use that time against building something new if that somehow makes sense so I have two questions as well the first is how many people did you have on your migration project and how long did it take this is it this is the two of us here I get to steer from the Portland State people there in the back row heights so how long did the the actual technical migration and just not or shake your head the actual part on the code base to run all of these scripts we had them done like in four days a week was that about right and then after that there still was it still was necessary to actually go in and check some of the entered content manually and for that we had we had a couple of more people I don't know how big the team was that we additionally got to go through these three sites and check a couple of manual things regarding tables that for example were in the body field and how they look and these kind of things that are really hard to automate one more question we can do one more question and I think then sorry was that four days to run the scripts or four days to build the scripts oh no building the scripts so long yeah that's how long did that process take because there was a couple of features there that actually changed on us so not only did we write it once where we had to write it a couple of times one example was that media module they changed their underlying methodology of how they're actually going to handle files so we had an upgrade path for that or a migration path for that and then they decided that we're not going to do this anymore and completely changed it so that was a big headache on our side of things to move it over so there was quite a few late nights I'd be hard pressed to put a number on it to be honest but yeah this one here I put in probably 22 hours I think was setting up the sites and getting up configured and working out patches and things like that and that's not including this morning okay thanks everyone and also thanks for all your messages on the back channel there