deutsch
 WOS 2 / Proceedings / Panels / Freie Software / Open Source Content Management Systeme / Mark Pratt / script

Zope

Herbert Meyer: The next system nearly all people know. It is Zope. And we have here in Berlin a Zope service centre called Beehive and we will now here a short talk from Mark Pratt from Beehive. In the room is Nico Grubert. He and Mark together will do the presentations and if you want and they find time a hands on session to show you some parts of Zope. In our work space we have Zope.cmf dog bowl. It is correct. The name is dog bowl tested and looked how it works with all the content produced during the Wizards of OS 2. I want to say that we are very happy in the work space if you bring the content you produced, your written words, your pictures, maybe your videos, your audio stuff, your binaries, your power point presentations, your PDF's to the work space because we need content, content, content is the king. We want to process them and if we don't have enough content our editors have nothing to do. It would be not so nice and more over please come and enjoy the work space. You can follow what the editors are doing. If it is very easy then you can help them and you can do it. Now we will here the talk from Mark Pratt on Beehive Zope.

Mark Pratt: Thank you. I'm happy to be here today. I'm going to be talking about Zope. Zope is becoming very popular especially in the content management area. But similar to open ACS Zope is a lot more then just a system to built content management websites. An interesting definition I heard recently for content management was that content management is managed sharing and I'd really liked that definition and actually that is a system that Zope excels that I find because you know nearly defining a certain publishing process or a certain work flow has being a content management system I think is just someone out of place because a discussion forum or lets say any kind of system where people can interact and talk with each other. An interesting example might also be like weky which is also used for this conference. These are all tools that allow for discussion and the only thing then that is really important then is that the content then be organised in that. There is some kind of lets say work flow which allows for this kind of co-operation to continue.

So let me start with a little introduction to Zope. Zope is an open source content management and web application server. Now a lot of people have problems first when they hear the word web application. What is a web application? And I will get to that in a second . But first I want to show you very briefly what the Zope management interface looks like. It is not really much different then I think that is one thing that we have learned today is the content management systems pretty much look very similar as fare it is the metaphors that you use to mange this content. However, Zope has one distinction. You see there is this little tab. This pull down menu where you can add things. That is not designed really for necessarily for content as for creating what is known as an instance of something. An instance - Zope is completely object oriented, so it borrows from that language - when you create an instance you create basically a copy of a particular piece of software and you can then... this is what it shows. Its pull down menu. You select which program you want to use. And then each product is unic and independently can figure... and for functionality and for design. And this program that you select could be anything from a discussion board to a little content management system to a big content management system to a complete portal in a box.

This is actually one of the real strings of Zope. You will hear it from different manufactorers or different open source groups that they are modules or native applications which exist for the platform. Zope has right now this staggering number of 437 applications as of today which were designed specially for Zope. How ever I need to say at the same time much of that is open source software. So as a matter of fact of that 437 every single piece is open source software which means the amount of time that was invested in creating a piece of software can be very different. So in some cases somebody might have started a project yesterday and accordingly you might learn something from the product but you might not be able to use it on that next e-commerce consulting gig, you know you just close with a big enterprise customer. However, there are quite a few software products now for Zope which are very usable and our company Beehive uses them all the time. I need also to say that Beehive didn't create Zope.

Zope was created by a company formally called Digital Creations, now called Zope Co-operation. And it is maintained by, oh good, I would say a couple of hundred developers are working on Zope right now and with lets say thousand of users using Zope. I'll get to the reason later on why Zope is so popular and how the community is growing and how we are all working together to make lets say Zope more popular.

So what can you build with Zope? Web applications and content management systems. Web applications this is my definition of web applications. I find it quite useful: Software that requires only a web browser and no additional software to run. You never had to install Altavista thank good or Google or any type of search engine on your machine. So you also very frequently here for example in the discussions here today well we are talking about web content management systems. I need to add that you can use Zope to build regular content management systems or non-web-based content management systems as well. But there is a lot of interesting extensions right now out there for Zope or protocols which are embedded in Zope. One that comes immediately to mind is something called web distribute authoring and versioning: Webdav which is becoming quite popular. Internet explorer can do Webdav. Adobe Go-Live can now do Webdav and for example that allows a piece of software which supports Webdav to display its information in a different way.

One way how you can take a look at the data within Zope is not just via regular web browser type of metaphor with you know little files and folders and button. You can also for example take a look at that information as if it were lets say a regular folder on your machine. Which then means that you can call up with the right mouse click the appropriate actions like you know "copy" and things like that. You can also then use drag-and-drop too and drop files into Zope. I'll be happy to show that in one of the other sessions.

Content management systems: The bottom line or the main value that we see as a company in Zope is that since we don't like to limit ourselves to building only content management systems and we have a problem with this idea of only seeing this as a form of as a publishing system and content is becoming so intertwined in general in websites in the sense of you know is price information in lets say in e-commerce sites is that content. To us it is. We would like to have a platform and that is what we are ultimately looking for and that is ultimately why we selected Zope as our primary development platform. We needed a piece of software which allowed us to build e-commerce sites, portal websites as well as general content management systems. And Zope because of its infrastructure because of its components that it has built in we find is a great platform to do that. When you take a look at it whether you are building an e-commerce site or a portal you're gone have certain things which are the same such as for example user authentication. You're always gone need user authentication and unfortunately if you are building these types of lets say larger enterprise portals which have these e-commerce component too it you very frequently have to learn the lets say Besonderheiten in German, the differences of each system. You have to read a lots of manuals also and you have to learn how does each system implement that. And frequently you will find that they use compatible standards for things like user authentication.

