Bundles

Intro

Bundles are elements that can be placed on UI screens, included in search forms or displays. They can be attributes of a specific element set or database fields intrinsic to a specific item type. Bundles can be functional elements that allow cataloguers to establish relationships between items, add and remove items from sets and manage an item’s location in a larger hierarchy. Bundles are so named because they are essentially black-boxes that encapsulate various functionality.

Below is a break down of the bundle classes and the properties that are particular to each type.

Bundle type Also known as Description Example
Basic bundle Administrative bundle, Intrinsic bundle Always present regardless of configuration. Single data entry; does not repeat. access
Relationship bundle Related table Bundles that create relationships between items. ca_objects
Label bundles Name or Title bundle Human-readable short descriptions used for display to identify a record. preferred_labels
Attribute bundles Metadata element Any field created by a user. ca_attribute_elementcode
Special bundles   Bundles that allow a cataloger to manage an item’s locations in, for example, sets and hierarchies hierarchy_location

User interface Settings

There are several settings that can be used to configure all bundles, regardless of type, when they are placed on a user interface screen.

Settings Description Default Values
label Custom label text to use for this placement of this bundle.    
add_label Custom text to use for the add button for the placement of this bundle.    
description Descriptive text to use for help for bundle. Will override descriptive text set for underlying metadata element, if set. Make sure to include a locale specification, i.e. <setting name=”description” locale=”en_US”>XXX</setting>    
readonly If checked, field will not be editable. 0 (not read only) 0 or 1
expand_collapse_value (Available for v1.5) Controls the expand/collapse behavior when there is at least one value present. While technically available for most bundles, the setting might have no effect for some of the “special” bundles. They have extra settings, see below. dont_force (default behavior = save expand/collapse state when the user changes it) dont_force, collapse, expand
expand_collapse_no_value (Available for v1.5) Controls the expand/collapse behavior when there is no value present. While technically available for most bundles, the setting might have no effect for some of the “special” bundles. They have extra settings, see below. dont_force (default behavior = save expand/collapse state when the user changes it) dont_force, collapse, expand

However, there are type-specific settings as well, outlined below.

         
Bundle type Settings Description Default Values
Special (hierarchy_location and hierarchy_navigation only) open_hierarchy If checked hierarchy browser will be open when form loads. 1 (open) 0 or 1
Special (hierarchy_location and hierarchy_navigation only) auto_shrink If enabled hierarchy browser will shrink to height of contents. Version 1.5 and later. 1 (shrink) 0 or 1
Special (hierarchy_location, hierarchy_navigation and ca_objects_history only) expand_collapse Controls the expand/collapse behavior for this bundle. dont_force (default behavior = save expand/collapse state when the user changes it) dont_force, collapse, expand
Relationship (ca_list_items only) restrict_to_lists Restricts display to items from the specified list(s). Leave all unselected for no restriction.   list code
Relationship (ca_list_items, ca_storage_locations, ca_places only) useHierarchicalBrowser If set a hierarchy browser will be used to select the related item rather than an auto-completing text field. 0 0 or 1
Relationship (ca_list_items, ca_storage_locations, ca_places only) hierarchicalBrowserHeight The height of the hierarchical browser displayed when theuseHierarchicalBrowser option is set. 200px A pixel dimension ending with ‘px’ (eg. 500px)
Relationship (ca_objects) restrictToTermsRelatedToCollection Will restrict checklist to those terms applied to related collections. 0 0 or 1
Relationship (ca_objects) restrictToTermsOnCollectionWithRelationshipType Will restrict checklist to terms related to collections with the specified relationship type. Leave all unselected for no restriction.   type code
Relationship (ca_objects) restrictToTermsOnCollectionUseRelationshipType Specifies the relationship used to relate collection-restricted terms to this object. (Required if usingrestrictToTermsRelatedToCollection)   type code
Relationship restrict_to_relationship_types Restricts display to items related using the specified relationship type(s). Leave all unselected for no restriction.   type code
Relationship restrict_to_types Restricts display to items of the specified type(s). Leave all unselected for no restriction.   type code
Relationship dont_include_subtypes_in_type_restriction Normally restricting to type(s) automatically includes all sub-(child) types. If this option is checked then the lookup results will include items with the selected type(s) only 0 0 or 1
Relationship list_format Format of relationship list. bubbles bubbles or list
Relationship dontShowDeleteButton If checked the delete relationship control will not be provided. 0 0 or 1
Relationship minRelationshipsPerRow Sets the minimum number of relationships that must be catalogued to save. empty numeric value
Relationship maxRelationshipsPerRow Sets the maximum number of relationships that must be catalogued to save. empty numeric value
Relationship display_template Layout for relationship when displayed in list (can include HTML). Element code tags prefixed with the ^ character can be used to represent the value in the template. For example: ^my_element_code. ^preferred_labels Uses thebundle display template syntax
Relationship colorFirstItem If set first item in list will use this color.    
Relationship colorLastItem If set last item in list will use this color.    
Relationship or Attribute sort Method used to sort related items. For attributes: use target element code for sort without table or container path i.e. dates_value NOT ca_objects.date.dates_value. To sort on order created do not use the sort setting at all, use only sortDirection. For relationships: use the target element code for sort WITH full table/container path. Use relation_id to set to order created.  
Relationship or Attribute sortDirection Direction of sort, when not in a user-specified order. ASC ASC or DESC
Attribute or Label usewysiwygeditor Check this option if you want to use a word-processor like editor with this text field. If you expect users to enter rich text (italic, bold, underline) then you might want to enable this.   0 or 1
Attribute or Label width Width of the placement on the UI   pixels or characters
Attribute or Label height Height of the placement on the UI   pixels or characters
Relationship or Label documentation_url A documentation link for the bundle   URL
Special (ca_objects_history) full list of settings here The Object Use History bundle has many settings. See the included link for a full list.    

