![]() |
![]() |
Hooks for *everything* that can change stuff
OOP API - Doesn't need to create new tables for new content types - Doesn't require writing SQL to add new content types - Revision controlled content gets temp mirroed storage in main node tables, for easy querying
Revision controlled content
Easy to write plugins
Nice forms API like Drupal
Admin interface *OR* admin via the regular website
Flexible publishing - - public from x until y - public from x - published on - published only to certain users - published only to certain users until…
Commenting, commenting with approval by admin.
Use modules
Blogs with easily insertable: pictures, videos, links, etc.
Integrated support ticket system
Integrated customer tracking system, linked to support tickets
Native UTF-8 support
PHP based templates, but with a configurable $this→_($out) method to print values (which auto-escapes form values, etc.)
print($this->_('output')); print($this->_input_text('name', $value)); print($this->_input_textarea('name', $value)); *OR* {textarea name=my_name value=$value} make more sense to do: <textarea name="my_name" value="{$value|htmlspecialchars}" /> {$value}