- <para>In the session-aware mode, the library assumes that the pazpar2 daemon is contacted directly (preferably via Apache proxy to avoid security breaches) and tracks the session Ids internally.
- </para>
-
- <para>In the session-less mode the library assumes that the client is identified on the server and the session Ids are not managed directly. This way of operation requires more sophisticated pazpar2 proxy (preferably a wrapper written in a server-side scripting language like PHP that can identify clients and relate them to open pazpar2 sessions).</para>
-
-
- <para><bridgehead>Using pz2.js</bridgehead></para>
-
- <para>
- Client development with the pz2.js is strongly event based and should be familiar to most JavaScript developers. A simple client (jsdemo) is distributed with pazpar2's source code and shows how to set-up and use pz2.js.
- </para>
-
- <para>
- In short, programmer starts by instantiating the pz2 object and passing an array of parameters to the constructor. The parameter array specifies callbacks used for handling responses to the pazpar2 commands. Additionally, the parameter array is used to configure run-time parameters of the pz2.js like polling timer time-outs, session-mode and XSLT style-sheets.
- </para>
-
- <para><bridgehead>Command callbacks</bridgehead></para>
-
- <para>
- Callback naming is simple and follows “on” prefix plus command name scheme (like onsearch, onshow, onrecord, ... etc.). When programmer calls a function like show or record on the pz2 object, pz2.js will keep on polling pazpar2 (until the backend targets are idle) and with each command's response an assigned callback will be called. In case of pazpar2's internal error an error callback is called.
- </para>
-
- <screen>
+ <para><bridgehead>Pz2.js</bridgehead></para>
+
+ <para>
+ Pazpar2 comes with a small JavaScript library called pz2.js. This
+ library is designed to simplify development of an Ajax-based pazpar2
+ client and alleviate programmer from the low-level details like
+ polling the web service, fetching and parsing returned XML output or
+ managing timers, sessions and basic state variables.
+ </para>
+
+ <para>
+ The library supports most major browsers including Firefox 1.5+, IE
+ 6+, Safari 2+, Opera 9+ and Konqueror.
+ </para>
+
+ <para>
+ The library can work in two modes: a session-aware mode and a
+ session-less mode.
+ </para>
+
+ <para>
+ In the session-aware mode, the library assumes that the pazpar2
+ daemon is contacted directly (preferably via Apache proxy to avoid
+ security breaches) and tracks the session Ids internally.
+ </para>
+
+ <para>
+ In the session-less mode the library assumes that the client is
+ identified on the server and the session Ids are not managed
+ directly. This way of operation requires more sophisticated pazpar2
+ proxy (preferably a wrapper written in a server-side scripting
+ language like PHP that can identify clients and relate them to open
+ pazpar2 sessions).
+ </para>
+
+ <para><bridgehead>Using pz2.js</bridgehead></para>
+
+ <para>
+ Client development with the pz2.js is strongly event based and the
+ style should be familiar to most JavaScript developers. A simple
+ client (jsdemo) is distributed with pazpar2's source code and shows
+ how to set-up and use pz2.js.
+ </para>
+
+ <para>
+ In short, programmer starts by instantiating the pz2 object and
+ passing an array of parameters to the constructor. The parameter array
+ specifies callbacks used for handling responses to the pazpar2
+ commands. Additionally, the parameter array is used to configure
+ run-time parameters of the pz2.js like polling timer time-outs,
+ session-mode and XSLT style-sheets.
+ </para>
+
+ <para><bridgehead>Command callbacks</bridgehead></para>
+
+ <para>
+ Callback naming is simple and follows “on” prefix plus command name
+ scheme (like onsearch, onshow, onrecord, ... etc.). When programmer
+ calls a function like show or record on the pz2 object, pz2.js will
+ keep on polling pazpar2 (until the backend targets are idle) and with
+ each command's response an assigned callback will be called. In case
+ of pazpar2's internal error an error callback is called.
+ </para>
+
+ <screen>