FW: [Zope] _Very Long_ Giving up in frustration
I am forwarding this with Brad's permission. It's long, but it is instructive as well. The real point (to me) is that each new user in Zope-land has a unique interest/need to get a particular part of Zope's stuff going for them. In Brad's case it was updating and inserting in ZSQL Methods. This created what I hope was a healthy discussion/admission regarding the current state of documentation, and a variety of things that can and should be done to correct that. Again, I thank Brad for opening up this discussion, and for allowing me to forward this email. P.S. If anyone has good working examples of updating database records using ZSQL Methods, don't be shy, they will be much appreciated (at least by one person on this list :-). -----Original Message----- From: Bradford Hull [mailto:brad@tera.com] Sent: Monday, August 16, 1999 5:40 PM To: Hadar Pedhazur Subject: Re: [Zope] Giving up in frustration
Bradford wrote:
This is unusual, I realize, but I'm going to tell you why I'm giving up on Zope now.
[I'm snipping most of your post, because you say the cogent part above, and follow it up with a plea for better documentation].
I am very sorry to see you go. We all understand and feel for your frustration. We hate to lose even a single person because of a stupid reason like this, but alas, it is a chicken and egg problem. We are building a large and complex system, all at our own risk. We give it away, and support the hell out of it, and yes, documentation lags (sometimes too much).
I understand documentation lagging; you're getting great stuff accomplished. From my example, though, you can see that the documentation is also necessary to succeed to the degree you deserve.
However, there are a few questions that I would appreciate you responding to before you disappear forever. Since you saw the promise of Zope, perhaps you could spare a few last minutes to help us understand some of the problems. I'll key most of my questions off your next question (remember, I deleted an awful lot in between...).
People! Write some getting-started documentation! Write an FAQ file!
Did you find the FAQ at http://zdp.zope.org ? If not, why not? Was the ZDP effort too hidden?
The FAQ file did not come close to the area where I was going mad with frustration. I wanted to be able to present data, which is covered well and thoroughly. I am also responsible for making methods available to collect and maintain the data, and no hint on where to start appeared anywhere. ZSQL methods seemed to clearly only allow "select" statements; when I put in an update, insert or delete, they made a big ugly mess with error returns. After I asked for help, a couple kind souls told me they work anyway. In the 2.0 beta, if I refer to one from dtml, they put up their little generated dtml screen after mine and re-require the data I already gave them, and then I have not been able to verify that it actually got in the database. Thus, I have spent 3 times as long as I have ever had to on any other system, memorizing all available info, and can't update or insert or delete a single row in a single-column file. The FAQ was not obvious enough, in my opinion, but it's sort of slight right now anyway. What I'd like to see is some place the basic assumptions are answered. When I install Zope I am installing probably 35 directories. Then the documentation says to add Extensions to the Zope directory. There are a _lot_ of ways to interpret that.
You were specifically interested in External Methods, and in Z SQL Methods. Do you feel that this should be covered in "getting-started documentation"? Can't 99% of Zope users safely ignore the concept of External Methods?
It looks like that might be true, but in my search for any kind of clue about how to update database fields, it looked like the only thing that had not been ruled out, since ZSQL had so efficiently convinced me it would only do select statements.
Online on Zope.org, is the following:
"To use an External Method, you need to place your Python source code file in the 'Extensions' directory in of your Zope directory (you may need to create this directory), or in an Extensions directory inside a Product directory, e.g. lib/python/Products/MyProduct/Extensions."
You complained that you didn't know what directory the "Extensions" directory should be created in. You got your answer by asking the list. Was the documentation so far off that you couldn't have suggested (via the Collector, ZDP, an email to info@digicool.com, support@digicool.com, etc.), that this simple additional one-liner be added to the documentation?
(Whoops, I see some grammatical errors in our online docs too...)
We need more than a one liner to make up for there being no bread crumbs anywhere for somebody to follow that wants to update their data. You should put in a chapter in the dtml book and at least a page in the ZSQL guide indicating the things I needed to know and could not find. At least, I'm assuming they're there; the help I got was credible, even if the results were disappointing.
And for God's sake, don't write a patronizing letter about "Does Tera have money to spend?" to a person who's trying to evaluate whether something is worth spending money on...
You are correct. That's not the correct answer for your problem. However, do you begrudge us the opportunity to stay in business at least long enough to get the docs right? I hope not. Most of the answers relating to "Pay Digital to do it" relate to people who are looking for additional features in Zope. Since Zope is pretty powerful already, and we constantly add new stuff to the free base anyway, individual desires can and should be supplemented by paying customers (at least IMHO).
I'd like to spend money supporting the company that makes something this promising, but I have to have a case I can take to my management. Any client that comes with money will first have to have figured out how to do enough to realize Zope's potential; I just saw it without being able to use it because this whole effort is so much like things I have tried to do in the past.
Today, it's Monday. As recently as Friday, you wrote:
I'll be delighted to help make documentation improvements, because if it is this great, it deserves to be useable by everybody. Frankly, the documentation as it stands is great marketing material, but maddening if you want to insert and update data in a database, or indeed add/update data at all.
I guess you thought better of helping the community (and yourself) out over the weekend. Too bad. Someone with your qualities:
"I'm experienced, quick-witted, hard-working, dogged and persistent."
could have added a laser-like focus to the sections that most need updating.
I can only document things I can figure out; otherwise, I'd be doggedly writing for you. In fact, if my rant gets me enough hopeful looking information, I'll probably install zope at home and fight through this impasse in my spare time so I can help with this; I hate to give up on such a good idea. I want you to succeed, and to make money, as I said, I just couldn't spend the time at work when I'm only hitting barriers, and never any clear sailing.
(giving-up-wistfully-and-will-check-back-regularly)-ly yours,
I hope so. And again, if you can take a few more minutes to answer some of the above questions, I know that I will personally be grateful to you, and I suspect so will the rest of Digital Creations.
Thanks again for taking a look at Zope.
I'm sorry if I hurt your feelings after all the great work you've done. It's a thing I often end up doing: pointing out the other thing you also have to do. Makes me unpopular in church committees. I suppose that must be why I do it :-) You folks are going to be rich if you don't die of stress, I'm convinced - this idea is the right thing at the right time. I'll probably be back on the bandwagon in a couple of months. If you'll tell me how to hook a ZSQL method for insert/update to dtml, I'll jump back on now and start that chapter. I'm not busy tonight... -- Bradford K. Hull | Do not be fanatical in your dedication to reason. brad@tera.com | Anne Rice, "Pandora" (206)701-2066 |
-----Original Message----- From: Bradford Hull [mailto:brad@tera.com] Sent: Monday, August 16, 1999 5:40 PM To: Hadar Pedhazur Subject: Re: [Zope] Giving up in frustration
I'll probably be back on the bandwagon in a couple of months. If you'll tell me how to hook a ZSQL method for insert/update to dtml, I'll jump back on now and start that chapter. I'm not busy tonight...
Try this... let's say your INSERT or UPDATE method is called 'do_update'... Your DTML would look like: <!--#call "do_update(param1=var1,param2=var2)"--> That's basically it. Use a #call tag and put double quotes around a function call to the ZSQL method, passing in as keyword parameters all the variables that it needs to do the update or insert. I frequently then follow this with a: <!--#call "RESPONSE.redirect('index_html')--> to point the user's browser back to the main page of the object I've just updated, but this is optional. You could just make your DTML page display a confirmation that the update took place. Does this give you an idea how to get started? (Note, by the way, that sqlvar, sqltest, and sqlgroup can be used in any SQL statement that needs variables or criteria, not just SELECT.)
Hello everyone, I have read the previous discussion about FAQ and Doc's for Zope and the Idea of using Zope it's self as a tool to describe it's inner most secrets and methods of magicn is great, I also read about the intention to develop a new tool for Zope to describe and generate such fruits, and I most warn that I am not to much of an expert, in fact I am just trying to learn and believe strongly on the Idea of Zope even when I do not fully comprehend it's inner workings, I do have an Idea, Why not use Squishdot Product?. This cud be very productive and easy to do, some one whould host the project set up Squishdot (30 sec.) then it just remains to generate as many categories as needed to cover the diferent aspects of Zope It's self (like an Index), then user would only go to this site hosting Squisdot for Zope Faq and docs team, and would select a category meaning a chapter or subchapter or to ad an annotation or example or even some code as Squisdot allows to attach files, etc. this cud be a knowledge base with search and reorder features, and cud be anotated or admin with the inherit power of Zope.... Well this is my Idea hope it serves of some good... Sam
Francisco Sam Castillo wrote:
Hello everyone,
I have read the previous discussion about FAQ and Doc's for Zope and the Idea of using Zope it's self as a tool to describe it's inner most secrets and methods of magicn is great, I also read about the intention to develop a new tool for Zope to describe and generate such fruits, and I most warn that I am not to much of an expert, in fact I am just trying to learn and believe strongly on the Idea of Zope even when I do not fully comprehend it's inner workings, I do have an Idea, Why not use Squishdot Product?. This cud be very productive and easy to do, some one whould host the project set up Squishdot (30 sec.) then it just remains to generate as many categories as needed to cover the diferent aspects of Zope It's self (like an Index), then user would only go to this site hosting Squisdot for Zope Faq and docs team, and would select a category meaning a chapter or subchapter or to ad an annotation or example or even some code as Squisdot allows to attach files, etc. this cud be a knowledge base with search and reorder features, and cud be anotated or admin with the inherit power of Zope....
Well this is my Idea hope it serves of some good...
Then I volunteer you and Butch and whomever you can recrute to create a squisdot somewhere with the intention of eventually importing it into the new zope site. Throw the ZDP people at it, bootstrap it with some content, get some squishdot testing and proven stability, and we will put it online. We can even link to it from the default Zope content. In the back of your mind you may be thinking that Squisdot is not quite the right model for the problem and you may be right. But right now it's better than both the current method (the vast expanse of mail list archives) and the Collector for this, while Tracker is still in the oven. We can always worry about converting squishdot data in to Tracker data at a later time. -Michel -Michel
Sam
_______________________________________________ Zope maillist - Zope@zope.org http://www.zope.org/mailman/listinfo/zope
(To receive general Zope announcements, see: http://www.zope.org/mailman/listinfo/zope-announce
For developer-specific issues, zope-dev@zope.org - http://www.zope.org/mailman/listinfo/zope-dev )
Hi, Just my two cents worth... We need to build a sample site which contains all the usual bits-n-pieces that people need. I've got one and I'll cut out the data & stuff I cannot release and put it on my webpage (next week). We need: * Simple session management * Example of OBDC data connection to spreadsheet / database * Example of Squishdot style layouts (ie a generic 3 column layout with drop boxes for content) * Example of using external / Zclass methods * Rendering XML to XHTML (merge with url session management?) Anything else folks? (make it easy though ;) Cheers, Anthony Pfrunder
On Tue, 17 Aug 1999, Anthony Pfrunder wrote:
We need to build a sample site which contains all the usual bits-n-pieces that people need. I've got one and I'll cut out the data & stuff I cannot release and put it on my webpage (next week).
We need: * Simple session management * Example of OBDC data connection to spreadsheet / database * Example of Squishdot style layouts (ie a generic 3 column layout with drop boxes for content) * Example of using external / Zclass methods * Rendering XML to XHTML (merge with url session management?)
Let me second that motion. I'm just starting with Zope and I would love to see more examples to study. Also, someone was suggesting and index/glossary of variables, dtml commands and such. This would also be extremely handy for those of us who are still in the process of figuring out what is possible with Zope, let alone how to do it. Further, I agree with the person who suggested a thoughtful reorganization of the existing Zope docs. I know there's a lot of good work there, but I struggle to find what I need. Exactly what makes it difficult to use is difficult to say, but certainly adding search capabilities would help. BTW, I am having a great time learning Zope. I'm envious of you experienced Zope users out there. -Tim -- Timothy Wilson | "The faster you | Check out: Henry Sibley H.S. | go, the shorter | http://slashdot.org/ W. St. Paul, MN, USA | you are." | http://linux.com/ wilson@chem.umn.edu | -Einstein | http://www.mn-linux.org/
On Mon, 16 Aug 1999, Tim Wilson wrote:
On Tue, 17 Aug 1999, Anthony Pfrunder wrote: Also, someone was suggesting and index/glossary of variables, dtml commands and such. This would also be extremely handy for those of us who are still in the process of figuring out what is possible with Zope, let alone how to do it.
There is a GREAT quick-guide on the Zope Documentation Project list. Check last month's for it. Could someone add it as a HOWTO to the new ZPT site?
BTW, I am having a great time learning Zope. I'm envious of you experienced Zope users out there.
Won't be long before you join us I think ;)
-Tim
Cheers, Anthony Pfrunder Computer Systems Engineering University of Queensland
P.S. If anyone has good working examples of updating database records using ZSQL Methods, don't be shy, they will be much appreciated (at least by one person on this list :-). ted by paying customers
(at least IMHO).
Hi Zopers, for my work with Zope, covering the development of tools that interacts quite heavily with SQL dbs, I have written a set of DTML +SQL Methods that allows to build the basic of a insert/update/delete interface. It is quite nice, as it allows you to use the same form to create and modify a record (so you have to write only one form), and basically you have never to write SQL. It is magically acquired on the fly. The problem is twofold: a) it is undocumented :---( b) it is in Italian :------(. However, if someone is interested, I will make it available somehow. Let me know what you think. Paolo -- Paolo Bizzarri - Responsabile Marketing I3 Icube Srl Sede: Via Ridolfi 15 - 56124 Pisa (PI), Italia E-mail: p.bizzarri@icube.it WWW: www.icube.it Tel: (+39) 050 97 02 07 Fax: (+39) 050 31 36 588
Hi Zopers,
for my work with Zope, covering the development of tools that interacts quite heavily with SQL dbs, I have written a set of DTML +SQL Methods that allows to build the basic of a insert/update/delete interface.
I for one will appreciate a package like this. I'm quite new to Zope and since i'm going to interact a lot with SQL dbs, i'm sure i can learn a lot from such a package. roché
hi, I'm working on the same thing, but not finished yet. So I'm very much interested. On Tue, 17 Aug 1999, Paolo Bizzarri wrote:
P.S. If anyone has good working examples of updating database records using ZSQL Methods, don't be shy, they will be much appreciated (at least by one person on this list :-). ted by paying customers
(at least IMHO).
Hi Zopers,
for my work with Zope, covering the development of tools that interacts quite heavily with SQL dbs, I have written a set of DTML +SQL Methods that allows to build the basic of a insert/update/delete interface.
It is quite nice, as it allows you to use the same form to create and modify a record (so you have to write only one form), and basically you have never to write SQL. It is magically acquired on the fly.
The problem is twofold:
a) it is undocumented :---(
b) it is in Italian :------(.
However, if someone is interested, I will make it available somehow.
Let me know what you think.
Paolo
-- Paolo Bizzarri - Responsabile Marketing I3 Icube Srl Sede: Via Ridolfi 15 - 56124 Pisa (PI), Italia E-mail: p.bizzarri@icube.it WWW: www.icube.it Tel: (+39) 050 97 02 07 Fax: (+39) 050 31 36 588
_______________________________________________ Zope maillist - Zope@zope.org http://www.zope.org/mailman/listinfo/zope
(To receive general Zope announcements, see: http://www.zope.org/mailman/listinfo/zope-announce
For developer-specific issues, zope-dev@zope.org - http://www.zope.org/mailman/listinfo/zope-dev )
Gruß Joachim Schmitz WWW-Consultant email: js@ac-copy.net tel: +49-241-89491-0 fax: +49-241-89491-29
participants (9)
-
Anthony Pfrunder -
Francisco Sam Castillo -
Hadar Pedhazur -
Joachim Schmitz -
Michel Pelletier -
Paolo Bizzarri -
Phillip J. Eby -
Roché Compaan -
Tim Wilson