Drupal in the California K12 Business Office

Post on 27-Jan-2015

108 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

A case study showing the rationale for the selection of Drupal 7 as a platform to build small and medium business office productivity applications for the Kern County Superintendent of Schools in California. First presented at BADCamp October 27, 2013 by Erin Clerico (Drupal.org: erinclerico).

Transcript

Case Study:

Drupal in the K-12 Business Office

by Erin Clericodrupal.org: erinclerico

erin@clerico.com

Monday, October 28, 13

Monday, October 28, 13

Drupal in theK-12 Business Office

drupal.org: erinclerico • erin@clerico.com

• 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 • erin@clerico.com

• 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 • erin@clerico.com

• 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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

It’s (still) Alive!

• Remote Desktop

Monday, October 28, 13

Drupal in theK-12 Business Office

drupal.org: erinclerico • erin@clerico.com

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 • erin@clerico.com

Software Gaps

• Gaps in software functionality are filled with human hands

Monday, October 28, 13

Drupal in theK-12 Business Office

drupal.org: erinclerico • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

Well Meaning Staff

• An inefficient workflow soon becomes entrenched and critical

Monday, October 28, 13

Drupal in theK-12 Business Office

drupal.org: erinclerico • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

Common Complaints

• Not web enabled

Monday, October 28, 13

Drupal in theK-12 Business Office

drupal.org: erinclerico • erin@clerico.com

Common Complaints

• Not web enabled

• Platform dependent

• Access

• Filemaker Pro

• FoxPro

Monday, October 28, 13

Drupal in theK-12 Business Office

drupal.org: erinclerico • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

Strategic Goals

• Better customer service and quality control

Monday, October 28, 13

Drupal in theK-12 Business Office

drupal.org: erinclerico • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

Joomla

• No

Monday, October 28, 13

Drupal in theK-12 Business Office

drupal.org: erinclerico • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

.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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

Hands Down!

Monday, October 28, 13

Drupal in theK-12 Business Office

drupal.org: erinclerico • erin@clerico.com

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 • erin@clerico.com

Staff Development

• Attended Drupal Camps

• Drupal Camp LA

• BADCamp

Monday, October 28, 13

Drupal in theK-12 Business Office

drupal.org: erinclerico • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

Organizational Buy-in

• Drupal Fridays!

Monday, October 28, 13

Drupal in theK-12 Business Office

drupal.org: erinclerico • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

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 • erin@clerico.com

Thank you

Monday, October 28, 13

top related