Click to see video transcript

Speaker 1: Thank you for joining in on the webinar today. I'm going to go over a few slides and then pass it over to Simon. Today's webinar is: Cost-effective Development with Drupal Commerce, with Simon Bostock from Deeson Online.

Simon: Hello, everybody. This afternoon there will be a short webinar, hopefully followed by some questions around cost-effective e-commerce development. This is particularly with Drupal Commerce, and obviously with Acquia as well, and the idea of the talk really is to talk about how we worked on particular projects, but also about some other projects, and how we try to make sure that we are doing the right things and we are working … devoting our energy towards the right thing.

I work for Deeson Online; we are Britain's oldest Drupal Agency. That’s probably not meant to be doing Drupal longer than everybody else, but we've been around since 1959.

We are Acquia Enterprise Select Partner and we built that to more than 200 Drupal sites and we'll be doing e-commerce sites since 2002, on that picture there. I'm the one in the glasses at the bottom, and that’s the team, the team who worked across the Shepherd Neame Project, which we'll be talking about quite a lot.

The e-commerce work we do, we did the standard bricks and mortar style experiences, so shop replacements, but we also really specialize in doing membership sites as well, and also sites with a lot of digital content, and probably talk a bit about those as well. The project that I'm specifically talking about today is the Shepherd Neame Project. For those of you from outside the U.K., Shepherd Neame is Britain's oldest brewer that’s been going since … I can't remember when actually, but about 400 years, or something like that.

They have about 360 pubs and hotels across the Southeast of England, they also own a number of the biggest beer brands in the U.K. This particular project was a complete redesign and a rebuild of their old site and moving from some Legacy concept management system towards Drupal, and the key parts about it that made it interesting is it's got 360 micro sites contained within the main site. That’s all connected where each pub has its own micro site. The interesting bits which we'll talk a little bit actually are, obviously, the e-commerce part but there's also some geo location features, such that when you go to search for a pub, the website knows where you are. There's also an online job application tool.

That’s me, and the reason I give you my contact details is if anybody would like to ask any follow-up questions that you don’t think of today, then my email, and it's just there. There's also a blog post on our site, that address at the bottom, which will have the slides on immediately after the talk and then also a blog post about e-commerce in general.

We are talking really about Drupal Commerce. Drupal Commerce is a framework, it's a framework for e-commerce things in Drupal, and for the perspective that I'm talking about today then really this is a set of building blocks really, a set of materials that you can build a commerce build out of it. I should have said actually, earlier on, the talk is really, we have done webinars in the past, related to e-commerce which were much more aimed at designers and technical people. This one is aimed at people like me, people who are leading on projects, and I'm a producer, at Deeson Online, so my job is really to make sure that we come and spending money effectively and efficiently, and that clients are getting the best deal for it.

That’s where I'm coming from with Drupal Commerce. Drupal Commerce is very much a starting point for e-commerce development, not the end point. You get a number of tools that you can use to build e-commerce sites, but it doesn’t actually do anything much out of the box.

The three bits I want to talk about with why we use Drupal Commerce and why we chose to use it on Shepherd Neame projects, and almost certainly will choose to use it again in the future. It's one about my job, about using our energy wisely, and energy here means energy, but of course it means money as well. It's about getting the most value for the money that you're spending.

Will talk a bit about how Drupal Commerce integrates with the rest of, both the business, but also the main website. To finish, will talk about some really big-picture stuff about what's happening in Web experience management.

If you'd like to find out about the features, about Drupal Commerce then there's a link just there. Today I won't be talking too much about the features, I'll be talking about the benefits, and as I said, it's the first real thing here is about using energy wisely.
Drupal Commerce like Drupal is an Open Source thing, so it basically means that a lot of very hard work, a lot of the boring stuff has been done by Drupal Commerce, and when I think about Drupal Commerce, I really think that what it's done is exactly the same as Drupal.
It's taking all of that really boring stuff, put it in the background and all of the bits are the same on every e-commerce site across the planet and Drupal Commerce takes control of that and it handles that so that we can actually think about the really interesting things, which is about making good user experiences and making sure people can complete the tasks that they want to do.

As an example of this, the Shepherd Neame main site, what we've got there is a couple of the landing pages, and this is the Shepherd Neame Shop, and as you can see, the Shepherd Neame Shop really neatly inherits all of the design work and the styling that’s gone into the main sites.
Immediately every … we've made a huge site and so we've carried out a bit of branding and then the big redesign and the rebrand of the Shepherd Neame property and the fact that the shop inherits all of the styling from that, there's a huge cost saving for us.

In terms of the other stuff that’s out there, theres loads I think probably hundreds … more than a hundred there anyway, contributed modules to handle all the little bits and functionality that perhaps Drupal Commerce doesn’t do out of the box.

There's also a set of default functionality, and a bit quite active community as well. We found that when we were building this particular site, that some of the pieces of functionality we wanted didn’t exist, but they were in the issue queue, and by the end of the project, before we'd finished some of the … most of the functionality that we wanted had been contributed. It was quite a long project because it was a very big project. It was eight months in the end. At the beginning of the project we raised an issue with the Drupal Commerce community and said we would very much like to be able to do that.

A number of other people said, "Yes, we would also like to be able to do that," and by the end of the project those bits of functionality had been completed, not all of them, but most of them has been completed without any real extra effort from us.

Drupal Commerce is … if you know Drupal, you know Drupal Commerce, or if you are Drupal developers, you know what they're talking about, then they'll also be able to work with Drupal Commerce. As I said before, this is really important for us because it means that we can just concentrate on the really interesting things as opposed to the boring stuff.

If you are considering Drupal Commerce it's probably worth thinking about a few things, and there are some defaults on the Drupal Commerce thing, for example, there are no shipping or payment options, and there are contribution modules to do that, so there is bits of extra functionality that you can plug in, but out of the box from a standing start it doesn’t have any shipping or payment option functionality.

There are some odd things as well. For example, the product entity and product display, this means that when you want to display a project from the Drupal Commerce site you have to create the product and then you have to create the display of that and our clients have told us that this is slightly unusual, and there are very good reasons for this, it means that you can have different sizes of clouds, for example, and variance of products.
Then again, clients have said to us that it feels a little bit odd at first. I think in the end everybody agrees that it's probably the more powerful way of doing things, but worth considering in the beginning. The resource is something called Drupal Commerce Kickstart, and actually that shot there I'm showing you, Commerce Kickstart that’s what it looks like out of the box.

If you have a client that has a URL there, if you visit that URL there you'd have to play around with Commerce Kickstart. We've started using Commerce Kickstart quite a lot for prototyping and it means that when we are working on larger projects we are able to use Commerce Kickstart to knock up something quite quickly, and I'll show you an example in a moment, and that is something that’s better than using Photoshop visuals or something like that.

It means that we can go back to client say, "Have a play around with this. Does this work? How do you think it should work?"
That’s the bit where I think Drupal Commerce really demonstrates good value. The bit where I think it demonstrates power, and certainly how we found it to be very powerful, is in how it integrates with Drupal sites. The first thing to say here and I've put this at the beginning because we should take it lightly. It's more fund, and I'm not saying that as an e-commerce platform aren't as powerful, because they probably are, and it's just that we've found that the things that clients are asking us to do, Drupal Commerce, and actually Drupal e-commerce solutions n general have been more able to do that than, say, some of the other Open Source solutions.

It means we can … there was once … in the past we have used other e-commerce solutions, it meant that we … there was a site, and then have to … we built an e-commerce site and then we had to integrate that with the main site where Drupal Commerce is actually a big part of that. It means we can do all of the things that Drupal is really good at, and Drupal really stands out in some areas which I'll talk about in a second.
The fact that Drupal are good at that, that means that Drupal Commerce is also very, very good at that. There are some things which, for us, we've just not been able to do before and it's a lot of fun.

If you look at the first example of that, I'm not sure how much I like the phrase Content Marketing, but it's something that people are talking about an awful lot now. It means we can integrate the commerce functionality, the e-commerce part, or actually the name content of the site. If you go to a lot of shops online, and you can see that quite often I have a separate blog or a separate site somewhere; whereas for us it's been really useful to have this content linked directly to the shop for all of the benefits that can give.

It also means that we've got really powerful Drupal user roles and commissions, so we can show different versions of the shop or different parts of the shop to different people. This is a prototype that we are making, this is something we've done very little design work on and it is pretty much what commerce looks out of the box, and with that a little bit of styling. Raven is a TV star in the U.K., and when I say a star, she does the kind of Lifestyle TV shows about gardening and things like that, and this is a new shop, that we process happened for her and her company.
Basically what we've got at the top there; is a blog post that went to Salads from the Garden, and we can link that directly into the shop. We've got that, it's not styled very much there, but you can that the related products, and that product there, those orange flowers are linked directly to that blog post. We can do some interesting things like that and that’s a very simple example with blog. Maybe we could do it with any particular type across the Drupal site.

What that means is that basically, if you can describe it, you can pretty much do it, so for example, you could show a product to a person who has made more than 10 comments on the blog, and if you can imagine any situation where that … as I say you can do it, Drupal is fantastic at, not only manipulating the product data, but it can also manipulate the user data, so we can do really interesting things with that.
I'll show you another example now on the Shepherd Neame project. I think the key part about the cost-effective things for the Shepherd Neame is that they're not very … they're not a small company, and cost-effective things for the Shepherd Neame is that they're not very … they're not a small company and cost-effective here doesn’t necessarily mean it's a low-budget affair.

On the Shepherd Neame site they have fans basically, more than customers; they have fans, people who are really devoted to them. They also have shareholders who use their shop and I'll explain how they use them in a minute and how it's very linked to what Drupal does.

If you're a shareholder at Shepherd Neame you basically get a privilege card and a privilege card means that you're basically shown a different shop to everybody else so a different pricing structure anyway. They have a completely separate pricing structure to normal users like you or I. When we were commissioned to do this project; we were commissioned to do actually two projects, one to do the main site build, and two to do a special micro site for Shepherd Neame shareholders.

In fact, what we discovered was that it was fairly simple to just amalgamate those two projects, to put those two projects into one, and if fact, all of the budget that we had for the shareholders' micro site we were able to devote purely to doing the site, because in Drupal terms, the shareholders are just another user, and because they're just another user it's very easy to give them their own specific pieces of information across the site.

We didn’t do very much with this, but I think it's something that we have prototypes and have thought about in the future, but as I said before, the site has some geo-location features, so you can see on this screenshot here that when you go to the Pub Search page, so we have, like I said, 360 retail outlets and the site knows where you are, and we did this very cheaply, we did this … you can't use this on older browsers, this is really optimized for HTML 5 … the more modern browsers and smartphones.

As I said, the site knows where you are and I think we played around with this and this is not in production but you can fairly, simply build geo fences, and what that means is that the site can change according to where you are. If you're in a shop or near a shop or perhaps it would be a ticketed event and you are near the ticketed event, and the site can know that you're there, if you're within that geo-fence and can change show you different content, and I think that’s going to be something that you see more and more often, and it is becoming to be something that is quite cheap to build.

All of this really links in to the idea of what people are beginning to call I think, Web experience management. I think Web experience management is still one of those slightly-awkward phrases that is used by a lot of people who don’t really know what it means, and it's … it's really about building cross-channel services and if you look at the Shepherd Neame project, then what we've got there is we have a shop and we have a number of … so I've just come too quickly on that side … we have a shop and a number of retail services and if you're a customer of Shepherd Neame you're not interested in whether the shop is separate to the retail places.

As much as possible for a user this should be integrated, work together rather than being in different silos. I think what we have with Drupal Commerce is a way to build those things and integrate them into the site so that we really begin to think about the customer journeys and the user experience across all of the different places where they go to.

One of the tools that we've really found successful actually to have a look at really cheaply improve the things that we've built and the e-commerce site, there's something called CrazyEgg. CrazyEgg, which is all one word, it's CrazyEgg.Com is a tool which you … a bit like Google Analytics that you can plug into a site and it will basically show you where people are clicking. This is the CrazyEgg on our site, on the Deeson site. What it's told us very, very quickly is that one of the menu items in the top there is it has performed very, very badly and nobody has clicked on it, and nobody appears to know what it means.

We've got some really good information there that enables us to go back and make some changes. This is the same information for the Shepherd Neame site and when we design the Shepherd Neame site we chose to have a carousel on the homepage of the Shepherd Neame Shop. Carousels are often really poorly-performing items, and nobody really knows what to do with them, and often they are a design compromise which really is tantamount to admitting that you haven’t really made a decision about what to go there.

We can see from CrazyEgg here, actually this has been quite successful, and there's been one item there which is seasonal, on the left hand, which has not really worked, but we've got some really good data here that this says people are using this particular feature.

We can also see this is another thing that we get from CrazyEgg, which tells us: the lighter colors there are where most people are looking, so we can see that the eyeballs that the people are looking at this page, we are really focusing on where we want them to do, which is the area with all the product information on it, and this is the Shepherd Neame brands page and, again, very cheaply, we are going to have to find out what brands people are looking at, which brands have got the most recognition on the site.

I think the interesting thing for me here is that the brand in the top left, isn't necessarily the most popular brand there, but at top left pieces real estate has been really, really valuable. In addition to having something like Google Analytics which is the kind of standard thing, for doing a cost-effective Drupal Commerce build where it's quite complicated and complex user journeys through the site. We can put CrazyEgg on there, which is quite a cheap subscription, it's £15 or £20 a month, which is for what you get is quite a lot I think, and we get some really good information back about how thing are working, in a way that I think Google Analytics is not necessarily as good at.

Going back to the Cross-Channel Service idea and when you get any business, I think it's natural for any business to show different silos or different areas at the top that don’t necessarily talk to each other, and often you see that in the navigation part of the site, so we can see all of those different areas there. What Drupal Commerce is, is the ability is to link in to all of the other things that a site does, so you'll find sites where we've built that digital content, but it can also link into things like the knowledge base and the community functionality has been particularly powerful.

Those are the support, and all of things that you can do within a standard Drupal site, and I think even more complex in the future is that you're linking to these retail destinations, you're also linking through … or trying to join up services across campaigns, and also trying to join up things within your general data that you have, the marketing data and all of the data that you have on your users. I think … what I'm trying to say actually with Drupal Commerce is that a lot of the really boring things are in the background there, which means that the interesting things you have a lot more time to think about them. This is a Drupal Commerce which is an Israeli Drupal Commerce site actually, or at least built by the Israeli company.
It's basically an underwear site, but it's actually if you go and visit it, the address there, Under.Me, it's a really interesting site to use, or it is if you're somebody like who builds websites. It's actually really beautifully designed, and there are some beautiful touches on there. For example, when you add something into a basket the projects has a nice little animation and it's very clear about what you’ve done, and my theory is, you only have time to focus on these really delightful, interesting parts and you only have time to focus on the cross-channel experiences.

If you can somehow put in the background all of the boring stuff, I think you need a platform which does those boring things for you and then you can build beautiful and interesting experiences on top. That's certainly been our experience with Drupal Commerce, and I'd strongly recommend, have a look at this site, it's not one of ours, I wish it was one of ours, but it's a really interesting example of a very simple product but I'm actually a beautiful user experience.

Acquia has got some … has done some really interesting work actually with Web experience management. Web experience management, as I said before, is really that idea of going across channel and not multiple channels but across channels that are working in harmony together.

That’s really my overview of Drupal Commerce, and like I say, there will be something on the … there already is a blog post on the blog forum, it's a bit more detail and I'll put the slides up later on. Of course, anybody is always welcome to get in touch if they have any specific questions, but I know we've got some questions now.

Speaker 1: Thank you very much, Simon. We are just going to do the Q&A session now. If you have any questions just put them in the Q&A box at the bottom, so we have one question from Will Long at the moment.

He would like to know what you're hosting hardware configuration was for the Shepherd Neame project.

Simon: The hosting hardware, it's kind of outside of my area actually, but it's on Acquia-managed Cloud, and so for us most of the projects that we are working on of a certain size we would recommend then that the Acquia for. This is for exactly the same reason we would recommend Drupal, and exactly the same reason we would recommend Drupal Commerce, and Acquia do all that kind of boring stuff for us. It's a fairly standard Acquia managed Cloud installation.

Speaker 1: I have another question from Stephan. "Who have you seen as the fastest, most reliable payment processor for integrating into Drupal Commerce?

Simon: Yeah, that’s a really good question and actually we had two … I'm not going to say the name of the other one. We actually went through two payment providers here because the first one let us down, and very big one actually, let us down in a number of ways. Our preferred partner is PayPoint, and I think that’s largely … as much as anything, it's to do with history. We just have a lot of experience with PayPoint, and PayPoint has always worked really, really well for us and what we've found there is that I think the intelligent choice to make here is that you go with a payment gateway provider who specializes in Web things.

The reason we had a failure on this particular project actually is because the payment provider was focused on retail environment, so the point of sale, as well as the Web things, and things got a little bit confused, so our preferred one is PayPoint, but I have to say, if I'm really honest, I think that the preferred option is largely due to history as much as anything else, so I'm not sure it's a particularly strong recommendation, but it's worked very, very well for us.

Speaker 1: Randy would like to know, "How do you deal with large amounts of Legacy data from existing e-com sites?"

Simon: Yeah, another good question really. It really, really depends on where it's coming from for most of the time, this just gets imported into Drupal as you would any other content, so this works particularly anywhere with Drupal Migrate, and from my perspective it's someone who has to manage the budgets and work out where the value is. It's very rarely in our experience and it had been worse than anything too complex with the migration because it's actually been as cheap to start again with a fresh install.

With when we were doing the content things, however, that has been something that has always been about a custom migration pretty as much as I think it would be from any other standard site migration. That’s not what particular detailed answer, but using the Drupal Migrate module and importing it as you would any other particular content.
Speaker 1: Phil would like to know, "What has your experience been with PCI compliance when working with Drupal Commerce and your hosting environment?"

Simon: Again, that’s been much more outside of my area and the area for this. In general, it's not really been issue, obviously … in the same way that we go with Drupal Commerce to take that boring things there that usually that PCI compliant stuff would be handled, and very much by the painted gateway providers. Sorry, I haven’t really got a very good answer for that because it's … that’s the kind of stuff that we would leave to their solutions architect, and the people who are much more technical to deal with this. I've not really been there, and we've not really had any particular issues and problems, and it's been something that’s been handled by our third party partners.

Speaker 1: Are we able to ask about panels, because [Eggo 00:29:29], wanted to know, he said he found panels a good part of cost-effective sites, are you using panels and panels everywhere with your project?

Simon: The reason I'm laughing is because we have a bit team of developers and I think every developer has their own favorite solution, and I know that panels is something that causes … you can go to any meeting at Deeson Online and bring up panels, and half of the people will think panels is the best thing ever, and then half of them will actually hate it. On this site there is quite heavy use of panels.

Having said that, we have we have the 360 micro sites on there and we, because the micro sites are very, very configurable, each micro site is able to have its own layout, so we actually use home box on that instead of panels, because we needed something which a non-trained person would be able to use. The main bit, the main front end panels is used quite heavily, and on the rest of the site using home box and with quite a lot of tweaking actually, and I wouldn’t necessarily recommend home box for a site like this, but yeah, home box with some other things.

Speaker 1: Michael would you to expand on the payment gateway question by asking, "When will there be a rock solid integration with an accounts package, so that single solution can be offered to clients with integration?"

Simon: Yeah.

Speaker 1: It's the integration.

Simon: Again, I just think that’s outside of my particular area of expertise actually. I think we've never had an e-commerce partner who didn’t have a Legacy payment system that they wanted to use, so I don’t if there will ever be a single rock solid integration. Sorry, Michael, I'm not very good at … I'm not the right person to answer that question, unfortunately.

Speaker 1: If you’ve got any further questions you can always email Deeson Online or Acquia for particularly technical questions that we haven’t answered today.
[Randy 00:31:58] would also like to know whether DC is open for membership management solution.

Simon: Yes, very much so. I think that the Deeson Group has a slightly bigger part than the Deeson Online, and what we do, as I said, we do the e-commerce sites of the placements of bricks and mortar experiences, but about probably 60 percent of business that we do is actually membership sites and we can do some really quite complex things with membership management things, that I don’t think we could do on any other platform.

I don’t know if there's any more detail on what you'd like me to say about that, but I can't anything more positive about it really and I mean for us it's been easily the most intelligent solutions because it can link in to all of the other … because it's so well integrated into the Drupal site, and if we take something like the Royal … I don’t know if you were in the U.K. or not, but the Royal Meteorological Society, is an international weather organization.
As an example of that membership site what we can link Drupal Commerce into is obviously the membership management things but also content management things and they have an enormously complex pricing structure for their annual conference because it includes one day, two-day, three-day passes, number of guests, dinners, hotel rooms and all of those kinds of things, and because we can integrate that into one particular place. I think it provides really a nice user experience we are able to do really quite interesting things and link that into their membership management system, and COM systems, and having something that’s integrated into Drupal has meant that those kind of things are really, really powerful for us.
We also do a number of trades with professional associations, so people like this, the College of Radiographers, which is an international organization for the people and to do medical imaging. Again, they have the same kind of thing which is linked up to a very, very large document library. We can link in those payment things to all of those things which are part and parcel of what Drupal does. Yeah, I think Drupal is outstandingly good dealing with people and use their own, so that makes them particularly suited for membership organizations.

Speaker 1: Thank you for that. Bryan would like to know why you recommended using Drupal with, say, [Ubercart 00:34:47] or another package rather than using an e-commerce platform like Magento or PrestaShop.

Simon: For two reasons, as I said before, we use Magento and in the end it was one of those things where it's not that Magento is more powerful than Drupal Commerce or Drupal Commerce is more power than Magento, it's just that the things that we were being asked to do with Magento, and we couldn’t do, not very easily, we couldn’t integrate with things like membership databases, and we couldn’t integrate with a normal Drupal site. It was very hard to integrate those particular things, and Magento, I think is really poor at managing actual content which is not e-commerce related, and I think Magento, especially, has got its place and particularly if you're doing an e-commerce business where you're turning over millions of pounds, then you'll probably do want to go with something which is geared towards doing that.

For us it wasn’t that it wasn’t powerful enough, it just wasn’t something that we could easily integrate into a content-heavy site, and most of the people that we work with have done e-commerce as part of their business as opposed to being their whole business. They’ve been largely focused either on members and users and content rather than selling particular things, less formally I should say, but we did ask our development team what we should do with Magento and they all, universally, said that they would prefer never to work with it again, because it was just so hard to make it do what we wanted it to do.

We have used Ubercart in the past, obviously we stopped using Ubercart when we've stopped doing Drupal 6, we still service a number of Ubecart builds, and in fact our previous webinar which was about working with future publishing and building beautiful e-commerce sites, that’s actually Ubecart end.

Speaker 1: Stephan would like to know, "Would you recommend any particularly well done site selling digital items?"

