Flexible datamodel
Define your own data categories and relations.
Someone once said “everything is a thing”. And he was right.
In Zotonic everything is a page
Pages have a number of characteristics:
- as many properties (fields) as you want
- relations with other pages, forming a directed graph of pages
- all the relations have a meaning, a predicate
- a page is part of exactly one category
- categories are pages
- predicates are pages
The consequence is that you can add as many categories and predicates as you want. And that every category and predicate has a page on the Internet.
It makes editors happy
The editorial interface is very simple and straight forward. In fact Zotonic only needs one edit screen as everything is a page. This makes editing the site a dream.
Editors do not have to search through menus to find the correct editing option for changing some field. Instead they can concentrate on the text and relationships between texts, they can concentrate on what they want to express.
It is awesome for the template builder
As everything is a page you can start with defining a single page template. From that moment the site can display all pages the editors are making.
Then step by step the template builder can introduce new specialized views for categories and sub-categories. He can do this by extending the basic page template and just redefining what is different.
It makes programmers smile
They only have to deal with one kind of data. One kind of URL. One kind of API. Their life just got a whole lot easier.
Comments
Neil Murphy
Posted 1 year, 3 months ago.
If everything is a page, is there also a concept of a lower level structure such as a section that can be applied across all pages? e.g. a standard header, or a standard 'news' section?
There is nothing here about handling attachments - e.g. I work for an organization that creates pages and from the pages links to numerous PDFs, word docs and flash files that can be viewed or downloaded by the customer.
Is there a plugins interface (such as Drupal). It would be good to be able to extend this to include social sites such as BBS, Wiki etc, and link elements of these to the core CMS driven site.
Curious as to why you use postgres rather than e.g. mnesia? Or one of the 'nosql' databases.
Marc Worrell
Posted 1 year, 3 months ago.
Hi Neil,
All resources (pages) can be seen as collections of properties. Title, summary and body are standard properties. You can add your own.
Attachments are resources, just of the category media. They have the same properties as any other page, so you can describe your attachment.
Zotonic is extensible using modules. They communicate using notifications. As each module can implement any webmachine resource (controller) you can add whatever functionality you want.
Regarding PostrreSQL. See http://zotonic.com/page/620/proven-and-powerful-database