Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

Archive /

Our old forums are still available as a read-only archive.

Moderators: martimiz, Sean, biapar, Willr, Ingo, simon_w

Multiple website Functionality


Reply


6 Posts   76023 Views

Avatar
matter

Community Member, 3 Posts

26 November 2006 at 4:16pm

Hello all.

I am a web designer by trade, and have been looking for an Open Source CMS for the past few weeks now.

I came across SilverStripe and was really impressed by the backend, I thought it looked great and was much more intuitive than other CMS products I have researched and tested in the past.

I have a simple question. Can SilverStripe be used in a multiple website environment. ex running two or more web sites, each with their own domain and seperate database running off of one installation of SilverStripe on the server?

I have not seen any documentation on adding additional sites using SS from a single server. Does each site have its own installation which is seperate from each other, or can each site share the core code somehow. Im assuming if it could share the core code then this would make updating future releases across all sites much easier.

However way it is done, is there any documentation outlining this process?

Thanks in advance to anybody who could clear this up for me.

Thanks, Matt.

Avatar
Simon

Core Development Team, 27 Posts

26 November 2006 at 4:54pm

You can definitely run as many domains of one installation as you want. It just depends on how you configure your server.

There isn't any documentation on this, as it has been relatively uncommon in most of the installations, so we'd have to get some stuff created for you.

There are of course disadvantages to this, in that any special classes you create for design and layout / functionality would be the same across all of the domains, which may complicate the implementations of each site.

We'll try and get some simple documentation upon the wiki to get you started.

Cheers,
Simon

Avatar
matter

Community Member, 3 Posts

26 November 2006 at 5:31pm

Hi Simon, thanks for the quick reply, it was much appreciated.

Any help at all that you could provide in the wiki regarding this topic would be superb. And thanks for the heads up on the global classes, I will use caution when implementing multiple sites with this.

Now you mention that this is uncommon, should I be approaching this in a different way or is it just that most cases for this CMS are used for individual sites without the need for adding more?

Again, thanks for the help!

Matt

Avatar
Sam

Administrator, 685 Posts

27 November 2006 at 1:37pm

Internally we use CVS to replicate core code across sites. That is, we keep separate copies of the files, all checked out of CVS, and use commit/update to transfer changes between them.

We do this so that sites don't get their code change without an explicit request from us - otherwise there's the risk of something breaking. If this was less of a concern for you, you could probably use symlinking to share code across multiple sites.

We tend to package code into 3 kinds of CVS modules
* Core CMS (sapphire, cms and jsparty)
* Extension modules (ecommerce, event management, forums, etc)
* Code specific to the site

You can create any number of folders at the same level as sapphire, jsparty and cms, and once you run ?flush=1, their code and templates will be recognised by the system. You can also rename "mysite" to something more specific, if you wish.

Avatar
matter

Community Member, 3 Posts

28 November 2006 at 5:40pm

Hi Sam,

Thanks for the tips. Using CVS is a great idea, I hadnt thought of that, it should definatly do the trick!

Thanks for the help guys!

Matt

Avatar
Sean

Forum Moderator, 922 Posts

16 May 2008 at 2:44pm

We now use SVN. I would recommend using it over CVS.

Some shared hosts like Dreamhost offer SVN repositories out of the box. This is very useful to just run an "svn update" on each installed website, which is sharing the same core code.

:-)

Sean