• Save
Drupal distributions - how to build them
Upcoming SlideShare
Loading in...5
×
 

Drupal distributions - how to build them

on

  • 2,370 views

My slides for my presentation on Drupal distributions from @drupaldaysbxl .

My slides for my presentation on Drupal distributions from @drupaldaysbxl .

Statistics

Views

Total Views
2,370
Slideshare-icon Views on SlideShare
2,370
Embed Views
0

Actions

Likes
4
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Drupal distributions - how to build them Drupal distributions - how to build them Presentation Transcript

      • Drupal Distros – How To Build Them Dick Olsson a.k.a dixon_
    • I'm dixon_ I work for NodeOne I contribute to Drupal I co-maintain NodeStream Who am I?
    • What? Why? How? Demo! Tips! Questions? Agenda
    • What is a Drupal distribution? What?
    • Tailored product built on Drupal What?
    • OpenAtrium, OpenPublish, Managing News, NodeStream, Drupal Commons, OpenScholar … What?
    • Tailored needs Wider reach Quickly up and running Nice development workflow Why?
    • … and because it's the future (www.angrylittletree.com) Why?
    • Installable Configuration captured in code The difference?
    • Complete product or platform? Choose your path. What's hard?
    • Let's dig deep...
    • What's inside? Configuration Install profile 3 rd party libs Projects Core
    • Drush Make Profiler Exportables (Features, CTools) What tools?
    • What's inside? Configuration Install profile 3 rd party libs Projects Core Features Profiler Drush Make
    • Drush Make http://drupal.org/project/drush_make
    • … is not a module, but a Drush extension Drush Make
    • … is what drupal.org uses for packaging install profiles Drush Make
    • … is located in the install profile A .make file
    • … is a manifest for your distribution A .make file
    • api = 2 core = 6.x projects[] = drupal … A .make file
    • projects[ctools][version] = 1.8 projects[panels][version] = 3.9 … A .make file
    • projects[views][download][type] = cvs projects[views][download][module] = contributions/modules/views projects[views][download][revision] = DRUPAL-6—3:2011-01-15 … A .make file
    • projects[views][patch][] = http://drupal.org/files/issues/x.patch … A .make file
    • libraries[jquery_ui][download][type] = get libraries[jquery_ui][download][url] = http://x.googlecode.com/files/x.zip libraries[jquery_ui][destination] = modules/jquery_ui libraries[jquery_ui][directory_name] = jquery.ui … A .make file
    • Profiler http://drupal.org/project/profiler
    • … is not a module, but a custom library Profiler
    • … is what makes install profiles extendable Profiler
    • … makes it easier to upgrade to Drupal 7 Profiler
    • ./ ../ nodestream.info nodestream.install nodestream.make nodestream.profile Profiler
    • name = NodeStream description = NodeStream profile. core = 6.x theme = ns_theme … nodestream.info
    • dependencies[] = ctools dependencies[] = panels dependencies[] = views … nodestream.info
    • nodes[1][type] = "ns_article" nodes[1][language] = "en" nodes[1][title] = "Lorem" nodes[1][name] = "writer" nodes[1][status] = "1" nodes[1][comment] = "2" nodes[1][field_x][0][value] = "Ipsum” … nodestream.info
    • /** * Implementation of hook_install(). */ function nodestream_install() { db_query('TRUNCATE {blocks}'); } nodestream.install
    • Exportables http://drupal.org/project/features http://drupal.org/project/ctools
    • … are a concept that Features and CTools implement well Exportables
    • … are configurations captured in code, often as modules Exportables
    • … make deployments easier Exportables
    • Views, Panels, Node types, CCK fields, ImageCache, Rules, Menus, Permissions, Roles, Variables, etc. Exportables
    • $view = new view; $view->name = 'ns_article_byline'; $view->description = ''; $view->tag = 'nodestream'; … Exportables
    • How to build and install a distribution Demonstration
    • Tips
    • Drush Make: Use fixed project versions in your .make file Tip #1
    • Install profile: Keep it minimal, it's not upgradeable Tip #2
    • Install profile: Create a test profile that extends the distribution profile Tip #3
    • Exportables: Organize by functionality and follow KIT http://drupal.org/project/kit Tip #4
    • Features should only care of them selfs Avoid global variables and permissions Avoid problematic components Tip #4 continued...
    • Taxonomy Fieldgroups Input formats WYSIWYG Nodequeue Tip #4 continued...
    • Exportables: It's OK to rely on “broken” handlers Tip #5
    • Panels assembles a lot of features Handlers are made to fail silently Tip #5 continued...
    • Thank you! Questions? drupal.org/user/239911 twitter.com/dickolsson