[Grok-dev] grokproject status
Jan-Wijbrand Kolman
janwijbrand at gmail.com
Thu Apr 29 07:14:37 EDT 2010
Hi,
(after re-reading the Grok-emerging-from-dependencies-thread I got quite happy
again with Grok's state of affair - thanks again Martijn).
Anyway, grokproject:
As you can see at http://grok.zope.org/releaseinfo/ we're changing the way
grokproject will access version information, and the replacement for the
eggbasket functionality:
* There's now a version.cfg inside a directory of the particular grok version.
* In this same directory there is an "eggs" subdirectory, containing the (still
inomplete) set of eggs that are needed for a grok application. The "find-links"
directive will point to that directory.
* How grokproject determines what version of grok to use (based on cmdline
options, or by using the "current" version) has been simplified.
* grokproject will create a "buildout.cfg" that uses this information like so
(with 1.1rc1 taken as an example)::
[buildout]
extends = http://grok.zope.org/releaseinfo/1.1rc1/versions.cfg
extends-cache = cache
find-links = http://grok.zope.org/releaseinfo/1.1rc1/eggs/
...
* I have "retroactively" created the same directory structure for the 1.0.1 and
1.0a2 releases. NOTE: this means the upcoming grokproject release will not be
able to create new projects based on grok < 1.0.1!!
Also:
* Newly created projects will not themselves contain an entry point for the
grokcore.startup wsgi application factories anymore. It was much simpler to
define this entry point in grokcore.startup itself. grokcore.startup needs a
release and then grok 1.2 will start to use that version. NOTE: this means
existing grokprojects will not be able to create new applications anymore based
on grok > 1.1. People will have to update their grokproject tools.
* The application start profile that would use a zdaemon wrapped around the
paster process has been removed. There's one way to start an app now, and that
is with paster serve.
Still working on:
* The buildout.cfg file of a newly created project includes a [zpasswd] section.
It will create a cmdline tool based on code in zope.app.server to easily create
a zcml snippet for a new principal definition (including an correctly hashed
password). I do not like pulling in zope.app.server just for this feature - I
think it is nog used otherwise. So either we rip out this "feature" (is it used
by anyone?) or we re-create the script somehow - but where?
* In the old "bin/zopectl" days one could easily run a python script against the
application by doing "bin/zopectl run [script.py]". Somewhat similar to the
interactive debugging feature. With the paster setup this run-an-adhoc-script
feature is gone, but we want it back somehow. Probably this could be resurrected
n grokcore.startup, but I'm not yet sure how.
Another note:
The development __of__ grokproject itself is now done solely in python2.6. The
reason was, that running the grokproject tests on Windows (on the buildbot for
example) will fail with missing binary eggs for python2.5. But I do not think
this is really a problem.
Ok, that's the current statua. I'm continuing now the two todo items.
regards, jw
More information about the Grok-dev
mailing list