[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