FH V6 Plugin Review
Posted: 18 Dec 2014 12:22
I have quickly reviewed the V6 Plugin Store (excluding my Plugins).
The following Plugins may compromise FH V6 data once users start using Unicode characters outside the ANSI/CP1252 set.
When the Plugin ends there will be a message saying accented characters may have been upset, but does not say exactly which fields are affected.
Those accented characters will have been replaced by unaccented letters and other symbols by ? question marks.
The only solution is to use Edit > Undo Plugin Updates as advised by the warning message.
Add GRO Event to an Individual (no source) by Rodney Begg
Birth/Marriage/Death local Notes may lose Unicode chars.
Address Reformatting by Peter Richmond
Any Address fields may lose Unicode chars.
Clean Living People by Jane Taubman
Any Individual Names may lose Unicode chars.
If changed to use UTF-8 encoding to preserve Unicode, then the upper() function will not work reliably on UTF-8 chars.
This Plugin also loads/saves settings to file, and the settingfile path must be ANSI encoded.
Luckily, if FH is V5.0.7 or later, the Plugin uses fhGetPluginDataFileName('LOCAL_MACHINE')
This usually gives C:\ProgramData\Calico Pie\Family Historian\Plugin Data\Clean Living People.dat and is entirely ASCII characters.
So fhInitialise(5,0,7) should be added.
Clean Up Notes by Jane Taubman
Any cleaned Notes may lose Unicode chars.
Clean up Surname Capitalisation by Jane Taubman
Any Individual Names may lose Unicode chars even in forenames.
If changed to use UTF-8 encoding to preserve Unicode, then the upper() & lower() functions will not work reliably on UTF-8 chars.
Keyword Update by Peter Richmond
Media Keywords may lose Unicode chars.
I think in most, simply using the following statement at the start will fix it.That can be done even before the Author has purchase V6.
Also the Plugins using upper() & lower() need to use the UTF-8 variants defined in plugins:code_snippets:unicode_string_functions|> Unicode String Functions (code snippet).
A snag is that when users upgrade from V5 to V6, any Plugins they already have installed will remain so. Few, if any, of the above Plugins have any mechanism to tell users they have been updated, so the loss of Unicode chars will take them by surprise. They will have to rely upon Edit > Undo Plugin Updates or Backups.
The following Plugins may compromise FH V6 data once users start using Unicode characters outside the ANSI/CP1252 set.
When the Plugin ends there will be a message saying accented characters may have been upset, but does not say exactly which fields are affected.
Those accented characters will have been replaced by unaccented letters and other symbols by ? question marks.
The only solution is to use Edit > Undo Plugin Updates as advised by the warning message.
Add GRO Event to an Individual (no source) by Rodney Begg
Birth/Marriage/Death local Notes may lose Unicode chars.
Address Reformatting by Peter Richmond
Any Address fields may lose Unicode chars.
Clean Living People by Jane Taubman
Any Individual Names may lose Unicode chars.
If changed to use UTF-8 encoding to preserve Unicode, then the upper() function will not work reliably on UTF-8 chars.
This Plugin also loads/saves settings to file, and the settingfile path must be ANSI encoded.
Luckily, if FH is V5.0.7 or later, the Plugin uses fhGetPluginDataFileName('LOCAL_MACHINE')
This usually gives C:\ProgramData\Calico Pie\Family Historian\Plugin Data\Clean Living People.dat and is entirely ASCII characters.
So fhInitialise(5,0,7) should be added.
Clean Up Notes by Jane Taubman
Any cleaned Notes may lose Unicode chars.
Clean up Surname Capitalisation by Jane Taubman
Any Individual Names may lose Unicode chars even in forenames.
If changed to use UTF-8 encoding to preserve Unicode, then the upper() & lower() functions will not work reliably on UTF-8 chars.
Keyword Update by Peter Richmond
Media Keywords may lose Unicode chars.
I think in most, simply using the following statement at the start will fix it.
Code: Select all
if fhGetAppVersion() > 5 then
fhSetStringEncoding("UTF-8")
iup.SetGlobal("UTF8MODE","YES") -- Only if iuplua is used
end
Also the Plugins using upper() & lower() need to use the UTF-8 variants defined in plugins:code_snippets:unicode_string_functions|> Unicode String Functions (code snippet).
A snag is that when users upgrade from V5 to V6, any Plugins they already have installed will remain so. Few, if any, of the above Plugins have any mechanism to tell users they have been updated, so the loss of Unicode chars will take them by surprise. They will have to rely upon Edit > Undo Plugin Updates or Backups.