Ingeniux is a smallish U.S. vendor with a solid feature set, a mature business posture and a steadily growing list of enviable clients. Here's a background snapshot on the company and our review of release 7 of the Ingeniux Web CMS product.

The Ingeniux CMS Story

Vendor Ingeniux Corporation
Product
 Ingeniux CMS 7.0
Product Category
 Web content management, web publishing
Typical Scenario
 Online publishing, Educational institutions, Membership institutions, etc
Bad Fit Scenario
 Intranets, Document collaboration, Community sites (unless combined with Cartella)

Company & Product History

Company Snapshot

Ingeniux Corporation was founded in 1999 by Jim Edmunds, who is currently the President and CEO. The company has been organically funded and reported to CMSWire that they are currently profitable.

A small to medium sized vendor in the Web CMS space, Ingeniux has between 35 and 40 full time employees in Seattle, 10 developers on contract and a number of freelancers (many of whom support the consulting services arm of the company). 

Along with working with key partners Ingeniux also offers Ingeniux 360, a site administrator and developer support program. This offering is over and above what is offered as part of the typical Ingeniux CMS support license. Ingeniux 360 offers direct access to Ingeniux Professional Services developers, training and other services that help organizations ensure they are making the most of their implementation. Roughly 70% of Ingeniux customers are now enrolled in the 360 program.

Product History

Ingeniux sells a few different products with the primary offering being the Ingeniux CMS. The full list of options includes both an on-demand (via hosted virtual machines) and an on-premise version of Ingeniux CMS, then you have Cartella, a social software platform (they refer to it as social content management software), and finally clients can purchase or use a number of add-on application modules.

The Ingeniux CMS product is a .NET and XML-based web content management system. It has its roots in various projects undertaken by Microsoft Corporation, where the current CEO, Edmunds, and others developed the MSNBC website. Using the knowledge gained from this project, Edmunds left Microsoft and started up Ingeniux.

Currently in version 7, the Ingeniux CMS product has undergone significant enhancements in recent years, and appears to be sustaining a rapid pace of innovation. In May 2006 the company released version 5, which included extensive usability improvements to the back office admin interface, a new WYSIWYG editor and native support for single source business documents. 

The product really took off about two and a half years ago when version 6 was released -- the company reportedly doubled license sales in the subsequent 12 months. This update included a multi-format content deployment model, opening the door to customers who already had an existing delivery environment but were looking for improved content management capabilities. Other v6 enhancements included an AJAX-enabled web client, enhanced asset management and an improved core taxonomy system.

David Hillis, VP of Business Development for Ingeniux, helps direct product strategy. According to Hillis, Ingeniux puts out a large number services releases and has an aggressive product roadmap. We'll discuss the roadmap after we take a closer look at the current version.

Market & Pricing

When we inquired about the Ingeniux CMS target markets, David Hillis spoke of "fat-tailed customers" or customers who had a large number of users. Higher Education is one of the key targets in this case, and it seems Hillis and company have executed well in the space. They report that more than 150 colleges and universities are currently using the product. Over 50% of their current customers are publicly funded organizations who need enterprise web content management on a budget. Life Sciences is currently their fastest growing market.

Some of Ingeniux's customers include:

  • General Electric -- GE recently selected Ingeniux to support web publishing for their 300,000 employees, including websites, handbooks, and blogs.
  • US Army -- Ingeniux powers the benefits portals for the US Army and other branches. Sites are delivered in multiple languages and integrate with the Army Knowledge Online (AKO) system.
  • Workday -- The high-flying SaaS ERP vendor uses Ingeniux OnDemand to manage their websites, blogs, and sales collaboration.
  • Amadeus -- Amadeus provides technologies and services to the travel industry. Their website has a decoupled deployment via Akamai. Ingeniux is used to manage over 75 websites localized for 215 markets, and over 300,000 pages of content.
  • Champlain College -- The Vermont based educational institution utilizes the hosted Ingeniux OnDemand service.

Pricing

