master_content
node for previews, which is fine if the ingested master is a “known” type (has a recognizable mime-type extension). However, if a master came from tape, which uses an envelope format with an extension of .mxf, the plugin no longer recognized this format, and was going down the wrong route as a result. Since all assets that are viewable have a preview_content
node, this node will now be used instead of the master_content
node for the metadata crawl. Fixed in 3.0.22013.1.<message>Error retrieving document for content id: relevant_path</message>
. Fixed in 3.0.21342.1.<whiteList>
element, to be included in the globalConfiguration or in the imageServerConfiguration of the image server adlibweb.xml, should now be used to limit allowed external sources to those listed underneath that element in repeatable <url>
nodes. A whiteList node in the imageServerConfiguration node overrides a whiteList node configured in the globalConfiguration node. For backwards compatibility, when no whiteList items have been specified in the configuration yet, all requested URLs are still allowed. Fixed in 3.0.21309.1. <SearchSatement>
setting in adlibweb.xml ignored From Until and gave wrong output. Fixed in 3.0.21274.1.GetContent
command no longer worked. Fixed in 3.0.21249.1<sitemapindex/>
XML. Fixed in 3.0.21210.1.getmetadata
command with output=json
, no longer returned adlibJSON XML but adlibXML. Fixed in 3.0.21195.1.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.from
and until
parameters showed slow (up to unresponsive) performance and inconsistent results. Fixed in 3.0.21109.1.seed
parameter for the random
command no longer worked. Fixed in 3.0.21096.1.
Say you'd like to do a search for objects or containers within a certain location (so you'd want to search on a location and the locations underneath it), using the location's barcode as the search key instead of the location name (where location records are hierarchically linked on name, so the barcode field is a merged-in field), then from WebAPI version 3.0.22025.1 you can. Three new search
operators are now available: broader
for a search on all broader terms, narrower
for a search on all narrower terms and generic
for a search on all narrower terms including the search key itself. These operators can be used for linked fields where the linked database has the hierarchical internal link defined (bt/nt) as well as for local indexed fields (other than the term indexed field for the hierarchical internal link in the current database). Two examples of both situations:
wwwopac.ashx?database=collect&search=current_location.barcode generic DIU.V106 wwwopac.ashx?database=package&search=barcode broader DIU.V712
The Axiell WebAPI 3.0.21344.1 and higher support the processing of XML payloads to extract their data to write or update Axiell database records using an adapl.
Imagine for example some media ingest software which generates metadata about the result of an ingest action, in the form of a snippet of raw XML or JSON, with the purpose of having some or all of the information in such a file processed in certain Axiell database records, maybe in the media records that were just created or in object records linking to those media records or maybe in some new event records.
The Axiell WebAPI is now capable of requesting such processing with the load
command and the payload
argument. The processing of the XML file itself however, must be done via a custom adapl. A new <payloadConfiguration>
section in the WebAPI adlibweb.xml configuration file specifies the Axiell database name and (location of) the adapl to use, tying it all together. For example (include the section underneath the <webConfiguration>
node):
<payloadConfiguration name="my_payload_type1" type="XML"> <database>collect</database> <adapl>C:\Data\Axiell\model452\adapls\myadapl</adapl> </payloadConfiguration>
name
is the identifier of this payload configuration and it's this identifier that must be passed as the payload
argument in the WebAPI requesttype
is the type of the expected payload data (XML
or JSON
)database
is the name of the database to run this payload for, e.g. collect
or document
adapl
is the name of the custom adapl that should run and parse the payloadSo a raw XML or JSON file posted with a wwwopac.ashx?command=load&payload=my_payload_type1
request in this example would process the posted payload file using a custom adapl for a specific database, as set in the adlibweb.xml.
Remember to set <debug>true</debug>
here as well if you'd like errorm
messages from the adapl to end up in the WebAPI response.
When a WebAPI load request for an available payload is executed, in memory a new blank record is created for the specified database and the adapl is run for that record (which can be saved or not by the adapl), so besides generating errorm
messages you can use the adapl to assign data from XML nodes to field tags in the record as you would normally assign values to field tags in e.g. a before-storage adapl. You can also (regardless of what you do with the new record in memory) use the ADAPL FACS functionality to read, update or create records in FACS databases that you specify using regular FACS definitions in the adapl. Click here to read more about programming such an adapl.
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.
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.
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 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.
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.
<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.
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.