2019-02-26: release Axiell Collections 1.4

Today we release the fourth update of Axiell Collections 1, offering the bug fixes and new functionality described below.

2019-02-26: relevant bug fixes since 2019-01-17

Short problem description

Before-screen adapls weren't executed. The fix makes sure they are now executed with the following &1 values:
9 (before input): when creating a new record
4 (before edit): when editing an existing record
1 (before display): when displaying a record

The date picker for a suppressed date field was still visible.

Unexpected behaviour when the parts (nt) field was filled in a location record.

The ADAPL reccopy function would only copy non-linked fields.

Missing file error (from feedback link definition) when adding prefered term and saving record.

The priref was not exported when using Export to Excel. It only worked when using .csv export.

When for certain application pool identities a password change from within Collections failed, you would get the raw HTML code for the error message.

Screen conditions with merged-in fields didn't work.

Sorting on numerically indexed fields was not possible and generated an error.

After a search, the number of found records was not displayed if it was less than 40.

Moving locations in the Hierarchy browser didn't always work well.

The ADAPL reccopy function seemed to write the copied record to the source database instead of the destination database.

After-field adapls were not executed because &1 didn't contain the value 21.

Navigating (by clicking an underlined value in a linked field) to the full detailed display of an internally linked record was not possible when no (data dictionary) zoom screen had been defined. The fix makes sure that for internal links this navigation is always to the detailed presentation, even when there is a zoom screen defined.

Rows did not get removed from a table grid after selecting the row delete option.

It was not possible to save the record when editing a field in a table grid.

It was not possible to save the record when inserting a new value in a table grid for the first record only.

Access rights for a role defined in a user's database record were not actually applied to that user.

A storage path defined in an image field included in a dataset wasn't used, instead the storage path of the regular field definition was used.

Zoom screen definitions in a screen field were ignored.

The Collections import function didn't add extra field occurrences when in the .csv file there were multiple columns for the same field.

When in the Result set view, hitting the Enter key on a row, appeared to put that row into edit mode.

If during login a network domain was omitted in front of the user name, Collections assumed the domain of the user that the application pool was running under. The fix makes sure that if no domain is supplied, the rules are:
1. The domain that the machine is joined to is assumed.
2. If the machine isn't joined to a domain, then the domain of the application pool user is assumed.
3. Collections attempts to log on using the supplied credentials and the domain assumptions above.
4. If the above credentials fail then this would normally be an authentication failure. However, if the optional DomainUsersOnly setting has been set to false then Collections tries to locate the user on the local machine.

An HTML field in a zoom screen was appearing as a normal text field and HTML tags were displaying as text values.

The Hierarchy browser could not display a hierarchy when the first occurrence of a relevant hierarchically linked field was empty.

A non-indexed date field was not searchable.

The import function in Collections didn't seem to import all fields and shifted some others into wrong fields.

Read-only application fields sometimes had a working upload button displayed.

Clicking an empty application field returned Error 404 - File or directory not found.

An output format of type Raw gave error "Collection was modified; enumeration operation may not execute."

The ADAPL onscreen function wasn't supported yet.

A Collections import would stop after 2787 records.

In the Result set view, merged-in enumerated list fields would display their stored (neutral) value instead of the user-friendly translation.

Vertical scroll bars in a table grid did not work.

The Find data for the field window could become non-responsive if you scrolled down the list several times.

Suppress conditions for labels without field weren't working.

It was impossible to print to a Word Template when the processed record  contained an image that was retrieved from a Picturae DAMS. An "Extension" error was generated.

Field properties option on time field in Change location window returned error: Parameter with index 2 is missing.

Navigating to the last record of a large result set didn't display the last part of the record set in the Result set view.

A zoom/edit screen didn't allow record editing when opened from a table grid.

The presentation format of date fields was ignored in the Find data for the field window.

No downward hierarchy available in the Find data for field window when selecting a new location in the Change location window.

The number of shown terms in the Find data for the field window was limited (not all terms were shown).

A specific output format would generate a Specified cast is not valid error.

Error 8 (internal error) when running the Change location task on a specific object.

Invalid field data error for date fields with date picker in table grid.

It wasn't possible to create a new record as part of another, in the Hierarchy browser view.

ADAPL system variable &6[7] (current data source) wasn't recognised.

2019-02-04: redesign of expand functionality for searching

