Advice needed before settling on Zope
Hi Zope users!
We have to build a content/document management system for our company, and I have been assigned to look into this and make a start. The system has quite a few requirements, which I'll outline below.
Version Control: we need quite complex version control. Lets say we have document x. This document will be developed and worked on by multiple users. At the same time, this will also be translated into other languages. If a change is made to the English version, then that change will have to be made in other languages too. I think that in Version Control speak, the different languages can be thought of as different renditions.
Workflow Control: because of the number of people involved, we need to have a decent workflow control system. The workflow could be A->B->C->D, D rejects so back to B, B makes mods and sends to E for final review. Or something, the point is we need to be able to have quite a lot of control over it, and the workflow isn't necessarily a linear 'up and down the chain' type of thing.
Document Management - the system is all about documents. They would like the ability to organise the documents into different pages for people to download. They should be able to download older versions or different renditions. Also each document will be available only to certain groups or roles.
Our client is quite specific about what they require and how they want it to be presented, so ease of customisation and extensibility is a major factor. We have looked around at existing CMSes but have not found one that fulfills all of our requirements or that is customisable enough that we can fulfill our requirements with a bit of work. We looked at Plone, and then I decided we might be better off going down a level and building on Zope.
Does this sound like a good idea to you guys? Do you know of any better suited frameworks or even existing systems that we should use? Finally if we do settle on Zope, would we be wiser using the 2.x version or the 3.x version? I imagine that 2.x has more documentation and more addons (e.g. for versioning, workflow etc.).
Another consideration is that the skillset here is mainly in PHP and Java, however I don't think anybody is fazed by having to use Python if Zope is the best option for us.
+-------[ Rainsford, David ]---------------------- | Hi Zope users! | | We have to build a content/document management system for our company, and I | have been assigned to look into this and make a start. The system has quite a | few requirements, which I'll outline below. [snip] | Our client is quite specific about what they require and how they want it to be | presented, so ease of customisation and extensibility is a major factor. We | have looked around at existing CMSes but have not found one that fulfills all | of our requirements or that is customisable enough that we can fulfill our | requirements with a bit of work. We looked at Plone, and then I decided we | might be better off going down a level and building on Zope. | | Does this sound like a good idea to you guys? There's nothing that you've outlined that can't be done in Zope, in fact CA were developing (or have developed) a document management system in Zope (well in Plone) that they are intending to contribute back to the Zope community. The project is called BrightStor. You might want to poke the CA guys in Melbourne to see if they can give you a timeframe for when the rights will be assigned to the Plone Foundation (the Plone guys might also know d8) | Do you know of any better suited | frameworks or even existing systems that we should use? Finally if we do | settle on Zope, would we be wiser using the 2.x version or the 3.x version? I | imagine that 2.x has more documentation and more addons (e.g. for versioning, | workflow etc.). At this point you'd probably find more resources that you could adapt for Zope2 as opposed to Zope3. If you're going to develop from the ground up, Zope2 + Five (Zope3 interface layer for Zope2) might help you get started, with an easier transition to Zope3 if/when it's more mature for you. | Another consideration is that the skillset here is mainly in PHP and Java, | however I don't think anybody is fazed by having to use Python if Zope is the | best option for us. We're all biased on this list, you probably won't find too many people who won't tell you to use Zope d8) -- Andrew Milton akm@theinternet.com.au
Hi David,
We have to build a content/document management system for our company, and I have been assigned to look into this and make a start. The system has quite a few requirements, which I'll outline below.
As you might already know, there are quite a few CMS built on top of Zope2. Zope3 seems to be getting more and more momentum as people find out that it's concepts and ideas are really superior.
Version Control: we need quite complex version control. Lets say we have document x. This document will be developed and worked on by multiple users. At the same time, this will also be translated into other languages. If a change is made to the English version, then that change will have to be made in other languages too. I think that in Version Control speak, the different languages can be thought of as different renditions.
Version control is already used in various Zope-Products (CPS for example). So you need to keep track on multilingual Content here. The translations are to be done by human beings, though? Do you just want to create a new version in a certain workflow-state for the other language-versions when a new english version occurs?
Workflow Control: because of the number of people involved, we need to have a
Well, Workflows are there. In Zope2 Land You have DCWorkflow, some OpenFlow Variant and also AlphaFlow on the Plone Side. In Zope3 there is also a Workflow Package, so I think the Infrastructure is there too.
Document Management - the system is all about documents. They would like the ability to organise the documents into different pages for people to download. They should be able to download older versions or different renditions. Also each document will be available only to certain groups or roles.
No Problems here as well, especially the security model of both Zope2 and Zope3 is really well suited for such Applications.
Our client is quite specific about what they require and how they want it to be presented, so ease of customisation and extensibility is a major factor. We have looked around at existing CMSes but have not found one that fulfills all of our requirements or that is customisable enough that we can fulfill our requirements with a bit of work. We looked at Plone, and then I decided we might be better off going down a level and building on Zope.
Then definetely you are right in betting on Zope. I would even say, that it sounds like you should choose Zope3 - however this is hard to say, since your requirements are not very specific. But if customisation and extensibility are important then it sounds like Zope3 to me.
settle on Zope, would we be wiser using the 2.x version or the 3.x version? I imagine that 2.x has more documentation and more addons (e.g. for versioning, workflow etc.).
Yes, but Zope2 is a complex Beast which has to carry a lot of historical weirdnesses around. Zope3 has a much better structure but there are not so many Addons available yet. I would advise that you have a look at the zope3 Malinglist and try to find out if the already existing Component Infrastructure roughly suits your needs. I mean Database Connectivity, LDAP and that stuff. Kind Regards Maik
On 2/15/06, Rainsford, David <rainsford@acer.edu.au> wrote:
Our client is quite specific about what they require and how they want it to be presented, so ease of customisation and extensibility is a major factor. We have looked around at existing CMSes but have not found one that fulfills all of our requirements or that is customisable enough that we can fulfill our requirements with a bit of work. We looked at Plone, and then I decided we might be better off going down a level and building on Zope.
Have you looked at CPS? It seems to fulfill most of your requirements out of the box. -- Lennart Regebro, Nuxeo http://www.nuxeo.com/ CPS Content Management http://www.cps-project.org/
Hi
We looked at Plone, and then I decided we might be better off going down a level and building on Zope.
What turned you off Plone? On 2/15/06, Lennart Regebro <regebro@gmail.com> wrote:
On 2/15/06, Rainsford, David <rainsford@acer.edu.au> wrote:
Our client is quite specific about what they require and how they want it to be presented, so ease of customisation and extensibility is a major factor. We have looked around at existing CMSes but have not found one that fulfills all of our requirements or that is customisable enough that we can fulfill our requirements with a bit of work. We looked at Plone, and then I decided we might be better off going down a level and building on Zope.
Have you looked at CPS? It seems to fulfill most of your requirements out of the box.
-- Lennart Regebro, Nuxeo http://www.nuxeo.com/ CPS Content Management http://www.cps-project.org/ _______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
-- Michael
What turned you off Plone?
Plone still lacks a decent versioning System. That's definetely a showstopper. And it does not scale too well, if you cannot use caching. Don't get me wrong, I do like Plone since you can rip out small Intranet solutions in a very short time - but do not try to do that with hundreds or thousands of active Users on that Site. Chris and Jens might give you more Details on that matter ;-) Kind Regards Maik
Lennart Regebro wrote:
On 2/15/06, Rainsford, David <rainsford@acer.edu.au> wrote:
Our client is quite specific about what they require and how they want it to be presented, so ease of customisation and extensibility is a major factor. We have looked around at existing CMSes but have not found one that fulfills all of our requirements or that is customisable enough that we can fulfill our requirements with a bit of work. We looked at Plone, and then I decided we might be better off going down a level and building on Zope.
Have you looked at CPS? It seems to fulfill most of your requirements out of the box.
I can confirm this - In fact, I was about to post about it !-) Now for the downside: - CPS is a complex beast built on top of CMF, which is a complex beast built on top of Zope2 which is itself already quite complex. - Zope2's documentation is in a very sorry state (lot of outdated stuff, sometime contracting each others, and lot of undocumented or underdocumented features and gotchas). - It's even worse for CPS and CMF since they have almost no usable documentation. Due to the hi abstraction level of these frameworks, even using-the-code-luke can become a kind of nightmare. Learning Python is surely not a problem. Any decent programmer should be able to productive with Python in less than 2 weeks. The problem is learning Zope2, then learning CMF and CPS. And this is really another story. Not to say you shouldn't use Zope or CPS - they are both great pieces of software and you should definitely take time to evaluate CPS as a possible solution. Now would you choose to stick to 'barebone' Zope, and since you're fresh to Zope, I'd say that Zope3 might be a far better option than Zope2. And AFAICT, Zope3 seems to be better documented than Zope2. My 2 cents... -- bruno desthuilliers développeur bruno@modulix.org http://www.modulix.com
On 2/15/06, bruno desthuilliers <bruno@modulix.org> wrote:
Now for the downside: - CPS is a complex beast built on top of CMF, which is a complex beast built on top of Zope2 which is itself already quite complex.
Well, that is true. But I think that is true of any enterprise CMS. We do know that Zopes2 expansion by tacking on stuff makes it look like the house of the Weasleys, mostly held together by magic, than the nice factory floor that we like. But the only solution for that is Zope3, and writing a CMS from scratch, which has started with the z3lab effort. So I guess its a matter of speed vs cleanlyness. ;-) -- Lennart Regebro, Nuxeo http://www.nuxeo.com/ CPS Content Management http://www.cps-project.org/
Hi All, We're having serious problems with performance running Silva CMS on Zope 2.7.8-final, python 2.3.5, linux2 set up on a machine with 2.5GB RAM. There are currently only about 65 users and around 2000 documents in the CMS but it seems to run for a week, then the RAM fills up and crashes so we have to restart the server manually. The Zope logs aren't much help as I enquired on the Zope list and their response was we need more RAM. But surely 2.5GB is enough. I've also checked Control_Panel/DebugInfo for any refcounts with significant jumps and Products.Silva.Image.Image seems to be the culprit: 11.32am 11.36am Products.Silva.Image.Image 56203 58153 +1950 Acquisition.ImplicitAcquirerWrapper 44825 45151 +326 So we've tried to figure out which kind of request triggers these refcount jumps by creating a separate instance with a very small ZODB Cache (so it gets filled up soon), and clicked around a little, watching the refcounts but we cannot seem to replicate it. So basically this is a plea for help from an expert Zope debugger who can assist us in finding the source of the problem so we can resolve it. Or alternatively someone who can give us a set of instructions that we can follow that will enable us to locate the problem, I've googled it and there are no clear answers. FYI we have the following products installed on our Zope instance. Annotations 0.4.3 BTreeFolder2-1.0.1 DocFinderTab (0.5.2) External Method-1-0-0 FileSystemSite 1.4.2 Formulator 1.10 Groups 0.4 IssueTrackerProduct (0.6.13) LDAPUserFolder (2.3) MIMETools MailHost-1-3-0 OFSP-1-0-0 PageTemplates-1-4-0 ParsedXML 1.4 PlacelessTranslationService (1.0) PluginIndexes ProxyIndex 1.2 PythonScripts-2-0-0 Sessions Silva 1.4.1 SilvaBlog 0.4.2 SilvaCustomAutoTOC 0.9 SilvaDocument 1.4.1 SilvaDocumentPatches 1.3b6-1 SilvaExtETHLDAP 0.7 SilvaExternalSources 0.10.3 SilvaMetadata 0.10 SilvaNewsNetwork 2.0 SilvaReferenceChecker 0.2 SilvaStylesheets 0.6.2 SilvaUCLAttributes 0.7 - (A UCL product*) Silva UCL Gallery 0.1 - (A UCL product*) SilvaUCLSubjectAudienceFilters 0.6 - (A UCL product*) SilvaViews 0.11 SiteAccess-2-0-0 SiteErrorLog Sprout 0.6.2 StandardCacheManagers-1-1-0 TemporaryFolder Transience Tropos (1.9.12) XMLWidgets-Pluggable 0.13 (CVS/UNRELEASED) ZCTextIndex ZCatalog-2-2-0 ZGadflyDA ZMySQLDA 2.0.8 ZODBMountPoint ZOracleDA ZReST (1.1) ZSQLMethods Zope Tutorial 1.2 kupu 1.3.2 z3locales 0.1 If you require any further information do not hesitate to ask. Hope someone can help. Jon Bowlas University College London
Hi, I'm NOT an expert and I hope that someone else who is an expert gives you better advise but here's a start... Do you have any recursive loops with lists that doesn't reset the list? Perhaps something like this: def findAllImages(self, placetolook, append2): for o in placetolook.objectValues(): if o.meta_type == 'Silva Image': append2.append(o) elif o.isPrincipiaFolderish: findAllImages(o, append2) or something like that. I had a memory leak and the refcounts pointed to the Photo class. Turns out that I did a bizarre loop over these without resetting it properly after. It was a bitch to debug and it was a long time ago when Zope was called zope 2.3. That's all I've got to offer. Scan your code for places where you create lists by loops on the ZODB. 2000 objects is enough if they are piled up and not freed until a server restart. Heck, if they're big, 200 is enough. On 2/15/06, Jonathan Bowlas <me@jonbowlas.com> wrote:
Hi All,
We're having serious problems with performance running Silva CMS on Zope 2.7.8-final, python 2.3.5, linux2 set up on a machine with 2.5GB RAM. There are currently only about 65 users and around 2000 documents in the CMS but it seems to run for a week, then the RAM fills up and crashes so we have to restart the server manually.
The Zope logs aren't much help as I enquired on the Zope list and their response was we need more RAM. But surely 2.5GB is enough.
I've also checked Control_Panel/DebugInfo for any refcounts with significant jumps and Products.Silva.Image.Image seems to be the culprit: 11.32am 11.36am Products.Silva.Image.Image 56203 58153 +1950 Acquisition.ImplicitAcquirerWrapper 44825 45151 +326
So we've tried to figure out which kind of request triggers these refcount jumps by creating a separate instance with a very small ZODB Cache (so it gets filled up soon), and clicked around a little, watching the refcounts but we cannot seem to replicate it.
So basically this is a plea for help from an expert Zope debugger who can assist us in finding the source of the problem so we can resolve it. Or alternatively someone who can give us a set of instructions that we can follow that will enable us to locate the problem, I've googled it and there are no clear answers.
FYI we have the following products installed on our Zope instance.
Annotations 0.4.3 BTreeFolder2-1.0.1 DocFinderTab (0.5.2) External Method-1-0-0 FileSystemSite 1.4.2 Formulator 1.10 Groups 0.4 IssueTrackerProduct (0.6.13) LDAPUserFolder (2.3) MIMETools MailHost-1-3-0 OFSP-1-0-0 PageTemplates-1-4-0 ParsedXML 1.4 PlacelessTranslationService (1.0) PluginIndexes ProxyIndex 1.2 PythonScripts-2-0-0 Sessions Silva 1.4.1 SilvaBlog 0.4.2 SilvaCustomAutoTOC 0.9 SilvaDocument 1.4.1 SilvaDocumentPatches 1.3b6-1 SilvaExtETHLDAP 0.7 SilvaExternalSources 0.10.3 SilvaMetadata 0.10 SilvaNewsNetwork 2.0 SilvaReferenceChecker 0.2 SilvaStylesheets 0.6.2 SilvaUCLAttributes 0.7 - (A UCL product*) Silva UCL Gallery 0.1 - (A UCL product*) SilvaUCLSubjectAudienceFilters 0.6 - (A UCL product*) SilvaViews 0.11 SiteAccess-2-0-0 SiteErrorLog Sprout 0.6.2 StandardCacheManagers-1-1-0 TemporaryFolder Transience Tropos (1.9.12) XMLWidgets-Pluggable 0.13 (CVS/UNRELEASED) ZCTextIndex ZCatalog-2-2-0 ZGadflyDA ZMySQLDA 2.0.8 ZODBMountPoint ZOracleDA ZReST (1.1) ZSQLMethods Zope Tutorial 1.2 kupu 1.3.2 z3locales 0.1
If you require any further information do not hesitate to ask.
Hope someone can help.
Jon Bowlas University College London
_______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
-- Peter Bengtsson, work www.fry-it.com home www.peterbe.com hobby www.issuetrackerproduct.com
+-------[ Jonathan Bowlas ]---------------------- | Hi All, | | We're having serious problems with performance running Silva CMS on Zope | 2.7.8-final, python 2.3.5, linux2 set up on a machine with 2.5GB RAM. There | are currently only about 65 users and around 2000 documents in the CMS but | it seems to run for a week, then the RAM fills up and crashes so we have to | restart the server manually. | | The Zope logs aren't much help as I enquired on the Zope list and their | response was we need more RAM. But surely 2.5GB is enough. | | I've also checked Control_Panel/DebugInfo for any refcounts with significant | jumps and Products.Silva.Image.Image seems to be the culprit: | 11.32am 11.36am | Products.Silva.Image.Image 56203 58153 +1950 | Acquisition.ImplicitAcquirerWrapper 44825 45151 +326 Is there a possibility something is webcrawling your site? -- Andrew Milton akm@theinternet.com.au
participants (8)
-
Andrew Milton -
bruno desthuilliers -
Jonathan Bowlas -
Lennart Regebro -
Maik Ihde -
michael nt milne -
Peter Bengtsson -
Rainsford, David