| <[ back
]
Article
level — Conversion Tool
How do you do it?
In this particular method, you download from your
catalog all of your ISSNs and their corresponding
holding statements. Take
the holding information,
convert it into a syntax that SFX recognizes,
and upload that information to SFX.

What does that do?

Some stuff you can download
Converting your local journal holdings
into the SFX syntax can be fairly straightforward,
depending on the consistency and accuracy
of your holding statements.
San Marcos
SFX Conversion Script
At San Marcos, we developed a
conversion script that uses pattern-matching
(regular expressions) to convert
our local holdings into the SFX
syntax. You can download a desktop
version here:
[
Conversion Script (.zip,
11k)]
We also developed
a Web interface that can query
our catalog and convert the holding
information on the fly, catching
some errors and flagging statements
over 255 characters. We use this
for continued maintenance. You
can see it in action here:
[ Chameleon
Web Interface ]
Here are some ISSNs you can
use as examples: 0098-7484,
0003-0279, 0002-8231
|
A Couple of Things
to Keep in Mind
You need to make changes to the above script!
The conversion script above is specifically
designed for the holdings at San Marcos.
To implement something simiar at your
campus, you will need to re-write the
regular expressions to match the syntax
you use to express your holdings. This
can be fairly simple, especially if
your syntax is similar to ours, but
could be rather complex.
Watch out for the 255 character limit
The threshold field in SFX has a
255 character limit. A holding statement
with just a few broken runs will result
in a lengthy threshold statement when
converted. Any holdings over 255 characters
will need to be simplified to work
properly, which can be time consuming
if you have a lot of journals with
broken runs.
You don’t need titles
with your ISSNs
SFX will match the ISSN to the title
for you, and in fact has no place
for you to upload title information.
Upload limits
Dataloader doesn’t like uploading
more than about 1,500 titles at a
time. If you have 2,000 ISSNs you
want to upload, you should divide
them into two separate uploads of
1,000 a piece.
Object Lookup
You’ll need to edit the catalog’s
getHolding service so that object
look-up is set to “yes.”
This tells the service to check your
ISSNs before displaying the catalog
link on the menu -- if the requested
ISSN is not in your list, the catalog
link doesn’t display.
Don’t forget about
book requests
Your default getHolding service
has a threshold set to ($obj->need('ISBN')
|| $obj->need('ISSN')),
basically making sure that a request
has an ISSN or an ISBN in it to ensure
a proper search of your catalog.
However, now that you’ve uploaded
your ISSNs, and the service does an
object look-up of those numbers, the
reference to ISBNs is unnecessary.
You should change the threshold to
$obj->need('ISSN').
How it works
The script looks for patterns in the
holding information, using a regular
expression object to match various logical
holding statements and replace the local
syntax with the SFX syntax.
The concept is fairly simple. The majority
of holding statements are made-up of
various start and stop dates, expressed
using volume, issue, and year information.
Each start and stop date falls into
four logical types: (1) a "complete
statement," which includes volume,
issue, and year; (2) a "volume
statement," which includes just
the volume and year; (3) an "issue
statement," which includes just
the issue and year, when the periodical
does not use volumes; (4) a "year
statement," which includes only
the year.
Each of these four logical types can
then be combined together into logical
pairs. For example, you may have a "complete
statement" and a "volume statement"
paired together to create a start and
stop date, which would look something
like this:
1:1(1990)-9(1999)
We can also add to these pairings two
other special types: (5) open-ended
statements, which indicate that issues
are still being received, and (6) single
issue statements. There are therefore
19 logical pairs that can be combined
in this way. They are:
Complete statement to Complete statement
Complete statement to Volume statement
Complete statement to Year statement
Complete statement to No end
Complete statement alone
Volume statement to Complete statement
Volume statement to Volume statement
Volume statement to Year statement
Volume statement to Open Ended
Volume statement alone
Issue statement to Issue statement
Issue statement to Year statement
Issue statement to Open Ended
Issue statement alone
Year statement to Complete statement
Year statement to Volume statement
Year statement to Year statement
Year statement to Open Ended
Year statement alone
There are, of course, some exceptions
to this scheme, some of which are important
to SFX, some of which are not.
(1) Not all syntaxes allow for a distinction
between volume and issue information.
The statement "101(1990),"
for example, could mean issue 101 or
volume 101. A person can figure this
out by looking at the journal itself,
but a script does not have that luxury.
(2) "Mixed Year" statements
are not uncommon among periodicals.
You might, for example, have a year
expressed as "1994/95." SFX
does not have a mechanism for interpreting
years expressed in this way, so you
must simplify the date to express just
a single year. In the example above,
we might use simply 1995.
(3) Some print periodicals are held
only for a year or two, and thus might
be expressed in a holding as "Latest
two years retained," rather than
any specific volume and issue information.
SFX has a mechanism for expressing these
types of statements, and the task of
converting them is a simple matter of
find and replace.
There are others. But this accounts
for the vast majority of journal holdings.
|