Building a Mobile Drupal Site

stovenumerousInternet and Web Development

Dec 4, 2013 (4 years and 5 months ago)


April 30, 2011
Building a Mobile Drupal Site
Presented by Mark W. Jarrell
Twitter: attheshow
DrupalCamp Nashville

Showcasing the new Austin Peay
State University mobile site

Talking about development

How it works
Why is this site important?

APSU already has native iPhone and Android
Needed something that would work for other
devices too

Since most administrators are using touch screen
devices, still focused primarily on optimizing
interface for iPhone/Android

This site is more likely to be used by people who
aren't currently part of the university
e.g., potential students, community members,
potential employees
Going Mobile - Methods

A) Keep current site theme same, use separate theme for mobile browsers.
Only one URL.
Going Mobile - Methods

B) Keep current site same, add a new mobile site with a separate URL and
redirect users to that.
Going Mobile - Methods

C) Restyle current site such that it works better on mobile browsers (CSS3
Media Queries) - See
Going Mobile - Methods

We chose: B) Keep current site same, add a new mobile site with a
separate URL and redirect users to that.
What was the process?
(Executive Summary)

Worked with Public Relations and Admissions to come up with a feature

Designed initial theme

Originally started building this site in Drupal 6
What was the process?
(Executive Summary)

Upgraded content to D7 in January/February

Upgraded theme and custom modules to D7 in February/March

Converted existing theme to be a subtheme of "jQM" theme in April

Added in jQuery Mobile module/library in April

Site officially launched this week
Content - What goes into the site?

What's do we include here in mobile version that's not on the main site?

Focus: on-the-go users

Prepared for quick actions (e.g., Request Info, Campus Map, Schedule
Campus Tour, etc.)

Keep everything as "slim" as you can. Try to make it bite-sized.
Less text unless it’s a news article or blog post

Make your forms as short as you possibly can or you'll lose them
What's jQuery Mobile?

"Touch-Optimized Web
Framework for Smartphones &

Basically gives you ways to
stylize your HTML5 content
and page elements such that
they are easier for fingers (as
opposed to point & click) to
interact with

<!DOCTYPE html> (Way simpler than doctypes in HTML4!)

jQuery Mobile only works with HTML5
<section> <article> etc. not necessary to get it up and running.

jQuery Mobile elements are initialized when "data-role" attributes exist in
your HTML code

Example: Radio buttons add <fieldset data-role="controlgroup"></
fieldset> around your buttons

Page Refreshes

Page loads are done via AJAX-style requests. Browser doesn’t refresh the
page when it changes.

Have to add HTML5 elements like
<div data-role="content"></div>
...into your page.tpl.php file

Allows you to do smartphone style transitions such as wipes from one
page to another.

Note: The page refresh method of jQuery Mobile makes interacting with
the admin interface tricky.
Usually have to type in /admin to get to admin theme.
What are jQM and the jQuery
Mobile module?

These are developed by Tree House Agency (NJ Drupal shop)

“jQM” is a base theme like Zen, etc.

It modifies your form elements so that they have necessary data-role
information. Also adds some useful classes to your page that you can use
in your CSS

Modify these template files and drop them into your subtheme
What are jQM and the jQuery
Mobile module?

jQuery Mobile module - Adds
the JS library into your pages

Also currently includes a
patch to make the basic
library work with Drupal

Get the one at
called “jquerymobile” not
Mobile Tools Module

This goes on your main site and controls
who sees what

Includes a lot of functionality like:

Built in mobile browser detection

Theme switching


Use of external libraries for browser
detection such as WURFL and Browscap

How it works: User comes to
using a mobile
device, gets redirect to mobile site has much lighter
content, focused on a user who is

Get to use a touch-oriented UI (if
their smartphone supports
HTML5, JS, etc.). Otherwise, they
see more basic HTML version of

Modules & Themes Used

jQM - base theme

jQuery Mobile - module & JS

Mobile Tools - module for
detection and redirection
Further Reading Links

“Mobile Marketing: Strategy challenges for  advancement and enrollment”
session with Bob Johnson

DrupalCon Chicago Presentation from Treehouse Agency:

Metal Toad article on CSS3 Media Queries (if you’re going that route):
April 30, 2011
Building a Mobile Drupal Site
Presented by Mark W. Jarrell
Twitter: attheshow
DrupalCamp Nashville
Need Help?



Module Development


Migrating a legacy system to Drupal