Simon: Not off the top of my head, I'm just trying to think actually. Not with the Drupal Commerce I think … the one we've built that shows digital and actually is Ubercart. No, but if anybody wants to … I think I've ducked a number of these questions, so if you want to email me I'd be able to get answers to all of those ones fairly simply actually. Particularly I'll go back to the payment ones or the PCI or compliance takes out that.

There are people here who can answer that much better than me. Certainly, I think, what I'll do is, I'll go away after this and add it to the blog post, examples of these two contents, and because I think you're right, it's a really interesting thing with this.

Speaker 1: It doesn’t look like we've got any more questions now, so I'd like to really thank Simon for presenting today. Thank you everyone for…

Click to see video transcript

Bryan: Welcome everyone to today's Acquia Webinar, introducing Drupal Commons 3.0, Driving the Convergence of Content and Community on the Open Web.

My name is Bryan House, I'm Vice President of Product Marketing here at Acquia, I have the pleasure of being joined today by Ezra Gildesgame, Product Manager on our two-fold Distribution's team. Welcome, Ezra.

Ezra: Thank you, Bryan.

Bryan: We've got a great session in store for you today. We are very excited to talk about Drupal Commons and the D7- version of Commons that we are about to release, so we will get started here.

Without further ado let's jump into today's session. I want to talk a little bit about the state of the market and the concept of OpenWEM that we announced last week, and also talk about how Commons and community applications built in Drupal fits into that as a topic and as an area. We will walk through Commons 3.0 and give you a sneak peak at what the capabilities look like, and then Ezra is going to do a demonstration of the product as well, so you'll get to see it in action. Very exciting stuff, again, feel free to submit questions via Q&A at any time.

When we talk to organizations this is the conversation we are having a lot of and many of those organization the Web is broken. They’ve got lots of different sites, they’ve got lots of different business objectives with those sites, some of them are Web content management, or CMS style sites where it's one or few, to many publishing information out to audiences to drive leads, to publish information and distribute information to citizens, or various reasons.

The social software within the organization are: intranet, extranet, partner community, developer communities, and those are much more about engagement and connecting and having people communicate back and forth, and then e-commerce, people are increasingly trying to do transactions. Whether selling information, selling products, and so this is really complex; this is incredibly complex for IT organizations, how to manage different technologies and different systems, and we've talked to pharmaceutical companies, and have 600 websites and some 60 different CMSs.

We've talked to hospitals and they have 20 different CMSs, this is a significant challenge for organizations, but what they want, is they are looking for a way for these things to come together, to provide unified platform to address these needs and address them in from a single set of Web technologies, so that way they get scale and efficiency and their development side, in terms of managing the applications, managing the underlying infrastructure as well as building new capabilities and addressing the business requirements.

Scale on the user side, reduced their training burden, their training overhead and make it very easy for marketers, other folks in the organization, to contribute to those sites, and achieve their business objectives associated with those sites. We are also seeing this gap between the marketing and IT and looking … these two organizations are looking for solutions to help them better communicate and better achieve their joint objectives.

Where marketing is looking at personalization and translation, and harnessing social media and building ways to engage customers and prospects, in their community, on the Web. Acquia is looking at how to do performance, how to build scalable, reliable systems that meet the needs of the business and do that in a way that integrates well within their internal environment. Increasingly we are seeing these two groups come together, and become … working together towards joint objectives to exchanging ideas and how to do that as marketing becomes a much more tractable, measurable activity on the Web that aligns the interest of the CMO with the CIO, and so we are seeing this drive behavior in the market.

OpenWEM is really about addressing some of the issues that we've seen with proprietary Web experience management approaches, and so the question is as you're building websites and Web experience, whether those be mobile sites, community websites, delivering content to smartphone or tablet applications. Do you have closed-loop development, you have struggles where you are unable to add new capabilities or new features because the development process is so locked down, you are unable to innovate fast enough.

You are unable to bring new things to market fast enough because of the heavy development requirements for the new applications. This is a challenge we are hearing over and over again from large organizations. They are what take months in a proprietary technology because of all the customization and custom codes we are able to achieve in days or weeks with Drupal.

It begs the question, why are we spending money on licenses and maintenance contracts, and what have you for these proprietary systems which we can't use anyway because they don’t move at the pace of our business? They’ve locked in to one set of infrastructure and tools, are you struggling too when you talk … when one side of the organization is talking to the other side, we can't do … help you meet your objectives on the Web, because we are a Java Shop, or we are … we only use these tools, and so you as a marketer, you as a developer, community manager, are forced to go outside into this world of shadow IT because you're current organization can't meet your business needs.

Your budgetary pressure, and so you're not able to invest in large CapEx expenses, especially with licensed purchases and hosting purchases but need to now move into much more of an operating expense model, where subscriptions … and a subscription approach is a better way to meet your budget and capital requirements.

These are just some examples of the symptoms that these are OpenWEM strategy that we announced last week can help address, based on our experience in the market and our product offerings to address the needs of organizations looking to build Web experiences and do it on a unified platform as Drupal.

Really what we are trying to do, is offer the digital marketing organization, that includes both business folks on the marketing side as well as IT folks supporting those business people, is often in both freedom and flexibility, we give them a platform that allows them to create simple Drupal's digital experiences that have lower cost of ownership because they can deliver them faster to market to help them innovate the pace that marketing needs to do, and accelerate that process of new … meet new requirements and objectives on the Web as the mood changes.

By giving you a unified platform to create branded unforgettable customer experiences, so regardless of whether you need social plus content, or content plus commerce, you can do that all from a single platform, we just saw this from one of the leading Web content management vendors just as a big partnership with the leading Microsoft-based community provider, so in the top-two of the three bubbles in the report, and they announced a partnership. "Hey, we'll work together, if you want content build it in platform A, if you want community build it in platform B and we'll work those things together."

That just introduces complexity to the IT organization to end users which interface do I create and which access permissions model and security model am I going to use here? How does that replicate from one system to the next? I think all of us that work in Enterprise IT have lived that challenge and it's a problem. Having a unified platform doing it from the ground up and Drupal as a compelling alternative, and doing it in a way that not only do the unified platform for these three Cs that we've outlined here, but also it integrates nicely to the best of breed tools that you already have in place for Web analytics, for marketing automation, for CRM, and for other tools that you're now willing to replace.

From a sweet bed in there that wants to drop in all those technologies. All of this is build on an open source … in the open fast model so there's no lock-in, so if you want to make a change and you're a cloud provider, your underlying infrastructure, you can't do that with your infrastructure, so that’s a key piece of Acquia business models, to give you that freedom and flexibility as your requirements evolve. You're cloud platforms and many other pieces can evolve with you.

When we think about these unified experiences for digital consumers, it spans a couple different areas. It's about delivering content appropriately in campaigns across the right channels, and drive conversion rates and personalization or social capabilities build into those. Combine that with community capabilities from able groups, self-organized and connect, create things like support communities, developer communities, brand communities do that very easily.

Enable your consumers, your prospects to be the best representatives of your brand, there are much more transparency and credibility in the market than you do as a vendor and so enabling those people and giving them the tools to share their experiences with others is a great resource for your brand.

Then finally tying this, where appropriate, to commerce capabilities and this is a little bit forward-looking as we define our WEM strategy but clearly the market has shown us that content and social and community capabilities are critical for driving commerce experiences in the future about taking advantage of those tools to create immersive shopping experiences.

We think about optimizing each of these areas from a content perspective, this is about lead gen and social media, tying it into things like marketing animation and measurement for analytics. From a community perspective it's about creating social brand applicants that help do the selling for you, it's adding social capabilities to your intranet as well as to your extranet and to customer-facing, prospect-facing environment and then tracking all that, and a then managing and maximizing engagement with stakeholders, you're developers, your partners, your customers themselves to drive innovation through your product lines.

One of the things that we've been thinking about from this is particularly with regards to community capabilities, social; it's helping to evaluate where you are in this timeline and where you are from the evolution of your social capabilities and your social maturity, from your applications that you built.

We've identified five stages, if you will, of collaboration capability, so there are as simple as collaborating and documents, and those of us who … anyone who uses Microsoft Office somewhere in the organization probably a SharePoint for collaborating on documents, and they are step one in building social capabilities, all the way up to social as a service that’s embedded across all your applications and that’s part of how you work.

We are starting to define these different phases and helping organizations think through where they are today: are they doing just internal collaboration, are they doing external collaboration? Are their community experiences that they work with, people outside their firewall in getting … in driving that into the R&D organization or the customer support organization, or are they putting that across all of their Web experiences and properties, and so you'll see some of this happening already, some of this is still into the future, so it's early days, and sort of this enterprise social or community market. Ultimately we strong believe that social will be a service that is included in your Web experience or your Web contents stack and anything … applications or sites you build ultimately will have social in them, and so this is an important piece to think about: where am I in this lifecycle and where do we want to go as an organization?

Tools like we are going to talk about today with Commons can help you get there and provide a path to accelerate the process and get you to where you need to go either, and utilizing social as a service.

With that let's talk a little bit about the product, Drupal Commons 3.0, so I'm going to do a little bit about, a high level about the product and I'll pass it over to Ezra who is going to walk us through a demonstration. We'll do that.

Commons 3.0 is built on Drupal 7, and we are going to talk a little bit about what the product does, you'll see it's a different user experience for the product which we are very excited about and we are getting a lot of feedback and the first two major releases of Drupal Commons in terms of how we can make it more useful for you as developers that are building social applications in your organization, as well as for your users that are your community managers, participants in those communities making more intuitive and user-friendly for them as well, so we are very excited about that.

So we think about what makes Commons unique as compared to other solutions in the market or a do-it-yourself approach, and the nice thing is this is a community application that was built by a global community of Drupal developers, so at the very nature from a product perspective, Drupal is social and so you see this, we talk about the proprietary vendors where they need to come together to cobble together for social experiences that are native across the Web properties.

It's the same in the Drupal world, and this is one of the things that really separates Drupal as a technology, but also as a community, things like Drupal.Org groups like Drupal.Org, they're collaborative in nature, so the expectation of this has really changed in that that insight and experience really informs the products, in order to make it easier for you to utilize and build communities and roll them out faster, and test ideas, so that way they are productive and useful for your business.

It gives you the ability to update campaigns and content seamlessly with one tool so you're not jumping back and forth between multiple applications to launch a community site or community capabilities on your website. To give you the ability to join … create a next-generation social Internet with collaboration around knowledge sharing as well as marketing campaigns and giving the tools for your employees and stakeholders to collaborate very quickly on those environments.

A big piece that we think about is for project teams that are using Commons, how do you accelerate ideas to experience, how do you facilitate fast-cycle collaboration, so that way people have relevant information to make decisions to move projects forward to ensure you hit milestones and deliver ultimately what you're delivering. Whether you're delivering technology products, whether you're building cars, or other places that you might be doing collaboration applications.

Then maximizing engagement across the various different community types, be they customer prospects, customer support, developer communities, and utilizing things like Discovery tools that are built to document search to find great content, but also to locate relevant experts. People who are knowledgeable, who you may not know in sort of the first circle of your personal network but they were active and involved in the community in making those discoverability an important piece of that experience.

Let's look at a couple different pieces, so one of the things you can do in Commons is follow content, and get notified fast so you can see … you can follow trending content, create a personalized view that subscribe to content and time, so that way you can reduce the noise and improve usability, the application and focus your interests and creating a content stream that’s around your interest, so that way you're not digging through the community looking for something, but it's actually delivered to you and personalized.

An important piece of the Commons experience is this ability to create groups, to follow and post content in groups, and sort of create the right level of structure around groups, and so in some environments that may be ad hoc through creation and it's a relatively wide open environment for groups to self-organize and collaborate; other environments that may be a little more hierarchical top down where the groups are pre-defined and people join based on their departments in their organizations or their interest.

You can do this very, very easily. You can create group home pages, so it makes it easier to drill down the content and surface content for visitors to that group as well as members in there, so there's a lot of capabilities on the group side that you can do to facilitate that collaboration and make it easier to join in. I think one of the biggest things we've seen with the organizations and the communities, in general, is how do you lower that sort of participation barrier, and so a big piece of what we do in Commons is to make it easy to find content and drive that initial participation in a community.

One of the big areas that we are really excited about with Commons is Mobile Collaboration, so Commons 3.0 will have out-of-the-box responsive design templates, and so you can create and re-factor your Commons' presentation layer for smartphones, for tablets, for desktops because in reality we are all collaborating and interacting with information, on the road, on different devices. Sometimes during big storms on our phones when the power [is chopped 00:19:13]. This will be an out-of-the-box of 3.0, one of the biggest featured answers that we are very excited about.

Commons is has always had this concept of personalized experiences but we've made … we've cleaned up the user experience in Commons 3.0 to make it more useful and friendly, and usable for you as visitors, so you can create personal as well as group dashboards, things like social bookmarking. You can create content here and sort of have a view to subscribe to discussions and content, create a stream of activity that others can see the use of a particular user.

Again, this makes it an easy way to do expertise location, you can combine this with some of the gamification tools out there for people like Badgeville, and then reward badges to people that are participating or contributing above certain thresholds in the community. Again, the drive, participation and also reward that in the community where others can see.

One of the most important viable pieces of Commons is this content plus community in a single platform, so there's no need for a separate CMS, so out of the box it comes with preset configurable content types, content views, they get very easy to organize that information. You're not doing a lot of structural designs set up in this, but you're much more focused on the branded experience and how you're going to present this information, but you don’t lose the flexibility and the freedom to add different custom content types, tweak things, make it useful and configure this for your own needs within the organization.

We also gave you some tools to provide a sort of community-focused participation and engagement metrics, compliments that Web engagement … the Web analytic tools you already have in place that gives you some specific data to the Commons experience so there's a lot of: are you driving new members, are there members participating in those, provide the community manager a lot of tools to ensure that they're getting the most out of the community, and so you don’t suffer from the empty-restaurant syndrome, if you will, but actually people that are actively involved and engaged, and the community manager knows where to go do … and to drive and increase that engagement.

Then from a developer perspective, you know, developers have the freedom to innovate here, we've built this with Drupal best practices in mind, so it retains that openness and flexibility the platform has from Drupal perspective to add modules, to integrate with other systems, take advantage of things like Semantic Web document management is a big piece, particularly in Internet environments, so you can integrate it with tools like Alfresco to manage content. Document is part of your collaboration environment. Certainly single sign on is a critical piece in the enterprise and so there's lots of options there.

We've retained and built in some Drupal best practices to ensure that you get all the things that Drupal has to offer as a platform while taking advantage of a much more out-of-the-box experience with Commons.

I'm going to do a quick case study of Commons in action, and this was a customer that built Daimler who built a social community on Commons to replace their focus groups, so this is utilizing a community environment for social engagement around brand … advertising and sort of replace the focus groups that they traditionally use as marketers with their agency. This was a community for young sports car drivers, 18 to 45 years old that were … about what they felt about their brands, about Mercedes specifically, about some of their video and Web advertising.

This is a very cost-effective way for them to build this, to replace a costly cumbersome, time-consuming way, traditional focus-group approach, and do it with … do it in a new and innovative approach. They won awards for this, innovative use of social media for this community, and ultimately the reason they chose Commons was there were so many features out of the box that they didn’t spend their time building their community. They spent their time building the experience that was relevant to get the data they needed to share with their client, with Mercedes, around the marketing focus group.

It shifts the conversation from doing the heavy lifting on the technology side to where you're spending your time on the business result side, and changing the paradigm a little bit. This was just one example of how people are utilizing this platform today and we certainly have plenty more, if you're interested.

With that, Ezra, I'm going to pass the control over to you and let's take a look at a demonstration. Are you ready to go, Ezra?

Ezra: Absolutely. Let me just share my screen here. Can you see my desktop?

Bryan: I can see your desktop.

Ezra: Okay, great, so let's gets started. The first thing I want to show is by default , out of the box what Drupal Commons looks like with some content in it, if you are new to the community. At this point you haven’t signed up, maybe you're considering signing up, and you just want to learn what the website is about. We've looked at this design a lot and there's a lot that you can tell as the new community member to learn what this community is about.

At a glance you get this configurable text here on the front page, so right now it's talking about Commons itself, but of course when you're setting up your community you can configure this text, so right out of fresh install you’ve got a homepage that says, "At a glance what the community is about," and then as people participate, the best of that participation is shown on the front page.

We just take a moment to take a look at what we've got on this front page, you’ve got a nice visual lift, and active community members, we've got upcoming events related to the community, a list of … and activity stream from the community just to active groups, and then the list of featured content on the site.

This is one example of this whole content community commerce idea. This is a space for people to collaborate first and foremost, but it's also a space where you can create that content if you want to or, perhaps, make a site-wide announcement or share some community-wide views, and make sure that that reaches the different people in your community. You can see how blogging site combine with the community site would really suit well into that.

Of course once you're logged into the site and the screen is here to show you what that looks like, you'll get a little bit more of a personalized experience, so this is the default landing page for folks who are logged in to Drupal Commons. What you see here on the left is a list of content and you can see from the thoughts and focus on the top that it's sorted by the most active content for … so let me tell you about what that means. If you're a community manager, one challenge in creating the community is figuring out which content is interesting, and which content people should really see, and large communities with tens, or hundreds of thousands of active users, that can be its own fulltime job.

What we are including in Commons is just the idea of automatically active content, and what that is, is the system that benefits both community members and community managers, and what it does is it automatically takes information about content. The things like the number of comments that the content has, the number of people who are marking it as … that they like that content, and it takes that information and it produces an internal activity score. The benefit of that is that the score decays over time, so as a community member looking at this listing, I can see content that’s generated a lot of activity recently.

This is different from something like a system that just shows you most popular content of all time by votes or something like that. This really let's you get a snapshot of what's active on the site right now and that’s the reason that it's so time-specific is because that value decays over time, so maybe there's a really interesting or perhaps even controversial discussion going on in your site that will have a lot of comment. People will be liking it, people will be viewing it, that will all make that content register more active, but if that conversation blows over and something is more interesting today than that was yesterday, the new content will be more prominently featured. That’s just one way that it will be really focused on the goal of helping people find content that they want to view and content that they want to interact with.

Of course, you will really value personalization, so I can engage these filters up here, and I can change the way that this is sorted so I if I want to just to see the most recent content I can view that. You will notice that there's this idea of following, following is what you can do to subscribe, or like on Twitter as it sounds, follow people, content and even groups that you're interested in. I'll show that in a little more detail a little bit later.

I want to show the groups that are actually here, you could see we've got a really simple primary now and not overwhelming, easy to figure out where things around the site, and if you click on the groups' directory you can see there's a list of collaboration groups within the site and it's really attractive. You get this really nice, visual list of recent content in the group, and the type of content that it is and a list of intruders to that group, so that you get a sense, even just scanning the groups of what they're about.

Similarly you’ve got the gist of most active groups in that activity system that I mentioned for identifying interesting content that works at a group level as well, so the group has the sum of activity with all the content.
Let's take a look at a Drupal page, go to the Boston group here. You can see that this is a really sleek-looking group homepage and front and center is content that’s in the group. We call this the group content widget, and what's really nice about this widget is a couple things.

We've done a lot of usability testing on Drupal Commons, on Drupal Commons 2, the previous version, and that has really informed the designs that we have in this version of Drupal Commans. Here were are on the group's landing page, you can see all the different kinds of content that are in this group, they each have a tab and so let's say I'm interested more in the document in this group, or questions in this group, I can focus in on those items, and each of those kinds of content gets its own unique listing. Perhaps if I'm interested in the ideation and I can see that that’s presented a little differently, because it's a different content type.

The other great thing about the way that this is put together and we hope you'll think it's great too, is that the creation, the content creation controls are in the same spot, so if I want to go ahead and create a post I don’t have to go to some separate menu somewhere, I don’t go to the file menu, I go right here to create a post so that it reinforces the idea for folks, perhaps, folks who are savvy, but also maybe folks who are new, to participate in the online community, that the content that they're creating is going to go into that group, because that control is in the same place as the content that’s listed. Of course if I want to follow the group or vote it out, I can do that as well.

Of course, on the side, we've got other secondary and interesting information, so based on activity in group and some upcoming events in the group, which brings us to events. Whether you’ve got a virtual community or a community of people who are meeting in real life or a combination of both, that’s been supported by Drupal Commons, so if you do have events you can leave the events future-enabled, and you get this really nice, robust landing page for events, with these facets here that let you filter so that if you want to find an event that’s near you or an event that in your groups, it makes it very easy to do that.

That’s actually a lot of flexibility to this tool, because you can … if you want to elect people sign up you'll be able to do that as well, group site for that, you can collect registration. At the same time if you're maybe just linking to a separate conference site, perhaps you'll have the site that’s powered by conference organizing distribution for Drupal and you can link to that site for registration as well.

I want to show this following functionality in more detail, Bryan mentioned that earlier, so image I've gone through the site and I've followed a lot of different things, and I've followed groups, I've followed topics, I've followed people who I think are interesting, and then just individual threads because I thought those particular threads were interesting. I can go to this site there and interface here and control how I hear about that information. Let's say that everything that I follow up here is in the activity stream, but perhaps the New York City group generates a lot of activities, like right now there's a hurricane and I'm just getting a ton of emails from the New York City group about that hurricane.

I can choose to not receive email from that group so that I don’t have to un-follow them completely, I'll still see it when I see listings of information that I follow on the site, but at least I'm not getting an email. That holds true for topics and people as well, so you really get a lot of control to personalize what you see on the site, but we present that in a really simple interface, so that it's not daunting to effect that kind of control.

Bryan mentioned that the software is Mobile-out-of-the-box, and so I want to show you some examples of that. Here we've got the What's Going On page, and suppose I'm on a smaller device I'm just going to drag and resize my window here and you'll see how this screen automatically reorganizes to fit. If I'm on a phone, you'll see that this is still a coherent design, and it fits in a nice, narrow window there and I didn’t have to do anything as the site administrator to get that benefit. This is one of the features that we are most excited about that … Drupal Commons 3.0 or the previous version.

Let's show the group's directory. There's that group's director and I'll just make the window smaller and you'll see a nice breakpoint there, so that I still get all functionality of this group's directory, but it fits in a narrow, device-sized window.

I want to talk about how you deal with spam and inappropriate content, so as you know in any community there's always of size, at least, there's always a size at least, there's always at some point, somebody who submits content that’s inappropriate or that’s just out of place advertising.

Now the first line of defense is actually that Commons provides, is actually … so you almost will never see Commons integrates with the Mollom service, which is an intelligent service that analyses the content that people submit into the site, and also analyzes their reputation across … based on information from thousands of sites across the Internet, to automatically determine whether something is down.

Most of the time, spam will not even make it through the site to be submitted, because you’ve got that tool and of course Mollom is something that we included as part of the services in the Acquia network. However, sometimes content is going make it through there, right. There is so much spam on the Web and it's a great service but every now and then something will make it through.

