- Full support for media file names in any language, and files of any size.
- Full support for multiple files per media record (although this GEDCOM 5.5.1 feature is not fully implemented in FH7).
- A more detailed output report, including number of duplicates (not shown if never more than two).
- Significantly faster run time.
Technical notes for those interested in the detailed plumbing: The original plugin determines the MD5 hash for all files, using Lua file handling tools that impose the language and size constraints. The new version takes a different approach, and just determines file size in its initial screen, which is quick and easy to do. Files of unique size are discounted, as they cannot have duplicates. Remaining files are passed back to Windows to determine the MD5 hash, giving faster processing and automatic memory and language management. To ensure global compatibility irrespective of local settings, temporary copies are made of any files with non-ASCII characters in their name. A slight complication is that once the Windows processing has been initiated, the plugin just carries on without waiting for it to complete. My solution is to keep checking for the expected output, but is there a better approach?
There is no fundamental reason why this plugin couldn’t be enabled for FH5/6 as well, using plain Lua file handling, luacom/FileSystemObject directly rather than fhFileUtils(), and a simpler progress bar. However, it complicates the coding, and I’m a firm believer in keeping plugins as simple as possible to support ease of maintenance and improve the likelihood of other authors being able to support and adapt them in the future. Those who need the new merging option will be overwhelmingly FH7 users who have imported from another product, and FH5/6 users who have decided not to upgrade have managed just fine with the original for over a decade!
If the attachment has disappeared, check further down the thread for an update - ordinary users can delete attachments to their posts at any time, but cannot edit the text to explain why!