Everything is (or should be planned as) a distribution! Bryan Ollendyke @btopro

Preview:

Citation preview

Everything is

(or should be planned as)

a distribution!

Bryan Ollendyke@btopro

Dear Edtech,ELMSLN is hereAnd it wants to replace your vendors.Bryan Ollendyke@btopro

Wed you should check out..

@btopro•Bryan Ollendyke

•Happy father of two, husband of one

•Penn State, College of Arts and Architecture’s e-Learning Institute

•Drupal developer since ’07

•Commits to 76 d.o. projects–~2k commits (github way more)

•More popular contrib–Tinynav

–profiler_builder

–outline_designer

–replicate_ui

•Constantly automating job out of existence

@btopro from twitter

Agenda

•What is a distribution vs Install profile

•Why you need Profiler Builder

•Ways to manage lots of profiles / distributions

•Turning a site into a profile

•Random examples

•Q&A

Skip ahead

•http://elmsln.org– All things ELMS Learning Network– Shameless plug

•http://drupal.psu.edu/– lots of great articles– Shameless plug for PSU’s community

•https://drupal.org/project/drupalorg_drush•http://drupal.org/project/profiler_builder•http://drupal.org/project/dslm•http://drupal.org/project/galaxy

(you all have devices)

How can I play?ELMSLN

http://github.com/project/elmsln

http://github.com/project/elmsln-vagrant

–How the team collaborates

Nittany

http://github.com/project/nittany

http://github.com/project/nittany-vagrant

–Recommended distribution for PSU Drupal usage

Vagrant and Vagrant logo © 2013-14 HashiCorp

What is an install profile?

•Drupal Flavor / install routine•Enable these modules

•Use this theme

•Run this php

•What can I include?•Custom modules / features

•Custom themes

•Custom libraries

install profile

What is a Distribution•Drush / “Make” files

•This defines everything that should be downloaded

•Install profile•And all the stuff in it

•Contrib Modules

•Contrib Themes

•Libraries•From d.o. and non-d.o. sources

•Patches

Distribution

Distributions on d.o

•Everything must be GPL v2•Leads to licensing hell

•External libraries this can be problematic

•External libraries must clear a “packaging whitelist”

•Some modules include .make files (which it spiders)

•I package everything on github nicely•Drupal.org there’s manual work to run my distros

Think of every site as a new distribution

{what the last talk was saying!}

Name space everything

View displays / pages / feedsFeeds

Feature namesField names

context / panel names

ANY machine names of any kind!

Profiler Builder

https://drupal.org/project/profiler_builder

Profiler Builder

•Build out site, then make it a profile•Looks at what’s enabled and creates install profile

•Reverts all enabled features automatically

•Robust API for adding and excluding items from builds

•Sniffs out patches / libraries and auto adds them to make files!

•Produces multiple make files

•Make file, make file specific to d.o., make file for local development

•Drush support

•Cooks, cleans and spit shines your shoes

Also.. Profiler Builder

•Always get dev

Ways to managelots of profiles / distributions

DSLM

•http://drupal.org/project/dslm

•Drush Sym-link manager

•Alternate method of

–Multisite management

–Install profile management

•Support for multiple versions of Drupal (minor and major)

DSLM

Graphic credit Penn State, CC SA 4.0

Galaxy

•“A Distribution of Distributions” - @nicxvan

•DSLM for multiple Drupal “Stacks” in same package

–APC optimization

•Cleaner devops to repo management when lots of repos involved

•Structure similar to D8

–core directory you no touch!

•Symlinks help abstract config from code

•Supports more then just Drupal

Demo

#elmsln#edtech#drupal@psu_elms@btopro

Photo credit Bryan Ollendyke, CC SA 4.0

Dear Edtech,ELMSLN is hereAnd it wants to replace your vendors.Bryan Ollendyke@btopro

REMEMBER WED-NESS-DAY

Recommended