Enhancements to Evergreen’s MARC Editor Concerning Fixed Fields

This work is a combination of two features. One provides suggested values in a right-click context menus for fixed field values based on the type of the record being edited. The other provides a wizard to help specifically with the Physical Characteristics of the record, i.e. the 007 field.

Right-Click Context Menus

Users will be able to right-click on the value control for fixed fields in the MARC Editor, and Evergreen will provide a menu from which the user can select a possible value. This will work for fixed fields where Evergreen already contains information from the Library of Congress’s MARC 21 standard.


Right-clicking the BLvl field

Evergreen already comes loaded with information from the Library of Congress’s MARC 21 standard on possible values for some fixed fields.

The following table shows which fixed fields for which Record Types have values already loaded into Evergreen.

 Fixed Field |          Record Types
 Audn        | {BKS,COM,REC,SCO,SER,VIS}
 Form        | {BKS,MAP,MIX,REC,SCO,SER,VIS}
 LitF        | {BKS}

A Record Type is itself a combination of the Type of Record (fixed field name: Type) and Bibliographic Level (fixed field name: BLvl) elements of the MARC leader (positions 06 and 07 respectively). You can see a record’s Record Type in the MARC Editor as shown in this screenshot:

Record Type:

This Record Type is REC

A user may add values to these fixed fields as well as to other fixed fields through the MARC Coded Value Maps interface found under the Admin → Server Administration menu in the staff client. These are grouped by Record Attribute Types (a superset of fixed fields) which have labels such as Alph, Biog, Videorecording format, and Language.

From LOC Fixed Fields documentation, Alph is Original alphabet or script of title, Biog is Biography, Videorecording format is from the 007 field, Language is positions 35-37 of the 008, and so on. Other Record Attribute Types such as Author are, of course, not fixed fields at all.

When users add new values here, the right-click context menus of the fixed fields in the MARC Editor will include those values.

All values added for any fixed field in the Coded Value Map will display for any Record Type that uses that fixed field.

Users of the MARC Editor always retain the option of leaving a fixed field blank, entering the special values # or |, or entering a value not provided by the right-click context menu.

Physical Characteristics Wizard

By right-clicking on an existing or new 007 field in the MARC Editor, users will be able to enter a wizard that leads them step-by-step through the positions in that 007 field, telling them the significance of the current position and providing a drop-down list of possible values.

Launching the Physical Characteristics Wizard:

Launching the Physical Characteristics Wizard

Choosing the Category of Material:

Choosing the Category of Material

Choosing a value for a later position:

Choosing a value for a later position

marc_export script replacement

The /openils/bin/marc_export script is completely rewritten. This new version accepts all of the same command line options as the old version as well as some new options.

The rewritten marc_export talks directly to your Evergreen database and is a great deal faster than the previous version. Because the new script talks directly to the database, it needs to know how to connect. To facilitate this, a new option, --store, was added that allows the user to specify one of three Evergreen storage backends to use when exporting records. The valid choices are reporter, cstore, or storage. The default of reporter should work in most cases, but if you do have a separate reporter database and you know you want to talk directly to your main production database, then you will probably want to choose either cstore or storage.

In addition to the --store option, a --since option is also added so that you can specify output of an update file of records changed, added, and/or deleted since the given date. The --since option uses a fairly flexible date parser and can accept a wide range of date formats including ISO 8601, man common date formats such as M/D/Y (common in the US) or D/Mon/Y (with the first 3 characters or more of the month spelled out), as well as several less common date formats. Special date strings such as yesterday, today, yesterday week, and today week are also supported. For more information see the VALID DATE FORMATS section of the Date::Manip::Date man page. Available online here:

There is one final difference between the new script and the old marc_export. The new script does not output progress as it executes. Many of the statistics that the script reported are not readily available to the new script. It was deemed better to just not output any progress rather than to output something different from the old program. If your scripts parse the output from marc_export, they will need to modified not to expect any.