Zaapt Links
Sites Using Zaapt
Site News
Latest News
New Site, New Contrib and New Models
Read More...
Main FAQ
- Why did you decide to write a new CMS? There are already hundreds out there?
- No seriously, why a new CMS?
- What do I get for my money?
- So what don't I get?
- What's the reason for not including session management et al?
- You seem to have a lot to say. Anything else we need to know?
- Wow, is that it?
Q: Why did you decide to write a new CMS? There are already hundreds out there?
I had an itch. That's all. And besides, if there are hundreds out there already, what does that tell you?
It tells you that people like scratching itches, that's all. And it also means that I know my itch more than other people. People like doing it their own way and this one happens to be mine :-)
Q: No seriously, why a new CMS?
In all seriousness, I did it because I wanted a CMS that worked how I liked to work. I wanted it in Perl/Mason, I wanted it to use PostgreSQL, I wanted it to be really small and I wanted it to be highly customizable from a display point of view.
What I mean by that is, it provides you with lots of content models which you can use straight out of the box and not have to worry about doing anything. But if you want to do more, you can.
I found that I was forever creating new sites (My Personal site, Kiwi Writers) and I wanted them to be consistent and not have to re-write various things over and over. My personal site provided a pre-cursor to Zaapt.
Hopefully it makes the easy things easy and the hard things possible. And I feel I'm justified already since I created the Zaapt and Zaapt Simple sites in less than two days.
Q: What do I get for my money?
Well firstly, you don't have to pay any money so I'll answer the question 'So what do I get for free?'.
You get a database schema, many content models and default Mason pages to help with administration and display of all of the models.
The content types included out of the box (as at 2007-03-11) are:
- content managed pages
- news
- blogs (nearly)
- FAQs
- forums
- menus
Possible additions:
- quotes
- definition lists
- link lists
To be added through extension modules:
- simple gallery
- complex gallery
- (others I haven't yet thought of)
There is provision for creating your own content types and also for replacing the PostgreSQL store with another store of your choice. Only the PostgreSQL store will be maintained by me.
Q: So what don't I get?
You don't get other infrastructure you need in a website, like Session management, anything to do with cookies, caching of pages and other things. The list is probably longer than this.
Q: What's the reason for not including session management et al?
The idea is that you know your site better than anyone. If you choose to use session management in memory, on disk, in a database or whatever, then that's your choice. You choose these things because you know your site's requirements better than Zaapt does.
From a user perspective, you might let anybody log into the site, so you might choose your sessions to work from the top level '/' of the domain. You might decide that the users only have to log in to see pages under '/user/' or '/my/'. Finally, you might decide that no-one but administrators can log in so only logged in users and those with 'admin' privileges can see the pages under '/admin/'. Or you might have a completely separate http://admin.example.org/ site - whatever, Zaapt is laid back about these things.
Zaapt doesn't know your site's requirements, therefore it shouldn't choose these things for you. All Zaapt provides is working content models and default representations for you to use, or not use, or extend or build your own.
It's your choice.
Zaapt only promises to look after the content, but remember, dealing with the content types and management of them is probably the thing that will take the longest amount of time when creating your site. You should deal with the important details and leave the mundane to something else - Zaapt is your friend!
Q: You seem to have a lot to say. Anything else we need to know?
Of course.
Zaapt was written by a programmer for programmers. After using other content management tools which forced you to change your configuration via a web interface, and getting completely frustrated by it, I decided the configuration should be in the realm of the programmer and not the end user,
By the same token, the content on the page should be in the realm of the user and (not necessarily) the programmer. It works both ways.
Therefore, the things a user can change is set to be at about their level of expertise. The things a programmer can change is set at their level of expertise. After experiences whereby the user was allowed to changed things they didn't know (resulting in broken sites), I thought that there must be a better way.
The same goes with connecting to the database, or indeed, whatever type of data store you choose. I use PostgreSQL, You might use MySQL. You may have an OO database or a flat file system. You may even have a 'data store in the cloud'. I don't know (or care) - just so long as the data store works how it is expected to, it doesn't matter what you use. It's your choice.
Finally, WYSIWYG editors are not my favourite things and that's why you'll never find one packaged with Zaapt out of the box. If you want to use one, great, go ahead - just don't come running to me when marketing wants to put a 45px red flashing header of four lines across the top of the latest competition.
Q: Wow, is that it?
Well yes. I think. Oh hang on...
Except to say that Zaapt is still only in it's infant stages. Some things don't work, there may be bugs :-) and there are parts that are inconsistent. Through trial and error, I have figured out a way to do things, but it is not yet mature.
Then again, there are a few sites out there already using Zaapt. Check out the links in the main menu Sites Using Zaapt.