Case Study: Drupal in the K-12 Business Office by Erin Clerico drupal.org: erinclerico [email protected] Monday, October 28, 13
Jan 27, 2015
Case Study:
Drupal in the K-12 Business Office
by Erin Clericodrupal.org: erinclerico
Monday, October 28, 13
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
• 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
KCSOS
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
• Curriculum services
• Special education classrooms
• Court & Community Schools, Valley Oaks Charter School
• CALM Zoo, Camp KEEP Cambria
• New teacher mentoring and certification
KCSOS
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
• Business & Management services
• District financial & accountability services
• Payroll services
• Training for new school administrators
• Host several large Joint Powers Authority (JPA) purchasing consortiums
KCSOS
Monday, October 28, 13
Monday, October 28, 13
Monday, October 28, 13
Monday, October 28, 13
Monday, October 28, 13
Monday, October 28, 13
Monday, October 28, 13
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Software Categories
• CMS, Facilitate communication
• Track employee activity
• Plan/track resource utilization
• Enable and track dependent work-flows
• Data warehouse
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Software in use
• 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
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Vendor Solutions
• 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
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
It’s (still) Alive!
• Remote Desktop
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Common Complaints
• Not web enabled
• Vendor non-responsive to feature requests
• Horrible UI
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Software Gaps
• Gaps in software functionality are filled with human hands
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Software Gaps
• Gaps in software functionality are filled with human hands
• Clipboards, card files, binders & staplers
• Excel + Cut + Paste + Word + Print...
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Software Gaps
• Users develop bad habits about storing data - many use their workstations or email boxes
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Software Gaps
• Users develop bad habits about storing data - many use their workstations or email boxes
• Results in data-loss and sometimes security issues
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Clunky Workflows
• 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
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Well Meaning Staff
• Sometimes an application is developed by staff in Access or FileMaker Pro
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Well Meaning Staff
• The need for streamlining operations combined with the promise of developing and controlling a process prompts ad-hoc development by existing staff
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Well Meaning Staff
• Staff developed solutions lack any best practices and begin to decay as soon as they are launched
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Well Meaning Staff
• An inefficient workflow soon becomes entrenched and critical
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Well Meaning Staff
• Since there is no deployment strategy or continuous integration scheme the application becomes brittle and can’t be serviced easily
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Funding Leaks
• 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
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Why do it this way?
• Division administrators get what they want when they want it
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Why do it this way?
• Local control - direct staff have best understanding of needs and a better incentive to deliver solutions
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Why do it this way?
• An ever-increasing workload against shrinking staffing levels
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Why do it this way?
• Ignorance of the complexity of delivering secure, useful applications
Monday, October 28, 13
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Common Complaints
• Not web enabled
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Common Complaints
• Not web enabled
• Platform dependent
• Access
• Filemaker Pro
• FoxPro
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Common Complaints
• Not web enabled
• Platform dependent
• Not flexible - staff that built original solution has moved on
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Common Complaints
• Not web enabled
• Platform dependent
• Not flexible - staff that built original solution has moved on
• Holds up migrations to newer hardware, causes ‘VPS Sprawl’
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Common Complaints
• 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
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Time to Reboot!
• Stop wasting time and money on ineffective work-flows
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Time to Reboot!
• Stop propping-up dead-end technologies and serve our customers better with high quality desktop and mobile web experiences
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Time to Reboot!
• Stop putting up with systems that don’t interact with each other and provide our customers with a more seamless experience
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Time to Reboot!
• Stop the institutional brain-drain by standardizing needed work-flows in to web enabled applications
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Strategic Goals
• Better customer service and quality control
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Strategic Goals
• Better customer service and quality control
• Economical and timely delivery of software based tools for our customers
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Strategic Goals
• Better customer service and quality control
• Economical and timely delivery of software based tools for our customers
• Fully embrace open standards - no platform dependance
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Strategic Goals
• 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
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Strategic Goals
• Better customer service and quality control
• Economical and timely delivery of software based tools for our customers
• Fully embrace open standards - no platform dependance and mobile friendly
• Deploy with a fully open source stack
• Promote the long-term health and flexibility of deployed solutions
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Tactical Plan
• Select a web-based development platform
• Develop engineering staff competence
• Build a deployment platform
• Multisite provisioning
• Version control
• Continuous integration
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Tactical Plan
• Establish Agile development practices to manage and execute new projects
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Tactical Plan
• 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
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Tactical Plan
• 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
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Platform Selection
• Evaluate popular web development platforms
• Open Source
• Built upon LAMP
• Seasoned code base with active contributor community
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
WordPress pros
• 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
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
WordPress pros
• 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
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
WordPress cons
• 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
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
WordPress cons
• 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
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Joomla
• No
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Ruby on Rails pros
• The Ruby language
• Sweet MVC organization of code
• Thriving community and contrib space
• Well documented
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Ruby on Rails cons
• 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
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
.NET
• Not open source
• Looks more like the past than the future
• Promotes platform dependence
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Drupal pros
• 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
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Drupal pros
• Enterprise-class deployment model supports
• Scaling
• Replication of specific site configurations via Installation Profiles
• Continuous integration and testing
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Drupal pros
• 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
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Drupal pros
• Great CMS capabilities
• Views
• Rules
• Context Module
• Drush
• Panels
• Aegir
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
DrupalCons
• Antwerp: February 24-26 ’05, Belgium
• Portland: August 1-8 ’05, Oregon, USA
• Amsterdam: October 17-21 ’05, The Netherlands
• Vancouver: February 6-11 ’06 British Columbia, Canada
• Brussels: September 22-23 ’06, Belgium
• Yahoo! Campus: March 22-23 ’07, Sunnyvale, California, USA
• Barcelona: September 19-22 ’07, Spain
• Boston: March 3-6 ’08, Massachusetts, USA
• Szeged: August 27-30 ’08, Hungary
• DC: March 4–7 ’09, D.C., USA
• San Francisco: April 19-21 ’10, California, USA
• Copenhagen: August 23-27 ’10, Denmark
• Chicago: March 7-10 ’11, Illinois, USA
• London: August 22-26 ’11, England, UK
• Denver: March 20-22, ’12 Colorado, USA
• Munich: August 20-23 ’12, Germany
• Sydney: February 6-9 ’13, Sydney, Australia
• Portland: May 20-24 ’13, Portland, Oregon, USA
• Prague: September 23-27 ’13, Prague, Czech Republic
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Drupal cons
• 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)
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Hands Down!
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Staff Development
• Regularly attended Drupal meetups in the Los Angeles Area
• groups.drupal.org/la
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Staff Development
• Attended Drupal Camps
• Drupal Camp LA
• BADCamp
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Staff Development
• Used a subscription based Drupal learning site called buildmodule.com
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Drupal Deployment
• Aegir based Drupal site management
• Create and deploy new sites among multiple servers
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Drupal Deployment
• Aegir based Drupal site management
• Create and deploy new sites among multiple servers
• Track sites through upgrades with rollback capabilities
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Drupal Deployment
• 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
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Agile Development
• 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
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Agile Development
• 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
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Agile Development
• Project management on our own Redmine server
http://www.redmine.org/
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Agile Development
• Git version control
• BitBucket.org
• Private repos
• Sandbox projects on Drupal.org
• Someday may become real projects
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Cost Recovery Model
• Aegir deployment allows economical deployment and management of multiple hosted solutions for our clients
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Cost Recovery Model
• 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
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Cost Recovery Model
• 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
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Our First Project
• 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
Monday, October 28, 13
Monday, October 28, 13
Monday, October 28, 13
Monday, October 28, 13
Monday, October 28, 13
Monday, October 28, 13
Monday, October 28, 13
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Organizational Buy-in
• Presented our first project to our Technology Advisory Group
• Basic Drupal goodness
• SchoolMeal online ordering system
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Organizational Buy-in
• Drupal Fridays!
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
New Projects
• Asset Tracker
• Tracks workstations and users for help desk techs
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
New Projects
• BusLogger
• Track in-service spare busses
• Track available substitute drivers & aides
• Log actual driver, aide, bus number per route daily
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
New Projects
• Staff Tracker
• Satisfies ‘fund accounting’ reporting needs when staff are payed from multiple programs or grants
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
New Projects
• Online Training
• Short and simple compliance training
• Complete one book, pass one quiz
• Safety Training
• Disaster Preparedness training
• Sexual Harassment traning
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Skilled Drupal Workers
• We have very few skilled Drupal site builders and developers available to us in the Bakersfield area
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Skilled Drupal Workers
With a venue provided by the Kern County Superintendent of Schools the Bakersfield Drupal Users Group was established this in May of this year.
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
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!)
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Essential Tools
• User Interface/Theming
• CKEditor
• Field Group
• Node form Settings
• Zurb-Foundation
• Zen
• SASS/Compass
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
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
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Essential Tools
• Staff development
• BuildAModule.com
• groups.drupal.org
• Drupal Camps/DrupalCons
• Version control
• BitBucket.org - private git hosting
Monday, October 28, 13
Drupal in theK-12 Business Office
drupal.org: erinclerico • [email protected]
Thank you
Monday, October 28, 13