Version 1.1 (August 12, 2014)
Transformations: this new set of tools lets you make automated changes to records based on criteria that you specify. Transformations can be applied during record import or to records already in MARCle. See the MARCle Manual (available from the Help menu) for complete details.
Added an option to provide 007 fields generically coded for applicable records, if they are missing.
Import and Export options (Preferences window) have been reworked with new options:
More options for controlling how system control numbers (001/003 and 035) are manipulated during import and export
"Automatically Fix Coding Errors On Import" will try to fix coding errors as it imports records. Things it will fix if checked:
◦ If there's no 005 in the record (Date/Time of Last Transaction), or if it's not a recognizable date, MARCle codes it to midnight on the same date that's reflected in the 008/00-05 (Date Entered on File)
◦ If 008/00-05 (Date Entered on File) is blank or is not a recognizable date, MARCle codes it to the current date
◦ Fields tagged 011, 301-304, 359, 652, 680-683, 705, 715, 755, or 870-873 (all of which are obsolete and can't be automatically remapped to another field) are not imported
◦ Field 021(obsolete) retagged to 020 and subfield $a changed to $z
◦ 086 second indicator (obsolete) is changed to blank
◦ 087 (obsolete) retagged to 088
◦ 090 first indicator (undefined) is changed to blank
◦ 100 first indicator "2" (obsolete value) is changed to "1"
◦ 100 $h (obsolete) is merged with the previous subfield if there is one. If there's no previous subfield the data in $h is deleted from the field
◦ 110 second indicator (undefined) is changed to blank
◦ 130 second indicator (undefined) is changed to blank
◦ 211 (obsolete) is retagged to 246, first indicator is changed to "3" and second indicator is changed to blank
◦ 212 (obsolete) is retagged to 246, first indicator is changed to "3" and second indicator is changed to blank
◦ 214 (obsolete) is retagged to 246, first indicator is changed to "3" and second indicator is changed to blank
◦ 260 first indicator (obsolete) is changed to blank
◦ 265 (obsolete) is retagged to 037, first occurrence of $a is changed to $b, and subsequent occurrences of $a are deleted (035 $a is undefined and $b is non-repeatable)
◦ 305 (obsolete) is retagged to 300
◦ 306 (obsolete) is retagged to 300
◦ 308 (obsolete) is retagged to 300
◦ 350 (obsolete) is retagged to 020, first occurrence of subfield $a is changed to $c, and subsequent occurrences of $a are deleted (020 $c is non-repeatable)
◦ 490 second indicator (obsolete) is changed to blank
◦ 503 (obsolete) is retagged to 500 and first indicator (undefined) is changed to blank
◦ 512 (obsolete) is retagged to 500 and first indicator (undefined) is changed to blank
◦ 600 first indicator "2" (obsolete value) is changed to "1"
◦ 700 first indicator "2" (obsolete value) is changed to "1", and second indicator "0" (obsolete) is changed to blank
◦ 710 second indicator "0" (obsolete) is changed to blank
◦ 740 second indicator "0" or "1" (obsolete) is changed to blank
◦ 800 first indicator "2" (obsolete value) is changed to "1"
◦ 840 (obsolete) is retagged to 830
A new option in Preferences >> MARC called "Suppress error warnings" will, if checked, cause MARCle to stop displaying error messages in the "Errors" tab as it saves a record. This will not affect related options such as whether you may save records with errors or whether MARCle attempts to correct errors automatically, so normally if you suppress error warnings you'll also want to select the option to let you save records with errors (otherwise MARCle won't save records with errors and won't tell you why it's not saving it). The benefit of selecting this checkbox is if you are loading a big file with lots of errors and you don't care that it has errors. Checking this box suppresses the error messages, which will improve file load time (if there are a lot of errors in each record, it could improve the load time noticeably).
A new option in Preferences >> MARC called "Remove Extra Non-Repeatable Fields" will, if checked, automatically delete any occurrences of non-repeatable fields other than the first when the record is saved (including when records are being saved to MARCle during an import or a transformation). MARCle determines if a field is non-repeatable based on the value of its "Repeatable" checkbox in the Variable Field Definitions window (the default for each field is whether the field is defined as repeatable in the MARC 21 standard).
There is now an option to convert OCLC and Utlas Encoding Level codes to their MARC 21 equivalents, for Encoding Level codes used by those institutions which aren't defined in MARC 21
A new window available via Tools >> Errors shows all the MARC coding errors in the database. You can sort the list on any element by clicking its column heading. Double click an error or select an error and press the Return key to open the MARC Editor to that record.
Note: in order to improve performance in large databases, the list doesn't refresh itself automatically if you correct a record while the list is open. Close and reopen the list if you need it refreshed while you're working in it.
MARCle's database structure has changed to make querying specific variable fields and subfields faster. The new database structure is incompatible with previous versions of MARCle, so when you start MARCle, it will ask you if you want to upgrade your database. Once you upgrade it, you won't be able to use it with previous versions of MARCle.
AutoComplete (TypeAhead) has been disabled to improve performance when editing long records.
Fixed a bug where MARCle didn't output code "q" in the 006 or 008/Nature of Contents element even if the "Filmographies" checkbox was checked in the MARCle 006 or 008 tab.
When you open a different database using MARCle's "Open" command (File menu), MARCle now clears any active queries on the previous database first, so that the new database opens with the first thousand records displayed in the Records List and the first record selected (previously, if you had entered a query using the "Find" window, the same query would be applied to the new database when you opened it).
Date fields in MARC records (008/Date 1, 005, and MARCle’s “Added to MARCle” field - all on the “Record Control” tab) are no longer vulnerable to local differences in how dates and times are displayed on your computer (the way I got around this is by always displaying those dates in SQLDateTime format, which is YYYY-MM-DD HH:NN;SS; apologies to those MARCle users in countries that use a different format for displaying date and time, but I don’t feel up to figuring out how to support local formats for this while preserving the integrity of the data itself in the database).
"No attempt to code" is now a selectable option for the "Language" element of the Control tab (008/Language)
MARCle should no longer ever start with all of its window beyond the edge(s) of your current monitor, or in a place where you can't grab it and reposition it.
A new setting on the Import/Export tab of the Preferences window, "Automatically fix coding errors on import when possible", will (if selected) automatically change obsolete tags and indicators (and in some cases, subfields) to their MARC-21 supported equivalents, or will delete certain obsolete fields altogether if there is no MARC-21 equivalent. See "Automatically fix coding errors on import when possible" in
the MARCle Manual for a list of affected elements.
Fixed a memory leak that would cause MARCle to crash during imports after you had imported a lot of records in the current MARCle session (in my case, it would usually crash after importing around 290,000 records, but this varied depending primarily on the total number of 006 and 007 fields in all the imported records)
The "Data" tab panel has been removed from the Preferences window (it was never implemented)
MARCle now imports files about three times faster than previous versions
MARCle no longer supports searching the database while you type in the Find window. It was causing too many problems for other parts of the application. Searches are now initiated only when you click "OK" or hit the Enter key.
The Find box has had some changes:
◦ "Find" has been re-labelled "Quick Find" but behaves the same as before: it functions as a keyword search on any variable field of the record.
◦ “Advanced Find” has been relabelled "SQL" at the bottom shows you the actual SQL query that MARCle will perform to do your search. You can also edit this box directly.
◦ The default "LIMIT" clause has been increased from 1,000 records to 100,000 records. This means that by default when you start MARCle, you will see all of MARCle's records in the Records List unless your database has more than 100,000 records.
The 008 and 006 tabs now display the correct MARC 21 term for the configuration of the data elements - e.g., "Book" instead of "Language material" for an 008 for a record with Leader/Type of Record "a" (language material) or "t" (manuscript language material")
MARCle displays very long records much faster than in previous versions
When you save a record in MARCle, it now tests for records whose length exceeds the limits of MARC 21 and writes a warning to the record's LoadWarnings if it does (you also won't be able to save the record with this type of error unless you've disabled this block in Preferences). Record length limitations apply both to total record length and the length of any individual variable field. MARC 21 total record length limit is 100,000 characters and each variable field can be no longer than 10,000 characters. FYI, record length includes the Directory and end-of-field characters, neither of which are visible in most MARC record displays (including MARCle’s). Variable field length includes the two indicator characters as well as the invisible end-of-field character, but excludes the tag (because the tag is stored in the Directory, which is part of the total record length limit but not part of the variable field length limit).
Fixed a bug where MARCle would crash when retrieving a record from its database that had been imported from a file and where the version of the record in the file had no value in 008/00-05 (date entered on file).
Right-clicking a file in the “Imported Files” window now allows you to continue loading from the file, show all the records from the file that are in MARCle, or delete all the records from the file that are in MARCle.
Fixed a bug where MARCle would crash if you clicked on a file in the Imported Files window that had been deleted after it had been loaded
Fixed a bug where MARCle sometimes changed the order of fields with identical tags during a save if there were duplicate variable fields in the record (i.e., variable fields with identical tags, indicators, and data).
A new Preference option on the Import/Export tab, "Change Erroneous Blanks in Fixed Fields to Fill Characters", affects what MARCle will do when it imports a record where fixed field positions that must contain either a character or a fill character contain a blank instead (when "blank" isn't one of the defined values for the position). Previously, MARCle retained the value but marked it as an "unrecognized code" when viewing the element on one of the code sheets (and this will remain MARCle's behaviour after you upgrade unless you change the setting). If you select this checkbox, MARCle will instead convert those erroneous blanks to fill characters. This setting also interacts with the new functionality in v. 1.1 that records errors in fixed field coding while importing records. If this checkbox is selected, erroneous blanks will be converted to fill characters on import and won't trigger an error message; however, if you leave this box unchecked, the blanks will be left alone and an error message will be recorded. For new MARCle installations, this checkbox is on by default.
When you connect to a different database while running MARCle, MARCle now correctly reads the field definitions associated with the database you connect to without having to restart MARCle (as was necessary in previous versions)
MARCle now displays an error message if you enter an invalid query in the Advanced Find box (previously, it just did nothing)
Four new Edit menu functions for selecting records in the Records List: Select All Records, Deselect All Records, Reverse Record Selection, and Remove Unselected From Records List. The first two are self-explanatory. “Reverse Record Selection” simply reverses the "selected" status of each record on the Records List, so that if it was selected it becomes deselected, and if it was deselected it becomes selected. “Remove Unselected from Records List” removes any record from the records list that isn’t selected (but the record won’t be removed from the MARCle database).
MARCle now automatically deletes duplicate variable fields (i.e., if two or more variable fields in a record have the same tag, indicators, and exactly the same field data, only one such field will be retained in the record). This is done both when importing records from files, and when saving records that have been edited in the Editor. Previously, MARCle would import the records along with the duplicate fields and create a Load Warning, or would generate a warning when trying to save such a record in the Editor.
The Title of the MARC Editor is now the name of the MARCle database file that MARCle is connected to.
Advanced queries no longer need contain the "DISTINCT" keyword. However, it is recommended that you continue to use it unless you really want duplicate records to be able to be displayed in the results list.
Added new subfield "q" (Repeatable; "Qualifying information") to existing field 028 in the field definitions that MARCle sets up when you create a new database. This was an RDA-related change that was overlooked in MARCle's previous RDA support. This change won't be made to existing MARCle databases, so if you want to update your database, select the "Define Variable Fields..." option from the "Tools" menu and to the existing field 028, add a new subfield "q" - Repeatable, with description "Qualifying information"
Added a new window, "XRef Tool", which lets you populate existing MARCle records with foreign system control numbers that you get from an XRef report. The XRef Tool is designed to work with OCLC’s Xref report but could theoretically work with other institutions’ reports as long as you can get them formatted the same way.
Added a new command to the Tools menu, "Display Selected Records". This allows you to "peek" at all the records that are currently selected in the Records List, in a separate window, without changing the selection. This solves the problem of wanting to look at a record when multiple records are selected, without changing which records are selected in the Records List.
Fixed a bug where MARCle didn't properly reindex subfields when it saved an edited record.
Fixed a bug where the progress bar didn't advance while MARCle was exporting records.
A message box now displays after a file has been imported that says when the import operation started and finished (manual imports only).
Added the option to remove empty variable fields (Preferences >> MARC tab). When selected, MARCle will remove any variable field with no subfields when the record is saved. The MARC 21 Specifications for Record Structure, Character Sets, and Exchange Media specifies that each variable field must have at least one subfield, so leaving this box unchecked will still prevent you from saving a record with an empty variable field unless the "Let me save records with coding errors" checkbox is checked (Preferences >> MARC tab).
Added the option to remove empty subfields (Preferences >> MARC tab). When selected, MARCle will remove any subfields with no data when the record is saved
• Import Preview area doesn't display diacritics and special characters of incoming records properly, even though they are saved correctly in MARCle (so don't be alarmed)
• Progress bars (e.g., when importing MARC record files, or when making changes using Global Edit) will show a process as complete before it's actually finished if you are performing a process on many records (e.g., importing a large MARC records file, or running Global Edit on thousands of records). This seems to be a bug in the developing environment and not in MARCle itself. MARCle will still complete the task; it's just that the progress bar will make it look like it has finished even though it's still working.
• Aborting an import in Windows leads to a flashing MsgBox with the "Stop", "Continue", "Undo" buttons, while MARCle continues importing. It doesn't stop until user clicks one of the buttons.