Ingeniux comes in two specific flavors: on-premise and on-demand (SaaS). Over half of Ingeniux customers use the on-demand offering, which became available in 2003. Each product licensing approach has three editions: Essential, Professional and Enterprise.

On-Demand Pricing Basics:

OD Essential OD - Professional OD- Enterprise
 1 Website  3 Websites  Unlimited Websites  
 15 content contributors  50 content contributors Unlimited content contributors  
 Shared Application Hosting   Dedicated VM  Dedicated "large slice" VM  
 Dedicated VM Available      
 US$ 1,800 per month  US$ 2,800 per month  US$ 3,800 per month  

 On-Premise Pricing Basics:

OP Essential OP - Professional OP- Enterprise
 1 CMS Server  2 CMS Servers (1 CMS, 1 DDS, or other combination like CMS Prod, CMS Dev)  Unlimited sites and users  
 5 concurrent users  15 concurrent users All Ingeniux App Modules  
 One Domain  3 Domains    
   All Ingeniux App Modules    
 US$ 25,000 license   US$ 35,000 license  US$ 60,000 license (starts at)  
 US$ 4,500 annual S&M  US$ 7,500 annual S&M  US$ 12,000 annual S&M  

These prices were all updated in 2010 and there are discounts available for non-profit and EDU customers. Ingeniux offers several hosting options, including a managed services offering and a PCI-compliant hosting option.

Key Features and Ratings

Core Technologies

Some people who know of Ingeniux refer to it as a .NET Web CMS. Well, it is and it isn't.  At its core you find an XML repository -- so all content is created as XML and stored as XML documents in a flat file system on the server. Although other systems have taken a similar approach, namely Documentum and Stellent (prior to the Oracle acquisition), Ingeniux is one of the few mid-market CMS solutions to develop their own content repository. Hillis refers to the XML repository as their "special sauce" because it’s specifically designed to optimize content reuse in the CMS..

The content management server includes 2 separate website management interfaces: an author/publisher interface -- deployed via an AJAX web client framework, and a CMS administrative interface. Both of these are built on Microsoft .NET, IIS and Windows 2008. In its current form, the admin interface utilizes a number of ActiveX controls, but as I discuss discuss later on, this area of the product is being updated to use more modern technologies.

In addition to the XML repository there are a number of APIs available that expose the CMS functionality. These API kits current come in Java, .NET and COM flavors. Supporting modern integration trends, Ingeniux also offers SOAP web services and a RESTful API.

The CMS is built on a two-tier architecture: the core CMS and the Dynamic Site Server (DSS). The Content Management Server itself runs on Windows 2003/2008, the DSS can run on either IIS or Tomcat and the CMS client is completely web-based. Note that you do not actually need the Dynamic Site Server to deploy your website (more on Ingeniux delivery models later).

Ingeniux_CMS_Architecture.jpg
Ingeniux CMS -- System Architecture

As you can see, the company has a open view on technology, particularly when it comes to content deployment. The overall strategy is cross-browser, cross-platform, no install (no client installations).

An Affinity for Model-View-Controller Design

Ingeniux is focused on Microsoft's new ASP.NET Model-View-Controller (MVC) framework for web development. Ingeniux supports the use of MVC 1 and 2 (soon to come MVC 3) for website development. The company also provides an add-on for Visual Studio that connects your ASP.NET projects to the Ingeniux content store. 

The Ingeniux Cartella Community Server was the first commercial software application developed in MVC and uses MVC to customize the modules and application.

Content Entities

Ingeniux CMS' native content entities are either pages or components. Components can be added to pages. A content entity is stored as an XML document, which makes it flexible and extensible.

Out of the box, Ingeniux comes with over 30 standard content item elements, including the standard ones like text, date, media, multi-select, and other ones such as Component, XHTML, Web Service and more. They add new ones on a regular basis, pushed out with CMS updates or via the SDK. You can also add your own custom elements using the SDK and schema designer.

