||This article needs additional citations for verification. (July 2011)|
|Initial release||November 6, 2005|
|Stable release||2.2.0 / July 9, 2011|
|Type||Content Management System, Web Application Framework|
|License||GNU General Public License|
Xaraya is a Content Management System and is Free Software published under the GNU General Public License. Xaraya is written in the programming language PHP, and is based on the previously unpublished 0.8 branch of PostNuke (circa mid-2002), however the codebase has undergone a complete rewrite.
Xaraya features a modular and secure architecture, with a focus on separation between design and content, in order to achieve a more flexible product. This added flexibility allows Xaraya to be used in many different ways, including blog portals, online communities, e-commerce and brochure sites.
 Core Modules
Included in Xaraya are 10 modules which provide the basic functionality of a Content management system.
- Authsystem: Default user authentication module.
- Base: Provides an interface to basic configuration settings, as well as the ability to create custom static pages.
- Blocks: Manages blocks, block groups, and block types. A block is an area of auxiliary content on a page.
- Dynamic Data: provides the functionality to define data objects using metadata (stored in the database). The data objects can be used to extend existing data objects in most modules, or to provide all the database access required in a module. The dynamic data objects can map onto individual physical tables, a single shared table, text files or any other underlying storage mechanism by extending classes.
- Installer: Supplies the routines used to install Xaraya.
- Mail: Sends mail from Xaraya, and manages mail templates.
- Modules: Manages modules, which provide additional functionality in Xaraya.
- Privileges: Allows the management of user access rights.
- Roles: Manages users and user groups.
- Themes: Manages themes, which alter the appearance of the site.
Xaraya has a robust security system. User input is filtered, and can be validated against many formats, which can optionally be chained. Privileges of various levels are assigned to roles (either individual users, or groups). A privileges consists of a module, item type, and an instance mask, which is defined by the module according to its needs.
 Templating system
Xaraya has a templating system developed specially for it, known as BlockLayout. This makes it possible to customize most features of a website developed using Xaraya.
Block Layout supports the complete separation of code and layout. The output templates are written in XML, with 'xar' namespace tags providing variable access, looping constructs, conditional constructs and inclusion of sub-templates. The output from the standard themes are XHTML and RSS, though any other type of output can be generated.
Xaraya currently has two development branches. The original branch, known alternatively as "1x" or "Aruba", supports both PHP4 and PHP5. A newer branch which supports only PHP5, is known as "2x" or "Jamaica".
 See also
- Holly Yu (2005). Content and Workflow Management for Library Web Sites: Case Studies. Idea Group Inc. p. 37. ISBN 1591405343.