This document provides an overview of how Drupal was implemented in the business office of a County Office of Education (COE) that serves K-12 schools in California. It describes issues with existing fragmented and outdated software systems. The COE aims to improve customer service, deploy modern web-based systems, embrace open-source standards, and establish agile development practices using Drupal.
3. KCSOS
Drupal in the
K-12 Business Office
• County Offices of Education:
• Serve California K-12 school districts
and the public
• Save millions of dollars with centralized
services and purchasing consortiums
• The COE system facilitates the local
control of schools in California
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
4. KCSOS
Drupal in the
K-12 Business Office
• Curriculum services
• Special education classrooms
• Court & Community Schools,
Valley Oaks Charter School
• CALM Zoo, Camp KEEP Cambria
• New teacher mentoring and certification
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
5. KCSOS
Drupal in the
K-12 Business Office
• Business & Management services
• District financial & accountability services
• Payroll services
• Training for new school administrators
• Host several large Joint Powers Authority
(JPA) purchasing consortiums
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
13. Software Categories
Drupal in the
K-12 Business Office
• CMS, Facilitate communication
• Track employee activity
• Plan/track resource utilization
• Enable and track dependent work-flows
• Data warehouse
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
14. Software in use
Drupal in the
K-12 Business Office
• Most divisions currently have loads
of vertical software in place to handle
their primary mission
• Some very good
• ...and some veeery bad
• Most not web enabled
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
15. Vendor Solutions
Drupal in the
K-12 Business Office
• Custom and Vertical Applications
• Access & .NET based solutions
• Microsoft dominates the mindshare of
California K-12 business administrators
• Developers of vertical solutions include
many amateurs
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
16. It’s (still) Alive!
• Remote Desktop
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
Drupal in the
K-12 Business Office
17. Common Complaints
Drupal in the
K-12 Business Office
• Not web enabled
• Vendor non-responsive to feature requests
• Horrible UI
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
18. Software Gaps
Drupal in the
K-12 Business Office
• Gaps in software functionality are filled
with human hands
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
19. Software Gaps
Drupal in the
K-12 Business Office
• Gaps in software functionality are filled
with human hands
• Clipboards, card files, binders & staplers
• Excel + Cut + Paste + Word + Print...
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
20. Software Gaps
Drupal in the
K-12 Business Office
• Users develop bad habits about storing
data - many use their workstations or email
boxes
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
21. Software Gaps
Drupal in the
K-12 Business Office
• Users develop bad habits about storing
data - many use their workstations or email
boxes
• Results in data-loss and sometimes
security issues
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
22. Clunky Workflows
Drupal in the
K-12 Business Office
• Admin staff is expensive
• Data not captured in real-time
• Data may not get backed up on local
workstations
• Retiring staff take knowledge of key
processes with them
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
23. Well Meaning Staff
Drupal in the
K-12 Business Office
• Sometimes an application is developed by
staff in Access or FileMaker Pro
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
24. Well Meaning Staff
Drupal in the
K-12 Business Office
• The need for streamlining operations
combined with the promise of developing
and controlling a process prompts ad-hoc
development by existing staff
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
25. Well Meaning Staff
Drupal in the
K-12 Business Office
• Staff developed solutions lack any best
practices and begin to decay as soon as
they are launched
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
26. Well Meaning Staff
Drupal in the
K-12 Business Office
• An inefficient workflow soon becomes
entrenched and critical
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
27. Well Meaning Staff
Drupal in the
K-12 Business Office
• Since there is no deployment strategy or
continuous integration scheme the
application becomes brittle and can’t be
serviced easily
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
28. Funding Leaks
Drupal in the
K-12 Business Office
• Staff developed solutions have an
continuously increasing cost
•
Difficult or impossible to alter as business
requirements change requiring MORE manual
labor costs
•
•
•
Huge potential for lost data
Poor integration with related processes
Add complexity to workstation migrations
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
29. Why do it this way?
Drupal in the
K-12 Business Office
• Division administrators get what they
want when they want it
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
30. Why do it this way?
Drupal in the
K-12 Business Office
• Local control - direct staff have best
understanding of needs and a better
incentive to deliver solutions
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
31. Why do it this way?
Drupal in the
K-12 Business Office
• An ever-increasing workload against
shrinking staffing levels
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
32. Why do it this way?
• Ignorance of the complexity of
Drupal in the
K-12 Business Office
delivering secure, useful applications
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
34. Common Complaints
• Not web enabled
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
Drupal in the
K-12 Business Office
35. Common Complaints
• Not web enabled
• Platform dependent
•
•
•
Access
Filemaker Pro
FoxPro
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
Drupal in the
K-12 Business Office
36. Common Complaints
Drupal in the
K-12 Business Office
• Not web enabled
• Platform dependent
• Not flexible - staff that built original
solution has moved on
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
37. Common Complaints
Drupal in the
K-12 Business Office
• Not web enabled
• Platform dependent
• Not flexible - staff that built original
solution has moved on
• Holds up migrations to newer hardware,
causes ‘VPS Sprawl’
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
38. Common Complaints
Drupal in the
K-12 Business Office
• Not web enabled
• Platform dependent
• Not flexible - staff that built original
solution has moved on
• Holds up migrations to newer hardware,
causes ‘VPS Sprawl’
• No development best practices
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
39. Time to Reboot!
Drupal in the
K-12 Business Office
• Stop wasting time and money on ineffective
work-flows
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
40. Time to Reboot!
Drupal in the
K-12 Business Office
• Stop propping-up dead-end technologies
and serve our customers better with high
quality desktop and mobile web
experiences
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
41. Time to Reboot!
Drupal in the
K-12 Business Office
• Stop putting up with systems that don’t
interact with each other and provide our
customers with a more seamless
experience
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
42. Time to Reboot!
Drupal in the
K-12 Business Office
• Stop the institutional brain-drain by
standardizing needed work-flows in to
web enabled applications
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
43. Strategic Goals
Drupal in the
K-12 Business Office
• Better customer service and quality control
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
44. Strategic Goals
Drupal in the
K-12 Business Office
• Better customer service and quality control
• Economical and timely delivery of software
based tools for our customers
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
45. Strategic Goals
Drupal in the
K-12 Business Office
• Better customer service and quality control
• Economical and timely delivery of software
based tools for our customers
• Fully embrace open standards - no platform
dependance
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
46. Strategic Goals
Drupal in the
K-12 Business Office
• Better customer service and quality control
• Economical and timely delivery of software
based tools for our customers
• Fully embrace open standards - no platform
dependance
• Deploy with a fully open source stack
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
47. Strategic Goals
Drupal in the
K-12 Business Office
•
•
Better customer service and quality control
•
Fully embrace open standards - no platform
dependance and mobile friendly
•
•
Deploy with a fully open source stack
Economical and timely delivery of software
based tools for our customers
Promote the long-term health and flexibility of
deployed solutions
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
48. Tactical Plan
Drupal in the
K-12 Business Office
• Select a web-based development platform
• Develop engineering staff competence
• Build a deployment platform
• Multisite provisioning
• Version control
• Continuous integration
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
49. Tactical Plan
Drupal in the
K-12 Business Office
• Establish Agile development practices to
manage and execute new projects
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
50. Tactical Plan
Drupal in the
K-12 Business Office
• Establish Agile development practices to
manage and execute new projects
• Re-invent cost-recovery methods to reflect
the reality of on-going development and
deployment investments
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
51. Tactical Plan
Drupal in the
K-12 Business Office
•
Establish Agile development practices to
manage and execute new projects
•
Re-invent cost-recovery methods to reflect
the reality of on-going development and
deployment investments
•
Engage in outreach to the broader
organization to promote our services and
adoption of Drupal as an office standard
among the users and administrators
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
52. Platform Selection
Drupal in the
K-12 Business Office
• Evaluate popular web development
platforms
• Open Source
• Built upon LAMP
• Seasoned code base with active
contributor community
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
53. WordPress pros
Drupal in the
K-12 Business Office
• Our web team uses it
• Trillions and Trillions of users
• Looks super-cool out of the box, little
assembly required
• Infinite number themes to choose from
• Tons of click-to-install complete feature
modules available
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
54. WordPress pros
Drupal in the
K-12 Business Office
• Mature, active code-base
• Active community
• WordPress plugins are largely plug and play
for advertised capabilities
• Some WordPress modules allow non-
developers some custom capabilities to
make work flows and schema
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
55. WordPress cons
Drupal in the
K-12 Business Office
• Sparse developer APIs as contrasted to
competing platforms
• Modules often duplicate low-level functions
and interface code resulting in bloat and
complexity in deployed sites
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
56. WordPress cons
Drupal in the
K-12 Business Office
• Modules space seemed untamed - too
many pay-for-play solutions and other
mischief baked in to contributed modules
and themes
• WordPress MU architecture and
deployment seemed awkward
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
58. Ruby on Rails pros
Drupal in the
K-12 Business Office
• The Ruby language
• Sweet MVC organization of code
• Thriving community and contrib space
• Well documented
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
59. Ruby on Rails cons
Drupal in the
K-12 Business Office
• Deployment best practices always seemed
a little murky
• Not enough built-in standard services
across the platform - way too much to do
by hand with every project
• No easy way to get less technical players
involved in the process
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
60. .NET
Drupal in the
K-12 Business Office
• Not open source
• Looks more like the past than the future
• Promotes platform dependence
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
61. Drupal pros
Drupal in the
K-12 Business Office
•
Rich and Powerful internal API structure for
custom development
•
Many modules provide foundational functions
that can be shared to build larger solutions more code sharing for:
•
•
•
Lighter deployments
Better security
Lego-like site building
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
62. Drupal pros
Drupal in the
K-12 Business Office
• Enterprise-class deployment model
supports
• Scaling
• Replication of specific site configurations
via Installation Profiles
• Continuous integration and testing
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
63. Drupal pros
Drupal in the
K-12 Business Office
•
Amazing community with regular, organized
outreach to assist with staff development goals
•
Well developed and documented methods for
non-developers, or ‘site builders’ to build
amazing web-applications from off-the-shelf
modules
•
•
buildamodule.com
drupalize.me
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
64. Drupal pros
•
•
•
•
•
•
•
Great CMS capabilities
Views
Rules
Context Module
Drush
Panels
Aegir
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
Drupal in the
K-12 Business Office
65. DrupalCons
•
•
•
Antwerp: February 24-26 ’05, Belgium
Portland: August 1-8 ’05, Oregon, USA
Amsterdam: October 17-21 ’05, The
Netherlands
Drupal in the
K-12 Business Office
•
San Francisco: April 19-21 ’10,
California, USA
•
Copenhagen: August 23-27 ’10,
Denmark
•
•
•
Chicago: March 7-10 ’11, Illinois, USA
Munich: August 20-23 ’12, Germany
•
Vancouver: February 6-11 ’06 British
Columbia, Canada
•
•
Brussels: September 22-23 ’06, Belgium
•
•
Barcelona: September 19-22 ’07, Spain
•
•
Boston: March 3-6 ’08, Massachusetts,
USA
•
•
Szeged: August 27-30 ’08, Hungary
Portland: May 20-24 ’13, Portland,
Oregon, USA
•
•
DC: March 4–7 ’09, D.C., USA
Prague: September 23-27 ’13, Prague,
Czech Republic
Yahoo! Campus: March 22-23 ’07,
Sunnyvale, California, USA
London: August 22-26 ’11, England, UK
Denver: March 20-22, ’12 Colorado,
USA
Sydney: February 6-9 ’13, Sydney,
Australia
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
66. Drupal cons
Drupal in the
K-12 Business Office
• Steep learning curve
• Requires assembly before play
• Some key modules don’t receive the
attention they should
• Third-party documentation lingers past it’s
expiration date for some key techniques.
(community-maintained docs are better
maintained)
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
68. Staff Development
Drupal in the
K-12 Business Office
• Regularly attended Drupal meetups in the
Los Angeles Area
• groups.drupal.org/la
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
69. Staff Development
• Attended Drupal Camps
• Drupal Camp LA
• BADCamp
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
Drupal in the
K-12 Business Office
70. Staff Development
Drupal in the
K-12 Business Office
• Used a subscription based Drupal learning
site called buildmodule.com
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
71. Drupal Deployment
Drupal in the
K-12 Business Office
• Aegir based Drupal site management
• Create and deploy new sites among
multiple servers
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
72. Drupal Deployment
Drupal in the
K-12 Business Office
• Aegir based Drupal site management
• Create and deploy new sites among
multiple servers
• Track sites through upgrades with
rollback capabilities
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
73. Drupal Deployment
Drupal in the
K-12 Business Office
• Aegir based Drupal site management
• Create and deploy new sites among
multiple servers
• Track sites through upgrades with rollback
capabilities
• Test un-released software and theme
upgrades against current snapshots
of live data
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
74. Agile Development
Drupal in the
K-12 Business Office
• Drupal allows for rapid builds of complex
work flows and interfaces once a developer
masters basic site building skills
• Supports short release cycles and can
lessen the pain of fixing bugs or adding
features in planned releases
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
75. Agile Development
Drupal in the
K-12 Business Office
• Aegir deployment allows devs to post new
development builds for inspection by stake
holders more frequently
• Catch changes and errors earlier in the
build process
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
76. Agile Development
Drupal in the
K-12 Business Office
• Project management on our own
Redmine server
http://www.redmine.org/
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
77. Agile Development
Drupal in the
K-12 Business Office
• Git version control
• BitBucket.org
• Private repos
• Sandbox projects on Drupal.org
• Someday may become real projects
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
78. Cost Recovery Model
Drupal in the
K-12 Business Office
• Aegir deployment allows economical
deployment and management of multiple
hosted solutions for our clients
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
79. Cost Recovery Model
Drupal in the
K-12 Business Office
• Aegir deployment allows economical
deployment and management of multiple
hosted solutions for our clients
• Allows for a ‘software as a service’ billing
model that covers hosting and
development costs over the long-term
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
80. Cost Recovery Model
Drupal in the
K-12 Business Office
• Aegir deployment allows rapid deployment
of developed solutions for new clients
• Drupal site installation profiles allows
outside agencies to become subscribers
to solutions previously developed for
internal clients
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
81. Our First Project
Drupal in the
K-12 Business Office
• Central Kitchen Ordering System
• Kitchen manager was retiring
• Position was being eliminated due to
budget cuts
• Big part of the job was taking in the
orders from our school sites and
entering the data into a spreadsheet
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
89. Organizational Buy-in
Drupal in the
K-12 Business Office
• Presented our first project to our
Technology Advisory Group
• Basic Drupal goodness
• SchoolMeal online ordering system
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
90. Organizational Buy-in
• Drupal Fridays!
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
Drupal in the
K-12 Business Office
91. New Projects
Drupal in the
K-12 Business Office
• Asset Tracker
• Tracks workstations and users for help
desk techs
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
92. New Projects
Drupal in the
K-12 Business Office
• BusLogger
• Track in-service spare busses
• Track available substitute drivers & aides
• Log actual driver, aide, bus number per
route daily
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
93. New Projects
Drupal in the
K-12 Business Office
• Staff Tracker
• Satisfies ‘fund accounting’ reporting needs
when staff are payed from multiple
programs or grants
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
94. New Projects
Drupal in the
K-12 Business Office
• Online Training
• Short and simple compliance training
• Complete one book, pass one quiz
• Safety Training
• Disaster Preparedness training
• Sexual Harassment traning
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
95. Skilled Drupal Workers
Drupal in the
K-12 Business Office
• We have very few skilled Drupal site
builders and developers available to us in
the Bakersfield area
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
96. Skilled Drupal Workers
Drupal in the
K-12 Business Office
With a venue provided
by the Kern County
Superintendent of
Schools the Bakersfield
Drupal Users Group
was established this in
May of this year.
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
97. Essential Tools
• Modules for
data-basey stuff
•
•
•
•
•
Views
EVA
Embed Views
Views Filed View
Entity, Entity Reference
•
Entity Reference
Pre-Populate
•
•
•
•
•
Entity Token
Rules
Context
Field Collection
Auto Node Title
(+ Token Tweaks!)
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
Drupal in the
K-12 Business Office
98. Essential Tools
• User Interface/Theming
• CKEditor
• Field Group
• Node form Settings
• Zurb-Foundation
• Zen
• SASS/Compass
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
Drupal in the
K-12 Business Office
99. Essential Tools
•
Devel/Admin/Deploy
•
•
•
•
•
•
•
•
Features + Strongarm
Backup Migrate
Feeds module
Migrate Module
Devel module
Module Filter
Admin Menu
Coffee (the module!)
•
•
•
•
•
•
•
•
•
Module Filter
SASS/Compass
Vagrant
Drush
Site Profiles
Aegir
Jenkins (coming soon)
Apache Solr
Diet Coke
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13
Drupal in the
K-12 Business Office
100. Essential Tools
Drupal in the
K-12 Business Office
• Staff development
• BuildAModule.com
• groups.drupal.org
• Drupal Camps/DrupalCons
• Version control
• BitBucket.org - private git hosting
drupal.org: erinclerico • erin@clerico.com
Monday, October 28, 13