[Zope3-Users] introductory app idea: music filesystem browser

Roman Susi rnd at onego.ru
Sun Feb 26 16:44:35 EST 2006


Joel Moxley wrote:
> On 2/26/06, Roman Susi <rnd at onego.ru> wrote:
> 
>>Hi joel,

...

>>Probably such a simple app doesn't require more than 2 hours from
>>seasoned Zope3 developer ;-)
>>
>>Regards,
>>Roman
> 
> 
> I think you're right.  I rethought what an intro app should be, and I
> think the bookmarker one gets the job done.
> 
> The one drawback for the bookmarker is that there's not documentation
> on taking it deeper and making it do more.
> 
> Another idea I had would be to take the worldcookery app straight from
> the example code chapter 5 or 6 and provide a streamlined "do this in
> 30 min" introduction.  Then if someone wanted to go deeper into what
> they had done or go farther and add more features, philikon's book
> would be right there.  The obvious drawback would be the lack of 3.1
> and 3.2 specific features.
> 
> In any event, I think a well-conceived "official" getting started
> guide would carry much weight in that crucial time when someone would
> be looking around at various frameworks like ror and django.  There
> are some decent guides out there, and I am curious to see what the
> consensus would be.

Yes... Zope 3 looks heavy-weight and complicated - not for everyone. And
even non-everyone has hard time.

Even Karrigell:

http://karrigell.sourceforge.net/

"sells" better to Python programmer with its

def index():
    print "Hello, world !"


thing. (Cf. Zope3 Hello World)

So, good tutorials and examplar application could help.

The problem with current Zope3 material is... lack of motivation. To
deal with Zope3 you need to master these concepts:

 - views
 - layers
 - resources
 - viewlets
 - content objects
 - schemas
 - utilities
 - services
 - site
 - interfaces
 - adapters
 - principals
 - tests
 - ZCML configuration
(have I forgot anything?)

And you need to RTFM a lot! And then spend a lot of time writing
IHelloWorld, configure.zcml, permissions, etc. around simple thing:

def index(self):
    return "Hello, world !"

So, examplar app should show WHY do I want all this. Then Zope3 will be
ready to accept Wows! and attract people who go to Ruby railstation or
whatever. And I want to know HOW the power of Python is useful inside
Zope3. By the impression (first and second) I see no reason why Zope3 is
done in Python and not in Java or Cobol.

Probably, several apps/components are required to show the best of
Zope3. For example, PythonCard has (and always had) a lot of small demos
which REALLY demonstrate why using PythonCard is easier than just plain
wxWindows / wxWidgets. And those demos are small because using
PythonCard framework made applications small.

Maybe SQLObject can be used to make things more compact.

(BTW, I think that "ZODBObject" for ZODB could be a far more plus. Yes,
I know ZODBObject is just Persistent object in Zope, but how do I make
this with ZODB as easy as:

class Person(SQLObject):
    ...
    addresses = MultipleJoin('Address')

? That is, quering ZODB is difficult (it's probably a problem of any
OODB, but nonetheless).

)

To summarize, are there any demo apps which make people jump with joy? I
do not believe Zope3 is difficult because its serious framework.
Frameworks are there to subtract complexity, not add. And demos are just
for that: to show cases where complexity is reduced.

Please note, that I changed discussion from tutorial to demo. This is
because I believe that good demo is also good tutorial.

Regards,
Roman Suzi


More information about the Zope3-users mailing list