Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Solving the Deployment Problem <ul><li>The Case for a System Settings API </li></ul>
The Problem <ul><li>Functional configuration is stored in the database </li></ul><ul><li>Adding features is difficult with...
Attempted Solutions <ul><li>Hand written update scripts </li></ul><ul><li>Install Profiles </li></ul><ul><li>Features </li...
Proposed Solution <ul><li>A central shared System Settings API </li></ul><ul><li>Support for change logging </li></ul><ul>...
Great!  But how? <ul><li>One central API for all site config </li></ul><ul><li>Allow the storage of large objects/arrays <...
New Possible Features <ul><li>Pluggable storage </li></ul><ul><ul><li>A Static files plugin would put config under version...
New Possible Features (cont.) <ul><li>Configuration server to propagate configuration changes </li></ul><ul><ul><li>For th...
Proposed Implementation <ul><li>A look at some sample code </li></ul>
Upcoming SlideShare
Loading in …5
×

Solving The Deployment Problem

523 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Solving The Deployment Problem

  1. 1. Solving the Deployment Problem <ul><li>The Case for a System Settings API </li></ul>
  2. 2. The Problem <ul><li>Functional configuration is stored in the database </li></ul><ul><li>Adding features is difficult without taking a site offline </li></ul><ul><li>Merging configuration without merging content is nearly impossible </li></ul>
  3. 3. Attempted Solutions <ul><li>Hand written update scripts </li></ul><ul><li>Install Profiles </li></ul><ul><li>Features </li></ul><ul><li>Patterns </li></ul><ul><li>C-Tools </li></ul><ul><li>Deployment </li></ul>
  4. 4. Proposed Solution <ul><li>A central shared System Settings API </li></ul><ul><li>Support for change logging </li></ul><ul><li>Allowing pluggable storage mechanisms </li></ul><ul><li>Storing any necessary structured data </li></ul>
  5. 5. Great! But how? <ul><li>One central API for all site config </li></ul><ul><li>Allow the storage of large objects/arrays </li></ul><ul><li>Allow modules to specify when these settings are necessary (load on every page load, load when requested, etc) </li></ul><ul><li>Allow modules to specify what entities this configuration is related to </li></ul>
  6. 6. New Possible Features <ul><li>Pluggable storage </li></ul><ul><ul><li>A Static files plugin would put config under version contro </li></ul></ul><ul><li>Configuration snapshots </li></ul><ul><li>Configuration rollback </li></ul><ul><li>Feature.module support for nearly everything </li></ul>
  7. 7. New Possible Features (cont.) <ul><li>Configuration server to propagate configuration changes </li></ul><ul><ul><li>For the entire site </li></ul></ul><ul><ul><li>For one entity or type of entity </li></ul></ul>
  8. 8. Proposed Implementation <ul><li>A look at some sample code </li></ul>

×