Section 1.1 - Concept, vision, and history

Concept and vision

Enano was created because there are a lot of wiki systems out there that are too permissive. While we believe in the wiki philosophy, we also see the reality that in some cases, a full-blown all-are-welcome-to-edit wiki can pose serious problems. Enano has a lot of different ways to control what users can see and do on your site. From simple wiki features like revision history, diffs, and page protection, to fine-grained access control lists, Enano has everything you need to ensure that your site stays under your control.

Another of Enano's goals was to provide an intuitive, smart interface that people can understand just by looking at. The administration panel is self-documenting and streamlined, and all on-page controls are text-only labels - leaving room for you to customize but maintaining a high level of user-friendliness.

Our vision is to make content management simple and powerful. You don't have to make your site act like a wiki to use Enano; in fact, by default, all of the wiki features are disabled. Whether Wiki Mode is enabled or not, you always get a powerful and smart interface.

So, what does Enano do anyway?

As indicated by the project's full name, Enano is a Content Management System, or CMS. A CMS allows a website to have a unified look and feel for every page on the site, and centralizes the storage of all the data for your site. There are several different large categories of content management systems out there. Some are based on desktop applications and designed for internal use by a large company. Some are designed to manage and index documents. Enano's particular category is in managing the content on a website. While Enano could certainly be used internally in a large company for managing documents, this isn't where its strength is. Enano is designed to help website designers and administrators make content available to end users.

The wiki side of Enano takes a different approach with the same general idea. Website administrators that want a wiki and a "main" site can use a single installation of Enano with some custom access control rules. In this case, you have the same interface as would be used, except that it has a couple of extra features that wouldn't be useful for a site with only static content.

Enano accomplishes this by providing a number of tools: an administration panel, a way to create pages, several ways to edit pages, many ways to control what users can do using fine-grained access controls, a theme manager, a template system, and ways of letting users provide feedback on your content.

Finally, for the features that aren't provided in the core, Enano can use plugins to add new features. These range from small text formatting extensions to entire new sections of your site. Plugins can be browsed in the add-ons section of the Enano website.


In December of 2005, Dan Fuhry, Enano's current lead developer, was managing another open source project, the ExperienceUI for NSIS. Back then he was a Windows guy and spent most of his time developing more or less useful add-ons for the Nullsoft Scriptable Install System. The ExperienceUI website was managed by a static single-file mini-content management system written in PHP. Dan decided to start coding a CMS using PHP and MySQL. Originally it was going to be very simple: a lame administration panel protected only by a password, and a file or two to have actually managing the content, grabbing it from two or three database tables.

Let's just pretend that lasted.

Features were added slowly. First came the AJAX-based comment system. Though primitive, it looked OK and did a decent job. Then came the need for multiple user accounts, and with that, the need to have different levels of user access. Finally it grew into a full-fledged wiki known as Advanced Articles.

The problem was, it was all built around a weird page organization scheme and a security hole-laden session manager. There was no abstraction or real structure to it. So in or around July of 2006, a complete rewrite of the codebase was undertaken and released by early September of 2006. This new version was released under the name Midget CMS. Everything looked great - until we found another MidgetCMS. Names started flying around. We tried Limbo and one other name I can't remember. Everything was taken.

So I was browsing around the Midget site one day and wondered how it would look in Spanish. Being the lazy geek that I am, I pulled up Babelfish and loaded up the homepage. Naturally it translated the word Midget into - you guessed it - Enano. Thus, Midget was rebranded Enano, and the project was born.