We're probably closer to 1.8 than you might think. It's safe to say that
we've got less than 2 months to implement the set of providers (ie,
resources/commands) that will show off our shiny new Zend_Tool component
in its first release. I've put together this preliminary list for 1.8
providers to get the discussion going. Please reply to both lists in the
To: field for now and (as if I have to tell you this) feel free to
disagree with any of this.
Must Haves
----------
Project generation based on profiles
View generation/destruction using a profile
Controller generation/destruction using a profile
Action generation/destruction using a profile
Full and contextual help system
Create Db_Table class from database table
Create database table from a Db_Table class
Show ZF version (although we should really be able to show much more
about the environment- this depends on a comprehensive Zend_Environment
component *wink, wink*)
Should Haves
------------
Database Migrations
Dry Runs (-pretend in RoR-land) where system tells you what it's going
to do without doing it
Undo, preferrably configurable to unlimited undos by user
Scaffolding, using this definition so we're all talking about the same
thing: http://en.wikipedia.org/wiki/Scaffold_(programming)
Execute all functional tests
Execute PHP commands in a fully bootstrapped environment (eg, before the
front controller would take over in a real request)
Generate plugins/helpers? (someone with more experience with these can
say what might be helpful)
Web Service generation/destruction using any protocol supported by
Zend_Server
Nice to Haves
-------------
Execute all unit tests against specified packages in the library
Generate API docs on application files
Generate API docs on library files
Print various code stats for specified files
Load RoR-style fixtures (test data) in to the database
Interactive mode to prompt for options
Enabling/disabling profiling
Change logged events
In addition there are a few application-management-oriented tasks that
I'm not sure belong in the Zend_Tool domain, although other frameworks
support them with their CLI tools. If someone required a lightweight
interface for such actions, I would usually recommend creating a task
for a build system or shell script. Does anyone have a different
perspective on these?
Clear logs
Manage ACLs
Manage versions of Zend Framework and other tools using SVN, etc.
Clear temporary dirs
Your imagination's the limit on other administrative tasks people might
need
I also challenge all component leads to think about what providers may
help users get started with their own components.
Zend_Tool and the RAD-focus of 1.8 is a *big* development. We would like
as much feedback- and help!- as possible, so let's get yacking.
,Wil