Planet Drupal

Content Management + Content Strategy = Results

Content management coupled with content strategies are the perfect 1-2 punch for the ultimate results oriented website. The biggest revolution in the history of marketing is in full swing. If you are in business and you are on the web, you are in the publishing business. You need to publish great content that attracts audiences and gets them excited about your brand – and, oh yeah, gets them telling their friends. However, rarely do organizations optimally leverage the strategies for how to write extraordinary content with the full power of the tools for publishing. The key is to bring them together. Content strategies tell you how to position, write and optimize your copy – or other media. Content management systems such as Drupal are your online printing press. In this video we cover the essentials of bringing content strategy and content management together in one streamlined framework. In the next video we will cover content promotion through search engine optimization and social media. Let us know if the video is helpful in the comments below! Photo by Djuliet

No More Excuses for Ineffective Websites

How effective is your website? Does it drive traffic? Does it engage and delight visitors? Does it convert? Does it keep them coming back?

Is your site producing any real, tangible results?

For the vast majority of sites the answer is no – or at best, "I'm not sure". Most websites do little to generate value for their owners. Yet there are a few in every niche that generate incredible returns.

What is the difference between the exceedingly successful haves and the teaming masses of have nots? That is what the Results Oriented Web series is all about.

It is about the strategies, processes, tools and tactics that top websites have used to become online leaders. More importantly, it is about how to bring it all together in a seamless integrated system.

So how much does this system cost? Nada.

The tools are built on the free open source awesomeness of Drupal. (If you know LevelTen, you should have seen that coming). The processes are built on popular, public domain agile project management. (Again if you know us, should have seen that coming). The strategy and tactics are gleaned from dozens of books, hundreds of blog posts and thirteen years of experience building results oriented websites.

The last step was training to bring all together. So we give you part 1 of the Results Oriented Web Quickstart – Strategies and Processes recorded from our first workshop. We will present part 2 – Content Management and Strategies and part 3 – SEO and Social Media in future blog posts.

I would love to get your feedback in the comments section.

Photo by Krissy Venosdale

Why Web Development is Like Building a House

We have some really fantastic clients here at LevelTen and have worked very hard with them to explain how web development works. We find though that there are many people that just have no idea what the process is about. Over the last couple of years of working with a fantastic team here at LevelTen, it has occurred to me just how similar building a website is to building a house. Turns out this analogy helps a lot in explaining what we do and how we do it. It also helps set expectations along the way.

If you were to start building a house today, would you start by hiring an interior decorator? Of course not! You also wouldn't ask them to design the structure of your house and yet this is often what happens when building websites. It is important to gather together all the right people necessary to build a website just like when building a house.

General Contractor/Project Manager

First there is the general contractor. For a house, he is the main contact that you, the customer, will have with all of the other people building the house. You may talk to the other people but at the end of the day he is the one responsible for the whole project, and to make sure that everyone has what they need and works together. At LevelTen we call this person the Project Manager.

Next up you would probably go talk to an architect to design the house. What's interesting at this point is that no one is really talking all that much about the color of the paint on the walls and which pictures go where. Generally you are just trying to get an outline of the house, which rooms go where and how big they are. Then there is the engineering of making sure everything is livable and works right. At LevelTen, this is the Information Architect/Wireframers we have. Their main job is to talk to the client, get a good idea of the breadth of the project and then design the whole thing so it will work.

Architect/Information Architect

It is really important when talking to an Information Architect to make sure that you don't leave stuff out. Could you imagine getting near the end of building your new house and then remember that you wanted a media room right in the middle. How much would it cost to squeeze another room there? That happens all the time in the web world. If we don't know what is going on up front then we can't plan for it and it is going to take a lot of effort (read time and money!) later on.


The next person who builds a house is the actual builders. They lay the foundation, raise the walls and make sure everything the plumbing and wiring is done. In typical house construction this usually takes about 40% of the budget to get the foundation laid and the walls framed. This again is very similar to web development. At LevelTen we have a very talented group of developers who use Drupal to build some incredibly feature rich websites very quickly. These are the builders of your website. They are going to be building the content types and views (roughly like rooms) and make sure that all the modules are set up (roughly like plumbing and electrical).

