I’ve worked on a number of updates this weekend– here is the list:
UI Changes
I’ve removed the quick links on the front page, and changed this to a list of selectable topics. This will make it easier for me to add to this list.
I’ve added a new Quick Access button to the top ribbon. At this point, this isn’t configurable. Will work to make it configurable later.
These Quick Access items have been added to the Marc Tools window – with the removal of the old quick links as well.
Network Changes
MarcEdit uses .Net 4.7.2. Internally, the tool has traditionally used the HTTPWebRequest Assembly. Accessing this assembly directly has been deprecated, with the preferred method shifting to the System.Net.Http Assembly. This is object is thread-safe and works natively with the System.Threading.Tasks structure. This also has the benefit of allowing me to allow .NET to gracefully support older TLS standards, which isn’t the default. By default, .NET selects support for the default TLS instance utilized by the operating system and disables older standards. This is problematic – and these changes will give me more control over which TLS instances are supported and how fallback is supported. This required updating 9 assemblies.
MarcEditor Changes
Bug Fix: When Opening mrc records into the MarcEditor, a memory leak can occur with large files. I’ve corrected this.
Bug Fix: MarcEdit uses a custom created control that allows the tool to select the most current version of the Richtext library when showing the MarcEditor. In .NET 4.7 – there appears to have been behavior change, in the that names used to register classes in Windows needed to be all upper case. If they weren’t then an error would be thrown when mixing the enhanced control and the .NET frameworks default Richtextbox control (which uses the older richtext library). For example: if internally, the enhanced control used RichEdit5W and then the Richtextbox was used, the program would throw an error. This wasn’t a problem in MarcEdit, because I only use the enhanced control, but users that may create plugins against MarcEdit may experience issues. The correction is the use uppercase text to normalize class names now used by .NET 4.7+ (Example: RICHEDIT5W).
Z39.50/SRU Changes
Enhancement: Cleaned up some code related to how records display inside the Results Viewer when pulling non-MARC data.
Validate Headings
Behavior Change: Check $a Only with Subjects. When working with 60x or 610– this setting doesn’t work like folks might expect. This is because names often include additional information that must be provided or false variants can be noted. When working with 60x or 610 data – the program will now include all subfields used when validating the 1xx fields and update data with variants accordingly. When $a isn’t selected, then the tool will utilize all fields noted as used for validation in the rules file. This is a behavior change, but likely more in line with the expectations that I’m guess most folks have when using the $a option.
Behavior Change: When changing variants – it appears that multiple $a’s would be placed. I’m not sure if there was a change on the source record side or not – so instead, I just updated the code to ensure that the tool validated specific data before making updates.
–tr