An extension for Radiant CMS that lets you serve multiple sites (domains) from a single instance.
Ruby
Pull request Compare This branch is 1 commit ahead, 50 commits behind radiant:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app
db/migrate
lib
public/images/admin
spec
vendor/plugins
README
Rakefile
multi_site_extension.rb

README

= Multi Site

Created by Sean Cribbs, November 2007. Inspired by the original virtual_domain
behavior.

Multi Site allows you to host multiple websites on a single Radiant
installation.

Each site has its own independent sitemap/page-tree and these attributes:

  name: Whatever you want to call the site
  domain: A Ruby regular expression (without the //) to match the request
          against
  base_domain: A canonical domain name for doing quicker matches and for
               generating absolute URLs against
  homepage_id: The numerical database ID of the root page (usually
               you can just leave this alone).

Included images are slightly modified from FamFamFam Silk Icons by Mark James:
http://www.famfamfam.com/lab/icons/silk/

== Installation

1) Unpack/checkout/export the extension into vendor/extensions of your 
   project.

2) Run the extension migrations.

  $ rake production db:migrate:extensions

3) Run the extension update task.

  $ rake radiant:extensions:multi_site:update

4) Restart your server

== Other Extensions

Multi Site allows you to customize routes within your other extensions. To
restrict a route to a particular site, pass the site's name into the
conditions hash:

   map.resources :things, :conditions => { :site => 'My Site' }

You can also scope a route to multiple sites with an array:

   map.resources :things, :conditions => { :site => ['My Site', 'Your Site'] }

== Acknowledgments

Thanks to Digital Pulp, Inc. for funding the initial development of this
extension as part of the Redken.com project.

== Changelog

2008/12/09
Made site selector links go to that domain, not current domain.
(makes page preview extension work with multisite). If all your
domains share a common suffix, set it in your controller to not
have to log in each time you go to a new site. 
e.g. (in production.rb)
  ActionController::Base.session_options[:session_domain] = '.mysite.com' 
- Glenn Murray @ tricycledevelopments.com