I’ve worked on a significant update that is including a chance to the installer (significant changes) necessitating a change in version number to 7.2.x. Changes below.
Proxy Changes
I’ve had some requests to allow proxy use with a handful of specific tools. These have been added to the OAI Harvester, the Z39.50/SRU Tool, and the Alma Integration.
New Automation Settings
I periodically have need to pull more advanced programming resources into a process. To address this, I added a new tool that allows me to integrate powershell scripts into the MarcEditor. For example, here’s a script that will read a file, download data from a remote location, and then translate it.
#**** Script below here *****
#source directory where all data is found and saved
$dir = "c:\users\reese\onedrive\desktop\pull_xml"
#list of urls
$url_file = $dir + "\XML_to_MARC_StatePubs.txt"
#error file -- as IA has a proxy problem
$error_file = $dir + "\error.txt"
#create folders to store downloads and saved file
if (!(test-path "$dir\saved")) {
New-Item -ItemType Directory -Force -Path "$dir\saved"
}
if (!(test-path "$dir\converted")) {
New-Item -ItemType Directory -Force -Path "$dir\converted"
}
# Open the file and then download each url
Get-Content -Path "$url_file" | ForEach-Object
{
$line = $_
try {
$wc = New-Object System.Net.WebClient
$destination = $dir + "\saved\" + $line.SubString($line.LastIndexOf("/")+1) + ".xml"
$saved = $dir + "\converted\" + $line.Substring($line.LastIndexOf("/")+1) + ".mrc"
Write-host ($destination)
$wc.DownLoadFile("$line", "$destination")
#run the marcedit commmand line. Current installs should
#create the environmental variable in this list. Otherwise, you have to provide the path
#to the executable
Start-Process -FilePath "$Env:MARCEDIT_PATH\cmarcedit.exe" -ArgumentList "-s $destination -d $saved -xmlmarc" -Wait
} catch [System.Net.WebException]{
if ($_.Exception.InnerException){
Write-Error $_.Exception.InnerException.Message
Out-File -FilePath "$error_file" -InputObject $line -Encoding UTF8 -Append -Force
} else {
Write-Error $_.Exception.Message
Out-File -FilePath "$error_file" -InputObject $line -Encoding UTF8 -Append -Force
}
}
#**** End of Script
Adding a Recovery Point
In the Editor, the Tool will now create a recovery point at each save event. This way, if during a session, you find a file becomes unreadable, you can recover from your previous save.
![]()
Using the New Recovery Point Option
New Installers
The tool is using new installers which should make it easier for me to manage the program installations long-term. I always am nervous though, when I make this kind of change. The new Installers have the following new start screen:
The new installer includes all the same functionality, but also includes the following:
- Automatic generation of native images based on machine type
- Better clean up on uninstaller
- Cleaner updating logic
- Native code signing tooling
Users should see improvements with #1 and #2, whereas I should see improvements in my build process with #3 and #4. There are other benefits — but these are the most important. I’ve been testing the new installs for almost 2 months, so I’m hopeful I’ve worked out all the kinks.
If you have questions, let me know.
–tr