Maybe somebody will see this - or not.
I thought this to be a website about sharing code that could be used in libraries. If that's the case, then send email to email@example.com. I have free source code for an OCLC Connexion macro that I wrote, that I want to share. That's my home email, which I won't check until the evening, so don't expect any replies during normal work hours. Also, if anybody can direct me to a way to do that through Code4lib, that would be helpful.
Obviously, the code would need to be modified to use elsewhere, as this is tailored for out needs. But, it's profusely commented, so that might not be such a large job.
The code, 3600+ lines, is too large to post here, I assume. Here is the latest description:
At the core of what Cataloging!EditRecordER does is the presentation of a dialogbox (titled Options) where the user can make various choices about how the record on the screen in Connexion is to be checked, and how lines of information are added to that record. The user makes those selections in drop-down list boxes and option boxes, clicks the ok button, and then the program runs. Many of the choices that the user makes have to do with what the 949 item line should look like. The user makes those selections, and the program builds the item line, and adds it to the record (unless the 090 analytic choice is selected). Aside from that, the biggest part of what the program does is read the record and alert the user about various aspects of what it finds. It acts as a second pair of eyes. In many cases it finds things in the record that are deemed unacceptable, either for that type of cataloger, or for the continuation of the program itself. In most cases it warns the user and then either shuts down, or allows more highly trained/experienced users to choose to continue the program run. In other cases, after the user has closed the Options dialog box, the program checks for incompatible choices, warns the user, and presents the Options dialog box again, with adjusted default selections, for the user to choose again.
- Writes some user selections to a file & reads them from that file next time program runs; user can accept them as defaults, which requires no action by the user, or make changes in the Options dialog box. *Cataloging level (topcat, monograph, or fastcat) *Source for call# *retrocon *disk processing *910 initials *949 recs/bin initials *barcode reader *multiple volumes - Notifies user if tools > options set to print to printer instead of file. (Record must be printed to file, for holdings check.) - Checks for Audn: d - unused at our library - Disallows Retrocon & Analytic choice (together). - Notifies user if book is held in our library. Stops program for fastcatting, allows others to continue * Warns user to check holdings, if program fails to
find holdings information.
- For fastcatters. checks for continuation indications, & ends program if found * checks for Dtst: m * checks for 2nd date 9999 - Checks tag 245 2nd indicator, warns user if incorrect - for English language records only. *Warns user if Fixed Field Lang: isn't Eng (English), &
that 245 indicators need checking.
- For fastcatters, checks for Elvl: that isn't blank or 4. Warns user, ends program, if found. - Checks Blvl. If not m, ends program for fastcatters, allows others to continue. * warns user if Elvl is neither s nor m - Allows user to quit program at numerous points during program run. - Modifies 049 field to reflect branch. Ends program if unsuccessful - For fastcatters, checks for DLC DLC or PCC. Allows user to continue or quit. - Automatically checks for call# in 050 tag & makes that the default choice, if found, in Options dialog box. If not found, checks 090 tag in the same way. (Most of the time, an existing 050 call# is used; Most of the remaining time, the 090 call# is used.) - Extracts call# from tag that user selects, for inclusion in 949 item & label. - Checks call# line for 2nd call#. For fastcatters only, program ends. - Checks call# for PZ call# > 1199. For fastcatters only, program ends. - Checks that, if Miniature Scores branch is selected, 1st 2 letters of call# are MS. Ends program if necessary. - Allows up to 40 volumes. *Numbers the volumes *Disallows non-numeric entries for number of volumes. *Disallows number over 40. This can easily be changed, but there should be some upper limit so that program doesn’t add e.g. 800 item lines to a record. - Checks length of barcode *Checks for whole barcode, if barcode reader checkbox is checked. *Checks for partial barcode, if barcoderbarcode reader not selected - Checks that barcode is numbers only. (typo check) - For multiple volumes, reminds user...
*about entering barcode information for each volume.
*about putting a barcode label on each volume.
*about entering disk information for each volume, if disks checkbox is selected.
- Writes 910 line to record. Warns user if initials weren't found in file. - Writes 949 recs/bin line to record. Warns user if initials weren't found in file. - Reminds user to write call# to 090 tag, for analytic branch books. - Warns user, if series tag is found, to check series field against book. - Checks punctuation of series tag & warns user. - Finds Fixed Field, call#, & tag 260 dates, if possible. Compares them & tells user if they match or not. Warns user if program can't find all of the dates. - Checks book size in 300 tag. Adjusts location & label accordingly. If program can't find the size, user is warned to check for oversize & folio.
*Checks oversize/folio only for branches where those checks are appropriate.
- Allows user to select 1 of 25 branch/location choices, adjusts label & item line accordingly. - For fastcatters, disallows 090 & 086 call# tags. Warns user & re-runs Options dialog box for user to choose again. - For fastcatters, disallows Docs branch/location. Warns user & re-runs Options dialog box for user to choose again. - For fastcatters, disallows all Media & Special branch/locations. Warns user & re-runs Options dialog box for user to choose again. - For fastcatters, disallows all Retrocon selection. Warns user & re-runs Options dialog box for user to choose again. - For fastcatters, disallows all Disk selection. Warns user & re-runs Options dialog box for user to choose again. - Disallows Docs & Analytic choice. Warns user & re-runs Options dialog box for user to choose again. - Insures that both Docs branch/location and 086 call# tag are selected together. Warns user & re-runs Options dialog box for user to choose again. - Disallows Juvenile branch & Analytic choice. Warns user & re-runs Options dialog box for user to choose again. - Disallows Juvenile branch & Docs choice. Checks Fixed Field Audn. Warns user & re-runs Options dialog box for user to choose again. - If Juv locationbranch is selected, Audn is checked for allowable contents. Conversely, if Fixed Field Audn contains Juv indicators, program checks to see that the Juv locationbranch is selected. Warns user & re-runs Options dialog box for user to choose again. - Checks for Juv books without 650 0 tags. Warns user. - Checks for Juv books without 650 1 tags. Warns user. - Prints label to file or printer, depending on user’s Connexion options choice. - Handles putting overlay .b# in recs/bin line.
*reminds user to copy it to clipboard *Enters it into 949 recs/bin line *deletes it from clipboard, to insure it isn't mistakenly entered into more than 1 record.
- Writes 590 note for faculty publications branch choice.. - Removes 590 Faculty Publications, 949 item, 949 recs/bin, 910 lines prior to adding new ones. User can re-run program without having to manually remove lines added previously. - Queries user for price information, inserts that information into the 949 item. - Makes adjustments to item line and 910 line for Retrocon books.
- Compares Fixed Field Ills to 300 tag/field & messageboxes any discrepancies.
- Compares Fixed Field Cont to 504 tag/field & messageboxes any discrepancies. - Compares the Fixed Field Indx with a 504 tag/field, and all 500 tags/fields. - Offers a Gift checkbox to Options dialog box. When checked, it adds "Gift" to the start of the 910 line, and sets the default book price to $25. - If analytic, looks for series = "lecture notes in computer science" ” - modifies call#, and 856 fields.
IE, it handles all “lecture notes” analytics in the same way.
- Looks for conference indications. If found, puts out a reminder message for conference handling. - removes 650s that don't have either a 0 or 1 as 2nd indicator