Earlier performance improvements for OAI have now been implemented in the WebAPI too, leading to over 60% shorter retrieval times.
Since a WebAPI log file (when enabled) may grow very fast, this may lead to file sizes which cannot be opened in a text editor anymore. From 3.5.1.2410, the <logFolder>
configuration in the globalConfiguration node of adlibweb.xml has some additional properties (like in Axiell Collections) to have a new log file created every day. Optionally you may set the level of logging to All, Error, Debug or Trace, depending on how extensive you’d like the logging to be. (Leave out -dd or -MM-dd to create a new file only once every month or year respectively.) You can also provide an optional MaxOldFiles argument to specify how much log files to keep (of the most recently created ones) while purging older log files when creating a new one. If MaxOldFiles is omitted or 0, purging is disabled. The default output log file name "OutputLog.txt" can be overridden by the setting too. Example:
<logFolder InputLog="WebApiInputLog.${date:format=yyyy-MM-dd}.txt" OutputLog="WebApiOutputLog.${date:format=yyyy-MM-dd}.txt" MaxOldFiles="10" Level="All">c:\temp\Logs</logFolder>
A <limit>
to specify how many records of a search result will actually be retrieved could already be set in the globalConfiguration in adlibweb.xml. From WebAPI 3.5.1.2395 you can override this setting by specifying a <limit>
per OAI_SET
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.
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