Thank you Martin!

I think that the keyword is introspection.

Perhaps. :) I'm not quite sure I understand what you're trying to achieve.


Well, I need to recap my experience.
Starting with UML and AGX, I've developed a complex data model, which is implemented with Archetypes. It is a tree of classes and subclasses; the leaves of the tree correspond to content types (portal types). The rationale of this is to share many fields and methods among subsets of types. Among other things, I've developed a generic search functionality able to generate dynamically search forms and results reports for each content type, and also for the subset of content types belonging to each subtree in the model.
Each search form includes a search widget for each indexed field.
I've developed this and other generic functions using a kind of introspection; that is
- analyzing programmatically the class hierarchy
- analyzing the ftis in portal_types
- trying to find relationships among classes and portal types
- identifying the fields that can be used in the search criteria.
It seems that Archetypes doesn't provide interfaces supporting such an endeavour. However, in some way I managed to fulfil my goal.

When, in a new project, I tried to extend some schemas using schemaextender, instead of using further subclassing, I better realized the limitation of my approach. I would say that the limitation is in the framework, Archetypes, that supports introspection at the instance level but not at the type level, if I am true. I also wander if new frameworks for data modeling in Zope/Plone, such as Dexterity, overcome said limitation.

Best regards, Giovanni


----- Original Message ----- From: "Martin Aspeli" <[email protected]>
To: <[email protected]>
Sent: Saturday, September 12, 2009 6:07 PM
Subject: [Product-Developers] Re: Limitations in the use of schemaextender

(...)



_______________________________________________
Product-Developers mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/product-developers

Reply via email to