Since January 2001, Canadian web services company Simian Systems, Inc has marketed their own brand of Web Content Management System called the Sitellite CMS. Simian recently released the latest version of their Web CMS, the Sitellite 4.2 Content Management System, and CMSWire has had a change to poke under the covers and speak in depth with Simian staff.Product Overview Sitellite is both a web content management system and an application development framework built in PHP. The typical database back-end is MySQL, although the Enterprise Edition of Sitellite offers other options, including Oracle, SQL Server, and other open source databases such as PostgreSQL. Sitellite comes in three different flavors: the free Open-source Edition, the Professional Edition, and the Enterprise Edition. Aside from price, the various editions differ on feature sets (Sitellite Modules) and on database connectivity options. Content Management The primary content entities in Sitellite are web pages, though the Professional version ships with a number of other types, including Web Files, FAQs, News Stories, Calendar Events, etc., and custom types may be defined by the PHP adept. There are many ways to reuse both content and dynamic modules in Sitellite. Unfortunately, the ground to cover there is a bit too broad for this review. The primary content management tasks involve creating and/or editing “web pages”, managing page-level metadata, defining the page hierarchy and performing review and approval processes. Once a content editor is logged-in, they may either pull the page to edit from a list in the “Control Panel” or they can browse the website and click on in-context buttons to edit a specific content block. The content life cycle is managed both by a simple, linear workflow and by a content scheduler that can publish or un-publish pages based upon specified dates. Workflow rights are defined by Sitellite Role permissions. Users are assigned both a site-wide Sitellite Role and a site-wide Sitellite “Team”. Content is owned by exactly one Team. So if a given user is a member of the Team owning a specific page, they then have permissions on that page as defined by their site-wide role. Role permissions, content statuses, and teams are all fairly customizable. Content Editing Sitellite 4.2 has an intuitive content editor interface, using the XED 2 (pronounced Zed) WYSIWYG editor. After logging in to your website, XED 2 allows content managers to edit all the images, pictures, graphics and text on their website and even allows copy and pasting text from their favorite word processor. XED keeps a record of all of your changes and allows you to go back previous versions at any time, and also includes a 25 level undo/redo per web editing session. Sitellite 4.2 Professional and Enterprise editions also offers web novices the freedom to add new navigation at the click of a button, add tracking metrics, polls, discussion forums, Blogs, event calendars, manage email-based marketing campaigns, side shows, and automate the publishing of your changes at a future time and date. The content editing interface allows you to specify content metadata, custom page titles, and as an option, user-friendly aliases for each page. Sitellite has a native concept of membership, which allows you to restrict content access on a page or site section level. Application Framework The Sitellite Application Framework (SAF) is the web application engine behind the Sitellite CMS. The Sitellite CMS can be accurately construed as a CMS application built on top of the Sitellite Application Framework and nearly in parallel with many of the Sitellite CMS Add-on Modules. Things are in fact a touch more complicated than this, but this is a pretty fair depiction of the architecture. This architecture is an important point to consider about Sitellite –- unlike many Web CMS products the software design was driven by generic, object-oriented development principles and was not something that evolved from an amalgam of various web content management consulting projects. In my eyes, this makes the product a bit unique as it means that the software is very flexible and that the development environment, tools, and APIs, are very developer friendly and, if used intelligently, very powerful. The SAF allows your standard PHP geek to quickly add new functionality into Sitellite using over a hundred programming libraries. These PHP classes make up the core of Sitellite itself and provide reusable components for building custom functionality. Version 4.2 Enhancements New in Sitellite 4.2 is an advanced revision control system called Rex, which replaces the previous Sitellite versioning system. Rex offers far more in terms of functionality and flexibility than most versioning systems. Key features include drivers for separate revision stores and drivers for separate collection sources. Rex allows you to attach revision control to any data source, provided a driver exists, without requiring any changes at all to the data source of the collection. So if you want to manage a remote FTP server's contents through the Sitellite Control Panel, including a complete revision history for each file, all you need to do is write the driver. This opens a world of possibilities not so readily available in other revision control systems. Also new in Rex is “Facet” control. A facet is a field that is configured to be searchable in the Sitellite Application Framework and allows you to quickly perform compound search queries on large collections. For example, say you want to search for products in the Sports section between $10 and $20 in price, with a status of "Archived". This would be a matter of just a few clicks. This can make the need for reporting also less important, since it can practically double as a reporting utility. Finally, Rex boasts tight integration with Sitellite, including the Scheduler, and SiteSearch, via simple INI-formatted configuration files. Another new feature in Sitellite 4.2 is the ability to dynamically generate a series of objects and their relationships based on the saf.Database.Generic package and its capabilities. What this means is that you can perform dynamic object-relational mapping, including proper management of the relationships between objects/tables, with the code generated automatically for you. The Generic package makes it very easy to create additional application functionality quickly and with very little code. Additional changes and enhancements in Sitellite 4.2 include improved object caching, a content management audit trail, workflow engine enhancements, improvement to the native concepts of members (for extranet or portal websites), additional web standards utilities for managing web templates, new Sitellite Modules for functionality such as Wikis, Blogs, Site Quotes, etc., and improvements to the built-in Apache Lucene-based SiteSearch tool. In Summary... Sitellite CMS is a powerful and fairly priced Web CMS. There is an active community around it and Simian themselves are highly responsive and a pleasure to work with. The product itself has some history behind it and is reaching a comfortable level of maturity. The out of the box and optional modules are highly attractive for business users and tend to be well-designed, flexible, and easily customizable by developers. There’s no doubt that Sitellite is a solid Web CMS offering and one with compelling qualities for both business users and web developers. In my eyes, there are two points to consider closely when evaluating Sitellite. Firstly, the core architecture is a bit, just a bit, of a double-edged sword. On the one hand in the SAF you have a very thoughtfully engineered set of generic internals. This has been a commendable effort on Simian’s part and is an invaluable asset if you plan on customizing or extending your website’s functionality. It means that when used correctly, with a very few lines of code one can create significant application functionality that is tightly integrated with the system. On the other hand, the focus on rigorous software design has come at some small cost to the native CMS orientation of the system. This cost is diminishing quickly over time and with 4.2 we certainly see very little of it left. For this reason I hesitated even bringing this up, but I do think it’s important to note that there is a distinct technical inclination to Sitellite. The second point to consider is the documentation. As with nearly all software products, the docs trail the releases. Sitellite Application Framework has an amazing API, yet one finds themselves reading a fair bit of code to sort out the best use of it. The Sitellite community forums are a great resource for answers, Simian is constantly producing articles and tutorials, there's some online training available, but when it comes to the broad API and filling the space between the tutorials, there's still a small documentation gap. All nit-picking aside, it's the CMSWire opinion that Sitellite is well worth its salt. If your project is slanted towards some custom functionality and you've got a PHP-oriented team, it is a very strong contender. If your requirements are more geared towards standard CMS functionality, its also worth consideration, and the optional modules may very quickly tip the scale in Sitellite's favor. Pricing and Availability Sitellite 4.2 is currently available from the Simian Systems website. The open-source version is available from Pricing for the Professional edition starts at US $2000 for a single website and US $20,000 for a server with unlimited sites. The Enterprise edition lists at US $10,000 per website.