Python Programming
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me
Go Back   Dev Shed ForumsProgramming LanguagesPython Programming

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
Be the architects of evolution and help create the mobile internet future. It’s your move---enter to win here!
  #1  
Old February 23rd, 2004, 09:39 AM
telex4's Avatar
telex4 telex4 is offline
Wacky hack
Dev Shed Novice (500 - 999 posts)
 
Join Date: Apr 2001
Location: London, England
Posts: 512 telex4 User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 h 25 m 29 sec
Reputation Power: 8
Question A simple explanation of Zope and Plone, please

I'm getting myself involved in building, or working on, a rather large up and coming site being done by some international campaigning organisations. It's apparently based on Plone...

Now I had a look around the Plone web site, and the Zope web site, and they have me confused, because they both say that they are much more than your average CMS (like PHPNuke), but aside from buzzwords, I can't find a good simple description.

"Zope is an open source application server for building content managements, intranets, portals, and custom applications."

Wonderful! Can somebody tell me what it is exactly?

Reply With Quote
  #2  
Old February 23rd, 2004, 10:20 AM
netytan's Avatar
netytan netytan is offline
Hello World :)
Dev Shed Frequenter (2500 - 2999 posts)
 
Join Date: Mar 2003
Location: Hull, UK
Posts: 2,529 netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level) 
Time spent in forums: 1 Week 2 Days 17 h 19 m 5 sec
Reputation Power: 63
Send a message via ICQ to netytan Send a message via AIM to netytan Send a message via MSN to netytan Send a message via Yahoo to netytan
Ok lets give this a go , not really very into either Zope of Plone right now but as i understand it...

Quote:
Me
Zope is a Application Server in the fact that it can be used to build and serve up web applications; dynamic web pages. Where a CMS is usually used to aid in updating static pages...

Plone on he other hand is a very powerful, extensible CMS writen ontop of Zope.


Hope that ones a little clearer than the ones you've been looking at

You might also like to read a little though the Zope Book, should explain everything you need to know about Zope.

http://zope.org/Documentation/Books/ZopeBook

Mark.
__________________
programming language development: www.netytan.com Hula


Last edited by netytan : February 23rd, 2004 at 10:25 AM.

Reply With Quote
  #3  
Old February 23rd, 2004, 11:53 AM
sfb sfb is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Nov 2003
Posts: 447 sfb User rank is Corporal (100 - 500 Reputation Level)sfb User rank is Corporal (100 - 500 Reputation Level)sfb User rank is Corporal (100 - 500 Reputation Level)sfb User rank is Corporal (100 - 500 Reputation Level) 
Time spent in forums: 2 Days 1 h 43 m 45 sec
Reputation Power: 9
I can't say much about Zope because I didn't dig very far into it, but;

It doesn't publish web pages from files on a filesystem like Apache, IIS, etc. (where /images/a.jpg refers to a picture in a folder).

It does publish Zope-Python objects from its filestore - the Zope Object Database (ZODB), and it just happens that these can be HTML pages and pictures among other things. (where /images/a.jpg is more comparable to a method call like self.images.a_jpg() or similar). I don't know the details regarding Zope Products and so on though.

Once you get used to that idea, it makes a bit more sense.

ZPT are the Zope Page Templates, and are the rough equivalent of other server-side page processing.
METAL/TALES expressions are how you include Python code in your HTML pages - somewhat akin to PHP.
DTML was an earlier version of this, but I believe it is now mostly depracated.

ZPT basics -> http://www.devshed.com/c/a/Zope/ZPT-Basics-part-1/

Get zope and try it out. It doesn't take much installing.

Reply With Quote
  #4  
Old February 23rd, 2004, 03:06 PM
njtom njtom is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Jun 2003
Location: 07930
Posts: 60 njtom User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: < 1 sec
Reputation Power: 6
just a quick question - zope does require root access, right?
__________________

Reply With Quote
  #5  
Old February 23rd, 2004, 03:49 PM
netytan's Avatar
netytan netytan is offline
Hello World :)
Dev Shed Frequenter (2500 - 2999 posts)
 
Join Date: Mar 2003
Location: Hull, UK
Posts: 2,529 netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level) 
Time spent in forums: 1 Week 2 Days 17 h 19 m 5 sec
Reputation Power: 63
Send a message via ICQ to netytan Send a message via AIM to netytan Send a message via MSN to netytan Send a message via Yahoo to netytan
Installing Zope like any other software will probably require root access yes, although playing with Zope itself shouldn't

Mark.

Reply With Quote
  #6  
Old February 23rd, 2004, 04:10 PM
DevCoach DevCoach is offline
Contributing User
Dev Shed Beginner (1000 - 1499 posts)
 
Join Date: Feb 2004
Location: London, England
Posts: 1,196 DevCoach User rank is Captain (20000 - 30000 Reputation Level)DevCoach User rank is Captain (20000 - 30000 Reputation Level)DevCoach User rank is Captain (20000 - 30000 Reputation Level)DevCoach User rank is Captain (20000 - 30000 Reputation Level)DevCoach User rank is Captain (20000 - 30000 Reputation Level)DevCoach User rank is Captain (20000 - 30000 Reputation Level)DevCoach User rank is Captain (20000 - 30000 Reputation Level)DevCoach User rank is Captain (20000 - 30000 Reputation Level)DevCoach User rank is Captain (20000 - 30000 Reputation Level) 
Time spent in forums: 1 Week 5 Days 13 h 42 m 7 sec
Reputation Power: 252
Zope is difficult to describe, since it works in a way quite different from other application servers (at least the ones that I have encountered - I don't know anything about PHPNuke). Firstly, as sfb says, it stores everything in an object database (called ZODB) instead of on the filesystem. Every URL you access on a Zope system is resolved to an object. I will use as an example pages on the Zope.org website, since that is the most obvious public site that is Zope powered.

OK, lets take as our example this URL:

http://zope.org/Documentation/Books...ook/2_6Edition/

which is the starting page for The Zope Book. This is a reference to an object with the ID of 2_6Edition, which is in a folder called ZopeBook, which is in a folder called Books, etc. The folders are not directories, but are objects in the database so they can have arbitrary data associated with them in addition to the objects they contain.

The object 2_6Edition could be one of any number of types of object - it could be an HTML page, a Python script, a Perl script, a DTML page (a page using Zope's tag markup language), a ZPT page (a newer markup language), a structured text page (plain text that is converted to HTML using simple syntax rules), and so on. My guess is that it is another folder object containing an index_html file, which is displayed by default when you browse to a folder, in the same way that an index.html page is displayed in non-Zope systems. If you look at the page you will see that it contains a table of contents for the book. I suspect that these pages are all objects within the folder, and that the index_html object is generating the table dynamically from the folder contents. If a new chapter was added to the book then the contents page would not need to be updated manually.

If you had management rights to the folder you could open up a management screen in the browser and add & remove objects, rename objects, etc.

One of the unique features of Zope is its process of object inheritance, call acquisition in Zope-speak. If you look at the page I mentioned, you will see that there is a navigation bar down the left hand page. This will have been defined at the top level folder, and inherited (acquired) by all the folders below it. At any level you can override this inheritance so that you can change the look or behaviour of part of the object tree. In Object Oriented Programming terms acquisition is fully polymorphic. If you don't know what that means don't worry about it - just take my word for it, it is powerful stuff.
Another example of acquisition is the page navigation for the book that appears on this page, and on all the book chapter pages. This will have been defined once (probably in this folder) and acquired down through the tree.

Virtually everything in Zope can be subject to acquisition. For example most objects can have a 'Title' property, which is the string to be displayed in the title bar of your browser if you point it to that object. If an object does not have a Title property set, then Zope uses the Title of the parent object, and so on up to the root folder.

This has barely scratched the surface of Zope. There is ZEO, which can distribute Zope over a server farm to handle huge amounts of traffic. There are hundreds of open source products available - plug in components that create new types of Zope objects. There are ZClasses, which let you create new types of objects without leaving the comfort of your browser. There is the Zope security model, which lets a user be given editing right to a subtree. There is the ability to undo changes or create the equivalent of branches in a source control system. Zope is Big. Zope is Complex. Zope is Powerful.

CMF and Plone are built on top of Zope and hide much of the complexity, while adding things like workflows - e.g. a user can submit a change to their part of the site, which will be queued to be approved by an editor before being made public.

The best way to find out more about Zope is to install it and play around. It comes with its own web server, so you do not need to mess around with installing Apache and editing config files to get it working. You do not even need to install Python - it is all included, and works straight out of the box.

Hope this helps.

Dave - The Developers' Coach

Reply With Quote
Reply

Viewing: Dev Shed ForumsProgramming LanguagesPython Programming > A simple explanation of Zope and Plone, please


Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump


Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 





© 2003-2008 by Developer Shed. All rights reserved. DS Cluster 2 hosted by Hostway