It's at this point that a web shop that really understands Drupal is going to stand out. It takes a while to really learn how to build a Drupal website the right way. We've seen plenty done the wrong way. So finding someone who can do it right the first time is important. Would you hire someone who only has experience building brick buildings to build your wooden framed house? I sure hope not.

Interior Decorator/Graphic Designer

Once the building of your house is done the Interior Decorator takes over. This is the person that picks out the colors, bricks, furniture and finishing touches for the site. So much of this process is dependent on the preferences of the person who will be living in the house that this is a bit of an art to get right. Again we've got a couple of very talented designers here at LevelTen that can make amazing designs for websites. They will pick out the colors and pictures (kinda like furniture!) and make sure everything looks good together.


Of course once the whole design is in place you are going to need The painters and movers to actually get the house looking like the design. This is analogous to our themers. It actually takes quite a bit of work to get all the images, colors and everything set up so that a very dynamic site will always look good. This is one area where I'd say the web world is actually harder than the physical world. Mostly because everything has to be done in such a way that it looks good on hundreds of pages instead of just one room. Luckily we've got a great themer with an eye on detail and a complete understanding of all the different browser quirks.

Occupants/Content Authors

At this point the house and website are more or less done but there is still one thing missing and that is the occupants! In houses people live in them, move around in them and are constantly doing things. With websites that is the role of the Content Authors. In order to have a really great website you need to constantly create and update your content. This is very much like the people that live and breathe in a house. You are going to need some people to live an breathe in your website as well. At LevelTen we typically don't do a lot of the content authoring since that is so specific to the company that it turns out much better when done by someone internal. We do, however, do a lot of training using the newly built website and how to best write for SEO and social marketing.

Security and Maintenance

There is one other group of people that is important for houses and websites but is often overlooked. They are the people who secure and maintain the house. Think of the security monitoring firm and the handyman. Websites need the same monitoring and maintenance. You wouldn't build a house, furnish it and then not look at it again for 3 years would you? Websites are the same way. You need to keep them secure and maintained. LevelTen also offers a support contract that handles this, which allows our expert team to keep your website secure, up to date, and working.

So next time you think about building a website, be sure to not just look for some pretty designs but find a team that has all the skills necessary to take your project through the full process to create a successful website. I can honestly say that our team here at LevelTen is the best team I have ever seen for building websites, and it is an honor and privilege to be working with them.

Photo Credit: wscullin

A Quick Drupal Apps Demo

Drupal Apps are crazy cool. They make Drupal site building fast and fun for everyone. That’s right, everyone and anyone. Even if you are new to Drupal. They are that simple.

Despite their coolness, apps are new to a lot of people. So we thought we would put together this quick Drupal Apps demo video.

After the demo, go ahead and take apps for a spin. A test drive is the best way to understand what apps can do for you. These instructions will get you started

Photo by .michael.newman.

Just Released: 5 New Drupal Apps for Open Enterprise

Making Drupal more accessible is a never ending quest - but we just hit a big milestone. Just released: five new Drupal apps for Open Enterprise covering some of the most requested features from our clients. These new apps join the existing apps such as the blog to give site builders the essential recipes many sites need in a handy one click plug-n-play apps format. Enjoy! (If you are not familar with Drupal Apps, see how to get them below)

The Apps

FAQ iconFAQ adds a FAQ content type to enter Q&A that get displayed in the standard anchor links at top, answers at bottom view. You can group FAQs by category and sort the view.

FAQ iconLocations enabled you to save addresses to create location lists and maps. You get country specific address fields that automatically encode longitude and latidude coordinates thanks to a nifty combination of the Address Field, Geofield and Geocoder modules.

FAQ iconEvents adds an event content type complete with date and time entry. There is a listing view which provides a chronological listing of events grouped by date. To add location information, just install the Locations app and do a node reference.

Images iconImages provides a nifty little image gallery using Colorbox popups and a views grid. Use of the Media module enables you to easily create galleries from both uploaded and images from the web. You can create multiple galleries using the category taxonomy and terms views block.

