Reply to comment
Zupal: Drupal for Zend Framework
Submitted by bingomanatee on 22 October, 2009 - 19:08Zupal is my attempt to bring Drupal design philosophy into the Zend Framework. It has also been my attempt to take the "slow road" to learn the galaxy that is Zend Framework will still keeping my day job.
Though slow to progress, the following benchmarks have been achieved in Zupal. Most of the changes to date have been around making modules truly "Modular" -- that is, completely self-contained and switchable, while interacting with the global menu and resource system.
Warning: Zupal is NOT Drupal like in that it is written for programmers, not a general audience. You can't really create any thing useful without a significant amount of PHP coding. However it is more Drupal-like than ZF, in that many common tasks have been solved for you and sped up, allowing you to focus on application features.
The Zend Framework is designed as a set of low-level timesavers encapsulating common tasks such as navigation menus, DB access, forms, MVC, etc., without actually committing to a specific instantiation. Zupal is closer to Drupal or ROR -- a set of RAD tools that encourage modular development by setting a few design patterns in motion, including a backend administration, and a user/login/permissions system.
- A functioning user system
- A Role and Resource system that can be maintained with the admin UI and appended to from various modules.
- A menu system that uses Zend_Navigation, roles and resources to show menus filtered by context, current module/controller, and user role.
- A domain system that subsumes (but is not dependant on) Zend_Db to easily give ORM access to the database. it includes "Self creating" data tables and encapsulates the activeRecord pattern of ZF in a much simpler search pattern making it easily transportable into Memcache.
- A "Metasystem" for creating, using the admin interface, allowing hands-free creation of:
- Domain Model classes
- Domain Forms
- Controller Actions
- Menu Items
- A routing system allowing modules to present scripts, CSS and images to the web via routing.
- The ability to turn modules on and off, including activating and deactivating their menus.
- The ability to have library folders inside modules. In ZF stock, the library folder is singular and outside your module directory; in Zend you can put library resoures inside each module.
- The ability to add menus that link to URLs or actions via the Admin layer
- A domain-centric form system that subsumes the translation of data between forms and domain objects
- A series of helpers allowing quick scaffolding of tables via Dojo
- Module centric configuration for module-driven menu items, permission roles and resources, etc.
- A "FastForm" system - an alternate to ZF forms that accepts .ini files and single class form templates. It can also express forms as template markup that can be embedded in pages and edited by designers, preserving variable slots for form values and option lists.
Under current development is:
- The "content" (blogging) system
- An "Atomic" system of content linking, analogous to Drupal Nodes
- Groups and Networks for SN
- Ultimatum, a multiplayer web based game of global domination.
Please feel free to download the latest source from google code.

