[Grok-dev] Re: initial thoughts on grokproject

Philipp von Weitershausen philipp at weitershausen.de
Tue Feb 27 20:28:15 EST 2007

Tim Terlegård wrote:
> 1) "If I run grokproject myproj, in what directory will the project be
> created?". mkzopeinstance asks about the directory, so I'm often not in
> the same directory as I want the instance in when I run mkzopeinstance.
> Perhaps "grokproject --help" should be a bit more helpful.
> It'd be really nice if I just needed grokproject and nothing else to get
> started, no other documentation about grokproject or grok. A student
> might go to school and find grokproject in the PATH and get curious. He
> or she has no documentation, but knows that --help sometimes gives a few
> clues. Today the student wouldn't get much help from "grokproject
> --help".
> So "grokproject --help" could say something like this:
> "grokproject creates a home for a grok/zope/web project in the current
> directory. It will download and use Zope 3.3.1, create a zope instance
> and database in the project folder. Add your code to the src sub
> folder and start the project with bin/runzope."


In addition to that, the project template should also include a 
top-level README.txt that explains where you can put your code and how 
to start Zope, etc. I think you're suggesting that as well..

By the way, after trying out different package/repository layouts, I 
find I don't like 'src' a lot. I'm thinking of getting rid of it...

> 2) "grokproject asks for a module, a demo module, what is that about?".
> I thought it wasn't that important so I just pressed enter, but it did
> really want something. If it's just for giving an example, maybe it can
> just be called demo.py and don't necessarily ask about it? To me it's a
> non-obvious question that gets in my way to get started.

Yes, I agree. Perhaps it can indeed be made optional. If no name was 
supplied, no file is created.

> 3) "I'm asked for a password, but will it be encrypted or not?"
> mkzopeinstance asks if you want to use SHA, plain text or some other
> hashing stuff. Does grok use plain as default? Can you change that? To
> me it would make sense if grokproject asked for this, but maybe it's
> because I'm used to mkzopeinstance asking me that.

I'm all for

a) improving the documentation on this issue (where is the password 
stored and how do I change it?)

b) supporting encryption

Note that b) requires a Zope 3 instance recipe that supports encryption, 
e.g. gocept.zope3instance.

> 4) "Now I have my project. But what are these directories about? Do I
> need to run bootstrap/bootstrap.py? Do I need to know about eggs to get
> going? Do I need to create them? How do I start the server and see the
> result of my work?"
> I think it would be great with a README.txt in the project root folder
> that explains what is inside each toplevel folder. It should explain
> what bin/test and bin/buildout does. It should explain what bootstrap
> folder is about, how you use buildout.cfg and setup.py, what is inside
> parts. "parts" is a weird name btw :)


> I think bin/ should include runzope, zopectl and zpasswd.

+1 This would be something the Zope 3 instance recipe should take care 
of. gocept.zope3instance supports this, I believe. gocept.zope3instance 
has other problems, IMO, in that it doesn't (or at least didn't when I 
looked at it) the creation of ZCML slugs through buildout.cfg.

> This is my wishlist. We'd like to lower the bar (to zope) with grok,
> right? Let's make it dead simple :)

I take this as volunteering :). Are you a Zope contributor yet? It's 
very easy to become one, and it might be useful for other projects. We'd 
certainly appreciate any contributions to grok from you. In particular, 
I'd welcome any of the improvements you suggested here. So feel free to 
hack on grokproject. All I really did was create a simple hack based on 
paste.script and buildout. I'd be happy to see it being turned into 
something more serious.

http://worldcookery.com -- Professional Zope documentation and training
Next Zope 3 training at Camp5: http://trizpug.org/boot-camp/camp5

More information about the Grok-dev mailing list