Domain: zope.org
Stories and comments across the archive that link to zope.org.
Comments · 492
-
Database Connectivity
Interestingly, you don't have to use the native object database - there are connectors to most sensible third party databases, including PostgreSQL.
-
Re:They should benchmark development time
Zope, a very flexible and easy-to-use application server.
-
8080 is Zope (default)
-
MIT's choice of MS over open-sourceFrom MIT's web site:
For other institutions considering implementing their own "opencourseware" there are several open-source CMS options. At this point, MIT OCW is monitoring six: Zope, Red Hat, Midgard, OpenACS, OpenCMS, and Bricolage. By 2004, most experts agree that one CMS provider will become the clear, open-source leader in this industry sector. MIT OCW will track the progress of key open-source CMS providers during this accelerated maturation. This will contribute to MIT being able to share its experience and understanding of these CMS options with other institutions. The hope is that utilization of open-source model CMS products could lead to less expensive implementations of opencoursewares on other campuses.
In other words, they picked MS because it was the quickest way to go - for now. They haven't given up on open-source. -
Re:Zope
Much of what you say is true... only if you're building on the raw app server (remember, Zope is an application server capable of many things, not an 'out of the box CMS'), rather than using one of the many capable CMS applications that sit on top of it.
In particular, though, I have an argument with:
I've never seen a photo-album plug in
*cough*CMFPhoto*cough* Very, very nice. You just upload photos into a folder with ftp, webdav or just via an HTTP form, and it handles indexing, thumbnailing (via Python Imaging Library or Imagemagick), templating and so on. There's a version which plays very nicely with Plone, and one which doesn't need the CMF API.
Zope has many prebuilt applications and CMS frameworks, while the core app server takes care of all the hard stuff like version control and authentication. I've set up sites for friends, relatives and non-technical co-workers based on Plone, and it's cake.
-
Re:Zope
Much of what you say is true... only if you're building on the raw app server (remember, Zope is an application server capable of many things, not an 'out of the box CMS'), rather than using one of the many capable CMS applications that sit on top of it.
In particular, though, I have an argument with:
I've never seen a photo-album plug in
*cough*CMFPhoto*cough* Very, very nice. You just upload photos into a folder with ftp, webdav or just via an HTTP form, and it handles indexing, thumbnailing (via Python Imaging Library or Imagemagick), templating and so on. There's a version which plays very nicely with Plone, and one which doesn't need the CMF API.
Zope has many prebuilt applications and CMS frameworks, while the core app server takes care of all the hard stuff like version control and authentication. I've set up sites for friends, relatives and non-technical co-workers based on Plone, and it's cake.
-
Re:ZopeZope is extremely powerful and flexible. Zope is an application server, it is not the complete solution on it's own. Your best bet for what you want to do is to use zope hosting someplace (I've used hurrah in the past and currently use Zettai, both are great) and get them to install (or do it yourself if you are comfortable with that) either Content Management Framework or plone and add the photo album tool and a blog tool (there are at least three). CMF/Plone provide a very user friendly interface for managing documents, photos, files, etc etc. Plone is built on CMF and basically adds more complex functionality to CMF. You can probably do just fine with the core CMF.
Rolling your own blog tool with BlogFace is pretty straightforward, or you can use one of the custom blog tools (CoreBlog, PABlog*, or CMF WebLog). For a very simplistic blog, you can just use the built in "news" tool.
*I wrote and maintain PABlog, I like it obviously. It doesn't currently work with Plone, CMF WebLog only works with Plone. CoreBlog is the most flexible of the three, as it runs on pure Zope, CMF, or Plone. -
Re:Plone
That's what I did, wish someone had told me about the 2gb zodb filesize limit.
Yes, I know it's technically not Plone's fault, but I bet I'm not the first person to encounter it needlessly. A simple warning in any of a number of places would have been appreciated. -
Re:Zope
(woops hit submit by mistake)
> First of all its interface is terrible, and extremely hard to customize
Plone, CMF, CE ..... along with thousands of others. Need I say more?
> For instance you can't really just write an HTML page and upload it and hope it will work
Uh... yes you can. And when using a CMF based solution, it automaticall renders it using the default template and stylesheet.
> I've never seen a photo-album plug in, and I expect one would be terriblely difficult
A quick google search turned up quite a few. And if their wasn't, it would be trivial to whip one up in an hour or two.
> Simple scripting is difficult. I wanted to add a simple Python script to a zope site, and there was almost no way to do it
Python scripting is pathetically simple- My Mom could do it. To add a python script, just... add a python script from the content type menu. I dont see how that could be considered hard.
Overall, I think your post is just a big Troll. IMHO Zope is, by far, the most powerfull solution for, well, anything to do with a website. ZPT Leaves ASP and JSP in the dust, and is trivially easy to use. I've trained several people how to use it in a matter of hours. -
Zope
-
Zope
-
blog
We're about to try a different way of communicating with the client about project status and issues. We're going to use a blog system, allowing posts and responses to issues as they arise. We plan on using Squishdot in Zope.
A full-blown problem tracking system is more than we need, but email makes it somewhat more difficult to ensure that everyone involved can see and participate in a whole thread about an issue. We can also set it up so people receive an email to notify them when someone has added to the thread. We could even set it up as an RSS feed as well, (though we don't plan to use this feature).
Email just doesn't seem to be the most effective means of making sure everyone in a group is on the same page. We'll see how the blog approach works out.
-
looks like Plonein Plone there is already very elegant, secure and simple workflow mechanism for collaborative content authoring:
Workflow is the process used to manage objects in a website. An example is a company's press release: an employee writes a press release and submits it to an editor for review before it is published on the website. This review process is called a workflow and is used by site managers to ensure that site content is correct. Plone has a very powerful and flexible default workflow system that is built around Object States and User Roles...
I gave just few pieces from the Plone Book in order to explain how it's already comprehensive. And of course it can be extended even further - as everything in Zope.An object's state determines whether it is available to the various types of users defined in Plone, and what other states that object can be transitioned to. Plone's default workflow includes four states: visible, pending, published and private. Site managers and developers can create custom states...
Plone uses roles to define what different users can see and do. In this way, Plone builds security into every aspect of its operation. The roles defined in a default Plone installation include anonymous, member, owner, reviewer and manger...
Owners and managers can change the states of objects they control. The states that are available are controlled by pre-defined transitions. For example, site members can submit visible objects for review or make them private and site reviewers can publish submitted items or reject them. Site managers can also customize this portion of the workflow system...
Site managers can give specific users additional rights in certain sections of the website. This can be accomplished by assigning local roles to folders. Managers and owners have permission to assign local roles...
-
Wow
This is kinda like Zope except you can't do anything useful with it, like actually serve the generated site. Though I guess at some high level it could serve as an alternative user interface.
Ah well, the more software the merrier. -
if you are tired from PHP... then you may (should, must) appreciate Zope, especially its Plone portal implementation.
You may be interested alos in looking at an example of how and why the developer of formerly famous PHP-based forum has moved (re-wrote) the whole thing to Plone.
Here are some Zope successfull stories from the real market.
-
IssueTrackerProduct if you want something usableIssueTrackerProduct is your best bet if you want something that is easy to use. Supports POP3 inbound requests and does not require any of the below:
- PhD in formfilling
- Every user to be logged in
- Lots of time
Check out the screenshots -
IssueTrackerProduct if you want something usableIssueTrackerProduct is your best bet if you want something that is easy to use. Supports POP3 inbound requests and does not require any of the below:
- PhD in formfilling
- Every user to be logged in
- Lots of time
Check out the screenshots -
IssueTrackerProduct if you want something usableIssueTrackerProduct is your best bet if you want something that is easy to use. Supports POP3 inbound requests and does not require any of the below:
- PhD in formfilling
- Every user to be logged in
- Lots of time
Check out the screenshots -
Advice from another media business...
My company is a large-market daily-US newspaper, and we are building CMS systems in Zope & Plone (using Python). There may be several advantages to using a scripting language, but a shift from Java to a non-OO scripting language like PHP is likely higher risk for you - Zope (and the Zope Content Management Framwork) may offer a better solution given it has a toolset of components to leverage out-of-the box, and a simple, component-oriented way of developing content management applications with a scripting language that is easier to use, but just as scalable as Java-based solutions.
Because it uses an object database for content repositories for digital asset management, you minimize the need to do object-relational serialization and marshalling between an OO system and a relational datastore. However, this isn't as complicated as it sounds; consider something like Archetypes, a schema-driven content type generation system that also has built-in relationship management for composition of media products from related assets.
Shameless plug: I'll be giving a talk on how we are doing much this at the Plone Conference. in October in New Orleans.
Scalability costs with this type of content-management solution will not be in licensing of yor apps, but in commodity hardware (scaling out). These costs would be greater than if you used something much more bare (i.e. PHP has no security model built-in, so pages might require less resources to render, but you get more limited flexibilty or need to implement such a layer anyway for your application, negating the performance difference), but performance and price would likely be on-par or more competitive than Java solutions.
If you are not in the market to build, but to buy the first 80% of your way into a solution, Zope Corporation has built a commercial CMS product on top of these open-source foundations (Zope/CMF, Squid+ESI) - it is called Zope4Media, initially developed for Viacom and Boston.com (one of the largest local media sites out there, which might speak for the performance characteristics of a well-designed Zope application).
-
Python!
The Python vote is seconded. I got interested in this language a year ago because a co-worker was experimenting with it and loved it. I took 20 minutes to run through a tutorial - an hour I was proficient and had re-written our entire project's build and archival system in it. The langage is clean and logical - docs are awesome.
Now it seems like every test and tool application I write to support development of our major products - is in Python. It's just so much easier, faster - and stable - than the equivalent app in C would be given the same time constraints.
No web Python referal would be complete without mentioning the Zope framework. I've not used it, but I gather it's to web development as nuclear weapons are to hand grenades. So integral to the Python experience that the author of Python [created it / works there /worked there] I can't remember which, but it was one of the above.
Take 20 minutes to run through a Python tutorial as referenced from their main page, try making some simple scripts with it - and tell me you're not hooked.
Also: don't forget the Psyco just-in-time compiler which magically makes time-critical things faster without you doing anything.
Also 2: Bittorrent was written in Python and bundled into an executable with Py2exe! How's that for battle-tested! The user interface looks bad, but that's the author's fault. :)
Also 3: Check out the Win32All package for MFC wrapper libraries and the best free editor (Pythonwin).
Also 4: Activestate has a commercial Python implementation that may help (I've not used it, but someone must have a use for it). -
External EditorsZope has a very neat implementation of an External Editor.
It uses a helper application within your browser to edit text in the editor of your choice.
Even if you are not using Zope I am sure you could adapt this to other app servers.
Also WebDav provides complementary facilities and is available from within ie on the client WebAdmin. This approach will require that your server speaks webdav too.
-
Re:ZopeAlso, of course, how would you perform a JOIN (e.g. relate two lists)?
There are at least one known effort: ZSQLCatalog: querying Zope Catalog with SQL.
ZSQLCatalog is an extension to the traditional Zope ZCatalog and Indexes. It currently implements an Index which uses an SQL database as external storage. It allows to query a Zope Catalog with a combination of traditional Zope Catalog queries (field based, text based) and with complex queries implemented as SQL methods.
By using ZSQLCatalog, it is possible to develop a whole system with an object oriented approach and forget about external relational databases yet provide to users the usual experience of SQL queries.
-
Re:Zope
The ZCatalog is Zope's built in search engine. It allows you to categorize and search all kinds of Zope objects. You can also use it to search external data such as relational data, files, and remote web pages. In addition to searching you can use the ZCatalog to organize collections of objects.
The ZCatalog supports a rich query interface. You can perform full text searching, and can search multiple indexes at once. In addition, the ZCatalog keeps track of meta-data about indexed objects.
You can do even named and nested queries with ZCatalog thus building ad-hoc queries.
Searching the ZCatalog works a lot like searching a relational database, except that the searching is more object-oriented.
So in some extent ZODB has ad-hoc queries.
-
Zope CMF + StarOffice
There are plugins ("products" in Zope-speak) that let you save star/open office documents to a zope server, and automatically make them into content for your web site and integrate with content management workflow (if you have one).
Just like... oh.... Microsoft sharepoint portal server and Microsoft Office...
Only infinitely cheaper....
Now, I'm not too keen on Zope (I HATE its OODBMS - why not just use a relational backend? The relational model can do everything OO does, and more, then again Zope APE might make the point irrelevant...), but the content management framework is pretty sweet, anyway.
-
Re:php in a microsoft shop?
Ok,
.net, j2ee... Never touched those beasts.What's your take on Zope? You mentionned clunkyness, slowness and securityness (I know, that's not a word, x6t*hyu isn't either and it's no big deal)
-
Who cares? Machine cycles are cheap...
Bruce Eckel sums it up best:
"Programmer cycles are expensive, CPU cycles are cheap, and I believe that we should no longer pay for the latter with the former. " from a post by Bruce Eckel on artima.com.Perhaps people should stop obsessively benchmarking platform VMs, and start benchmarking coding productivity and teamwork, perhaps in Python, with the performance bits in C. For a real-world example, Zope does exactly that: 95% of the code in Zope ends up being done in Python - only the real performance-intensive stuff need be in C... and the stuff done in Python is easy to read, modify, reuse, and tweak (thus, better productivity for both developers that use Zope as and app-server platform well as developers who work on Zope's core).
-
Re:With Perl and Python being mainstreaminstally cygwin/python with a ton of extraneous packaging
If you like a vanilla-Python then try Portage for Cygwin and you'll have only packages you really need.
If you just need Zope (with Plone) then try Plone for Windows installer or Zope Windows installer, either way as far as I remember it has Python inside in a an exelent shape to run everything as complex as Zope and Plone.
-
Re:With Perl and Python being mainstream
-
Re:With Perl and Python being mainstreamAnd python is my favorite choice for anything not related to web development
Why not we? Have you ever tried Zope?
-
ZEO (Zope Enterprise Option)
ZEO will allow you to scale the ZODB (Zope Object Database) across multiple processors, machines, and networks. Although the ZODB is a Python object database, so it's probably not an option to port your current database. There are other limitations of the database - it's not always the fastest, it's an object database so concepts like foreign keys are not fully there, but it can give you high availability. As of new Zope 2.7 in beta though, ZEO is quite easy to set-up, and it is open source.
-
ZEO (Zope Enterprise Option)
ZEO will allow you to scale the ZODB (Zope Object Database) across multiple processors, machines, and networks. Although the ZODB is a Python object database, so it's probably not an option to port your current database. There are other limitations of the database - it's not always the fastest, it's an object database so concepts like foreign keys are not fully there, but it can give you high availability. As of new Zope 2.7 in beta though, ZEO is quite easy to set-up, and it is open source.
-
Zope and PloneI used before WebMail (which has temporary maintanance problems) and PloneWebMail (which is actively developed and has very promising architectural features).
If you love scripting and programming with the way your mail is displayed and organized you will love to read your IMAP mail in Zope and especially in Plone.
-
Zope and PloneI used before WebMail (which has temporary maintanance problems) and PloneWebMail (which is actively developed and has very promising architectural features).
If you love scripting and programming with the way your mail is displayed and organized you will love to read your IMAP mail in Zope and especially in Plone.
-
Cheap Development
Here is cheap development under Linux (or Windows for that matter):
Load Zope on your Linux server.
Learn Python, if you don't know it already.
Build web based apps quickly and easily via any web browser that supports frames from any location that can route to the server.
Zope has built-in functionality for http server, ftp server, Berkley DB, and allows you to access external SQL databases as needed.
Using simple templates and python programs you can build sophisticated applications quickly. -
Cheap Development
Here is cheap development under Linux (or Windows for that matter):
Load Zope on your Linux server.
Learn Python, if you don't know it already.
Build web based apps quickly and easily via any web browser that supports frames from any location that can route to the server.
Zope has built-in functionality for http server, ftp server, Berkley DB, and allows you to access external SQL databases as needed.
Using simple templates and python programs you can build sophisticated applications quickly. -
FORTRAN "DO" loop and the Mariner probe
-
Parent is a troll
I'll give you a clue: you won't find one, because it is impossible to do shared memory over a cluster of machines in PHP, mod_perl, Python, etc etc.
Actually, dude, Zope smokes Java. Last time I checked, CBS ran a ZEO cluster and I don't think anyone can argue that that's a simple, low-traffic site. As for team development, Zope's seperation of content, logic, and presentation makes the various J2EE-based development enviroments look hopelessly complex at best, and a silly waste of time at worst. Oh yeah, and Yahoo does run PHP for most of their stuff, and Slashdot, which runs on mod_perl, is not a trivial site. Google also uses a lot of Python, and minimal (if any) amounts of Java. Keep trolling, though. I'm sure the Java-loving corporate ignoramuses will keep modding you up.
-
Re:That's sweet but...
I would very strongly recommend Zope/Plone. They come with a pretty good object based workflow but there is also a really powerful process based workflow with branching, etc available if you need it.
It's really easy to make it e-GIF (a UK government standard) compliant too.
We've installed it in two UK government departments and four French government departments have standardised on it too.
-
You forgot Zope
-
You forgot Zope
-
Re:JSP/PHP Compare and Contrast
Here, let me rewrite that for you:
Business Logic Java - Good
PHP - Bad.
Presentation Layer (Web)
Java/JSP - OK
PHP - OK
There, that's more in keeping with what I know of both languages. Now, Java is superior to PHP for business logic, as you picked out, but Java has JSP/Tomcat, which is functionally just as good as PHP, at least according to benchmarks I saw recently.
Now.. given the choice of Java over PHP for your presentation, why would anyone choose PHP when they can get the same results with JSP, but have the added upshot of keeping everything together in the same basic syntactic setup? Java code is easier to create and maintain than PHP code, and it's faster.
There's no real need to use a different system unless you get a benefit from it. You claim the benefit is in using PHP for presentation in web applications. Fine, but I don't see it. Now, if you suggested something along the lines of Zope's Page Templates, I might agree. But if you're at the point of using Zope for your presentation, there's no reason to use a different platform for the logic, as Zope is written in Python, and Python is an outstanding programming language, easily heads and shoulders above Java in every respect except raw number-crunching performance and IDE availabilty. At least, IMO. :)
But the question is Java vs. PHP. In that case, the answer is Java. -
Re:JSP/PHP Compare and Contrast
Here, let me rewrite that for you:
Business Logic Java - Good
PHP - Bad.
Presentation Layer (Web)
Java/JSP - OK
PHP - OK
There, that's more in keeping with what I know of both languages. Now, Java is superior to PHP for business logic, as you picked out, but Java has JSP/Tomcat, which is functionally just as good as PHP, at least according to benchmarks I saw recently.
Now.. given the choice of Java over PHP for your presentation, why would anyone choose PHP when they can get the same results with JSP, but have the added upshot of keeping everything together in the same basic syntactic setup? Java code is easier to create and maintain than PHP code, and it's faster.
There's no real need to use a different system unless you get a benefit from it. You claim the benefit is in using PHP for presentation in web applications. Fine, but I don't see it. Now, if you suggested something along the lines of Zope's Page Templates, I might agree. But if you're at the point of using Zope for your presentation, there's no reason to use a different platform for the logic, as Zope is written in Python, and Python is an outstanding programming language, easily heads and shoulders above Java in every respect except raw number-crunching performance and IDE availabilty. At least, IMO. :)
But the question is Java vs. PHP. In that case, the answer is Java. -
Security
Other simple techniques like removing all interpreted languages (java, Visual Basic, c# etc.) and replacing them with low level compiled code (C, of course) has generated speed increases upwards of 25% and also increase the security of the site as a side effect.
if you're looking for a secure web development platform, Zope is good. Only 2 vulnerabilities in 5 years, and the Hotfixes were available almost immediately, added to this, they (the 2 vulnerabilities) were only local vulernabilities, not remotely exploitable. When the ISP I was working for was security audited, the Zope servers were amoung the few boxes that didn't have detectable vulernabilities. (and these were pro network security guys). Zope's written in Python and C.
-
Re:Transferring FilesMetadata is very application specific and most of filesystem are agnostic about it. Typically it must be handled by another layer on a top of FS.
Often that layer is a DB - database. I suggest you to try ZODB, database in Zope, it's very good to handle files as documents - with many unified metadata about files.
Another good example to study is Subversion, which is revisionining/versioning metadata-management layer on a top of a regular FS.
You may research and find some software implementing a layer (on a top of a regular FS) specially designed to handle MP3 playlists. But again, that would be a layer on a top of FS, not a filesystem by itself.
-
plone + openoffice
I'd prefer to use free software to write my articles, like LaTeX or OpenOffice and then distribute PDFs or host HTML files for people to look over. Have you looked at Plone. Pretty powerful & easy to setup & use & yeah, under a gpl compatible license. Using CMFOO, an addon, you can write in open office & once you save the document it will show up on the website. Pretty cool.
-
Another groupware project - cool!
There are two definitions of groupware in the industry. The Microsoft one: groupware consists of email with some additional productivity: Calendar, Mail, and basic forms(which are hardly ever used). And the IBM Lotus one: groupware consists of database forms for routing and document management and email.
Competing with the Outlook definition:
OS foundations Chandler (Calendar focused)
Mozilla Mail (+calendar proj)
Evolution
Open Groupware
kmail/KGroupware
And from the Lotus Perspective:
www.phpgroupware.org
zope
OpenACS
And Lotus Domino which runs on Linux. The client works fine in wine or crossover - but is not officially supported. -
Re:Break the GIL!
He seems to have little sympathy on the matter, and you probably won't get more out of him than a politely worded patches welcome .
-
Re:Break the GIL!
He seems to have little sympathy on the matter, and you probably won't get more out of him than a politely worded patches welcome .
-
Re:The Zope Learning Curve
We use Zope a lot where I work, so we have ALL the books. The Zope Bible (mentioned by GeorgeH above) is my favorite. However, most printed books make heavy use of the semi-deprecated DTML tags, rather than the more "strategic" ZPT tags, an approach which made sense back when they were written, but not now.
And there is still no introductory documentation on Zope CMF: not even on a web page, anywhere, no, not even on the Zope CMF site. They do have some nice outlines of what needs to be written, along with some vain pleas in the comments for it to actually get done sometime. When will it actually BE written? What is CMF? What do you use it for? What do all its components do, in a nutshell, and why and when should you use them? Zip. To understand that, you'll need to delve into the source and fsck around with it 'til it makes sense. Zope was intended to be a Web CMS for web developers, not for Python hackers. We're a little afraid for its future now, especially now that Guido is moving on.
Jesterzog is right: its doesn't matter how good Zope is, if mere mortals can't use it.
I'd really like to write some CMF documentation myself, now that I finally understand it. But I'm doing 2.5 jobs at the moment, and every day wears me out. Maybe when my team's current project finishes I can persuade my boss' boss to let me have a little time to do this, to protect our heavy time investment in Zope and CMF.
-
Re:The Zope Learning Curve
We use Zope a lot where I work, so we have ALL the books. The Zope Bible (mentioned by GeorgeH above) is my favorite. However, most printed books make heavy use of the semi-deprecated DTML tags, rather than the more "strategic" ZPT tags, an approach which made sense back when they were written, but not now.
And there is still no introductory documentation on Zope CMF: not even on a web page, anywhere, no, not even on the Zope CMF site. They do have some nice outlines of what needs to be written, along with some vain pleas in the comments for it to actually get done sometime. When will it actually BE written? What is CMF? What do you use it for? What do all its components do, in a nutshell, and why and when should you use them? Zip. To understand that, you'll need to delve into the source and fsck around with it 'til it makes sense. Zope was intended to be a Web CMS for web developers, not for Python hackers. We're a little afraid for its future now, especially now that Guido is moving on.
Jesterzog is right: its doesn't matter how good Zope is, if mere mortals can't use it.
I'd really like to write some CMF documentation myself, now that I finally understand it. But I'm doing 2.5 jobs at the moment, and every day wears me out. Maybe when my team's current project finishes I can persuade my boss' boss to let me have a little time to do this, to protect our heavy time investment in Zope and CMF.