ContainerReferences property

Build 1501 on 14/Nov/2017  This topic last edited on: 22/Mar/2016, at 16:29

Description

Specifies a list of database object attributes that reference a container - this is used by the MonitorReferencing option to determine which containers to monitor.

Examples

An example configuration would be:

<BaseQuery Name="CollectionShell" 

  ObjectTypeName="archiveObject" 

  ContainerReferences="archiveObject.archives" 

  RefreshOptions="MonitorAll RefreshOnAlert" >

The above will monitor the listed archiveObjects for changes in the object itself, the checkin/checkout status and also the contents of any archive object specified in the search criteria that generates the results. The archive container is implied by the ContainerReferencesValue archiveObject.archives that references an archive.

If any of the above alerts match, the listing is automatically refreshed (RefreshOnAlert).

Another example:

<BaseQuery Name="AllContentShell" 

  ObjectTypeName="folderObject"   

  ContainerReferences="folderObject.folderRef" 

  RefreshOptions="MonitorAll IndicateOnAlert">

The above monitors a the contents of the listing and also changes in the related folder (as implied by folderObject.folderRef) and displays a visual indication on a matching alert (IndicateOnAlert).

For Monitor, a visual indicator is displayed when a relevant alert is received. For Autorefresh, the listing is automatically refreshed and a visual indicator raised if the listing is hidden indicating that it has been refreshed.

The last example only monitors checkin/checkout values:

<BaseQuery Name="CategoryShell"

  ObjectTypeName="folderObject"

  RefreshOptions="MonitorCheckInCheckOut">

The MonitorCheckInCheckOut values does not requires an action such as IndicateOnAlert because this alert updates the object directly and a visual indication will be displayed in the listing.

If the RefreshOptions is not specified the default is RefreshOnInternalAlert that will refresh the listing in response to internal alerts generated by RaiseInternalAlert, see http://forum.teradp.com/topic.asp?TOPIC_ID=603. Internal alerts are generated by AddIn commands to cause listings to refresh after an operation such as editing an object has taken place.

When Autorefresh has been set on a listing, there is a blue triangle displayed in the listing's tab:

alertindicator

If the listing is automatically refreshed and the listing is not the current listing, the blue triangle will swing from side to side until the listing is selected.

When Monitor has been set on a listing, there is a green triangle displayed in the listing's tab:

201147122353_monitor

If an alert triggers the monitored listing, the green triangle will swing from side to side and the contents of the 113_Refresh_16 refresh button rotate until the user manually refreshes the listing.

If an alert triggers on a listing that isn't visible, the blue triangle appears on the label of the main tab and will disappear once the listing has been selected:

201147122916_autorefreshhidden

CheckIn/CheckOut events are raised and will update the display automatically without the need for a refresh. In order to do this, a special binding in the directory style must be used:

  <l:CheckOutIcon 

    ObjectId="{Binding Path=[folderObject.id]}" 

    CheckOutInfo="{Binding Path=CheckOutInfo}"

    AllowForce="True" UseAutoSelect="True" />

For listings in navigators, no indicator is visible. If the listing has RefreshOnAlert an impacting alert will simply refresh the listing. If the listing has IndicateOnAlert, the 113_Refresh_16 refresh button will contain a rotating refresh symbol indicating that the listing has changed.

See also

RefreshOptions