[Zope3-dev] Re: A Take on the Hello World Acid Test - from Mandatory Viewing

2006-03-09 Thread Paul Everitt


To answer the question at the end of your document: yes.  Please 
continue on, showing the next smallest possible next step that is 
interesting.  Hopefully this step can be done with making the viewer 
confront interfaces, adapters, etc.


About the middle part, what's really needed to ensure newbies get a 
positive, confidence-building first experience?


Scaffolding.

Your document shows the chants needed that most newcomers wouldn't 
expect they should be aware of.  Let's eliminate that, for that audience 
(if we care about that audience, which might be a different discussion.)


One little Python script, maintained as part of the standard 
distribution, referred to ubiquitously as the right way to start, would 
have more impact on Zope adoption than nearly any other software 
activity (save, perhaps, for zope.bobo).  All IMO, of course.


--Paul

Darryl Cousins wrote:

Hi All,

I enjoyed the fasterbettercheaper lecture. And it got me thinking about
why I'm using Z3. Wanting to get that in words I took the hello world
acid test:

http://www.treefernwebservices.co.nz/hello.html

Fun: 1.0

Enjoy your weekend.

Sincerely,
Darryl


On Tue, 2006-03-07 at 11:31 -0500, Stephan Richter wrote:

Hi everyone,

I usually do not send messages like that, but in light of the recent 
discussions about vision, viewing this will give us all some perspective on 
what people are looking for:


http://theploneblog.org/archive/2006/03/02/faster-better-cheaper

I think currently Zope 3 would end up a little bit better than J2EE, but not 
much. I also think that the priorities the narrator sets are real ones 
representing a lot of people. So let's discuss this movie a little bit and 
see how we could do well in his evaluation.


Regards,
Stephan
--
Stephan Richter
CBU Physics  Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: 
http://mail.zope.org/mailman/options/zope3-dev/darryl%40darrylcousins.net.nz




___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Re: A Take on the Hello World Acid Test - from Mandatory Viewing

2006-03-09 Thread Paul Winkler
On Thu, Mar 09, 2006 at 02:38:48PM +0100, Paul Everitt wrote:
 One little Python script, maintained as part of the standard 
 distribution, referred to ubiquitously as the right way to start, would 
 have more impact on Zope adoption than nearly any other software 
 activity (save, perhaps, for zope.bobo).  All IMO, of course.

We do already have bin/pyskel, which is useful as far
as it goes, but that's of course not very far. 

I'd really like to see some more scaffolding.
Unfortunately there are so many use cases, we could
easily get bogged down on the details.
For example, I can imagine:

* Create a skeletal package structure.

  input:  name of package, e.g. foo

  creates (if they don't exist):

lib/python/foo
lib/python/foo/__init__.py
lib/python/foo/browser
lib/python/foo/browser/__init__.py
lib/python/foo/tests/
lib/python/foo/tests/__init__.py
lib/python/foo/tests/test_foo.py
lib/python/foo/ftests/
lib/python/foo/ftests/__init__.py
lib/python/foo/ftests/test_foo.py
etc/package-includes/foo-configure.zcml ?
lib/python/foo/configure.zcml ?
lib/python/foo/browser/configure.zcml ?

* Given interface(s), generate a skeletal class
  and supporting files.

  input: lib/python/foo/interfaces.py

  creates (but warns and exits if files exist):

lib/python/foo/foo.py

create an interface test in 
lib/python/foo/tests/test_foo.py

add some wiring to 
lib/python/foo/configure.zcml


  options:
create a view class in
lib/python/foo/browser/views.py?

create a template for that view class?

create an edit form using a template? or
zope.formlib? or what?

create an add form using zope.formlib?
or a template? or...??


Lots of options here!

Probably the best initial approach would be
to make it modest but trivially extensible so
you could write scripts that leverage it but 
do what *you* want for *your* project.

Several obvious candidates for implementing stuff like this:

Skeletor
https://svn.plone.org/svn/collective/skeletor/trunk/

Paste Script and Paste Templates
http://pythonpaste.org/script/developer.html#templates



-- 

Paul Winkler
http://www.slinkp.com
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com