The award-winning XOOPS (eXtensible Object-Oriented Portal System) remains the best designed of the open-source, php-based, extensible, modular-based content management system (CMS) web application frameworks found in the open-source community. The foundational structure of XOOPS, its focus on an object-oriented design, its support for a presentation layer separate from the functional layer -- using Smarty Templates (one of the best), its support of write-once and use everywhere philosophies, its lightweight focus, and its active community makes it a simple choice for professionals (even if it's created some specialized forks as most any of these have).
I tried numerous others a few years back before jumping into the XOOPS game -- including the granddaddy of them all, phpNuke, as well as many of the other offshoots including postNuke, Xaraya, evolution, and others like Drupal, Joomla. The latter two have good out-of-the-box experiences and many proponets, but I found working under the hood in XOOPS easier overall as a programmer. And any CMS done to the exacting needs for each engagement requires at least presentation customization and often times custom programming effort; and XOOPS excels at that.
As of late 2009 and 2010, a new 3.0 version is being developed (there is an alpha of the new release Xoops Engine as of early 2011). Details have been somewhat limited in nature, but we'll see.... Efforts continue on the current 2.3+ main branch. In late 2008/2009 after a break within the community related to how the 3.0 effort was structured within the community aspects of XOOPS, a fork broke off known as ImpressCMS. Only time will tell if that break and effort is similar to the Mambo/Joomla split circa 2004. As of early 2011; it hasn't been.
More on XOOPS from Wikipedia
Install / Configure / Upgrade / Deploy
Explore my XOOPS information:
Install and/or Upgrade a XOOPS Site | Deploy, Upgrade Checklist | Module Install/Upgrade | Themes
Editors: FCKeditor (coming soon CKeditor)
Other: Developer Notes (minimal reminders) | Blocks Anywhere | Debugging
- XOOPS: Home | Modules | Support: Wiki | FAQs | Forums | Dev: XOOPS Dev Forge | SourceForge: Core | Modules
- Building and Maintaining a XOOPS Site: 2.0.x Series | 2.3.x
- Module Sites
- xForge (CBB, WordPress, Dokuwiki, xLanguage...)
- Herve Thouzard (News, mydownload, shortcuts)
- Smart Factory (SmartSection, SmartProfiles, SmartFAQ, and others)
- XForge (CBB, WordPress, Dokuwiki, xLanguage...)
- Panther Software Publishing (xProject, xAsset, etc.) - now dead :-(
- User Sites of Interest
What XOOPS Does Well
- Caching - XOOPS excels at this and is lightweight on the server supporting large numbers of users, especially when on shared servers, and also when compared to commonly cited Drupal and Joomla which both use huge amounts of system resources. There is fine granularity of control on a per display block basis as well as for the pages.
- Presentation Layer - XOOPS uses Smarty Templates. Essentially the data is produced in the program, and then the data is handed to Smarty which spays the data in your HTML templates. There is some programming involved there, too, but using HTML and CSS to change the look and feel is much easier than dealing with the PHP code.
- Security and Programming Abstraction - the underlying technology for developing XOOPS modules, its object-oriented design, and such is very well designed and quite secure. If you follow the methodology and cleanse your variables, then you shouldn't have to worry.
- Cron Management - for automated tasks - via XOOPScare and Backups Modules
- Easy Module Development - while there is a learning curve, there is for every CMS, and XOOPS is well structured for the developer to quickly implement new modules securely.
- Custom URLs - The ability to rename modules to make custom URLs that use wording associated with the site (and hides the /modules/ directory). A few modules built this in, but the xoRewriteModule (a very small, easy XOOPS hack for Smarty, actually) seems to work best.
- Preload - an ability to hook into other application frameworks before a component/module is loaded
What XOOPS Needs
- Documentation - It's not XOOPS strength, but it's easy to use, and hard to break, so just try it and don't let this stop you. And the documentation has been getting better.
- Workflow - The ability for users to have/need approvers for content. So a user's posts in any module either requires approval and/or generates notification for/to approvers. So many clients ask for this. We kludge it somehow or go without and trust more.
- Image Thumbnailing - a method to thumbnail images and call them from within content, especially the WYSIWYG editors (such as FCKeditor, my fave). Joomla has a good one.
- Events and Conference/Session Registration/Management Module with payment mechanism through commerce and/or subscriptions (latter should work fine).
- Event History/Audit Log - for administration, able to turn on and off, archive, etc.
- PostLoad Hooks - allows registered hooks into other applications after loading a component/module
- SEO URLs - ability to add keywords to every page (it's arguable whether or not these actually help as much as links to the page, but)