Everything is (or should be planned as) a distribution! Bryan Ollendyke @btopro Wed you should check out.. Dear Edtech, ELMSLN is here And it wants to replace your vendors. Bryan Ollendyke @btopro @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 (you all have devices) •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 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 / feeds Feeds Feature names Field 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 manage lots 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 REMEMBER WED-NESS-DAY Dear Edtech, ELMSLN is here And it wants to replace your vendors. Bryan Ollendyke @btopro