[Erp5-users] ERP5* dependencies and other questions (was: A question regarding ERP5Types)

Alexey Morozov alex at idisys.iae.nsk.su
Thu Jun 30 13:18:22 CEST 2005


Hello!

Sorry for a delay, I was busy building and playing w/ the packages ;-)

Jean-Paul Smets wrotes:
>>idea? Could it be efficiently used without the rest of ERP5 (I know that
>>it doesn't depend on it directly)? What are possible
>>problems and objections? Are there developer-level docs for it?
> 
> 
> ERP5Type can be used without ERP5 (the product). It was designed for that. 
> There might still be useless dependencies. If you can point them, I can try 
> to remove them.

Using our automatic python dependency tracker, I found the following
dependencies (beside standard python and Zope) [at least to provide a
complete list of features]:

ERP5Type (rpm built from 0.9-1mdk):

   python2.4(psyco)

   python2.4(Products.BTreeFolder2.BTreeFolder2)
   python2.4(Products.BTreeFolder2.CMFBTreeFolder)

   python2.4(Products.CMFActivity.ActiveObject)

   <... a lot of CMFCore modules ...>

   python2.4(Products.DCWorkflow)
   python2.4(Products.DCWorkflow.DCWorkflow)
   python2.4(Products.DCWorkflow.Expression)
   python2.4(Products.DCWorkflow.Transitions)

   python2.4(Products.Localizer)


CMFActivity (... 0.9-1mdk):

   python2.4(Products.CMFCore)
   python2.4(Products.CMFCore.utils)

   python2.4(Products.ERP5Type)
   python2.4(Products.ERP5Type.Base)
   python2.4(Products.ERP5Type.Document.Folder)
   python2.4(Products.ERP5Type.Error)
   python2.4(Products.ERP5Type.Utils)


ERP5Form (0.9-1mdk):

   python2.4(Products.CMFCategory.Category)

   <... various CMFCore modules ...>

   python2.4(Products.CMFReportTool.RenderPDF.Parser)
   python2.4(Products.CMFReportTool.ReportTool)

   python2.4(Products.ERP5.Document.Domain)

   python2.4(Products.ERP5Type)
   python2.4(Products.ERP5Type.Document)
   python2.4(Products.ERP5Type.Utils)

   <... various Formulator submodules ...>

   python2.4(psyco)


The most interesting part of the game is dependency on

python2.4(Products.ERP5.Document.Domain)

that is we have to install entire ERP5 in order to safely use ERP5Form.

Also CMFReportTool appearently depends on various reportlab modules and
has dependency python2.4(xml.sax.writer) which is actually a module from
PyXML.

I could provide the whole list of dependencies as well as rpm-build
plugin to count them.

> What ERP5Type provides is
> 	- ability to define data schema and semantic constraints in python without 
> restarting zope (PropertySheet)
Even w/o ALLOW_CLASS_TOOL on the filesystem?


> 	- ability to create new classes on the fly in python (without restarting 
> zope)
> 	- ability to define menu actions (CMF)
> 	- ability to define complex local role definition (ERP5Type)
> 	- ability to specialise data schema on a per-portal type base (no need to 
> subclass for that)
> 	- complete separation of data model (PropertySheet), object behaviour 
> (ERP5Type) and object presentation (ERP5Form)
> 	- relations (if you have CMFCategory installed)
Fine!

> 
> Although it is not necessary. It is better to consider using ERP5Type 
> together with ERP5Catalog and ERP5Form. 
> 	- ERP5Catalog provides ability to query Zope objects in SQL, which is 
> afterall very useful
> 	- ERP5Form provides extended Formulator with a very useful ListBox widget 
> and some other tools for PDF generation for example
> 
> And if you need high performance, CMFActivity is a must because it 
> distributes the load over nodes in a cluster. It is not required though.
> 
> If you combine ERP5Type, ERP5Catalog  and ERP5Form, you can develop new 
> applications which are completely unrelated to ERP5. One great aspect of 
> the combination of ERP5Type / ERP5Catalog  / ERP5Form is that is has been 
> tested on ZEO clusters with millions of catalogued objects and that all 
> performance issues related to size and load are now solved.
> 
> If you want to try, my suggestion would be that you first create a mock up 
> of a mini application based on Kevin tutorial  then remove one by one 
> products. I will be glad to change code in ERP5Type / ERP5Catalog  / 
> ERP5Form so that useless dependencies are removed.

Ok. Please look at the list above and tell if I can safely skip some of
the requirements (or maybe somehow split a package into smaller ones).

Thank you for your explanations. Now I'm trying to explore the new
possibilities and see if we can easily move to these ERP5* packages.

Alexey Morozov.



More information about the Erp5-users mailing list