Multisite requirements document

Events happening in the community are now at Drupal community events on www.drupal.org.
Anonymous's picture

Hey, fellow drupalers-

iterative improvement process:

  1. purpose
  2. measurements
  3. strategy
  4. goals (back to purpose)

iterative design process:

  1. requirements (based on purpose, measurements)
  2. design
  3. build
  4. test (back to requirements)

I'd like to establish the requirements of a multisite configuration, so that I can better design and build the components. In order to efficiently embark on this work, I need to establish the "purpose, measurements, strategy, goals" of this type of configuration. I've found that due diligence in these areas provide massive dividends later.

So, are there any of you out there that are familiar enough with a multisite configuration that you feel comfortable articulating (in a few sentences) the "purpose" of a multisite configuration as well as the "measurements" that can be evaluated to establish whether the multisite configuration is fulfilling it's purpose.

After the purpose and measurements are established we can move to "strategy" and "goals". And then on to -> "requirements".

Necessity and sufficiency logic statements can be useful:

Necessity logic:
"In order for a multisite configuration to be successful, it must(1, 2, 3,...).

After a list is compiled - on the sufficiency logic:

Sufficiency logic:
"If, and if, and if, (x number of and if statements), then a multisite will be successful"

This doesn't have to be hard, as we can always iterate/spiral through.

I feel strongly that multisite configuration issues will be/are important to future Drupal development, and would like to see things get started off on the right foot.

So, with all that said, maybe we could start with the necessity logic stuff:

"In order for a multisite configuration to be successful, it must(1, 2, 3,...).

As a community, we could work on this list. Sound good?

========
Doug Ouverson

Comments

Why don't you start?

boris mann's picture

Maybe it would be good if you started by saying what you want out of multisite. Multisite is a solution that can be used to solve a number of different problems.

Here's one.

Run many separate websites on a single codebase (core + modules) in order to make maintenance and support easier.

Start a book?

d0ugla5's picture

Is there way to start a "book" inside the multisite group; I didn't notice "create book" as an option. I could start a book, "In order my multisite configuration to be successful, it must..." and then pages could be added, expanded upon, etc.

I think this would be far superior to the story with reply, reply, etc. What do you think?

If this isn't an option, I'd be happy to host a website dedicated to the multisite community; I happen to know of a good cms for the job :-)

========
Doug Ouverson

Overkill

boris mann's picture

Make a wiki page if you want, which everyone can edit. I'm still not "hearing" what you're looking for. What are you trying to accomplish? I gave you one example -- code maintenance and support. Do you have another?

Multisite "works today". What else do you want it to do? I know we're looking at some "dashboard" style code that will show all sites running in a multisite configuration.

Overkill? - NEVER (IMHO)

Doug Ouverson's picture

Here's where I'm coming from:

