Multi-Site Instructions

Hi Guys,

Firstly, YOU GUYS ROCK! Hands down the best CMS I have had the pleasure of developing with. I hope to have a huge site for your showcase soon.

My question is in relation to another project I have been asked to quote for. They need Multi-site functionalityy where the super user can control the content fed down to the satellite sites, each their own cms install.

I am pretty sure c5 can do this, and I have read a couple of threads about them , but none I can find point me in the right direction.

My other option is the wordpress multi-site capability, and I would rather use c5.

In short - can you point me in the right direction please.


View Replies: View Best Answer
Mainio replied on at Permalink Reply
Can you open up the situation a bit more? Is there a specific reason why they all need to be their own CMS installations?

I think that if you want a single admin account for each domain, I'd probably just add that admin during the installation process for each site. Then again, password changing might be another problem to face.

If you want shared user base for each of these sites, then I'd consider putting them under the same installation (if you don't have any other requirements that conflict with this idea).

Antti / Mainio
Ekko replied on at Permalink Reply
This might be what your looking for

This Dashboard Add-on lets you map parked domain names to specific nodes on your site tree. This is an easy way to create & manage multiple websites with a single concrete5 install.

(out of curiosity is your name a David Thorne reference ?)
Mainio replied on at Permalink Reply
Yes, that is exactly why I asked about his requirements, it sounds like there is something behind which requires full installations for each domains. :)

However, here's a bit more configurable option + ability to hide the whole page paths on domains:
davidofadelaide replied on at Permalink Reply
its all I could think of as a twitter handle wayback when (where Im from).

Thanks to both you guys for taking the time to help me out.

The scope requires a main site that allows the "Super User" to insert certain assets.

After this they provide a service that allows their customers to create their own branded site under the overall controll of the master site.

each sub site cannot access each others and furthermore should be allowed to add their own pages and assets that each other cannot use or see.

I hope this is possible.

The final poi nt of the brief 'Has to be easy for the user!'
Mainio replied on at Permalink Reply
I think this can actually be done under the same site, just depends on your scope whether it makes sense to do that.

Other option would be the one I suggested before: when you make a new concrete5 instance, you would just programmatically copy your "super user" credentials from some existing "main site". (then again in the main site, you should have custom logic to update the password on each and every installation if you change your super user password).

By the way I might have some code lying around that might do 50% of what you're trying to do under single concrete5 installation, so if you're interested, just pass me a message. We did a similar project some time ago. The advanced permissions are quite flexible in concrete5 so you can already limit the access of each user account quite well.

An upcoming version of concrete5 (5.5.3 which is currently in alpha) will have even more thought on the permissions issue.
davidofadelaide replied on at Permalink Reply
Thanks Mainio! Sounds likeI might be able to get something out of one install.

I guess I should investigate fully the advanced permissions and see if I can lock it down.

Any docs at hand you can think of?
Mainio replied on at Permalink Best Answer Reply
This one:
and this:

No developer docs available, currently modifying the permissions programmatically is kinda hacky which I also think was one of the reasons for re-doing it for 5.5.3.

Best documentation I've personally been able to find out about programming this stuff is open up /models/page.php and see the function assignPermissionSet().