Let's look at an example piece that’s in appropriate content, we've got a shoe sale and perhaps your site is not about shoe sale, and so for this site it's unsolicited advertising. As a community member I can go down and report this content that’s inappropriate. I get a confirmation message, and then I click Report as Inappropriate. Now I've reported this as inappropriate, and suppose some other folks have done this throughout … a lot of folks notice that, they clicked the links, and as a site administrator I can go to the main content with this and you'll see that we've added too, what you get with Drupal Core, you’ve got this Reported Content tab.

Now I've got a listing of all the content that’s been reported by the community, and you can see that this is organized in a very useful way. You can see where the content was last reported and you can also see the number of reports, so you can imagine that on a really active community you'd have a number of people would notice when something is clearly out of place, when something is clearly spam or an advertisement, and they'll flag it, and as a result you'll see this number getting higher.

Part of the challenge is not just identifying when comments are being inappropriate, but you’ve also got to get rid of it, and ideally you want to also make sure that the people who are posting it can't post content anymore. We we've integrated that all into one bulk form, so this lets you check all of the content that’s been reported or just the content that you think is inappropriate as the moderator and you can believe the content and block the office account.

One thing that’s core strength at Drupal is the way that roles and permissions are really powerful, so within Drupal you can, for example, have a role of content moderation assistance, and this is something that will be included in Commons 3.0, and you can empower them to access this moderation screen. If you have people on your site who you know are trusted, they’ve proven themselves to be trustworthy, you can empower those community members with the responsibility of actually deleting spam content, and you can do that, in a way I think that Drupal's granular permission system.

You can do that in a way that does not grant them permission to completely take over the site, so maybe you trust those folks but you don’t want to give them control to do everything, you can still grant the back customer screen.

Let's go ahead and get rid of this shoe sale content. I'll just click Delete Content and block off his account, I got a confirmation screen and I can confirm, and the systems is able to delete that for me. You can imagine I could do this in a manual way … pardon me, I've got upgraded to the latest development snapshot and I think I introduced a bug. In any case it wouldn’t be a demo without a bug, right; so we got an error message, but in fact the content is deleted.

Another thing to note about this interface is that when the content is deleted it's also reported from Mollom's, so part of the way that that Mollom service works, is by getting reports of content that are inappropriate, so that Mollom can improve using its machine learning and algorithms that the ability to identify when content or a particular poster of content is inappropriate. This, other than one click, you can delete the content, block the office account so they can't post new content, and report that content to Mollom so that they're … that spammer is less likely to break through your site, and also any other Mollom site in the future.

It takes a lot of these tasks that normally would be friction, folks or community members and community managers and it makes that really simple for both. For example, on one large community site that I'm a moderator on, when we have spam on the site where people have to send a message to the moderator, and then the moderator has to respond to the message, and the moderator has to go to each individual piece of content and delete and then unblock the user, it can really be cumbersome. Personally, this is one of the features that, as a site moderator that I'm most excited about using.

That’s our demo for today; I'd love to take some questions from the folks on the phone.

Bryan: Ezra, why don’t you pass it back to me, I've got a quick…

Ezra: Sure, let me…

Bryan: …then we'll move it over to Q&A and you can check out the prioritized questions, in the Q&A tab, they've already thrown some questions up there for you, and I will continue to queue them up for … Ezra, as they come in.

Ezra: Thanks, Bryan.

Bryan: So, just to quickly summarize before we move over to Q&A and let Ezra get into some of those questions. Really what this is about in Commons specifically, the product, and overall are OpenWEM strategy is about this combination of content and community today and in the very near future commerce, to create these content-rich social Web experiences. Experiences that are multi-channel in nature so they work well on your desktop as well as in your smartphone or tablet, that are easy and rapid to deploy. That way you are not spending time building infrastructure but spending time on value-added capabilities for your site.

That maybe the brand experience for your community, and if you look at some of the Commons sites that are out there, be they from the eBays of the world, or other … to think Mercedes Benz that we saw and plenty of others can give you tremendous flexibility in the brand size. Or, if it's integrating those communities, and those capabilities into an existing infrastructure within your organization, Commons and its open architecture, it gives you tremendous flexibility to leverage the investments you’ve already made on the IT side, be it those things like single sign on, document management, CRN and marketing automation, all of those things you could take advantage of.

Those are value-added places you can spend your time in deploying communities and building applications rather than trying to figure out how do we do profiles, or how do we do [trending 00:42:23] and like content, and some of the things that will come out of the box, so really it's about accelerating that.

Letting you focus on the value-add in that last mile rather than the basic building blocks of building a community application and doing it on a platform. Regardless of whether you're building a community experience a content experience or a commerce experience it's the same tools that … it's the same menus of training, and you get efficiencies over time as you launch more of those.

Really, it's a pretty powerful tool, we are very excited about it and most importantly it's built on Drupal 7.
I see lots of questions coming in, lots of questions in the chat, which is good. If you put them in the Q&A below that would be better. We'll get through those. Ezra, do you want to start talking through some of the questions that we have here?

Ezra: Sure. First question is, "Can partners get access to Commons and with some hands-on experience?"

The answer is absolutely. Commons is, through and through, it's an Open Source product, so we are doing all of the development on Drupal.Org, you can download a development snapshot from Drupal.Org to see where things are every night. At the same time we are currently … the version that’s up right now, is probably best used by folks who have a bit of Drupal's development expertise. We will have a more robust data out in November that would accessible and easy to use for a broader audience of people. You can always check the latest status on that Drupal.Org Project page.

The next question is, "What is the recommended server memory for Commons 3.0?"

What we are doing with Commons, and this goes for another question that we've got about performance scalability, and we are going through a phase of extensive performance testing, and it is absolutely core to the product that Commons work well and work in a fast way on sites with thousands and thousands of users and thousands of pieces of content.
We want to make a recommendation of the server memory based on those benchmarks, and that performance data, so as soon as that information … as soon as we figure out what the best number for that is, we'll make sure to release it and you can follow progress on that performance-tuning in the Drupal relationship queue.

Another question is, "A number of users are stuck on Windows XP currently and he would like to see a browser to access fact content. Does your solution work with IE-8?"

Yeah. Right now we are including Internet Explorer 8 as part of the supported browser. I don’t think that we are going to include Internet Explorer 7 but we are going with IE-8, and it's worth noting that Google Apps actually has announced that they'll be dropping support for Internet Explorer 8 in November. Our support there is basically … our current support commitment there is greater than even in Google's.

Next question is, "I have heard you comment on Drupal 6 a couple of times before, and it's great…" thank you "…however, I am not pretty much going to Drupal 7. When can I realistically expect you to use Commons 3.0 in a production environment?"

We will have production release of Drupal Commons in quarter four, so you can definitely expect to have that in quarter four. I would say, if you want to start building a site on one of the data that … depending on your level of expertise; that could be a good option as well. Folks who are familiar with the Drupal code might be comfortable building a site that starts out on the Commons data and gets updated as that data gets updated.

Another question was, "Responsive design on one hand with the Aloha on the other, an editor that does not currently work on Android 2.3?"

Yeah, Aloha is the WYSIWYG Editor in Drupal Commons, and Aloha actually is something that Commons inherits from our other Drupal distribution the Spark distribution of Drupal where we've made a significant investment, Acquia has the Drupal distribution to improve the content editor experience for Drupal. We've leveraged some of those benefits inside Drupal Commons, and I'm not familiar with this specific issue that you're referring to Android 2.3, but I know that the Spark Team is actively working to hammer out those issues and that I am … the Drupal Commons team is working with Spark to make sure that our editors works well in Commons as well.

If you're having a specific problem with Aloha and Android 2.3 I would encourage you to file an issue in the Drupal Commons issue queue and we'd be happy to look into that in greater depth. It's possible that investment would just be automatically fixed as part of the current and ongoing Spark development anyhow.

Another question; "If you want to use Commons' functionality in Drupal 7, would you start with the Commons 3 installation that has CMS capabilities? Or would you do it the other way around?"

This is a great question. I would say 90 percent of the time, the answer to that question is going to be that you can just install Drupal Commons; you know Drupal Commons certainly doesn’t take anything away from the Drupal Core functionality, and of course the strength of Drupal, historically, has always been as a content management system. I would say that you, in 90 percent of the case, you should be able to start with Drupal Commons and you're ready like Bryan said, we've got a range of different content types that are included in the product, or for doing content management.

Of course we have all the standard Drupal facilities that you might expect, so the used modules, the ability to create more custom content type, if your site needs that, and actually for developers we've made it really easy to add content types to that group's homepage, so if you member on that group homepage, there's that tab interface for each type of content. It's really easy to add a new tab for a new custom content-type; if that’s something that you’ve got on your site.

Another question is, "Can you password-protect each group?"

Commons does show the ability to make groups private, and so as part of that you can restrict either the content that’s in the group, so that people can only see the group if they joined, or you can even make it so that the group doesn’t show up unless a user has been explicitly invited. That the model for that is more of an invitation or a request to join a model that's a password model, and that tends to be robust because you can share the password but the access that’s on a per-user basis, and is controlled by either account.

However, if you wanted to restrict access to the group using a password, you could still do that and the thing to keep in mind, with this question, and basically any question about features and people commenting is that even if it's something that we don’t necessarily ship as part of the core Drupal Commons product, we've got those thousands and thousands of Drupal modules that you can use to expand or extent function that’s part of Commons. I would say this is a great example of that.

The next question is, "I have site analytics tools been updated since Commons 2, and is there an easy way to see which groups are the most popular out of the box with Commons 3?"

Let me answer that in two parts. The two main groups are the most popular, you’ve got that after group's listing, that was on a group's directory, and so that’s one great way to seeing which Drupals are the most popular. We are going to ship Drupal Commons with a similar set of analytics tools that are built in from the ones that were included in Commons 2, and we are also looking at it potentially adding third party analytics tools through the Acquia network.

Another question, "Can you add product content types and community details to this to create a community and corporate site?"

Yes. I think this is similar to the other question but a little more than e-commerce labor, so the apps that we could add additional content types to your Drupal Commons installation and you could, based on Drupal Commerce distribution, and you could also add functionality from Drupal Commerce to your Commons installation. For example, if you wanted to sell products or even, some sites sell thing like subscription, so I can imagine using Drupal Commerce, adding it into Commons to provide the ability to subscribe to pay, to subscribe to a particular group, there's a lot of possibilities there. A good question, thank you for that one.

"Can you limit events to a specific group?"

Yeah. With most of the content-type in Commons, virtually all the content-types are included are intended to be posted into a specific group, so if you have the New York City Group, and you want to post your event into that group, you can post it just into that specific group and it will be really associates with that group.

Another question is about internationalization; "Will it work well with [I-18 end 00:52:28] module which is a model that’s used to translate content within Drupal, with multiple language and so?"

Absolutely, Drupal Commons will have all of the strengths that Drupal Core does, and Drupal on the I-18 end module has. In addition, Acquia has partnered with another provider to provide community cloud-sourced translation. They are partners with Lingotek, and through the Acquia network you can user their service to … The way that Lingotek works is, suppose you have a piece of content on your site and the conventional translation system as an administrator you would have to manually translate that.

With Lingotek you can have the system send the content out to Lingotek, Lingotek will do an automated machine translation and save that to your site, and then it allows people on your site, community members to refine that translation. You'll get a head-start from best of breed automatic translation tools, and then humans can't go in and refine that. That’s a nice way to cloud-source translation on their Drupal site. That’s something that will work Commons but, of course, that’s part of operating network, so it has a broader applicability to Drupal sites, in general.

A lot of great questions today; "Is the administrative area also responsive? I could manage Commons from my phone."

Thank you for the enthusiasm there and, yes, in general it's responsive. The end interface is responsive; we've got a front and back end theme.

"Are you using a specific responsive template for Commons 3.0?"

Yeah. In Drupal we call it … we tend to call it simply, "theme" sometimes, and so Drupal is … Drupal Commons is powered by the adaptive themes which is one of the most popular and well-supported contributed group of fans, so the theme in Commons is called "Commons Origins" and that’s what gives that out-of-the-box look and feel that we just saw, and that’s Commons origin powered by an adapted theme.

One of the benefits of going with adapted theme is that, those landing pages that we showed in Commons, those are all customizable, so you can switch out the content on those pages, and they'll still retain their responsive ability, so it's the benefit of that … of the adaptive themes for, say, more template that you can have customized landing page that retains its responsive trait. It's not like you have to call up the Mobile Team or somebody like that to make something responsive once you’ve customized it.

"Can users interact bi-directionally with both Web post and email; in other words respond to an email notification of some kind of content; I'll reply?"

That’s a very popular question. In the initial release of Commons that’s not included, but that’s absolutely something that we've got on our radar, for inclusion in the following release. Having said that though there are a couple of great modules in the email comment module for Drupal that you could use if you want to add that functionality before Acquia adds that functionality, and that’s something I love to highlight.

Which is that, a lot of people are familiar with our experience using a vendor and they ask, "Well, there are such and such feature in the roadmap, I wonder if that could be included?" It's true that Acquia has a roadmap and things that Acquia works on; but the benefit of being based on Drupal and end up having Commons as an open-source product of its own, is that you don’t have to wait for us to implement a particular feature if that feature isn't in a particular release, so we would like to highlight that.
"How can integrate Commons functionality along with the full Drupal 7 site?"

The question here sounds like you’ve got an existing Drupal 7 site and you want to add one or more of the pieces of functionality from Drupal Commons into your site. In general, there are two ways to do this and the best way depends a little bit about how your site is built, but I'll describe those ways briefly.

The first is that each of the bits of functionality in Drupal Commons is broken out into what's called a feature module, so for example, if you like the Activity Streams in Drupal Commons but you don’t really need the other functionality, you can go to Drupal.Org and download the Commons Activity Streams module, and add that to your existing site. That’s one approach, where you take an existing site and just add one of the Drupal Commons modules to your site.

Another approach is in quoting the content from your existing site into a Drupal Commons site; I would say that different folks are … if there are different benefits to each of the approaches, and which one is right for you really depends on how your site is set up now.
Another question; "I'm not sure I see where this fits in with an organization that used this instead of SharePoint 0, with SharePoint."
The answer is really both, I think that if you have really basic document management capabilities, that you might to just use Commons and those documents. However, if you're accustomed to all of the robust functionality that we've got in SharePoint or that you're used to SharePoint, you can integrate Drupal to SharePoint in there, or the CMIS modules for Drupal provides that ability, so that you don’t have to choose one or the other. You can do a smooth integration of the best of three tools.
"Can you import Google Drive API for [doc 00:58:03] sharing?"

Yeah. That’s actually something we want Drupal Commons for Acquia's intranet that we use to collaborate for our whole company, and that’s actually a feature that we've added to our Internet and that’s been really popular, so that if you go to a site search, and of course Drupal Commons search is powered by Acquia search and Apache Solr, and you search for copy on a site, you'll also get results from Googld Docs, that might be interesting to you, and where that becomes really nice is when you’ve got … and intern that, it's like the connective tissue between all the different properties that you’ve got in your companies.

Maybe you're using a range of different systems, and ideally you’ve got those integrated but perhaps you do have one or two separate systems you could integrate them in that way. That’s something with Google Doc integration; it's something that is on my personal wish list, so I think that’s a great feature.

Another question, "Can you integrate Drupal Commons 3.0 into our native iOS app or only a Web app?"
Yeah, that’s a great question. Something that has been a strength of Drupal is its ability to speak to Drupal applications, or speak to Mobile applications, rather, and so one of the things that we are looking at for the long-term roadmap for Commons is to include a more robust services integration so that if you're somebody you like the responsive functionality that Commons provide but you want to provide a dedicated Mobile App, you could use that services functionality in Commons, you just build on top of that.
We've also got a fairly recently-released … related to Acquia recently released a Drupal Gardens app that lets you … if you left any site running that module to use post content to the site from an iOS app…

Another question here, "Interested in why you chose panels over display suite or context?"

That’s a great question, it's a technical one, and there's actually, I will refer you to the Commons issue too, there's an issuer, if you just search for Panels Context in the Commons Issue queue, you'll see that there is a public conversation about why we went with one approach over the other. In a project like Drupal where they stifle the module, sometimes you’ve got to release that … a module and choose between two, which is the best approach or the right approach for a particular use case, and so you can read about that particular conversation, with respect [PALS 01:00:46] and in case we've got any issues here.
"Is there any work being done to begin reporting to D8?"

Thank you for that question. We have not begun reporting Commons to D8 but the [we think 01:00:59] that that’s closer to the D8 release cycle, posting the D8 being available we will reporting Commons to the latest and greatest version of Drupal Core.
Another question, "Does Drupal Commons integrate a suite of modules for a partial implementation of phased approach?"
The answer there is, yes. One of the feedbacks we have received from developers from Drupal Commons 2, is that they wanted even more flexibility to just what you're talking about, to use some functionality without the others. We've gone to great lengths in Drupal Commons 3 to provide that, and so I just one example of that is that suppose you want to completely customize all the landing page as just [site holder 01:01:43], you can actually disable the landing pages and build a completely different set of landing pages. Powered by the Panels module, and you can run your site in that way so you're not actually overriding anything you're just disabling some things and building on the building blocks that Commons comes with, and a lot of…

Bryan: Hey, Ezra?

Ezra: Yeah.

Bryan: We are getting a few minutes past the hour, so I suggest that maybe we take the rest of questions offline, we could actually post them with the recording, you can post some brief answers there. Do you want to do maybe one more question and then we'll be respectful of folks' time and end there?

Ezra: Yeah, absolutely. The last question is another technical question, "Is there organic … user roles for Drupal Commons 3?"

The short answer there is, yes. That we do support that, that’s included in organic groups.
I would add, you can … if you have any other questions, about Drupal Commons, you can also … we'll make sure to answer the ones that are on the webinar, but you can also post in the Drupal Issue Queue for Drupal Commons.

Bryan: Actually, just build on that, you can see both Ezra and my own Twitter handle, so feel free to reach out to us, via Twitter, and we'll follow up with you directly. We'll download all the questions, and we can … and anyone we didn’t get to we'll post the answers and we'll push those up on the page with recording so you can get access to those as well.

I do want to thank everyone for joining us today; this is obviously an information-rich session, lots of great content and questions.
Ezra, thank you for a great demo, and for answering so many questions.

Ezra: Thank you.

Bryan: Hopefully we'll see you folks at a future Acquia webinar, lots of great stuff happening in Commons, so we look forward to seeing sites that you’ve built with that as well.
Thanks everyone.

Click to see video transcript

Janet: Hi everyone. Thank you for joining the webinar today. Today’s webinar is integrating your website with Google Gdrive or Google Gtalk with James Barnett who is an architect IPSG from Babson College.

James: Hello everybody. We’ll be talking about Google and Drupal and integrating with Google drive and Google Talk. I'm going to run through my slides first and then I’ll show you some actual websites that in use. I’ll show you some code also that add on GitHub and we will take a little tour here then answer any questions.

We have Google Drive first which we’ve named Droogle; it’s the Droogle module on drupal.org. It got its name because there is Google module for Blackboard and I thought it’s fitting to have just a sillier name for the Drupal community. It was created for Babson College and it’s currently in production. It’s been in production for a few months now. It pulls in all of your documents and folders for display in a site-way context within Drupal or within inorganic group.

There also can be a block on the side of your page in an organic group that shows your group’s documents. We can talk about how to do it within inorganic group in a short while. Babson pulls in Google drive documents for each course. Documents are uploaded via Blackboard is the way we’ve chosen to do it. Then in Google drive they're existing and they're displayed in Blackboard and Drupal within a course context.

Now Babson has courses corresponding to organic groups in Drupal. The way that we do that in Google drive is we have a user corresponding to each organic group. If you have class number 001, you would have a user 001@babson, an email address that access with the Google with the same username as the course. We make sure it has a unique ID; each course has a unique ID through Babson. We use the unique Blackboard ID in fact. It just makes it possible to identify which Google drive user has the right documents for the course.

Droogle I’ll show in the settings page shortly can handle that in setting up inorganic group so that it can pull the right documents. There is some automation that happens behind the scenes and Droogle provides for that. There are reset of APIs that we’ve developed, myself and also another woman Ellen. These guys let you do almost anything in the Google universe. You can create users, you can submit users, you can create documents if you wanted to, you can delete documents, move them around in different folders, you can share them to different documents and folders.
We chose Google and Google drive in particular because their API is so complete. We found some of the other competitors out there maybe didn’t allow for sharing, things have changed in the last six months to a year. One of the competitors didn’t allow sharing of documents. That meant that when you created the organic group in a class through the API in the backend, it’s all automated when we have a new class. You couldn’t automatically through the API share all the documents, just an automated way. That meant it was not going to be useable for us.

Google has done a great job in opening up that API to do almost anything. It is true, just to be weary that the Google API is very dynamic and they’ve been adding the Google drive a lot. It changes a lot and you have to be a little patient and that the code needs to be updated sometimes to take those changes into account. I try to watch the SEQ very carefully and to use it as canary in the coal mine to see if there are any problems with Droogle. It’s great because then the community helps me find if I needed to change my code immediately or something.

Believe it or not they’ll change the XMLs start share once in a while that Drupal sets that and it will break things a little bit, maybe Excel files aren’t showing up correctly, that happened one time. I get the feeling they don’t need to change things so often, but once in a while there’s a snafu and I've seen it that the Excel file won’t show up one day, then they’ll change and then go back the way it was the day after. Usually it’s very stable and it’s going very very smoothly.

Google drive is an exciting thing and they’ve offered the ability to sync your desktop now and more offline support. We are very excited about it. Since we are very excited about it, let them have their documents wherever they go. If they go on a plane, they can have their documents offline. We have a lot of graduate students that are in industry and they're going say part time at night for their MBA and they're on the move. These are sometimes very important executives and they need their documents to go.

We love the Droogle and Gdrive combination. We are still integrating with Blackboard through that. Probably can be a different discussion set up by Blackboard. We pull the documents into Blackboard and the professors can upload the documents there. Droogle does have the ability to upload documents. We are not presently using that but the capability is there. We will go on to the next slide.

Here is Droogle in action in a site-wide context. It’s just slash Droogle once it’s set up and you can see all the documents there. It panels an infinite number of folders which was a bit tricky. Their XML believe it or not comes back without utilizing the next XML structure which is what it’s best at and it’s kind of flat list. I had to store all the memory and kind of sort it and handle that folder structure so it can handle infinite number of folders and documents within.

Here is the Droogle block in an organic group context. You can see that block in the right hand side and it pulls in all the documents into the block for the class. It’s got ease of use. They can log in through Google drive, they’ll have Google accounts, Google and education accounts are free. That takes that into account and we use it. They can do their documents through Google or they can have easy access and click on the link here in Drupal and you will be taken right to their documents.

