Project

General

Profile

feature request #9340

Workflow support for secundum handling when making synonym a new accepted taxon

Added by Andreas Müller 11 months ago. Updated 8 months ago.

Status:
Closed
Priority:
New
Assignee:
Category:
taxeditor
Target version:
Start date:
12/03/2020
Due date:
% Done:

100%

Severity:
normal

Description

copied from #9267

(1) check above ticket for remaining issues. Most important is to have a preference to handle the workflow according to the project needs.
Also the decision dialog can be improved.

Preferences could be:

  • Always delete sec (without warning)
  • warning, with option to immediately select new sec (buttons for old sec, new parent sec, old parent sec, or reference select dialog) + cancel
  • Keep without warning if syn sec and new parent sec (and old parent sec(?) are the same, warn otherwise (this handles the default usecase very well)
  • Keep always
  • Always use new parent sec
  • Always use old parent sec (???).

(2) also we should check similar usecases. E.g. when making an accepted taxon a synonym the same check should be done. We should check all such operations

This is a list of operations for testing:

  • change synonym to MAN/PP
  • change synonym to accepted taxon
  • change taxon to synonym
  • change MAN/PP to synonym
  • move synonym to another taxon
  • move accepted to new parent

picture023-1.png View (7.75 KB) Andreas Müller, 03/04/2021 04:07 PM

picture937-1.png View (3.24 KB) Andreas Müller, 03/04/2021 07:36 PM


Related issues

Related to Edit - feature request #9523: Check secundum of homotypic synonyms when changing accepted taxon to synonym New 03/10/2021
Related to Edit - feature request #8922: Make setting of sec-Reference configurable when moving synonyms. Duplicate 03/31/2020
Related to Edit - bug #9734: Correct handling for secundum references when moving taxon to new parent Closed 08/05/2021
Copied from Edit - bug #9267: No sec reference for move change Synonym to accepted Taxon Closed 11/02/2020

Associated revisions

Revision 299adb56 (diff)
Added by Katja Luther 8 months ago

ref #9340: secundum ref workflow for synonym to taxon

Revision 44000ac1 (diff)
Added by Katja Luther 8 months ago

ref #9340: workflow for changing synonym to acc and acc to synonym

Revision d75abe5d (diff)
Added by Katja Luther 8 months ago

ref #9340: adapt service methods to secundum workflow

Revision b02474e5 (diff)
Added by Katja Luther 8 months ago

ref #9340: adapt service methods to secundum workflow - adapt tests

Revision ae13fa54 (diff)
Added by Katja Luther 8 months ago

ref #9340: adapt service methods to secundum workflow - adapt tests

Revision 4224661e (diff)
Added by Katja Luther 8 months ago

ref #9340: fix NPE

Revision daa29c68 (diff)
Added by Katja Luther 8 months ago

ref #9340: add sec check for move synonym to another taxon

Revision ceda623b (diff)
Added by Katja Luther 8 months ago

ref #9340: change sekundum to secundum

Revision 78cc32b1 (diff)
Added by Katja Luther 8 months ago

ref #9340: change sekundum to secundum

Revision 028f99e1 (diff)
Added by Katja Luther 8 months ago

ref #9340: title and message where mixed up

Revision eaf81585 (diff)
Added by Katja Luther 8 months ago

ref #9340: correct message

Revision 5f6b535c (diff)
Added by Katja Luther 8 months ago

ref #9340: fix error for keepWhenSame

Revision 733fcb2d (diff)
Added by Katja Luther 8 months ago

ref #9340: correct handling of sec for moving one more taxa to synonymy of other taxon

Revision 686ed38c (diff)
Added by Katja Luther 8 months ago

ref #9340: same sec handling for all synonyms of the moved accepted taxon

Revision ea24e836 (diff)
Added by Katja Luther 8 months ago

ref #9340: fix handling of secundum for synonyms

Revision f42b6825 (diff)
Added by Katja Luther 8 months ago

ref #9340: fix sec handling for homotypic syn when moving acc to syn of another acc

Revision 03c890d0 (diff)
Added by Katja Luther 8 months ago

ref #9340: fix sec handling for homotypic syn when moving acc to syn of another acc

Revision dca5b6f7 (diff)
Added by Katja Luther 8 months ago

ref #9340: fix sec handling for homotypic syn when change synonym to accepted taxon

Revision e638fe1d (diff)
Added by Katja Luther 8 months ago

ref #9340: fix change syn to accept keep sec for homotypic syn

Revision 184a2a6b (diff)
Added by Katja Luther 8 months ago

ref #9340: secundum handling if synonym in HG has different sec

Revision 13172f31 (diff)
Added by Katja Luther 8 months ago

ref #9340: correct handling for sec

Revision 2427a5bb (diff)
Added by Katja Luther 8 months ago

ref #9340: check for different sec in homotypic group

Revision 6058f57d (diff)
Added by Katja Luther 8 months ago

ref #9340: check for different sec in homotypic group

Revision 3f482e4c (diff)
Added by Katja Luther 8 months ago

ref #9340: add comments

Revision d2c49476 (diff)
Added by Katja Luther 8 months ago

ref #9340: code cleaning

Revision 9b5e79ee (diff)
Added by Katja Luther 3 months ago

ref #9340, #9734, #9668: further improvements for configurable sec handling during taxon(base) operations

Revision f13ee832 (diff)
Added by Katja Luther 3 months ago

ref #9340, #9734, #9668: further improvements for configurable sec handling during taxon(base) operations

Revision 296fa5af (diff)
Added by Katja Luther 3 months ago

ref #9340, #9734, #9668: result should be of type DeleteResult

History

#1 Updated by Andreas Müller 11 months ago

  • Copied from bug #9267: No sec reference for move change Synonym to accepted Taxon added

#2 Updated by Andreas Müller 11 months ago

  • Description updated (diff)

#3 Updated by Andreas Müller 9 months ago

  • Target version changed from Release 5.19 to Release 5.21

#4 Updated by Katja Luther 8 months ago

  • Status changed from New to In Progress

the workflow for change synonym to accepted and accepted to synonym is adapted.

#5 Updated by Katja Luther 8 months ago

  • Assignee changed from Katja Luther to Andreas Müller

please review the already implemented workflows

#6 Updated by Andreas Müller 8 months ago

Can you add a list to the description, which other operations are planned to have this workflow support?

#7 Updated by Andreas Müller 8 months ago

  • Status changed from In Progress to Resolved
  • % Done changed from 0 to 20

I put this ticket to resolved so I have it in the review list. Before closing the ticket we should move open issues to a new ticket.

#8 Updated by Katja Luther 8 months ago

  • Description updated (diff)

#9 Updated by Katja Luther 8 months ago

  • Description updated (diff)

#10 Updated by Katja Luther 8 months ago

  • Description updated (diff)

#11 Updated by Andreas Müller 8 months ago

  • % Done changed from 20 to 30

Tested: Syn => MAN and back

In step 1 sec was deleted (OK)
In step 2 sec was added (taken from accepted) - (OK, though not sure if always expected behavior, but rare usecase)

#12 Updated by Andreas Müller 8 months ago

  • Status changed from Resolved to Feedback
  • Assignee changed from Andreas Müller to Katja Luther

Generally use se*c*undum not sekundum in German dialogues (and elsewhere) as secundum is Latin. I don't think there is German version Sekundum.

#13 Updated by Andreas Müller 8 months ago

Tested: Syn => Acc

The dialogue title and the message seem to be mixed up, they should be swapped.

#14 Updated by Andreas Müller 8 months ago

Also the message seems to mention the old accepted taxon but I think finally we decided that here the old accepted taxon secundum doesn't matter. We only compare the new parent and the old synonym/new taxon.

#15 Updated by Andreas Müller 8 months ago

  • Description updated (diff)

#16 Updated by Andreas Müller 8 months ago

Tested change accepted to synonym (with default preference)

Old parent sec1, oldAcc sec1, newAcc sec1 => warning (FALSE) if all 3 secundum are the same no reason for a warning
Old parent sec1, oldAcc sec2, newAcc sec1 => warning => keep => newAcc sec2 (OK)
Old parent sec1, oldAcc sec2, newAcc sec1 => warning => from acc => newAcc sec1 (OK)
Old parent sec1, oldAcc sec2, newAcc sec1 => warning => select sec3 => newAcc sec3 (OK)
Old parent sec1, oldAcc sec1, newAcc sec2 => warning => keep => newAcc sec1 (OK)
Old parent sec1, oldAcc sec1, newAcc sec2 => warning => from acc => newAcc sec1 (FALSE)
Old parent sec1, oldAcc sec1, newAcc sec2 => warning => select sec3 => newAcc sec3 (OK)
Old parent sec1, oldAcc sec2, newAcc sec2 => warning (FALSE)

There are 3 incorrect handlings

More tests are possible, with null values and with differing old parent

#17 Updated by Andreas Müller 8 months ago

Tested change synonym to accepted taxon (with default preference)

OldAcc sec1, oldSyn sec1, newParent sec1 => newAcc null (FALSE!!, this is critical because core functionality)
OldAcc sec1, oldSyn sec2, newParent sec1 => warning => keep => newAcc sec2 (OK)
OldAcc sec1, oldSyn sec2, newParent sec1 => warning => from parent => newAcc sec1 (OK)
OldAcc sec1, oldSyn sec2, newParent sec1 => warning => select sec3 => newAcc sec3 (OK)
OldAcc sec1, oldSyn sec1, newParent sec2 => warning => keep => newAcc sec1 (OK)
OldAcc sec1, oldSyn sec1, newParent sec2 => warning => from parent => newAcc sec2 (OK)
OldAcc sec1, oldSyn sec1, newParent sec2 => warning => select sec3 => newAcc sec3 (OK)
OldAcc sec1, oldSyn sec2, newParent sec2 => newAcc null (FALSE!!)
OldAcc sec1, oldSyn null, newParent sec2 => warning => keep => newAcc null (OK)
OldAcc sec1, oldSyn null, newParent sec2 => warning => from parent => newAcc sec2 (OK)
OldAcc sec1, oldSyn sec2, newParent null => warning => keep => newAcc sec2 (OK)
OldAcc sec1, oldSyn sec2, newParent null => warning => from parent => newAcc null (OK)
OldAcc sec1, oldSyn null, newParent null => no warning, newAcc null (OK)

the deleting of the secundum if oldSyn and new parent secundum are same is the critical issue here

#18 Updated by Andreas Müller 8 months ago

Further tested change accepted to synonym (with default preference)

Old parent sec2, oldAcc null, newAcc sec1 => warning => keep => newSyn sec1 (FALSE, should be null)
Old parent sec2, oldAcc null, newAcc sec1 => warning => from acc => newSyn sec1 (OK)
Old parent sec2, oldAcc null, newAcc sec1 => warning => select sec3 => newSyn sec3 (OK)

#19 Updated by Andreas Müller 8 months ago

Katja, can you please run the same type of tests for

  • move synonym to another taxon
  • move accepted to new parent

and report the results here?

#20 Updated by Andreas Müller 8 months ago

The preference says

Is it true that it is only for these 2 operations or should we adapt the label?

#21 Updated by Katja Luther 8 months ago

Andreas Müller wrote:

The preference says

Is it true that it is only for these 2 operations or should we adapt the label?

actually yes.

#22 Updated by Andreas Müller 8 months ago

I test all other preferences (except for default preference) for change "synonym to accepted taxon" and "change taxon to synonym" and they all seem to work as expected

#23 Updated by Andreas Müller 8 months ago

Andreas Müller wrote:

I test all other preferences (except for default preference) for change "synonym to accepted taxon" and "change taxon to synonym" and they all seem to work as expected

Ok, from your answer to the previous question I think this makes no sence as it is probably not yet implemented.

Probably we should should split the ticket then as this might be to much work for the upcoming release?

#24 Updated by Andreas Müller 8 months ago

I have not checked but I guess that the secundum of other synonyms in the homotypic group is probably not checked yet? Similar to #8767#note-37

#25 Updated by Katja Luther 8 months ago

Andreas Müller wrote:

I have not checked but I guess that the secundum of other synonyms in the homotypic group is probably not checked yet? Similar to #8767#note-37

There is another question still not handled, should they all get the same sec? If they had different sec references before, or does this not exist?

#26 Updated by Andreas Müller 8 months ago

Katja Luther wrote:

Andreas Müller wrote:

I have not checked but I guess that the secundum of other synonyms in the homotypic group is probably not checked yet? Similar to #8767#note-37

There is another question still not handled, should they all get the same sec? If they had different sec references before, or does this not exist?

I guess this exists as someone later may have added a synonym homotypic to a heterotypic synonym which existed not in the original treatment.

How to handle: depending on the decision I guess the same rule should be used for each synonym. So "keep" will keep ALL secundums, take from new parent will set secundum for ALL synonyms and the same for "select new sedundum".

#27 Updated by Katja Luther 8 months ago

  • Status changed from Feedback to Resolved
  • Assignee changed from Katja Luther to Andreas Müller

Andreas Müller wrote:

Katja Luther wrote:

Andreas Müller wrote:

I have not checked but I guess that the secundum of other synonyms in the homotypic group is probably not checked yet? Similar to #8767#note-37

There is another question still not handled, should they all get the same sec? If they had different sec references before, or does this not exist?

I guess this exists as someone later may have added a synonym homotypic to a heterotypic synonym which existed not in the original treatment.

How to handle: depending on the decision I guess the same rule should be used for each synonym. So "keep" will keep ALL secundums, take from new parent will set secundum for ALL synonyms and the same for "select new sedundum".

this is implemented now.

#28 Updated by Andreas Müller 8 months ago

  • % Done changed from 30 to 50

When testing I sometimes (often at the very beginning after I adapted the test data) got very strange results like publish flag changed the status or no warning appeared though the sec were definetely not the same anymore. This could be related with #9520

#29 Updated by Andreas Müller 8 months ago

  • Status changed from Resolved to Feedback
  • Assignee changed from Andreas Müller to Katja Luther

If an accepted taxon is converted to a synonym (for an accepted taxon with same sec) its homotypic synonym having the same sec looses the sec !

oldAcc sec1, oldAccHom sec1, newAcc sec1 => no warning, newSyn sec1, newSynHom null (FALSE should be newSynHom sec1)

#30 Updated by Katja Luther 8 months ago

Andreas Müller wrote:

If an accepted taxon is converted to a synonym (for an accepted taxon with same sec) its homotypic synonym having the same sec looses the sec !

oldAcc sec1, oldAccHom sec1, newAcc sec1 => no warning, newSyn sec1, newSynHom null (FALSE should be newSynHom sec1)

this is fixed.
also fixed for change synonym to accepted taxon

#31 Updated by Katja Luther 8 months ago

For default preference "Keep when same"

Synonym to accepted, keep

syn ref1, homotypic syn ref2, parent ref3 -> newTaxon ref1, syn2 ref2, parent ref3 (OK)
syn ref1, hom. syn null, parent ref1 -> newTaxon ref1, hom. syn null, parent ref1 (OK)
syn null, homotypic syn ref2, parent ref3 -> newTaxon null, syn2 ref2, parent ref3 (OK)
syn ref1, homotypic syn ref2, parent null-> newTaxon ref1, syn2 ref2, parent null(OK)
syn ref1, hom. syn ref2, parent ref1 -> newTaxon ref1, hom. syn ref1, parent ref1 (OK)

Synonym to accepted, use parent sec

syn null, homotypic syn null, parent ref3 -> newTaxon ref3, syn2 ref3, parent ref3 (OK)
syn ref1, hom. syn ref2, parent null-> newTaxon null, hom. syn null, parent null(OK)
syn null, homotypic syn null, parent ref3 -> newTaxon ref3, syn2 ref3, parent ref3 (OK)
syn ref1, hom. syn ref2, parent ref1 -> newTaxon ref1, hom. syn ref1, parent ref1 (OK)

Synonym to accepted, choose sec:

syn null, homotypic syn ref1, parent ref2, choose ref3 -> newTaxon ref3, syn2 ref3, parent ref2 (OK)
syn ref1, hom. syn ref1, parent null, choose ref3-> newTaxon ref3, hom. syn ref3, parent null(OK)

For Accepted to synonym it is more difficult to check the homotypical group because we only have the taxonnode DTO. Therefore I checked only the old accepted and the new synonym. The decision is used for all moved taxonbases.

Accepted to synonym, keep:

oldAcc sec1, acc sec2: syn sec1, acc sec2 (OK)
oldAcc sec1, acc sec1: syn sec1, acc sec1 (without warning , OK)
oldAcc null, acc sec1: syn null, acc sec1 (OK)
oldAcc sec1, acc null: syn sec1, acc null (OK)

accepted to syn, use parent sec:

oldAcc sec1, acc sec2: syn sec2, acc sec2 (OK)
oldAcc sec1, acc sec1: syn sec1, acc sec1 (without warning OK)
oldAcc null, acc sec1: syn sec1, acc sec1 (OK)
oldAcc sec1, acc null: syn null, acc null (OK)

accepted to syn, choose new sec if secs are different:

oldAcc sec1, acc sec2 choosed sec3: syn sec3, acc sec2 (OK)
oldAcc sec1, acc sec1: syn sec1, acc sec1 (without warning and without selection OK)
oldAcc null, acc sec1, choosed sec3:: syn sec3, acc sec1 (OK)
oldAcc sec1, acc null, choosed sec3:: syn sec3, acc null (OK)

#32 Updated by Katja Luther 8 months ago

  • Related to feature request #9523: Check secundum of homotypic synonyms when changing accepted taxon to synonym added

#33 Updated by Katja Luther 8 months ago

  • Status changed from Feedback to Closed
  • % Done changed from 50 to 100

The check of homotypic synonym secs is moved to a new ticket (#9523), this ticket can be closed.

#34 Updated by Andreas Müller 7 months ago

  • Related to feature request #8922: Make setting of sec-Reference configurable when moving synonyms. added

#35 Updated by Andreas Müller 6 months ago

  • Related to deleted (feature request #8922: Make setting of sec-Reference configurable when moving synonyms. )

#36 Updated by Andreas Müller 6 months ago

  • Related to feature request #8922: Make setting of sec-Reference configurable when moving synonyms. added

#37 Updated by Katja Luther 3 months ago

  • Related to bug #9734: Correct handling for secundum references when moving taxon to new parent added

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 40 MB)