Videos iconVideos enables you to create a library of videos. Simply embed the URL from YouTube (you can add additional sources) and watch the videos directly from your site. Create multiple playlists using the categories taxonomy and the included terms view block.

Take them for a test drive

There are three ways to get these apps:
  1. Traditional manual install by downloading them (and dependencies) from See the project list on the Open Enterprise project page
  2. .
  3. One click install via the LevelTen Apps Server. You must install the apps connector modules first.
  4. Start your site with the Open Enterprise Drupal distribution. The apps server connectors are included - along with a lot of other great stuff.
If you haven't tried Open Enterprise Apps (options #2 or #3), you should. They are really pretty cool. A whole new level of making Drupal plug-n-play easy.

Quick Enhancements to Make Drupal Content Admin Dirt Simple

There is no doubt that Drupal 7's admin is light years better from a usability perspective. Yet, even with all the enhancements, we find site admins still stumbling to manage their content. Over the last few months we have worked out a set of enhancements that have made our clients lives much easier. So we thought we would share.

Being Drupalistas we share in code form. First we built these enhancements into the Open Enterprise Drupal distribution. This weekend I encapsulated these features into the Enterprise Base module so you can incorporate the enhancements into any Drupal 7 site . (I know it's a bit of an odd name but it serves as the base for all Open Enterprise content apps, thus the name Base).

Problem: Not all content is what it seems

What we have observed with site authors, editors and admins is that they don't think of content as generic nodes. They think of blog posts as blog posts, events as events, videos as videos. Not as content that is typed. When they are on a blog post or a listing of blog posts, they want to easily be able to administer other blog posts or create new ones.

Solutions: Content as types

The solutions we found are actually quite simple but have made a huge impact on how people work with the content types on their site.

1. Content type specific admin

The main way to administer content in Drupal core is the content admin page. This page displays a table of all content on your site presented in a generic way. You can filter by type, but this is tedious, somewhat non-intuitive and still lists content in a generic way. What is needed are content type specific admin pages that are easy to navigate.

Content optimizer modal analysisThe solution: a content type specific content admin view. We have created a general admin view that works like core's content admin with some filter enhancements. This view is overrideable so content type specific fields, filter capabilities, bulk update options, etc can be added. For example the events content type has the event date field in its admin page. The location type has addresses. Image types could have thumbnails.

The next trick is to make it easy to navigate. For starters, we configured sub-tabs under core's content admin for each type. This makes it very simple to switch between types. We also added a "+ add [type]" contextual link as a bonus. But we can still make this easier.

2. Contextual links for type specific admin

Most of the time an editor's desire to jump to the content admin is sparked by reviewing a node or while on a list of nodes. E.g. they are looking at an event or a listing of events and they want to jump and look at an admin view of all events. To do this, they first have to remember that events are actually content. Then they need to click on the content option in the tool bar, and then filter by event type. Now they still don't see the date and times of the events.

Content optimizer modal analysisSo let's make this dirt simple. We already have an event specific content admin, we just have to give them an easier way to get to it. The answer: add a contextual link "+ administer [type]" to node pages and in views that display content of a specific type.

Let's also throw in a "+ add [type]" contextual link while we are at it in case the event reminds them of another, or we are having to enter a series of events.

Getting it

At first when I saw these enhancements, I thought they were rather trivial from a power user perspective. But since I have been using them they are really quite handy. It has also created a contextual shift where site admins used to think of things like events as nodes with special fields. Now they think of events as events. This may sound trivial, but clients are now thinking of some very novel uses for their sites because Drupal does not just manage content, it now manages events, locations, videos and much more.

Try it out for yourselves. There are a few ways you can quickly add this to a site:

  1. Traditional manual install by downloading the Enterprise Base module and dependencies from
  2. One click install via the LevelTen Apps Server. You must install the apps connector modules first.
  3. Start your site with the Open Enterprise Drupal distribution. The apps server connectors are included - along with a lot of other great stuff.

If you went the Apps route (#2 or #3), go ahead and download some content apps like blog, location and events to see how the content admin overrides work.

What do you think? Got any ideas for how to improve the content admin? Let me know.

photo by Shaun and Jacki

Building custom widgets

The Social Media and Widgets modules have become pretty popular in the months since they launched. The feature request queues have been filling up. Mostly with requests to customize widgets or add new ones.

The modules already support a variety of ways to add new and custom widgets on your own. There are two ways to create your own widgets; coding them in modules using the Widgets and Social Media APIs or adding them via Drupal's UI using the Widget definition admin. While the UI approach has some limitations, it is remarkably flexible and works well as a simple way to add most widgets you might need or to customize those provided by other modules.

It's Alive – Experimenting with Widgets

At their most fundamental level widgets are just snippets of markup code. The Widget module encapsulates these snippets into widget definitions. Definitions store the code templates and any other data related to making the widget work. Once a definition has been created, the widget can be reused and customized in many different ways on the site.

To create a new widget definition simply install the widgets module and go to admin > structure > widgets > definitions and click on the + Add new definition link. If you have a module that provides widget definitions like the Social Media module you can clone those definitions to see how they are built.

Once you have a definition created you have two options from the definition admin page (admin > structure > widgets > definitions). The operations edit link allows you to alter the definition. By clicking on the name of the definition you are taken to a preview. The preview shows you the how the widget will display, the input and rendered version of the code and provides a form containing any widget custom configuration settings. You can change configuration settings and see how the widget reacts. Using the widget edit and preview forms together gives you a lot of control for tweaking your widget definition.

Widget templates

The definition template is the meat of the widget definition. It is where the code snippet is stored. Templates can be as simple as static cut and paste code. For example you can use the below code from Twitter to create a Tweet button. Go ahead and try these code examples out in the widget definition admin to see how they work.



While widget definition built using static templates might prove a convenient, simple way to organize your site's code snippets, the real power of widget templates is the ability to add in dynamic elements. Widgets support Drupal core's de-facto system for dynamic data, tokens. You can use tokens to make widgets more adaptive. For example, in our Tweet button we might want to customize the Tweet message by using the data-text attribute. Note, I have left off the JavaScript portion of the code to save space.


When this widget is displayed the tokens will be replaced with dynamic data from your site. In the widget definition preview form you can click the tweet button to see the results.

There are times though where you want to allow admins to easily customize the widget without having to know the code structure. Widget templates support a variables syntax that will auto generate fields in a configure form for admins to easily make changes. Template variables are denoted by using brackets and question marks as follows:


In our Tweet button example, we might want to allow admins to specify a via Twitter handle using the syntax

The above code introduces a variable configuration "via". By default it is blank. You could set the default to a literal value or a token. When the widgets system encounters a variable it adds a field to the configuration form for that widget. You can see an example of the configuration form on the widget preview form (admin > structure > widgets > definitions > [name of definition]). Site administrators can access this form on a real widget from the widget set editor (admin > structure > widgets > [name of a set])

One issue you might run into with a widget is that you want to implement a variable attribute but when it is blank you want to remove the attribute all together. In the code above, even if you leave the via variable blank, the code would still render as data-via="". If you want to remove the entire attribute when no value is given you can use the following structure:


In the above variable structure the entire data-via attribute is contained within the variable markers. The configurable part of the code is contained within curly brackets. If the value of via is set to <none> the entire attribute is removed.

Getting more advanced

The widgets definition UI provides a great deal of flexibility for creating widgets. However there are times where you might want to do more advanced things. For example you might want to customize the configuration form. To do that, you will need to code your widget into a module (hint, use the definition export) and use hook_widgets_element_alter. This is just one example. The widgets module has several APIs to support advanced configuration.

In a future post I will review the APIs. For now, it helps to look at how the Social Media module implements the Widget APIs.

Got a great widget

If you have worked out a great widget definition you think would be helpful for others, go ahead and export it and send it to me. The Widgets or Social Media issues queues on are the best place to submit new widgets ideas.

Socialize Your Drupal Site in 5 Easy Steps

A modern day web presence is not just your website. To be successful you have to expand your digital footprint to include social media sites such as Twitter, Facebook, Google+ and YouTube. You need to enable your site visitors to Tweet, Like, +1 and share your content on the likes of StumbleUpon and Reddit.

To create a rich connected user experience, you need to do more than just link to social media. You need to integrate familiar social engagement directly into your website.

The fastest way to do this is through social media widgets. Widgets not only allow you to easily link to your social media profiles and allow people to share content; they seamlessly integrate the dynamic experience of social platforms into your site. They give you a wealth of tools to expand your reach, generate buzz, engage users and build your fan base.

The challenge is it can be quite tedious to coordinate the cornucopia of widgets modern sites require to be state of the art. To fix that problem, at least for Drupal sites, we present the easy five step process for socializing your website – in video form.

Helpful links

To install the Social Media App, visit the LevelTen Apps Server
To download from visit the Social Media project page

Learn more

What to transform your Drupal website into an inbound marketing machine? Wondering where to get started?

We wrote the Drupal Site Success! ebook as an straight forward 8 step guide for building great Drupal websites that drive traffic, engage and convert.

Download your free Drupal Site Success! ebook here.

Release of Drupal 7 Content Analysis & Optimizer modules

During 2011 the list of requests to port the Drupal SEO Tools suite had grown quite long. After a few months of brushing up on the new D7 changes, I finally got a chance to sit down and do some programming over the holidays. So for all of you who have been encouraging the D7 ports, I give you the Drupal 7 release of Content Analysis and Content Optimizer.

If you are not familiar with what these modules do, let's review.

The two modules work together to help assure your site content is optimized for search engines. The magic formula for ranking well in the search engines is:


Great Architecture + Great Backlinks and Buzz + Great Content = Great Rankings


Traditional Drupal SEO modules, e.g. Meta Tag, Pathauto, XML Sitemap, focus on architecture. Content Optimizer focuses on the neglected yet vital other side of the magic formula, optimized content.

How it works

(click to enlarge images below)

Content optimizer node edit form fieldsetContent Analysis is a modular analysis system that enables various modules to provide analyzers for content analysis. Content Optimizer provides an analyzer to help authors and editor optimize content for search engines. To launch the analyzer from a node edit form select the "Content Analysis" tab, enter a targeted keyword phrase (optional) and click the "Analyze content" button.

Content optimizer modal analysisContent Optimizer analyzes node elements such as the body, title and meta data, calculates stats and provides recommendations for optimizing the content for the search engines.

Content optimizer inline analysisInline analysis can be embedded into the node edit form to enable easy optimization. Simply change the field value and click the refresh button to re-analyze.

Content optimizer inline analysisAdjust your content until you get the Optimized status.

Content optimizer settings adminNew in the Drupal 7 version of Content Optimizer is the ability to adjust all the analysis rules.


Drupal SEO made easy

Content optimizer takes the guess work out of content search engine optimization. It is ideal for authors and editors that know how to write great content for humans but lack experience getting it to rank well in the search engines.

Go ahead and give it a try - don't cost nothing!

Have you been using Content Optimizer? We would love to hear from you. What kinds of results have you achieved?

Drupal Mega Menus Made Simple

Have you ever made a Drupal site where the design called for implementing one or more mega-menus? Have you spent countless hours downloading module after module and hacking your theme's template file to get the code to insert at just the right place?

LevelTen Interactive introduces: Menu Views

Mega menus are typically a collage of multiple types of content: images, links, lists or forms all put into some type of grid or table layout. The beauty behind this module is you can configure an existing view or even create an entirely new view to display exactly what you want. Then just attach that view to an existing menu item.

By design, this module only provides basic HTML structure for inserting a view into the menu system. It does not actually style your [mega-]menu. If no styling exists in your theme or is not provided by a contributed module, the view will appear next to your menu item (which can often be a little confusing at first). It is up to the theme or contributed module to actually style the view to appear inside your menu. If the contributed theme or module implements drop down menus, using CSS or JavaScript, a new child selector (li > .view) must be included. The view can then be styled appropriately from there.

Menu Overview (shows which menu items have attached views):
Screen Shot 2012-01-13 at 8.50.23 AM.png

Menu Item Edit (adds the "Attach view" fieldset for choosing a view):
Screen Shot 2012-01-13 at 8.51.00 AM.png