Xaraya Introduction, Resources, and Alternatives
Xaraya is a web application framework and content management system written in PHP. It's completely open source, licensed under the GNU General Public License, version 2. Although it's based on an unpublished branch of PostNuke, the codebase is now completely different.
It has a powerful set of features which focus on the separation of content and design to allow more flexibility. As such, Xaraya can be used as both a framework and a content management system which makes it possible to create blogs, online communities, ecommerce, or any other type of site you want. It also works with different databases such MySQL, PostgreSQL, and SQLite.
Xaraya first saw the light of day after the PostNuke project was abandoned in 2002. Seventeen developers working on PostNuke resigned and worked together on the unreleased candidate 0.8. Several members from the PostNuke community then joined the Xaraya project, with the first beta, Xaraya .900, released in 2003. The first stable release, Xaraya 1.0 was released in 2005. Several more releases led up to the launch of Xaraya 1.1 until finally, in 2006 the work on 1.x branch slowed down in favor of Xaraya 2.0.
Xaraya's primary features include:
- Robust API (Application Programming Interface) which allows developers to access and manipulate data, modules, users, and Xaraya's subsystems.
- Xaraya uses strict data validation on all input to prevent most web-based attacks. This makes it more secure. It also uses the privileges of the various levels assigned to different user roles to allow or deny access to content and functionality.
- Data is organized into objects and Dynamic Data allows users to create custom, or extend, objects defined by modules with properties.
- Xaraya focuses on a strong separation of code and presentation, using BlockLayout as the templating system which allows developers to create themes that control the presentation of content.
- Thanks to its Multi-Language System, Xaraya can be translated — text and some data can be localized. Currently, Xaraya includes support for more than 20 languages.
- Xaraya can be installed over the web once it's uploaded to your server.
The latest Xaraya release is 2.4.0. Interested developers can contribute to the Xaraya core on GitHub. Even though the project status is listed as active on the homepage, the project seems to have slowed down as of late.
PHP frameworks like Xaraya are used to build websites and web applications of all sizes, from small static websites to complex enterprise content management systems. They are popular because they offer well organized, reusable code that's easy to maintain and scale. Given the current state of affairs with Xaraya, here are some of the best PHP frameworks and CMSs to consider:
- Laravel: one of the most popular PHP frameworks, Laravel is built to be simple, easy to learn, and supports rapid application development. With a rich set of features and its own templating engine called "Blade," you can easily and quickly develop even large scale projects.
- Symfony: first released back in 2005 as an open source PHP framework under the MIT license, Symfony powers some of the largest open source projects like Drupal, phpBB, Piwik, and many others. It features a large set of reusable components and a vibrant and active community.
- Phalcon: one of the fastest PHP frameworks, built as a PHP extension written in C. It offers most of the modern features like routing, controllers, view templates, query language, and more.
- Yii: one of the oldest PHP frameworks. It became more popular with its 2.0 release as the go-to solution for enterprise-grade web applications. It includes a very powerful code generator tool called Gii and it especially shines as a CMS.
- SilverStripe: open source software that combines both a framework and a CMS. It uses object-relational mapping to create custom databases and an HTML templating engine that's simple to use.
- CakePHP: released under the MIT license, a PHP framework that makes building web applications simpler, faster, and smaller. It comes with a number of security features to make your application not only fast but also secure.
Some resources are available on Xaraya to help you understand what the framework has to offer.
The following list of resources cover the official documentation, installation, and case use of the framework.
- Xaraya Homepage: the official homepage for Xaraya, with links to the official documentation and installation guide.
- Xarmaica: the official community website that includes forums where contributors and developers working on Xaraya discuss the future of the project.
- Xaraya on SourceForge: the current release of Xaraya can be downloaded from SourceForge.
- The Official Xaraya Installation and Getting Started Guide (PDF): an installation guide that explains in great detail how to configure a Xaraya community site.
- Interview — John Cox of Xaraya: SitePoint's interview with John Cox, a member of the project management committee, that explains the capabilities and features of Xaraya.
The following video series will guide you through the installation process of Xaraya:
Moving Forward with Xaraya
Even though it seems like the future is not very bright for Xaraya, sometimes a little effort and interest from the community can go a long way. Xaraya is not entirely abandoned so if you'd like to get involved and help the project's development, the resources above should give you a nice starting point.
Further Reading and Resources
We have more guides, tutorials, and infographics related to web development:
- PHP Introduction and Resources: learn all about the language that Laravel is coded for.
- Zend Optimizer Hosting: Zend is one of the most popular PHP frameworks around. Learn the basics here and where to get hosting for it.
- Zikula Introduction and Resources: a PHP framework for creating dynamic and maintainable websites and web applications.
What Code Should You Learn?
Confused about what programming language you should learn to code in? Check out our infographic, What Code Should You Learn? It not only discusses different aspects of the languages, it answers important questions such as, "How much money will I make programming PHP for a living?"