|CMS for Offline, Cross-Platform Development with Static Output|
- a simple CMS for editing a static site
- an OFFLINE CMS, one that isn't hooked to a database generating pages on the fly. (not wordpress, not drupal, not joomla... etc)
- to publish the site: output a pile of static files, or even a big fat tarball we'd untar on the server
- idiot-proof, so anyone can add content & new pages without knowing any HTML
- no need to install anything arcane locally. These people are not going to have Rails or Apache running on their laptops.
- cross-platform, because there are folks here using Mac and PC. That's a kicker. I was looking for something using Adobe AIR or even Java... found nothing so far.
tall order, huh.
The main goal is to let a little team of writers and content people edit the site, but NOT on the live server. We'd let them edit it offline, keep versions in our SVN repo, and then someone responsible will pack the whole site into a tarball, and then someone else will untar it on the live server.
It's a big static site, a few hundred pages more or less. The only interactive part is a contact form, and I can make that myself. Once. No one needs to edit that.
In my mind I'm imagining something like Dreamweaver, but alas we all know what will happen if we put a bunch of writers in front of DreamWeaver and ask them to maintain a website. They'll screw it up. This has to be easy easy easy. Like, madlibs fill-in-the-blank easy.
Does offline mean absolutely no web access or just a requirement to allow multi author document creation?
There's some WP themes that allow colaborative works to be created with multi authors credited to the work, revisions logged etc.
Plenty of desktop clients available for WP too, although not certain their compatibility with multi author features.
yeah, I mean totally offline. We don't want the server to be hosting anything database-driven like WordPress. We want flat, static content, published as HTML files.
The CMS should be something the authors can work on locally, with the option to "publish" the site and generate all those files... templated of course.
I don't mind if there's a local database involved, a SQLite or XML files or whatever. But the output has to be static, not generated by PHP or anything else.
You don't say anything about budget
I believe that Adobe Contribute is designed for the type of thing you're considering, runs on Mac and Windows, and a 5-user pack can be had for $800 (unfortunately, I don't think you can mix and match, 2 Macs and 3 Windows).
Or you could go with a traditional CMS that has static export built into its guts and people would connect to the server (violates your offline criterion).
MoveableType has static and dynamic publishing modes. [movabletype.org...]
Typo3.org has a static output option: [typo3.com...] Last i tried it, I simply could not wrap my head around Typo3, so it might be a bit of a ramp up, but fans always sing about its capabilities.
[edit: your followup was posted while I was writing this, so I realize better what you mean by offline]
[edited by: ergophobe at 8:09 pm (utc) on Jul 7, 2012]
thanks ergo, those are some good options.
I'm discovering that hosting something on a server won't be avoidable. So, at this point it looks like we'll set up a "dev" installation of something online, behind a firewall & login, where the writers can fuss with the content. The static site will be exported from there, and deployed to the live site after spending some time on a staging server.
So far I'm favouring MoveableType.
It's hard for me to see how you can get away from, as a minimum, a networked drive.
Otherwise it seems like your other alternative would be to teach them all how to use git and they would do all their work under version control and branch, merge, resolve conflicts and commit to the shared repository. I'm sure that's going to happen.
I have been looking at this myself.
Have you looked at Hyde [ringce.com]? Static site generation, should be easy to develop on (if you know Python), nice (Django) template system, it supports Textile and Markdown (not WYSIWIG but easy).
Are they really going to learn to use SVN?
What is the objection to a dynamic system? That you require some approval before the writers put stuff on the live site.
I think your best bet is to write a dynamic system that has some sort of editor approval functionality, so that a "responsible person" can check it before it appears on the live site.
Alternatively, have an in-house dynamic system, and a static mirror on the live site. Easy.
I think the objection ot a dynamic system is that he wanted people to be able to contribute while offline.
And I didn't mean to say that people would use SVN - my point was that there was no possible way they would, and therefore a 100% non-networked setup was going to be very hard to achieve.
the objections to a dynamic system are logistic; the folks that manage the servers want to have a process where they take a tarball from A, copy it to B, untar it and walk away. The same process means that responsible people will be making sure the site goes through QA before being deployed to live, that writers won't be *capable* of breaking the live site, and nor will anyone on the outside be capable of hacking PHP vulnerabilities, throwing SQL injection into the db, or anything like that. The server admins don't even want a database on there.
graeme_p the strategy you describe is precisely what I'm after; in-house dynamic system and a static mirror on the live site. When I get some time to work on this (ie not today) the chore is assessing various CMS's and picking one that fits.
I don't expect the writers to do anything in SVN... that will be someone else's job. We'll let the writers fiddle with the offline site, then occasionally someone will pull all their changes into SVN for posterity and push them into the deployment process (dev->qa->staging->prod)
Ah, so then there's no serious downside to a dynamic dev site. In that case, your options expand dramatically, though that may not be a good thing :-)
Drupal allows for revisions and fine-grained user permissions. Deploy a drupal based site and limit the writer's permissions to drafting and revising articles.
Also your writers are non-technical but you are afraid of sql injections? You can't have everything you know. Dynamic is the way to go. It'll be a nightmare to manage hundreds of static pages.
|I think the objection ot a dynamic system is that he wanted people to be able to contribute while offline. |
WordPress has settings to allow people to email in content for a post, (and with the right Author/Contributor/Editor settings), you'd have a means to give someone editorial control before the article was posted.
...that would allow the user to work on their post offline and then send in as email when it's ready.
EDIT: *** OOPS -- missed the part of wanting flat, static content, published as HTML files. ***
Interesting thread... too bad I didn't see it before, been busy elsewhere. I have an idea that can help.
|the objections to a dynamic system are logistic; the folks that manage the servers want to have a process where they take a tarball from A, copy it to B, untar it and walk away. The same process means that responsible people will be making sure the site goes through QA before being deployed to live, that writers won't be *capable* of breaking the live site, and nor will anyone on the outside be capable of hacking PHP vulnerabilities, throwing SQL injection into the db, or anything like that. The server admins don't even want a database on there. |
Been there. A time where the admin wanted nothing with DB for our dept.
I developed a CMS under Real Basic and it runned on a MAC (woooo system9, before MacosX), it created the whole site as html static pages out of templates, I think I have a backup somewhere. But you want CROSS platform
Under the same circunstantes I created my first web based CMS that used flat files and created flat, simple out of the box HTML files. The benefit is running from the browser on mac, linux, windows, etc... we had too many limitations and little access to security, this method provided great results: pure html. You can even run the CMS from your computer (with LAMP) so nobody will have access to your site, only to the html pages... the site was created after pressing the magic button "create site". There is still a copy running a site of 5K pages with no problems, the downside is you can't allow interaction like forums... that's something else.
Well enough of stories, I have an idea that you can use for your situation. YOU could choose any CMS you want (and know how to use) and install it on your computer, under LAMP, or Xampp, whatever. The whole site will be on a laptop or X computer, nobody will have acces to that unless you want to, you can allow others to edit and manage the site inside your network, no webserver or admin needed.
THEN it comes the magic, you could use some offline browser-downloader that will take the complete site and convert it to html. Then you can zip it and upload the files to the server, it will be a simple matter of unzipping the files and you are done.
- - - - - -
There was a time when one admin knew nothing about wordpress and he was asked to migrate a site from a comercial average server to their solaris customized one... the site was static (it wasn't going to be modified again) so, I suggested the same, an offline browser... it created the offline pages in a click so then we uploaded a zip file, it was very simple, we did it right before lunch.
PS. BTW I had a BETA developing environment like that (sites hosted on a computer) using SLAX, it was a custom install on a CD that I could copy to start from scratch beta testing a new website... old times.
Almost a year old, and I know you have other things on your mind now, but I've recently become aware of a whole set of Ruby-based solutions for this... except for that pesky offline part, since it's unlikely these folks are going to start using git to manage their content anytime soon. And since this topic resurfaces from time to time...
Jekyll - seems to be the most popular and can be used with Octopress which results in some beautiful-looking sites (most Jekyll sites I've seen are very plain).
Jekyll - [github.com...]
Octopress - [github.com...]
About Jekyll - [rubyinside.com...]
Other examples include
and maybe others
[edited by: ergophobe at 6:23 pm (utc) on Jan 17, 2013]
Oh, even better - just found this list: