Page 1 of 1
Keeping multiple (10+) CMSMS sites up to date
Posted: Mon Apr 28, 2014 12:50 pm
by hasanen
Some background:
I'm making basic sites for everyone who want one. I'm also hosting those sites and keeping installations up to date.
Problem:
Well, every new site means duplication of manual work.
Solution:
I haven't find a good one. I have thought making some selenium test which handles this, but I doesn't sound the best one. Also trying to create one core install and linking all common files has crossed my mind. But it's kind of a hack and might produce more work than it possible saves, so I don't want to do that. As long as I'm hosting the sites, I also want to keep them up to date for the sake of security.
How are you managing your 10+ sites? I hope version 2 would bring some help for this. I have no problem to spend hour or few when new version come out, I just feel that new installation should not mean duplication of manual work.
Re: Keeping multiple (10+) CMSMS sites up to date
Posted: Mon Apr 28, 2014 2:31 pm
by zaidcrowe
This kinda ties into your business model as well i guess.
I leave the choice of upgrading to the discretion of my clients, If a security update is made available I let my customers know, and provide an affordable fee to do the update.
That way, I only have spats of needing to maintain the cmsms version of the sites - but I don't work on these long term/regularly, they tend to get built - and I barely hear from the client for two years, I'm not sure if you're in a situation where you are regularly working on these 10 sites, or what your offering customer is extended hosting, in that you're promising to always keep them update and secure at cms level?
For clients that are lazy/don't see the value in keeping up to date - well, they tend to get a bigger bill later down the line, or more often then not they go bust/loose interest in the site or just move on anyway.
As I've done everything I can to let them know about incremental updates and updating a site x years old can mean module issues, and the potential of having to rebuild certain things etc
I've seen how wordpress handles this, with one click upgrade process - which does work quite well most of the time. But most isn't always

Third party plugins can break and cause downtime etc
not a solution - but I hope some food for thought!
Re: Keeping multiple (10+) CMSMS sites up to date
Posted: Mon Apr 28, 2014 3:26 pm
by paulbaker
hasanen wrote:How are you managing your 10+ sites? I hope version 2 would bring some help for this.
I haven't found a magic solution either - but CMSMS 2.0 is promising to make it much easier, take a read of the first section of this post:
http://forum.cmsmadesimple.org/viewtopi ... =1&t=69775
Download a single file, upload it to your server (one command if you have ssh access to your server). And browse to the file. It will guide you through the installation an upgrading process.
Nice....
Meanwhile, I upgrade manually though I confess not every site is completely up to date. I keep a spreadsheet of sites showing their version and information like what modules are installed. Just taken a look and I see that of 28 sites all but 1 is at version 1.11.[something] - that's pretty good I reckon.
BTW there is a module for keeping track of your CMSMS sites but it's stale now; I've never tried it myself:
http://dev.cmsmadesimple.org/projects/simplesiteinfo
Re: Keeping multiple (10+) CMSMS sites up to date
Posted: Mon Apr 28, 2014 3:34 pm
by calguy1000
The CMSMS core will never handle multi-site stuff (i've posted info about this in the past). But a third party module can.
This is because sites become 'abandoned', move to different servers, or have different needs (different modules, different templates, users, groups and permission levels), different images, different request rates, and a billion other variables.
For 'simple' (no third party modules to worry about, very little funky logic happening) sites upgrading usually takes less than 10 minutes per site. Particularly if you're using the command line. Note: my definition of 'simple' may be different than yours. I've even upgraded 'complex' sites in less than half an hour with no difficulties. It's mostly a knowledge and experience thing.
a: 1 command to change to the proper working directory
b: 1 command to read the config.php file to find the database credentials
c: 1 command to backup the database to a .sql file
d: 1 command to backup the files of the distribution including the .sql file to a .tar.gz file
e: 1 command (optional) to copy the backup to an external location
(if you have regular automatic backups, and can get to them easily, you can skip the above steps).
f: 1 command to transfer the new release .tar.gz file (only needed once if all sites are on the same server) to the server.
g: 1 command to untar the new distribution ontop of the existing site
h: browse to the site and go through the upgrade process (only necessary if not installing a diff release).
i: testing
So basically, not counting 'backups' there are 4 manual steps. I don't see how that could get much simpler, and much shorter.
With each site being 'separate' if something pukes because of something you didn't account for, you have one site that is broken. And only one site that needs to be restored from backup and only one customer complaining, not a dozen.
[edit] if your site doesn't offer ssh access, I suggest that you talk to them about enabling 1980's based technology. If you don't know how to use the linux command line I suggest that the time investment to learning how to do things is something you'll never regret.
Re: Keeping multiple (10+) CMSMS sites up to date
Posted: Mon Apr 28, 2014 5:09 pm
by calguy1000
As @PaulBaker mentioned the new installer for CMSMS 2.0 will make this somewhat easier.
It does not tackle backups. However, depending upon your hosts configuration (you may be able to use this method on some hosts) by uploading the .php file to one central location you may be able to browse to it, and use the same script to upgrade/repair/isntall-language packs for multiple different CMSMS installs.
Re: Keeping multiple (10+) CMSMS sites up to date
Posted: Mon Apr 28, 2014 5:16 pm
by hasanen
Thanks for the responses!
zaidcrowe wrote:or what your offering customer is extended hosting, in that you're promising to always keep them update and secure at cms level?
Basically yes. Although I update modules only when cmsms itself has an update available.
paulbaker wrote:
Meanwhile, I upgrade manually though I confess not every site is completely up to date. I keep a spreadsheet of sites showing their version and information like what modules are installed. Just taken a look and I see that of 28 sites all but 1 is at version 1.11.[something] - that's pretty good I reckon.
I'm also keeping cmsms versions on spreadsheet, but not modules.
Thanks, have to check it. If it's good there might be opportunity to fork it
calguy1000 wrote:CMSMS the CMSMS core will never handle multi-site stuff (i've posted info about this in the past).
I think I've read at least one of those posts and I understand the reasons. That's why I'd like to know how other are handling multiple sites, before making my mind how I'm going to do it.
calguy1000 wrote:For 'simple' (no third party modules to worry about, very little funky logic happening) sites upgrading usually takes less than 10 minutes per site. Particularly if you're using the command line. Note: my definition of 'simple' may be different than yours.
Well my simple in this context is something like 4 modules max. per site. As I don't yet have a customer who needs more than that.
calguy1000 wrote:
I've even upgraded 'complex' sites in less than half an hour with no difficulties. It's mostly a knowledge and experience thing.
a: 1 command to change to the proper working directory
b: 1 command to read the config.php file to find the database credentials
c: 1 command to backup the database to a .sql file
d: 1 command to backup the files of the distribution including the .sql file to a .tar.gz file
e: 1 command (optional) to copy the backup to an external location
(if you have regular automatic backups, and can get to them easily, you can skip the above steps).
f: 1 command to transfer the new release .tar.gz file (only needed once if all sites are on the same server) to the server.
g: 1 command to untar the new distribution ontop of the existing site
h: browse to the site and go through the upgrade process (only necessary if not installing a diff release).
i: testing
So basically, not counting 'backups' there are 4 manual steps. I don't see how that could get much simpler, and much shorter.
With each site being 'separate' if something pukes because of something you didn't account for, you have one site that is broken. And only one site that needs to be restored from backup and only one customer complaining, not a dozen.
[edit] if your site doesn't offer ssh access, I suggest that you talk to them about enabling 1980's based technology. If you don't know how to use the linux command line I suggest that the time investment to learning how to do things is something you'll never regret.
Commandline is one option. It wasn't possible before end of the last year when I moved from bigger hosting company to my own VPS.
calguy1000 wrote:As @PaulBaker mentioned the new installer for CMSMS 2.0 will make this somewhat easier.
I'm looking forward to get hands on with the beta. I think it could be the version where to start automating upgrades.
Re: Keeping multiple (10+) CMSMS sites up to date
Posted: Mon Apr 28, 2014 5:23 pm
by paulbaker
hasanen wrote:
Thanks, have to check it. If it's good there might be opportunity to fork it
Sounds cool, I'll be first in line to beta test it for you

Re: Keeping multiple (10+) CMSMS sites up to date
Posted: Mon Apr 28, 2014 5:58 pm
by hasanen
paulbaker wrote:Sounds cool, I'll be first in line to beta test it for you

Just tested it, seems that it isn't ready - not even close :/
Re: Keeping multiple (10+) CMSMS sites up to date
Posted: Tue Apr 29, 2014 6:27 am
by Rolf
Re: Keeping multiple (10+) CMSMS sites up to date
Posted: Wed Apr 30, 2014 9:26 am
by paulbaker
@Rolf, I like it!

Can it be extended to show other data, like system information or even Available Upgrades?
For everyone else, this plugin uses the Site User's Guide module to interrogate other CMSMS installations (using a secret key) to find out their version number, here it is in action showing just one site:
Re: Keeping multiple (10+) CMSMS sites up to date
Posted: Wed Apr 30, 2014 9:54 am
by Rolf
Yeah, it works great
I haven't released it yet, because I am not sure how I want to do that. I mean release it as a tag in the Forge or add it to my CMSMS blog.
But it will be after CMSMS 2.0 is released and it is tested.
grtz. Rolf
Re: Keeping multiple (10+) CMSMS sites up to date
Posted: Fri Aug 15, 2014 1:12 pm
by Rolf
I am not going to release the Version Info tag through the Forge.
Instead I added it to my blog! In my opinion better to use and to maintain for both you and me!
https://www.cmscanbesimple.org/blog/sim ... fo-and-mgr
Have fun! Rolf