MultiSites - Rant about robust systems and where does Concrete5 fit

Permalink
Yeah this is a big rant, but it's supposed to be, I'm trying to find a solution to last us for a few years.


There's a lot of talk about Multisites, but I want to change a bit the point of view and I hope I can get more opinions on this matter.

What if I need 10 Websites, all with their own admins? But I want admins who can edit "some", or "all" of these sites...

I'll probably need custom templates, but that's pretty easy to do, so I'm not focusing on that. I'm focusing on three things here:
1 - The backend user-experience, or the "Usability;

And the technical things that (should) make Multi-Sites amazing:
2 - Scalability;
3 - Security;


How well will it work?

If you have a good idea of what I'm talking about and understanding of the inner workings of it, please read on and let's see what we can come up with.



===========================================================

Let's try to use a story to get to the point of seriously talking about it:


So I have one C5 install for my main website. Great. But now I also want a hotsite. I want it hosted in a subdomain, and I want one of the editors of the main site to be able to edit the hotsite.

Of course I want to show a banner from the hotsite on my main website. And I want it to be updated automatically with news from the Hotsite.

I also want my hotsite to show all content from my main website's blog with the right tags to show up on the hotsite.

Things are getting a bit complicated, but still there are ways to do that.

Then comes the first important question: How hard would it be to do that?



And then comes the killer. I'm exxagerating for the sake of understanding. I got so big we decided to have a fusion... With Microsoft. :D (Actually should be a sad Emoticon since Microsoft quite sucks, but hey, I want the moneys!)


Since our website works so much better than theirs - Heh, we use C5. ;) -, we will be moving everything to our system. (C5, I hope?)


That amounts to about a couple bazillions of websites, all managed from a central admin area (You know, Me and Bill Gates want to be able to look at how the tiny folks are doing).


The structure becomes:
-Central Administration
--Smaller areas;
--Even smaller areas;
---Websites.

Central administration would be the all-powerful-me. And only me, I hate people fiddling with my things and being able to overpower me.

Then I choose a "Software" guy, a "Web" guy, a "Mobile" guy etc. (Smaller Areas)

These guys choose their teams, plus the next "guys", for example:

The Software guy chooses the "Windows" guy, the "Office" guy, the "Windows Live Essentials" guy etc.
(Even Smaller Areas)

Then these guys will choose the ones that can actually take on bits of that (Windows 7, Windows 8, Windows Forums, Windows Sucks etc.)
(Websites)


Now that's probably a bit too much to run on a Concrete5 installation, but the possibility of this structure, I believe, is what (most likely) holds the money for the next handful of years.

I have a client with about one thousand sub-blogs, and trust me, the administration sucks no matter which system you use. (We just moved from WP to Django because WP was breaking. WP Sucks. A lot.)

Seriously, I developed a ton of scripts just to be able to update/administrate the damn thing.



So would something like that even be possible with Concrete5? How bad would the coding be? Of course it's a big idea. To create a structure that will last for another decade or something like that, that mustn't be easy. But would that be POSSIBLE?

Or better, would that be INTERESTING to do in C5?
Or should I just move to Django or something?



And seriously, no Ruby on Rails or WordPress in this thread, please.

Ruby sucks, if someone fucked up GitHub because of it, nothing can ever be safe using it.
And WPbreaks with Multisites because it's NOT centralized. They just duplicate content.

Which means in WP you'll get about 5 to 10 thousand tables after 3 months and have to re-code everything.
In a week...
Losing a lot of money...
To fix lots of things later...
Because it was rushed...
Because WP Sucks and broke...

Yeah, you get the idea.

FernandoCordeiro
 
Mnkras replied on at Permalink Reply
Mnkras
Hey Fernando,

I have thought about this is the past and come up with a few ideas:

1. Have separate sites+dbs but use SSO for user accounts.

2. Have one site with advanced permissions, and split that main site into sub sites, then you can use advanced permissions to restrict people to those sections. For mapping domains, I would use the domain mapper addon (or something custom).

3. Have a full site API so that sites can be controller remotely (they don't all have to be on the same server).

4. Create a custom addon for c5 to manage #2.


It really depends how integrated the sites need to be. (data sharing, user sharing)

I highly suggest not having all sites branch from one site, because if something is compromised, then all the sites are compromised.

Personally, I think I would go with the API route, but if your going to be having thousands of sites (under 1 site) then that will make thousands of tables (which you don't want).

This is a hard problem to solve and im not sure there is an easy solution.

Mike
frz replied on at Permalink Reply
frz
Good List!

We think #2 makes sense from time to time.

It starts to fall apart when there's nothing at all similar about the
sites or people using them.