I'm developing a business model where I will have 100s (maybe 1000s) of websites. Most of the websites would be low->medium traffic (pretty consistent with many mulkisite group members). I'm leasing a dedicated LAMP server, so I can configure as I like (for now I'm limited to the cPanel install environment which is pretty solid).

Purpose of a multisite configuration: "To reduce the resources necessary (server resources (hard drive space, and processor load) and human resources (mostly my time to keep code current)) to run multiple Drupal installs/websites."

Strategic Measurements: In order to improve anything you must have some reference in the way of measurements. I'm not experienced enough to know what the measurements are in a multisite configuration/installation, but - nonetheless - they should be identified so that down the line we will be able to determine whether we are improving, and if we are, by how much. I know this much: there should be server resource measurements and human resource measurements.

An initial contribution to the "In order to..., we must..." list:

So, In order for my multisite configuration to be successful (limited server resources and human resources), it must:

  • Run 100s (possibly 1000s) of websites from a single code base, including many contributed modules, with limited server resources (hard drive space, and processor load) and human resources (mostly my time to keep code current).
  • Accommodate each website having its own database (I'm not sure on this one). Maybe a partially shared databse is the way to go. Again, resources are important.

Each one of these can be expanded upon, i.e., "In order for a multisite configuration to 'Run 100s (possibly 1000s) of websites from a single code base, including many contributed modules, with limited server resources (hard drive space, and processor load) and human resources (mostly my time to keep code current)', it must (1, 2, 3,...)"

It makes no sense (imho) to start hacking away on my multisite configuration from the multisite information in "handbook > ..." before this is "strategic" work is done. I'm willing to wait, as I believe the time savings will be huge in the long run. After all, isn't this the motivation in having a multisite configuration.

Have a great one, and all the best,

========
Doug Ouverson

More

boris mann's picture

I mean a "book" was overkill: feel free, as I said, to create a wiki page.

IMHO, "keeping code current" is a big enough issue (e.g. install / update codebase across 1000s of sites) that it needs to get split out into a separate bullet above. Since, it also depends on the community moving forward on the modules you are choosing to deploy.

And, of course, we've built a mass hosting system that supports install profiles and it's open source and available and and we've been running it for 2+ years and we're thinking about version 2 now. Check out http://svn.bryght.com/hostmaster. The down sides? It's tricky to install and you need to know PostgreSQL, Python, and a bunch of other sysadmin tools.

Feel free to contact me directly if you want to discuss. Happy to have more people running on our infrastructure if that makes sense for you.

Like this idea

nancydru's picture

But how do you upgrade 100 sites at once. I haven't finished my 6 sites getting to 5.1 yet. And then there's the problem of modules that lag the release considerably...

Nancy W.
Drupal Cookbook (for New Drupallers)
Adding Hidden Design or How To notes in your database

Ability to clone a site

cookiesunshinex's picture

I would like to be able to clone a site's install.

My current configuration:
1. Drupal Code Base
2. Each site has their own MySQL database

Being able to host multiple sites with one code base is a leap ahead of other CMS.

I run a community portal, and we're runnning a site for different cities, but effectively the sites will look very similar but have different content.

It's great to get going with a second or third site (the drupal code, modules, and themes are already there)..

However, I still have to go in and install and configure all the modules, create the content types, create the views. It would be great if I could just "clone" a site and then go in a make changes as necessary where needed to customize it for the second and third sites.

I haven't actually tried dumping the original MySQL database and then importing it into the 2nd and 3rd databases structures. Would that work? What problems would arise?

Thanks!

Symetrik Design
Drupal Consulting
http://www.symetrkdesign.com

Site Cloning = Drupal Installation Profiles

nato's picture

I think the cloning functionality you've been looking for is now brought to you by Drupal Installation Profiles. There aren't that many posted yet, as they are new, but you can create your own installation profile.

That's how I do my test sites

nancydru's picture

And it's even what I say to newbies. I set up an initial test site with the basic set up (including my second, real ID). Then I merely clone that database and start the new site from there. In one case, I even cloned a fully operational live site to begin a corporate site.

Nancy W.
Drupal Cookbook (for New Drupallers)
Adding Hidden Design or How To notes in your database

partially shared content

heronog's picture

In order to be fully successfull a drupal multisite must be able to

-share content between sites

this is, that content that is created for a site can be published to any other of the configured sites as if it was created in that site directly.

this would require te content creator to choose to which sites the content is to be published every time something gets uploaded.

-shared-content user permissions

this is that not every user can publish to every site, just to those he has been authorized

Just my $0.02.

I would be glad to code something, if some experienced drupal developer would give me some pointers on where to start... I am just a begginner with drupal, but have been coding for some time now, so it should not be a problem.

That is what we need IMHO

joeph's picture

I would like to add the user management with single signon: a user that has succesfully logged in in a subsite should be automatically logged in into the main site.

User administration: subsite administrators are only allowed to administer the users in the subsite while mainsite administrators should be able to manage users throughout the mainsite and subsites.


CompuBase, websites and design

Multisite

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: