And for the uninformed...
by
the+pickle
·
· Score: 5, Informative
From the e-mail:
Zope is an open source web application server primarily written in the Python
programming language. It features a transactional object database which can store not only content and custom data, but also dynamic HTML templates, scripts, a search engine, and relational database (RDBMS) connections and code. It features a strong through-the-web development model, allowing you to update your web site from anywhere in the world. To allow for this, Zope also features a tightly integrated security model. Built around the concept of "safe delegation of control", Zope's security architecture also allows you to turn control over parts of a web site to other organizations or individuals.
You'd think story mods would put stuff like this in the stories. With over 800,000 registered users, the odds are pretty damn good not all of us know what the heck [latest software project] is.
I'm not even going to attempt to translate that bit into real English (you know, instead of buzzword-speak), but at least *try* to describe what the software does, guys...
Re:There we go again...
by
mabinogi
·
· Score: 5, Informative
The point of a content management system is that it allows non technical users to maintain the site after initial setup.
They also usually have versioning, workflow (ie, changes needing to be approved before they're published), notifications, and other stuff.
If you've got three pages you probably don't need a CMS.
They definitely do add a fair amount of overhead, but if your site has a significant amount of content, and / or you have a lot of people looking after the content, a CMS is the way to go. If you don't use a ready made one, you're eventually going to implement your own one way or another anyway - so sometimes it's easier to start with one from the outset.
Zope however, is not a CMS, it's a Python based application server - it's just that most of the time that people use Zope, it's to run a CMS on top (or in the case of Plone, walk or crawl a CMS on top)
-- Advanced users are users too!
Re:There we go again...
by
madprof
·
· Score: 5, Informative
Are you joking or something? Frameworks provide a way to save time in development and maintenance of medium-to-large projects by providing facilitis that programmers will find useful. Zope's acquisition feature is very handy for me to write templated websites whle keeping my application logic separate from my HTML. When I have non-programmers editing the HTML (which I do) this is really handy. Zope gives me a web interface to use to get to all this code. This means my non-programmer has an easier time of it.
ruby alternative
by
OmniVector
·
· Score: 4, Informative
well, since someone posted a php alternative i figured i'd post the ruby alternative too:P
Re:OK we need some input from the Zope heads
by
Qbertino
·
· Score: 5, Informative
Is it really an Application Server and if so what services does it provide? I ask because the programmers tutorial makes it look like a run of the mill framework for generating webpages.
Most that I can think of. It even comes with it's own webserver, so you can spare yourself the Apache installation. Good for testing out of the box.
Is it compiled into native code? I know this is more a Python thing but even mentioning an application server built in a scripting language will have me ridiculed out the door.
1st of all: Python isn't any more a "scripting language" (whatever that is) than Java (which you mention for comparsion in another place)). But to answer your question: Performance critical parts are written in C (and iirc a little in C++), the rest is Python.
Any performance indications or comparissons? Anyone port Petshop and compare it against JBoss or Geronimo perchance? Compared to other solutions that have the DB totally seperated it is generally considered slower when used with no second thought on optimization. Which imho is the whole point of Zope, as it makes building data driven networked applications nearly as simple as clicking together a website in dreamweaver. My philosophy is to make the hardware fast and reliable and to keep speed optimizations as far away from the code as possible. This btw is usually more sufficent and measurabley cheaper for the customers aswell.
Apart from that Zope offers nearly infinite methods for optimization, inlcluding load balancing functions for a Zope farm, intergration of classical external DBs and usage of Zope in conjunction with other products such as the Apache Webserver.
-- We suffer more in our imagination than in reality. - Seneca
Zope X3 is NOT , I repeat, is NOT Zope 3. It's an essential tool on the way to Zope 3, but not Zope 3 itself. So if you're not joining the Zope devteam, quit weighing in on their servers.:-)
-- We suffer more in our imagination than in reality. - Seneca
Re:OK we need some input from the Zope heads
by
Feneric
·
· Score: 5, Informative
Zope is an incredibly flexible web application development environment. It can be used for pretty much anything ranging from a full blown CMS with shopping cart facilities to a cutting edge XHTML/CSS showcase site. It works well with all Internet standards (including XML, XHTML, iCalendar, etc.) and most non-standards / semi-standards (PDF, Flash, RSS, etc.). I've even used it to on-the-fly convert definitions from within a CMS to be served by a dict server.
The popular Plone is built on top of Zope / CMF. Ditto for Silva and Nuxeo CPS.
Because Zope is so flexible, the sites it's used for generally look quite different from one another.
Try Ruby (on Rails)
by
Anonymous Coward
·
· Score: 5, Informative
Okay, I tried Zope once a LONG time ago. Back when I was hungry for a good dynamic object-oriented language and Python was the best I could find. Naturally I sought an application framework as well.
Zope was pretty.. bloated, complex, confusing, opaque. And Python isn't suited to HTML templates at all (being whitespace-sensitive and all). So you need to learn Yet Another Way of generating HTML from code.
If complexity and bloat and big programmer egos turn you off, try Ruby on Rails.
Don't worry if you think you don't want to learn a new language, don't worry if you think Ruby on Rails is just another half-assed open-source framework that you'll explore, run into a wall, and discard.
RoR is a low-level MVC framework, yes. BUT it is *so* efficient that you will be writing high-level components in *hours* instead of days or weeks. You'll create an internal discussion site for your company in a weekend, you'll build a CMS in a matter of weeks, you'll throw together a fully functional bug tracker in 500 lines of code... etc.. remember why you use dynamic languages like Python or Ruby in the first place? That's right, to solve problems FAST! You'll have the same feeling when using Rails "wow.. if the designers send me those mock-ups, I'll have the site finished *before lunch*.
Here's a quick example of how to add a Customer object to your app once you create the database tables:
class Customer < ActiveRecord::Base end
Yup, that's all. It just automatically adds the right fields, sets the right defaults, and can create associations between objects as well (one line of code each).
Now let's try adding a full set of list/edit/view/etc pages so you can get started with your app right away:
class CustomerController < ActionController::Base
scaffold:customer end
Now head over to "http://yourapp.com/customer/new" and add your first customer!
That's all.. how long does that take in Struts?
Now.. just head over to rubyonrails.org and watch the demo video. That's all. Just 10 minutes of your life and after you watch the video you can go back to your Zopes and your Struts and your what-have-yous.
Just watch the video.
Re:dont have any expectations...
by
diablobsb
·
· Score: 5, Informative
ZoDB itself is not scalable... and zope is DOG slow if you run it alone... *BUT* the cool thing is that you can add a product called "zope accelerator" or something similar to that to your zope page and set up a squid in front of zope... On the squid config, you establish a trust relation pretending that zope (actually this zope accelerator") IS another proxy (sibling).
what happens now is that: zope sets a expiry date for your non-changing documents to way ahead in the future (you set this value). and squid caches it... and NEVER asks zope for it until this content expires... if you change this content, zope will then TELL squid to invalidate it's cache... so the next user that goes in gets the updated page...
Have you seen how fast squid can get? for serving stuff already in it's cache?
and ZODB itself can't be clustered (actually it can, with ZRS [zope replication services] which is not free from zope.org]) zope can.... and if you benchmark your web pages, you will notice that ZODB takes VERY little % of the processing time... with python + zope itself getting the objects and preparing them for presentation taking up the rest.
So: you can build very scalable zope servers... you just need to know how to do it think in the lines of : 1 or 2 squids (they can be on the zope servers themselves, as squid takes little CPU), 2 zope servers doing load balance (zope does that natively) and a ZODB server (can be on one of the servers if you are budget constrained).
or you can shell out some cash and get ZRS to replicate everything, including the zodb.
-- I for one, welcome our new hot grits... PROFIT!
Experience with Zope/Plone
by
dangrover
·
· Score: 4, Informative
Working at the RS/GIS Center at CRREL (a US army engineer research and development lab), I was asked to make a brand new website for the building, since the current one stinks. My boss was set on me using Plone/Zope, which I had mixed feelings about.
Plone is a very nice CMS. It has a special wysywig editor for Internet Explorer and is very user friendly. The default skin (and this, I guess, was the reason for choosing it) looks pretty nice and is pretty elegantly coded. The template system that it uses is really cool and XML-based. It can run on any major OS, but there are some issues in moving a site across systems/OSes.
However, the problem is that you can't just run it straight on Apache, like you could with a PHP/MySQL application. It runs its very own web server. So you have to make an entry in your httpd.conf to make a virtual host that goes to the port that the Zope server is running on (which the system admin doesn't want to do). It's actually gonna be hosted on its own server, just to make sure it doesn't upset any of the dependencies that their mission-critical stuff has. So if I wanted to use it for my own purposes on a shared server, I can't.
One problem for me was that making custom content types required knowledge of Python, which I was able to fake my way through somewhat. This is made much easier with something called Archetypes, a bunch of classes and functions that does stuff for you.
I guess the biggest thing that made me uncomfortable with it was that it uses a custom database format and a custom format for storing all the site's files inside of one actual file. And you can't just move that one file, there's other dependency issues and problems with paths if you move it to a different location or OS.
I was, however, to develop the site much quicker with Plone/Zope than I would with developing my own CMS for that purpose or using an existing PHP one. And the end result is pretty nice. It's going to be very impressive. Once a co-worker finishes adding all the content to it, the new site will be up and tunneled from the location I linked to in this article.
Develop on Filesystem. Not ZODB.
by
SlightOverdose
·
· Score: 4, Informative
This is one of the biggest missunderstandings about zope.
If you're working with code, you should be storing it on the filesystem. One of the biggest mistakes Zope developers make is to develop inside the ZODB using the textarea, which obviously puts them off zope.
Through-the-web editing is there if you need it. It's handy, but for any serious development you should be developing filesystem products.
You'd think story mods would put stuff like this in the stories. With over 800,000 registered users, the odds are pretty damn good not all of us know what the heck [latest software project] is.
I'm not even going to attempt to translate that bit into real English (you know, instead of buzzword-speak), but at least *try* to describe what the software does, guys...
p
In Korea, long hair is for old people!
The point of a content management system is that it allows non technical users to maintain the site after initial setup.
They also usually have versioning, workflow (ie, changes needing to be approved before they're published), notifications, and other stuff.
If you've got three pages you probably don't need a CMS.
They definitely do add a fair amount of overhead, but if your site has a significant amount of content, and / or you have a lot of people looking after the content, a CMS is the way to go. If you don't use a ready made one, you're eventually going to implement your own one way or another anyway - so sometimes it's easier to start with one from the outset.
Zope however, is not a CMS, it's a Python based application server - it's just that most of the time that people use Zope, it's to run a CMS on top (or in the case of Plone, walk or crawl a CMS on top)
Advanced users are users too!
Are you joking or something?
Frameworks provide a way to save time in development and maintenance of medium-to-large projects by providing facilitis that programmers will find useful.
Zope's acquisition feature is very handy for me to write templated websites whle keeping my application logic separate from my HTML.
When I have non-programmers editing the HTML (which I do) this is really handy.
Zope gives me a web interface to use to get to all this code. This means my non-programmer has an easier time of it.
well, since someone posted a php alternative i figured i'd post the ruby alternative too :P
ruby on rails. very nice web framework
- tristan
Is it really an Application Server and if so what services does it provide? I ask because the programmers tutorial makes it look like a run of the mill framework for generating webpages.
Most that I can think of. It even comes with it's own webserver, so you can spare yourself the Apache installation. Good for testing out of the box.
Is it compiled into native code? I know this is more a Python thing but even mentioning an application server built in a scripting language will have me ridiculed out the door.
1st of all: Python isn't any more a "scripting language" (whatever that is) than Java (which you mention for comparsion in another place)). But to answer your question: Performance critical parts are written in C (and iirc a little in C++), the rest is Python.
Any performance indications or comparissons? Anyone port Petshop and compare it against JBoss or Geronimo perchance?
Compared to other solutions that have the DB totally seperated it is generally considered slower when used with no second thought on optimization. Which imho is the whole point of Zope, as it makes building data driven networked applications nearly as simple as clicking together a website in dreamweaver. My philosophy is to make the hardware fast and reliable and to keep speed optimizations as far away from the code as possible. This btw is usually more sufficent and measurabley cheaper for the customers aswell.
Apart from that Zope offers nearly infinite methods for optimization, inlcluding load balancing functions for a Zope farm, intergration of classical external DBs and usage of Zope in conjunction with other products such as the Apache Webserver.
We suffer more in our imagination than in reality. - Seneca
Zope X3 is NOT , I repeat, is NOT Zope 3. It's an essential tool on the way to Zope 3, but not Zope 3 itself. So if you're not joining the Zope devteam, quit weighing in on their servers. :-)
We suffer more in our imagination than in reality. - Seneca
Zope is an incredibly flexible web application development environment. It can be used for pretty much anything ranging from a full blown CMS with shopping cart facilities to a cutting edge XHTML/CSS showcase site. It works well with all Internet standards (including XML, XHTML, iCalendar, etc.) and most non-standards / semi-standards (PDF, Flash, RSS, etc.). I've even used it to on-the-fly convert definitions from within a CMS to be served by a dict server.
The popular Plone is built on top of Zope / CMF. Ditto for Silva and Nuxeo CPS.
Because Zope is so flexible, the sites it's used for generally look quite different from one another.
Zope was pretty
If complexity and bloat and big programmer egos turn you off, try Ruby on Rails.
Don't worry if you think you don't want to learn a new language, don't worry if you think Ruby on Rails is just another half-assed open-source framework that you'll explore, run into a wall, and discard.
RoR is a low-level MVC framework, yes. BUT it is *so* efficient that you will be writing high-level components in *hours* instead of days or weeks. You'll create an internal discussion site for your company in a weekend, you'll build a CMS in a matter of weeks, you'll throw together a fully functional bug tracker in 500 lines of code... etc.. remember why you use dynamic languages like Python or Ruby in the first place? That's right, to solve problems FAST! You'll have the same feeling when using Rails "wow.. if the designers send me those mock-ups, I'll have the site finished *before lunch*.
Here's a quick example of how to add a Customer object to your app once you create the database tables:Yup, that's all. It just automatically adds the right fields, sets the right defaults, and can create associations between objects as well (one line of code each).
Now let's try adding a full set of list/edit/view/etc pages so you can get started with your app right away:Now head over to "http://yourapp.com/customer/new" and add your first customer!
That's all.. how long does that take in Struts?
Now.. just head over to rubyonrails.org and watch the demo video. That's all. Just 10 minutes of your life and after you watch the video you can go back to your Zopes and your Struts and your what-have-yous.
Just watch the video.
ZoDB itself is not scalable... and zope is DOG slow if you run it alone...
*BUT*
the cool thing is that you can add a product called "zope accelerator" or something similar to that
to your zope page and set up a squid in front of zope...
On the squid config, you establish a trust relation pretending that zope (actually this zope accelerator") IS another proxy (sibling).
what happens now is that:
zope sets a expiry date for your non-changing documents to way ahead in the future (you set this value).
and squid caches it... and NEVER asks zope for it until this content expires...
if you change this content, zope will then TELL squid to invalidate it's cache...
so the next user that goes in gets the updated page...
Have you seen how fast squid can get? for serving stuff already in it's cache?
and ZODB itself can't be clustered (actually it can, with ZRS [zope replication services] which is not free from zope.org]) zope can....
and if you benchmark your web pages, you will notice that ZODB takes VERY little % of the processing time... with python + zope itself getting the objects and preparing them for presentation taking up the rest.
So: you can build very scalable zope servers... you just need to know how to do it
think in the lines of : 1 or 2 squids (they can be on the zope servers themselves, as squid takes little CPU), 2 zope servers doing load balance (zope does that natively) and a ZODB server (can be on one of the servers if you are budget constrained).
or you can shell out some cash and get ZRS to replicate everything, including the zodb.
I for one, welcome our new hot grits... PROFIT!
Working at the RS/GIS Center at CRREL (a US army engineer research and development lab), I was asked to make a brand new website for the building, since the current one stinks. My boss was set on me using Plone/Zope, which I had mixed feelings about.
Plone is a very nice CMS. It has a special wysywig editor for Internet Explorer and is very user friendly. The default skin (and this, I guess, was the reason for choosing it) looks pretty nice and is pretty elegantly coded. The template system that it uses is really cool and XML-based. It can run on any major OS, but there are some issues in moving a site across systems/OSes.
However, the problem is that you can't just run it straight on Apache, like you could with a PHP/MySQL application. It runs its very own web server. So you have to make an entry in your httpd.conf to make a virtual host that goes to the port that the Zope server is running on (which the system admin doesn't want to do). It's actually gonna be hosted on its own server, just to make sure it doesn't upset any of the dependencies that their mission-critical stuff has. So if I wanted to use it for my own purposes on a shared server, I can't.
One problem for me was that making custom content types required knowledge of Python, which I was able to fake my way through somewhat. This is made much easier with something called Archetypes, a bunch of classes and functions that does stuff for you.
I guess the biggest thing that made me uncomfortable with it was that it uses a custom database format and a custom format for storing all the site's files inside of one actual file. And you can't just move that one file, there's other dependency issues and problems with paths if you move it to a different location or OS.
I was, however, to develop the site much quicker with Plone/Zope than I would with developing my own CMS for that purpose or using an existing PHP one. And the end result is pretty nice. It's going to be very impressive. Once a co-worker finishes adding all the content to it, the new site will be up and tunneled from the location I linked to in this article.
This is one of the biggest missunderstandings about zope.
If you're working with code, you should be storing it on the filesystem. One of the biggest mistakes Zope developers make is to develop inside the ZODB using the textarea, which obviously puts them off zope.
Through-the-web editing is there if you need it. It's handy, but for any serious development you should be developing filesystem products.