Axiell WebAPI home page > Documentation > Release notes for WebAPI 3.0.21322.1

Release notes for WebAPI 3.0.21322.1

Provisional release notes

Version 3.0.21322.1 is not an official release version yet. These release notes will be updated when new bug fixes and functionality are added before the final release.

Bug fixes

  • The WebAPI didn't find a database alias that the older wwwopac version could find indeed. Fixed in 3.0.21322.1.
  • The WebAPI threw an error on the existence of a linked integer field. Fixed in 3.0.21322.1: linked integer fields are allowed (again).
  • When the WebAPI command=insertrecord was used to create a recod with a link to another record, an error occured: "No mapping exists from object type Adlib.String.FormattedString to a known managed provider native type". Fixed in 3.0.21319.1.
  • OAI returned same hits for every resumptionToken, so they were of no use. Fixed in 3.0.21307.1.
  • The WebAPI was slow (or even timed out) when searching on modification date and priref. Fixed in version 3.0.21299.1.
  • OAI jsonv1 type output was missing data about deleted records and resumption tokens. Fixed in 3.0.21277.1. For enumerative fields a difference remains between the pre-3.0.21277.a version of jsonv1 and the new version of jsonv1: spans are missing for this field type, element “lang” is now “@lang” and element “text” is now “#text”: this will not be fixed.
  • Adding an AND NOT operator to the query specified in the OAI <SearchSatement> setting in adlibweb.xml ignored From Until and gave wrong output. Fixed in 3.0.21274.1.
  • Context fields did not show in the WebAPI output, if the source fields were multilingual. Fixed in 3.0.21253.1.
  • In version 3.0.21246.1 the GetContent command no longer worked. Fixed in 3.0.21249.1
  • The sitemap API (sitemapper.ashx) returned empty <sitemapindex/> XML. Fixed in 3.0.21210.1.
  • When a linked record couldn't be found, a DatabaseRecordNotFoundException was thrown which would break the output of WebAPI/OAI requests. Now, the error will be gracefully ignored and just output all fields except the missing one. The error will be logged in the log file when the configuration has debugging on and a log folder defined. Fixed in 3.0.21203.1.
  • The getmetadata command with output=json, no longer returned adlibJSON XML but adlibXML. Fixed in 3.0.21195.1.
  • Users could still request and see restricted information after logging out. Fixed in 3.0.21189.1.
  • Image orientation was lost (ignored) when the image was resized or transformed. Fixed in 3.0.21188.1.
  • Subsequent getcontent calls for media files were no longer working when folder mappings were used, because those calls tried to append a sub folder name to the path of the previously downloaded item, which resulted in invalid paths. Fixed in 3.0.21158.1.
  • Search queries including enumerative fields failed. Fixed in 3.0.21136.1.
  • WebAPI OAI queries on dates with from and until parameters showed slow (up to unresponsive) performance and inconsistent results. Fixed in 3.0.21109.1.
  • The seed parameter for the random command no longer worked. Fixed in 3.0.21096.1.
  • A WebAPI error occurred when retrieving a record in which a filled-in linked field had the Link only first occurrence option disabled. Fixed in 3.0.21082.1.

New functionality

JSON output supported by OAI.ashx from version 3.0.21252.1

From WebAPI version 3.0.21252.1, oai.ashx produces JSON (implicitly of the more compact type) if the new setting: <output>json</output> has been configured in the <globalConfiguration> section in the adlibweb.xml configuration file. If you do not configure this option, the OAI result will be grouped XML. The output=xml or output=json query arguments (as supported for wwwopac.ashx) cannot be used for oai.ashx. This OAI functionality is not hindered or influenced by the XML type setting for wwwopac.ashx and vice versa the JSON format or XML type settings for wwwopac.ashx are not hindered by the JSON option for OAI, but if no <jsonFormat> has been specified for wwwopac.ashx then the <output>json</output> setting will cause wwwopac.ashx and oai.ashx (the latter from version 3.0.21273.1) to spit out JSON of the jsonv1 type unless (for wwwopac.ashx) the URL has an output=xml argument: a jsonFormat=standard argument won't work in that case.
For more information about the referenced wwwopac.ashx settings, see the JSON output topic.

Adapl errorm messages optionally logged in WebAPI XML output

if the adaplEnabled variable has been set to True in adlibweb.xml (to specify that when you write or update a record with the WebAPI, the adapl set as storage procedure for the relevant database in Axiell Designer must be executed just before actual storage) and debug has been switched on in that configuration file too, then from WebAPI version 3.0.21245.1, any messages generated by errorm statements in the relevant adapl are included in an <errorMessages> section underneath the <diagnostic> node of the WebAPI XML output. Each error message will be returned in its own <message> node, the first generated message on top and any subsequently generated messages further downwards.