It’s always about ease of use and helping them find their way to the information that they need in their busy lives; so they can succeed adoption and also continue to do their jobs and to their families all of that. We have another slide here; it’s just the Droogle settings page. You can define a title for the main Droogle page that's the site-wide context. You can set the username, password.

Droogle uses a CCK field for the organic group’s site. You can set up a CCK field and stick it on the setting stage here. You can name the CCK machine name, field, anything you would like. Then it will show up in your organic group page on the node when you click edit, it’s just regular CCK stuff and you can do the password that way as well. Or you can set a site-wide password which is useful to us. Let’s say we have 500 different organic groups or classes in our case. We want to just have one master password. We can just set it all in this page right here.

Maybe it will be questions about CCK afterwards but that’s maybe another seminar in itself. Basically nodes in Drupal you have the ability to dynamically add fields and you just add another field and it ends up on a forum. You can then add in the username and password on said form in the node. The organic group is essentially a node that then is related to other nodes. Basically all the nodes exist within the group and that’s the organic group module which is wonderful.

Now we have Gtalk which is Google’s XMPP chat. Most chats these days are using XMPP if it’s at this level, the Facebook chat, if you have the Google chat, AOL and some Messenger uses XMPP. Most of the chat protocols that are very very big and popular are using XMPP. The history of the word XMPP is that it used to be called Jabber and there are some confusion as to whether or not Cisco owns the name Jabber. This protocol is now called XMPP. It’s really synonymous the words XMPP and Jabber. I have the link here for the Jabber module and drupal.org.

You can read lots about XMPP online, lots of the specs on how to use it. I'm going to go over some of that too. I think it’s a pretty cool underutilized protocol. The Jabber module for Drupal uses a Punjab server which is a BOSH server. It integrates with any federated XMPP jabber server. Here at Babson, we created some DNS entries, they are SRD records. It maps us to the Google talk servers. Its set to like a DNS server so that chat node, that if you're going to send a chat message to jbarnett@babson.edu it allows it to know that it’s really talking to Gtalk and not a Babson hosted jabber server. You can host your own jabber server.

We just choose to integrate with Google talk in their jabber servers because then when they're in the Google universe, when they log in in Google, they can actually chat and talk to people that are in our Drupal application. We've chosen to use Google jabber servers and BOSH basically is the liaison. BOSH does a couple of things. Now there’s HTML and then there’s XMPP. They are different protocols. What happens is in HTML you’ll hit a HTML page on the BOSH server, on the Punjab server and we haven’t tested with other BOSH servers.

I do know what works with Punjab. You will do a long pull; it will talk to that BOSH server HTML page for a long time, in a long total. It means it talks to that page for a long time waiting for incoming messages, sending any messages and it hangs out there as long as it can. Then when it can’t hang out there any longer, it stops and does another get. It goes to the BOSH server again to the HTML page, waits for more incoming traffic or sends any traffic that needs to go and this is what is known as the long pull. You hit that HTML page in the BOSH server. The BOSH server then sends out the information it needs in the XMPP protocol and will send it to the jabber server at Google or if you have your own jabber servers.

That’s how the BOSH server works. The jabber module actually hasn’t been published on Droogle.org for that long. There’s 16 new right now, so has been out there a short while. It’s a little bit more complicated to set up than Droogle because you need this Punjab server. It’s not so hard to set up, but you have jump through a couple of more hoops. I’ll give you some resources for helping you jump through those hoops. On those resources of course you can always be in touch or preferably through the SQL is a great way to talk.

Jabber is working presently adopter now for a few months. Some of the things we run into if we were showing pictures in the roaster for every user. If you have 10 classes or however many classes and it also brings in your personal contacts, if you're using pictures, you're going to want to have them more dynamically not … you don’t want to have 100 pictures glued on a page if you can do without it because its glow sinks down. We started bringing in pictures dynamically when you open up your buddy list. We’ve done lots of trickery.

You can make Droogle API to add people automatically as buddies if you're in the same class. I don’t know if you're familiar with chat but you have to confirm being a buddy. Yes I want to this person’s buddy; they asked to be my friend. If you're at that time when we have it turned on, so it automatically confirms that intake. We've done some backend API calls to allow that to happen and that’s incorporated in the module as well. Some things you do have to do in the back end if you want to go that far like we have.

One thing that happens at jabber is it connects securely through PHP first using a small library I wrote called the PHP Speaks XMPP. The library I put on github and there’s the URL. The reason you want to Speaks XMPP and PHP first is you don’t want to pass the username and password to JavaScript. It would be insecure that way. What happens is if you grab the unique RID and SID, SID is Session ID and RID, I don’t remember off the top of my head what it stands for.

The unique combination of those two numbers, the RID and the SID is the equivalent of a password. What you can do is then pass the RID and SID to the JavaScript library we’re using which is strophe. Strophe is a module that’s been published in the web and it’s been tested for quite some time. Where everything is handled that needs to happen in XMPP, in chat. You attach the RID and SID to strophe. Then you end up taking over that session. In this way it’s completely secure.

What's nice about having the PHP Speaks, XMPP and JavaScript libraries is you have a large array of tools to do what you want to do. If you want to do some backend stuff with chat, I mean PHP can do that. If you want to utilize the JavaScript, you can do that. Now I’ll be showing off more about these technologies in a little bit. I think they are really cool and underutilized.

I'm going to point out a book that goes into a lot of depth about XMPP. XMPP, this book points out; I think it’s really interesting is you don’t have to just do chat with XMPP. You can have a game. You can have tic-tac-toe, you can have any sort of game that passes information in real time back and forth. A real time drawing app, you can mimic Gdrive itself and have dynamic authoring, people authoring a document at the same time, it’s really just passing information back and forth. It’s a really underutilized protocol that I've really come to admire.

There’s the URL for strophe here. Here’s the name of the book. I actually have a spelling error here. I’ll fix it when we post the slides to the web. It’s a Professional XMPP. That should be XMPP not XMLL. Professional XMPP Programming with JavaScript and Jquery by Jack Motiff. Jack is very active in Google Groups. That’s where he has an issue queue. He’s supporting strophe and he helps support Punjab. He was very very helpful along my journey in learning all these stuff. His book is really well done. Easy to read believe it or not because it’s a very complex subject. He did a great job with it. I really recommend his book. You can find him online.

Usually when he posted the Google Group’s queue, that’s an easily Googleable thing. You can find the XMPP, I see this strophe. If you Google strophe it says Google Groups, you will find his group very quickly. Jack will personally answer a lot of your questions and he’s really been great. Here’s a screenshot of Jabber. You see have apps and Drupal developing group. Usually that would be a class finance 101 or something. We have a class called Drupal Development, Apps and Drupal Development and we have Wikis in there that we use in our development shop. We have discussions there.

It’s also an organic group and as a class so we can also see what students are seeing, how the software is performing. Right here you see our groups here and these are all the group members as part of our team here. You can see its green next to someone who’s online and it does turn red if they choose to be busy and grey if they're just offline. Actually you see the little bubbles in the forum; there are little circles there too next to usernames. The bubbles will turn green and red anywhere that same username is used on the page.

If anywhere that a username appears on the page, we give their chat status and if you click on that little bubble, you can send a chat to that user right from that username. There’s another screen here. We are actually going to redesign this to look more like Google does chat, how Facebook does chat, we saw that’s how students are emphatically are used to seeing it. We are just going to give them that so there’s no confusion. This utilizes in strophe and jabber out of the box.

They use the tab structure where if you have a new chat, it uses Jquery UI tabs to open up another chat window and that’s what you’ve got with the jabber module. Whether or not we have an alternative theme public or drupal.org, I'm not sure we will see. Everything is in a theme conscious and if you choose to theme it differently, you have that ability with the jabber module. You can overwrite the look and feel.

Tips and tricks. The way that we do it so that we know if any username mentioned on the page is online or offline or busy is use the same class in the roaster as you do with the username. You use theme username. If you have the same class and say with CSS, that class dot username is green and online, then every instance of that class will show green as well. It’s a pretty neat trick and you can use theme username to overwrite what your username looks like on the page and you can consult the Drupal documentation for how to use theme username. It’s a great cool trick.

Breathing through my slides here. Here are some actually XMPP. I’ll show you, I'm going to share my screen and I’ll show you a little bit more of that. Just sharing my screen here, hold on. Here is a user online about @babson he's green. I have it in debug mode, so you can see a bit more. People are here. Let’s see, I must have gone offline there for a second. You can see down below these are the XMPP messages. It’s only because I commented something in here.

Here’s the actual code from strophe and I stuck a consult log here so that you can see the XMPP up. Usually this is fire bug here. I have it in debug mode. You can see some of the chats messages that I sent in raw XMPP. Actually the body tag is for the jabber server only. Jabber is actually from here until that end body tag. Here it is. This is actually XMPP right here that I have. I hope you can see the blue highlighted.

To send it through BOSH as a conduit you wrap it in this body tag. I can show you here’s the PHPC XMPP and I’ll run you through the library. I was very frustrated using other PSP libraries out there that you, XMPP they were very very complex. I didn’t see a good reason for it, for the complexity. I thought there are a few lines to code as possible and it’s very easy to read. We will just look at the functions. This function here, jabber send XML, that's what just sends the XMPP through the BOSH server. Jabber gets next RID. What happens is you get a unique SID, that doesn’t change, that’s actually an ID. Then each message, the RID number, it’s just a number. It increases by one.

You constantly have to keep incrementing that RID and if you don’t get the next RID, your chat session will just disconnect. Basically it needs that incrementing RID and SID to continue the session. We are sending the XMPP just using CURL, get jabber, get RID, SID. You're sending your password, you're authenticating, you're getting your first RID and also getting your session ID.

Right here, here are some things you're going to send and its some authentication stuff right here as I've just mentioned and here’s an actual message. This is what sending a message looks like. I'm going to send myself a message. I'm sending to one of my instant message accounts, my other Gmail account. This text has to load from my PHP XMPP API. That actually sends the text. That’s that, it’s a very simple little library I wrote so that you can get your SID and RID so you can securely authenticate and then passing that to strophe. I let strophe do most of the work because that’s what we do here adopting.

If things are a commodity, you don’t want to re-invent the wheel. It’s just silly to re-invent the wheel of course. Also strophe has already been tested. I heard lots of people say that XMPP modules can often times really hammer the server because there’s a lot of traffic. Basically I’ll bring this up gain. Constantly, let’s see if we can find it. Do you see this; its prowling here, this is the long pull. It’s talking to the BOSH server and hanging out there. When it’s done, it’s going to sign up another one of this.

There is a lot of traffic. If you’ve got say 100 users, you’ve got some more messages right there. Maybe you saw that at the bottom of the screen. You constantly have the traffic and if people leave their browsers open, that’s a lot of network traffic. I heard that with some other libraries or home grown things, it can handle things inefficiently and really take down a server. Like I said at the jabber module has been running successfully now for a couple of months at Babson.

We have some other performance things that we are working on but it’s not because of jabber. We’re trying to make things faster, fix our team up. Like I said we’re dealing with these pictures, the people who’d like to see a rich theme, like a lot of pictures we’re are dealing with a lot of sprites and making things faster. Luckily jabber has not bitten me from behind and it seems fairly fast.

Now that being said, if you’ve ever gone to Gmail and you know they have chat on their page, there is a pregnant pause as it connects to a chat, even in Google. I say it takes about an extra half second to a second and then you're on your way. It’s really no slower than what Gmail has. We do have it running on every page of our site. What we do is on every page currently we just get a new RID, SID and reattach the chat. I can show you how we keep track of chat history. Jabber does keep track of chat history.

Here is the jabber cable here. Here’s your current user JID. In chat JID is the unique handle that you … if you send me a chat at jbarnett@babson.edu, that’s my handle and my unique identifier, that's the JID. This is your current user JID and this is your conversation partner JID. We keep track of this chat messages. Jabber will on switching pages load up that chat history up to like, I think it’s like 15, 20 messages per person per chat partner. That’s just to keep the continuity between the pages. If you create pages, you're like, oh you know what? Let me go to this page. I want to tell you about this page.

Let me go look to see what it says. You switch pages and you can pick up right where you left off in your chat with that person and we’re hoping that’s a very good experience. Feedback from our student is they are very happy to be able to collaborate right from this tool. They may start a conversation in jabber, in Drupal but then they might say, “Hey let’s move to Google hangouts.” Let’s move to another tool or just go hang out in Google. Because they're in Drupal, they might be reading the post for their class, their forums for different classes.

They might be seeing it … you can go into Drupal and see if a professor is online. You can see if a classmate that you're collaborating with is online. We have breakout groups and people work in groups in the different classes and they can just quickly go online and see if they're online. Then if they want to go to Google, hang out, that’s fine. We don’t have a current plan to integrate video, but we will see what people are asking for.

Again we are not looking to re-invent the wheel. We are getting great feedback that people like to see who’s available and maybe just send the teacher or classmate a quick question. We’ve gotten some great feedback there. I spent a lot of time with jabber and I definitely didn’t talk about Drupal as much. The cool stuff with Drupal is not only pulling in the documents, but the APIs where you can … let’s see if I can get … this is where I upload the stuff to drupal.org. Here at Googletest.php, I keep a lot of these things commented out.

You can create a collection, they're commented out because they only do one test at a time and I comment out the unused test. You can create through the API, just through the command line a collection which is a folder basically in Google drive. This looks like one line here and there, change permissions on a folder; you can add users, retrieve user information. It’s got a very rich library that we've been able to contribute to the community. Babson has been very generous in letting us share.

Our hope is that not only will people consume this module, but maybe other people will have to contribute and I’ll be happy to work with you if you want to be a co-contributor. If you want to just add patches, I love if there are patches then we can make Droogle and jabber better with everybody’s help. I love hearing if there are any problems, if you have any bugs, it helps us. Sometimes the community finds the bugs before we do. We haven’t had any bug reports in a while.

There are some issues with Droogle with the version of PHP. I’ll be addressing that shortly. Possibly using Droogle as you say in Drupal Six. I'm a little slower in finding the Drupal Seven bugs but the Drupal Seven version, it is out there. Jabber we are using in Drupal Six and Drupal Seven. I think we are going to open things up to questions. I'm not sure Brian or Janet are listening, but …

Janet: Hi James. Yes I'm right here. We had a couple of questions coming in. I just want to announce that if anybody has any additional questions, please ask them in the Q&A tab of the WebEx that you're right now. The first question we had was a question on the Google docs’ module. Does the user must have a Google account? They are asking do you have to have a Google account for the Google docs’ module.

James: Yes, the answer is yes. You can have an individual account if you like and you can store your docs in your Google accounts. If you have a personal account and just have your own blog, yes you can do it that way. You’ll probably be using this site-wise context and not the organic group context. Yes you can definitely do that. Or if you have a Google for business account, or Google for education account, they're really the same thing. You can do it that way as well. Yes you can do either way but you need a Google account.

Janet: Okay, great. The next one is, is there a way to use the Google docs module with files depot module?

James: I'm not familiar with the file depot module, so I can’t really speak to that.

Janet: Okay. Great. That’s it for questions. If anybody has any other question, could you please ask them now? All right, I guess that's it. Thank you everyone for attending. Thank you James for the great presentation. Again files and recording of the webinar will be posted to the website (acquia.com) 48 hours and we will email them out to you as well. Thank you.

Click to see video transcript

Speaker 1: Hi, everyone. Welcome to the Webinar Today. Today’s webinar is How to Scale MySQL in support of Drupal with Amrith Kumar, who is the CTO at ParElastic and Barry Jaspan, who is the Lead Architect here at Acquia.

Barry: Hi, I’m Barry Jaspan. I’m the Lead Architect for Acquia Cloud. We’ve been working to scale Drupal at Host It for several years now. Everyone likes to think that if you put something in the cloud you’d immediately get complete and automatic horizontally scalability of all components, and that would be terrific. It turns out that there are some parts of hosting Drupal that are easily scalable and there are some parts that are not. The database turns out to be one of those parts that has traditionally been very, very difficult. With MySQL, you can use a bigger and bigger server and eventually you kind of hit the wall, you can’t get bigger servers. Lots of people have come up with lots of possible solutions to this. Obviously, there’s database sharding, there’s various noSQL solutions. There are systems like Cassandra, and whatever that are fundamentally different kinds of databases that possibly horizontally scale better. Drupal doesn’t use those. Drupal is really designed to work with a relational database. The hunt test has been on for what is the best way to sort of move the pieces around among what’s possible while maintaining a relational database abstraction while also giving sort of the best combination of it works with existing systems and it gives us horizontal scalability, and there’s a lots of different players in this space.

When I was introduced to ParElastic, it looked to me like a pretty compelling option and so we’ve been working with them some. As a disclaimer: I’m actually on their technical advisory board. I have a very small amount of stock in the company but I’m doing that because it looked interesting to me, it looked like this might be the solutions that may or may not be the best for all possibly cases, but certainly for a system like Drupal, which really wants to just keep using a relational database and have it pretty much look like a normal single database install. It looked like a really good way to step a system up. So with that, I’m going to hand you off to Amrith and he’s going to talk about it.

Amrith: My name is Amrith. I’m the founder and CTO. For the next 40 minutes or so, we’re going to be talking about databases, database scalability, and how that impacts your Drupal site. I’d like to make this as interactive as possible so if you have very short questions, which you want to post, put them in the Q&A tab and we’ll try and get to them if they really topical immediately or at the end of the presentation.

One of the things which—thanks, Barry, for the intro. You all have probably experienced situations where your site becomes popular and it turns out the response time on your site is adversely affected by the performance of your database.

Drupal, as an application, is something which relies on database. We’re going to be talking about several ways to improve the scalability of your site, some solutions include reducing the load of the database, some include scaling the database. I want to talk to you also about the ParElastic solution, which helps improve your Drupal experience on the whole.

Drupal, as an application, is it’s very sophisticated web application and everything that you see on a web page in Drupal is in fact stored in a database somewhere; it’s a MySQL database, normally. When you request a page on Drupal, there’s some portions of it which potential may be coming out of the database. When people interact with your site, some of the things which they do on your site eventually do get stored in a database and that’s the MySQL database under the covers. Depending on how much you load your database, you may have some impact on your response time and a lot a very noble techniques have been used to improve the response of your database.

On the slides we look at some of those things, one of them is caching or CDN. When you have content which can be distributed on the network, then you put it out at various places—something like Akamai—and you make sure that when somebody wants to access that content they get it somewhere near to them. If the CDN doesn’t work, you may be able to use an application accelerator—something like varnish if that doesn’t work, you may use something like memcached, but eventually, the database when you look at the structure and you say, “The reason we’re doing some of these things, the varnish, the memcached above mySQL is largely because you want to reduce the load on the database. You have a trade off here. If you look at a typical Drupal site, an anonymous user tends to get most of their content either out of CDN or Varnish. If a person is an authenticated user, somebody who logs in to your site, the access may, in some cases, come from CDN or varnish; in some cases it may go all the way back to your database.
If you're logged in to a website, you expect personalized content and it’s not good enough if you get cached content, and that’s the reason why to improve the interactivity with your site, you do impact have to go, in some cases, all the way back to the database. Over time, we’ve noticed that the anonymous user is kind of no longer very popular. More and more people want to interact with your site, they expect that they’re going to be receiving content which is customized for them and, therefore, there’s a larger and larger load being placed on your database at all time. You’ll also notice a lot of people have been treating something like Facebook as a de facto single sign-on. They’re signed into Facebook and they expect that the content which they’re going to get is going to be customized for them. They have cookie on their system. They expect that the content is going to be customized to them so you tend to see a larger load on your underlying database and that is something which in a lot of cases can cost an issue for your site.
We talked about several alternatives to reduce the database mode. We talked about CDN. We talked about accelerators. We talked about caching. The shortcoming is many of these work only in cases where the user is anonymous. It’s not a good solution for an authenticated user. Also, it’s very, very good for cases where you're reading or you're just rendering a website, not very good if people are actually interacting. If they’re posting a comment, you still need to go all the way back to the database. At the end of the day, scaling your database is really the thing which you need to do.

There are several alternatives to scaling your database and we have a couple listed here on the slide:
Going from left to right, one option is get a bigger and bigger server. MySQL find a database and if you have really, really powerful hardware, MySQL can perform very well. One of the downsides with large hardware, especially if you happen to be running in the cloud is, your hardware is exponentially more expensive but the performance is exponentially more expensive. In other words, you can pay a lot more for server but you may not get proportionally more in terms of performance.

The other thing, as Barry mentioned earlier, there is final limit on how big of a server you can get. The largest server you can get on Amazon, for example, is sometimes not big enough for your site or for your database. What do you do then? There is an issue with just the scale up approach, if you will. Scale up is scalability solution where you just go for larger and larger hardware. The issue with scale up is there is cost and there is a limitation, you can’t go beyond a certain limit.

Some other people have come up with a solution called “sharding.” In the middle column in the slide here, you see what “sharding” looks like. Sharding, for those of you who are not familiar with it, is an application architecture where the application distributes its data into shards. Shards are independent databases and the application takes on the responsibility of saying, “if I want to get this data, which database do I need to go to?” The picture you see there looks awfully complicated. It’s not just to scare you, that is really what sharding looks like. The thing at the very top is your Drupal application and then there’s this whole infrastructure between your application and collection of databases which is, among other things, complex, fragile, very costly for you to write. Also, if you go down this route, it’s not something which is standard. What you're really going after the scaling the database, what you're ending up is a fragile solution, which may not in fact scale your database.

Also, as Barry suggested, there are some people who have attempted using solutions like Cassandra or other noSQL object data, noSQL databases. These require wholesale rewrites to Drupal. These are totally non-standard and in many cases, they’re totally unproven and risky. One of the downsides with this approach is—and I would be the first to admit that you can optimize a single code path with noSQL database and make it much, much faster than any relational database ever can. Any other code paths through the application becomes ridiculously slow.

I’ll give you just one example in the case of somebody who I spoke with, who tried to scale Drupal using a noSQL database. They were able to get very good response time on typical page loads. They were able to get modestly good time on comments. But, they had to totally disable the tag cloud because the tag cloud absolutely brought the server to its needs. That’s the fundamental problem with noSQL database is you optimize a primary code path but other code paths become totally sub-optimal. That’s also one of the good things with the relational database, which is you have a normalized data structure under the covers, which is the way in which Drupal stores data in the database and you can ask general queries in a standard query language and you're able to get good response time from most queries.

The implications to all of these three options, if you chose to go down this path, sharding and noSQL, for example, are totally custom-code. You don’t have standard module support for it. In the case of just getting bigger servers, you're limited by the size of the server and some cases that may be big enough, but in many cases, that is proved to be not big enough. There are well-known situations or well-documented situations where even largest servers available to you is not big enough if you're site really becomes popular. When that situation happens, you really need to look for another client solution.

