Tom Deprez wrote: Okay, since you ask for it later on, I'll go try answer these questions. [snip intro]
Yesterday, I've seen a demo of Lotus Notes, quiet impressive too. Most people have seen this demo too. So I should make a comparison between these two and also a little bit with other same alike applications.
Okay -- I don't know the first thing about Lotus Notes, one of the reasons I didn't respond initially. Before Zope, I don't have any experience with web application servers; I rolled into Zope from the Python community. The other reason is that I expected someone from Digital Creations to pop in and say something. They definitely know much more about Zope than I do.
I know Zope is Open Source and free. Offcourse this is a great benefit, but I need also some info on usage by experts on the web, usage by people who just want to put an article on the web (no experience however).
1. Other available applications? I know of ColdFusion, Lotus Notes (it's web & database part), ...
Can't answer this one.
2. Why using Zope above the other? Pro's & Con's of these applications and Zope.
I can only give you some pros of Zope: * Acquisition + object publishing makes for a very powerful combo. It's rather hard to get the zen of initially, but it's truly very powerful. You can define standards for a site, which then can be overridden if necessary. You can set up basic functionality which then gets acquired by the system. You can publish any object in Python. Zope offers a lot of functionality, and at the same time it's a very open system; you can extend Zope. * management from the web. This is extremely useful! * Flexible and powerful security infrastructure. * Python is one of the best programming languages I know. Definitely much superior to the application specific scripting languages I've seen. Don't underestimate this -- kludging around scripting language quirks is a major pain. * Active and informed user community. * the Digital Creations people are very nice guys. :) Cons of Zope: * 'getting' Zope can take a while. Zope's design is based on some basic principles. These basic principles are explained in the Zope documentation, too (though perhaps some improvements can be made here). Even though you read it and understand what it says, it still takes a while before you realize fully what the implications and possibilities of these design principles are. Zope exploits the power of these principles in many different ways so it can take a while before you become familiar with it. * DTML, though quite nice, can get a bit 'perl'ish in its usage in places. There tend to be too many ways to write the same basic things in places. Also expressions that use the underscore to get to the local namespace can look awful: <!--#var "_.getitem(_['sequence-item']).title"--> instead of something like: <!--#var sequence_item.title--> There are reasons for this, and DTML itself is still very powerful, but it can get complicated. Note that most DTML is not as horrible as this example. :)
3. Looking at Lotus Notes, they don't need an external database. Can Zope's database be also used like the one in Lotus Notes? (ie. Storing records, etc..) How can this be done. Is this database capable of storing large data amounts? Huge pictures?
Yes, you can store huge amounts of data in the Zope database. I don't have much personal experience with it (though i've stored files and pictures), but Digital Creations does. Personal experience shows that this Zope database is pretty resistant to corruption too. A while back Zope suddenly started behaving oddly. I went to the server and found the hard drive Zope was installed on was full (not Zope's fault). With ZTables (a non open source Zope product) you can do more relational database stuff inside the Zope database; I don't yet have enough experience with it to give solid commentary, but from what I've seen it certainly is very nice.
4. If you need to make a knowledge base from start. Should we better use a database like Oracle, SyBase, PostgreSQL, ... or use the Zope database?
I'm discounting ZTables for a moment. It depends on how the data is structured. If your data is structured as a relational database, by all means use an outside relational database. Zope has Z SQL methods which makes relational database integration with Zope quite easy. You just write SQL on the web. If your data has a more complex structure and consists of objects pointing to each other and such, the Zope database is a good fit. I don't have much experience with this, but basically it comes down to writing some Python classes, inherit some Zope magic into them, and they're part of the Zope object database.
5. The search in Lotus Notes is fast... How fast can Zope search?
Depends on what you're searching for? Zope can be as fast as a relational database it is coupled with. Zope can find web published objects in its own hierarchy quickly, of course. I believe Paul Everitt reported that searching through large amounts of data in the object database was fast, too.
Other information is surely welcome, because I want to give a good presentation on this subject.
Okay, I hope this was useful. Now the rest of you all -- help him! Regards, Martijn