So with Zope we are basically able to build just about anything which is web based as well as through things like Webdav use new metaphors such as lets say somebodies only used to Microsoft Word and Office and they just want to be able to save their files in a folder. Well that folder could be Zope and when they drop that file in that folder say that file in that folder say script can run through that file and index lets say the meta information: you know who is the autor, when was it created, what is the title and maybe the abstract and that information can be found just as easily as a regular web information. And so since we have seen a lot of different content management systems today and also as was the case in open ACS systems which are you know powerful and scaleable and stuff like that I though I talk about what we think makes Zope unique. First of all it is a complete package. When you install Zope and you can run Zope on a variety on platforms. It will run on an old windows '95 or windows '98 machine as well as a Linux box, Solaris. Of course if you are running a big site you won't run it on Windows '98 but you can definitely prototype test and develop under good old Windows '98 machine. And the nice thing about is you don't even have to install anything like Apache or Bugi Internet Information Server like that because Zope comes with its own web server called C-Server. It is an application server as I mentioned it is where the web applications uses that bases. The authentication system all that stuff is.

Sometimes I think of an application server or web application server is to me sometimes a little bit like an operating system. You know since I don't have an operating system full web applications. And the other nice thing about Zope is it comes with its own object oriented database. And that means that you don't have to install MySQL or post credits or Eureka in order to have some fun with this system and try it out. However, and I think this is really important because it is object oriented you are able to mix and match. You can say well I know that Zope comes with its own user folder but this user folder is really not sufficient for me or maybe I already have user data in a database. You can selectively throw the user folder away and replace it with one that resides in database. And you can do the same thing for the actual data for your applications or your content management system. You can decide whether you want to store that within Zopes own object oriented database or whether you want to store it in Eureka or MySQL. That is done in the case of databases to database adapters. And Zope supports I think about seven different databases. The standard open source and commercial heavy weight Eureka, CBS that kind of stuff.

Zope is written in Python. With the show of hands how many of people have ever heard of Python before? That is very good. The reason why I want to know that is it is gone decide how much time I need to spend on defining what I can do. Basically Python is an object oriented very flexible language. It is great for web applications or just about any kind of other application you want to build. It is similar to Java in the sense that it creates bitcode which as cross platform unless you use a module that is lets say specific to a particular operating system such as Win 32 s-services. That is not gone run on Linux. But every thing else is really no problem. And this is actually a real benefit for Zope is that because it is written in Python and Python is object oriented and modular there are over 900 modules in addition to the 400 and x-Zope products that exist. So if for example you want to generate dynamic PDF really complex documents with crass and everything in order to do weekly reports or monthly reports that is very easy to integrate within Zope. There is a great package called "Report Lab". If you have never seen it take a look at it. It is pretty spectacular. That is another great benefit that Zope has.

Another thing that is going on right now is that a company called "Active State" which some of you might have heard of they are working very hard on integrating Perl also into Zope. Not completely, not as much as Python but the basic idea is that you will be able to check out just about any Perl module under the C-Pan which is one of the biggest Archives for Perl modules and also integrate that within Zope in users applications. I have seen some examples where people have done that and it is actually pretty impressive. Yes, this is little primer to the Zope object database. It is object oriented persistent. It has transactions. And this is actually a really cool thing because that allows you to lets say you make a mistake in Zope. You delete a user you didn't want to delete or you change some templates or you deleted them all and you want to bring them back. That is no problem in Zope. Zope has "undo" on the server. This is actually really a unic selling point to Zope. There is documentation's. These are two books. This is a German one. This is an English one and of course I think there are three English books now out. One in French and the one here in German as well as electronic Books about Zope. So, it is probably one of the best documented platforms for building web applications and content management systems out there. Questions?

Audience: What happened to the Zope UE. About one and a half year ago I meet Paul Evert and he showed me something of a prototype of a Zope UE using Sul and Mozilla.

Mark Pratt: There was a big discussion that Zope really needed what is known as an integrated development environment, IDE, similar to lets say what Cold Fusion has where you can click and pull objects together. The bases for that was supposed to be Mozilla. Unfortunately, Mozilla ran into a lot of problems and that project was somehow caught up in that. And Digital Creations, at that point they were called Digital Creations, now Zope Co-operation, basically lost a lot of money trying to do that. It is something I personally like to see resurrected. How ever there are several initiatives in that area. There is one based I think on Boa Constructor and I mean if you ask me afterwards I think I can point out some ressources to you. Something else that I really personally find actual unique and wonderful about Zope is that for the projects that are going on I mean if you want to see what projects are going on, what is the status there is a website called dev.Zope.org and anybody and not just developers can go and take a look at what projects are going on and can actually involve themselves in discussions using they typically use wikis in this case for people to post content actually. There is also a service of mailing lists and stuff like this. If you have something to say, if there is something you really don't like about Zope. This isn't Microsoft world where this is 7.0 and these are the features we gone include. You absolutely have a say and can try to convince people what you would like to see in Zope and what you really think is missing. Some people are very vocal. It is a good think. It makes the Zope community stronger absolutely.

[transcript: Katja Pratschke]


Creative Commons License
All original works on this website unless otherwise noted are
copyright protected and licensed under the
Creative Commons Attribution-ShareAlike License Germany.