[deepamehta-devel] FYI: Declarative Migrations need to be rewritten to be compatible with 4.0.13

Jörg Richter jri at deepamehta.de
Mo Nov 26 15:19:27 CET 2012


Hi Malte,

every incompatibility that affects plugin developers is always carefully documented in the commit message. Notes about how to adapt your plugin are included.

Every time you pull in the latest source code: read the recent commit messages!
Watch out for BREAKING CHANGES header.
If there is one your plugin might require adaption. If there is none, you're save.


On Nov 26, 2012, at 14:18, Malte Reißig wrote:

> I just discovered after having to update to the latest changes to
> implement the "ACL-Entries workaround" that my declarative migrations do
> not apply anymore, so I wanted to let others know too:
> 
> a) uris' used in the declarative migration definitions for declaring
> composite child topics do not use the "part_topic_type_uri" ref-anymore
> but this needs to be rewritten to "part_type_uri" instead.
> 
> just in case you also need/want to update older plugins with declarative
> migrations to be running with dm-4.0.13 and upwards.
> 
> note: afer digging throughout the outputs i just saw now, that this was
> introduced in the ultimate commit (just a few hours ago) - well, that's
> the hard side on always wanting to live on the edge.. :) always need to
> double check when updating to latest "master" to not be surprised.

Look here:
https://github.com/jri/deepamehta/commit/a0aea34fac1397097483d66857011d42878c18f1

> BTW: why is there in a "dm4.core.composition_def" no
> "whole_cardinality_uri " needed as it is in a "dm4.core.aggregation_def"
> ? e.g.
> 
>   {
>       part_type_uri:        "dm4.accesscontrol.username",
>       part_cardinality_uri: "dm4.core.one",
>       assoc_type_uri:       "dm4.core.composition_def"
>   }

A child (part) in a composition have always *one* parent (whole). Thats part of the general meaning of Composition. So, for a composition you're not required to specify whole_cardinality_uri.

> and another thing is
> 
> b) initalizePlugin (which danny is also using to fix the ACL-Entries
> issue) seems to be unsupported now in a *Plugin Class, is there a
> replacement yet?

Look here:
https://github.com/jri/deepamehta/commit/09bac5ed8316993d4dd111b3272bd45737c3dd6b

Cheers,
Jörg




Mehr Informationen über die Mailingliste devel