Presenter: Kristen Pol, Hook 42, Inc
Tagline: Do it fast, but do it right.
Just because you are building a Drupal site in a "hurry" doesn't mean you should cut corners. Hook 42 team, Aimee Degnan & Kristen Pol, took on a smallish Drupal project with a very aggressive timeline but still did the right things... kickoff meeting, research, module assessment, content tuning, search engine optimization (SEO), responsive theming, media/wysiwyg integration, and more.
The Enmetric.com Drupal process and architecture is applicable to sites of any size. Learn how the Enmetric.com site was built using the Drupal framework including:
* Distribution selection
* Layout management
* Content architecture
* Wysiwyg integration
* Custom forms
* Responsive theming
-----------------
About Kristen Pol
-----------------
Kristen has been building Drupal websites since 2004 from backend (PHP/module development) to frontend (CSS/theming), and has recently authored a book on Drupal 7 Multilingual Sites. Before Drupal, Kristen created Enterprise-level Java websites and built test systems for opto-electronic devices.
Zero to Go in 13 Days: Part 2 - Dev Stuff / Case Study of Enmetric.com
1. Case Study: Enmetric.com Hook 42
ZERO TO GO IN 13 DAYS
A Case Study of Enmetric.com
Part 2: The dev stuff
Kristen Pol
kristen@hook42.com
answers@hook42.com 1
3. Case Study: Enmetric.com Hook 42
Get hooked: Strengths Services Clients
Hook 42
Drupal Zero to Go Startups
Flexible. Web Content Second Small
Management Opinion Business
Work smart.
Enterprise
Rescue Midsize
Content
Fix complex problems. Mission Business
Publication
Integrate anything. Custom
Application Add-ons Enterprise
Integration
Culture chameleon.
Strategic
Scale for growth. Moving
Technology Education
House
Leadership
Deploy correctly.
Systems
Helping Hand
Architecture
Work efficiently.
answers@hook42.com 3
4. Case Study: Enmetric.com Hook 42
Presentation Takeaways
• Correctly defining the project prepares you
for success.
• You CAN do things Good, Right, and Fast.
• Not just the destination, but how you get
there.
• Process, techniques, and tools used.
• Drupal changes from day-to-day.
• Ask us Questions along the way.
answers@hook42.com 4
5. Case Study: Enmetric.com Hook 42
Client: Business Need
Enmetric
Systems • Upcoming conference
• Large press release
• 3 page HTML site from 2010
• No one “got” what they did
Constraints
• Don’t bother our resources
• Use newly final branding
• Leverage existing, but dated, copy
http://www.enmetric.com
Environment
Green Technology
• 3 business folks (sign-off)
Plug Load Management
• 1 dev / designer
Hardware + Software • 2 ops-type people
answers@hook42.com 5
6. Case Study: Enmetric.com Hook 42
Zero to Go: Enmetric Functional.
Start Professional.
What does it EOB Platform to grow.
mean?? May 23 By 7 June 2012.
Today
Every project has a
different “zero”.
Most projects aren’t at a
true “zero” point.
“Go” can mean a lot of
things.
Results may vary.
answers@hook42.com 6
7. Case Study: Enmetric.com Hook 42
Development • Fairly simple site
Guidelines:
The big picture. • Easy for client to update
• Generic but flexible content
format
• Platform for future growth
Simple, but flexible.
• Wiggle room to play with new
Fast, but done right.
modules, but…
Use the latest and • Super tight deadline
greatest when it makes
sense.
answers@hook42.com 7
8. Case Study: Enmetric.com Hook 42
Application
Architecture:
The buckets.
Wysiwyg &
Media
Content
Slideshow
Architecture
Layout Contact
Mechanism Form
Reality: there are a lot of
moving parts to account Distribution
The Theme
for, even for a small site. Website
Sometimes it “sounds”
bigger to the client than
initially requested.
Do it The Drupal Way.
answers@hook42.com 8
9. Case Study: Enmetric.com Hook 42
Distributions:
A starting point.
Core
Contrib /
Custom
Modules
Config
There are simple
distributions.
There are complex
distributions.
Does it have most of
your functionality, or
Distribution
provide a good
foundation to build
upon?
answers@hook42.com 9
10. Case Study: Enmetric.com Hook 42
Distributions:
The choices.
There are simple
distributions.
There are complex
distributions.
Does it have most of
your functionality, or
provide a good
foundation to build
upon? http://buytaert.net/acquia-product-strategy-and-vision
answers@hook42.com 10
11. Case Study: Enmetric.com Hook 42
Distributions: Acquia Drupal
The choices. • Acquia
• Simple
• Common modules
• Get from acquia.com only
Open Enterprise
• Level Ten Design
• Business focus
• Apps (blog, events, forum…)
• 8,780 downloads
Some big companies
build and sponsor
distributions.
Panopoly
Issues can get resolved • Chapter Three
faster due to company • Panels & Apps
sponsorship. (wysiwyg, images, theme, search…)
• 2,652 downloads
Get the best practices.
answers@hook42.com 11
12. Case Study: Enmetric.com Hook 42
Distributions:
What was chosen?
The choice.
• Drupal 7 Core
• Build what we need
• Use Drush
Was it a good choice?
• Probably
• Other distributions were buggy or had
too much going on
What would we chose next time?
• Panopoly
Sometimes you just • Once bugs are ironed out, it looks
need to build from
scratch.
awesome
answers@hook42.com 12
13. Case Study: Enmetric.com Hook 42
Layouts:
Where does it
go?
Regions
Blocks
Pages
How do you put content
where you want it?
Can you change it later? Layout
Can you have pages
with different layouts?
answers@hook42.com 13
14. Case Study: Enmetric.com Hook 42
Layouts: Core + Template files
• Core regions and blocks
The choices. • Custom .tpl files
• Custom theme functions
Display Suite
• View modes for entities with
different layouts
• Drag-n-drop
• Views and panels integration
Omega + Delta + Context
• Grid-based, HTML5, responsive
theme
• Contextual layouts (conditions &
reactions)
Panels (and friends)
• merlinofchaos (Earl Miles)
In Drupal, there are • Panel pages, mini panels, panel
often lots of ways to do nodes, panels everywhere
the same thing. • Drag-n-drop
answers@hook42.com 14
15. Case Study: Enmetric.com Hook 42
Layouts:
The choice. What was chosen?
• Panels / Panels Everywhere (with a little
Display Suite)
• Already knew how to use it
• Popular
Was it a good choice?
• Yes
• We needed to go fast
• Solid technology
What would we chose next time?
• Panels (+ Display Suite)
To go fast, use what you
or, maybe,
know if it fits the • Omega + Delta + Context (+ Display Suite)
requirements.
answers@hook42.com 15
16. Case Study: Enmetric.com Hook 42
Content
Architecture:
Smart and
reusable Entities /
Nodes
content. Blocks
Fields
Content
Easy to create and edit.
Flexible.
answers@hook42.com 16
17. Case Study: Enmetric.com Hook 42
Nodes: Home Page
• Singleton
The content • Hero images
• Highlights
types. • Main content
Contact Page
• Singleton
• Company name / address / phone
/ emails
• Main content
Article
• Title / summary / main content
• Date / place / source / image
• Tags
• Subsections (Field Collection)
Singletons are okay. Basic Page
• Title
Build the content types • Main content
that make sense for your • Subsections (Field Collection)
site.
answers@hook42.com 17
18. Case Study: Enmetric.com Hook 42
Field Collection: • Field Collection
Reuse your
content • Groups of fields
structure.
• Reuse on any entity
• Nested collections
• Watch out!!! Revisions not
yet supported (patch being
Fields should match
finalized)
your content needs.
Balance flexibility and
structure.
answers@hook42.com 18
19. Case Study: Enmetric.com Hook 42
Blocks: • Bean: Block entities aren’t
Beans are good
for you! nodes
• Block types
• Block fields
• Edit contextual link
• Was a bit buggy upon start-
Blocks should match
up
your content needs.
Balance flexibility and
structure.
answers@hook42.com 19
20. Case Study: Enmetric.com Hook 42
Content What was chosen?
Architecture:
• Nodes + Field Collection + Bean
The choice.
• Structure and flexibility
• Logical
Was it a good choice?
• Yes*
• *Issue with Field Collection + Revisions so
spent a lot of time creating a patch and
interim solution until patch is finalized and
committed
What would we chose next time?
• Nodes + Field Collection (patched!) + Bean
• Create a Bean library?
Entities and fields rock! • Create a reusable page with subsections?
answers@hook42.com 20
21. Case Study: Enmetric.com Hook 42
Content
Handling:
Intuitive and
flexible. Wysiwyg
Media
Formatting
Content
Easy to create and edit.
Flexible and extensible.
answers@hook42.com 21
22. Case Study: Enmetric.com Hook 42
Content • Wysiwyg
Handling:
• TinyMCE
The choices.
• CKEditor
• Aloha*
• Media handling
• Media module
• Image/media fields
• Formatting
Easy to create and edit.
• Image presets
Flexible and extensible.
• Wysiwyg plugins
answers@hook42.com 22
23. Case Study: Enmetric.com Hook 42
Content
Handling: What was chosen?
The choice. • TinyMCE + Media 2.x
• Popular editor
• Insert media within editor (media library)
Was it a good choice?
• Maybe
• Media 2.x is still buggy (e.g. videos)
• Bleeding edge
What would we chose next time?
• Panopoly Wysiwyg (finetuned
TinyMCE+Media 2.x), or…
What you see isn’t
always what you get, but • Spark?
you can get close.
answers@hook42.com 23
24. Case Study: Enmetric.com Hook 42
Contact
Management:
Keep track of
important Contact
Form
people. Emails
Admin
Pages
Track important
information.
Notify business via
email.
Contact Management
Notify contact via email.
Find contacts easily.
answers@hook42.com 24
25. Case Study: Enmetric.com Hook 42
Contact • Core contact
Management:
The choices. • Webform
• Node
• Entityform
• Forms
• Red Hen CRM
• CiviCRM
Do you need a
lightweight or • Custom form (FAPI)
heavyweight solution?
answers@hook42.com 25
26. Case Study: Enmetric.com Hook 42
Contact
Management: What was chosen?
The choice. • Entityforms
• Contact Form with internal notes and
status
• Added custom view page for admin
Was it a good choice?
• It was okay
• Potential to rival Webform
• Bleeding edge
What would we chose next time?
Consider what your • Light weight: Node or Entityforms
admin and business
users need to do with • Medium / heavy weight: Red Hen CRM?
the contact data.
answers@hook42.com 26
27. Case Study: Enmetric.com Hook 42
Theming:
Make it look
pretty.
Regions
CSS
Does it need to be
responsive to other Templates
device widths?
Do you need a mobile-
specific theme?
Do you want to design
on a grid?
Do you want a theme
Theme
with lots of functionality
built-in or just the bare
bones?
answers@hook42.com 27
28. Case Study: Enmetric.com Hook 42
Theming: • Zen
The choices.
• Omega
• Adaptive Theme
• Precision
• And many more…
Starter themes can be
lightweight or heavy.
answers@hook42.com 28
29. Case Study: Enmetric.com Hook 42
Theming:
The choice.
What was chosen?
• Adaptive Theme (AT Panels Everywhere)
• Responsive media queries
• Works with Panels Everywhere
Was it a good choice?
• Yes, but no SASS or LESS
• Easy to use
• Some responsive settings in the UI
What would we chose next time?
• Adaptive Theme, or
• Zen (+ Zen Grids), or
• Omega (+ Delta + Context)
Lots of choices for good • Use SASS
starter themes.
answers@hook42.com 29
31. Case Study: Enmetric.com Hook 42
Takeaways: Good
Good, Bad, • Parallel Work
and Meh • Drupal 7
• Content structure and handling: Bean, Field
Collection, and Workbench
• Responsive theme
Bad
• Go-live too accelerated.
• We like more testing to remove irritating bugs
(Field Collection + revisions).
• No Features due to accelerated pace.
Meh.
• Adding functionality = adding debug time.
• Entityforms for contact management.
Lessons are always
learned. • Media 2.x needs some work.
answers@hook42.com 31