paster and scripts
I've been thinking about
frontend) and setuptools and whatnot, and thinking about how to
Here's my current thinking (note "application" =
"web application"; this stuff doesn't entirely apply
to other models of applications):
Each "application" will usually get a script. This
script manages instances of the application.
Some little framework for this script creation is created,
probably similar to PasteScript. But it's optional to use
this; it's just that using such a framework you can get
near-instant access to commands inherited from other
frameworks, like a database-setup routine.
Inherited commands that require configuration will typically
for configuration files. These configure the
project/application in relation to the
frameworks that it uses. Not to be confused with
configuring application instances.
"Development" tasks go into
extensions. These are opt-in new commands that refer to the
development process, not to application instances.
make-servlet. (This requires
an addition to setuptools)
script gets slightly nicer, so you can do
and it will find the nearest parent
and call it, and add on Setuptools features implicitly (so
will work for non-setuptools packages).
Probably a number of features of Buildutils will be moved
elsewhere, like the
command into the
Some of those features will also be opt-in (but not all),
support. But, for instance,
runner) would be global available (but still locally
contains project-specific development-task configuration.
A new command -- maybe
refactored or something -- is for bootstrapping new
projects. A project that doesn't yet exist has no
of course, and no script, so those options don't apply here.
I'm not sure where the current
(which takes a configuration file and does any system setup --
like creating a database) can be a specific command in the
app-specific script, of course. But there's no enforced
uniformity then, and you can't be sure how any particular
application is setup. And
actually implies installation of a package, in addition to the
uniform way of creating a blank(ish) configuration file. Maybe
these will become commands in a new
script of some sort.
Anyway, my thoughts at the moment.
Created 06 Apr '06