Spine Labels, Customizing
This documentation explains how to customize Spine Labels with Print Templates.
Explanation
Spine labels, referred to as Monographic Labels in Sierra, are descriptive tags added to the spines of items that commonly include the call number, title, and author of the work. Spine labels allow staff to identify where the item should be shelved in the library and provide helpful information to the patron when looking at items on the shelf.
These are sometimes also paired with what is called a pocket label. This is a much larger label with more information from the record that is sometimes attached to the inside cover of books, or used elsewhere depending on the library’s procedures.
The Sierra print template system is capable of creating either or both of these from an item record in Sierra, assuming you have a printer and label stock with the right configuration.
Export a template
From settings you can select a template and export the file to your computer with the Export button.
Creating and Editing Templates
Sierra does not have any internal system to create or edit print templates. You have to do that in software outside of Sierra. The files are .jrxml files. Jrxml stands for JasperReports eXtensible Markup Language.
III recommends software called JasperSoft for editing jrxml files. You can also edit them in a simple text editor like Notepad++. This tutorial will show a template in Notepad++ so you can see everything that is going on.
Sierra is not compatible with the most current version of JasperSoft available online. Sierra is compatible with version 6.0.0. As of this writing JasperSoft is on version 6.20.6.
You can download version 6.0.0 from CSDirect here https://csdirect.iii.com/downloads/ireport.php.
The file extension needs to be .jrxml for them to work in Sierra. If you use a text editor, I recommend turning on your ability to see file extensions in Windows because it is easy to get the extension wrong and cause it to fail. Be careful to change the extensions when you save. The text editor will probably try to set them to .txt all the time.
When they are exported they can have a completely different file name from the label in Sierra. It is a good idea to use the same name in both places, just so you can keep track of things.
Parts of a Template
When creating a template it is easiest to copy a working template and edit it. You can ask other Marmot members for templates that might already do what you need. Such as if you want to do a pocket label, find an example of a working pocket label template and copy that as a starting point.
You will probably have to edit the template at least some what. You might have 2 inch labels and the one you are copying is made for 1.5 inch, for example.
These examples show a template in Notepad++.
Header
The header is where you can define the overall characteristics of the label.
name: This is a name you can give the template. JasperSoft will use this to set the file name when you save, but Notepad++ will ignore it and you can set the file name to whatever you want. It is required and should be unique to this template.
columnCount: you can have multiple columns in your label
Usually there is only one, but you could use more for pocket labels for example
printOrder: whether the text should be Vertical or Horizontal
orientation: Portrait or Landscape
pageWidth and pageHeight: define the size of the label. If these are too large it may try to add extra space on each label and push them out of aliment.
columnWidth: how wide will the column be. This needs to fit in the page width you already defined. If it is larger than the pageWidth it will cause an error. If there is more than one column, the widths of all columns need to be less than or equal to the width of the whole page.
columnSpacing: defines the space between multiple columns.
leftMargin, rightMargin, topMargin, bottomMargin: These define the number of printer’s points in the page margin.
There may be other fields in the template you copied.
Declarations
The next long section is where the data elements you can use are declared so the system can use them. These are required. They very rarely change. They may change with a Sierra upgrade. In that case the new declarations will be in the new default print template and can be copied into old templates. If you copy from an old template, it is possible it doesn’t have the same declarations as the current system expects. This can cause it to fail.
Body
This is where you define what will go on the label
<band>: Each section has a band. This defines the vertical space for that section in the column.
The band takes the entire width of the column, so it only has a height characteristic.
If you aren’t using a section, like <title>, set the band for that section to 0 and it won’t effect the label.
The heights of all the bands need to add up to less than or equal to the total label height defined in the header (including the margins).
<textField>: This is where you will define your label. It is within the <band>
<reportElement>: this is where you can define characteristics of the textField. It is within the <textField>
x: this can be used to move the printing right this number of printer's points
y: this can be used to move the printing up by this number of printer's points
width: this is the width of the space where the label will print. It must be less than or equal to the width of the column.
height: this is the height of the space where the label will print. It must be less than or equal to the band.
key: a name for this text field
<box>: This is within the <textField>. It allows you to print a box around the <textField>. This can be useful if you are having trouble figuring out where are the boundaries of the <textField> on the printed label. If you create a box you can see what’s going on. Then remove the box before you go into production.
The box will only print if it has lineWidth greater than zero and a lineColor other than white.
lineColor is expressed in 6 hexadecimal numbers. #000000 is white. #FFFFFF is black.
<textElement>: This is within the <textField>. Here is where you can define the characteristics of the text, such as font.
textAlignment can be Left, Right, or Center
verticalAlignment can be Top, Bottom, or Middle
<font>This is within <textElement>.
size can be any number for your font size
isBold can be True or False
isItalic can be True or False
fontName is where you would put the name of the font you want
<textFieldExpression>: This is where you will actually define what will print on the label.
This is in Java programing language. (Not JavaScript)
Let’s look at this expression that prints this label:
<![CDATA[
$F{callSubf}
+ ($F{callSubf}.equals("") ? "" : "\n")
+ $F{callNumericAll}
+ " "
+ $F{callSubbCR}
+ ($F{callSubbCR}.equals("") ? "" : "\n")
+ $F{callSubk}
+ ($F{callSubk}.equals("") ? "" : "\n")
+ $F{itemv}
]]>
Spaces and line breaks don’t make any difference, so you can add them to the template to help you understand what’s going on.
$F{callSubf}
This says to print whatever is in data element callSubf, which is defined in Data Elements below. It is call number prestamp. If there is no call number prestamp, then it does nothing.+
This means do the next thing($F{callSubf}.equals("") ? "" : "\n")
This means if callSubf is blank, i.e. it “equals(““),” then print nothing. Otherwise, i.e. there was something there, then print a line break. So this will print a line break after the prestamp if there is one, and it will do nothing if there is not.$F{callNumericAll}
Print whatever is in data element callNumericAll." "
Print a space$F{callSubbCR}
Print whatever is in the data element callSubbCR.($F{callSubbCR}.equals("") ? "" : "\n")
If there was a callSubbCR, then print a line break after it. Otherwise do nothing.$F{callSubk}
Print whatever is in the data element callSubk.($F{callSubk}.equals("") ? "" : "\n")
If there was a callSubk, then print a line break after it. Otherwise do nothing.$F{itemv}
Print whatever is in data element itemv.
Data Elements
The data elements are the components it is possible to extract from an item record into a spine label. Any of these can be included in the <textFieldExpression>. These are the only elements from Sierra that can be included on a spine label.
Element Number | Element Name | Description | Data Source |
---|---|---|---|
1 | callAlphaStart | Call number component | Alpha content up to the first number in subfield a or h (first occurrence only) of the c-tagged variable-length field. For example: c090 a|PR3884.45 |
2 | callNumericStart | Call number component | Numeric content up to the decimal point in subfield a or h (first occurrence only) of the c-tagged variable-length field. For example: c090 a|PR3884.45 |
3 | callNumericAfterDec | Call number component | The decimal point and the following numeric content in subfield a or h (first occurrence only) of the c-tagged variable-length field. For example: c090 a|PR3884.45 |
4 | callEndCR | Call number component | All remaining content (following the three elements above) in subfield a or h (first occurrence only) of the c-tagged variable-length field. For example: c092 |a636.80887 WIL |
5 | callSubbCR | Call number component | All content in subfield b or i (first occurrence only) of the c-tagged variable-length field. For example: C090 |aG4030 .s24|b.U52 |
6 | callSuba | Call number component for pocket labels | All content following the first three elements listed above in subfield a or h (first occurrence only) of the c-tagged variable-length field. For example c090 |aG4030 .s24|b.U52 |
7 | call Subb | Call number component for pocket lables | All content in subfield b (first occurrence only) of the first c-tagged variable-length field. The leading decimal point is stripped and spaces are preserved. For example: c092 |a004|b.A34 ONE TWO |
8 | callSubf | Call number prestamp | All content in subfield f (first occurrence only) of the first c-tagged variable-length field. For example: c090 |aD842 mic 1992|fPicture Books|j1234|ktesting |
9 | callSubj | Call number shelving control number | All content in subfield j (first occurrence only) of the first c-tagged variable-length field. For example: c090 |aD842 mic 1992|fPicture Books|j1234|ktesting |
10 | callSubK | Call number post-stamp | All content in subfield k (first occurrence only) of the first c-tagged variable-length field. For example: c090 |aD842 mic 1992|fPicture Books|j1234|ktesting |
11 | itemFix58 | Copy number | Fixed-length field 58 from the item record. |
12 | itemFix79 | Item location | Fixed-length field 79 from the item record. |
13 | itemFix79Len3 | Item location | Fixed-length field 79 from the item record. |
14 | branchesLabel | Item location | Label, found in the branches file, that corresponds to data in fixed-length field 79 from the item record. |
15 | concatIndex | Concatenated author-title | Derived from values in your system’s settings. Uses content from subfield a (first occurrence only) of the first c-tagged variable length field. If the field is non-MARC, the entried field is used. |
16 | acctname | Library name | From the account name file. For multi-account sites, the library name from the accounting unit (account name file) associated with the user’s login name. |
19-45 | itema, itemb…itemz | Item variable-length fields | First instance of the a-z tagged variable-length fields from the item record. |
45 | concatIndexCR | Concatenated author-title | Derived from values in the system’s settings. Uses content from subfield a (first occurrence only) of the first c-tagged variable length field. If the field is non-MARC, the entire field is used. |
46 | callField | Call number | All content “as is” from subfield a or h of the c-tagged variable-length field. |
47 | itemFix58c | Copy number | Fixed-length field 58 from the item record, preceded by the text “c”. |
48 | callNumericAll | Call number component | A concatenation of the callNumericStart and callNumericAfterDec elements. For example: c090 a|PR3884.45 |
49 | callEntire | Call number | All content from the call number field, including all subfields and repeated subfields, with redundant spaces and delimiters removed. |
50 | callEntireCR | Call number | All content from the call number field, including all subfields and repeated subfields, with redundant spaces and delimiters converted to carriage returns. |
51 | callSubc | Call number component for pocket labels | All content from subfield c (first occurrence only) of the first c-tagged variable-length field. For example: 090 FIC|c1998|d345|pandrew |
52 | callSubp | Call number component for pocket labels | All content from the subfield p (first occurrence only) of the first c-tagged variable-length field. For example: 090 FIC |c1998|d345|pandrew |
53 | biba | Author | All content from subfields a-z from the first a-tagged field from the bibliographic record, regardless of MARC tag. |
54 | bib245b | Title | All content from the first occurrence of subfield b in the first 245 or 200 field from the bibliographic record, regardless of the field group tag. |
55 | bib245n | Title | All content from the first occurrence of subfield n in the first 245 or 200 field from the bibliographic record, regardless of the field group tag. |
56 | bib245p | Title | All content from the first occurrence of subfield p in the first 245 or 200 field from the bibliographic record, regardless of field group tag. |
57 | callSube | Call number component | All content in subfield s (first occurrence only) of the first c-tagged variable-length field. For example: c089 |a823.912|sTOL|cD|r2|e/2 |
58 | callSubr | Call number component | All content in subfield e (first occurrence only) of the first c-tagged variable-length field. For example: c089 |a823.912|sTOL|cD|r2|e/2 |
59 | callSubs | Call number component | All content in subfield s (first occurrence only) of the first c-tagged variable-length field. For example: c089 |a823.912|sTOL|cD|r2|e/2 |
Importing a Template
Once you have a template complete, save it as a .jrxml file, and you can import it in Settings.
Related Documentation
-
Changing CMOS Battery in Dell Desktops (Marmot Knowledge Base)
-
Adjust Display Scaling in Windows (Marmot Knowledge Base)
-
Turn On the Touch Keyboard Option (Marmot Knowledge Base)
-
Steam PC Café: Library Steam Account (Marmot Knowledge Base)
-
Kiosk Issues (X11 Envisionware) (Marmot Knowledge Base)
-
OCLC Holdings Update Project (Marmot Knowledge Base)
-
Exporting MARC files (Marmot Knowledge Base)
-
NoveList Information (Marmot Knowledge Base)
-
(3) Load b & o records, match on 001 [acq3] (Marmot Knowledge Base)
-
(K) Load b & o, match on i - 020 & 001 [acq2] (Marmot Knowledge Base)
-
Joining multiple MARC files with MarcEdit (Marmot Knowledge Base)
-
(X) Load file from Marquis macro 917 tag match [ing] (Marmot Knowledge Base)
-
(S) Load vendor file [ven] (Marmot Knowledge Base)
-
Extracting selected records with MarcEdit (Marmot Knowledge Base)
-
System Generated Review Files (Create Lists) (Marmot Knowledge Base)
Â