The adlibweb.xml file
The Axiell adlibweb.xml file is used to configure your WebAPI. In it, you specify paths to the data folder, and other relevant folders, you configure image retrieval, and you list the fields that must be included in the search result.
Click here for the default adlibweb.xml sample file.
In the globalConfiguration
group in adlibweb.xml, the data server must be configured. The most relevant options available to you are the following:
Configuration options | Possible values | Meaning |
authentication
|
true or false |
This optional setting determines whether authentication by means of a login procedure should be used before users can retrieve certain data and implicitly it also determines under which user name access to data is requested. You can set the option to true or false or leave the option out altogether (in which case it implicitly defaults to true ). True (without login): when set to true (or is absent), any user executing a wwwopac.ashx request directly (without the expected login) will implicitly do so with the IIS application pool identity of the wwwopac.ashx service on the server, as his or her user name. True (with login): when the user accesses the Axiell Collections database through an Axiell Internet Server web application via the intended explicit login dialog, different users have different user and/or group names as specified in either Active Directory or some specific Axiell authentication database, which will be used to find out if access to records is granted. A specific login procedure can be set up in an <authenticationConfiguration> section (see the paragraph below this table for more information about that). Then both the user name and group name(s) will be used to determine which access rights the current user has to certain data. Excluding records: if in Axiell Collections, records have been protected by specified rights, in which case each record lists the users or groups and their access rights to that record, then records will only be accessible if the remote user has sufficient access rights to it. So if no login procedure has been followed, all users will approach the database with the application pool identity as their user name. Then in IIS, this identity must have been set to a general Active Directory account name under which all anonymous users enter the network. To shield records from being retrieved by these users you'll have to register this general Active Directory account name in these records as a "user" to exclude. False (without login): on the other hand, if you set <authentication> to false , remote users will again approach the Axiell Collections database with the application pool identity you set for it - you would assign the application pool identity its own Active Directory user account here, other than the general account for anonymous users - but the Active Directory group this specific user account belongs to can then be used in Axiell's access rights mechanism like you would expect, for instance to exclude this group from accessing certain records.
|
cacheMode
|
disabled , readonly or readwrite |
By default, if <writeAllowed>False</writeAllowed> has been set for the current database in adlibweb.xml, the WebAPI caches (in so-called readonly mode) records and their linked data after they've been retrieved, which increases performance for records containing a lot of links. Normally this not a problem since the application pool for a WebAPI is usually recycled each night, but it can also result in the retrieval of outdated data when an Axiell Collections user edits a record before it is retrieved again by the WebAPI quickly after. Therefore, from version 3.1.1.1280 the cache mode can be set explicitly in adlibweb.xml, using the <cacheMode> element underneath the <globalConfiguration> node. The following settings are available:
<writeAllowed>True</writeAllowed> implicitly sets the cache mode to readwrite mode, even if you explicitly set the cacheMode differently, so that for writing changes always the up-to-date record is used.
|
databasePath
|
<path> |
Use this variable to refer to a physical location, seen from the web server, which holds the .inf files of the Axiell Collections databases. For best performance of the web server, the data should be stored on a local disk of the web server. (It is sensible to enter only one absolute path in adlibweb.xml, although it is possible as well to speficy a databasePath per databaseConfiguration section, in which case the latter path has precedence over the globally specified path.) Example: <databasePath>\\server- d\databases\website\adlibapi\data</databasePath> .
|
debug
|
on or off |
If requested by Axiell Support, set this option to on to have the webapi write and keep a log file in the folder that you must then set with the <logFolder> setting. If the WebAPI ever produces errors or unexpected results, the log file might provide useful debug information. The log file might get very large, so we recommend leaving the option to off (or leave the settings out altogether) by default.if the adaplEnabled variable has been set to True and debug has been switched on 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. |
defaultExpand
|
false or true |
WebAPI version 3.1.1.1220 and higher automatically (and implicitly) perform an expand search on inherited fields by default. This means that if e.g. the title field is inherited and a title has only actually been stored in a top record in some hierarchy, then searching on (words from) a title using e.g. the = operator will not only find the top record but all records below it which inherit the title as well. This functionality can be switched off though, by including the <defaultExpand>false</defaultExpand> setting here in the globalConfiguration . |
facetLimit
|
<integer> | Use this optional variable to limit the amount of retrieved facets for all databases at once. |
highlight
|
True or False |
Use this variable (set to True ) to enclose the searched key in <highlight> tags by default, in the result XML. It is possible as well to submit this parameter with the search command. The latter may be preferred if the result XML must be handled differently from request to request. |
indent
|
True or False |
Use this variable (set to True ) to apply a better layout to json output. The added white space makes the data easier to read by users, at the price of a less compact and small document The indent option is only meant for json output and will only be applied when you've selected this output format. |
limit
|
<integer> |
This variable specifies how many records of a search result will actually be retrieved. By adding e.g. &limit=5 to a wwwopac query, only the first five records of the search result will be retrieved. By default, wwwopac.ashx retrieves maximally 10 records. |
logFolder
|
<path> |
With the debug option set to on the WebAPI will write and keep a log file in the folder that you set with the <logFolder> setting. |
whiteList
|
<URL nodes> |
A Server Side Request Forgery (SSRF) attack is an attack where an attacker is able to supply or modify a URL used by the server to fetch external resources which pose a risk. In the WebAPI this could be achieved by entering a URL to an external resource in the “value” parameter of a getcontent request. This is sometimes intentional and for good but can be used for bad too. The <whiteList> element (available from WebAPI 3.0.21309.1), 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 this 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. |
xmlType
|
grouped, structured, unstructured, diagnostic, raw
|
In response to a query, the wwwopac.ashx can produce XML in various formats. The format is relevant for the XSLT stylesheets you apply to an XML file: a different format usually requires different stylesheets. The XSLT stylesheets implemented in the Axiell Internet Server 6 web application require the xmltype to be set to grouped . The other types are seldomly used. unstructured lists all fields and field occurrences in an indiscriminate list without field group information or grouping of occurrences of a single field, whilst structured arranges field groups and internal and external links in a tree structure. The wwwopac.ashx uses the structured type only for saved searches (pointer files), it cannot be used with other functionality. The grouped type is a newer and more advanced version of the structured type. Further, the raw type retrieves the entire record: any specified brieffields or detailfields are ignored. And finally diagnostic : this only returns a number of hits, not records.
It can offer extra and more efficient functionality for web applications, such as showing the number of hits for various databases first, before users choose to access the resulting records of one of those databases. You can specify the XML type either or both in the <databaseConfiguration> , the <groupConfiguration> or <globalConfiguration> section of adlibweb.xml. Or you can specify it in your wwwopac.ashx query. The most detailed level of configuration always has precedence over more global levels, so an XML type specification in the search statement has precedence over an XML type specification on the <databaseConfiguration> level, which in turn has precedence over the <groupConfiguration> level which has has precedence over the <globalConfiguration> level.
So the Axiell WebAPI can return different forms of XML, but most XML output has some characteristics in common:
The most common Axiell XML (aka AdlibXML) output types are
The |
xsltScriptingAllowed
|
true or false |
Set this optional variable (available from WebAPI version 3.7.13308) to |
A complete example of a globalConfiguration
is the following:
<globalConfiguration> <databasePath>\\server-d\databases\website\axiellwebapi\data</databasePath> </globalConfiguration>
With the optional <authenticationConfiguration>
you can specify sources to be used to validate submitted login details. If you use an Axiell Internet Server web application or your own (web) application, this validation can be used to allow or disallow certain functionality in the web application, like being able to reserve library materials or to register (SDI) search profiles. Click here for more information about this topic.
In the databaseConfiguration
sections in adlibweb.xml, the databases available to wwwopac.ashx must be configured. Minimally, a database alias and the actual database name must be specified. The most relevant options available to you are the following:
Configuration options |
Possible values |
Meaning |
adaplEnabled
|
True or False |
Set this variable to |
addToQuery
|
<partial query> |
With the |
brieffields
|
<field list> |
Use the brieffields variable to specify the fields you wish to see in the list display of the search result, for example:<brieffields> <field>lead_word</field> <field>title</field> <field>author.name</field> <field>corporate_author</field> <field>year_of_publication</field> <field>digital_reference</field> <field>copy.number</field> <field>shelf_mark</field> </brieffields> For optimal performance of wwwopac.ashx it is definitely recommended to provide only the brieffields which you intend to actually use. This is because each submitted field will take up some processing time, and when you retrieve multiple records for a brief display, this will certainly add up. From wwwopac.ashx version 3.6.327.0 it is possible to nest field nodes of linked fields, to retrieve data of your choice from linked records. This way you can even obtain data from records linked in the second or third degree. Using nesting field nodes does change the XML structure of linked fields in the required The old wwwopac.exe An optional attribute to the |
database
|
<FACS-name> |
Use this variable to identify the actual name of the database. If a database has been subdivided into datasets, you may point to the dataset by stating it behind the database name, separated by an escaped greater-than symbol. Example: |
defaultQuery
|
<filter query> |
Use this (optional) variable to filter all |
detailfields
|
<field list> |
Use the detailfields variable to specify the fields you wish to see in the detailed display of the search result. To retrieve all fields, use the * wild card. For optimal performance of wwwopac.ashx it is definitely recommended to provide only the detailfields which you intend to actually use. Example 1: <detailfields> <field>lead_word</field> <field>title</field> <field>author.name</field> <field>corporate_author</field> <field>illustrator.name</field> </detailfields>Example 2: <detailfields> <field>*</field> </detailfields> From wwwopac.ashx version 3.6.327.0 it is possible to nest field nodes of linked fields, to retrieve data of your choice from linked records. This way you can even obtain data from records linked in the second or third degree. Using nesting field nodes does change the XML structure of linked fields in the required The old wwwopac.exe An optional attribute to the |
facetFields
|
<field list> |
Use the optional facetFields variable to limit the number of facets returned in the search result when requested in the URL. Facets are values found in one or more specific fields in the records of the search result, which are listed below the search result. The limit attribute is mandatory. For example:
<facetFields> <field limit="25">creator</field> <field limit="10">production.date.end</field> </facetFields> |
resolveLinks
|
true or false |
POST of data to theWebAPI without resolving links, e.g. for synchronizing databases, is possible from WebAPI version 3.6.2.2880. To this end, the Boolean option <resolveLinks> (set it to true or false ) can be added to the <databaseConfiguration> section only. (It can’t be set at <groupConfiguration> or <globalConfiguration> level.) Set it to false to suppress the resolving of links so that data is retrieved as is. This works for the insertrecord , writerecord and updaterecord commands. When set to true , or by omitting the option from the configuration, links will be resolved (as it is the default behaviour). |
searchfields
|
<field list> |
Use the searchFields variable to allow for a simple search option which is configured here on the server side. On the client you only to need specify a query with the syntax q=<seach_key> . This query must not be preceded by search= and you cannot (Boolean) combine it with another search. This simple search will search for the search key in all fields listed in this section, with an implicit OR relation: a record will be included in the search result if the search key appears in at least one of the search fields. The following is an example of a searchFields section:<searchFields> <field>title</field> <field>creator</field> <field>object_category</field> </searchFields> Prior to wwwopac.ashx version 3.7.14202.1, <searchFields truncation="true"> <field>title</field> <field>creator</field> <field>object_category</field> </searchFields> For optimal performance of wwwopac.ashx it is definitely recommended to provide only a limited number of search fields. This is because each field to search will take up some processing time, so searching many fields could lower performance. It is also possible (from wwwopac.ashx version of October 2016) to specify multiple <searchFields id="descriptions"> <field>title</field> <field>description</field> </searchFields> <searchFields id="objectnames"> <field>object_name</field> <field>object_category</field> </searchFields>On the client you need to include the id to specify which searchFields specification you'd like to search, e.g.: q=paint&id=descriptions |
styleSheet
|
<XSLT file name>
|
Use this variable to specify your own XSLT stylesheet which the WebAPI must always use with search and q commands to transform the returned XML result from searches in the current database. This way you can use the WebAPI to automatically transform Axiell (Adlib) XML to another type of XML if that other type is more convenient for your WebAPI application, or you can transform the XML to HTML or any other text format if you like. Provide the full file name for this option, including the file extension, for example: <styleSheet>Marc21.xslt</styleSheet> You can also (or solely) use the styleSheet element inside a detailfields or brieffields element if the transformation for those fields must be different. The output type of your transformation is specified with the <xsl:output method="html" indent="yes"/> statement, in which the method attribute can have the following values: “html”, “xml” or “text”. In some older versions of wwwopac.ashx though, it didn't set the mime type of the actual output according to these settings, so the output was always “text/xml” causing the browser to always interpret the result as XML. In the current wwwopac.ashx version, the transformation method used in the stylesheet is recognized by wwwopac.ashx and the mime type of the output is set accordingly: “Text/Xml” for “xml”, “Text/Html” for “html”, “Text/Plain” for “text”. This allows the browser to correctly render the transformed result.Note that these stylesheets are loaded at application start-up time to prevent unnecessary loading and compiling of the stylesheets. This means that you will have to restart the application (e.g. by recycling its application pool) to use a modified stylesheet. This variable is available from wwwopac.ashx version 3.6.1173.0. You need wwwopac.ashx version 3.7.15343.1 or higher if you'd like to use a custom XSLT stylesheet only to add one or more (compound) fields to the resulting XML while maintaining the Axiell AdlibXML format (this is required) and you wish to output it as JSON (using the output=json WebAPI command). Prior to this wwwopac.ashx version, output to JSON disregarded any custom stylesheet you had set. You can use this functionality if you want to output to JSON and you need some compounded field data, like an extra field containing the ISBD presentation of a publication, to be part of that output before it is processed any further. |
writeAllowed
|
True or False |
Use this variable to indicate whether writing and deleting of records are in principle allowed in this database. Further user authentication can be applied in other ways, to determine which users have which access rights. Example: <writeAllowed>True</writeAllowed> If this variable is not present in the adlibweb.xml file at all, then writing or deleting records is not possible. Also see the documentation about the global cacheMode setting, for related information.
|
In each databaseConfiguration
section, you specify one database. A database alias is assigned as a database
attribute to the databaseConfiguration
node. In only one of the databaseConfiguration
nodes you may choose to include the default="true"
attribute as well. Having a default database configuration means that you have the option to omit the database
parameter from wwwopac.ashx queries: this will automatically search the default database. Below you can see an example of two database configurations in the same adlibweb.xml file:
<databaseConfiguration database="MyMuseumDB" default="true"> <database>collect>intern</database> <writeAllowed>True</writeAllowed> <brieffields> <field>object_number</field> <field>title</field> <field>creator</field> <field>label.text</field> <field>administration_name</field> <field>reproduction.reference</field> </brieffields> <detailfields> <field>*</field> </detailfields> </databaseConfiguration>
<databaseConfiguration database="MyLibraryDB"> <database>document</database> <writeAllowed>False</writeAllowed> <brieffields> <field>*</field> </brieffields> <detailfields> <field>*</field> </detailfields> </databaseConfiguration>
If you want to create multiple <databaseConfiguration>
sections that must have identical <brieffields>
and <detailfields>
listings (as would be the case for the library books, audio-visuals, articles and serials datasets, for instance), there's no need to repeat these listings per <databaseConfiguration>
. Instead, you can define one (or more) <groupConfiguration>
sections in which you list all detail and brief fields. By adding the identifier of the proper <groupConfiguration>
as a groups
attribute to each <databaseConfiguration>
, you include the field lists implicitly. Here's how it would look:
<groupConfiguration group="defaultLibrary"> <brieffields> <field>lead_word</field> <field>title</field> <field>author.name</field> <field>copy.number</field> <field>shelf_mark</field> <field>digital_reference</field> ... </brieffields> <detailfields> <field>lead_word</field> <field>title</field> <field>author.name</field> <field>corporate_author</field> <field>illustrator.name</field> <field>edition</field> ... </detailfields> </groupConfiguration>
<databaseConfiguration database="fullCatalogue" groups="defaultLibrary"> <database>document>fullcatalogue</database> </databaseConfiguration> <databaseConfiguration database="Books" groups="defaultLibrary"> <database>document>book</database> </databaseConfiguration> <databaseConfiguration database="audioVisuals" groups="defaultLibrary"> <database>document>avm</database> </databaseConfiguration> ...
In the imageServerConfiguration
group in adlibweb.xml, the image handling functionality of wwwopac.ashx must be configured. The following options are available to you:
Configuration options |
Possible values |
Meaning |
cachePath
|
<path> |
specifies the network path (UNC) to the folder in which all images resized by wwwopac.ashx
will be stored*; a local file system path is possible as well, but only if this cache folder is located on the same server as wwwopac.ashx, or has been mapped as drive on this server. * The wwwopac.ashx does not resize the images to be retrieved for every request, but reduces or enlarges the image only when first requested, and then saves the result in a cache folder so that for a following identical request the next time a ready-made resized image can be retrieved. (Images retrieved using a URL as their id won't be cached.) |
database
|
<database name> | specifies the SQL Server Axiell Collections database from which images must be retrieved (this applies only if images aren’t stored in the file system). |
defaultImage
|
<image file name> |
specifies the image file which will be retrieved from path , if the link to a requested image in a record is broken. This avoids an error message for the broken link. The default image could represent a missing image symbol, for example. |
folderMappingList
|
<folder mappings> |
If you wish to use a single image server within an enterprise environment where the different branches have their own application and images folder and their own reproductions dataset within a larger, common reproductions database, then specify a <folderMappingList> here, containing a <folderMapping> for every reproductions dataset the enterprise has. Each <folderMapping> must contain a <lowerLimit> and <upperLimit> to indicate the record number range of the particular reproductions dataset (although this range doesn't need to coincide with a specified dataset per se), and a <folder> node specifying the relative path to a branch-specific folder containing the images, relative to the path set in the <path> variable of this image server configuration. For example:<folderMappingList> <folderMapping> <lowerLimit>1</lowerLimit> <upperLimit>10000000</upperLimit> <folder>OurBranchImages-01\</folder> </folderMapping> <folderMapping> <lowerLimit>10000001</lowerLimit> <upperLimit>20000000</upperLimit> <folder>OurBranchImages-02\</folder> </folderMapping> <folderMapping> <lowerLimit>20000001</lowerLimit> <upperLimit>30000000</upperLimit> <folder>OurBranchImages-03\</folder> </folderMapping> </folderMappingList>To identify one of the folder mappings in a wwwopac.ashx getcontent call, use its folderId parameter and provide the record number of the relevant reproduction record as the id. It will be matched with the proper record number range automatically.This functionality is available from October 2016. |
ignoreScaleVideo
|
true or false |
When set to true this will make sure that the GetContent command ignores any image file specific arguments (like height, width, scalemode etc.) if the currently retrieved media file is not of an image type. Especially for the fixed retrieval path options in Designer it is handy to be able to specify image scaling arguments even though sometimes other media files will be linked in the same field. If a requested media file cannot be found at all, the WebAPI first attempts to load an image with the same file name/id but with file extension .jpg. It that failes, the system tries to load the default image set in the <defaultImage> option. If that fails too, an exception is thrown.
|
imageOverlayBlend
|
<1-100> |
If images in the (detailed) presentation of records are displayed so large that it may become tempting for visitors of your website to copy the images and possibly reproduce them without taking the copyrights into account, it may be desirable to apply a watermark or copyright notice to all those images when they are displayed. Since you probably do not want to change the images themselves, there is the possibility to have your images automatically watermarked on display in the web browser, by overlaying each image from a record with an image of a watermark or copyright notice, made more or less transparent and with a custom size and position relative to the underlying image from the record. The settings described below offer many possibilities. (The image of the watermark or the copyright notice is called an “overlay” here.)
Note that these settings can only be made in adlibweb.xml and not in CGI strings (to prevent watermarking from being switched off through the command-line in the web browser). For the imageOverlayBlend, enter de extent of opacity of the overlay: with a percentage of 100 the overlay is completely opaque, while a low percentage makes the overlay almost completely transparent. |
imageOverlayFile
|
<file name> |
Provide (the path and) the file name of the image that you want to use as the overlay. If you want to use a relative path, take the relative path with respect to your \data folder. Example: <imageoverlayfile>..\imgs\copyright.jpg</imageoverlayfile> |
imageOverlayMinPixelSize
|
<number of pixels> | If you only want to use the overlay for large images, not for small images or thumbnails, then through this setting you can provide the minimum size (in the total number of pixels) that an underlying image to be displayed must have, before an overlay will be applied. The original size of the image to be retrieved is not important, only the size in which that image will be displayed in the detailed or brief presentation. Provide the total number of pixels through an integer number. If you enter 0 (default value), the overlay will always be applied. Suppose you only want to use your overlay for images that are larger than the thumbnails of them in the brief presentations. If your thumbnails are 10x10 pixels, you’ll have to provide a value of 101 for the currently described setting. To displayed images of for instance 5x75 or 250x200 pixels, the overlay will then be applied, but not to images of for example 8x9 or 10x10 pixels. |
imageOverlayPercentage
|
<1-100> | With this option you determine the relative size of the overlay with respect to the underlying image. Choose 0 (the default value) if the overlay size must never be adjusted to the size of the underlying image. Choose a value (percentage) between 1 and 100 to have the overlay resized with respect to the size of the image to be displayed underneath. With 100 the overlay will get the same size as the smallest dimension of the image; with every lower value the overlay will be made proportionally smaller than that image. The overlay image is resized by maintaining the aspect ratio of the overlay image: the overlay image is not stretched nor tiled over the source image, so it may not cover the entire underlaying image. Then it’s positioned relative to the top right corner of the source image. |
imageOverlayPosition
|
<0-4> | With the five possible values you determine the position of the overlay with respect to the underlying image (because the overlay might be smaller): 0= top left, 1 = top right, 2 = bottom right, 3 = bottom left, and 4 = centered. |
ImagePlugin
|
See the Media plugins section for the available documentation on how to set
up an image plugin for a DAMS server. (Note that for current wwwopac.ashx versions the <ImagePlugin> element and it sub elements start with an upper case letter I, while prior to version 3.6.13151 the <imagePlugin> element began with a lower case letter i.) |
|
maxHeight
maxWidth
|
<integer> |
Use these settings to limit the delivery size of high resolution originals, by specifying the maximum height and width in pixels. Limiting the delivery size of images can be important because of copyright issues and web server performance considerations. If an image is requested without width and height (i.e. the original) then the image is returned within the rectangle that has been specified within maxHeight and maxWidth .
If an image is requested with a size specification that is larger than specified with the maxHeight and maxWidth settings, the image will be resized until it fits the maximum rectangle whilst maintaining the original aspect ratio.
If these options are not set in the adlibweb.xml, then from WebAPI version 3.0.21307.1 it will assume maximum values of 1000 pixels for both by default for performance and security reasons.
|
password
|
<password> |
specifies the
password with which, in combination with
username ,
the images in a SQL database can be accessed via wwwopac.ashx. A
password is
optional.It concerns the same
username
and
password
which have been set in SQL Server, for making a connection to the
database. |
path
|
<path> |
specifies the
network path (UNC) to the main images folder** (this applies only
if your images have been stored in the file system, not in a
SQL database); a local file system path is possible as well, but only
if this folder is located on the same server as wwwopac.ashx, or has
been mapped as drive on this server. You cannot leave this setting empty: above instruction is valid as well if your reproduction records already contain a full or partial path to an image. Minimally, a UNC path should be of the form \\server\share . |
server
|
<server name> | specifies the server on which your Axiell Collections SQL database can be found. |
servertype
|
MsSql
|
specifies the storage system (SQL, Oracle (no longer supported) or the file system), from which images must be retrieved. |
Oracle
|
||
FileSystem
|
||
username
|
<user name> |
specifies the name
with which, in combination with
password ,
the images in a SQL database can be accessed via wwwopac.ashx. A
username is
optional.It concerns the same
username
and
password
which have been set in SQL Server, for making a connection to the
database. |
writeContentAllowed
|
True or False |
Use this variable to indicate whether the writing of image files (using the writecontent command) is allowed by this image server. Example: <writeContentAllowed>False</writeContentAllowed> The variable can be set in individual imageServerConfiguration sections as well as in the globalConfiguration section. If it has only been set in the globalConfiguration section, it applies to all defined image servers, whilst if it has been set in both an imageServerConfiguration and the globalConfiguration , then the imageServerConfiguration setting takes precedence over the one in the globalConfiguration .
|
zoomifyPath
|
<path> |
specifies the path in which Zoomify files will be stored if you use the zoomify=true parameter with the writecontent command. |
** Grouping your images in sub folders
Normally, you will store all your images in a single folder. There is usually no need to structure your images folder into sub folders because with Axiell Collections you search images by means of their metadata, not their physical location. A single images folder also allows you to write images to it easily, because the user doesn't need to know anything about any subdivisions of the folder. In some situations though, you may want the images to be grouped in sub folders anyway, because someone needs to be able to find and edit them outside of Axiell Collections. In that case, and if you are not going to be writing images to these sub folders using the Axiell WebAPI, a hierarchical images folder is an option: the folder on your network which contains images linked to Axiell Collections records, can indeed have sub folders also containing images, so you'll be able to group images of certain types in their own sub folders with Windows Explorer or with image processing software. For wwwopac.ashx to be able to retrieve images from any of the images folders, the following conditions must be met:
- There must be one main images folder. This folder may have multiple sub folders on multiple levels, all containing images.
- In adlibweb.xml, the <path> node in the <imageServerConfiguration> must contain the physical path to the main images folder. For example:
<path>d:\www.ourmuseum.com\AxiellWebAPI\backend\Images</path>
- The Retrieval path property*** of the image field in de data dictionary must contain a call to wwwopac.ashx, like for instance:
http://www.ourmuseum.com/Axiell/wwwopac.ashx?command=getcontent&server=adlibimages&value=%data%
- The image field in a record may contain a partial path to an image file, like transport/cars/cabrio.jpg.
When the WebAPI retrieves a record, the full path to the linked image will be put together by adding the partial path plus file name from the image field to the physical path set in adlibweb.xml. With the full path, the image can be retrieved by wwwopac.ashx.
The sub folder structure is also maintained in the image cache(s).
*** The Retrieval path option can be found on the Image properties tab of the image field in the images database (e.g. PHOTO or MEDIA), in the Application Browser in Axiell Designer.
Multiple image server configurations
You may include multiple imageServerConfiguration
sections in your adlibweb.xml file, for instance one for
internal users who are allowed to retrieve images without watermark,
and one for external users for whom all images must be watermarked.
User name and password for the FileSystem server type?
By the way, the options for user name and password, and for the database and server, do not apply if you set the servertype to FileSystem (in case your images are stored in the file system), and these are ignored because of that if they appear in the configuration anyway. So then you don’t have to comment those options out.