The implementation of the Expand option/operator for standard and advanced searching, as introduced in Collections 1.0, has been changed because the old implementation caused some confusion. Previously this option could be used to find records of which any of the parents (or grandparents etc.) or the record itself contained the search key. The new implementation does the same but excludes records of which any of the closer parents (or grandparents etc.) or the record itself contain a different value in the searched field. In other words: if a field in a top parent record contains a value x and in some lower part of the hierarchy the field contains a value y, then in the old situation an expanded search on x would yield the entire hierarchy underneath (and including) the top parent while in the new situation the partial hierarchy underneath (and including) the record with value y will be excluded from that search result.

Example of the new implementation: let's say we have a hierarchical film database to register details about films on four possible levels: work, variant, manifestation and item. Some work record has the title Men from Mars. To prevent redundant duplication of data in child records, the title field has been made an inherited field, so all variants, their manifestations and their items will show the same title once you open their records, while the title isn't actually stored in all those child records. However, for one of the variants we changed the title to Creatures from Mars. Let's also assume this hierarchy consists of ten records, hierarchically linked as follows:


(inh. means that the title is inherited and is not actually stored in the record.)

Suppose we have two relevant access points on the Standard search tab, one for the level and one for the title. Make sure the And option has been marked. To find records:

1, 3, 7, 8 and 9, search expanded (with the Expand option marked) on title (Equals) Men from Mars (because only those records have a parent or grandparent with that title, or contain the title themselves, while no record in between has a different title);
2, 4, 5, 6 and 10, search expanded on title Creatures from Mars (because they all have a parent or grandparent with that title, or contain the title themselves);
10, search expanded on level item And title Creatures from Mars (because it's the only item with a grandparent with that title);
8 and 9, search expanded on level item And title Men from Mars (because only those items have a grand-grandparent with that title);
7, search expanded on level manifestation And title Men from Mars (because it's the only manifestation with a grandparent with that title).

Note that with the marked And and Expand options, the search results would be exactly the same if the title field was not an inherited field and left empty in records 3, 4, 5, 6, 7, 8, 9 and 10, because the search would only look at fields in which a value has been stored, so for this functionality a field with inherited data is the same as an empty field. Only records 1 and 2 contain a stored title.
Also note that in the standard search the Expand option is applied to each search key before the Boolean And operator is applied. So in some of the examples above one also searches expanded on level equals item or level equals manifestation, but it has no negative impact on the search result because the field is never empty and each level has its own value.

Please see the full topic on the Expand operator for more information.

2019-01-17: relevant bug fixes since release 1.3 (2018-09-24)

Short problem description

Variable domains weren't working in Axiell Collections.

Changing the status of a workflow job returned a message about an invalid date format.

In workflow jobs, ISO date fields with the European data presentation format were still presented as ISO dates.

Access rights to zoom screens in Collections weren't always handled properly.

In Microsoft Edge, the Collections top toolbar was missing all icons.

Suppress conditions for fields were ignored when the field group was displayed as a grid view.

If you used connect entities (Links) to link the current record to a record that happened to be locked, the linking process would freeze.

It was no longer possible to add a value from the object type field to the Collections Clipboard.

The result set grouping bar didn't work as expected.

Default values were only entered for the first occurrence of a field.

When the status of a workflow task was set to in progress and then to finished, the status of the following tasks would not change to in progress when the button was clicked.

In the workflow preferences.xml it wasn't possible to specify a dataset in the <WorkFlowDataPreference> node.

Access rights for method type Create new records were ignored.

The scrollbar in a grid display for a repeated group, didn't work properly when the record was in edit mode.

The result set didn't show all records from a search in Objects from all museums.

After performing a successful search in data source x, performing an unsuccesful search in data source y, would return the user to data source x.

Locations selected on the View hierarchy tab when validating a field value were not copied to all screen fields associated with the linked field.

After undocking the hierarchy view, it was no longer possible to open child records by clicking on them.

Properties of saved searches weren't completely visible.

After not saving a new record it was still visible in the Record details view and could even be edited.

A context field was only updated on saving the record, not after selecting a (different) term.

Using connect entities, it wasn't possible to select multiple destination records.

Search-and-replace could be opened for a record in edit mode.

Logging in with an existing user name and a bad password generated a "user not found" message instead of "bad user name or password".

Searching for an empty field in a specific data language and replacing it with a value didn't work.

Clicking an e-mail address with 'mailto:' in front of it, didn't open a new e-mail in the primary e-mail program.

Clicking the Create term button didn't close the Find data for the field window.

Using bulk create it was impossible to add a second occurrence to a field.

The Result set record highlighting wasn't updated when navigating to another record in the list from within the Record details view.

Searching in linked fields wasn't allowed if the user had no access rights to the data source (defined in the adlib.pbk) belonging to the linked-to-database.

In some browsers, images in the Gallery view were stretched horizontally.

Clearing the search field in the Find data for the field window, immediately re-inserted the removed text.

Adding a field occurrence didn't work in a grid display of the field group in the Record details view.

A linked, repeatable field could be repeated or deleted in read-only mode.

Changing the occurrence order of a grouped set of fields in an existing record failed.

Data wasn't presented correctly in a grid display in the Record details view.

The Saved searches tab in the Search <data source> window had a re-run button while the Manage saved searches dialog didn't.

The auto-complete drop-down list for access points on linked fields wasn't updated after using the backspace key to delete typed characters.

In workflow the adapl function user$ returned the IIS user name (application pool) instead of the name of the logged in user.

A Write Next statement in an adapl produced an error 8.

Screen/field conditions weren't always respected by Axiell Collections.

When in the workflow the status of a task was changed to in progress or finished, the screen would be refreshed but the task highlighted would be the top one and not the one you were working on.

Of task adapls, only the last errorm was ever displayed.

When the Find data for the field window is closed for a non-existing term, the linked field could be left without the Find data for the field window being opened again.

Clicking the Save button directly after selecting a value for a linked field didn't save the record.

After deletion of a record, the Result set and Record details views weren't updated.

Using Bulk create, prirefs for records that can't be created due to a duplicate key were not re-used later.

Linked multilingual fields did not display invariant language values in grey.

In ADAPL, the priref of a FACS record that had just been written, was not returned.

Adding a field group occurrence didn't work in a grid display in the Record details view.

A combined search using AND and the “is not empty” and “does not equal” operators gave incorrect results.

An error message arose while creating/linking records between different entities via the meta data table.

An end date qualifier needed selecting twice to get it entered into the field.

A condition for a screen field to make it read-only wasn't working.

ISO dates (yyyy-mm-dd) with the European presentation format (dd/mm/yyyy) were displayed as dd-mm-yyyy.

Records couldn't be found when searching on the complete title with the equals operator.

Clicking Cancel or the "x" icon in the Search and replace dialog would cause an error.

Read-only access rights for brief screens didn't work.

The location context wasn't displayed.

The related records view didn't use the order of relations as set by the user.

Enumerative data in the hierarchy browser was always in English, even when the interface language was set to a different language.

In Workflow when a record is put in edit mode and there are mandatory fields, but nothing has been changed, the record could be saved without a warning about the mandatory fields.

Error message at renewed login into application with Workflow component.

Advanced searching on an empty value didn't work.

The settings for the Hierarchy browser view didn't include the option to show pseudonyms as well.

The import function wasn't working anymore.

If during search and replace you deselected one of the found occurrences in the Confirm replacement window, then the replace action was applied to that occurrence anyway.

Dragging the scroll bar slider down in a detail screen table grid resulted in strange behaviour.

An attempt to search and replace in a write-once field generated an incorrect error message.

Adding an image to a reproduction record didn't register as a change, so clicking the Edit icon didn't ask you if your changes needed saving (and didn't save them).

Media viewer zooming was inconsistent.

Partial dates ending with a hyphen were automatically removed from the field.

When adding a reproduction to a media record, the file name briefly showed in the reproduction reference field, after which the field would be empty again.

Merged fields remained filled after the linked field was cleared.

The first time you added an image to an object record it failed.

The Save icon needed to be clicked twice to save a new record.

When in the workflow the status of a task was changed to in progress or finished, the refresh button needed to be clicked to see the next task.

The date picker icon would still be visible when the date field was hidden because of a field condition.

In a ISO date field with European presentation format in the workflow, the slashes were replaced by hyphens.

There was an error message when creating a workflow job.

The Collections clipboard couldn't show more than 6 fields and scrolling wasn't possible.

An error message from an adapl was not displayed in workflow.

In workflow it wasn't possible to add a second occurrence of a repeated field.

In some cases, the Hierachy browser wouldn't open and Collections would display an error message.

Objects linked to existing exhibitions could not be deleted.

Deleting a record generated a message like: Error deleting record 1000175. Tag '' not found. And the record was not deleted.

Filling some specific linked fields with a value from the suggestion list returned the message: Invalid field data (). Use format .

Dates selected from the calendar gave an error message about a wrong format.

Error when exporting records to Adlib XML (grouped or unstructured).

A storage adapl was not executed.

Metadata link data was only viewable from within one entity.

Labels were not correctly shown in a table grid on a detail screen.

If the index for an internally linked lookup field was set to alphanumeric, linking was not possible anymore.

Error in Collections when a field was not multilingual.

Values of merged-in enumerative fields were not shown.

The Collections clipboard retained its data too long.

Collections was automatically filling the term field in a zoom screen.

Scrolling to the bottom of the Result set, deactivated the Delete icon.

Labels for conditional fields were not displayed.

Error checking for date fields was disabled.

2019-01-15: a right-click pop-up menu for record fields

In display or edit mode in the Record details view, you can now right-click any entry field to open a pop-up menu. This menu contains the Copy field, Paste field and Edit multilingual texts options that you already know from the context toolbar above this view and their functionality is exactly the same: it's just a quicker way to access these options. The History option is new: see the release notes topic below for more information about that.


The Properties option was a previously hidden option, but it can be very useful. It shows you the real field name (from the database definition), its field tag behind it, the number of currently filled occurrences, the data type of the field, whether it's multilingual or not, to which data dictionary field group it belongs (if any) and the data itself currently present in the field.


2019-01-15: auditing the record change history

Once set up for a database (using Axiell Designer 7.6, see its release notes), Axiell Collections will start storing every change you make to a record in that database: that means every change in earlier stored field data, the entry of field data in empty fields and also the addition or deletion of field occurrences, so that anyone can check previous changes to the record at any time, to correct an error maybe or to see who registered certain values. A new Record history icon will be present in the Result set context toolbar if this functionality has been switched on:


Simply select a record which you'd like to audit and click the icon to open the Record history window. This window lists all field names (and their associated tags) that actually have or have had content. Per field, by default all subsequent stored changes are listed below each other, showing the Field name, Date and Time of the change and the name of the User who made the change. To see the actual data change, click the little arrow pointing right, just to the left of the date you are interested in. The row will fold out and show the data change. For example, in the screenshot below we've opened the oldest log row for field name bar_code, of date and time 2019-01-15, 16:24. We can see that previously there was no data in occurrence 1 of this field but upon storing the record on this date and time, user erik had entered a new value in this field. A + sign in front of an occurrence number means the occurrence has been filled or added, a - sign means the occurrence has been removed or emptied. (For multilingual fields, the Language column would show a language code.)


To close the row you may click the little arrow again or click the arrow in front of another row. If we click the latest row for the field bar_code, we can observe that the same user changed the earlier entered and stored barcode half an hour later to a new value (see screenshot below).
If you're interested in getting the old value back, then select the relevant value by dragging the mouse cursor over it while keeping the left mouse button pressed down and then use the Windows right-click pop-up menu or Ctrl+C to copy the white selection of the value to the Windows clipboard. After closing this window, you can paste that value anywhere in a record in edit mode.


To limit the length of the displayed list, it is split up in pages. In the left lower corner of the window you can use the pager buttons to switch to other pages.
You may also notice some fields that you haven't made any manual changes too. These are mostly management details fields which are filled and changed automatically by a storage procedure.

Further, the window offers the same sorting and grouping options for the displayed list as the Result set does. So you may sort up or down on the Field name, Date, Time and User columns and group on one or more of these columns. The default grouping on Field name is handy to get the subsequent changes in a single field listed directly below each other, as we showed in the example above, but you can remove this grouping as well or group on different columns.

Instead of auditing the entire record contents, you may also choose to check the history of a single field. That way you won't have to know the field tags by heart either. In display or edit mode, simply right-click the relevant field and select History from the new Collections pop-up menu.


Now the Field history window opens, identical to the Record history window, but showing just the history of the active field.


2019-01-04: drop-down lists in the main menu

The display of drop-down lists in the main menu on the left has changed. A little arrow pointing downward, next to a menu item, indicates a drop-down list. The Language switch option still offers al list of available interface languages, while the new Account item groups three options: Settings, Change password and Log out.




2019-01-04: the Change password option

The Change password option in the Account drop-down in the main menu on the left, allows you to change the password with which you log into Collections (and into Windows as well if you are using Active Directory credentials to log in). It will only be available for authentication providers that support this: currently this functionality is only supported for Active Directory and Adlib Database authentication.


The Change password dialog which opens after clicking the Change password option, has three entry fields:

Current password: enter your current Collections password to validate it;
New password: enter your new password;
Confirm new password: enter the same new password again, just to be sure you made no typos.

You'll be notified of the success or failure of the password change and you don't need to log out/log in again to make the change effective.

2019-01-04: the Report viewer

The new Report viewer offers an alternative and/or extended display of data from the currently selected record and any additional data. At the top of the display you'll find a drop-down list containing one or more reports which can be selected to change the displayed report type accordingly. The Report viewer can be opened or closed using the Report viewer icon in the top toolbar: however, this icon and the view itself are present only if one or more so-called inline report types have been set up in the current data source by your application manager.


Inline report types are also available via the normal Output formats functionality for printing and can operate on multiple records if run this way.


2018-12-17: the Missions functionality


In combination with an Axiell Collections Museum application, the separately licensed Axiell Move supports the logistic process of movements of (packed or bare) objects in museums or archives. On top of that, Axiell Move Premium has extra functionality for so-called missions: missions are bundles of move or pack tasks called mission items, assignable to specific co-workers and enabling a manager to plan and distribute the work to be done with Axiell Move. So a mission is really like an incidental job that consists of multiple smaller tasks. A mission item record therefor specifies a singular action and its momentary status - the moving of a certain package to a particular location or the packing of a particular object - while a mission record links to one or more mission item records, specifying the due date, assignee and overall mission status and such.

To actually start working with this functionality, your application needs to have been adapted: a Missions and Mission items data source must have been added, as well as their associated databases and screens. See the latest version of the Axiell Move 3.0 for iPhone manual for more information about that.

Once your application is ready, you'll notice a new option at the top of the main menu on the left in Collections: Axiell Move. It is in fact a shortcut to displaying a Missions result set (showing a fixed selection of fields) containing all registered missions and a Record details view that simply displays the details of the currently selected mission. In the Record details you can view, edit or copy existing missions or create new ones.
Above the result set you can see four Mission actions icons to respectively bulk create any number of missions at once, link to multiple new or existing mission items (the search result only shows mission items that aren't linked to a mission yet), assign a mission to yourself or delete a selected mission. Most registration of missions and their items can be done in this overview, but as soon as you have lots of missions or mission items, you may find it easier to access these records from their respective data sources, which you can search and work with like any other data source. (It depends on your implementation where in the data sources list you can find these data sources.)


So in the Mission items data source you may create a new record, edit existing ones and have all normal Collections functionality at your disposal. Every Mission item record must at least have:

a Mission item ID: any unique code you find applicable;
a Type of action: pack, move or unpack;
a Status (initialized, to do, in progress, finished, aborted and not possible): only to do will make the mission item appear in Axiell Move on the tracker);
a Mission ID: a link to a parent mission record;
the Object number of the linked object or the Container barcode of the linked container - you have to choose either one - to which this task should apply;
the barcode of either the intended Destination location or Destination container.


The Missions data source that harbours the parent records for the mission items offers all normal Collections functionality as well. Each Mission record will automatically get an ID (its record number actually) as soon as you save the record. Before you save it though, you should at least enter:

a Due date: when the mission is supposed to be finished;
a Status for the whole mission (initialized, under construction, ready for download, downloaded, started, completed, aborted): ready for download is required for the mission to be downloadable onto the Axiell Move tracker and this status will automatically be changed to downloaded by Axiell Move when the mission has actually been downloaded by a co-worker;
a Description to identify this mission more easily in the result set;
the Axiell Move user name of the co-worker assigned to this mission in Assigned to (this field is currently not validated) or an * if you'd like the mission to be visible to all and downloadable by any co-worker in Axiell Move.
one or more IDs of mission items that you'd like to link to this mission.


Read-only fields in either data source are filled in by relevant actions in Axiell Move. The status of a mission or mission item may also be changed automatically by Axiell Move, but can be entered or edited manually as well. For example: the mission status will automatically be set to completed once all associated mission items have been dealt with.

2018-12-05: clipboard functionality introduced

The clipboard icon's drop-down menu in the Record details context toolbar can be opened by hovering the mouse cursor over the Clipboard functions group icon.
The Collections clipboard works independently from the Windows clipboard and you can use it in edit mode to copy the contents of one or more fields and (maybe in some other record) paste that data to the fields from which they were copied. With the Copy field to clipboard option you copy the data from the currently active field occurrence to the clipboard. Use the Paste field from clipboard option to paste only that particular value from the clipboard in the currently active field, that was copied from the same field. For example: only if you copied a value from e.g. the Object name field earlier and the cursor is currently in the Object name field again, will the Paste field from clipboard option paste the relevant value in this field. For the Paste all fields from clipboard option, on the other hand, it doesn't matter what the currently active field is: it will paste all data from the clipboard to their respective fields of origin.
The Show clipboard option finally, opens the clipboard for you, so you can check which data it contains and possibly clear all its contents at once.

The visible content of the clipboard always pertains to all data sources of the same database, so the clipboard contents in object data sources is not visible in library data sources and vice versa, for example, while it remains in memory still. All clipboard content remains persistent during your active user session and will only be lost when logging out.