Axiell WebAPI home page > Documentation > Provisional release notes for WebAPI 3.5.1.2380

Provisional release notes for WebAPI 3.5.1.2380

Bug fixes

  • Running an OAI Token Set retrieval for a big set was slower per retrieved record than a small set, because for each token retrieval a count of the rstable was done. To improve performance yet again, a new column has been added to the resumptiontokens table that holds the completeListSize value of the initial search result. Fixed in version 3.5.1.2332.
  • Inherited data was no longer retrieved correctly. Fixed in 3.5.1.2322.
  • OAI rstables were missing an index on the offsetid column, causing slow OAI performance for certain queries. Fixed in 3.5.1.2311.
  • OAI performance was sometimes still slow, especially when retrieved records had a lot of child records. Improved in 3.5.1.2310.

New functionality

Optional fallback image server configuration

From WebAPI 3.5.1.2296, if you have multiple image server configurations, you can designate one of them as the fallback image server. This server will be tried when a searched image cannot be found in the (different) image server specified in the query. A fallback=true attribute should therefor be added to the <ImageServerConfiguration> element, like so:

<imageServerConfiguration name="generic" fallback="true">
  <servertype>FileSystem</servertype>
  <path>C:\Data\Projects\model5.0\images</path>
  <maxWidth>0</maxWidth>
  <maxHeight>0</maxHeight>
</imageServerConfiguration>

<imageServerConfiguration name="images">
  <servertype>FileSystem</servertype>
  <path>\\ourserver\DATA\testappl\5.0\images</path>
  <maxWidth>0</maxWidth>
  <maxHeight>0</maxHeight>
</imageServerConfiguration>

Only one image server configuration may have the fallback attribute, otherwise an error will pop up.

So, when calling server images with an image id that doesn’t exist, the WebAPI will try the fallback server called generic with the same properties.

Support for default values in generic Media Server plugin

From 3.5.1.2277, the generic Media Server plugin offers support for default values. This comes in handy if sometimes a different value for a call parameter needs to be provided while most often a default value should be used if that different value is not available. A use case would be when you would gradually like to move your system from local storage of media files to a DAMS. The local storage would then be the default server while only if a certain value in a particular record field is present, the DAMS would have to be the server.

For this, an (optional) list of default parameters can now be specified underneath the <ImagePlugin> node. A default parameter and its value will be applied to the configured URL when either the parameter is missing from the configured URL of when the parameter is empty in the configured URL.

Below you can see an example configuration in which the server parameter in the configured ServiceUrl has custom placeholder called %altserver%. When the caller replaces it with an actual image server name in the query, then that image server will be used: if not, then the server=images argument will be applied and the images image server will be used:

<imageServerConfiguration name="generic">
    <servertype>FileSystem</servertype>
    <path>C:\Data\Projects\model5.0\images</path>
    <ImagePlugin type="Axiell.GenericService.Plugin.GenericPlugin, Axiell.GenericService.Plugin">
      <ServiceUrl>http://localhost/ImageServer/wwwopac.ashx?command=getcontent&server=%altserver%&value=%value%</ServiceUrl>
      <DefaultParameters>
         <DefaultParameter key="server" value="images" />
      </DefaultParameters>
      <AccessToken>9A722EF89-50A5-4045-B1115-A99B130D6092</AccessToken>
    </ImagePlugin>
  </imageServerConfiguration>

An example of a getcontent call using an image server called myaltserver would be the following:

https://server1.ourdomain.com/wwwopac.ashx?command=getcontent&server=generic&altserver=myaltserver&value=IMG_6936.JPG&height=200&width=200