DSLM - Drupal Symlink Manager

DSLM is a set of Drush commands for managing symlinking Drupal sites back to a central set of Drupal cores and installation profiles. It's a new way to handle the concept of multisite which helps manage many Drupal sites under one shared codebase.

Dependencies

Configuration and Installation

The first thing you'll want to do is set up your DSLM Base directory. The DSLM Base directory must contain, at the very least, a "cores" directory which contains direct checkouts of drupal core. You may also add a "profiles" directory to hold any shared installation profiles you might want to use. Profiles and Cores must be suffixed with a version number, like this:

-- dslm_base
    -- cores
        -- drupal-6.18
        -- drupal-6.20
        -- drupal-7.12
    -- profiles
        -- myInstallProfile-6.x-1.0
        -- myInstallProfile-6.x-1.1
        -- myInstallProfile-7.x-1.0
        -- myInstallProfile-7.x-1.1
            -- modules
            -- themes
            -- libraries

Once your base is set up as described above, you'll need to pass it to drush dslm in order to run commands. There are three ways to set the location of your base: It will first look for the cli switch, then in your drushrc.php and finally for an environment variable.

  • The cli switch --dslm-base=/path/to/dslm_base
  • The drushrc.php file $options['dslm_base'] = /path/to/dslm_base;
  • The DSLM_BASE system environment variable

DSLM Commands

drush dslm-new [site-directory] [core]
Creates a new site within the directory of your choice using the Drupal core-version of your choice. If you pass the --latest flag, the latest core will automatically be chosen. If you do not specify a Drupal core-version, you will be prompted for a choice. (example usage: drush dslm-new newSite drupal-7.12)

drush dslm-cores
Returns a listing of available DSLM cores. --format compatible

drush dslm-profiles
Returns a listing of available DSLM profiles. --format compatible

<<< Execute the following commands within a site set up with DSLM >>>

drush dslm-info
Returns the current core and any managed profiles symlinked to the site of your cwd. --format compatible

drush dslm-switch-core [name]-[version]
Switches the core symlinks within your cwd's site, to a different version of Drupal core. If you do not specify a core, an interactive prompt will ask. (example usage: drush dslm-switch-core drupal-7.15)

drush dslm-add-profile [profile-name]-[profile-version]
Creates a symlink within the 'profiles' directory to a DSLM managed installation profile. If you do not specify a profile name and/or version, you will be prompted for a choice. If the option --upgrade is passed, DSLM will remove the already symlinked profile and add your new specified (or prompted) version. (example usage: drush dslm-add-profile myInstallProfile-2.0 --upgrade)

drush dslm-remove-profile [profile-name]
If you specify a valid profile name to be removed, the symlink will be removed, otherwise you will be prompted with a list of DSLM-managed installation profiles this site has available to be removed.

1.0 Roadmap (for now)

  • Core add/switch
  • Profile add/update/remove
  • dslm info/cores/profiles
  • settings.php handling
  • dslm export - unsymlink a site from the dslm base
  • dslm import - take a 'standard' drupal site and replace its core files with symlinks to the dslm base

 

 

Made possible by the University of Colorado Boulder: www.colorado.edu

Downloads

Version Downloads Date Links
7.x-1.x-dev tar.gz (16.5 KB) | zip (18.6 KB) 2013-Mar-21 Notes

Project Information


Maintainers for dslm

  • ultimateboy - 28 commits
    last: 8 weeks ago, first: 1 year ago
  • bshelton - 46 commits
    last: 1 year ago, first: 1 year ago

Issues for dslm

To avoid duplicates, please search before submitting a new issue.
All issues
Bug reports
Statistics (2 years)
New issues
Open bugs
Participants