Another kind of solution, which some people have talked about is to have database replication with masters and slaves. On the slide, you see a client on the very top talking to Drupal; and Drupal is sending all of its reads and all of its writes primarily to MySQL Master, which had been replicating to some collection of slaves; and then Drupal is directing some reads to one of the slaves. The solution works okay in some cases, but now Drupal has to realize when it’s doing the reads, does it know whether the writes has been replicated to the slave or not? You may not get the latest content on all the reads if that’s sufficient for your application. Again, in some cases this is acceptable; in many cases, this is not acceptable and therefore we need to look for other alternatives.
Just talking about the various alternatives you have for scalability that we talked about so far. You have replication, the one we talked about most recently, reads are targeted at slaves; writes are targeted at master. Standard MySQL replication between the master and slave and there’s challenges here because you don’t know in all cases whether you're getting the latest content.

There’s the option of sharding, which is an application architecture. It’s something where you have to make wholesale modifications to Drupal. And once you go the write or sharding, it’s not possible in all cases that you're going to be able to get a consistent and a holistic view of your data.

There’s the option of scaling up to a larger hardware that comes with the challenge that it’s ridiculously expensive in many cases and sometimes you can’t scale up large enough.

Finally, there’s the option of a noSQL or newSQL database where you have totally modified Drupal the application. It’s no longer a standard Drupal application, you’re on your own as far as maintaining it. To summarize these options: a combination of high operating costs—large server is very, very costly to operate; high maintenance costs—once you go and modified a code for Drupal all the way, you're on the hook to maintain every piece of it; it’s not standard—noSQL has no standard query language, it’s not like SQL which has a standard query language.; you need to understand the specific API’s for the noSQL implementation you choose to use; you dramatically increase your risk, not all of these solutions have had the same industry rigor, if you will, that MySQL has had. MySQL has a database that’s been around for several decades and that they’re very, very stable database for the most part.

All of these things have cost people who have gone down approaches to severely impact their time to market on their sites. Really what people are looking for is a solution which just works with Drupal or other web application, makes a database scale easily in the clouds.

Let me talk about ParElastic because that’s exactly what we do. Relational databases like mySQL are the thing which Drupal relies on. Drupal is coded to work with MySQL. The challenge is that MySQL is not always perfectly scalable in the cloud. What ParElastic does is, it takes a group of database servers and makes them work together as if there is single database server.

Let me say that again. If you take a group of servers and you distribute the load horizontally across them and all of these servers appear as if they are a single server. ParElastic is built for people who build interactive web apps, digital gaming, ecommerce, social networks… all of the kinds of things which people are using software like Drupal for. If you are using Drupal multi-site or you're building a multi-tenant and SaaS application, ParElastic is ideal for you. I will talk some of the reasons why that’s the case.

Finally, if you are wishing to offer database as a service, if you are wishing to offer some hosted application as a service, ParElastic, because it virtualizes the database, is ideally suited for you. The reason you need this is, database scalability is something which we all recognize as a serious impediment to the way in which you innovate and grow your own application and we want to mitigate many of the risks with other solutions. The risks with other solutions are: the cost; the complexity; and the lack of standardization and you want to get the overall of those things.

Let’s talk about how ParElastic does it. ParElastic is a solution, which allows you to scale your database on demand. Depending on the application load, depending on the Drupal load which replacing on your database, you can add storage, you can add process, and most importantly, because you can add and remove this on the fly, you only pay of what you use. Also, very important, we are not creating a brand new database; we’re just taking existing MySQL. If you’re running in the Amazon cloud, this could be either EC2 instance with mySQL or this could be an RDS instance or a collection of RDS instance. We pick collections of database instances and make them work together as if there is single database instance. This dramatically reduces your risk, reduces your disruption. It’s a database you know and love so all of the existing knowledge and skill about databases just continues. Since it mixes group of MySQL databases, if you're like a single MySQL database, the Drupal application just perceives it as a single MySQL database and it just works. That’s the simplicity of Drupal.

What Drupal application sees on the left hand side of the slide, a single MySQL database. Under the covers, it’s actually a collection of MySQL databases in which we’re all working together as if there is single database and that’s what ParElastic does. We virtualized the database for you so you just interact with what you think of the single database and we take your scalability behind the scenes.
How does all this work?

Let’s start with a couple of slides, which talk about your current configuration, you have Drupal, it talks PDO to a standard MySQL. This is what you have today. With ParElastic, make no change to Drupal, make no change to your PDO and you talk to ParElastic. Absolutely as simple as that.

Behind the scenes, there’s a collection of MySQL servers, these again, if you're running in the cloud, they could be in Amazon’s cloud, they could be EC2 instances with mySQL or they could be RDS instances. What ParElastic does is it distributes your data transparently partitions them across a collection of databases. All of these databases are now going to work together as if they are one single database. The application doesn’t see the difference that there’s multiple.

A very important aspect of ParElastic, something which is part of our intellectual property in the patent we have, is depending on work load on your system and depending on the amount of data you have on your system, you could add additional MySQL servers. Contrast this with something like sharding. If you have some number of shards in your application and you decide you want to have more shards, there is this very time consuming and risky operation called resharding which you have to do where you literally redistribute all of your data on the new set of servers. Part of our intellectual property, for which we have a patent, is ability for you to distribute data across a collection of servers and such that when you add new servers, you don’t need to do any redistribution.
That’s, I think, a very important aspect of our product, which makes it particularly applicable for a Drupal site as the site grows. Now overtime a Drupal site accumulates more and more data, you have more and more content which is published on your site, you have more comments, you have more data in your MySQL database, you can’t start off your system with the number of database servers you expect you're going to need in some number of years. You start with the number of servers you think you're going to need in the next six months, and overtime you grow to whatever you need. The important thing is, you can add additional servers and you don’t need to redistribute data–very important if you want a truly elastic architecture.

The other part of our system, also protected by another patent, is the ability for us to distribute processing on a collection of servers shown here on the left of your screen (in orange). When you have variable, when you have workloads which require processing, ParElastic has the ability to spin up additional databases, this is again off the shelf MySQL database instances where we can do this processing, there is no persistent data, there is no application involved, but you just use it in order to profound processing on the fly and that’s part of how ParElastic is elastic and able to deal with highly variable workloads which your application might face at any point in time.

Now, when you look at something like Drupal multi-site, you have multiple websites, multiple web properties, and in a traditional Drupal multi-site situation, each site has its own database, that database is sitting on a server and you might have some number of sites all sharing the single server. With ParElastic, it’s a little bit different, each site has wooded beliefs is a virtual database of its own and that virtual database is distributed on some ParElastic infrastructure, which is some combination of storage and processing site, which can grown and shrink based on the demand you place on your system at any point and time. With Drupal multi-site, we have some special optimizations, which are particularly good if you are an enterprise, you are using that you have multiple web properties on Drupal.

Finally, nobody wants to have an outage on their site. Those of you who are using Amazon probably knows that there were some outages in the last couple of days, high availability is really, really important for today’s website. ParElastic, as an application, is something which is highly available. You can have multiple instances of ParElastic. You can have this in multiple availability zones. You can distribute your load across all of them with some standard network load balancer.

Also, by the fact that we don’t make any changes to the underlying database, it’s standard MySQL under the covers, you can have MySQL replication going on your storage site as well. So you can have a primary copy in one of the availability zone, a set of mirror and another availability zone. You can have multiple ParElastic instances talking to these and therefore, if you at any point face a failure in your underlying infrastructure, your site is not compromised.

Again, the Drupal application running up top needs to know very, very little about all of these because with ParElastic, the entire database is virtualized and we deal with all of these for you.

Just to quickly summarize what are the details. We adapted the provision resources based on your demand. You don’t have to provision for peaks, you don’t have to provision storage for your demand two years down the road, you provision for what you need today. ParElastic automatically distributes data to all of these servers and we scale both reads and writes. Now, since we’ve distributed the data across the collection of servers, we can scale reads and writes for that. If you’re using Drupal multi-site or you're building a SaaS application, the ability to virtualize your database is really, really important. Finally, ParElastic makes all of your data no matter which server it happens to reside on. It makes it appear like one single database so you can think of the similar to cross-shard operations in sharded architecture.

In a typical sharded architecture, you can query of one shard or another shard and then it’s up to the application to consolidate those results. You don’t have any such thing with ParElastic. You just code your query, assuming you're talking to a single database, it’s up to ParElastic to provide you the single answer to that.

The important benefit to you, without ParElastic, you have to end up provisioning for peak demand. In many cases, that means that you're provisioning a lot of excess capacity. With ParElastic, you provision only for what you need and you dynamically change your provisioning based on the load on your system. This is really an impact on your bottom line.

Finally, unlike all of the other solutions which require you to make changes to your application, whether it’s in sharding or noSQL, with ParElastic, there is almost no change that you need to make your application. It’s a one-time change to get your data into ParElastic and then you application just works. Without ParElastic, you spend a lot of time building your underlying infrastructure. With ParElastic, you don’t have those issues, you just deal with your application and you innovate new application, which is really what you want to do anyway.

It’s always important, when we’re talking about things like this to discuss the performance of the system. So here are some results of standard benchmark. The red line on this benchmark is the performance of the system using standard mySQL (native), which was run on a m1.xlarge system on Amazon’s cloud. It had about a terabyte of data. I think it was about two billion loads worth of data and some of the large tables. The exact same data was loaded on 5x m1.xlarge systems and ParElastic was used against the 5x m1.xlarge system and both cases we used standard MySQL 5.5. The graph shows the response time for a standard database transaction with mySQL in red and with ParElastic in green. The Y axis in the response time in milliseconds so more is worse. You don’t want to be waiting three and a half seconds to get response to see your queries. With ParElastic, you wait barely half a second, 587 millisecond. The performance is about six times better. We have five servers. We pay less than twice as much as a single m1.xlarge so you have a dramatic improvement in performance here.

As the load on your system goes up, you don’t have this rapid decaying performance that you see with traditional MySQL, you have a gradual increase in response time but it’s something which is definitely manageable. What’s not shown on this graph is what happens with very small numbers of users. ParElastic as a product since between your application and the collection of databases, so it introduces a small overhead. In very small numbers of users, like if you have a single user or if you have queries which are very, very short, the overhead may actually dominate. So that’s a quick note on performance, but the important thing to note is you're distributing the load here on 5 m1.xlarge servers. You can equally well distribute it on much larger servers as well.

The databases, which we’re using in ParElastic are elastically scalable and depending on the load on your system, you could spin up more servers on demand. The mechanism for doing that is policy-based and you could monitor the load on your application and you could determine how many more servers you want to spin up or whether you want to spin down servers. From ParElastic’s point of view, when we process query, we’re going to look at what resources we need for those queries and we’re going to provision those resources and use them from within a pool that is provisioned by whoever is running the application. if you were running ParElastic on Amazon for example, you would be provisioning a set of servers and you would inform ParElastic of it and in the event that you're application requires more servers that you determine that to be the case, you would spin up more servers, you would inform ParElastic that they’re available for use and then we would continue to use them. But on the fly, we could provide you with the intelligence which says you actually do need some more servers. The numbers that were shown here are with Amazon EC2 with MySQL, the numbers with RDS are similar. The primary difference between Amazon EC2 and MySQL on the one hand and RDS on the other is— but with RDS, you get some of the managed options which Amazon provides you; with MySQL and EC2, you have to do that yourself. Performance on both cases are similar. In the numbers that we’ve shown here, we used standard IOPS or standard EBS volumes, even with provisioned IOPS you don’t notice a dramatic change in the performance here.

What are some of the benefits to somebody who uses ParElastic in application like Drupal?

The most important one is there are absolutely no lines of group of codes that need to be change. There is a one-time activity which you need to go through, which says, “Have do you migrate on to ParElastic?” “How do you make sure that all modules that you want to use are creating their tables and distributing their database correctly?” But once you do that and beyond that there is absolutely no lines of group of change and installing Drupal is literally the standard Drupal installer. You go back to focusing on the innovation in Drupal rather than trying to deal with how do you innovate in the data tier? Your user experience is dramatically better if you look at this performance chart again. Your user experience is not going to be very good if your response time for queries is dramatically going up to three and a half seconds rather if it’s a half a second, you're in much better territory. Your operation cost is so much lower because you provision and use only the resources that you need at any time. By virtue of the fact that we’re not a totally new database, we’re just standard MySQL under the covers, your risk is dramatically reduces. Since we deal with all of the issues of scalability for you, your time to market dramatically improves as well.

I’ve also attached here with this presentation some contact information for you and if there are any questions, now is your time to start putting them in.

Barry: There are two so far. One, maybe you covered already, which is what happened to a single node fails and you talked about how you used MySQL on occasion but maybe not about using ParElastic to do replication itself or to do duplication. The related question is ParElastic itself, how is ParElastic a single node of failure?

Amrith: OK. Thanks, Barry. Both these questions and I’ll try to get to them one at a time and it’s like don’t get both smack me. What happened to the single node of failure as they’ve built in redundancy? I switch back to the feature on high availability. A single node which fails could be one of couple of things. It could be a node running ParElastic and those are the notes on top. And those are not single nodes of failure because if one node fails, the query can be redirected to another node. Under the covers, a single node of failure could be a MySQL node. One of the storage nodes on the right hand lower part of the picture. Again, standard MySQL replication is used here so if a single node fails, that node has a copy somewhere else and at that point, it’s a matter of recognizing that node has failed and performing a fail of operation and then you direct all of your queries to that alternate node. Replication in this particular case is standard MySQL replication and we’re not at this point in the replication process itself and there are some things which we’re thinking about in that area which would make for product enhancement in the future. The second question was about…

Barry: ParElastic being single point of failure?

Amrith: The ParElastic servers at top were another single node of failure. It’s a very, very good question, which goes to the real heart of why ParElastic as product is innovative and cool. If you're building a traditional website, and you have a component in that site which is stateless. It’s very, very easy for you to horizontally scale that. For example, if I just need to spin up more web servers, I can spin them up because the web server fundamentally does not have state beyond the state of the current transaction which its process. you could have a load balancer and you can spin up and spin down web nodes on the fly. The issue becomes, how do you spin up and spin down databases because they are stateful and single ParElastic is the—the ParElastic engines itself is largely stateless. So we can have a large number of ParElastic engines as well and you can dynamically send traffic to one of many ParElastic instances and all the ParElastic instances are talking to the same underlying storage infrastructure so we’re not a single point of failure either. I hope that answers the questions. If not, just—

Barry: One way I can address this is that we have not deployed ParElastic if we have not been—we are working with it and experiencing with it. All of our masters cloud database clusters are high availability. We run two masters in an active passage configurations. All of the reads and writes are always going to one of the masters, but if that one fails, then all the reads and writes are going to the other master. One is always active; one is passive. What we are planning to do, I believe what we’re doing, I’m not directly involved in this, is we’re running the ParElastic engine on both of the database masters. So whichever one you're talking to, you're actually talking to ParElastic and then ParElastic may be talking to both of the database masters or maybe a collection of other storage nodes or whatever else you might be doing.

Effectively, ParElastic doesn’t really change the story of whether or not you have a single point of failure. If you’re running on one MySQL server, you have a single point of failure. If you're doing what we’re doing, and you have two, and your heartbeat or some other method of doing failure between your two database masters and you have active/passive replication set up, then you don’t have a single point of failure and ParElastic will not add a single point of failure. What ParElastic won’t do based on what Amir has explained so far is, it doesn’t magically take one database server and turn it into not single point of failure anymore. If you only got one underlying server, that’s your situation. Of course, you wouldn’t use ParElastic if one server was sufficient. That was sort of wasting your overhead under most circumstances. It’s actually the multi-tenant feature, it could actually be used anyway, but… all right.

Amrith: Thanks, Barry. Something you didn’t include, I don’t know, it’s probably too late to put in here is what Doug called the “marching app slides” where you showed how different kinds of transactions, different kinds of joins and queries played out across this kind of environment.

Barry: I did not have those slides on this presentation but I can certainly go over that with anybody who’s interested in that so I don’t know if we can do that here.

Amrith: OK. You might be able to—

Barry: Some of the questions actually asked for some of that, so I’m going to into that.

Amrith: I thing I’ll say is if you have time to put it into the 1:00 PM webinar, people could watch that they’re both going be online.

Barry: We’ll do that, OK.

Amrith: There’s a couple more questions here talking about where we store the data, what data is stored where, and so on and so forth. Let me talk about some of that. Where the data is physically stored? We’re not offering a service. What we’re offering is software which you run in your Amazon account, for example, or in your own data center, for example, we have people who are doing both things. Some who run it on the Amazon’s cloud; some were running from their own data center. As a matter of fact, we have some people who are running our software in other clouds as well. The data is physically stored in wherever you choose it to be. If you happen to be a person who was in the UK, who is using Amazon’s UK availability zone, that’s where your data is going to be. By the way, ParElastic is not a Drupal-only solution, it’s a generic database solution so if you have some other database app which requires, for example, the IO security on beta policy which says you can’t have identifying information If the person in the IO country moving out of the IO you're still fake there.

There were a couple of questions about what happens with failures and single point of failure and I think Barry addressed them. I’m going to talk about one of the questions, which is what data is stored in a persistent instance and what is stored in a dynamic instance? One of the things which any database does when it processes a query—let’s talk about simple MySQL, no ParElastic involved and you're attempting to join two tables then perform an aggregation and then sort the results and produce the results of the query. The query plan, which MySQL produces often generate these things calls temp tables.

What ParElastic logically does is it treats the processing nodes as the place where you store temp tables. Your persistent data, every piece of content which was in your website, is stored in the persistent storage part of ParElastic. When we’re processing queries, if we require— and this is important thing, if we require and not in all cases—if we require to join and some data happens to be on online MySQL server and some data happens to be on other MySQL server, this is what some people call “cross-shard” operations. Then and only then, we will use the process in sites, we will get the data from different places and perform the operation on the processing site. This is particularly useful because MySQL as a database is really, really fast if you are just using it for high performance index access to your data. MySQL performance gets a little worse when you start to do things like joins. It gets even worse when start to do things like aggregations and when you start to do something like sorts. What ParElastic does is it says, those operations can be done equally well on the processing those and the processing notes are truly a dynamic elastic resource. If you require that kind of processing, don’t bug down your storage servers for that, do it somewhere else.

There was a question about how you pay for ParElastic. ParElastic is something which we sell in license based on the number of servers on your management, the number of storage, persistent storage under management. Feel free to ping me, we can talk more about prices and things like that, but for the most part, I’d like to keep this to be a more technical presentation and stay out of marketing and sales.

Another thing which several people have asked in the past is how ParElastic compares, for example, with MySQL cluster? MySQL cluster is for the most part, the cluster option available would be NDB storage engine. Performance is really, really good if you can keep all of your data in memory. Performance drops out rapidly if you're data exceeds the capacity of memory. The place where MySQL cluster is particularly applicable is if you really high-end hardware, you're running it on your own data center and performance in the small number of milliseconds or reasonable number of micro second is really important to you.

That’s not really the use case if you're running a database in the cloud where you can’t guarantee, for example, all of your data is going to be in memory and as a matter of fact running MySQL cluster in Amazon produces some very, very peculiar performance results. There is a dramatic improvement that you can get with scale out, which you really can’t get the cost effective e way to scale up and that’s kind of the big picture difference between MySQL cluster and ParElastic. An entirely different level, ParElastic one with standard MySQL, therefore you don’t have to change the storage, ParElastic is not a storage engine. We sit between the app and the collection of MySQL servers. If you happen to be using NDB for some data, you continue to use an NDB for that data. If you want to use some of other high performance storage engines, you can go head and use that. Unlike the MySQL cluster option where you pretty much bound to use the NDB storage engine and you could be one of the brave pioneers doing that and helping them find the bugs out in that. But it’s not something which performs very well in the cloud. Other questions?

There are a couple of questions which I’m seeing about screenshots and administration consoles, that goes back to what Barry just mentioned. A prior arrangement of this presentation had a lot of that content in the interest of time I remove some of that. What I will do is put some of that content back. There is going to be a repeat of this webinar at 1:00 in this afternoon so the version of the slides which will be available online will include that information. Check back, I think it’s set in 48 hours that information will be on the slide or I have another option for you which is, my email address and phone number are right here. Drop me a note. Happy to talk with you about these and a lot more details, a couple of people who have asked about price list and things like that. Michael Aubin, whose phone number is here as well, he is the guy you should speak with about that. Other questions?

Speaker 1: All right. Thank you for the great presentation. Thank you everyone for attending. Again, slides and recording of webinar will be posted on the Acquia website and we’ll be emailed out to you. Have a great day!

Click to see video transcript

Hannah: HI, everyone. Today’s webinar is Making the Business Case For Open Source Drupal with Kieran Lal, the technical director of enterprise sales here at Acquia. Kieran was employee number two of Acquia and recently celebrated his five-year anniversary. Congrats, Kieran. He has served on the Drupal Association board of directors where he focused on business development. We’re really happy to have him presenting today.

Kieran: Great. As Candace said, I’m Kieran Lal. I’m going to talk a little bit about the making the business case for Drupal and OP source. I think that the first thing that we’ve seen is just a huge amount of adoption worldwide with what we estimate to be around million sites or more than a million sites. More importantly, where Drupal’s really accelerating in its adoption which is with large organizations dealing with the more complex websites, and so we see lots of big media organizations that are standardizing and building Drupal as one of their key platforms, a lot of big media brands, universities, particularly in the United States, the adoption of Drupal and universities are sort of becoming the de facto standard. We’re now starting to see three, actually it’s moved from two to three of the global large music companies, so Sony, Warner Music, and Universal, now all starting to adopt Drupal as their platform of choice for their media brands and then about 130 nations using Drupal for government websites and now there’re number of people from the government, different government agencies here, so I’d encourage you to check out our wiki page of several thousand government websites, national websites, and regional websites. We’re also starting to see a significant adoption of Drupal in the global pharmaceuticals. As people are starting to build platforms and brands around their pharmaceuticals and they want to build a repeat features and functionality of their site quickly they’re starting to use Drupal.

One of the reasons that I mention this is because it’s good to understand why these organizations who have adopted Drupal has paved the pathway for you as you’re thinking about building the business case for Drupal. I actually come from a bit of an unusual background within the Drupal project. I started off as a programmer myself and ran some technology labs. Then, when I came over to the Drupal community, I found that there were tons and tons of programmers here but there were very few people who could really articulate the value in the business of the business advantages of Drupal. I sort of switched from being a classic sandal wearing, ripped jeans kind of guy to being the suit and was frequently known as one of the few guys, if not the only guy, in the Drupal community who wore a suit and wore it all the time. This actually became a bit of problem because some people were like, “The suits are here. This is terrible.” One of the things I did was when we had our Drupal cons to make people feel like the Drupal platform wasn’t being taken over by the suits. I had decided to change, to dress up a little bit and help out. Here’s a picture of me at Drupal Con London last year dressed up as a beefeater and then more recently at Drupal Con Denver dressed up as a cowboy going on the themes. Part of this was to really bridge that gap between how do we articulate the value of open source, grass roots programming model all the way up into the corporate office, the suit, having a little bit of fun with that motif here.