A Piction image plugin

From WebAPI version 3.0.21175.1, an image plugin for the Piction DAMS is available: Axiell.Piction.Plugin.dll. As all other plugins it allows you or your Axiell system (by means of retrieval paths for image fields) to communicate with the DAMS-specific API via the Axiell WebAPI. Please see the full topic for more information.

OAI harvesting and site mapping functionality now standard part of the WebAPI package

OAI and site mapping functionality, through the oai.ashx and sitemapper.ashx api's are now standard part of the WebAPI package. Added in 3.0.21154.1 and 3.0.21210.1 respectively.

Additional field properties isMultiLingual and isInherited in output of the getmetadata function

For secondary or third party software using the WebAPI to write data it is important to know if a field is multilingual or not, because they can corrupt the data if they write non-multilingual data in a multilingual field. And inherited fields shouldn’t usually be written to because they already get their data for display from a parent record dynamically. Therefore two new properties of fields are now included in the output of the getmetadata command: isMultiLingual and isInherited. Added in 3.0.20198.1.

Reporting deleted records in an OAI result set as such

The resulting XML from an OAI search query normally doesn’t report on records missing from the result set if they were deleted in some way earlier. The new version of the WebAPI does allow this type of reporting though, so that it is clear to the harvester why those records are missing. A requirement is that journalling has been enabled for the relevant database (a setting in the .inf): this setting makes sure that record changes and deletions are registered in the database. If journalling is enabled, then from that point on, deleted records will be registered in the database, but they won’t be reported in an OAI result set automatically. To enable the reporting of deleted records you must add a <reportDeletedRecords>true</reportDeletedRecords> node to either the globalConfiguration section or in each of the OAI_SET sections in adlibweb.xml. The per set setting will override the global setting if the relevant set is addressed, so globally you can set it to false whilst setting it to true for a specific OAI_SET. Use the global setting to set it for all OAI_SET configs implicitly. (Note that an Identify request only looks at the global setting and results in a <deletedRecord>No</deletedRecord> node (journalling not switched on or <reportDeletedRecords>false</reportDeletedRecords> is set in the adlibweb.xml) or <deletedRecord>Persistent</deletedRecord> node (journalling is switched on and <reportDeletedRecords>true</reportDeletedRecords> is set in the adlibweb.xml) in the Identify result.) If <reportDeletedRecords>false</reportDeletedRecords> is missing from the configuration, the behaviour defaults to “false”, so deleted records won’t be reported then. If journalling has been switched on and <reportDeletedRecords>true</reportDeletedRecords> has been set, a GetRecord and ListRecords call will include each deleted record in the result set as follows (where collect:12 will be substituted by the relevant database name and record priref and the date by the actual date of deletion):

<record>
<header status="deleted">
<identifier>collect:12</identifier>
<datestamp>2021-06-10T07:56:04Z</datestamp>
</header>
</record>

Functionality added in 3.0.21154.1.

Improvement of the configurability of renditions for the Open Text plugin for the WebAPI image server

The adlibweb.xml configuration for this image plugin now has a section in which to specify alternative renditions for specific content types. The list of Renditions can hold types Application, Video, Audio which relate to the type of content returned by OTMM. For PDFs the type is Application (from mimetype application/pdf). When no rendition exception is defined, the default rendition (as specified in the Rendition node directly underneath ImagePlugin) is still used as a fallback option. An example configuration looks like this:

  <imageServerConfiguration name="aispreviews">
    <defaultImage></defaultImage>
    <servertype>FileSystem</servertype>
    <imageOverlayFile>C:\Axiell\AIS IMAGEAPI\Image0032ShadowBG.png</imageOverlayFile>
    <imageOverlayBlend>65</imageOverlayBlend>
    <imageOverlayPosition>4</imageOverlayPosition>
    <imageOverlayPercentage>30</imageOverlayPercentage>
    <path></path>
    <cachePath>C:\Axiell\imageCache</cachePath>
    <ImagePlugin type="Adlib.OpenText.Imaging.Plugin.OpenTextImagePlugin, OpenTextImagePlugin">
      <BaseUrl>http://ourserver.edu/otmmapi/v4</BaseUrl>
      <UserName>axiellservice</UserName>
      <Password>0p3jk89d7t</Password>
      <Rendition>preview</Rendition>
      <Renditions>
        <Rendition Type="Application">thumbnail</Rendition>
      </Renditions>
    </ImagePlugin>
    <ignoreScaleVideo>true</ignoreScaleVideo>
  </imageServerConfiguration>

So here the default rendition is preview and the exception for Application type content is thumbnail.
Functionality added in version 3.0.21127.1.