Re: [Zope] Giving up in frustration
Martijn Faassen writes:
Just organize the documentation effort better. Our biggest need, I think, is an organization of the documentation infrastructure. Someone needs to be get pretty radical there -- ripping apart everything and putting it all together again in a better way. I'll definitely be around to give my help.
Part of the problem is that Zope has been a fast-moving target in the last few months. I would hope that things will settle down a bit when Zope 2 is finalized, so we can write a bunch of interesting add-on Products, implement some attention-getting Zope sites, and write FAQs and tutorial docs. (This recent kerfuffle also made me start writing a chapter on Zope for the Grimoire last night.) And I quite agree with Bradford Hull that the Zope learning curve is steep. There are a lot of components in Zope, and how to mentally fit them all together isn't obvious. It's worth noting the frequent use of the phrase "Zope Zen", implying that knowledge is suddenly gained in unpredictable flashes of insight. (For example, I had tremendous difficulty with calling other objects from DTML, until I suddenly realized how the namespace stack behaves.) Reading the source code may not always help; some portions of it are filled with impressively cutting-edge Python technique; even Guido would have to go slowly. -- A.M. Kuchling http://starship.python.net/crew/amk/ Think until it hurts. -- Roy Thomson
At 11:24 am -0400 17/8/99, Andrew M. Kuchling wrote:
Part of the problem is that Zope has been a fast-moving target in the last few months. I would hope that things will settle down a bit when Zope 2 is finalized, so we can write a bunch of interesting add-on Products, implement some attention-getting Zope sites, and write FAQs and tutorial docs. (This recent kerfuffle also made me start writing a chapter on Zope for the Grimoire last night.)
Now *that* would be something to look forward to! For those people not up to speed on Python, Andrew has an excellent 'Grimoire' available on Python techniques, for those people who have got the hang of the tutorial and want a bit more. Lots of good stuff available at:: http://starship.python.net/crew/amk/grimoire/html/ recommended. tone out. ------ Dr Tony McDonald, FMCC, Networked Learning Environments Project http://nle.ncl.ac.uk/ The Medical School, Newcastle University Tel: +44 191 222 5888 Fingerprint: 3450 876D FA41 B926 D3DD F8C3 F2D0 C3B9 8B38 18A2
Hello, I have been "out of the loop" since 1.9 (got buried by Y2K just before 1.10)... I think that the Zope cauldron is something like the "frog in a pot" thing... If a frog is put in a pan of cool water, and that pan is warmed slowly... the frog will be boiled to death... On the other hand, if a frog is set into a pan of boiling water, it will jump out of the pan saving its life... I can say, without a doubt, that at this moment... Zope 2.0.0 is much nicer (from what I've read in CHANGES.txt), but... dang! I'm going to just have the mindset that "Start over"... This is not completely due to the changes from 1.9... It is mostly (IMO) due to the fact that I was a mere neophyte when I got distracted... the "Zope Zen" hadn't flashed more than once or twice for me... I could work some of the controls, but was frequently unable to "do what I wanted" cuz I didn't know the "incantation"... Having the source is also a mixed bag... Right now... I'm sorry, but I don't have time to do that... I'd dearly love to do that, but I can only pull (average) 1.5 all-nighter's a week... that's the only way I can fit it in... Also, I've discovered that some releases of some distributions (e.g. the latest Caldera), are Python 1.5.2 friendly (except I haven't located how to enable 'crypt', and just discovered this morning that threads are also no there)... It is not Zope friendly... (gets ImportError: No module named thread)... I've got work to do... and can't take the time to figure this out right now... The other guy I'm working with, didn't have the time to even try building Zope (also using Caldera)... but went straight for the binary release... (Even less likely to "read the source, Luke"). Also, if I recall... the Jedi's had to train pretty hard as I recall the story... I offer these priorities (my order, not DC order): 1. Knowing how to use Zope effectively is the most important... "Getting there... I know that I'm in trouble..." I need to go get all of the current docs (haven't printed any since 1.9 days... course I hope to find ---hint-hint--- some equivalent of a "changes" doc so that I'll not waste any time reading stuff I already have... only to find out that "Oh... that's old"... Maybe the "ZODB3 thoughts" papers of Jim's have become "here's what ZODB3 is"... (hope hope) 2-98 other stuff 99. Knowing the source exists and is available is the most important... Being able to build from the source is comforting to me... I very much prefer it... HOWEVER... I need to get work done... and so to accomodate #1... I'll use a platform-specific binary release. (Now, I refuse to use Microsoft anything... but from what I've read in the Zope list... it seems to me that just about anyone using Microsoft based systems is spending mega-bucks for tools, or relying totally on the binary releases)... So, in short... If I'm going to get work done... for now (Caldera wise), I'm going to rely on a binary release. What this means is I have very little motivation to "read the source, Luke", cuz... well, just say I wanted to "slip in" a print statement or two... I'm not going to do it... I didn't build it, so I'm not sure that I won't break it, and I don't want to reload it (am not allowed to due to time constraints, etc). 100-(x-1) more stuff x. Having the time to understand the source code that I am able build and use is one thing I am really looking forward to... after I "retire". Not sure I'll do it then either... Heck... I want to be fluent in things like Apache, sendmail, DNS, object brokers, etc, etc etc too.. Not sure what I want to completely grok at the source code level... Too many interesting paths... On a similar thing... I really enjoyed "Learning Python"... I think that having a similar "Learning Zope" would be wonderful! I'd buy it... Also, I think that Learning Python is a helpful addition (I have to try to train people too) as it is much less to "get" than were the other, more exhaustive/ing tomes... Not to mention that both IPWP and PLP are now significantly dated... Even Learning Python had some "datedness" to it, and it is a new book (1.5.2 was not yet final... so not fully reflected)... Andrew M. Kuchling wrote:
Martijn Faassen writes:
Just organize the documentation effort better. Our biggest need, I think, is an organization of the documentation infrastructure. Someone needs to be get pretty radical there -- ripping apart everything and putting it all together again in a better way. I'll definitely be around to give my help.
Reading the source code may not always help; some portions of it are filled with impressively cutting-edge Python technique; even Guido would have to go slowly.
-- A.M. Kuchling http://starship.python.net/crew/amk/ Think until it hurts. -- Roy Thomson
-- Cheers, --ldl ----------------------------------------------------------------------------- LD Landis ldl@HealthPartners.Com N0YRQ Voice 612/883-5511 Fax 612/883-6363 HealthPartners, 8100 34th Avenue So, PO Box 1309, Minneapolis, MN 55440-1309 Shape your life not from your memories, but from your hopes. (Borrowed) Still programming for the day-job... haven't yet gotten that Microsoft PR job -----------------------------------------------------------------------------
On Wed, 18 Aug 1999, LD Landis wrote:
Also, I've discovered that some releases of some distributions (e.g. the latest Caldera), are Python 1.5.2 friendly (except I haven't located how to enable 'crypt', and just discovered this morning that threads are also no there)... It is not Zope friendly... (gets ImportError: No module named thread)... I've got work to do... and can't take the time to figure this out right now... The other guy I'm working with, didn't have the time to even try building Zope (also using Caldera)... but went straight for the binary release... (Even less likely to "read the source, Luke"). Well, OSS does mean reading the documentation. And to be honest, the source is the ultimative documentation ;)
Python 1.5.2: Well, there are more than enough rpm distributions. I'm doing one at the moment for RH6.0 (it will probably also work with RH5.2 :) )
Also, if I recall... the Jedi's had to train pretty hard as I recall the story... I offer these priorities (my order, not DC order):
1. Knowing how to use Zope effectively is the most important... "Getting there... I know that I'm in trouble..." I need to go get all of the current docs (haven't printed any since 1.9 days... course I hope to find ---hint-hint--- some equivalent of a "changes" doc so that I'll not waste any time reading stuff I already have... only to find out that "Oh... that's old"... Maybe the "ZODB3 thoughts" papers of Jim's have become "here's what ZODB3 is"... (hope hope)
2-98 other stuff
99. Knowing the source exists and is available is the most important... Being able to build from the source is comforting to me... I very much prefer it... HOWEVER... I need to get work done... and so to accomodate #1... I'll use a platform-specific binary release. (Now, I refuse to use Microsoft anything... but from what I've read in the Zope list... it seems to me that just about anyone using Microsoft based systems is spending mega-bucks for tools, or relying totally on the binary releases)... So, in short... If I'm going to get work done... for now (Caldera wise), I'm going to rely on a binary release. What this means is I have very little motivation to "read Well, let's summerize ;) 1.) You get a megacool tool for free. 1a.) You get even a liberal license for this tool. 2.) You get some documentation. 3.) You get free support in form of the Zope@zope.org mailing list. 4.) You are upset, because there is no perfect documentation for every method in ZOPE.
the source, Luke", cuz... well, just say I wanted to "slip in" a print statement or two... I'm not going to do it... I didn't build it, so I'm not sure that I won't break it, and I don't want to reload it (am not allowed to due to time constraints, etc).
Well, nobody told you to add print statement. But there are a number of things the source code can clarify even for people not knowing much python, examples: 1.) Which class declares absolute_url? Steps: find Zope-src -name \*.py | xargs grep -l absolute_url | xargs less 2.) Which parameters are needed for absolute_url? Steps: see 1. 3.) What capabilities/methods does a Folder have? This one is complicated :( Steps: a) find Zope-src -name \*.py | xargs grep -l "class Folder" | xargs less Now you know which methods are added at the Folder class level. b) If you want to know all inherited methods, repeat this process for all interesting base classes. To summerize: You can use the source code as a reference documentation without knowing to much of Python. And use the power of the Unix environment to get your job done. And before someone starts asking my sanity, I'd like to point out, that the Smalltalk system used exactly this as a reference: You could get the source code of every method in the system. Ok, the ZOPE source code doesn't have a browser, but there are python browsers out there. But the standard Unix environment works quite well to get the basic browsing done.
100-(x-1) more stuff
x. Having the time to understand the source code that I am able build and use is one thing I am really looking forward to... after I "retire". Not sure I'll do it then either... Heck... I want to be Well, than you will never be completely fluent with ZOPE. Hacking the source code is the "Unix" way of learning by doing. And this doesn't apply only to ZOPE. (I remember hacking the Linux 1.0 kernel lp driver to support some very sick printer. Well I don't have this printer anymore :) )
For example, our company did some consulting work for another software developer, helping these guys to get working with Linux the "correct" way. The point is not that I've showed them the complete rpm reference, I've showed them to write simple spec files. Now 2 weeks later, they are only calling me for the more esoteric features ;) Consider the same model for ZOPE: You work, you experiment, etc. When you hit a road block, you try to solve it yourself. And if you cannot solve, than ask on the mailing list. Sorry, as someone pointed out, Linux help is usually not an enumeration of steps to be done, but an explanation what is happening. So don't expect somebody else to be doing the thinking for you. Additionally, if you are not capable of learning python in one week (I don't speak about writing advanced stuff, I mean normal standard python), or one month (if you have work to do, and can only doit parttime), than you should perhaps try to get a new job description tag. Sorry to be this blunt, but here (at our university, and personally), we consider it important that professionals know how to learn fast new systems, while knowing example systems (languages, environments) is not that essential.
fluent in things like Apache, sendmail, DNS, object brokers, etc, etc
Well, that's something that is expected to be dealt by your administrator. And every competent adminstrator knows how to deal with this ;)
etc too.. Not sure what I want to completely grok at the source code level... Too many interesting paths...
On a similar thing... I really enjoyed "Learning Python"... I think that having a similar "Learning Zope" would be wonderful! I'd buy it...
Well, I've been thinking about doing something like this. The problem is, that I'm not that sure, that I'd be capable of writing it in English, my native language being German. :(
Also, I think that Learning Python is a helpful addition (I have to try to train people too) as it is much less to "get" than were the other, more exhaustive/ing tomes... Not to mention that both IPWP and PLP are now significantly dated... Even Learning Python had some "datedness" to it, and it is a new book (1.5.2 was not yet final... so not fully reflected)... Well, 1.5.2 doesn't add that much :) I'm not sure, I admit, but could it be, that only ZServer depends upon having 1.5.2 (the asyncio modules)?
Andreas -- Andreas Kostyrka | andreas@mtg.co.at phone: +43/1/7070750 | phone: +43/676/4091256 MTG Handelsges.m.b.H. | fax: +43/1/7065299 Raiffeisenstr. 16/9 | 2320 Zwoelfaxing AUSTRIA
participants (4)
-
Andreas Kostyrka -
Andrew M. Kuchling -
LD Landis -
Tony McDonald