Animalcarpet CMS has been written for a Unix-based platform using open source components and, like that operating system, has a very simple logical structure. In Unix systems 'everything is a file' - in Animalcarpet 'everything is a resource'. Resources share a set of common attributes and and behaviours which are extended through sub-classes to provide the capabilities to perform specific jobs. The common attributes are things like a name, a description, an owner, a parent resource and positioning data, the common behaviours include the ability to apply access control, rating, categorisation, tagging, auditing and display.
This simple structure also means that there a great deal of consistency in the way these resources are added, edited and removed from the system, so once you've mastered the (very simple) process of creating one resource type for your website, you pretty much know how to do all the others as well.
Resources can be simple text-based objects such as headings and paragraph text, file-based items such as images, podcasts, video and files for user downloads to more complex objects such as slideshows and galleries, discussion forums, contact forms and location maps.
The most basic element you can add to a page is plain old text and you can decide whether you want it formatted as a Heading or just standard paragraph text. If you want it to be cleverly formatted you can input HTML. If you do animalcarpet will check that it validates properly and doesn't include any markup that might be used in Cross Site Scripting (XSS) attacks. Alternatively, you can jazz up your page by embedding HTML snippets from some of the better known internet services such a YouTube, Google maps, VOKIs and World Time Server.
Whatever you add you can be sure it will be safe, valid HTML.
You can add multimedia content to your pages through the addition of images, podcasts and video. Podcasts and and Video files will display in an Flash-based player and be available for download
You can decorate your pages with images and apply simple layout styles and effects to alter the way they appear on the page. Any image added will be automatically scaled to fit the width of the location it is placed in or you can specify that the image displays at its natural resolution.
Page layout effects can be achieved by wrapping text around the image and you can even specify that the image gradually appear on the page and specify the time it takes for the image to appear.
The original concept for the web was as a means for providing simple links from one piece of information to another, and animalcarpet provides mechanisms to achieve this goal. Both internal and external links can be added and the system will even check that the link is in the correct format and that there's something at the other end. The system Menus are also a resource type so they can be easily changed as your site's requirements change and also to allow different menus to display to different classes of user.
Some resource types are designed to hold other resources, this includes obvious candidates such as Pages, Folders and Image Galleries but other less obvious ones such as News Headlines (which hold News Story resources), Newsletters (text and image resource types) and the special Browser resource which allows you to pull content from any part of the site for display according to simple selection rules
Certain resources allow the viewer to interact directly with the site. This includes such things as user Polls, Discussion and Commenting, Dropbox folders for uploading documents and other files, Subscription resources and Contact Forms.