Re: [Zope] CBSNewYork.com using ZUBB!?!
What parts of it didn't perform well? Tell tell? Anything you could give back would help. Thanks, BZ On Wed, 3 Apr 2002 10:27:15 -0500, Lance <odysseus@acedsl.com> wrote :
On Tuesday 02 April 2002 04:11 pm, BZ wrote:
Oh yes, they are.
Not quite true. Originally, when we first launched the message boards, it was pure ZUBB. However, we found the version we were using didn't perform under moderate load as well as we thought it would, so we heavily modified the code. Now, it's a weird mutated cross between a stripped down Squishdot and ZUBB, with a bad word filter. Outside, it looks like ZUBB, but inside, it's quite ugly. We're hoping to someday soon scrap it entirely for something better.
-- -Lance Carito Viacom Local Networks
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
-> What parts of it didn't perform well? Tell tell? Anything you could give -> back would help. I recently did a "web application" for a client. My first thought was to use Zope, so I built my app in Zope. But I needed access to the file system. And WebDAV. And SSL. Once you step outside of the Zope security model (i.e., to work with files or the network), things get sloppy quickly. LFS had some problem I had to fix, too--and since RPMs of the latest Zope are not routinely produced or easy to find, I'm running an outdated version that I know has serious memory corruption issues. There is also a massive void of _Developer_ documentation (where is the HTML, completely cross-referenced, documented object hierarchy listing all methods and members?) and I doubt that this problem will be fixed anytime soon. Last time I whined about this I was basically told that developer documentation was not a priority. (I own three Zope books, they didn't help.) So after a couple of weeks of mulling about, discontent with my Zope-based design, I redid the entire project from scratch using Apache with mod_python (and of course mod_dav and mod_ssl). It took me 4 days, and the client is very happy. My opinion, after having done 4 production projects with Zope and 2 tech demos, is that it's great for a braindead "just talk to the SQL database" project, or if you want to use a pre-existing Product (like Squishdot, which rocks, for example). But if you need to write something from scratch that needs access to the filesystem, it makes more sense to just use mod_python or PHP. (I've fallen off the Perl wagon completely, but if that's your thing... :) Also, Apache is far more flexible than Zope as a deployment platform. The lack of developer docs, plus the headache of understanding every little Zope quirk and having to develop your own "best practices" makes Zope a less-than-perfect development platform (DTML Method or Document? PythonScript or External Method? Untar in /ZOPE_HOME/ or in /ZOPE_HOME/lib/python/Products? ZClass or just clone a template? Distribute a .zexp or a .tar.gz? What Property Sheets should my Product have? How to map FTP uploads to particular Zope Meta Types? Write my own management U.I. or use the Zope management interface? Branded error pages? DTML or ZPT? Etc.) Finally, I'm sure my opinion is biased. I am far more familiar with Apache's internals than I am Zope's (my old dayjob was working on a C Apache module sold commercially). This is just my opinion, send any flames to me personally and not to the list. Thank You, Derek Simkowiak dereks at realloc dot net
I would like to quickly comment on this days-old email-- Our experience with the Zope environment, as well as ZopeCorp., has been overwhelmingly positive, and compared to what was being used before, Zope was a godsend. We needed to build a system which would: enable us to set up many markets, and many stations(radio or tv) quickly and smoothly enable station personnel to quickly update their sites share content(stories, images, etc) across stations in a market enable a designer to quickly and easily modify look and feel enable us to quickly add any kind of functionality or widget and probably a few other things I can't think of at the moment. It's quite a complex system, nothing like your "braindead just talk to the SQL database" application. In fact, we found the ZODB to be more than capable of storing and serving up thousands and thousands of objects (stories, images, etc.). We never had the need nor the desire to dump them onto the filesystem (with the exception of large audio and video files). The current product is divided into Python filesystem base classes, which did the heavy work, and ZClasses,which did the look and feel work (this was back in the day when ZClasses were fashionable). We used LocalFS to access certain news, traffic and weather data which we receive from external sources, and never really had a problem with it. Granted, developer documentation is on the lean side, however it is far better now than it was several months ago, and gets better all the time. Maybe I was dreaming, but I thought there was an html reference guide listing all available methods and objects? And when all else fails, we found reading the source code to be enormously helpful and mindnumbingly easy to understand, for the most part. Perhaps we just intuitively grasped Zope concepts and architecture. After working with various web application environments, from dinky perl scripts, to full-blown java application servers, I found Zope to be close to the ideal development platform. It enabled us to grow from 6 major station sites in one market to ~30 in various markets across the country in under 5 months. And I should also mention ZopeCorp has been overall a fantastic company to work with. If you want a project done well, and you have the budget for it, I highly recommend throwing all your money towards ZC. It would be a wise choice. -- -Lance T. Carito Viacom Local Networks *Note: I should probably mention this is my own personal opinion, and may or may not reflect my company's viewpoint. On Wed, 3 Apr 2002, Derek Simkowiak wrote:
I recently did a "web application" for a client. My first thought was to use Zope, so I built my app in Zope.
But I needed access to the file system. And WebDAV. And SSL. Once you step outside of the Zope security model (i.e., to work with files or the network), things get sloppy quickly. LFS had some problem I had to fix, too--and since RPMs of the latest Zope are not routinely produced or easy to find, I'm running an outdated version that I know has serious memory corruption issues.
There is also a massive void of _Developer_ documentation (where is the HTML, completely cross-referenced, documented object hierarchy listing all methods and members?) and I doubt that this problem will be fixed anytime soon. Last time I whined about this I was basically told that developer documentation was not a priority. (I own three Zope books, they didn't help.)
So after a couple of weeks of mulling about, discontent with my Zope-based design, I redid the entire project from scratch using Apache with mod_python (and of course mod_dav and mod_ssl). It took me 4 days, and the client is very happy.
My opinion, after having done 4 production projects with Zope and 2 tech demos, is that it's great for a braindead "just talk to the SQL database" project, or if you want to use a pre-existing Product (like Squishdot, which rocks, for example). But if you need to write something from scratch that needs access to the filesystem, it makes more sense to just use mod_python or PHP. (I've fallen off the Perl wagon completely, but if that's your thing... :) Also, Apache is far more flexible than Zope as a deployment platform.
The lack of developer docs, plus the headache of understanding every little Zope quirk and having to develop your own "best practices" makes Zope a less-than-perfect development platform (DTML Method or Document? PythonScript or External Method? Untar in /ZOPE_HOME/ or in /ZOPE_HOME/lib/python/Products? ZClass or just clone a template? Distribute a .zexp or a .tar.gz? What Property Sheets should my Product have? How to map FTP uploads to particular Zope Meta Types? Write my own management U.I. or use the Zope management interface? Branded error pages? DTML or ZPT? Etc.)
Finally, I'm sure my opinion is biased. I am far more familiar with Apache's internals than I am Zope's (my old dayjob was working on a C Apache module sold commercially). This is just my opinion, send any flames to me personally and not to the list.
Thank You, Derek Simkowiak dereks at realloc dot net
-> I would like to quickly comment on this days-old email-- Thank you for the counter-arguments and response. -> of storing and serving up thousands and thousands of objects (stories, -> images, etc.). We never had the need nor the desire to dump them onto the -> filesystem (with the exception of large audio and video files). I did not mention, the latest app (which went from Zope + LFS to Apache) was specifically for large audio and video files. In fact, it was a filesharing system for many Gigs of data. Much of my problem was trying to get out of the Zope model ("objects") and into the simpler "just pass me the fscking file with the right Content-Type". I know that better Zope filesystem mapping is planned for Zope 3.0. -> easy to understand, for the most part. Perhaps we just intuitively grasped -> Zope concepts and architecture. As I mentioned, my pre-existing familiarity and experience with Apache was a large part of the reason that Apache made the easier solution for me with this latest project. However, even if it's subjective, that is a real reason; I didn't have the time to spend surfing through the Zope codebase, trying to figure out WTF I was supposed to do. Had there been more developer documentation (ala httpd.apache.org) I might have stuck with it. Of course, this small project didn't have a budget for Zope Corp. Perhaps that is the key? If you have a big project that can afford Zope Corp.'s expertise, Zope is a great solution; but if you need to build it in-house, then expect to spend lots of time surfing the Zope source code (?). --Derek
On Fri, 2002-04-05 at 16:48, Derek Simkowiak wrote: ...
Of course, this small project didn't have a budget for Zope Corp. Perhaps that is the key? If you have a big project that can afford Zope Corp.'s expertise, Zope is a great solution; but if you need to build it in-house, then expect to spend lots of time surfing the Zope source code (?).
Or other Zope Consultants. -- Bill Anderson Linux in Boise Club http://www.libc.org Amateurs built the Ark, professionals built the Titanic. Amateurs build Linux, professionals build Windows(tm).
Some of Derek Simkowiaks points are definitely valid, other I wouldn't know if they were, and some are not. I'll just respond to the ones I don't agree with.
My opinion, after having done 4 production projects with Zope and 2 tech demos, is that it's great for a braindead "just talk to the SQL database" project,
Well, yes it is. But that is still not the string point of Zope.
But if you need to write something from scratch that needs access to the filesystem, it makes more sense to just use mod_python or PHP.
If it is completely file based, then yes, but otherwise: Not at all. There is no problems in doing things that need access to the filesystem.
The lack of developer docs, plus the headache of understanding every little Zope quirk
Agreed.
and having to develop your own "best practices"
Oh, but that is something you have to do with all platforms. And the more flexible the platform is, the more you need to develop your own "best practice" because there are more ways of doing things.
makes Zope a less-than-perfect development platform (DTML Method or Document?
None at all. If you are doing something complex in Zope, the best way of doing it is to make your own objects. This is true for all OO environments, and for Zope also. If you develop in python or with ZClasses seems to be a matter of taste, and also dependant on what you are doing. All your other "either/or" examples are mostly just examples of the flexibility of Zope. That you can write python scripts wothout having to store them on disc and you still have the option of writing external scripts that can run unlimited python is IMO not a drawback, and nothing you have to make a design choice about. You do point out several of Zopes drawbacks: The docs aren't good. It is quirky. But I think there is one "drawback" you fell victim to: Zope isn't like other systems. You say that Zope works well for braindead SQL systems, and yes it does, but that comment indicates to me that you have missed out on what Zope is *really* good at: Rapidly developing complete webapplications thanks to the OO-structure of Zope. Not having to care about the braindead SQL or messy filesystem interactions, but storing things in a proper ODBM is a treat!
participants (5)
-
Bill Anderson -
BZ -
Derek Simkowiak -
Lennart Regebro -
odysseus@acedsl.com