On Tue, Mar 5, 2013 at 9:35 PM, Vincent Massol <[email protected]> wrote: > Hi devs, > > ATM in the model module there's no ability to reference an xobject other than > by using a free form name. The problem is that this is not really usable. > This is why we introduced the BaseObjectProperty in oldcore. > > However this is major PITA since we can't have clean code that create an > object reference and that doesn't depend on oldcore. > > I'd like to propose the following: > * Modify ObjectProperty to add 2 named parameters: Class reference and > position > * Make the name optional in EntityReference > > This means that when we use an EntityReferenceResolver to resolve > "wiki:space.page^wiki2:space2.page2" we get an ObjetReference with: > * name = null > * param1: name = "classReference", value = EntityReference > * param2: name = "objectPosition", value = 0 > > Rationale: > * This is exactly what we already do for Locale (and what we'll do for > Version too probably) so it's logical to do it for Object References too > > Consequences: > * We need to modify the Seralizers/Resolvers accordingly > * We need to modify EntityReference to support a null name > * We deprecate BaseObjectProperty
s/BaseObjectProperty/BaseObjectReference/ > * Probably some other stuff to modify like modifying event listeners > listening on objects since it's now going to be much easier, etc > > WDYT? +1 One note: * ideally it should probably be possible to set a relative reference for the "classReference" property (avoid having to resolve the full class DocumentReference when 100% of the time it's for a class in the same wiki than the object document right now) > > Thanks > -Vincent > > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs -- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

