# Presentation: 486881

## Explain Lite

- Research and Development activity in the ONE-2 Project - OPAC Network in Europe 2

## Background

- Project partners undertook significant research and development into the full Z39.50 Explain service, 1995 - 1997
- Created a fully working freeware server explain module that can be integrated into server applications - called “the PED”
- Integrated explain into the freeware “ICONE” Z39.50 client
- Several project partners added Explain to their targets
- project liaised with ZIG and Explain test-bed

## Conclusions of Explain work

- Explain in server requires significant development effort - not just the PDU support, but the EXP database and necessary administration components
- Explain in server requires an element of data administration/maintenance:
- some data can be auto-generated, eg, database size
- other data requires administration effort for the data to be kept up to date, eg, contact details

## Conclusions of Explain work

- Explain in client requires significant development work:
- EXP search and retrieval
- possible cache arrangements
- dynamic configuration
- dealing with cases where perhaps only some explain aspects are supported
- Client needs to issue an explain query to see if the server supports explain or not

## Conclusions of Explain work

- Explain “ is probably the right way to do it” but:
- its never been profiled
- very little take up in either clients or servers (explain test-bed had about 14 participants)
- clients always need a fallback configuration  anyway
- very little interest shown since test bed ended
- would changing / updating the model to different record formats or profiling etc encourage development support ?
- _This still leaves the requirement for client developers to ascertain server search and retrieval parameters._

## Explain - Lite:

- Requirements:
- to harmonize effort of a server administrator
- to provide only essential components for search and retrieval
- to retain the optional provision - Explain Lite info is only provided if requested
- ONE 2 project is researching how the data can be otherwise used, eg:
- proxy servers
- client configuration

## Design Approach

- ONE-2 project:
-  did not want to do this in ASN.1
- did not want to re-visit or change the current model
- did want an approach that was flexible
- decided to craft in XML
- decided to craft onto the Init service
- is aware that there are potential limitations for use, eg, may not be best suited on Init when there are many databases on a server, but:
- in this case it could be useful in describing such data via web pages.

## Content

- Contact information
- Search attributes
- Browse attributes
- Database names
- Record formats and element set names
- Linkages to other related pages, eg,
- same content in other languages
- Data of last update - useful to avoid possible unnecessary re-cache operations in the client

## Flexibility

- Use of XML has enabled rapid application development and ease of changes/tuning
- Same XML can also be used :
- in client configuration files
- in proxy applications
- Content can be easily parsed/verified with XML parser tools
- Can use XSL to give presentation on Web pages

## Why this approach:

- Minimum work is necessary at the PDU level for implementation
- Takes advantages of current skills base
- Enables administrators to harmonize explain lite with any descriptive configuration details in Web pages
- Aligns with increasing use of XML with Z39.50
- May be a first step to promote implementers to think further on the full explain model
- ..... This is _easy_ to do !

## Current Status

- Design is 99% ready
- ONE-2 partners are implementing in their systems
- ONE-2 project has a 7 month trial phase in 2001, and the opportunity to test and try
- Design is open for anyone to have a play, we will notify ZIG when servers can be tested

## Example

- XML example:
- http://www.bibsys.no/z/bibz.xml
- http://www.bibsys.no/z/spirz.xml
- DTD:
- http://www.bibsys.no/z/explainlite.dtd
- XSL Style example:
- http://www.bibsys.no/z/lite1.xsl

## Example XML

**</description>**
**<records>**
**  ****<elementsetname>Full</elementsetname>**
**  ****<recordsyntax>USMARC</recordsyntax>**
**  ****<recordsyntax>NORMARC</recordsyntax>**
**  ****<recordsyntax>SUTRS</recordsyntax>**
**</records>**
**<records>**
**  ****<elementsetname>Brief</elementsetname>**
**  ****<recordsyntax>USMARC</recordsyntax>**
**  ****<recordsyntax>NORMARC</recordsyntax>**
**  ****<recordsyntax>SUTRS</recordsyntax>**
**</records>**
**<retrieval>**
**  ****<attributeset>BIB-1</attributeset>**
**<searchattributes>**
**  ****<searchname>Personal name</searchname>**
**    ****<values>**
**      ****<use>1</use>**
**      ****<structure>1</structure>**
**      ****<structure>2</structure>**
**      ****<structure>6</structure>**
**      ****<structure>101</structure>**
**  ****</values>**
**</searchattributes>**

## ... and on display: