The ipsso.xml File

Backup Before Editing

Make a backup copy of the ipsso.xml file before making changes.

The ipsso.xml file specifies the content of the login page for Innovative's Integrated Login feature. The file includes the labels for form controls and optional tokens for the header, footer, and CSS files. You can edit the ipsso.xml file using the Web Master function. See Customizing the ipsso.xml Login Page for more information.

Labels

You can customize the text of any label element, such as <label>Barcode: </label>, appearing in the file. For example, you can replace Barcode: with Student ID: or any other text that is appropriate to your library.

Curly braces, {}, for diacritics are supported in the label elements of the ipsso.xml file.

Special Characters in XML

The < and & characters are illegal for XML file values and must be represented as the character entities &lt; and &amp;, respectively. To include a name like Arts & Sciences, you enter it in the XML file as:

Arts &amp; Sciences

Masking the Barcode Entry

In addition to customizing the barcode label text, you can mask the barcode characters entered by a user. Masking provides added security by ensuring that the literal barcode characters do not appear on screen. To mask barcode characters, add the "mask" attribute to the barcode "input" element. For example:

<input ref="code" mask="true">

Tokens

The ipsso.xml file includes tokens that affect the appearance and behavior of the login page. For information on how the system uses tokens, see Customizable Web Forms. The ipsso.xml file can include the following tokens:

Token Description
<!--{webpac_css}--> If this token is present, the system uses an absolute HTTPS URL to access the stylesheet specified in the STYLESHEET Web option. The system applies the stylesheet to the login page.
<!--{inserttag}--> The system replaces this token with the value of the IPSSO_INSERTTAG Web option.
<!--{login_css}--> If this token is present, the system checks the login.css file in the login resources directory. If the file exists, the system applies the stylesheet to the login page. Styles found in the login.css file supersede the WebPAC stylesheet styles.
<!--{login_top}--> The system replaces this token with the value of the login_top.html file in the login resources directory. If the file exists, the system inserts the file's content at the top of the login page. The system selects the most appropriate version of the login_top.html file based on the scope and language of the request.
<!--{legends}--> When this token is placed in the LDAP login section of the ipsso.xml file, the system replaces this token with the value of the IPSSO_LDAP_LEGEND Web option. When this token is placed in the login section of the ipsso.xml file, the system replaces this token with the value of the IPSSO_STANDARD_LEGEND Web option.
<!--{ifneedpatronname}--> If this token is present, the system checks if a patron name is used for verification. If so, the system interprets tokens and markup between this token and its closing <!--{xif}--> token.
<!--{ifalternate_id}--> If this token is present and the HAS_ALTERNATE_ID Web option is set to true, the system interprets tokens and markup between this token and its closing <!--{xif}--> token.

You should edit only the label content associated with this token.

<!--{ifneedspin}--> If this token is present, the system checks if PIN validation is required. If so, the system interprets tokens and markup between this token and its closing <!--{xif}--> token.
<!--{ifextpat}--> If this token is present and the External Patron Verification option has an entry for the port serving this file, the system interprets tokens and markup between this token and its closing <!--{xif}--> token..

You should edit only the label content associated with this token.

<!--{xif}--> Closes the corresponding <!--{if...}--> block.
<!--{pinreset}--> The system replaces this token with a link to reset the user's PIN and the default (internationalized) message Forgot your PIN?

To customize this message, do not use the <!--{pinreset}--> token. Include a link similar to the following example:

<link type="pinreset" url="https://[library.domain.edu]:443/pinreset">Forgot your Library Password?</link>


To internationalize a non-default message, you must create an ipsso.xml file for that language and include an internationalized version of the link described above. For example:

<link type="pinreset" url="https://[library.domain.edu]:443//pinreset*cht">{213d7b}{21583c}{213140}{214d22}{213b21}{214e4c}?</link>

Do not insert the <!--{pinreset}--> token within HTML <form> tags.

<!--{login_bot}--> The system replaces this token with the contents of the login_bot.html file in the login resources directory. The system selects the most appropriate version of the login_bot.html file based on the scope and language of the request.

Internationalization

To internationalize tokens that call external, internationalized files (such as the <!--{login_top}--> and <!--{login_bot}--> tokens) or internationalized values (such as the <!--{inserttag}--> and <!--{legends}--> tokens), append the three-character language code to the token name as follows:

<!--{token_[lang]}-->

Where [lang] is the three-character language code. For example:

<!--{login_top_cht}-->

You must include a modified token for each language offered for the ipsso.xml file. For example:

   <!--{inserttag_chx}-->
   <!--{inserttag_frf}-->
   <!--{inserttag_spi}-->

    ...

   <!--{login_top_cht}-->
   <!--{login_top_chx}-->
   <!--{login_top_frf}-->
   <!--{login_top_spi}-->

    ...
   <!--{legends_chx}-->
   <!--{legends_frf}-->
   <!--{legends_spi}-->
    ...

   <!--{login_bot_cht}-->
   <!--{login_bot_chx}-->
   <!--{login_bot_frf}-->
   <!--{login_bot_spi}-->

You can create separate custom forms for each combination of language and scope by using the following naming convention with any of the customization files:

ipsso_LANG_s#.xml

LANG The language code; spi for Spanish, frc for French, and so on.
s# The number of the scope; s1, s2, s3, and so on.

Example

<ipssoform>
<!--{webpac_css}-->
<!--{login_css}-->
<!--{login_top}-->
<form type="library">
<!--{ifneedpatronname}-->
<input ref="name">
<label>Name:</label>
</input>
<!--{xif}-->
<!--{ifalternate_id}-->
<input ref="user_name">
<label>OR</label>
<label>User Name: </label>
</input>
<!--{xif}-->
<input ref="code" mask="true">
<label>Barcode: </label>
</input>
<!--{ifneedspin}-->
<input ref="pin">
<label>PIN:</label>
</input>
<input ref="pin1">
<label>Enter your PIN: </label>
</input>
<input ref="pin2">
<label>Enter your PIN again: </label>
</input>
<!--{xif}-->
</form>
<!--{xif}-->
<!--{pinreset}-->
<!--{ifextpat}-->
<form type="extpat">
<input ref="extpatid">
<label>Campus Login: </label>
</input>
<input ref="extpatpw">
<label>Campus Password: </label>
</input>
</form>
<!--{xif}-->
<!--{login_bot}-->
</ipssoform>