
Xaraya: Detailed Technical Description
π Release Date
Xaraya was founded in 2002 by a team from the PostNuke community, including Brian Hitney and Marcel van der Boom. It was born out of a full, independent rewrite of the never-published PostNuke 0.8 branch. The official version 1.0 was released in 2005, followed by the 1.x series maintained until 2010, and then the 2.x branch (including version 2.4.0), which represents the current line of development available on GitHub.
π License
Xaraya is an open source software distributed under the GNU General Public License (GPL v2). It is entirely free, open to all, and deployable on any PHP-compatible server with no licensing fees.
π» Programming Language
Xaraya is entirely written in PHP (compatible with PHP 4.1.2 in its legacy versions, PHP 7.x+ in recent releases). Its architecture is strongly object-oriented. The data access layer uses ADODB (PHP-ADODB) for database abstraction. Templates are powered by BlockLayout, a proprietary engine based on XML and XSLT. The front-end uses HTML, CSS, and jQuery.
ποΈ Architecture
- β’ Modular MVC architecture: strict separation between presentation (templates), functionality (PHP modules), content (database), and design (CSS stylesheets).
- β’ Module system: each feature is encapsulated in an independent module that can be installed and uninstalled on the fly from the administration interface.
- β’ Block system: display units freely positionable in page zones (sidebars, header, footer, main area).
- β’ BlockLayout template engine: a proprietary XML-based template system that produces HTML, CSS, XML, or RSS output, with total separation between logic and presentation.
- β’ Dynamic Data (DD) system: allows creating custom data objects and extending module-defined objects without modifying their source code.
- β’ Hooks system: an extension mechanism allowing one module to attach its functionality to another module without tight coupling.
π Database
Thanks to the PHP-ADODB abstraction layer, Xaraya supports multiple database management systems:
- β’ MySQL β the most commonly used and recommended engine for production.
- β’ PostgreSQL β natively supported as a robust alternative.
- β’ SQLite β supported for lightweight or development environments.
- β’ Microsoft SQL Server and Oracle β supported via ADODB for enterprise environments.
This database engine independence is one of Xaraya's distinctive strengths compared to its contemporaries.
βοΈ Key Features
β Full modular architecture: Strict separation between content, presentation, and functionality β each component is an independent module that can be installed and deactivated independently.
β Powerful privileges system: Highly granular access control allowing access to any content or feature to be granted or denied with very precise parameters, for each user or group.
β BlockLayout template engine: Proprietary XML-based template system enabling designers to customise the appearance without requiring advanced PHP knowledge.
β Dynamic Data model (DD): Creation of custom content objects and extension of existing modules with tailored properties, without any additional development.
β Complete multilingual system (MLS): Full translation of the interface and content, with localisation of dates, times, and regional data.
β Robust and extensible API: A comprehensive programming interface providing access to and manipulation of all server data, modules, and Xaraya subsystems.
π₯ Advanced Features
π Hooks system: An event-driven mechanism allowing any module to extend the behaviour of another β for example, adding comments, ratings, or statistics to any type of content.
π Dynamic Data (DD): A data modelling tool enabling administrators to create custom business objects, define their properties, and export them between Xaraya sites.
π Modular authentication: Support for alternative authentication methods via dedicated modules (LDAP, PAM, etc.), enabling integration with enterprise directories.
π Short URL support: Automatic generation of friendly, SEO-optimised URLs for the majority of modules, with no complex configuration required.
π¦ Block system: Free positioning of dynamic content (menus, RSS feeds, polls, widgets) in any zone of the page layout.
π‘ Multiple use cases: The platform is suited to blog portals, online communities, e-commerce sites, brochure websites, corporate intranets, and custom web applications.
π Security
πΉ Strict validation of all inputs: Xaraya sanitises and validates all user-submitted data by default, reducing the risk of SQL injection and XSS attacks.
πΉ Granular privileges system: Fine-grained access control allowing each resource or feature to be individually granted or denied for each user or group.
πΉ Multi-level authentication: Management of administrator, contributor, and visitor roles, with an LDAP login module for enterprise authentication.
πΉ Secure session management: Protection of user sessions with mechanisms to prevent session hijacking attacks.
πΉ Built-in security module: A dedicated tool for monitoring connections, managing unauthorised access attempts, and administering user rights.
πΉ Web standards compliance: Adherence to XHTML, CSS, and W3C recommendations for a clean, secure codebase.
β Pros and Cons
β Advantages
βοΈ Exemplary modular architecture: Perfect separation between content, presentation, and functionality β a particularly clean and elegant design model.
βοΈ Very powerful privileges system: One of the most granular and flexible access control systems among PHP open source CMS platforms of its era.
βοΈ Database independence: MySQL, PostgreSQL, and SQLite compatibility via PHP-ADODB β a rare feature among PHP CMS platforms of 2002.
βοΈ Completely free and open source: GPL licence, source code available on GitHub, with no licensing fees whatsoever.
βοΈ Maximum extensibility: The Hooks and Dynamic Data systems allow the platform to be customised and extended without ever modifying the core.
βοΈ Native multilingual support: Integrated MLS system covering both the interface and content, with support for over 40 languages via community language packs.
β Disadvantages
β Project in end-of-life (abandonware): The last stable release dates from 2013; active development has largely ceased, introducing unpatched security risks.
β Steep learning curve: The advanced architecture (Hooks, BlockLayout, Dynamic Data, MLS) is complex to master, particularly for beginners.
β Sparse and mostly English-only documentation: Learning resources are scarce, outdated, and almost entirely absent outside of English.
β Very small community: The active user base has become marginal; community support is nearly non-existent compared to modern CMS platforms.
β Incompatibility with recent PHP versions: The 1.x branch does not support PHP 7+ without patches, and the 2.x branch is limited to PHP 5 without a third-party fork.
π Official Website
Need more details on a specific point?


