How To Choose An Open Source CMS
An anonymous reader writes "Content management specialist Seth Gottlieb has written an easy to understand how-to on selecting an open source CMS. Gottlieb is also responsible for the whitepaper 'Content Management Problems and Open Source Solutions' which summarizes 15 open source projects and distinguishes between open source CMS and proprietary software selection."
http://www.opensourcecms.com/
Two of the most popular and flexible open-source Content Management Systems are vi and emacs...
We had to choose between many CMS for our specialized site. There are many CMS out there. Our choice ended with slashcode. slashcode is hard to install and configure, but the thing is, we considered (other may think otherwise) it has a "killing feature" that was worthed the pain in the long run: slashcode's moderation system.
Different CMS shares a lot of features, but some features are unique from one to another and might influence your choice...
Animoog.org
Another good resource for choosing an open source cms is this site. There, you can try most of the CMS offerings that are available.
No matter how many people tell me that "Foo" is the best CMS, the only way that I found to really get a feel for them was to test them out myself. That included setting something up, testing the setup, and testing my abilities at updating the code.
I settled on Drupal only because it was the "hot thing" at the time and I enjoyed the fact that you could put php code into "blocks" and have it run custom code w/o much hassle. At the time I wasn't all that much interested in working on the actual code so the "blocks" allowed me to get some of my bash shell scripts onto the site w/o doing too much hacking.
The problem with CMSes is that updating them is slow. With some of the rich ones out there you're waiting too long to make a simple post or add some content (Tiki Pro, feature rich as it is suffers from this a lot but so do Joomla, Mambo etc). I think that the future (not that it's really pertinent to this question) is something local, a client running on every editor's PC, like NetObject's nPower (if it's any good, haven't used it).
We have been using Etomite for a while now and are very happy with it.
Good points so far:
- Simple to setup
- Easy to develop templates for, our template (http://www.intellipool.se/ took a work day to put together.
- The back end is easy to use and provides nice editing features directly in the browser.
Drawback:
- If you are looking for something that can do "everything" and be extended left and right, Etomite is not for you.
www.etomite.org
http://www.intellipool.se/ - Intellipool Network Monitor
Seth Gotlieb made a good point about companies wanting tech support. Many Companies want a formal tech support solution where they can call someone on the phone to ask questions. I think many of the smaller open source projects are over looked because of the lack of phone support; however, some of the larger projects such as Open Office do provide tech support and are used by more companies because of it.
The easiest way to quickly filter CMS's is by looking at the navigation structure. Do you want a "tree" structure (like most corporate websites) or do you want a "module" (like slashdot, nuke and other community sites).
There are other choices that can quickly filter CMS's, but many of the choices have alternatives or can be hacked around. Only rarely will you find a CMS that can handle both navigation structures.
Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
just trash all those complicated CMSes.
Just use Dokuwiki ! http://wiki.splitbrain.org/wiki:dokuwiki
Heck we even use it for our corporate site !
I've set up several such systems for various groups people, and the one thing I've found to work best is to avoid those which use PHP. While PHP may be good for some uses, I don't think it offers the security, stability and reliability inherent for sites that must maintain a high degree of uptime.
It's quite a hassle, and very embarassing, to set up a system for somebody, only to have a security warning come out a week later. Their system needs upgrading only a week after being initially set up, and that reflects badly on whoever set it up.
As such, I've tended to go with Java-, Python-, Perl- or Ruby-based solutions, just because I feel I can trust those platforms more than I can trust PHP.
Cyric Zndovzny at your service.
I think the OpenSource CMS market is getting too flooded... Do we really need another PHP/MySQL CMS? I know some people who are developing a commercial CMS product. I think they are crazy, since there are PLENTY of free CMS packages out there. If there is not need for a full blown enterprise CMS, why would you pay for a proprietary "non-free" application? How about a list of Open Source Enterprise Content Management systems? That would defintely be a shorter list.
Of course mine, I tought eveyone write one for himself...
No, I'm not kidding.
[My english is better than most other people's Turkish, so please point out mistakes politely. Thank you.]
I know I digress a bit, but sometimes an open-source solution is not the choice for everyone. A lot of clients I talk to have no technical knowledge, and want a CMS to be able to update the website easily. They have no idea how to install it or to maintain it. Some of them prefer "buying" a product, than buying lots of services.
:) But it has a license you can pay in cash or code
Then again, it really depends on the demographic. If it's a student putting up a website and he has all the time in the world, I guess an open source CMS is the preferred solution.
Of course, I'm biased, I work for this CMS vendor
This is a very good solution for some circumstances. With software like NetObjects or Contribute you can do a lot. But there are still some places where a CMS is still more useful than those. Say, sites that are not static but community based. In those cases a CMS is still a very good solution.
Evolution or ID?
Checkout http://www.opensourcecms.com/. Very usefull, you can try many of them, without installing.
There are a lot of good CMS platforms out there, but I am going with Drupal - it is the one that the FOUNDER of the web uses (Tim Berners-Lee). It is MUCH more than a 'blogging' software - it has many great pluggins, and Google appears to think it is #1 - they donated $49,500 to drupal - which is more than any other CMS got.
I found the http://www.opensourcecms.com/ site to be invaluable when choosing a replacement CMS for my site. Its demos and resource links were very, very helpful. In a relatively short time, I was able to browse and try a number of CMS options. once I came up with a "short list", it was just a matter of following the links to the various CMS sites, downloading the installation packages, and testing them out. (That is what took the time!.
http://www.opensourcecms.com/ works as a nice Sandbox environment that auto-refreshes every hour or so (ie: each CMS is automatically reset to a clean install, so though you lose anything you try out, you can't mess things up.)
It's a great way to get an initial feel for various CMS's in one tight place.
-Jim
http://gmailtips.com/
My mom always said, "Jim, you're 1 in a million." Given the current population, there are 7000 of me. God help us all!
That being said, I like a comercial solution: ClearCase, (paired with ClearQuest) as it allows me to enforce a certain percentage of behavior through the tool. And when you have people who feel it's their duty to violate process because it "won't work" (they didn't write it) it's nice to have the tool lock them down.
Genius is one percent inspiration and 99 percent perspiration, which is why engineers sometimes smell really bad.
There's been an ongoing discussion about this same topic over at Macintouch.
Personally I'm a fan of the Zope / CMF series of content management systems; the built-in CMF is quite powerful and flexible (and actually fairly efficient -- don't be fooled by the slowness of some CMSs built on top).
There are many such systems. There are some in private use (like Boston.com and Saugus.net. There are also some commercial options (like Icoya). Most though are free and open source, like Plone, Infrae Silva, and Nuxeo CPS. Each has its own focus and tends to do certain things better than the others. Each has its own special plug-ins and extensions, but since they all utilize the same underlying base framework, it's usually a doable thing (although typically not trivial) to port a product from one to another.
The capabilities of Zope's built-in CMF are also good enough that it's not at all unreasonable to fashion one's own CMS on top of it if none of the existing products seem to suit one's own particular needs.
There are quite a few Java based open-source CMS like Magnolia (http://www.magnolia.info/en/magnolia.html), Apache Lenya (http://lenya.apache.org/ etc. An exhaustive list of Java based open-source CMS can be find here:e nt-systems
http://java-source.net/open-source/content-managm
There are a lot of good CMS platforms out there, but I am going with Drupal - it is the one that the FOUNDER of the web uses (Tim Berners-Lee). It is MUCH more than a 'blogging' software - it has many great pluggins, and Google appears to think it is #1 - they donated $49,500 to drupal - which is more than any other CMS got.
If you want a good open source CMS on the microsoft platform (boo hiss from the /. crowd right?) check out http://www.dotnetnuke.com/
Unfortunately OpenSourceCMS.com only showcases the lightweight CMSs, usually categorized under the low-end collaborative portals label.
Paul Everitt from Zope has a very good blog post about Open Source CMS positioning
Midgard Project - Open Source CMS
phpnuke
:-]
I've been using CMS Made Simple for a while. It works very well and is very easy to use. My "not at all computer savy" clients love it and it's worked well for me too. Simple installation, simple page creation, simple menus, simple templating... yea, it's just simple. :)
I went through this process at the beginning of last year. Downloaded, set-up, and tested multiple CMS products. I ended up going with PHPwcms given its simplicity and user friendly design, its amongthe best solutions out there for standard content sites. CMSMadeSimple was another similar and good solution.
That said what CMS you choose - open source or otherwise - is entirely predicated on the project. Got a community site? Take a look at Drupal or Mambo, maybe something smaller if it works. Need a small content site? Check out PHPwcms, CMS Made Simple, or LucidCMS. Someone else mentioned Etomite, but Etomite is quirky, visually unsophisticated (the admin tool looks a little garbagy), and lacks some of the flexibility provided by other tools.
PHPwcms' management of content as small objects that can be easily called or reused in secondary locations (allowing you to have a repository of "global" content was a huge argument in favor of it for my project. Its only major weakness is the lack of robust entitlement capabilities... its been on the books for a year, but no one has developed it further... you can only set-up an all Admins or vry weak content administrators (who can't edit content).
-rt
I am going to put my plug in for Geeklog. http://geeklog.net/
I use is for the base of many commercial web sites, utilizing the WYSISYG (FCKeditor) page editor and the news manager. It provides an excellent frame work for developing sites on top of, especially if you need a basic website with some extras thrown in.
It also runs sites such as http://www.groklaw.net/ and http://worldmusiccentral.org/
By changing the templates or config to eliminate links to the parts you do not need, (example, links pages, polls, etc), you can use the user login, edit, and admin parts to allow your web clients to edit their own pages, saving you the trouble and saving them money in the long run. The templates are completely separate from the code, allowing you to design graphics for the site separate from the code.
Updates are pretty easy if you keep your custom code out of the main install, a process that is pretty easy if you put your code in lib-custom.php. The code is well written and clear enough for a person with basic php knowledge to hack if they like
The software is all php/mysql and run efficiently on most linux shared hosts. There are also a wide variety of plugins.
The forum and developers are responsive to support requests.
just my two cents from a fan of geeklog,
it is also available for demo at http://opensourcecms.com/
Maybe we should have a rant about CMS, much as we did when web frameworks were being discussed?
Do most people even need a CMS, and how's a CMS better than a good make and some CSS?
I'm about 3/4 through evaluating cms products for my small company. I've read about all the major opensource ones, and even went into the commercial realm. I personally installed/evaled 7 or 8 (I didn't always take notes, some were already losers )
Here are some things that greatly helped me:
There is NO awesome templating system. If you have web designers and you have programmers, don't expect something to drop into place with little hassle. We have been deploying html + mod_perl applications using a simple in-house templating system. This is actually elegantly simple compared to some of the systems I looked at. It's all very relative to the staff you have. Personally a JSP taglib solution works best for us (so far)
There is no one "best" system. People claiming X or Y is clearly superior are either not deploying CMS for a group of users, lack experience as a developer/designer/user, or are just crazy. I know of a Major Company(tm) who management told to the developers use X system for some inscrutable reason after reviewing a lead dev's evaluation list. While on paper X is great, there are a few very annoying problems for the template designers, and they don't have the mandate to go modify the code, which is open.
Part of the evaluation MUST include every level of person using the product. Developers,designers,managment (reports n such), and end users (archetypal secretaries). I tried to let people know what was happening a few times a week with my evaluations, keeping a blog would be great maybe. Other people accepting your choice is super-duper-key. I got some great feedback from docs on a few occasions that helped me steer my choice.
Get a clear set of requirements and wish list items established early on. CMS systems can be minimal or very very comprehensive, it's easy to get lost in nth's implementation of webDAV or whatever.
Blog systems may have elements of CMS in them, but are not (usually) full blown CMS systems. CMSmatrix.org and other great places for data lump all the products together. In my opinion there are about a dozen open source products that are clearly way beyond the blog.
Last piece of advice which you won't hear very often: if you think you may not need a CMS solution you probably don't! If you have a single site, with some updating you need to do frequently or maybe you want to have a team of designers working on it, check out subversion first and maybe that alone will give you enough of what you want. If you just need templating check out apache's tapestry or cocoon projects.
The only perfect CMS: Content gets put into XML with editor of your choice, you pull content into your app either at runtime, or make some custom automated publishing script. Any packaged CMS will be way to bloated, and will be a nightmare to integrate into your architecture. Most likely - you will finding yourself bending your app around the CMS.
I have selected Drupal, myself. I have looked at almost every other CMS out there, and after installing packages, switching languages, and other types of systems-mutilation that some packages require, I've found that Drupal makes my life as a web publisher much easier.
Druapl is also very configurable, even without having to write any code at all. It is all done with PHP, Apache, MySQL, which most GNU/Linux distributions seem to have already on the distribution media. Install your favorite distro, and Drupal fits in quite nicely.
Zhrodague.net - I do projects and stuff too.
DotNetNuke Growing very quickly, high quality, well managed and well documented.
WordPress+LightPress:
...
- easy to install
- easy to administer
- clean
- faster then Drupal, Serendipity, TextPattern,
- php+mysql based
http://wordpress.org/
http://lightpress.org/
A CMS by definition is a content management system. As a result, it is crucially important to determine the content you want the system to manage and how you want the system to manage the content.
A few starter questions:
1. What content do I have or expect to have? (web pages? documents? discussion forums? image galleries?)
2. Where does this content come from? (departments? users? myself? Internet sources? databases? third-party apps?)
3. How should the system manage this content? (workflows? editors? fine-grained access control?)
4. How should this content be displayed? (xhtml/css? pdf? print/paper? cell phones? xml? rss?)
5. How much separation of content and design do you require?
6. How extensible should the CMS be? (in-house development? modular? out-sourced development? completely opensource?)
7. What are the administrative requirements? (*nix? mysql/postgresql? apache? php? python?)
8. What is the anticipated load and can the CMS manage that? (quite different from a 5,000 hits/day site vs 20,000,000 hits/day)
9. What is the estimated lifetime of the website? What changes to the site are forseeable and should be considered?
Assuming your doing something more than a personal blog site, most likely pre-existing workflow processes and organizational resources already exist and those should be analyzed when making a CMS choice.
Don't get overly focused on initial setup times. The cost of administration, development and resources will far outweigh the initial setup costs on all but the smallest of sites.
With meticulous care, a wiki works as a CMS specifically because you can edit pages and create groups quickly.
In some wiki programs, you can turn off the special links for CamelCase words. You can make the links have no special formatting. You can have them pull up a 404 error page instead. Or whatever your little programmer heart desires. I create wikis, remove the edit links, password the edit forms, and since I'm the sole caretaker I make sure there are no dead-end links. To anyone else it looks like a website. Period. Me? I get to make new pages quickly, not bother with start/end tags (yes, I know proper HTML/css -- but I'm also a writer, not just a designer or php programmer! Let me get on with writing!). Best part: with a real HTML/css template, they don't look like yet another cookie-cutter PHP-Nuke site.
---- I'm out of your mind!
Part of the evaluation MUST include every level of person using the product. Developers,designers,managment (reports n such), and end users (archetypal secretaries).
...
... (chances are this is all wrong);
This is so true. End user input is critical, they will make or break the project.
My dad (rest his soul) was lead programmer (maybe the only programmer, I dunno) for the Star Tribune newspaper, back in the seventies. I was a teenager at the time, he taught me about For-Next loops and so on. Along with the coding, he emphasized:
The smart programmer
(a) Listens and nods his head while Management says "We want this, We want that"
(b) Sits down with end users (secretaries, etc.) for a while, every day, staying out of their way but watching them work, and asking the occasional question;
(c) Figures out what the end users really want, need, will accept;
(d) Codes for the end user, then spins the thing so Management thinks they're getting what they (foolishly) asked for.
Dad called this "going native among the users" (he took his degree in anthropology).
-kgj
-kgj
Most Open Source CMSs aren't much more than blogs or forums on steroids. Very few deal with real content management problems. I still haven't found one that I'm crazy about. I'm trying to work with Apache Lenya right now but it takes a lot of work. Zope/Plone is similar. The power is there for both of them but the initial learning curve is steep.
Oh, and my biggest pet peeve for any CMS site (or any site) is unreadable URLs. It's OK for some applications but for a site where people will be returning to the same page frequently, it should have a sane URL.
I was hoping from the summary for a bit more depth to the article, maybe a few pages in length. Good start at least. There are many differences to consider when comparing open source vs commercial CMS (ex: open source CMS developers tend to be quicker about embracing standards), in addition to the general open source vs commercial software differences.
There's also a lot of difference between types of CMS, from blog-level packages to easy site builders and Mambo/Joomla-esque packages which are missing any real enterprise-ready features such as versioning, workflow, and fine-grained access control (more advanced than Unix permissions please!), to mid-level packages which vary greatly within themselves as to their focus (marketing/SEO, publishing, or traditional content/document management), to high-end enterprise packages. There's also a big difference between a CMS that includes a content server/content publisher and one that doesn't. An easy comparison of these in the open source world would be Midgard vs any of the Midgard-based CMS packages. The no-content-server packages are more flexible, but require a lot more implementation effort as well.
Really, it comes down to defining your goals. And often people find that some commercial CMS still solves them better than the open source ones, while many find the opposite to be true. Different goals. (note: I'm the lead developer for the open source Sitellite CMS that also has a commercial counterpart -- dual-licensed).
A few articles I found interesting related to CMS selection:
Tire Kicking and CMS Shopping
Will your chosen CMS vendor go bust?
putfwd.com - 1GB Free file storage with a twist
Is it just me, or is ZDnet.au getting a lot of press here today? What's up with that?
It's interesting that the Australian publication has so much Open Source coverage.
obviously no deficiencies vs. no obvious deficiencies
I think the opposite. I think we need more open source CMS systems.
My first criterion for an open source CMS was that it not be based on PHP, because PHP is a bloated security-hole-ridden crappy language.
My second criterion was that it support something other than MySQL--both for licensing reasons, and because MySQL doesn't meet the basic standards of database integrity you'd expect from a relational database.
Once I'd imposed those two criteria, there were only a few options, and I didn't like any of them very much.
GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
Do any of the OpenSource CMS's scale well? For the longest time, I was going to release the one I wrote simply so I could give it the name OpenSTFU. What I discovered is that a lot of programming compromises have to be made to create a CMS that's flexible enough to fit the needs of many people. I eventually gave up trying to make something for mass-consumption, and kept my CMS private. There would easily be three times the amount of code involved to make it a reasonable choice for other people to use. In my experience, flexibility was synonymous with slow, since extra CPU cycles were needed on every page. The CMS suffered from trying to be a Swiss Army knife.
I'm sure some of that can be fixed with better programming and design, but is that happening with the free, modern CMS?
> Please no. Wiki != CMS. I really hate the current trend of open source projects putting all their documentation in a wiki.
Why not? Wiki is the only tool that really allows multiple shared views on your (collaborative) information. Everyone can change and add his own view (page with tree of links for example).
Today, I put all my information at work in wiki pages, with the exception of passwords. The Wiki tool I use (and developed myself) has a flexible access rights system plus treats an attachment as a wiki-document as well. Unfortunately most open source wiki-tools are aimed at public websites and not corporate use where access rights are important, even in a closed intranet.
Another nice thing about Wiki tools is that it merges nicely with other tools (mail, etc.), as long as they have an HTTP interface (even Lotus Notes has that).
I'm increasingly of the opinion that for all but the simplest of sites, there just aren't any good "off the shelf" content management systems, unless you have no problem with your site looking like the default installation of whichever CMS you chose.
Here's the logic:
1. A very basic site (read: a blog) with a very basic CMS is generally not hard to set up.
2. The technical issue: as sites get more complicated, the level of sophistication required by the user to install and maintain them increases. (In the extreme case, I submit Xaraya, a CMS so complicated that trying to create a site as simple as "I just want a page with our contact information on it!" becomes an exercise capable of inducing intra-cranial hemmorage). Additionally, any templating system required grows more and more arcane, until it is essentially indistingushable from the actual programming language in which it's written.For example: the easiest way of getting a Drupal site laid out and usable quickly is to use the PHPTemplate plugin - in other words, to just write PHP code. David Heinemeier Hansson, no stranger to controversy, went a step further than this and labeled general-purpose CMSes "pipe dreams," and said "I believe the time has come to mark a date in the not too distant future for celebrating the death of the general-purpose content management system." (Not like he doesn't have his own thing to push, but that's as may be. See also Jeff Veen's frustration with open source CMSes
3. The social issue: as the content management system grows more and more complicated, they become more and more intractable for the average end user. Responsibility for day to day site updates is pushed to the IT department, which is absolutely not where it belongs. (Once again, I give you the one, the only, Jeffrey Veen.)
Choosing a CMS is not too bad once you understand the architecture (web content vs. documents vs. media), environement (Windows, Linux, OS X, BSD) and end-user (IT, secretary, none). Since we mostly handle web content the question becomes where is it being hosted and is there a corporate policy (Java yes, PHP no, Postgres and MySQL). We generally split development for higher end sites with more traffic and technical staff to our home grown Arc DojoCMS but for a lot of sites Mambo/Joomla really does the trick. Easy to use and great for not too tech savvy end users.
What bugs me is that any sufficiently powerful/featureful CMS system that I have tried requires the content to be stuffed into a database somewhere. I am fine with having certain types of content like blog entries and such in a database, but there are lots of times where I just want to incorporate pre-existing static content or stuff that just doesn't play well in a database - like a cgi app for example. Templating, news/blog features, html editors, etc. are all nice to have, but without the ability to manage pre-existing content I have to rewrite all of my resources to fit into their box. That sucks.
An engine that could manage dynamic content and incorporate static content (parsing it, embedding it, styling it, whatever) would be perfect. But I haven't found such a package. Anybody who has waded through the hundreds of free CMSs and found this featureset, do tell.
Well, the CMS I've been missing here so far is Typo3. I think its safe to say its aimed at enterprise level due to its extreme versatility. There is hardly nothing you can't do. If you wish to code your website then its possible; Typo3 uses typoscript which allows you to do just about anything. Loops, if/then, variables, you name it. But ofcourse you can also html based templates to set something up, nothing stopping you there. And the best part, in my opinion ofcourse, it can appeal to everyone. An enduser/customer will happily use the build-in enhanced editor to add a piece of text to his page, while a more technical aimed person is bound to like the option to add whole HTML/XML snipplets into the page.
All in all, I think this is the best around as it adresses many problems and offers many solutions. And well, its modular build and expansion options are great too. You can find documentation as well as the download options here.
Do you really need one? Wiki- and/or blog-focused software is probably all you need, e.g, Mediawiki and Wordpress.
If you're a special person that believes pain is necessary by all means use a full-fledged CMS for your site.
To this day I'm yet to find a CMS (or even a blog system) with good multilingual support. By "good multilingual support" I mean:
* UTF-8 everywhere.
* Templates/autogenerated strings are i18nable.
* Able to i18n all user-created content. System understands the relationship between alternative versions of posts, etc.
* Able to choose default language through HTTP content negotiation (get the browser's default).
* Able to override browser default with cookies.
* System use nice, strict XHTML and mark all multilingual content with the proper xml:lang attribute.
Am I the only one who cares about that?
Prescriptive grammar:linguistics
Has anyone tell me witch can be the best CMS to download and install from packages? I'm using kubuntu right now, and I have installed Typo3. It's working for me, but I wonder if there is something better... Sergio http://www.salvaneschi.com.ar/
I'm going through this choice at work at the moment, management wants to replace the in-house mess with an off-the-shelf portal+CMS+forum.
.exe that runs on the 2003 domain server to talk some proprietary crap to Exchange!
I've written a basic CMS in a previous job, and am patching this one, the hardest part is constantly modifying it to dumb it down further and further for the users whilst still making it useful.
I really don't want to have to re-invent the wheel again, so have been looking at various offerings, both commercial and FOSS.
I'd personally prefer a Perl/Python/Linux/Solaris solution, but there are AD/NTLM requirements, Exchange integration, database portability - currently MySQL will do, but we're going to need to move to Oracle eventually in keeping with company policy; and it's looking like the commercial ASP/Windows solutions are the only choice.
The main problem I'm having at the moment is what do you do if you want to add functionality? The commercial vendors all say 'just develop your own website in a frame of the portal', which is all very well and good unless you need to be able to integrate the search and permissions systems and don't want to have 2-3 servers.
Not many vendors have an API or even Web Services kind of system, it's all some
With the FOSS model, at least you get the source and have a nice language - they're generally Python/PHP/MySQL, not JavaBeans/ASP/Access rubbish.
What I need is:
Platform: Solaris+Apache
Language: Perl/Python/PHP
Database: MySQL+Oracle
Authentication: NTLM/ActiveDirectory single-signon
Extensibility: hack the source/a nice API or wrapper system/web services
Integration: RSS syndication, Exchange calendar+addressbook
Zope/Plone, PostNuke, BEA, Drupal etc. do not even come close.
#include <sig.h>
Excellent Open Source CMS system
http://phpwebsite.appstate.edu/
Gosh, I hate to knock a group that donates thousands of hours to a cause, but I have to say that I've done installations of 7 or 8 of the major open source contenders, and Drupal is by far the ugliest of them all. I mean, the themes range from the ever interesting little-box-column-left/big-box-column-right all the way to the very exciting big-box-column-left/little-box-column-right.
And, the default install is about as bare bones as it gets. You have to install, configure, and tweak a bunch of additional modules just to get basic functionality that's on par with most other CMS default installs. That's fine if you *enjoy* tweaking just for the sake of tweaking, but I'd rather go right into tweaking my content, rather than spending hours and hours just tweaking the install.
While PHP is a truly awful language that strives against every programming principle and the very act of writingin maintainable code, the problem is not the language.
The problem is the sort of people that PHP as a language was designed for. It was designed for non-programmers and kids to easily hack together vaguely working web applications for pocket money or sweets. It excels at this, cast your eye around the uncountable fray of PHP programming forums and the people using them. (Witness also that people outside this set avoid PHP with great vigour).
However, people who like PHP are most definitely not the people you want to have writing a CMS that holds actual data. MySource is a great example of this. Because the people who designed MySource are basically idiots, a site with 5000-odd pages comes up against issues where on each page render every child page (And its children) has to be individually checked for access rights so the side menu can be generated. As a result, for the above-mentioned 5000-page site, on a fast 2-processor server with gobs of memory, serving a single page takes about 3 seconds.
3 whole seconds.
PHP programmers are the sort of people who write these ridiculous piece of code, and leave the issue scattered through the whole source tree without any hint of abstraction so that fixing it becomes a major rewrite. PHP programmers are the sort of people who release a 'commercial grade' CMS without having ever tested it with 5000 pages.
PHP programmers are great for small websites paid in sweets, but don't use anything they've touched for a CMS.
Nihil Illegitemi Carborvndvm
Better than phpNuke and recent Dragonfly release brings this suite to a new level. http://en.wikipedia.org/wiki/Dragonfly_CMS Uzbek.
small websites? facebook.com is one of the 10 most visited websites in the US. they use ONLY php.
your use of "sweets" and "pocket" cash was a nice attempt to belittle people.
i find those who belittle languages jealous or insecure.
Ehm, almost!
PHP does NOT strive against neither programming principles, nor writing maintainable code.
What it does, is rather... It does NOT enforce the writing of maintainable code. It does NOT enforce any coding practices. This makes it all to easy for any lazy programmer to write nightmare like code. And inherriting code with no white space or comments, and as few as possible line breaks is not fun.
But yes, that freedom is something that does atract a lot of
Drupal really is what you make of it. True, installation isn't for the non-geek. Nor is adding modules (at the moment... though that will change). But the PHP theming engine lets you do pretty much anything you want to, which is great. That's why I chose it for PortableApps.com. (Granted, my theme isn't a huge departure, but I like it.) Well, that and the fact that friendly URLs are built right in and work really well without modifying the core code at all.
Portable versions of Firefox, GIMP, LibreOffice, etc
Another article on this topic:
Linux Journal: Seven Criteria for Evaluating Open-Source Content Management Systems
Your suggestion that "security is a function of the developer, not the language" is incorrect. It depends on both.
Many languages offer security benefits over others. C is often vulnerable to buffer overflows, while the runtimes of other languages explicitly check for such issues.
Now let's focus on PHP. When you consider where it is mostly used, the often hostile World Wide web, one would expect security to be very high on its list of concerns. But alas, that is often not the case. Go check out the many security bulletins issues by various parties. PHP more often than not does suffer from serious security-related issues. When it comes to constructing serious web sites, that is just plain unacceptable.
Cyric Zndovzny at your service.
When setting up my geocaching website I evaluated about 10 CMS systems, including Drupal, phpWebSite, Geeklog, Joomla, Mambo, PHP-Nuke, phpWCMS, phpWebSite, Post-Nuke, Siteframe, TYPO3 & Xoops.
In the end I found that Geeklog was the one with the most intuitive (to me) templating system and was the easiest to add your own code to. I found that most CMS systems are great out-of-the box solutions for doing what THEY want you to do, but adding custom modules and functionality is a nightmare!!
I wasn't expecting geeklog to be as good as it was!
Sheesh, I sound like a fanboi...sorry!!
Burma?
You might want to look at Blosxom, which tends to operate this way.
Did you code for said website? Probably not, or you wouldn't be AC.
PHP is a fine language if you're a strict programmer. People, by and large, aren't strict programmers: And thus you get things like older versions of Mysource Classic. Even completing second year computer science should expose you to enough good practices to identify badly-written, poorly-scaling code with poor abstraction.
Unfortunately there's not a lot of good programmers out there and they're working on rather large PHP projects - which leaves us unfortunate sods having to maintain their stuff when it doesn't quite scale the way it was intended.
I think anyone who has taken this approach is always surprised at how different the workflow and UI requirements are from what he imagined they would be by simply knowing the input and the output.
... done well, it's also a ... dialog between souls ... more like an anthropological survey, with overtones of role-playing games, storytelling, and dramaturgy.
Agreed, this has been my own experience as a developer.
In my original post I poked fun at Management, but really the same applies to me -- at the outset of a project, my own preconceptions, illusions etc. get in the way.
It takes time (very preferably face time) with users (and management) to really figure out the score. Software is linguistic, but it's not all symbolic
As with most things, I suppose -- done with love in one's heart, it turns out better.
-kgj
-kgj
Keeping everything simple for the end user should be every developers' top priority.
So true! Top top top! "Keep it simple, smarty!"
Making things simple is shockingly difficult, surprisingly often, in my experience. Software is necessarily complex in terms of code: our challenge, our Holy Grail, is to intepret Complexity as Simplicity Itself. And damn! it's hard to do!
On a related note, see my comments on software and empathy.
-kgj
-kgj
Thanks! That's seriously the most intelligent comment I've read lately.
... he was reserved, emotionally, and we got along well but we were kept apart by mutual shyness, you know ... so when we made contact over For-Next loops, and his observations about the programmer's life, it struck deep ... I've thought about it a lot of the years, mentioned this "going native among the users" business many times, and in contexts other than software development.
Glad I could contribute. My dad's observations about going native among the users made a big impression on me
On a related note, see my comments on software and empathy.
-kgj
-kgj
(b) Sits down with end users (secretaries, etc.) for a while, every day, staying out of their way but watching them work, and asking the occasional question; I think this is the single most important thing a software designer can do, and almost nobody does it.
Yup, that's the heart of the matter.
Speaking of heart, see also my comments on software and empathy.
-kgj
-kgj
I think the OpenSource CMS market is getting too flooded... Do we really need another PHP/MySQL CMS? I know some people who are developing a commercial CMS product. I think they are crazy, since there are PLENTY of free CMS packages out there.
I've seen it said:
"I think the OpenSource OS market is getting too flooded... Do we really need another BSD/Linux OS? I know some people who are developing a commercial Linux product. I think they are crazy, since there are PLENTY of free Linux distros out there."
So, perhaps, "we" really do need another CMS. And, possibly, some people could be successful releasing a commericial CMS.
As a disclaimer, I'd like to say that CMSMatrix is completely ignorant of many features of my favorite CMS, and fails to highlight its' major advantages. I suspect this is true of many of the packages I am not familiar with as well, as many developers would say that Feature X is not needed because Feature Y is flexible enough to cover all of its' use cases. That said, I couldn't agree more with your point, and I think this has a lot to do with the relationship between established and emerging Free Software developers. A lot of CMS start specifically to host a blog or handle discussions for some school club or side-project at work. Some of the more advanced systems have a barrier to entry or an established way of doing things which new users are put off by. I think Plone is a great example of this. Part of me decided a few years ago when I ended up at the first international plone conference that I would buy into the promises of the Zope3 component model's elegant MVC implementation, and how Plone and Archetypes could help me to live in a similar world to that which would exist with pure z3 in the meantime. It's been a long and bumpy ride, and I haven't made a lot of money, but I have seen that I was right. When I was a member of a 12-man development team, our resources could easily have produced some very nice results with Plone and Archetypes. Unfortunately, the group went for some M-V-C php framework which wasn't even using PHP for templating, simply because more people apparently know the php language itself. I wish I wasn't so broke, but I'm glad that I am not feeding myself by working on that system and continuing in that corporate culture. I only wish I'd been smart enough to come up with a prototype product management system when I had the chance.
You may want jboss based http://alfresco.org/
Slashdot = Sarcasm
A very good CMS primarily designed for online newspapers, which evolved to a pretty useful general CMS, and deserves more visibility : SPIP.
Primary site is French, I actually don't know whether the English site link above provides as much information as the fr one.