What I want to do is talk today a little bit about the business case for Drupal and really take you through four different things that you need to be considering. The costs and cost reductions. This is the one where a lot of people focus up front but when they actually get into it and you get further along in the decision making process the cost becomes less significant but they’re still important. Enabling of value in effectiveness of business processes, I’ll really walk through some concrete examples of organizations who use Drupal to help with their business processes. Flexibility, a key decision. A lot of people are coming off in existing CMS today or sets of HTML pages and they find themselves extremely limited by what they can do, and so they’re not abatable. Basically, their CMS did not adapt into the business. The last, and most importantly I think, is risk. The organizations, extreme large organizations are really first and foremost mitigating the risks that they’re willing to take in a CMS platform decision, and so being able to address that case is absolutely critical.

What I’m going to do now is I’m going to work through a little bit of the total costs of ownership angle. I think this is important that people have this down and really understand this, but I also want to put that caveat that it’s only part of the equation. We’re getting some feedback, at least from one person, that they’re having trouble seeing the slides. If you are having trouble seeing the slides, feel free to drop into the Q&A box and let Hannah know and we’ll make sure that the right slides are coming through. When you go to do your cost model there’re a few things that you need to take into consideration. Number one your license fees. If you’re buying a proprietary CMS there’s going to be a clear license fee. There’s also typically a maintenance and support fee that goes along with a proprietary product. In Drupal, the license fee for Drupal no matter how many instances you have is zero. It’s a free license. It’s an open source license under the GPL version 2+ or higher. However, there are realistic maintenance and support costs that go on with that and they’re comparable to what you can see with a CMS and you should be planning to have a budget for that. There’s an implementation cost often where the bulk of the capital costs that people are spending get put in, and so that’s often hiring or developing an internal web development team and having that team focus on the project anywhere from days to months to years.

Training costs are important. Often organizations have existing technical talent that are sophisticated web talent or sophisticated CMS talent, and it’s merely a matter of taking them through a training program so retool their skills onto this new web platform. Then, there’s also a content editor training challenge. Many organizations have dozens if not hundreds of content editors, some cases there are people using Drupal who have literally thousands and tens of thousands of content editors on their Drupal sites. There’s a training program that has to go on to help people, content editors, to be effective with the CMS. You can’t just put them in front of a CMS interface and expect them to succeed, particularly if the business demands some complex work flows where there’s a specific way of the business to CMS. They’re going to have to learn how to do those beyond just what-you-see-is-what-you-get editing.

There’s typically ongoing development. One of the things that we see with a lot of organizations is that once Drupal is deployed it deploys pretty quickly compared to other CMS solutions that they’ve had in the past. They really get excited about the rate of change that they can have with Drupal. The business starts asking for more and more features and what that means is that there’s typically an ongoing development cost that keeps on going, and then, of course, there’s an administration cost. From time to time, you have to think about what does it mean to administer my costs either managing content from external community and managing content internally but also administering the site in terms of applying security updates, patch and feature updates in the modules, taking advantage of new features that are coming out and refactoring parts of your sites, so it’s more maintainable, more flexible going forward. Those are the six buckets of costs that you need to think about. I won’t go into too much detail about that. I’ve gone about as far as I want to go in terms of detailed costs.

I do want to point you to a paper called the TCO for Open Source Social Publishing. There’s a bit.ly link on the top corner of this page that you can go in and get to it or you could search on that title in Google and it’ll show up. This is a fairly detailed whitepaper, eight to 10 pages long. It really goes into what are the costs typical for a proprietary CMS and the prices that you’ll pay for that versus what would the cost be for using open source Drupal. I think in a lot of cases you’ll see the costs are shift in some cases and in other cases the costs are really significantly lower in comparison, and particularly your flexibility and certain features are important to you. Also, a lot of people think about not of just having the CMS but does it actually take to operate the CMS to keep it up and running, keep it supported, keep it scalable, keep it flexible, make it adapt to you business. That’s a separate cost consideration, and we have a nice whitepaper that I worked on called Get a Grip on Your Hosting Costs for High Volume Website and where you can really go into detail, think about all the different costs that are involved, what does it take to hire talent and staff, and what do you pay for hardware, and what does it really take to turn and optimize and get great performance from folks. That’s a great whitepaper that really gets into the costs between cost of the CMS and the cost of the hosting.

Then, if you’re a slightly more independent view of the world these last two whitepapers are from Acquia. You can go and take a look at this paper from the London School of Economics. Again, you can get a copy off Acquia, but it was produced independently and we just happened to have distribution capabilities for it and it was produced by the United Kingdom Cabinet office on open source. This gives you a nice overview of factors to consider, cultural factors, cost factors, internal tooling, and skills factors when using open source and what are the advantages. This is a great paper to help build your business case.

What does this all really mean? I think at the end of the day you probably are thinking about you have to go build this business case and you have to take it to your CEO. What your CEO is really considering is not just the business case itself but what they’re really thinking about in terms of what are my capital costs and what are my operating costs, so how much initial outlay do I have to put out to get the site up and running and built, and then once it’s built and running what are the operating costs. That’s really what your CEO is asking you, not these esoteric important considerations but more of an academic or an analyst view of what the costs are. Your CEO is looking for clearer pragmatic dollar consideration. You have to take that.

What that means is that often when they’re thinking about those sort of immediate costs we’re really dealing with perceived costs, so software costs, free to use, implementation costs. We often see implementation costs around Drupal being 30% less than proprietary often because there’s not a big talent pool for the proprietary CMSs and there’s very large pools for open source because it’s so accessible, and also because a lot of proprietary CMSs are built off more classic enterprise languages which have a smaller pool and more expensive pool of talent. That could be an issue. Whereas, languages like PHP are more accessible, so there’re more people around the world that use them and because people are more likely to take a career path of setting up a hobby site or a site for their friend and really like using Drupal, start doing some consulting, then graduate into a full-time position. The size and the talent pool is very large around Drupal and that helps to keep costs down a little. Drupal’s very popular, and as a result there’s a huge percent of competition for talent in the market today. Then, maintenance and support, what we see is in our calculations often enterprise commercial support at certain levels is 20% of proprietary costs and where we see platform as a service which is a new trend in the industry around what does it take to have a dedicated application hosting environment called platform is a service. We’ll often see that many people in the community have been in the Drupal community for a long time have built up these custom hosting platforms internally. When they actually factor what it takes to maintain them, keep them up to date, keep all the tools, keep the staff and do all that, that they see as much as 40% savings when they switch over to having someone help as opposed to building the whole stack themselves.

From savings standpoint, one of the things that’s really key is that often when people do a CMS option they’ll find that that CMS is targeted at a specific niche. This CMS is meant to do the corporate CMS or the CMS is meant to be a microsite CMS or the CMS is meant to be a SAAS CMS. One of the things great things about Drupal is Drupal does all of those things really well and so it lends itself to consolidation. By consolidating or reducing the total number CMSs you can reduce the total number of technical teams that you have to build on the CMS and you can reduce the total footprint of operational costs, and so that consolidation is critical in terms of saving money. Many organizations, we’ll talk a little bit more, but a lot of universities or governments are seeing huge cost savings by consolidating onto a single open source CMS that’s really flexible, can meet the full range of needs in an organization. When it comes to vendor selection, if you buy a proprietary CMS often you’re tied to just one single vendor. Because it’s an open source license you can come to a vendor which is a vendor that targets corporations and enterprise primarily, but by no means are you down to just using Acquia. There’re huge, thousands of vendors out there who are providing different levels of implementation services around Drupal, or you can go and hire talent directly into your organization so you get a lot of freedom. Within that freedom, if your budget isn’t a large budget project then you might want to go with a small vendor that’s used to building small or lower budget projects and you’re also not tied to what could be a very small pool of national very large agencies that know how to do these large complex implementations. You can actually go and find a local vendor in your community who knows Drupal and can help you or use open source and that can help.

Last but no least, Drupal is also because it’s grown up as a grass roots worldwide platform from it’s very inception has always been focused on internationalization because it was started by Belgians because it was a team of people who spoke Dutch and English and Flemish and New French, and then had early developers who were eastern European languages or other European languages, and so Drupal had a very strong internationalization presence. A lot of businesses that are thinking about expanding internationally or supporting a customer base that is multilingual want to be able to have a Drupal site that can serve those many markets, so we see a common model where somebody stands up a Drupal site and as they go global and start to support more and more languages they’re quickly able to reuse that CMS to support those multiple languages. There’s significant cost savings from that.

I talked a little bit about Drupal as a platform standard. This is a great slide that really shows how Drupal can serve a wide variety of sites. We see community sites and product sites and corporate sites and marketing microsites. Because all these sites are available you just use Drupal as your standard platform and then build a wide variety of sites as opposed to having to go out and say we’re going to use this blogging service for this service, and then for this model we’re going to use as SAAS service, and over here we’re going to use Tumblr, and over here we’re going to use a big enterprise service, and then for this product campaign we’re going to buy an enterprise SAAS, and so you don’t end up with all these different costs and different teams. You just have one platform that works for everybody.

That’s a review of our costs starting off with initially looking at all the different things that are going to be initial costs, a list of six different costs that you have to address, but then really recognizing once you get through those and looking at some whitepapers that you’re going to have to have really take this up to your CEO or take it up to a stakeholders approved budget, and so they’re really focused on operating and capital costs. Then, thinking a little more a long term about what are the potential savings from that. All of those things may be factored into costs and cost reductions. This first part of our presentation is really been more of the classic academic view of sitting down and taking out a pencil and paper and really trying to figure out what it’s going to cost for a CMS.

Now we’re going to start getting into some of the things where a business really thinks about what is the CMS really do for my business and how does it actually make my business work better? We’re going to talk about the effectiveness of business processes. You’ll have to think about things like how do I update my website, how do I do content websites, what different services can I offer. Many organizations they’re in a situation where today they have a call center and they get a certain volume of calls into that call center and there are possibilities that they could put a nice little application that answers people’s questions like an FAQ or a little chat box or a forum or some kind of group where many of those questions could be answered quickly, and more easily, and convenient for customers rather than having everybody call in. Those kinds of additional customer services can be really effective because Drupal doesn’t just manage content, it’s also a full web application framework so you can build custom applications to service the needs of your business.

Because Drupal is open source and it’s freely available it has had a huge amount of contributions to it by thousands of developers around the world, and so it has a tremendous amount of features in it. it also has a very large pool of contributed modules, almost 19,000 contributed modules. That doesn’t mean that those contributed modules always perfectly or in combination always perfectly give your business exactly what you need, but it can give you a very significant leg up where you’re trying to do a common application that’s a well known architecture pattern for the web. By using this series of site building modules you can save a huge amount of custom development and have a lot of flexibility for the future if you need to change it because these are modules that are well architected and reusable, and so you get a tremendous amount of labor savings for your developers where they can click to do things, put together a site, in a very quick fashion.

You also can get some productivity savings. If people have traditionally been paying a webmaster to go edit HTML and now all of a sudden somebody’s in a content editing role on the marketing team or somebody who’s not very technical is able to push content live to the website which was previously very limited to technical world. There can be really significant savings there. Also, because the website is administerable through a user interface they don’t have to get down to the command line. They don’t have to be a very technical person to manage the website and so that can really help.

Then, one of the other things that we see certainly at Acquia, we spend a significant amount of our budget on outbound marketing and inbound marketing, and so some of the things that we do are search engine marketing. We’ll put ads so that if you go to Google.com and you type in enterprise Drupal you’re likely to see an ad from Acquia at some point or other. It’s really important for us to not only have a search engine marketing spend, but we also want to make sure our website is really well search engine optimized so that if there’s a chance for us to get a link on the front page of whatever query you put into Google that you’re likely to click through and get to us and that’s sort of free marketing for us, and so making sure our site is well optimized is really critical.

We have a number of people who registered for the call today and I’m not sure exactly, I haven’t checked and saw who’s on, but there was certainly on group of folks which was a number of people from the higher education base. We saw Babson College and Jefferson University Hospitals and the University of Washington, the University of Toronto, and the University of South Africa had registered for this conference. I think this a great example of organizations that are standardizing on Drupal, reusing it, trying to make it work across a wide variety of needs from the main university website to their alumni fundraising to professor’s websites, to student project websites.

What I want to do is spend a little bit of time talking about a college that’s closer to our headquarters there in Boston which is Harvard University. Harvard’s recently within the last year we launched their Harvard.edu on Drupal. They’ve built out a really great site that I think shows some great examples. In this particular case, they’re really four missions for higher education. They’re first recruiting, and so they want to be able to get people to come to school and pay tuition and be educated. In this case, you can see right there in their information architecture apply to Harvard, link for parents who are likely to be involved in paying for that school, and then getting admissions and aid. First mission, recruiting and you can see how this Drupal site clearly makes it easy for people to accomplish that recruiting goal.

The next is that higher education institutions really focus on teaching and learning, and so in this case we see that there’s a city lecture series so that people can visit and come to campus and be able to see a series. There’s a link directly to the faculty there. There’s a list of the courses, and then there’s also access to a few things in the library and academic research as well as other research that’s going on campus. That teach and learning component is really critical, and so the information architecture points people to that to help accomplish the mission.
Universities are being increasingly scrutinized for the huge rise in tuition fees. Nationally, at least in the United States, we’ve seen total tuition that’s managed by the Federal government or assisted by the Federal government hit almost a trillion dollars. There’s been a lot of question in about all of this money that’s being lent to students and whether or not it’s turned out to be a proper economic and educational investment. With that, comes a lot of scrutiny. In fact, some schools are being threatened that if they don’t improve the employment of their the students who are graduating and from what they’re being taught that they face some forms of sanctions or some forms of pullbacks in terms of their ability to get access to Federal dollars as well as potentially student loans for the students who want to come to the campus which is a real threat to their economic model. Employment is absolutely critical, and so obviously people graduating from Harvard want to see placement. We have really high unemployment rates for young people, particular between the ages of 20 and 25 as the economy’s slowed down.

Last but not least, we want to raise money. Building endowments, getting people to put gifts in their bereavements or to donate a certain percentage of their income back to their alumni, sometimes they do it because they love the sport team, sometimes they do it because they’re loyal or they have a great memory, they met their spouse on campus, they want their kids to go that particular campus, and so they believe that making donations that it’s a great way to stay close to the university over time. This is the fourth mission integrate university. If we look at them all together we see recruiting students, raising funds, teaching and learning, and job placements. This is a great example of how open source Drupal can be used to accomplish the mission of higher education to really focus on the business processes of a higher ed campus.

Just to summarize again, the first thing we looked at was the costs and different ways to model costs, and look at costs and savings. Then, in the second phase we focused on the effectiveness of business processes, so website and content updating, customer service, labor saving through developers, productivity savings, the amount of people using the website, and savings in sales and marketing from improved SEO can really give a concrete example of how a university was able to apply the business processes to the Drupal site.

The next thing that we want to take a look at is flexibility. Flexibility is really critical and we often hear training of evaluation phase that the existing CMS is being replaced because it just can’t do what the business needs it to do, or there’s a lot of tension or a lot of frustration between he vision that the marketing team has and capacity that the IT team has to deliver what they want with their current CMS. Flexibility is critical. Flexibility can mean a lot of things. At the very high level, flexibility means I can deploy Drupal as an Internet on private network inside my company, or it can mean that I put it into a cloud service and so I’m able to host my public website externally, or it could mean that I want to consume Drupal as a different deployment model as a SAAS model. It can also mean that you deploy Drupal in a multisite configuration so that you can have one code base but dozens or hundreds of sites potentially. There’re lots of different ways that Drupal can be deployed, and because of the way the license is free and because you have to access to source code there’s no real restrictions about what CPUs or where you deploy Drupal. That offers a lot of flexibility. We also see that Drupal as it grew up really focused on a number of things. When Dries was student in his dormitory he was working on parts of the Linux kernel and particularly documenting some parts of that. He believed that he should follow along and in that open nature that the Linux project could have, and so Drupal has always tried to adopt web standards and open stadards so there was interoperability. Because of that, at the heart of it, you’ll always see Drupal adopting those standards very early on. We also see that a large of number of organizations want to put a lot of data, particularly when they’re when they’re building complex web applications, and so we’ve always had open data formats and support for open data. That can extend to things like semantic formats. Some proof in the pudding, for example, there’s a been of number of large initiatives recently where governments have stood up open data sites and so we’ve seen organizations like data.gov.uk expose most of the national data through a Drupal site and data.gov here in the United States has exposed a lot of data through their site, and then recently just in the last few months I think India has exposed their open data site in Drupal as well. That’s a great example.

