Hi!
On Sat, 2011-04-16 at 03:12 +0300, Marian Marinov wrote:
we have done some progress on the new web site project. We need your comments for the design of the front page. We have 3 proposals or the design of the frontpage.
Unfortunately, I can't comment on Atrium, but there is something I can say out of the top of my head regarding the CMS.
Unfortunately, the review you have on Atrium is incomplete and somehow lacks consistent discussion of pro's and con's of each possible choice, so I can't see how you can make a non-random decision here, which to my mind is quite important to begin with.
Let me try to contribute to your effort. I guess three possibilities you should be considering:
1) Version control based static generator, i.e. jekyll or hyde 2) All-in-one CMS stack for typical SMB websites (Drupal, CMSMS) 3) Framework-based website (i.e. Django + Django-CMS etc.)
== Static generators
Those are really nice and easy to use. Basically your whole website represents a directory tree in a version control system of your choice (git, of course! ha-ha, ok, you might use any another DVCS if you really want to), where texts are written in some lightweight markup language, such as Markdown plus an extra directory with templates.
On every push, the generator will reconstruct the website on the server and upon successful processing switch the symlink to the new directory.
The pro's of course are that once it's setup it's easy as in "easy":
+ Your texts can be later exported or imported in whatever way + Resource consumption is truly minimal (static pages) + The web server doesn't need maintenance: static pages can't be hacked + All the texts are version-controlled by definition + Collaborating with team and external contributors is a bliss (think GitHub and pull requests) + Every member of the group has a backup of the history of the site (plus you can set up additional git mirrors)
The con's are also quite obvious:
- This only works for mostly non-interactive heavily text-based websites where you don't need server-side scripts; so no feedback forms, shops, searches, dynamic calendars etc., sorry! (you can pre-generate stuff, like "related pages", tag cloud etc., but it's limited)
- You can't add a comment system unless it's something like Disqus, but then mind you that you are outsourcing your comments to third parties (no backup, unless you do it via API, they can die at any moment)
- You can generate RSS feeds from the content that you have on every push, but if you want to aggregate you will need some kind of script to auto-commit stuff to your repo and repush the website; maybe better just to install a separate planet for this (well, you have it already)
So the crucial point to decide upon whether it's a viable strategy for you or not would be to consider how do you actually see the website that you are about to build:
* What kind of information it will contain? * Is this information going to be mostly static or dynamic? * Are you willing to accept contribution from outside world?
== Content management systems for SMB
This is the most common choice nowadays, which comes with pro's and also with con's (which most somehow don't even consider):
+ Generally free and easy to install & use (Drupal, CMSMS) + Administrative interface is mostly familiar to anyone you ask + Able to built any tree-like website structure as the generators + Able to augment the website with dynamic functionality (ratings, comments, calendars, user profiles etc.)
+/- Content versioning can be added via plug-ins +/- Static generation (cacheing) can be added via plug-ins
- Requires a scripting language interpreter and a database - Consequently, needs much more ressources under high load - You will need to keep the CMS up-to-date, and I really *mean* it
So basically, in addition to the first variant it adds extra administrative overhead, proprietary way of storing texts (in the database) and inconvenient versioning system.
On the other hand, you can easily link any additional dynamic functionality by installing ready-made modules or writing your own scripts / snippets (even in the template language).
== Framework-based website
I would say, this option should only be considered is there's a web developer among you that can sacrifice his time to develop (and maintain in the future) a tailor-made Django instance for CentOS.
The pro's of course are that it comes without the bloat, security and performance problems of a swiss-knife type CMS, because it's tailor-made to the project, but the con's are that it requires rather high qualification to develop and maintain if you want it to be done properly (which you do, trust me).
= Conclusion
If I were you, I would have seriously considered static generators and Drupal vs. CMSMS [1]. I haven't seen you even mentioning the last one, but I think you really should have had a look at it. It's one of the few free CMS systems for SMB that I personally would actually consider ok.
(Drupal is bloated to my liking, but you have to admit that it's flexible and gets the job done if you invest into it, Joomla I loathe with a passion for its brain-dead Nuke-alike design and bloat, modx might be ok, but I haven't used it so far).
CMSMS is a rather small (compared to teh monstrous Drupal) content management system, well maintained, often updated, easy to use & administrate and quite flexible.
It has a lot of batteries included, but the most notable feature is the prominent use of Smarty (maybe not *the* most brilliant templating language, but it's quite ok) across the whole CMS, which basically makes it able to morph into what you'd like to see without any extra PHP coding or touching the kernel & subsequent problems on upgrades related to this (which is why many administrators I know always fear to upgrade their Drupal instances).
I can set up a demo if you want, but I am under impression, that to the people on this list such an offer would sound like an insult, considering their qualifications :-)
[1]: http://www.cmsmadesimple.org/
This post is under CC-BY. Feel free to add it to the Atrium and make any use out of. Hope this helps.