Hi,
ich lese grade in wenig mit und will Mal a bischerl Hintergrundwissen
liefern:
a) Archetypes Referecences funktionieren schön ohne jedes Field. Es ist
eine eigene "Referenceable-API", die man sogar ebenso schön rausschälen
könnte; und die hat mit den Archetypes - als fields, widgets, storages
usw. - nicht viel zu tun. References sind grundsätzlich aber nicht
geordnet. Das hat primär Performance Gründe (ja auch an sowas wurde
damals gedacht, wenn wir es heute dann noch besser machen könnten - die
Welt steht nicht still).
b) Archetypes Fields haben im Normalfall ein Storage und ein Widget. Das
Storage sorgt z.B. für das Einhalten der Reihenfolge bei Listen.
c) Das ReferenceField hat _kein_ Storage. Die References werden im "set"
des Fields nicht an ein Storage delegiert, sondern an die Referenceable
API. Achja, und wie war das? Diese ist nicht geordnet!
Soweit so gut. Jetzt wollen wir Orderable References? Das geht nur mit
einem Field, dass sich die Order merkt und in ein Storage schreibt und
dann die Referenzen an die API delegiert. Sowas gibt es hier:
https://dev.plone.org/archetypes/browser/Products.OrderableReferenceField/trunkoder das von Tom genannte.
Nachteil ist, dass Referenzen die nicht über das Field gesetzt werden im
Field nicht, bzw ausserhalb der Order erscheinen. Redundanz haben wir
auch. Wird eine Reference gelöscht ohne das Field zu Nutzen, so wird
diese in der Field -Order bestehen bleiben. Das kann man eventuell
sinnvoll abfangen und ich habe mir die Field-Implementierung in der
Hinsicht nicht angeschaut. Aber man muss eine Gewisse Aufmerksamkeit bei
diesen Punkten an den Tag legen.
Ich hoffe das hilft ein wenig.
lg Jens
--
Jens W. Klein
Software Architect
Managing Director, General Partner
+43 512 890077
Klein & Partner KEG WEB APPLICATIONS, ZOPE, PLONE, HOSTING
BlueDynamics Alliance production: concept, development, design
http://bluedynamics.com consulting: analysis, coaching, training
http://zoplo.com management: projects, process, community
_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope