sillsdev / LfMerge

Send/Receive for languageforge.org
MIT License
2 stars 4 forks source link

sync writing systems from FLEx to LF on every sync #321

Closed megahirt closed 4 months ago

megahirt commented 1 year ago

Note: writing system == input system

Recently, LF was changed to no longer allow writing systems modifications in the LF UI. This was intentional due to confusion and a fundamental writing systems mismatch between LF and FLEx (LF's model is too simple). This decision was made in anticipation of this current issue, namely that FLEx is the authority on writing system definitions and LF should be updated with FLEx's writing systems on every sync.

Practically speaking, I think we should delete LF writing systems and recreate them from FLEx on every sync. This seems like the simplest way to do a "one way sync" from FLEx -> LF. There shouldn't be a performance issue here - most projects only have a handful of writing systems, surely less than a dozen.

rmunn commented 6 months ago

At a recent standup meeting for Language Depot, we mentioned that the Analysis and Vernacular booleans aren't always getting set correctly on some projects, even during initial clone. So I also need to investigate why that is happening, though if we change the writing systems to always update from FLEx (not just during initial clone) then that may become a moot point.

rmunn commented 6 months ago

BTW. it was commit 3cd4cecfe6b417f40404edcfc579f2edd3a26ed5 (way back in 2016) that switched to only updating the writing systems on initial clone. That might be helpful as I investigate.

rmunn commented 6 months ago

Actually, I just ran some tests that confirm that the input systems are getting set in LF on every Send/Receive. What's happening only on initial commit (in the current state of the code) is that the default input systems for each field are set, based on which fields are expected to take vernacular input systems (citation form, lexeme, etymology, and example sentences) and which ones are expected to take analysis input systems (everything else). And I don't think we should change that, because people are allowed to adjust the list of input systems for each field. (Probably by removing some of the vernacular input systems, e.g. if you have tha-TH, tha-Latn, and tha-x-aud input systems, you probably don't want tha-x-aud on any fields except Pronunciation, so you probably removed it from lexeme and citation form. If we overwrote those choices on every S/R, it would be bad UX).

So AFAICT right now, this issue might already be resolved and there's nothing further to do on it. I'll discuss with Chris when I get a chance.

megahirt commented 6 months ago

AFAICT right now, this issue might already be resolved and there's nothing further to do on it. I'll discuss with Chris when I get a chance.

This is great news! Thank you for the update, Robin.

megahirt commented 4 months ago

sounds like this is resolved.