I am part of a team that, while new to both PHP and objects, wants to hit the ground running writing enterprise applications with modular, maintainable, reusable, test-infected, documented code in a solid (MVC?) framework with good authentication (LDAP), access control, content version/concurrent changes management, workflow management (automated routing, review and approval, enforcement of business processes), etc... The types of applications we need to write/incorporate include multi-part forms/applications, blogs, discussion forums, events calendars, portals, intranets, extranets, a content management system, etc... that share information with a diverse set of databases. Refactoring is a big issue as we need to be able to build these systems fairly quickly and would like to be able to reuse and build upon code of previous projects. Where should we begin?

Here is where we are:
  • Purchased books on UML, Design Patterns, PHP Anthology, Advanced PHP Programming, and Learning eZ publish 3
  • Selected Zend IDE, CVS, and Pear's coding standards
  • Created simple (non-OO) practice applications
  • Decided to evaluate ezPublish as a possible framework/shortcut


Questions:
  1. Is eZpublish a good general purpose framework or mainly a content management framework?
  2. Are there things we need to be aware of if we want to use eZpublish as a general purpose framework? What drawbacks do you see?
  3. If eZpublish is not a solution you would recommend, keeping the experience of the team in mind, what you recommend?


Thanks in advance,

Faust