Ticket #1009 (closed Defect: fixed)
Avoid association doublets
Reported by: | jri | Owned by: | jri |
---|---|---|---|
Priority: | Blocker | Milestone: | Release 4.8.4 |
Component: | DeepaMehta Standard Distribution | Version: | 4.8.3 |
Keywords: | Cc: | dgf, Malte, JuergeN | |
Complexity: | 3 | Area: | Robustness |
Module: | deepamehta-core |
Description
DM should prohibit to create the same association twice. Serious malfunctions can happen if the association has an operational semantics. In particular creating the same Membership association twice renders that account unusable!
Change History
comment:10 Changed 8 years ago by Jörg Richter <jri@…>
comment:11 Changed 8 years ago by jri
- Status changed from accepted to closed
- Resolution set to fixed
comment:12 Changed 8 years ago by Malte
From my current observation, as of this fix, creating a "Membership" or a "Notification Subscription" has become impossible between Username and Workspace as soon as any simple "dm4.core.association" already exists between these two.
An error is thrown to the user if one wants to create a "Membership" between a "Username" and a "Workspace" using the Webclient (when a simple assoc exists).
The only workaround is to retype the existing association to a "Membership" and re-creating the simple assocation which connected the two topics before. Is there a case we would want to disallow many simple associations between two topics? I do not think that "dm4.core.assocations" should be regarded as carrying "operational semantics."
Just wanted to let you know.
comment:13 Changed 8 years ago by JuergeN
Same problem here: I need to model a contract with two coutries as partners. I want to create two custom assoc-devs, on for signing partner and one for issuer. At the moment I cannot do that, because systems claims that the assoc dev already exists. This is a very critical bug!
comment:15 Changed 8 years ago by jri
- Status changed from closed to reopened
- Resolution fixed deleted
Confirmed!
The envisioned fix is to involve the association value in the duplicate check as well.
The duplicate check would involve these factors then:
- Association Type
- Association Value <-- new
- Both Topic IDs
- Both Role Types
- READability
As a consequence you'll be able then to create 2 (or more) congruent associations as long as they are differentiated by its value.
(I see no point in having congruent associations when they are not distinguishable in any way.)
Hint: the association value is that one displayed alongside the association (on the canvas).
comment:16 Changed 8 years ago by Malte
How i see this issue is that, the way the webclient works, one does not even have a chance to specify a different type or value for the second assoc. Just try it. That is the issue i described in my comment. "As soon as any simple "dm4.core.association" already exists between two" players no further association can be draw as the webclient first (always) create a "dm4.core.association" which the user (normally) would then be able to specificy/retype etc..
comment:17 Changed 8 years ago by Malte
comment:18 Changed 8 years ago by Jörg Richter <jri@…>
comment:19 Changed 8 years ago by Malte
Cool, works fine for me now!
comment:20 Changed 8 years ago by jri
- Status changed from reopened to closed
- Resolution set to fixed