Then, last but not least, is open SAAS. Open SAAS is a really unique model. A lot of organizations are increasingly looking at their IT portfolio and saying, “We don’t want to manage this anymore. We really want it to be managed outside,” and so we see people turning to the cloud or turning to SAAS vendors and trying to get it open. There’s a good upside about that. It can be very effective. You don’t have to maintain a lot of technical talent. It just works as a service. It has great service level agreements behind it, and you pay a nice operating cost, and it all taken care of. That’s great. Probably one of the better known organizations for doing this is Sales Force who’s a very early adopter of cloud technology and software as a service. The caveat if that if you ever decide that you want to integrate more tightly those software as a service applications into your IT systems you may be in a steroid injection where you’re limited by the road map of the vendor. One of the nice things about Drupal is that you can have it in SAAS format through a product called Drupal Gardens and there’re a few others in the community. If at any time you want to take your site out of that SAAS environment you get your source code, you get your data, you get everything you, and then you take it and move away. That’s really a great option for a lot of organizations that are looking for I do manage low cost sites, lots of microsites and be able to roll them out.
The other thing around flexibility is talent. Many organizations if they either have a custom CMS or they have a proprietary CMS the talent pools are extremely small around those CMSs, and so working on an open source project gives you a lot of access to a very amount of talent and you can switch back and forth over time to look at different talent whether you go with internal talent, external talent, you go to an agency there’s a lot of Drupal talent in the world. We also see best of breed integration. Many organizations (I'll show a slide in a little bit) are really talking about how do I integrate not just my CMS, but I need to integrate it into my newsletter mailing systems, I need to integrate it into my CRM, I need to integrate into my enterprise marketing management systems, I need to integrate into my backend proprietary applications. Drupal’s built to integrate, and so if you need to tie it into some different business systems there’s a really high probability that if you go on drupal.org and look for a module there is a module to tie. If you haven’t, there’s probably one that very similar that can be based on it, and so your developer can build a module to tie into it.

Drupal by its very nature is agile. It’s developed in an agile methodology. The idea is that from architecture standpoint it starts off as a very lean core, and then as you need features over time you can add these small reusable modules that allow you to deploy more features in a short period of time as opposed to more of a proprietary CMS where it’s a gigantic proprietary one-time install and hopefully it has all of the features that your organization needs. Drupal’s really built around adding more things over time.

Then, last but not least, is the ability to keep up with innovation. I have a couple of slides where I’ll talk about some of that innovation. Certainly, the things that we’re seeing going on today is the huge shift to the mobile web, and so being able to tie your Drupal site into a mobile browsing experience or having a native mobile app or a native iPad app or a native tablet app is something that there’s a lot of stuff. If you go today to iTunes you can download the Drupal Gardens Drupal app, and then simply installing the mass module for Drupal 7 on your site you can have a native content offering experience with your Drupal site on a mobile application. Also, projects like Sparq which is a distribution to Drupal that’s hosted on Drupal.org you can have some really rich mobile editing experiences. We’re also seeing people want to tie Drupal into other products and other services. One of the things we’re seeing is a huge explosion of the social web. Marketers want to reach out where that audience is which on Facebook and Twitter and Google Plus and YouTube and things like that. They want to be able to tie their Drupal site in so that when they publish content on their Drupal site it also gets published out to Twitter, out to the social web. Then, people comment they’re actually able to interact on a Facebook app or a Twitter app that’s actually running in Drupal if just being exposed through that social media portal. That ability to have that integration is really key. The weight of the social web is incredible. It’s very difficult to keep up.

Earlier I talked a little about the best of breed tools. This is a great slide. It really talks about how you can line up your social media, your marketing automation, your CMS, your analytics tied into Drupal, and then on the other side of the equation where you have all these backend systems that are doing these measurements you’re then able to push forward and do all kinds of measurements of external applications like the primary website, your mobile app, your social and Facebook, Twitter, your campaigns, your video portal. It’s has that innovation, that integration is really critical.
I want to now start to get into some more case studies or some more concrete examples of things. This is a great picture from 2012 Olympics where in the women’s, I think, four by 100 relay the broke the world record. It’s one of those moments where Twitter is just all a buzz, a lot of people watching this, really, really exciting event that a lot of people wanted to experience in real time. One of the challenges that organizations like this had was how they do deal with this explosion integration of real time media. One organization that had to deal with this was NBC Sports. They had actually won the Olympic contracts in a previous round of bidding but most recently renewed in 2011. One of the challenges they got was how do I deliver content experience through television around the dinner hour when most of my viewers are watching yet at the same time this acknowledgement that most of the Olympics are being consumed by people in social media at the same time. They had received a lot of criticism around the Vancouver Olympics about this and there was even some estimates that they had lost hundreds of millions of dollars on the Vancouver Olympics. When the bidding came up for the 2011 Olympics there was a lot of focus on what is NBC going to do in order to be savvy around the social media, this more of a real time experience, how are they going to innovate this very old classic American TV company, how are they going to be able to innovate at the pace that the web is going. They went out and they did an evaluation of the CMS platform that they looked at it, and because there had been a lot of success within the broader NBC family, NBC Universal family with Drupal they had Drupal as a contender. I was brought in early on after I gave a talk not that similar to this one at NBC to help them with part of their evaluation to Drupal. In the end, they did go ahead and they did select Drupal. Part of the reason why they did they were in this situation where they were competitive, the bids had gotten very high, up to 4.4, almost 4.4 billion dollars to get the Olympics, the U.S. network for the Olympics through 2020, so a huge amount of money on the table and they had to be able to say we don’t want to get caught like we did in Vancouver again where we were stuck on a platform, we’re not able to innovate at the rate that Twitter and Facebook and all these things are happening, we need to be able to keep up in real time.

They chose Drupal because it was, at least in part because it was incredibly innovative platform that they had a huge community of talent, they had a lot of innovation, they had a lot of flexibility because who knows what’s going to happen in 2012 today. What’s the web going to look like in 2020 when you’re delivering that last game with that web experience? For that bid and for the London Olympics in 2012 they had to really focus on delivering that platform, so we worked with them to deliver their mobile site for NBC Sports and are now working with them to deliver a wide variety of other platforms due to the success of that platform for other properties within the parent organization Comcast.

Another thing that you want to be thinking about when it comes to innovation is it’s great to hear that there are innovative Drupal developers out there, but how do you really deal with getting that talent within your organization? One of the nice things that I encourage people to do is when they’re building a business case for Drupal and they’re thinking about the flexibility to have really being able to address the total amount of talent. One of the nice things about Drupal is that it has a very large talent pool. In fact, on LinkedIn if you go into LinkedIn/skills and you type in Drupal you’ll see that there’re 62,000 people on LinkedIn with Drupal skills. Obviously, that’s probably some expected distribution of the quality of talent over time, but certainly on Drupal.org there’s over a million people registered, and so not everybody has Drupal on their resume on LinkedIn. It’s a very large pool, and so there’re some really amazing people doing a lot of interesting work out there.

I’m going to point out just three people. I recently gave this talk in Texas. There three folks happen to be from Texas, but they’re indicative of the talent that’s available. Chris Rupple with Fourkitchens in Houston doing a lot of really innovative work around responsive teams, how do you have a team to automatically adapt to a desktop size to a tower size to a smart phone size. He’s been doing really great work in that space. That’s kind of become the de facto for the future of the web right now is that when build a Drupal site you build with a theme that takes the assumption that there will be a mobile experience if necessary right from the ground up and it’s built into the theme to be available at all three sizes. In the middle, is a partner is ours based in Dallas, guy named Tom McCracken. Tom McCracken’s been doing a lot of really interesting work around Drupal through an initiative called the App Store or Drupal Apps. The idea here is that we’ve always had all these site building and reusable components that have been really great from a technical site building perspective, but we wanted to create more of an experience for a site builder or an end user. He’s been really working on how do we combine the power and the flexibility of this great architecture and improve the figurability of Drupal to the point where you can click a button and say I want this feature on my site, I want that feature on my site. Tom has been doing some really amazing work with his team around Drupal Apps, in particular through a distribution that’s he's got called open enterprise. Last but not least, is a guy named Mark Sonnenbaum. Mark actually, also in the Dallas area, but he actually works for Acquia remotely and he’s our top performance engineer. Mark does a lot of really innovative stuff and he has very strong opinions like many engineers do. In particular, he focuses alot on performance. He’s been doing a lot of work on caching and scalability. If you want to laugh and if you know Mark or you want to see some of the personalities you go to a website called what would Mark Sonnenbaum do and you’ll see some anecdotes that a group of his friends have put together about some of his best known blurbs when it comes to scalability and performance of Drupal. Again, really amazing talent of people who aren’t necessarily working for you company and aren’t necessarily on your team, but if you’re using Drupal these are team Drupal for you. They are innovators who are doing amazing work for you and having access to these people who are just constantly day in day out doing great work that you’ll be able to benefit from using Drupal is really key to flexibility.

We’ve started to see more government sites use it. We have a number of people from different government sites. There are regional folks from British Columbia and Maine and some other regional governments. In particular, there’re folks at the national level who are on the call and I wanted to point out some of them. We have some folks from the SLAC which is the Stanford linear accelerator, part of the Department of Energy but located on the Stanford campus, or just off the Stanford campus, really interesting work there. We’ve also seen the National Institute of Standards and Technology announced that they’re likely to put Drupal and they’ve put out some bids and working through the bidding process right now. One of the things that’s really interesting is NIST is part of the Department of Commerce and Department of Commerce has been one of the earliest adopters of Drupal. You’ll see at doc.gov as well as many of the commerce sites. In fact, one of the things that was really interesting in terms of the communities that are using it is that the Department of Energy actually does these really interesting programs where they have Twitter parties where they get together and you can get on Twitter and you can chat with these people who are linear accelerator physicists and quantum physicists. In fact, one of the things that just recently happened was just yesterday the Nobel prize winners in physics were announced. One of the physicists at NIST was award winner and therefore a member of government Department of Commerce is actually a Nobel prize winner. That’s some really exciting times and I’m sure you’ll see some stuff posted to Twitter and through the websites as they work on their social media strategy around somebody in the Department of Commerce or NIST winning a Nobel prize. We also have a wide adoption of Drupal throughout the United Nations, and so we actually some folks helping to get the acronym right, but I think it’s the Economic Commission for Latin America. We’ve seen a large number of non-governmental organizations, like the United Nations, like the World Bank, adopt Drupal and in a really big way because they need flexibility.

A little closer to home, we started to see some organizations adopt Drupal. This is actually a website for a grocery chain in the United States called Whole Foods. Whole Foods does a lot of interesting stuff. They wanted to create really great experiences. One of the things they do is if you’ve spent any time in a Whole Foods they have these really beautiful store layouts, just lots of fresh fruits and vegetables. When you walk in, they always have these beautiful displays of food. They really spend a lot of time thinking about what is the experience when people go into our store. When it came to their web presence, they wanted a really great web presence. They started by launching a magazine on Drupal called Dark Rye that really showcases some recipes and talks about unconventional ideas and innovation and creative things around that. Finally, when that was project was a success they actually moved WholeFoods.com over to Drupal. The big focus here from an innovation standpoint was really on personalization. Their focus was they have about 250-300 stores throughout the United States. They’re constantly growing and adding. They wanted people not to just come to their store. It’s know it’s very hard to see, but if you see the second cow from the left on the top left it says welcome in some white lettering and it actually says Potrero Hills which where I’m broadcasting. Potrero Hills is a neighborhood in downtown San Francisco, and so about a mile from me is Whole Foods. I spend a lot of time there. One of the things they do is they give me the opportunity to log in and select my store for Whole Foods, and then at that store they actually have somebody whose job it is to go and put Potrero Hills specific content onto the website, so that when I go to the website either as a mobile experience or from my desktop experience I get personalized content that’s specific to my store and that I’m interested in. At the same time, they have a national strategy where the national brand can push down content and override what’s at the local store. If they have an anniversary that’s store specific because that store, just like me just had its fifth year anniversary, and so they had some specials on one day. Then, if there’s a national event they can override that content and decide what’s going to be on the home page. That ability to do customization and personalization is really critical to the mission of Whole Foods to create the kind of experience that they want to create.
We see this focus on innovation being really critical for everybody. Here’s a great example. Probably most of you have heard of Pinterest or Facebook just yes launched a competitive feature to Pinterest. Pinterest is the new hot social network. In February 2012, it was the first web property to reach 10 million unique visitors per month. Incredible rate of growth and you can see that nice little hockey stick style growth inside the Pinterest 10 million uniques logo there on the left-hand side. What happened if somebody got on Drupal.org and said Pinterest is now at 11 million users, could we add Pinterest capabilities to Drupal? A month later, sure enough, a developer in the Drupal community went out and created a Pinterest module and so there was Pinterest integration in 15 sites going live with Pinterest capabilities and integrated into the Drupal site.

If you think about that level of innovation what it does from just something big happens in the world, a few weeks later somebody gets on and says can I have this, and then a couple week later after that you’re actually people live in production with that feature. Take that and compare that to a proprietary CMS there’s no way they’re going to have that ability to put that into a road map. It just doesn’t work. They just don’t have that huge pool of talent of people around the world, tens of thousands of people around the world who are building custom sites and are contributing back components of what they’re delivering to their customers back to the big pool to make a huge difference in terms of the ability to innovate.

Again, just a quick summary of our third point. First point being cost and cost savings; our second point being adapting to business processes, getting value and value effectiveness out of business processes; and our third point being flexible. We talked about different deployment models, ways to push Drupal out in terms of SAAS and open and private Internets, and then we talked a lot about talent and innovators and people who can be effectively on your Drupal team to help you innovate and how is it agile. Then, we talked a little bit about a couple of different organizations both in government as well as a retail organization like Whole Foods that’s using Drupal to create great personalization experiences.

The thing I want to talk about is risk. Risks is probably the most important component here because really if the organization ultimately perceives that Drupal is too risky because they don’t understand it or they perceive open source to be too risky no matter all effective all the other things are, they just simply won’t pick it. Tackling the risk profile is really critical. There’re a lot of things that you have to think about in risk. The first is that it’s not just a matter of writing a check or getting an insurance policy. Managing risk and managing open source requires real change in the thinking of the organization if they haven’t adopted it yet. Most IT organizations are dabbling or have dabbled particularly around Linux source some kind of systems tools, but to be at the application level it may be a little less common. Thinking about open source applications requires real change. You also have to think about elasticity and some security. Procurement can be a real challenge. A lot of organizations are used to going through proprietary vendors license and saying we will accept this clause, we won’t accept that clause, and then all of a sudden they want to know who they can sue if the Drupal site doesn’t do exactly what they want. That’s a way a lot of enterprise procurement offices work. They want to put all kinds of clauses. They want to say that they own the rights to the security. They own the rights to the software. They want special clauses that if Drupal ever goes bankrupt that they’re guaranteed that they get access to the source code and kinds of things which they get out of the gate, and so they have trouble understanding this. Having to work through your procurement team to help them to understand what does it mean to work with an open source licensed product. Licenses, obviously, aren’t an issue. Champions are really critical. If you want to see Drupal succeed with their organization there’s almost always, always a champion, somebody who really understands the organization, understands the road map, who the stakeholders are, how the decisions are being made, what are the concerns of the organization and they’re able to translate those business concerns into advantages for Drupal, ways that they can explain the successes of Drupal to help it. Then, you deal with IT strategy, and then the fact that with a Drupal site because it’s going to be successful, because it’s going to offer a lot of business features you’re going to be probably doing a lot of development over time.

This is a picture I’m going to just tell you a quick anecdote about risk and risk management. This is a picture of Dries Buytaert the founder of the Drupal Project in I believe 2004, I think 2004 in December. This was his first presentation, Drupal 4.5 had just been released and he was flown out to Vancouver. In particular, he was flown out to work with a company out in Vancouver called Bright, one of the early evangelists and one of the teams of the really great top tier Drupal people who are contributing. It turns out that they had a really interesting customer. They had a customer that wanted to build a series of university styles sites that basically collaborated, but it was a very particular use case. Part of what they do is they have this organization called the National Defense University in I believe it’s in D.C. or Maryland, in that area. What they do is they teach advanced strategies, tactics, counterinsurgency, non-proliferation, all those kinds of things. We actually have people from our allies around the world come and take classes at the National Defense University. They may come take a class on counterinsurgency or border protection. These are advanced graduate level classes, so these are Ph.D., masters level classes, post doc level classes, very smart people, strong commitments. They’re coming, but they want to keep the dialog going after. Actually, as part of a larger initiative in the United States Department of Defense they have something called the Security Cooperation Agency. United States spends a fairly large amount of money, actually I think more money than the next 17 largest militaries in the world combined. Part of having a successful national strategy is having allies and strong relationships. Part of the way you keep those relationships is when people come and do training with you when they go back to their countries to their defense work they’re able to have a dialog. What the Department of Defense did through the Security Cooperation Agency was to create a series of 17 sites. They created the 17 community sites what actually based on Drupal Commons and some additional features on top of that. They wanted to be able to host these and manage them worldwide. Today, we’re able to host those and we host them in Acquia cloud. All these organizations that are really focused on security and how do we collaborate across borders. They maybe not state level department secret talks or not necessarily operational military mission level talks, but there are people talking important questions and the questions that not necessarily governments want publicly exposed, so security in the cloud and security with Drupal is really paramount. The Department of Defense when it comes to having models for security they have something called DIACAP which is their Department of Defense level strategy. These cloud sites have gone through the DIACAP. You can think of it as Drupal has gone through some of the most rigorous security standard issue of the Department of Defense and are even hosted in the cloud, and so this is a really important standard that Drupal has achieved in terms of security and risk.

One of the questions that people ask is can open source software be secure? If everybody has access to our source code does it mean that the hackers are going to figure out how to do it? I think what Dave said and my experience has been we’ve seen this code from the Department of NCIO continuous broad peer review enabled by publicly available source code supports software reliability and security efforts. One of the things that I’ve been doing in the Drupal project for a number of years is helping to coordinate the Drupal security team. We have a team of about 38 members right now. We put out regular security releases and people from the Department of Defense, people from agencies, people from newspapers, security experts around the world contact our team and basically say, “We found a problem with a security violation in Drupal,” so we have a process for working through with the security teams to validate that it is, in fact, a security issue. Then, we verify that there’s a fix that’s made, and then we push that out. We have a number of tiers in which tiers of modules, tiers of code, which we put our security. There’re some very rich processes that allow us to do hundreds, thousands of interactions with security people and developers around the world to manage the security profile. There’s actually in effect, because there’s a lot of discussion with security and because there’s a lot of openness about security that actually makes the product much more secure or at least as secure as proprietary products where there’s a only very small team and nobody really knows what’s going on in the code unless you’re a hacker.

Sometimes people have to think about how they secure borders. I was down in Texas recently and noted this really interesting article. One of the judges down there with the election coming up made a joke, he was serious, but he had said that he was afraid that if Obama was reelected that the United Nations would invade Lubbock, Texas, assuming from the Mexican border. Sometimes when people are thinking about security they’re thinking about really serious security and other times their not. Yes, the guy had made security to stop the United Nations from invading from Mexico, but it’s to train longhorn cattle to keep them out. This is a little joke I had going with our friends in Texas about security models.
There are some more serious security models. This is an article from the newspaper this morning from the Washington Post. One of the things is NATO has just come up this morning and said they need to be able to defend their ally Turkey if Syria continues to shell across the border. In the New York Times this morning we also saw an announcement that the United States is going send 150 troops to the border of Jordan to help primarily with relief logistics but also to prepare in case there were a complete collapse and certain weapons were available. These are the kinds of really serious discussions that allies can be having and can be talking about in these kinds of sites. These are Drupal sites. They’re secured in the cloud. They have to meet a standard. There’s a lot at risk when using Drupal in this particular manner, so it’s really important that security is critical.
In 2009, I had the opportunity to reach out to the White House that had started using Drupal for recovery.gov. This is a picture of me at the White House with Dries Buytaert the founder of the project. When we got three, we were asked a lot of questions and because I had been working on the security team for a number of years and thought a lot about enterprises issues having come from IBM we were able to convince them that Drupal was a viable model. Nobody really knows what the most hacked site in the world is, but certainly lots of people, lots of national governments would like to see a compromise of whitehouse.gov and we’ll see a hacker group say that they’re going to try to take it down. Whitehouse.gov is a site that launched Drupal and it has to meet extreme security standards.

We also see other organizations that have to deal with security. This is a screenshot of Tahrir Square in Egypt about a year and a half ago, the March time frame. What had happened was the protestors as part of the Arib Spring were rising up against Mubarak in Tahrir Square. They were being surrounded by paramilitary, militaries of the Egyptian government that were loyal to Mubarak. There were fears that he would be killed. One of the things that went on was that a lot of the protestors were very tech savvy, so they were on Facebook, they were on Twitter, but they were also on one of the most widely read news sources in the Middle East which was Al Jazeera, in particular Al Jazeera English blogs. They actually had huge massive spikes in traffic. People were blogging there. One of the things that the paramilitaries did was to try to take out the Al Jazeera site. What they did was they actually firebombed the offices of Al Jazeera in an effort to try to prevent them from publishing and being a voice pushing for freedom in Egypt. We actually got a call from some folks that we knew over at Al Jazeera and they were struggling with this massive, massive increase in scalability of traffic. We were actually able to help them and move them to Acquia cloud, and so today they’re a customer and help them with their scalability issues and things like that. That ability to look at risk profiles, the ability to say, “My site could really take off. I could have huge news. I could end up with the need to have elastic resources.” It’s that ability to be in a cloud source and to provision elastic resources on demand are really critical. This could help to really mitigate the risk of your site.

I think I wanted to just summarize with that to say risk is probably the most important, or if not the most important, consideration that your organization’s going to be making in the business case for Drupal. People like the White House and people like Department of Defense, people like Al Jazeera, really, critical times in history have evaluated Drupal, have used it, have taken through security models. Those are great use cases to help you show that this can be effectively managed around Drupal.

To review, we talked initially about costs and cost reductions. We talked about enabling the value, in particular that Harvard site showing how we helped to accomplish the missions. We talked about all the flexibility and the innovation all the great talent, how the people were doing really amazing and interesting things. Then, we talked about risks. We talked about organizations like the U.S. government and important organizations like Al Jazeera that are trying to get the word out and trying to get journalism and freedom out to across the world being under threat, and so they’ve had to deal with different security profiles.

That’s the summary of what I have. If you have any follow-up questions you can feel free to email me or reach me on my mobile. I’m sure Hannah has a long list of questions because I’m probably 10 minutes over. Let’s see what kind of questions. The first question I have is from Randy Seal and he says, “How do find Drupal developers who are willing to work with small 501c organizations that have sub six-figure development budgets? It seems that every Drupal you can find doesn’t want to work in that market. Actually, that’s a little surprising to me. I think, in general, we do find that there’s a huge amount of adoption of Drupal in non-profits. In fact, some of the recent surveys that had come out, listed non-profits have indicated that many if not more than 50% of all non-profits in the United States had switched over to Drupal. I think the challenge is many people who believe in openness, believe in sharing, believe in those kinds of things that are popular in open source are very interested in organizations that are serving a mission not just connecting economic agendas. There are a lot of Drupal talent in non-profits. The catch is that what’s happened is as we’ve seen Drupal take off in governments and all these industries, particularly in commercial industries, those people are making a lot of money with Drupal have then come and basically tried to pull talent out of those non-profits and try to get them to come to work. To some extent, they’ve had some success. Certainly, there are a lot of partners. I you go to the Acquia partner page you’ll find that there’s a lot of organizations that have very strong histories of delivering to non-profit sites, most of the early Drupal shops that I know that are five or six years old who are very focused on non-profits and servicing non-profits and universities. That’s possible. I think if you’re looking for talent, there’re always a couple of places to go. Groups.Drupal.org is a great place to post a job. I have a couple of web pages that I can send you. Let me see if I can switch over and show you a page. I think I may have been looking at your site earlier. You go to Drupal hire developer, hiring a site developer. If you go to Drupal.org and you go to hiring a site developer, and you get in here skills and essential backend web developer and skills of essential front end web developer.

What I would encourage you to consider doing is if you’re finding the market hard find Drupal developers since you’re competing against all these for-profit organizations, find somebody who’s just really believes in the mission of the non-profit who’s really trying to make a difference. Then, see if they have some basic web skills. If they have these basic web skills, then they can work on Drupal for you. You’ll also see a lot of people who jumped across. They started in non-profits and went to the enterprise. They found that they motivations in for-profits weren’t that good for them, and they’re actually looking to come back out. I certainly know of a number of developers who had recently chosen to transition out of that. Send me a follow-up email. I’m certainly happy to point you to a long list of Drupal shops that might deliver sub $50,000, sub $20,000 Drupal sites. There’s always sort of a part of the market that’s always going to try to make their way up the ladder, and so smaller budgets work and I’m happy to make some recommendations there.
I’m going to switch back to the Webex and see what other questions we might have. Are there any other chat questions?

Hannah: There was one more question. It said, “Could you teach upon the need to make the argument to your CEO about contributing code back to the project and budgeting for it?

Kieran: Sure. You can build, hire a developer, go out and build a module that does exactly what you need. Let’s say that costs 10 units of whatever. The argument that you want to make to a CEO is the effort that goes into that module and the maintenance and ownership of that module over time is not insignificant. Somebody has to look at that code, they have to go in and QA, they have to test it. There’s probably somebody in the business who has a non-proprietary need to do something else with that module of code does, and so you’re a lot better off having that module in Drupal.org’s repository where people with QA that module, other developers will come and maintain it for you where it can get external security reviews so people can see that code, review it. If there is a bug in it, it’ll be reported to the Drupal security team. If it’s a fully released module, security team will do a review. They will work with maintainers to get an appropriate patch. If there’s a broad problem in Drupal around security it could get code reviewed as part of a broad sweep of Drupal. Figure out the security costs, figure out the new feature costs, figure out the code maintenance costs, and then basically say, “Is it worth it to for us to keep this module solely proprietary to us?” There’re a lots of reasons why modules that are specific to businesses that aren’t proprietary. Oftentimes, a lot of modules are generic web architecture pieces that are plug and play. We want to contribute back.

The other thing that you need to consider is if your business is growing and you want to hire talent, when Drupal developers are looking around part of the way they find that companies are hiring Drupal developers and are looking where to work is they’re looking at these modules that are being shared and they’re saying, “You’re some really good work here. Would you like to do a part-time contract work with this module?” That can ultimately lead to full-time. It’s smart CEOs thinking about addressing talent, minimizing their costs, opening up to innovation, all those things will really take all those things into consideration. Any other questions?

Hannah: I don’t see any more. Thank you, Kieran, for the great presentation. Thank you everyone for joining. Again, slides and recording of the webinar will be posted to our site in 48 hours. Thanks, Kieran.

Kieran: Thanks, Hannah. Thanks, everybody.

Click to see video transcript

Hannah: Hi everyone. Thank you for joining the webinar today. Today’s webinar is “How to Use Drupal 7 to Meet Your Accessibility Goals with Mike Gifford from OpenConcept Consulting. I’m Hannah Corey. I’m a Marketing Specialist at Acquia.

Mike: My name is Mike Gifford as Hannah said and I’m a Drupal 7 and 8 Core Contributor and I’ve also been active in accessibility space having organized some accessibility end conferences or accessibility conference. I’ve also contributed a section to the definitive guide to Drupal 7 for accessibility so that was a nice thing to have the largest and most comprehensive Drupal book to also include the section on accessibility. I’m also the president of OpenConcept Consulting and I’ve been working with Drupal now for over seven years and I’m happy to be part of such vibrant and dynamic community.

I’d like to talk a bit more about, specifically, what are some of the goals that we are looking … What are we talking about when we’re talking about goals and alternative of trying to use Drupal 7 to go up and to accomplish that? It’s important to trying to find what that is. Of course, everyone would like to have a barrier free implementation for the website that is completely universally accessible to everyone that follows the principles of universal design and progressive enhancement and these are definitely worthwhile things to try for.

There is no complex website that is 100% accessible to everyone so there’s an element right now where because of assistive technology and the pace of change in the internet, there’s nothing that's perfectly accessible. There’s a lot that being done to move in that directions, standards and guidelines to help evaluate accessibility, but there’s nothing that’s completely universally accessible. One of the things that...one of the guidelines that’s available is the Web Content Accessibility Guidelines,the WCAG, and this is part of the worldwide web consortium.

W3C is involved in setting up all sorts of standards for the internet and it’s really critical institution for looking at and defining standards for the internet. They released, in December of 2010, they released WCAG 2.0, which is right now seen as the standard that people are looking at for accessibility internationally. There's also a number of draft standards that are being released that are worthwhile to consider and one of them is ATAG, or the Authoring Tool Accessibility Guidelines, and ATAG is still in draft but it’s...anytime you’re dealing with a content managing system, you have to worry not only about how the content is viewed from the user’s perspective but how it’s generated as an author and is it the tool that can, as an authoring tool, also go off and meet the same level of accessibility guidelines.

Finally, section 508, although Section 508 itself is one of the oldest internet standards for accessibility. It was initially published in 1998, and it is in a process of being refreshed and we’re very hopeful that in the next year or two, we’ll see a release of that that is able to keep up with and perhaps, we can exceed the standards set by the international community. Those are some ideas about goals and what is possible within web accessibility, and it’s important that this is something that we do work to establish this as more than just a lip service towards accessibility. That we need to look at what are the practical implementations and what are the practical approaches that we can do to achieve that. A lot of people in their publications and promotions talked about accessibility, but often, that’s more of a sale side than a practical on the ground. This is what has been done and tested and this is what we know worked for people with these disabilities.

I’m not sure what the status is of everyone who is in the call, but I wanted to enhance and talk a bit about the cost of the internet and the internet is constantly evolving, and this isn’t new for anyone here I’m sure, but I’m trying to understand both the clients that the users are using for whether it’s Firefox or Opera, or Safari or Internet Explorer. All of those tools are changing on a regular basis, so are the assistive technology devices that are being used.

If somebody is using a screen reader or is using a plugins tool to enhance the accessibility, these are tools, which change on a regular basis. Likewise, the demands of the internet and demands of what your website are, are constantly going to be changing, and there’s going to be new expectations for client deliverables and what matters as your site is being implemented. Even the software within that is changing on a regular basis as you’re keeping up with Drupal upgrades, and ensuring your site is secure. There may be changes within the code that is accumulated in Drupal, wherein the underlying infrastructure of jQuery or even how Apache is potentially dealing with requests that are changing.

You’re not dealing with the static implementation, and so there’s a need to constantly go through and look for barriers, and look for ways to find ways that your users are being limited too to access on the website. I would encourage people to look for feedback from the users and to elicit information and directions in terms of what's possible, and also to schedule a regular accessibility review. If you’ve done a full audit of your websites, then in six month’s time, it’s important to go up and look at a gate, and look at how, not necessarily doing a full audit, but to look at your website to find the ways to improve the process.

The best practices are changing and there's a lot of dialogue and discussion about what is the best way to approach things, especially when you’re trying to implement something like a responsive design, or you want to be able to even just add any feature like that, a slideer on the front page or something like that, that allows people to have a more interesting visual presentation for your front page. If you’re approaching and upgrading, you’re able to go up routine to look forward and to work with community, then there's always ways to improve and to constantly make your websites better if you’re working with the community of users and developers around the world.

It’s important to plan to go out and see that your website is accessible, and Drupal is a complicated system and accessibility itself is quite complicated. If you’re looking to implement an accessible implementation of Drupal, it’s important to try and leverage what expertise is out there and to where possible eliminate the unknowns. There’s a lot of modules that have some evaluation for accessibility and have some reviews or patches that improve the accessibility of them.

There's certainly places where there are problems that are known and also places where we know we’ve addressed the issue. If you can work with these known elements and read up on the board set that has been done to improve accessibility; that will certainly help a lot. It’s also important to try and contribute back to your changes. You’re going to find things with your users that are going to be ... that maybe something that others in international community have not yet identified. So if you you have an audit done on your website and the person doing it identifies that there's a problem with one particular widget It's useful to go up and to contribute, even those problems back, so that we can work through and try and resolve them as quickly as we can.

I wanted to also talk specifically about this in terms of WCAG. WCAG has a structure of their guidelines called POUR, that all of the information must be perceivable, the website must be operable. It’s important that it also be understandable and finally robust. There’s quite a lot of documentation available on this, but I wanted to make sure that people had a basic exposure to that as well.

Drupal seven has a lot of codified best practices built into it. We’ve done a considerable amount of work in about a three-year period of time to find issues and problems and to fix them in Drupal seven, and also to think beyond a single site implementation to try and say, "What can we do to see that we have a solution that works well for everyone?" I see that a lot of what we’ve done in Drupal seven has a lot of best practices, that if you just follow what is in core, you’re going to have a more accessible website, than not in many cases. When you’re working on developing Drupal that's of course an obvious example of where to look for, for example on how things should be done and how things should work.

One of the great things about core that Drupal Core has built with, there's a lot of information or APIs application processing interfaces, so that you can access the information and be able to organize its potential ways. That’s quite useful as well. The things are centralized and modular so that improvements in Core will propagate out to other pieces to your web setting.

There's also really excellent international communities that meets on a regular basis. There was a sprint earlier in March and there’s another one being organized in November. We do get together and meet, and then look at ways of improving Drupal for accessibility and there's also a very vibrant issue queue as well as the discussion group that we'll provide both of those at the end of the presentations.

Finally, one of the great things that we’ve accomplished in Drupal seven is the ability, not only to publish content that's successful but also to be able to administer the website in a way that is accessible. A blind user can install Drupal, can maintain Drupal, and can add content to Drupal, administer Drupal, and also read the content from Drupal. That operative is seen as a huge issue, but as websites become more interactive, the distinction between what is an administrative piece and what the user piece, they get kind of fuzzy. You may want to have a dashboard available to your users, you may want to be able have a discussion forum where they’re able to log in and have to have access to pieces of Drupal that are, within many cases would only be available for the admin users. It’s really useful to have the flexibility to know that the administrative pieces of the website has also been tested for accessibility and for the most part, had those barriers removed so that people can access the website.

I wanted to talk about some of these specific victories that we’ve brought into Drupal seven and ways that this can help you maintain your website in the future. The first one that you may notice if you’re needing to install Drupal is that there's a Skip to Main function that’s part of all Core themes. This is a great best practice for people who are keyboard only users or people who are blind and use a screen reader to navigate the website. What the Skip to Main section does, is it allows you to jump through all of the navigation that's generally part of a website and get right down to the content. It’s a great way to skip the navigation and get to the content and this is something that's also part of the admin themes as well that come with Core.

One of the issues in Drupal six that became a problem was the drag and drop, and drag and drop is a wonderful functionality that has a lot of – a much nicer user interface for people, but we had to go off and create a work-around so that we could more evenly and intuitively make it so that people who could not use a mouse were able to easily drag and drop the content and have the direct access with content, and to the administration of content rather. There’s also work to go off and improve the semantic markup in the breadcrumbs and the list, things like ... just trying to make sure that especially as we’re dealing with smarter assistive technology, the more semantics you can provide to the market, the better they ... to the assistive technology, the better they can interpret that and provide tools to help the ... or to assist the user in navigating the website.

We’ve also worked on improving the color contrast in the number of places and also added the area support. One of the tools or standards that W3C is building now is the web accessibility area, the Accessible Rich Internet Application Support. It’s nice way to build in more semantics, particularly when you’re dealing with dynamic content, so content that’s changing as you’re clicking on the website. More and more websites are becoming more like desktops than they were, the web pages of even two or three years ago, the type of functionality that users expect, and the type of dynamic responses are so much more complicated than what they were shooting back in 1998.

Being able to present the assistive technology with semantic information that describes what has happened and how to engage and how to go up and to make the information that’s been presented with the user in a way that is meaningful to the assistive technology. It’s a great thing that we’ve started, and there's certainly a lot more than we can and will be adding to Drupal eight, but there’s initial implementations of area for both the auto complete and ultimately, installation pages in Drupal seven. There will be considerably more available in Drupal eight.

Another great tool that we’ve added is a consistent way to go off and to deal with CSS displaying; none or visibility: hidden. This is a well-known problem, and one that we’re starting to have some good solutions for now and certainly the HTML5 boiler place has a solution that’s very similar to what we’ve implemented in Drupal seven. The issue is that assistive technology interprets display: none or visibility: hidden literally, so it will not display the information that's there to a blind user.

You need to actually find a different way to make that information, to hide it off screen and to ensure that people who are ... people do not see the information but it’s available for screen readers. We created a class called element-invisible that allows for screen readers to do this, or that works properly, we've tested it, and this is a larger challenge that one might think, because there are only a few lines of CSS.

Finding a solution that works well and is something that can be implemented across the board is a huge challenge. The solution that we had implemented prior to Snow Leopard, but Apple put out a release of its Operating Systems that destroyed the functionality that we’d implemented before, but simply even creating the class name .element-invisible, and standardizing on that was a huge move for Drupal seven, because it means that even if you want a different approach to how we implement this, you can just override that, but everyone who is ... all the modules and themes have a consistent way to name their information, to hide information off-screen and also to make sure that it’s visible on focus.

That’s like the Skip to Main link that shows up in the themes is one of the pieces that uses the .element-focusable, and there’s other elements where you would want to hide them unless a keyword only user is navigating to that particular element. Finally, there needs to be clear way to go up and hide it to make sure that it’s not presented to anyone, so that's the .element-hidden that’s available there. This will also be supported into Drupal eight, but we are changing the names a little bit. It'll have the same functionality but probably have a slightly different name space.

Another, we’ve done a considerable amount of work is with the Form Elements, and this is a huge challenge for a lot of sites that need to be accessible because so many web forms are not very accessible. The biggest way that they fall down is that there is not a direct link between the description of the input field and the input field itself. There’s no semantic tie between the two. We’ve added a title to ensure that it is with... We have a title setup so that there’s a direct link between the title and the label, so that
anytime you’re creating an input form that that information is setup and structured so that it's consistently convening over to the browser and that there's a semantic tie between the two. We’ve also built in control so that from a programmatic point of view, a developer can associate a label before, after, or make it invisible so that it isn't something that is going to necessarily ... that consistently to hide that information from the screen, but also make sure that it is all hidden from the screen, but it is available for users to be able to ... for an assistive technology to be able to read the information. This is all part of the Forms Application Programming Interface.

Essentially, all modules, and if they have a form associated with it, will use the Forms API to create them, so by addressing things in Core we’re able to go up and to address them in the application. There’s also work that we’ve done in the forms to ensure that there are more headers and greater semantic information associated with the form's interface, so it's easier for people to navigate, or especially for blind users to be able to navigate through the interface.

We didn't fix everything in Drupal seven and we won't fix everything in Drupal eight, as this is a continually evolving process and there is always going to be changes and new standards and new things that need to be addressed. If you're aware with those problems are, then you can look for it and design ... You can focus your efforts and attention on either avoiding them or focusing your programmerss on implementing solutions that will help get around that. In some cases, the problems that have been identified in Issue Queue already have patches for them, and they have a patch that you could apply back from Drupal eight to Drupal seven or that you could go to the modules that will allow you to take the ideas that are discussed in Issue Queue and bring into the application itself.

One of the problems is fieldsets, and complex forms. One of the issues with the complex form is you need to have something to bind them together, and the approach that is recommended is to tie them into a fieldset so that a phone number, if you've got an area code, a phone number and an extension, if those are in three different input forms, that those are bound together and that there's a label associated with the fieldset to explain what it is those different elements are, and that this is part of a group.

Likewise, dates are something that are often not dealt with properly, or if you've got ... if you have even an X and Y coordinate, you want to go up to express. If that X and Y coordinates are in two boxes to graph for accessibility, that should be wrapped in a fieldset. Unfortunately in Drupal, I'm not sure when it came in, but certainly since Drupal five, a lot of the collapsible elements have been done with fieldsets. Fieldsets have been used inappropriately in the past, and we’re hoping to go out to turn fieldsets into details in Drupal eight and address that particular issue. If you’re looking at moving your site to the HTML5, that is worthwhile to look forward to.

There's also some uses of HTML or other implementations like labels were used inappropriately in some cases and now we’re going through it and changing the HTML for that. We’ve addressed most of the issues where labels were used, but there still are some outstanding issues, and you can use the tool like WAVEY. Those will be identified and you’ll be able to see the user interface where label is used inappropriately. When form errors are being ... and they’re much better in Drupal seven than they were, but in terms of meeting AA compliance, and this is something -- this is a goal that the Drupal community has and we haven't been able to evaluate Drupal Core and verify that it does meet the AA standard.

There are some issues there, but we’ve made some dramatic improvements in terms of how error messages are displayed to users. So if somebody's filling out a web form and they hit submit ,a user, a blind user can navigate through that and can see that information, and be able to access the error messages, but they do need to be ... that does need to be improved. In order for it to be AA compliant, you want to ensure that there is a direct link into the issue or if somebody didn’t put in their name, that there's a direct link into or from the error message to the input form to allow them to add that information in.

Also, the publish status is something ... again, if you’re trying to go up, and to ensure that your website is set up for low vision users, there's ways to tweak Drupal seven so that the published status are in fact ... some Drupal themes do a better job than others in terms of marking up the published status, so that it's clearly visible what stuff is unpublished and draft versus what content is published, and the zen theme did quite a good job of that historically, and making sure that that was clearly visible but that’s not a hard thing to build into the theme.

There are also problems with the data tables.
If you’re looking to create data tables there in order to meet the guidelines, one of the things that is being proposed is that -- or one of the things that’s suggested is that there is a scope attribute added that clearly denotes when a header element is ... the header element has the scope of row scope colon. This is particularly important for complex tables.

For Drupal, most of the tables that are generated by Drupal are very simple and there’s very little accessibility advantage for the end user in terms of having this information in here. It's mostly a matter, trying to go up and make sure that the table data meets the guidelines so that it is following the best practices, and there’s a number of discussions on how to do this with both Drupal Core as well as the themes. That’s another area to look at. In terms of comments, if you are unable to comment, one of the challenges is in terms of threading comments, and what is the parent issue versus the child, and sort of establishing that semantic relationship.

We’ve also made some improvements in international innovation that have been brought forward. But for organizations that need to implement a multilingual implementation, you need to have a way to go up and tell the assistive technology what language you're viewing it in. If your main content is English, that’s great. If you have a link to translate to French it should say Francais, so that the screen reader does not trying to go out and pronounce Francais in English. These are useful pieces of things that are going to be added. In fact, some of them have already been added for Drupal six. It’s trying to standardized and build the best practices into Core, and there's certainly a number of issues where we’re looking and working on doing this for Drupal eight that can be used as examples or a great resource for people who are needing to go off and to setup multilingual websites.

One of the challenges that is not just the Drupal, but of websites in general is one of Modal Dialogs. This is essentially switching back and forth between and popping up an interface underneath it. In Drupal seven, the overlays module is a great example. If you’re logging in to the website, and you’ve not disabled overlays, then it’s very difficult for assistive technology to be able to know where the content is and be able to navigate with overlays enabled. One of the things we’ve worked on is a way of ensuring that a screen reader user can disable Modal Dialogs, but if you have people who are content editors who are using the assistive technology, then that will be something that you would want to disable for them because they may not necessarily know that this is a problem with overlays. In terms of the solutions for this, in many ways this is an issue that have been brought forward to the jQuery community, and jQuery is a much larger community of users.

JQuery is used in so many different content measure systems and also for proprietary or custom built web applications because it’s a really powerful JavaScript library. There’s work to go up on, and to be able to fix this you need the latest version of jQuery to bring that into Drupal eight, so that’s something that we can have addressed and have a common way to go up and address, switching the content and switching the focus of users between the pages of you now and to a particular element that they want to be able to access or edit.

I want to talk briefly about best practices now and to talk about things I've mentioned. Having regular reviews for accessibility is quite useful. and I really like the WebAIM’s WAVE Toolbar. You probably can’t see it very well here but there’s a link here for the main Acquia webpage, and I use this as an example of one that all of us will have probably seen having gotten here. If you use the WAVE Toolbar to evaluate a website, you can see areas where accessibility can be improved.

A red mark in many cases will indicate that there maybe there's a missing input form or maybe there's a label missing or maybe there's a heading or something that looks like a heading but isn’t marked up as a heading. It’s a great tool to go off and do a quick evaluation and grab the low hanging fruit. It doesn’t give you everything. None of these tools ... no automated tool will be able to effectively cover all of the accessibility challenges that you need to evaluate in order to make your website AA compliant. It does capture the low-hanging fruit and it’s really important to keep that in mind.

It’s also important to look at training your content owners. Your content owners are -- if they’re not writing good content that's well-structured and it has all text in it, it doesn’t matter how much you’ve spent on building a great framework, if it isn't implemented with the content owners keeping in mind accessibility and using tools like this, or there's another great one called -- a simple tool called CSS Home that basically use just CSS to alert the content owner if there is an accessibility, if there's alt tags missing, if there's use of an attribute tag, there's all kinds of things that can be done and highlighted simply with CSS if the content owners are educated about this, and there’s also growing tools like the Quail Library to do some basic accessibility auditing before a page gets launched.

Again, it requires training for the content office to go up and to have more awareness about accessibility issues. I definitely recommend getting an audit from a professional web accessibility individual, because there are things that you’re not going to be able to see that they are, so if you can look at it ... get somebody to give you feedback on your site from a professional perspective and give you places for improvement, it would be extremely useful. There are not enough websites out there that are actively going out and trying to reach out the users and to get the feedback from the user community, to see if there are any problems or barriers for the users.
I know that we haven’t done enough testing for people who use Dragon Naturally Speaking.
This is an area that if there are people on this call who have done testing or done work with people who have severe mobility issues and need to navigate by voice, the Drupal could probably use a lot of help because we don’t have access to enough people who are working to get access, to navigate the web in this way. Whenever you discover accessibility issues and whatever problems you run into, if you're able to contribute those back to the community, it will help a lot of us to build solutions in the future that address that. This is an ongoing issue, and if we can find the problems and address them in Core or contribute modules, will all be much further ahead.

There’s a lot of continuing work being done in Drupal, and those people who are using Drupal seven, there are 14,000 Drupal modules out there, and you're not using all of them but using a handful of Drupal modules and themes to go up and to build your websites. Many of those may have accessibility problems, and they would inherit things in Core, but they can always be overwritten by the module Maintainer. Almost all elements that we’ve worked to go up and to build into Core can be overwritten, and certainly if people are upgrading websites or modules from Drupal six to Drupal seven, they may not yet have updated their site to the new server or the accessibility standards that have been adopted in Core for Drupal seven. That’s an area that does need attention and you can look in the Issue Queue for any of the modules you use to see what are the accessibility issues that are there.

The ability to tag issues with the tag accessibility, so you can again look for modules that have been tagged with accessibility problems, or in Drupal Core there's also needs accessibility review. There's work done on Drupal eight as well, and in Drupal eight we're bringing the entire interface up to HTML5, and we’re also building Drupal so that it is responsive by design. All of the themes from Core will be responsive and flexible for mobile users. That’s again a huge improvement but it does require testing and evaluation to see how well it’s going to work for users in terms of ... too often people need to go off and added a new mobile theme.

They decided they want to add a mobile version of their website, and forget that it has to also be an accessible version of their mobile site, that in many cases the accessibility guidelines that are available for the main public website, also apply to the mobile website and it’s working with Drupal seven and in the future with Drupal eight, you'll have the confidence that a lot of that has gone through a consistent testing an evaluation to identify and address problems that have come up.

We'll need to have ... When ATAG 2.0 is released, it’s still in draft, and Section 508 are settled, we’re going to need people to review based on that as well, and to look at it and see if there’s ways that we can improve those, and if there’s a way that Drupal needs to be additionally configured in order to meet Section 508. Yes, that will be a challenge when it comes up, but we've made a solid ground work for this implementation so it should be easier for us to go up and to also address those issues. There’s a lot of work that’s being done on accessibility for CQ editor, BU editor and Aloha editor, editor have that fronts with a lot of work on addressing accessibility issues. Those are all part of -- the prominent parts of Drupal seven and eight.

Finally, I wanted to go off and to talk a little bit about the Drupal seven Web Experience Toolkit. This is something that we may be offering as a feature webinar. There's a limited organization that are working together and collaborating mostly governments, but not entirely. The Government of Canada, and University of Ottawa and the City of Ottawa are all collaborating together to go up and build a distribution of Drupal that has a lot of accessibility and usability components built into it. This is something that is going through quite a lot of testing and building on a framework that has been established by the Drupal community, but it’s something that we hope to involve more people who are looking to set up accessible websites, but also people are looking to build multi-lingual websites as well. With that, I'd be happy to go off and entertain questions, and to talk more about ways to get involved in the Drupal community and to address the accessibility issues in the future.

Hannah: Okay, great. Thank you. We have a couple of questions for you. The first is where is the best place to add area landmark in page pcl.php.Javascript or other? Can we attach an area landmark to a region?

Mike: Mostly it depends on whether you wanted to be validated by the ... the reason why people have been adding area in JavaScript is because the W3C validator has had problems with it historically, and I would suggest that the best place to add it is at this stage, in the page.pcl.php file. We weren't able to go up and add it historically into the templates for Drupal because we wanted to make sure that it was something that was going to validate when people went through the W3C. That was why it wasn't added.
There's also elements where the accessible helper module goes and adds them also in a block layer. That’s another space where it’s useful to add area landmarks, is with the blocks that are moving and migrating within the sites. If you can identify those programmatically -- or not programmatically. If you can identify those and expose that information, it helps out considerably. I would say, yes, those are the two places that I would look to add area landmarks.

Hannah: Okay, we have more questions. If I understood correctly the tool will become more linguistically diverse?

Mike: Drupal itself? The Drupal is already quite multilingual, and in Drupal six, the ability to have multilingual sites was brought into Core. It needs to be enhanced, so that you need to have additional modules to make that happen, in terms of a fully functional website, but the Core elements that were brought in Drupal six, they’re also part of Drupal seven. In terms of making it accessible, there’s extra elements that you need to do in order to be able to convey to the user that the language has changed.

To make sure that they have dedicated elements that show up in alternate language ... the most common instance for this is, if you have a website that is primarily in French, and somebody is trying to navigate that website in French, and there’s a string which has not been translated and it shows up in English. The screen reader will try to read that English screen in French, and if there isn't a default means to go up and to convey to the screen reader that the language has changed it won't know how to interpret that text. Did that answer the question?

Hannah: Yes, they didn’t specify anything else. There is one more question that just came in. What themes would you recommend for accessibility especially if you’re getting started with Drupal?

Mike: There’s a couple good themes I would recommend and certainly the Core themes are quite good in this, and has gone through some evaluation. Jeff Burns' is adaptive theme, is the one that we’ve settled on, and that has also brought its way into the web experience toolkit distribution. That’s another great base theme that we recommend. Jeff has been quite involved in the accessibility efforts around Drupal seven. The Zen theme is also a wonderful framework and John Elton has done some terrific work there as well. Particularly, in trying to look at simplifying and streamlining the CSS components, and we are really happy to go up and see the adoption. It’s definitely something that we’re very happy about, happy to see that there’s now a standard, consistent way to be able to programmatically code CSS, which historically is often a bit of a mess.That will have advantages for accessibility, and then also for performance as well. Those are the two main things that I would recommend for accessibility.

Hannah: Okay, great. I think that’s it for questions. Thank you Mike for the great presentation and for answering these questions for everyone. Thank you everyone for attending. Again, the slides and recording on this webinar, will be posted within the next 48 hours and sent to all attendees via email. Thank you.