From Habari Project
Habari offers a number of features to make blogging easy. We've learned a lot of lessons from watching other projects struggle with the evolving nature of online publishing, and we think we've built a system that supports what folks want now while still allowing for future innovation.
- Robust, granular permissions
- Habari users may be members of one or more groups. Groups may have one or more permissions assigned to them. Permissions assigned to a group can be granted or denied. Permissions are cumulative: users may do anything granted to any of their groups. For example, user Alice is a member of the "users" and "editors" groups. Users can read posts, and editors can edit posts. Alice can edit posts. Permissions that are explicitly denied to a group act as an override. If the "editors" group is denied the permission to edit users then Alice will be unable to edit users, even if another group to which she belongs is permitted to edit users.
- Multiple content types
- by default, Habari supports two distinct types of content: posts and pages. Posts are date-based items, typically used for blogs. Pages are items that live outside the date-based presentation of content. A Page might be used to display one's contact information, for example. Plugins can create additional content types, greatly expanding Habari's potential. For example, a new content type might be created for podcasts, or images used in an image gallery.
- Publication statuses
- Habari allows content to be assigned a status. Out of the box, Habari supports two statuses: "draft" and "published". Draft items are displayed only to the logged-in users with permission to access them, while published items are displayed to all visitors of the site. Plugins can create additional statuses, for any conceivable need. For example, a plugin might create "review" and "revise" statuses for use in an editorial workflow: when an author is finished with a post, they apply the status of "review", which makes it available to editors on the site. If the editors think that additional revisions are necessary before publication, they can mark the post "revise", sending it back to the original author.
- Database Independence
- Habari uses PHP Data Objects (PDO) in order to support multiple database server technologies, giving users additional flexibility and freedom of choice. Currently supported database servers are MySQL, SQLite, and PostgreSQL. If you're interested in seeing your favorite database supported by Habari, join the mailing list and lend a hand!