[Zope] Newbie Questions

Kenneth Ellested ke@younameit.dk
Mon, 19 Mar 2001 12:57:04 +0100


Hello,

I'm new to Zope and I've used it for a week or so to try and figure out how
it works. I'm used to OO programming with Delphi and other tools, so I'm
very interested in what Zope can do on the Web. I have worked out the
examples, and done some investigation on my own, like itterating through
line(s) properties, calling methods with parameters and so, and everything
works fine and very stable. But as a Newbie I have some questions that it
will take me some time to figure out on my own, so I'm trying to reach some
of you experienced developers out there.

1. Uploading files/images (>500K) seems extremely slow. Maybee it's related
to a huge memory overhead, not dividing the incoming stream into smaller
chunks or so. Can anyone verify this ?
A 3MB pdf takes over a minute to upload (locally). If I use my own ISAPI
extension on IIS5 it takes less than 2 seconds - and I dont't believe that
native code runs that much faster. Of course I can't compare against an
underlying ZODB, but still it's quite a difference (>1000%).

2. When speaking of speed, it's quite interesting that all the sites that I
have visited on the "who uses zope" list are quite slow. The more images the
slower the sites load. Well, someone may say that this is natural - but I
think the difference is more than just a simple increase in the bandwidth.
It seems to go deeper than that, and maybee it's related to Q1. Anyway, I'm
not so concerned about speed, as it can be overcommed with faster hardware,
but I'd like to get some prediction on how fast machines I have to use with
a graphically rich site. Currently I'm meassuring on a 800MHz PIII with
256MB Ram.

3. How do you set up the ZCatalog to index native html, pdf and other files
(if possible). As far as I understand, the ZCatalog is working on object
properties. I've tried to upload a couple of PDF files, and add an
application/pdf meta-type to the catalog, but I guess that I'm not even
close.
Maybee it's just a question of using the loadsite product which I guess put
native html content into some properties. But what about PDF files, can
ZCatalog index these ?

4. Link integrity. One of the things I've noticed is that objects and
internal links between them may be hard to manage when you start moving
objects around. Some would say that you should just avoid it, but I'm afraid
that this is not possible in the long run. How do you manage link (object
references) integrity in huge sites. Dividing f.ex. a large folder of
objects into smaller groups may brake a lot of links on the site. In a
traditional environment, the editor (or server) will manage the integrity,
so when we move a file, the refering files will be updated automatically. Is
there any kind of an object notification system or like in Zope, or a way of
automatically ensuring integrity between objects ?

5. I will continue to investigate and try out Zope, to get a clearer view of
the benefits and drawbacks (if any ;-). So I've decided to try and make a
somewhat (more or less) complicated structure. I have worked some time with
ASP and VBScript (god help me), and I have a clear view on how to do it with
these tools. But as usual this means that productivity equals nothing... I'd
like to change that fact !
So I'm hoping that someone may give me an idea of how to do this with Zope.
The structure is about product propties/attributes. Say for example that we
have 1000 products that we like to let a user create. These products only
have small amount of properties in common, so making 200 ZClasses with the
right property sheets seems a little overkill. What I would like is to have
a large list of possible properties, and let the user make a group (maybee
folder like) wich contains the product objects, and then select what
properties these products have in common from a multi-select list (for
example). So the individual objects will have a dynamic property sheet
defined by the group they belong to. Also it should be possible to name the
properties without beeing restricted to property ID's (properties/attributes
may have spaces in the output). Basically it should work as a table with
products on the top, attributes on the left and values in the intersections.
I'm not sure about the layout with a group that defines the properties.
Maybee it would be better to make a "Table" class that combines a product
instance with the properties. Anyway the interesting part is that when I
delete a product it's properties should be delete as well.

Well, maybee I should have split this message into smaller questions, but
any feedback is appreciated. If I ask to much, just let me know - this is my
first posting, so please be gentle with me ;-)

Regards
Kenneth Ellested