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

Release notes for WebAPI 3.8.0.3188

Bug fixes

  • Selected facet result number differed from facet hits, in combination with a q-search. Fixed in 3.7.1.3173.
  • The WebAPI Fotoware Plugin default cache file type was (still) bmp where jpeg is expected. Fixed in version 3.7.1.3147. Note that now cached files will be generated as jpg’s by default. Even when the old bmp format version already exists! Please clear the image cache folder first before putting this in place.
  • Imageoverlay files in the root of the IIS application could no longer be found if you hadn't referenced the file with a full path. Fixed in 3.7.1.3135.
  • An image with incorrect rotation metadata was rotated "back" due to automatic (since 3.5.1.2266) rotation correction by the WebApi when it was retrieved by the WebAPI. This was fixed in 3.7.1.3066 by introducing a new <imageServerConfiguration> setting: you can now optionally disable the default rotation correction for any rotation metadata by setting the new adjustRotation property to false.
  • Error when using JSON to update a record with multiple occurrences of a field. Fixed in 3.7.1.3050.
  • OAI did not output records with unresolved links. Fixed in version 3.7.1.3036.
  • Retrieved images didn't get a watermark anymore. Fixed in version 3.7.1.3011.
  • Linked metadata field was not always returned. Fixed in 3.7.1.3000.
  • Creating/updating records with linked non-preferred term (identical to preferred term) gave a MultipleLinkedRecordsPossibleException, instead of automatically selecting the preferred term. Fixed in 3.7.1.2924: non-preferred terms will now be ignored when resolving links.
  • When using version 3.7.1.2908 the WebAPI would return the BriefFields instead of the DetailFields when searching for a priref only. Fixed in version 3.7.1.2947.
  • A WebAPI facets call returned all languages of a multilingual facet instead of just one language. The WebAPI should've returned terms from one language as set with the language parameter in the URL. Fixed in 3.7.1.2940 (the language was not retrieved for full text indexed facets).
  • The WebAPI ignored access rights restrictions set in the .inf field properties such as $REST = None. Fields with this setting were still shown in the output. Fixed in 3.7.1.2930.
  • When downloading a file with the file extension .xlsx via the WebAPI, the file would be converted to .xls and you would get a warning when opening it. Fixed in version 3.7.1.2929.
  • The WebAPI gave a field-is-not-multilingual error on a context field when a record with a (unilingual, which is okay) location context field was retrieved while the location field itself was multilingual. Fixed in 3.7.1.2920: the retrieved string for the context field is now correct for each language (regardless of the adlibweb.xml setting or of the multilingual setting of the context field).
  • For internal links, the <resolveLinks> setting set to false, a RecordNotFoundException was generated. Fixed in 3.7.1.2898.
  • Location context was missing from the WebAPI output regardless of access rights settings.

New functionality

Linked database included for linked fields in Getmetadata response

From WebAPI 3.7.1.3178, for linked fields the response of a Getmetadata request will also contain the linked database and dataset, e.g.:

<isLinked>True</isLinked>
<linkedDatabase>people</linkedDatabase>
<LinkedDataset>people</LinkedDataset>

API tokens can now be passed in through request headers instead of as request parameter

In the global configuration section of the adlibweb.xml configuration file an <apitoken> can be configured that is checked on each request to the API.

  <globalConfiguration>
    <databasePath>H:\FotoWare\Test\data</databasePath>
    <xmlType>grouped</xmlType>
    <debug>true</debug>
    <logFolder>H:\FotoWare\WebAPI_FotoWare\Logs</logFolder>
    <apitoken>1DF7CF1D-7148-4C5E-A5FB-A02F03B6330A</apitoken>
  </globalConfiguration>

However, this token can only be passed in via request parameters and is therefore not secure. It’s better to pass in the token via the request headers: this has been implemented in 3.7.1.3152: the token header is now checked when API requests are processed. Only one key can be passed. When no token is passed but required the API will return HTTP error 403.

JSON support in basic POST plugin

WebAPI version 3.7.1.3123 and up now support JSON payloads via the basic POST plugin. The accompanying adapl needs to be written a little different from an adapl for XML payloads.

Description node added to OAI Identify response

From WebAPI 3.7.1.3084, the response from an OAI Identify request (OAI request oai.ashx?verb=Identify) contains a <description> node in the <Identify> section, displaying more information about the relevant OAI server, like the used scheme, the used delimiter and a sampleIdentifier. Optionally it can also contain a <repositoryIdentifier> if the OAI repository name has been configured in the <OAI-REPOSITORYIDENTIFIER> node in the <OAIConfiguration> in adlibweb.xml.

Fotoware plugin now able to download original rendition

Simply add &original=true to the Web API call to get the original rendition. The plugin will try and get the original rendition for the requested image. If there’s no original rendition href found, then the plugin (with the image server config fallback attribute set to true) will fall back to what it would return otherwise. Very large images will still be resized because the maxWidth and maxHeight values are set to 1000 by default to prevent super large image downloads. You can bypass that by explicitly setting those properties to 0 in the fotoware image server configuration in adlibweb.xml like shown below:

<!-- Image server settings -->
<imageServerConfiguration name="fotoware" fallback="true">
    <servertype>FileSystem</servertype>
    <path>C:\Data\Projects\model5.0\images</path>
    <maxWidth>0</maxWidth> 
    <maxHeight>0</maxHeight>
    <ImagePlugin type="Axiell.Fotoware.Plugin.FotowarePlugin, Axiell.Fotoware.Plugin">
      <Host>https://ourdomain.org</Host>    
      <ArchiveUrl>/fotoweb/archives/</ArchiveUrl>
      <UniqueIDField>187</UniqueIDField>
      <Oauth>
         <ClientId>1e2ge492-2234-4bww-831a-ab99a52awq7b</ClientId>
         <ClientSecret>TMAEWbEiBMdstNjJPperHsAEVtGUn4pa59-y1me4i5</ClientSecret>
      </Oauth>      
    </ImagePlugin>
</imageServerConfiguration>

This is available from version 3.7.1.2984.