[Zope-dev] ZPatterns: persistant objects hold DataSkin-Items -> KeyError: _v_dm_
Ulrich Eck
ueck@net-labs.de
Thu, 14 Dec 2000 20:22:08 +0100
hi Philip ...
> >so for a database app that handles multiple tables
> >it isnt useful to handle with a FwCS.
>
> Um, not necessarily. You can create regular Folders under the FwCS if you
> want to keep them seperate. You can even use BTreeFolders or other
> ObjectManagers, if you like. All that's required is that they support the
> ObjectManager protocol. So you can have a folder for each meta_type. Of
> course, the primary storage of the object has to be the ZODB.
>
>
this is not really what i plan to do ..
the main storage is the sql-database in this case .. if another application
needs
something else we can change it using other methods in our racks or
customizers.
> >I'll switch back to a Specialist which has many racks as data-providers
> >which i can choose the right one with a method that has a "meta-type"
> >parameter.
> >
> >is this right so far ??
>
> Pretty much, although I'm not sure why you want to pick by meta type,
since
> one of the major reasons for having a Specialist is for the rest of the
> application not to know about specific meta types.
>
I renamed my Product now to ZWorkflowManager which is a bit clearer.
we want to develop pluggable parts for "big-multi-feature-app" like a
network-inventory/documentation tools as part of the hole.
in every part there are predefined Workflows
e.g. a network-doc-tool has a Workflow:
<Register a new Komponent>
< add at least 1 Physical Port>
<add for every Physical Port at Least One Logical Port>
and so on ...
to ensure reusability of the hole process I want to support
several Metatype with my WorkflowManager which is
derived from a Specialist now.
these are for example
form-rendering, property-validation (with plugins) and
property-updates as well as creating new obects of
every supported type via on the fly generated Workflows
(defined through dependencies between Metatypes)
Right now i my ZWorkflowManager is derived from a Specialist.
It has Racks which hold every supported Metatype in a rack for it own.
Those can be generated with a widzard which creates a ZClass_for_Dataskin
all needed ZSQL-Method an a default-SkinScript for a DataBase Table
It has a PluginContainer for Validators which can e.g. validate a certain
ipaddress against lexical and logical rules. Every Plugin supports one
or more different check_types e.g. string :), ipaddress, subnet,
phone/faxnumber, ...
Therefor I would need an extension of the DataSkinAttributePropertySheet
which uses one more field in the _properties Dictionary and another
for label definition of on-the-fly generated forms e.g.
I _properties = (
{'id':'title','type':'string','mode':'w','check_type':'ipaddress','label':'I
P-Address'},
)
can i Extend a DataSkinAttributePropertySheet by extending its basic
attributes and modifying
its manage_workspace(..) method to support my extensions ??
The ZWorkflowManager can reender new/edit-forms, delete-screens, views and
search-forms/results
for every Meta_Type stored in a rack of itself. perhaps there will be
something like LinkToParentWorkflowManager :)
my ZWorkflowManager provides the functionality to analyse and validate all
metatypes attributes via check_types
and hopefully a fitting validator-method in the Validators PluginContainer.
The ApplicationIntegrator then can easily build different userscreens,
browse-methods with related Information
in the Specialist which serves a userinterface for the hole app in realation
to network-doc-stuff.
Is this the right design for an application i want to build ??
cya
Ulrich Eck