Demo Framework: A distribution pretty much guaranteed to blow their minds
This post is part of a series: A Beginner’s Guide to Distributions: A fast-track to Drupal development. I want to apologize to my loyal blog readers, I love you so! I had a bit of a personal hiccup, which meant a few weeks of my life were shuffled up and didn't fall back in the places I had put them. I am continuing with this series, and TODAY, you can join me and Jakub Suchy for a webinar talking all about distributions.
The first distribution I want to show you is a special creature in the wild kingdom of Drupal. It has adapted to survive the trials of rapid prototyping and POC (proof of concept) development at a moment’s notice. It’s agile, fast and flexible. Think of a sort of cheetah with a prehensile tail and webbed feet and you get the idea of what the Demo Framework is capable of. However you might also sense that this isn’t a distribution you want to build your next site on. (Or is it?)
The Demo Framework provides an ideal learning platform. It was built as Acquia’s sales tool. We actually use this to show clients what Drupal can do in a way they can understand by using features which are brought to life in scenarios, because narrative helps decision makers see how Drupal can work for them. "Since using the Demo Framework our competitive wins have increased dramatically", said Frederik Demets, a Solutions Architect who uses Demo Framework in the sales process. https://www.acquia.com/blog/drolutions-drupals-flexible-framework
The scenarios included with the Demo Framework show Drupal at its best with community, commerce, search and more. Talking to a client who needs to see multilingual capabilities? You can enable the DF Translate feature which shows this working in the context of a Web Engagement Management scenario.
Demo Framework is powerful and mutable, but due the the fact that it includes everything (and the kitchen sink) it might not be the best starting point for development. We’ll look at how this distribution works and what features it comes with.
After we get the essentials down, I’ll talk with Brant Wynn to ask him what we can learn from the Demo Framework.
First the details
Where to get it?
- Demo Framework https://drupal.org/project/df
- Try it now on Acquia Cloud https://www.acquia.com/downloads/df
Where is the main hub for this distribution?
- Is there a demo of the Demo Framework? As mentioned above, you can try it on Acquia Cloud for free. Login and create your site. It takes only a few minutes to set up. https://www.acquia.com/downloads/df
- Documentation? Robust! https://drupal.org/node/2009226
How it works
You can install the Demo Framework, enable specific modules and work through the scenarios as they are designed. However you can create your own scenarios for specific demos or POCs (proofs of concept) yourself.
What problem does it solve?
How to quickly create demos which show the power of Drupal to prospective Drupal users and clients.
What is a typical use case?
I want to build a proof of concept and prepare a clear step-by-step demo to wow my potential client about how awesome Drupal is. I want to show a finished site but also the methods for updating and managing the site. For example, here is the responsive preview included.
Installation and configuration options
The installation process is similar to installing any site archive or distribution. The Demo Framework documentation on Drupal.org https://drupal.org/node/2184119 guides you through installing with Acquia’s Dev Desktop if you want to try a local version.
Demo Framework’s speciality is the notion of “scenarios”, which is the last step in Site Configuration. The default scenario packaged with the distribution is is “WEM”, web experience management (or also as I like to call it “wow ‘em, man!”) There are several scenarios to choose from on the project page, and later you can even create your own. After you make this selection all of the other configuration options are the same as a normal Drupal 7 site (site name, location, etc).
As soon as you login you’re brought right to the front page with content and configuration in place.
What is pre-built for you?
The Demo Framework includes a wide variety of contributed modules. There are many modules to improve the UI and backend to make the Drupal 7 site building experience more impressive. There is also custom code to control the features and scenarios. I like that the Demo Framework includes sensible sample content that makes sense, rather than space-filling Latin. The content titles match the images and videos, so those who view the Demo sample site get pulled into the story being told.
What major Drupal ecosystem modules does it use?
You will notice some of the most popular Drupal modules which integrate with others. I call these "ecosystem" modules because they indicate a specific development approach.
- Organic groups
- Spark (many D8 improvements back-ported to D7)
Most importantly, Demo Framework uses modules related to the Panels ecosystem for main control over the site. Views is fully integrated into the distribution. Most of the pages are built with some kind of view, rather than custom code. Panels is used to control the layout.
What opinion does it have about Layout and theming?
There is a custom base theme and custom admin theme included with the Demo Framework. These are both their own open-sourced projects, Demonstratie https://www.drupal.org/project/demonstratie and Ember https://www.drupal.org/project/ember
There are few theme-specific configuration or settings in the UI. Some popular theme systems include those options, but they can be confusing to learn. This is refreshingly simple.
Customizing these themes is no different from any other distribution or theme customization in Drupal.You should copy a subtheme of the base theme and modify that or make your own subtheme based on the base theme.
Developing with the Demo Framework
The Demo Framework wasn’t specifically made to develop production sites on. I asked Brant Wynn what advice he’d give. Brant explained that it’s not likely someone will start from scratch on a new build based on DF, but he thinks you could use it. He explained “It includes things that you’re not going to use. You’d have to strip some things out of it…. You are going to need to audit it and remove things you don’t need. Likely you would need to do that with any distribution. Like any distribution you have to assess: Is it giving more to us than we have to take out of it? Or are we taking out more than we have to put into it?
If you want to extend what Demo Framework does, Brant advised that forking, building a POC (proof of concept) using existing scenarios is easy. However, making a total new scenario would be more challenging if you have less experience building distributions.
There is also the Lightning Distribution https://www.drupal.org/project/lightning which pares down the Demo Framework to the essential building blocks: Curate / Assemble / Import. The purpose of that distribution, again, is more around the sales education process It’s a “lightweight framework for building working proof of concepts in Drupal”.
- Documentation: https://www.drupal.org/node/2009226
- Customization tutorial: https://www.drupal.org/node/2246603
Talk with the expert: Brant Wynn, Solutions Architect
I spoke with Brant Wynn about his experience as a solutions Architect at Acquia. Brant was hired to demo Drupal to clients, and starting to see “where we were falling flat”, he explained. The team wanted to so something that was reusable, instead of everyone having their own demos. To start, they compiled the RFP, he said “We knew there was stuff that was really good in Spark, Commons and other contrib modules, like Commerce. From that, we crafted a script of workflow for user personas.” They knew what people were asking to see, and they came up with a way to show them.
They knew from the start this had to be a distribution. “We knew people would need to be able to put this on their laptop or server somewhere, “ Brant said. “If you haven’t used distributions before, but you need to show Drupal, then this distribution is a good one to get started with.”
Other distributions weren’t suitable. They are often too abstract. “When you install them, they come with limited demo content. So you still have to spend time hunting and pecking,” Brant said.
They put together a package which is quite extensive, but they had to be very selective too. He said it could have gotten out of control, “Still, this requires around 160 modules (including core modules). An average distribution might install anything from 70-100 modules, so we’re on the high end. But when you consider we include segmentation, personalization tools, multilingual (18-20 modules alone for a basic demo).. we needed to be very exact.”
However it doesn’t show “everything” you can do with Drupal. The strength is in the specificity. As Brant explained about the approach to Multilingual parts of the demo.
“Our entire package around Multilingual has all the modules we consider you’d need around content based translation. That’s showing one pattern. We’re not saying there’s aren’t other ways to do things in Drupal. We chose content based translation because it’s easy for people to understand that even if they don't understand the idea of “fields on nodes” they can understand the idea of content being copied over and translated. We found that this was a good thing for a demo. But if you’re trying to show someone all of the different things you can do with Multilingual, and your audience is more technical or familiar with Drupal, they might say: well then this might not be the best practice to show. Maybe you should be showing field based translation, or entity translation modules. So how you show that to someone who is uninitiated and also show someone who is well-versed in Drupal is almost impossible.”
Acquia emphasizes using narrative in the sales process. This is similar to how we do training with narrative and cases. I asked him, how does a scenario help people decide if Drupal is right for them?
Brant explained that the scenario gets into the background and gets out of the way.
“Whether you’re telling someone on the street or speaking to a potential client, you want to get someone into a relaxed state so they will be more engaged. They won’t be thinking about 'inline editing', they’re just watching. They weren’t just told Drupal could so something, they were shown. Then when they go to tell someone else about it, and they can remember what they were shown. It helps them to recall and communicate to others. We use a demo with Travel, because it’s something many people can relate to, and especially the decision makers we demo to. We don’t need to explain the product or why you need it.”
Thanks to Brant for the in-depth interview, which I think gives some context to this great distribution.
I hope you'll join us today for the webinar all about distributions in Drupal.