In cases where you want a drop-down or multi-select element for your content item, you can create a static tree to select from, run a database query or call a web service to populate the list

Creating a New Content Item

In the web client, the entire website structure is displayed via the Site Tree. To create a new content item, you can select New from the web client main menu or right click on the tree hierarchy where you want to add the new piece of content and select new.

When added from the main menu, you have the additional step of selecting where in the Site Tree you want the content item added. The Site Tree is a way to organize the pages and components of your website, it is not the website navigation structure.

New content items are based on page creation rules or on page types. So you can specify that a particular template is used based on where the new page (content item) is created in the website hierarchy. We discuss page creation rules a little later.

Content Entry Form

There are two views for adding/editing a content item. The content entry form is fairly straightforward and includes all the fields that will be displayed on the page, as well as additional meta data.

Ingeniux7_CreatePage.jpg
Ingeniux CMS -- Creating or Editing a Content Item

In addition, you may want to have specific components displayed in certain content areas within the page. These components are separate from the content item itself, but are rendered as part of the page view. For example, you might want a list of related articles displayed on a news article page.

Ingeniux7_CreatePage2.jpg
Ingeniux CMS -- Create/Edit Page / 2

In-Context Editing

The second approach for editing content is the Page View, or what many call in-context editing. This is essentially a WYSIWYG view of the page you are creating. It is meant more for authors who only deal with the meat of a content item (the text displayed on the page), though you can still easily click back and forth between in context editing and form view. You can also select components to add to the content item from the in-context view.

In the screenshot below, to edit a particular piece of text, you click on the text. It will then be displayed with a WYSIWYG editor. The WYSIWYG editor is TinyMCE, which includes multi-language spell checking.

Ingeniux7_IncontextEditing.jpg
Ingeniux CMS -- In-context Editing

Designing Templates, Managing Look and Feel

As the CMS is the design-time environment for the website(s), there are a number of capabilities available for creating page templates and the overall look and feel of your website.

Templates can be designed using Microsoft Visual Studio or the open source Eclipse IDE tool. They can also be designed using a free tool that comes with Ingeniux called the Schema Designer. In any case, new templates are uploaded into the asset system to be used.

The schema designer enables you to build a quick schema for a page or a component. There are 20 different elements to add to your design, or you create your own custom elements. Elements can be marked ready only, hidden for certain users or required. The XML schema is validated upon save to ensure that any changes made to the content item schema are correctly formatted. Components should be typed so that you cannot add one to an element that doesn't support it.

Page Creation Rules

As mentioned earlier, when a user attempts to create a new piece of content, they may have the option of selecting a page creation rule or a page template. Page Creation rules lock users down, limiting what they can and cannot do.

When you create a page creation rule you indicate the schema, stylesheet and workflow that are attached to the particular page. You also indicate what users and groups have permission to use the rule. Page Creation rules are great for user generated content.

Ingeniux7_PageCreationRules.jpg
Ingeniux CMS -- Page Creation Rules 

Taxonomy & Metadata

The CMS supports tagging content via terms stored in a structured taxonomy. The Taxonomy Manager provides the ability to create and manage a taxonomy for your website. Ingeniux supports XML schema for metadata and a number of common W3C elements. The taxonomy is used for faceted search, tag clouds, navigation and related links.

Ingeniux_TaxonomyManager.jpg
Ingeniux CMS -- Taxonomy Manager

You can create any number of taxonomy category and you can nest categories within categories.

Search

Ingeniux support the integration of a number of different search engines, the most common being Google Search Appliance, Google Mini, Endeca and Apache Lucene. Search is globalized across all website languages and includes all XML content, documents, images and other assets.

There is no integrated search analytics capability. You have to use the analytics that come with the search engine selected.

Security

Ingeniux has what is called the Ingeniux CMS Cascading Authentication System. This enables an organization to use multiple identity systemsystems, such as Active Directory, LDAP, or a database to authenticate users to the CMS. The CMS simply moves through each system until it is able to authenticate (or not authenticate) the user.