XOOPS is a dynamic OO (Object Oriented) based open source portal script written in PHP. According to its
developers, XOOPS is the "ideal tool for developing small to large dynamic community websites, intra-company portals, corporate portals, weblogs and much more" (see About XOOPS). The developers also tell the following about their goals:
The goal of the XOOPS team is to create a Content Management System (CMS) for users and developers that installs out of the box offering unparalleled ease of use, support and management. The XOOPS
CMS will be extendable by the use of modules installable through a unified admin interface. The ultimate goal of the XOOPS team is to take the best features of current CMS's and roll them into an
Open Source CMS that's easy to use, extendable and unparalleled in the Free/Open Source Community.
Database-driven: XOOPS uses relational databases (currently MySQL) to store data required for running a web-based content management system (compare with Section
Fully Modularized: Modules can be installed/uninstalled/ativated/deactivated with a click using the XOOPS module administration system (compare with Section
Personalization: Registered users can edit their profiles, select site themes, upload custom avatars, and much more (compare with Chapter 6)!
User Management: The ability to search for users by various criteria, send email and private messages to users through a template-based messaging system (compare with Figure 6-4).
Supported World-wide: The XOOPS community has more than dozen official support sites around the world for support of non-English speaking users (compare with Section
Multi-byte Language Support: Fully supports multi-byte languages, including Japanese, Simplified and Traditional Chinese, Korean, etc (compare with Chapter
Versatile Group Permissions System: Powerful and user-friendly permissions system which enables administrators to set permissions by group (compare with Section 8.3.3).
Theme-based skinnable interface: XOOPS is driven by a powerful theme system. Both admins and users can change the look of the entire web site with just a click of a mouse. There are also over 60
themes available for download (compare with Chapter 14)!
The OO (Object Oriented) approach of XOOPS to Web Content Management is innovative, but also controversial. Franzisco Burzi writes in History of PHP-Nuke and Post-Nuke:
About saying that OOP (Object Oriented Programming) is a good stuff and makes stuff more stable, modular, or whatever else you want... False. OOP is good for very big projects, which is not the
case of PHP-Nuke (I mean VERY BIG projects) with a lot of reusable code. BUT... any good PHP programmer knows that the use (or
worse, the intense use) of objects/classes in a PHP script isn't good. PHP is not efficient managing objects/classes. At least
it's less efficient than managing custom user created functions. Any decent PHP 4 book will say this to you: If you can manage to have your software working without
using OOP, there isn't any reason to use objects, because of performance issues.