Taxon Tree Definition Full Name Separator not taken into account

[Using self-hosted Specify v7.11.0 at the time of writing]

Hi there,

I’m running out of ideas to (understand and) solve an issue in the Taxon Tree Definition. The Full Name Separator is not taken into account in the Taxon Full Name.

Here is how look my Taxon Tree Definition (Botany discipline)

The Full Name Separator column contains space character

Here is the result of a query requesting preferred taxon at subspecies rank (I read in the doc that only preferred taxon full names are updated). I have a formatter for the Taxon table asking for “Full Name Author”

:backhand_index_pointing_up: mind the missing space between subsp. and the subspecies name (same results with forma or variety)

I played a bit with other characters than space with no effect.

Geography and Storage tree definition uses , as a Full Name Separator and it works. A change of the Full Name Separator for both trees also works fine. So it narrows down the problem to Taxon Tree specifically.

I checked the logs (even with SP7_DEBUG=true) and found nothing relevant at first sight… except an nginx warning from time to time saying a client request body is buffered to a temporary file

I attempted a Tree Repair that failed saying

AssertionError at /api/specify_tree/taxon/repair/
found 154 nodenumbers not nested by parent

But I have the same kind of errors if I attempt to repair the Storage Tree for instance.

:person_shrugging: any hint please?

Hi @pverley!

As you point out, the default “Full Name Separator” for Taxon is a space. I found two aspects of the Tree Def Items field behavior of relevance to your issue:

1. Full Name Separator is applied between each part of the full name from the Taxon table, but not between the Text Before or Text After fragments and the Taxon values. This is expected so as to not force a potentially non-space separator character between the Text Before/After and Taxon values of the full name. (e.g., Caraipa, densifolia, supsp., densifolia)

For context, notice where the Geography full name separator is in the definition and Query results:

2. The Full Name Separator allows space characters, but spaces after Text Before and Text After values are stripped upon saving.

Thus, you are correct in that this is not functioning how we expect by default. Given that we do expect to support a customizable full name, I have opened a new issue on GitHub so this can be addressed by our developers in a future release: Spaces Stripped from Text Before/After fields in Tree Def Items · Issue #7017 · specify/specify7 · GitHub

Fortunately there is a rather simple workaround to remove the white space sensitivity.

Workaround

Initialize whiteSpaceSensitive attribute in XML form definition:

  • Open Taxon Tree Def Items form definition
  • Add whiteSpaceSensitive=false to the initialize="" statement for the textBefore and textAfter fields in the XML.

Thank you for reaching out and letting us know! Don’t hesitate to reply with any further questions or comments you may have :slight_smile:

– Bronwyn