 OK. Hello everyone, this is a talk on sort of the history of Drupal, the development over all 15 versions of Drupal, sort of a high-level overflow, so overview of everything, so sort of where things happened and things like that. This text here was actually from the first version of Drupal 1 and how they were promoting Drupal, so I'm Gordon Hayden, I've been developing with Drupal since 2001, core contributor, contributed modules, I've been maintaining the e-commerce site, e-commerce module when that started in about 4.3 contributions to that and then I took it over. As well as a whole heap of other modules and contributions to that. I also organised the very first Drupal meet-up in Australia, or actually the Southern Hemisphere in that, so you guys having a good DrupalCon, enjoying it? Or do I have to go on to my alternative slides that say how to be excited about DrupalCon? So yeah, so this was where we started, the 22nd of April 2006 in a small cafe in Smith Street in Melbourne, so there was the seven of us. There is Simon Hobbs and Jeremy Espin, they're still around here as well, so it's sort of been a long time coming and we're just so pleased that we've finally got DrupalCon down under, so it's really good. Now, we started off with, DrupalCon was the first release, it was released when was it? The 15th of January 2001, and as you can see from the logo at the top, not branded as Drupal. So, we had things like the current module system that we've currently got in right through to Drupal 7. It's been added to, but it's pretty much stayed the same, so basically the module invoke, module invoke all, actually I don't think module invoke all was there, but so it sort of stood up right from the start, so really good. A few bad things, registered globals, we had them enabled. Now you know on PHP you do registered globals, anything that is posted or any variables that are posted or put onto the get string automatically come into PHP as variables, so very bad and that was how we did things at the very beginning. Our basic theme engine was very basic and it was based on objects, so it was just an object with the theme page in it to print the header, how you did the footer, very simplistic. We also used, now one of the big arguments that's always sort of come through is that why isn't Drupal using first class objects? Well actually we did right from the start, we were using first class objects, so content, user, everything, done that way. There was lots of hard coded HTML, real bad stuff, it was quite ugly. And also like PHP we used the short tags for PHP, so to invoke it. And another thing was that we had now actually a lot of WordPress still does that, it still has a start, open and close tags, we got rid of the close tags a while ago. So these are the statistics, this is all done with PHP like, so yeah as you can see 49 files and only 6300 lines of code, so fairly small but did quite a lot. So we'll do a quick demo of Drupal 1, so that's there, there. Okay so here is Drupal 1 after you installed it, so the home page there and so you could then create content. So we'll submit some news, so submitting a story, same as what you do now, so test, so you got your teaser and your extended story. And then you'd say which category you would put into it. Same as before, previewing it, so this is all pretty much hard coded, you don't have much control over what you do. So once you've done this you can then submit your submission. Okay, thank you for submitting. Most of the content didn't actually show up, you had to actually administer it, do it through the administration. So you had your submission queue there, so people had to go into the admin system. And now we're going to put, okay, there's the story there, we could edit it and then publish it to the front page. I'll just get it down, so posted story and save it. Now the other fun thing was that there was actually no direct link that I could find to get back to the main site, other than changing the URL. So there was the posted announcement. So that was Drupal 1, I actually had that running, managed to get that running, that was a little bit of an effort to get running. So I actually had to hack it a little bit and get rid of pesky things like checking that passwords were correct. Version 2, still no Drupal, it's stilldrop.org, there. So version 2 was the 15th of March, so only what was it, 59 days later, 3 months later we had version 2. And this is where we got the T function, so right from version 2 we started to get the basics of our translation system. The user permission screen, that came in in version 2 as well, before that it was pretty much hard coded. Did a bit of source cleanup and we changed everything to long tags, so a little bit more there. Okay, as you can see it was only a small update, so we had about a 14% increase in code and files and size, so it did increase a little bit. As you can see from here, it's pretty much the same as what we had in 1, it didn't change a lot. So we'll probably just skip over this demo since we've got a lot to go through. Drupal 3, we got the node system. Now this is, we still have this today, a little bit more complex than what we had, but we got the node system. So this is when I was 15th of August 2001, we had the node system implemented within Drupal. We've added a lot of stuff to it, but the basic principles of the node system haven't changed much right through to 7. So getting the node system, because as you know with Drupal 6 and 7, you can add your contents as you want and things. All your content types were hard-coded in there, so we had things like the blog module, the page module, the forum module and the book module, which were all basically different types of nodes. And the other thing that we got was we got caching support. It hasn't changed a lot, we ought to do some more with it, but the basic APIs have stayed the same, which is really good. As you can see also from the top there, the logo, we're sort of getting more and more towards what our current logo looks like. So as you can see, we've actually increased, because like the node system went in, Drupal doubled in size. So we got about 71 files and 12,000 lines of code, so it was getting bigger all the time. So this is Drupal 3, we'll pop over to that, there it goes. Okay, so Drupal 3, similar things. So we also had things like submissions, baked in, there was actually some basic rating systems, things like that. So we could actually then go and add content. So if we add a blog entry, I don't think I had anything else enabled. So a little bit tidier on the theme in that, so we could add these things in straight away. So same restriction on the preview, so didn't have a lot of, and we still had to submit things. So we were getting better, so then we had our submission queue, actually this one got submitted straight away. Don't think it would have appeared on the home page. So administering saw the same deal as a sort of more of a complete system by itself. So we had the content option, which said there, and then all the different parts of a node were different edit options, were through different pages. So you sort of did everything in micro formats instead of loading them in. So we could promote this to the front page. So when that saved, as soon as you do that, it allowed us to sort of get, and also we had a link back to the home page, which actually made things a little bit nicer. So then we got Drupal 4. So this is sort of thing, as you can see from the top, we became branded as Drupal from now. So our default theme said we were Drupal, which was good, instead of being drop.org. So it took a bit of time for them to get that, but they got there in the end. We had the taxonomy module. Just about everyone uses the taxonomy module. It's changed a little bit, but it's pretty much stayed the same from when it was implemented. So it stood the test of time for us. Caching of pages, so being able to scale sites was starting to become more important to us, and being able to increase what we could do with the throughput of the sites and that. We got the update system, so the update.php, but at this stage it only worked with core. Contributed modules at that stage, we had to write our own update system, and most people had sort of hacked up versions of update.php in their directories. We were able to enable and disable modules via the admin system. Made things a little bit easier to maintain. We also started getting valid XHTML, which another improvement. And we also got gained support via the peer database layers. We were able to load these things up for PG SQL. So we had multiple systems that we could handle. And all of the first class objects got removed, so we had nothing. The only thing that was left was there were six objects left in the system and most of those were to do with the RPC system and the last couple were for themes. Themes we still had our basic object rendering system, which was pretty rubbish. So as you can see, we sort of increased half again. So we're starting to get bigger, more sophisticated, a few things in there. Okay, so as you can see, it doesn't like Safari, the browser Safari. So we're up to Drupal 4. So it gave us a little bit more. So a similar feel in that with how you did things. So we could, creating a story, very similar. So we also started to get a bit more control when we did the story as well. And also one of the things that they were talking about in the twig ones was how they were going to layout our theme, the node entry in two columns. Four, we already had it. So we went away from that. So defaults were, so we could make changes as was sort of done from there on. So we can move things around a lot of our stuff, still forced to do the preview. There's probably a setting for that. So this was sort of as the node system was starting to mature and things. So yep, as you can see, we've got our new story there and everything's there. Still the very bland and very minimal administration system, which wasn't terribly important, but it was something that we had to deal with. So 4.1 was a bit of a maintenance release. We rewrote some big chunks of code. So 231 days that it took to sort of get this one out. We got the Marvin theme, so new iteration of the themes again, so changes as we were evolving in that. So as you can see with our logo, the logo is pretty much what we have today. It's sort of there. So it's been a while since we've had this logo and it's pretty much stayed the same for quite a while. Probably shined up a bit and made a little bit better. Performance, we got the profile module. We got the throttle module. Now the throttle module has been removed in seven. So one of the ideas behind the performance was, as you start it gets busier, let's just remove some features and let it handle things better. We got pager support. So being able to go through next, next, next on the page was really good. Another thing that we got was remote authentication, so you could implement it. It's something that we have now, which is really good for when you're implementing into companies that already have an authentication system. It means that we can actually just say, okay, no, we're not going to authenticate, make you have a new set of passwords and that we can communicate with your current system, which makes things a little bit better. So yeah, as you can see from the line number and that didn't really grow a lot. There are some versions that grew and some versions that didn't. So as you can see from the theme there with the change, we sort of ended up with a bit of a cleaner theme. Still tables based, it wasn't so much later that we got these things. 4.2, now this is where things start at some of the beginnings of things. Now this was a hook that I contributed. It was actually probably, well when I sort of consider it, it's the start of one of the biggest hooks that is used within Drupal. Sort of helped start a movement. Hook text area was when we were able to start putting the whizzigwig editors into Drupal. Didn't work very well. It was a little bit hackish. It was allowed us to attach them to each thing. This was on the old form system too, which basically you would call the functions and it would spit out pure HTML instead of like the current form API that we've got. We got clean URLs, made things a lot nicer and able us to do some really nice things to make our sites better SEO-wise. We got the X template theme. Now, so this was actually, we still had the old version of our theming engine, so all object-based in that, but then we got the X template theme which was a new method of templating files. It was sort of all in one file and a little bit horrid, but it was a step up from what we had originally. It was sort of more of a template mentality. We gained a new admin theme, so it actually started to look a bit nicer. OK, so as you can see, not much of a change, so it's pretty much stayed the same. OK, so I will pop over over to this guy here. They're up to... So this is here. No, it's actually quite a clean theme, even though it is table-based and stuff. So we've got the... So pretty much the similar things. Some of the terms are starting to come in, like editing your account and things. So the way the story is, as you can see, it's changed around. So we've got all the publishing options up the top and then we start... We start putting in the content. Now, as you'll notice too, we've no longer got an abstract or the teaser. So it actually created that on the fly for us. And by default, we're able to submit. So some refinements of the permission system and what we can do as administrators since I'm user one still. So same, we're not viewing the page on there. And as you can see from here, in the administration, the VM slow, we've got the new look there. So it actually has sort of set out a lot nicer and things. So a little bit easier to deal with, but still not brilliant. OK, 4.3 registered globals we turned off. That made life a lot easier. A lot more secure for us. So being able to handle these things. Configurable URLs for menus. So we could start actually overriding with a path auto and things like that. We changed the theming system and now covers the admin section as well. So the whole of Drupal could actually be themed. Database prefixing. Don't know how many people used it, but it helped with a lot of the shared hosting services. It means we could actually use one database and have many sites on it, which was quite good. Multiple users were able to log in and anonymous sessions. So we had a little bit more power. So this is sort of where we were able to get some of these things in for e-commerce and things like that. It helped us do things. Not many changes there on the code-wise with the stats. And we're pretty much still using the same theme. So basically what was it, the Marvin theme? So probably with a few small tweaks and that, but it was starting to get a bit nicer. 4.4. Now, this was something that I remembered because I actually had a look at my first post that I posted to Drupal. Was basically, why can't anonymous users view my content? It took about four versions before they had set that as default. So when you install Drupal, anonymous users could access content. So that was actually quite good. It made things that a little bit easier. The theme system was rewritten. Now, this is what we've currently got today right through to Drupal 7. So we've got all the theme functions. Didn't have the templates at that stage? At this stage, we were still using didn't have PHP template at this stage. So as we got, we got the X template engine. So it was a single HTML file which had blocks in it. Very horrible to work with. Very horrible to make different methods of accessing these things. We also got the blue marine theme. So that hung around for quite a while. And it managed to get in there. Also, we started doing some performance enhancements. Up until this stage, everything had been called through common.inc was included. 4.4, we got the bootstrap.inc. So we had a reduced footprint when we were loading the system up. So we didn't have to boot everything up all at once just to get going. So performance was starting to work towards us. Customisable 404 pages made things a lot nicer. And we also started to get some basic functionality to work with files. Before this point, there was basically one module to allow you to do files and which was the file store module. I can't remember if I'd released the second one, but the original one was written and we were we were URL encoding the file and saving it to the database as a blob. So it was yuck. So as you can see, it's sort of a little bit more of an incremental update. So here's Drupal 4.4. We will OK 4.3 2.3 OK So here it is here. I'm not going to create content. It's pretty much the same as what we had before. So actually we started getting the option, so a single create content link followed by a list of all the content. Same as what we've got now. So when you're adding page stories. So if I just add a story, I won't post one. It's a bit repetitive. So and also with the menu system, we were able to do things like this too. So this is where one of the enhancements were from. So as you can see here from the menu system, it starts. It's pretty much similar to what we've got, but most of the attributes were above the content itself. One of the big changes that I think happened in five or six somewhere. So then we've got the administration administer section. Same thing. It goes straight across the whole lot. Unfortunately it made things hard because especially with some of the more complex themes, it meant that we were working that you had to make the theme work for any of your admin sections and more. And at this stage, you couldn't really switch themes on the fly. So having an admin theme wasn't really possible. So similar configuration options that we had. So just like that. Single pages with sort of everything. Starting to get a little bit nicer in administering but still not very good. Drupal was still very extensible and this is sort of where a lot of people, a lot of the more experienced people started to come in. This is where we started getting things like a proper menu system which really helped. The menu system before was built and wasn't even stored to the database. So we had a lot of nice things. Better things with the menus in that. We actually now got one of the things that we can do is since 4.5, we've had pluggable theme engines. So there was actually at this stage like we still had X template X template there but we started getting other themes engines. This is actually where the PHP template engine which we currently have in 7. This is where it got loaded into the system. But we had others too like we had Smarty. So you could actually run Smarty as your template engine as your theme engine and do that. So they were all there were sort of just deciding the best way. We got the upload module so people could actually do uploads of files and things like that. So that was starting to get a step. It was very basic and not very well done. Proper PGSQL support. Being able to do multiple databases was something that we were always interested in. But my SQL made it a lot. Had very good support for websites nice and fast but still a lot of people also wanted progress SQL. We also started adding a lot of our documentation and everything. I'm not sure if the API site started then but it's sort of one of the things why we started moving towards so everything was more documented better to work with. Sort of we increased by about a quarter between four and five so it was quite not a big jump, not a lot of major changes. So this is with five so this is 4.5 so it's close to the same not huge changes but it's nice we'll go on to 4.6 the current system that we've got is doing up multiple sites so the sites default so you go to sites, food.bar all that came in in 4.6 enabled us to do some nice things there we started getting basic image handling being able to do some manipulation on images and started to get some nice digital assets stuff still very basic but a lot better than what we had 4.6 is where we've got PHP 5 support so before then nothing worked on five and it was all PHP 4 so again incremental release, few bugs not a lot of really good innovation but it was sort of starting to working towards where we are today as you can see we're still using the blue marine theme so not a lot it actually changed 4.7 is probably where everything changed for Drupal this is where we got the form API this was massive change over what and because of because of this little thing we started to get the mantra of don't hack core so you could pretty much do anything without actually having to change core which was something that no one had actually thought about before then so this is where everything sort of started from it got added to help with HTML editors and sort of grew a life of its own we removed the X template engine and put in PHP template so straight down to pure the template files what we've got now it made things a lot easier to build in that so that was really good blue marine was converted to PHP template so right from as soon as we got it even though we had the same theme it was it was still an improvement so it was made into the better one still table based and a little bit of CSS free tagging support in the taxonomy module so 4.7 was really a game changer for us the other thing is the upgrade system supports contributed modules it made it so easy for you to update your entire site in one go which made things a lot nicer and made things easier for the authors of contributed modules and things like we got elements like collapsible field set so we had a little bit of JavaScript in there as well and the other thing that happened was we removed all the trailing PHP close tags so it just goes to the end of the file other CMSs some of them still have it we always have just the start at the top and one at the bottom it sort of helps solve the session breaking problems that you get sometimes which as long as you're not adding the bottom one you should never get it so as you can see now we sort of pretty much we actually added a lot of code so it was about 20% increase in code so it was a pretty big change as you can see there with 4.7 we still got the blue marine theme still looks pretty much the same as what the last couple of versions did we'll have a quick look at this one 4.7 as you can see there we actually also got so we've got creating content sort of same methodology come on so we've got the node add and things a few other modules started coming along which enabled us to do opening these things without refreshing the page and things like that which made life a little bit easier and more fun so my virtual machines must be getting a little bit tired so we actually had some changes and how things work in our layout so at this point with Drupal 7 we went in so every form within Drupal 7 was completely rewritten around how things happened there so and because of the collapsible field sets that we gained so and remember these were also these were pre-JQuery 2 so these were actually really quite ugly in how they were implemented so and because of hook form alter we could start altering these forms by contributed module adding fields that we wanted and even removing fields or setting the access there so that was actually quite a large that was actually a radical change so and then the the administration area pretty much the same thing again which made life which sort of helped us organise these things but still the same problems that we had which was when you're theming a site you had to theme the entire site ok Drupal 5 this was actually quite a it was a significant change we started working towards cleaning it up and trying to stop being the ugly duckling so we got configurable content type so we could actually configure them on the file so a lot of modules actually disappeared we ended up adding more hook alters so we're starting to realise the power of hook form alter and deploying this across many more parts of the system so it made it easier for us to for modules outside the modules even in contributed modules to manipulate what these other modules were doing which made things a lot easier we got jQuery and everyone knows jQuery is just fucking awesome so it makes makes life so much easier and you don't have to be a huge whiz to try and get through the problems of the issues with cross browser compatibility remember at this stage we still had problems with IE IE is still a problem these days but it's you can pretty much get away with any standard stuff which helps things we got changes for different caching engines so in Drupal 5 things like we were able to cache into memcache so we started looking towards performance a little bit more as well so that made life a lot easier in that aspect Drupal 5 actually this is probably one of the biggest things that helped us it was easier to install it up until this stage we were actually you were doing a load of a MySQL dump file into your database now we were able to configure it right from the start profiles which at this stage profiles didn't take off are starting to get better these days and people are starting to implement like we're getting some of the other systems that are creating their new profiles for the system to work and make it a lot better we got the garland theme so this was one of our attempts to actually make it a nice theme so when you're comparing things especially between like Joomla at that stage and Drupal, Drupal was the ugly duckling but Drupal had the much better APIs and programming standards sites all support was added so we could start creating even though we had more options for using multiple sites we could put everything into sites all and use it across the board which was made life a little bit easier and much nicer especially if you were dealing with sites that had a lot of commonalities between them if you were using the multiple sites and these days a lot of our standard practices is everything goes into sites all so bit of an increase in the code which made life starting to get a bit heavier and things so that was quite good so this is probably what you would call modern Drupal so we'll go and have a quick look at this going across to it so this is pretty much what Drupal was what everyone sees Drupal as like, 6 changed a bit but it's still it's still got a lot of similarities to 5 a lot of work with 6 was done underneath the hood so it was so this is why we all started also using things like admin menu and things like that so we could get around the site a lot faster okay so okay okay so same things, a lot nicer theme which gave us a lot better so we'd actually gone from in Drupal in 4.7 which we had Blue Marine which was a table based theme to Garland in 5 which was a proper CSS theme so you fluid layouts and things like that everything else was pretty much the same as a few improvements things that make it nice is there anything else nice in here okay so administration had changed a little bit mainly in how things were laid out but it was we also got things like the status status report so giving us a bit of a health check on the site and what things needed to be done we actually also got instead of in 4.7 and before we were getting the watchdog whenever we went in here now we were sort of getting more feedback on what was happening okay Drupal 6 now this was actually a fairly significant one so this actually took over a year to develop so this was probably starting to become one of our starting where we were getting our longer development cycles so we got the batch API this was really good for doing long running processes like VBO was able to do that it meant that in it was taken out of the update PHP so that was sort of split off into its own area so we could do it and doing batching off forms was just so easy it wasn't funny it was really nice form API had been rewritten a little bit we made things a bit we got some improvements there schema API was added so we were starting to also work towards a not being tied directly to MySQL so we were meant for developers that when we released when we created our module we didn't have to create a MySQL and a PG SQL version of the templates it just worked in both that was the theory anyway you had to make sure that your SQL was very generic so that it would work in both but otherwise you were sort of working out which was wet and splitting if you needed to we got support for reverse proxies again improving performance continuing this on in sex we got press flow so any work with sex sort of became if you were doing any performance work slow Drupal 6 just wouldn't cut it but we got it which helped with 7 6 we got the Drupal it sort of created a single API for adding hook alters to anywhere on the system so easily add them one line in your code here and there all of a sudden you had a hook you had a hook alter in your code so people could start dealing with what you were doing also started to get a little bit more security conscious here PHP filter was moved into its own module so you could actually run your site without having PHP filter enabled which made a lot of made things work a little bit better a lot of people like even myself we sort of re-enable these things sometimes just to do some of the mucky work modules so in 6 there was a big changes to the template so actually we were able to put templates into modules so this made things a lot nicer means that we could do it sort of wasn't being able to do the dream that I was wanting which was basically everything is templates getting rid of these things sort of making it easier for themas to use the system we were able to hook watchdog was added so because this was a big performance issue the DB watchlog most people get told that one of the first things you do is you disable the DB log just because it hits the database too often syslog came with the system as well as the DB log and which gave us a lot of which meant that we could log all these things that were getting logged really quickly and we could spin this stuff off to wherever and it meant that adding your own logging system for within your organisation was good you could just queue them up send them across to another system and go for it also there was a huge clean up in 6 this is where we got being able to run PHP with just eall so any error would get displayed to the screen so one of the things you should be doing these days whenever you're developing in Drupal is have eall set and display errors if you're getting warnings or anything like that you should be fixing them so another thing that came in Drupal 6 was being able to run Drupal from a shell it was very basic and at the stage when it was written it was more designed so that we could run cron from from a shell instead of through through the web browser which made things a lot better so that actually really helped it's also sort of where utilities like Drush came from so once we'd sort of gotten over this initial step of bootstrapping Drupal and doing that we then started getting Drush and everyone should be using Drush so it should be pretty much your primary toolkit so as you can see we sort of started even though we're getting bigger we're sort of increasing in size as you can see like 67,000 lines of code so Drupal is getting bigger more files now a lot of the increase in the files there like 51% more files was actually from templates so we could add in templates and make it easier to style on things like that so Drupal 6 most people here have probably seen it so I'm not going to demo it it's it's still out there and a lot of people are using it mainly because the upgrade path to 7 is so hard okay 7 7 was a huge release as you can see there what is it 1057 days between 6.0 and 7.0 that was a gigantic effort and a lot of work but in the end I think it's worth it it really has made things a lot nicer and we're getting there fields API so no more CCK which was it was nice but it was only on nodes we didn't want it on nodes we wanted to be able to put fields on anything so getting that was good system testing so this is where we started getting now unfortunately these were end to end tests we can't actually split these things up and do unit tests properly and I think there is a couple 7 but it's all pretty much end to end testing running the whole system to make it work we got DBTNG so from a lot of the early stuff that we had a lot of the a lot of the hacks was from that people would have was always from SQL injections if you're doing this right you should never have an SQL injection pretty much we've gotten rid of the majority of that anyway because most data that was coming into the system is now being filtered out properly so it makes life a little easier pluggable password system so we can actually if you don't like how the internal system is hashed we can actually change that now so it makes it a lot nicer we also got salted passwords which is actually really good from a security point of view but if you're trying to hack a site and you've forgotten the password you can't just go to an MD5 rainbow table and look up your password so we got a lot of use of first class objects so Drupal 7 became a lot more object orientated it made enable us to do some things objects are good for doing some heavy lifting and stuff it makes life easier so and as far as I know I didn't get a chance to look it up node and user and a lot of the old objects still standard class so still not still haven't returned to first class objects we got the QAPI now probably not many people see this but it's used by the aggregator so your cron doesn't time out it just starts running in the background really quite cool what we can do actually with with that there's a there's some plugins because it's a pluggable system we're starting to think more pluggable things we can actually replace the Q system with other systems such as Beanstalk now the Beanstalk system that's in Drupal is actually running all of the get commits on Drupal.org so every time you do a push to Drupal.org it goes through the Drupal queuing system and does all the processing and all the background stuff that we do now so that we can seal all this information on Drupal.org and also we got lazy loading of classes so this meant that when we're this meant for us that we didn't have to load up everything to start it we did try to implement lazy loading of functions but that kind of caused a lot of problems now this was a huge upgrade so it got very big so it was that 65% increase in the number of lines of code and 50% increase in the number of files it it got a lot bigger some people even say that like 7 is still slower than 6 but it is getting there and if you can figure up your cases right and stuff like that the your changes for doing these things for speeding things up and being able to scale is just quite phenomenal so that's pretty much up to now and this is all the good stuff that's coming hopefully next year so one of the biggest changes is with the subsystem we're getting symphony a lot of the symphony components are being dragged in we can actually use these so like the HTTP kernel which objects the HTTP foundation a lot of that stuff we can use we can also use anything that's standard files so we can drag it in so who saw the symphony the symphony demo yesterday I think it was, they were talking about a lot of the objects in that yeah not the twig one the other one so that one there was basically Drupal can bring in things from outside so we can start getting rid of the not made here which made things a little bit better we got the twig theme engine if anyone's taken a look at this this is cool and it's really really fast it gets a lot faster and things like that greater use of objects so we're using a lot more first class objects to do things so it makes things really good PSR 0 compliant so pretty much it means that we can take things like twig and symphony and doctrine and all that and put it into Drupal and make use of it and it won't conflict with what we're using in there so it makes use of namespaces we're able to use all the latest things that PHP 5.3 gives us which is really good the other thing is removal of all the themes so what's going to happen at 8 is everything is a template which is brilliant it makes it's life so much easier not only have we got a very good theming engine and with twig we've got a really good it means that themies can just grab templates and alter them as needed and everything is a template they don't have to understand code or copy things it makes it really good one of the last things that I didn't get in here views and core that is awesome it means that basically the implications of having views and core now when did people start using 7 well actually when did people start using 6 it was when views and cck were upgraded to 6 and released when did people start using 7 when views was released so when are they going to start using 8 well the day it's released because views is in it we can do everything there so you can pretty much build a brand new site right from scratch using views and you've got you should have 90% of the tools that you'll need will be in core I think the date modules going in which is probably one of the last things that we'll need we've got some really nice entity reference tools in there so that's going to make things so much better be really quite neat so I'm really excited about 7 especially with the rest stuff it's all built in there and because of the new menu router we can just we don't actually have to build all of Drupal to do things in 6 and 7 like for doing rest calls for application external applications in that we would build up all the themes and everything it was a real it was a real push model so we would build up all the blocks we would build everything up and then when we'd come to creating the XML or the jason on the page we throw everything away and hand it out to them so we did a lot of work for no reason because of the router in 8 we can just say oh this is a rest call well I don't need to build the blocks I don't need all this stuff all I need to do is just spit out this chunk of XML 15 versions of Drupal in an hour I was hoping that I wouldn't go too far over so yeah so thank you very much for your time you have any probably may have a few minutes if anyone's got any quick questions we just got the question when will it be perfect well I don't know Drupal 8 is getting very close maybe 9 or 10 yeah sort of a bit hard I know that around 4.7 we got the onion so it meant that if you did a search on Google for the you got the onion so it was at the top of the list and then 6 and 7 sort of like where Whitehouse.gov came in 7 a lot of big sites came in like now public and things like that so I don't know I've too many back before that probably probably the oldest Drupal developer experienced Drupal developer in Australia which is Simon Lindsay he's actually got a he's got a site, one of his sites which I would say it was very early 4s and he's still running and I think he's upgraded it right through to 7 so my site I think started about 4.5 and went all the way and it's on 7 now so okay yeah thank you very much