Open GeoDirk opened 4 months ago
Hey Dirk,
This is due to the same underlying issue as issue 1254. At the time my analysis was the following (this is for label groups, but the same concept applies to Lexemes):
The label group "ref" (like a non system specific id) "LabelGroup_RXh0ZXJuYWxfenpfU1VS" should get decoded into the actual label group name. I just did a super quick test to see what "RXh0ZXJuYWxfenpfU1VS" would get decoded into (using Encoding.UTF8.GetString(Convert.FromBase64String("RXh0ZXJuYWxfenpfU1VS"))) and it produces three parts: "External", "zz", "SUR". So I'm guessing that the label group name someone created is "External_zz_SUR".
So the bug here is that the collaboration code is using _
as a general purpose delimiter in these refs, not taking into account that one of the underlying values being encoded might contain an _
itself.
Here are few of relatively simple fix ideas off the top of my head:
For that label group issue, Michael and Greg decided the following. Can/should this same approach be applied to Lexemes? Was this a manually created lexeme? (the decoded string for this error case was: "a_lagir_anuj", which I'm guessing breaks down into: "a_lagir" and "a_nuj"?)
[Michael] For this release, I think opting to not touch the collab code is the most pragmatic thing to do. The code I added to the label group and label editors does not allow the user to add the underscore character, meaning it is ignored if they type that character while those editors have focus.
Other than a documenting, it's a training issue. I don't think it's worth the effort to support underscores at all but that's my opinion.
[Greg] Makes sense and i appreciate the quick fix. sorry i glossed over the root of Chriss comment initially. I would agree that major surgery in collab isnt warranted in the future either. I'll ask dirk to document in the help guide and we move on.
Fix currently in Issue808_collab branch.
Changed encode/decode delimiter from "" to "||". During decode, first "||" is attempted and if the resulting number of parts in correct, "" is tried. If neither results in the correct number of decoded parts, a PropertyResolutionException is thrown.
Description:
A user who has a project with active modification to the glosses is throwing the following Collab Import error:
Steps To Reproduce:
Found in Version:
1.4.1.4
Fixed in Version:
(Clear Dashboard version in which the bug was fixed.)
Test Cases:
(Linked Test Cases)