Here’s an example of how some of the settings above would look at the code-level in an xml profile:

<placement code="ca_film">
  <bundle>ca_objects</bundle>
       <settings>
         <setting name="restrict_to_types">film</setting>
         <setting name="label" locale="en_US">Related films</setting>
         <setting name="add_label" locale="en_US">Add film</setting>
       </settings>
</placement>

Display Settings

From /app/models/ca_bundle_displays.php

Global display settings:

Settings Description Default Values
show_empty_values If checked all values will be displayed, whether there is content for them or not. 1 0 or 1

Bundle display settings for all types:

Settings Description Default Values
label Custom label text to use for this placement of this bundle.   Text

Type-specific bundle display settings:

Bundle type Settings Description Default Values
Label, Attribute, Relationship delimiter Text to place in-between repeating values.    
Label, Attribute format Template used to format output.    
Label, Attribute maximum_length Maximum length, in characters, of displayed information. 100 Characters
Relationship makeEditorLink If set name of related item will be displayed as a link to edit the item. 0 (not a link) 0 or 1
Relationship restrict_to_relationship_types Restricts display to items related using the specified relationship type(s). Leave all unselected for no restriction.   type code
Relationship restrict_to_types Restricts display to items of the specified type(s). Leave all unselected for no restriction.   type code
Relationship show_hierarchy If checked the full hierarchical path will be shown. 1 (full hierarchy shown) 0 or 1
Relationship remove_first_items If set to a non-zero value, the specified number of items at the top of the hierarchy will be omitted. For example, if set to 2, the root and first child of the hierarchy will be omitted. 0 Integers zero or greater based on hierarchy
Relationship hierarchy_order Determines order in which hierarchy is displayed.   ASC (top first) DESC (bottom first)
Attribute show_empty_values If checked all values will be displayed, whether there is content for them or not. 1 0 or 1
Attribute filter Expression to filter values with. Leave blank if you do not wish to filter values.   ^ca_objects.dimensions.Type IN (“with_frame”)

Search Form Settings

Regardless of type, bundles can take the follow setting when they are used in search forms.

Settings Description Default Values
label Custom label text to use for this placement of this bundle.   Text
width Width, in pixels, of search form elements. 100px A pixel dimension ending with ‘px’ (eg. 500px)