app.conf¶
General configuration of CollectiveAccess is controlled by the app.conf configuration file.
Structure¶
To make editing app.conf a bit more manageable, the file is broken up into several sections grouping related options: menus, disable switches, hierarchies, titles and identifiers, search, features, access control, styling, mapping, defaults, media, administration and esoterica (things you probably won’t ever need to change). For sections where a separate configuration file is also available (Eg. search.conf and the search section) the app.conf section controls only high-level options, while the file handles detailed configuration.
WHAT: This is the main application configuration file for Providence, designed so that users can easy manage various system-wide settings in one convenient location.
WHEN TO CUSTOMIZE: App.conf handles most customizations that are not controlled through the UI or profile (with the notable exceptions of: browse, id number configurations, and additional settings for dates, media and search). This document is broken into the following sections: Disable, Hierarchies, Titles & Ids, Search, Feature Settings, Access Control, Styling, Mapping, System Defaults, Media, Admin Configuration and Export.
Disable¶
Turn off (or on) various features and database areas.
Editor “disable” switches¶
If you’re not using certain editors in your system (you don’t catalogue places for example) you can disable the menu items for them by setting the various *_disable directives below to a non-zero value
ca_objects_disable = 0
ca_entities_disable = 0
ca_places_disable = 0
ca_occurrences_disable = 0
ca_collections_disable = 0
ca_object_lots_disable = 0
ca_storage_locations_disable = 0
ca_loans_disable = 0
ca_movements_disable = 1
ca_tours_disable = 1
ca_tour_stops_disable = 1
ca_object_representations_disable = 1
QuickAdd disable switches¶
ca_objects_disable_quickadd = 0
ca_entities_disable_quickadd = 0
ca_places_disable_quickadd = 0
ca_occurrences_disable_quickadd = 0
ca_collections_disable_quickadd = 0
ca_object_lots_disable_quickadd = 0
ca_storage_locations_disable_quickadd = 0
ca_loans_disable_quickadd = 0
ca_movements_disable_quickadd = 0
Disable “Add new <object> to lot”¶
(in the object lot editor inspector)
disable_add_object_to_lot_inspector_controls = 0
Show “add child record” control in editor inspector?¶
ca_objects_show_add_child_control_in_inspector = 0
ca_entities_show_add_child_control_in_inspector = 0
ca_places_show_add_child_control_in_inspector = 1
ca_occurrences_show_add_child_control_in_inspector = 0
ca_collections_show_add_child_control_in_inspector = 1
ca_storage_locations_show_add_child_control_in_inspector = 1
ca_loans_show_add_child_control_in_inspector = 0
ca_movements_show_add_child_control_in_inspector = 0
ca_tour_stops_show_add_child_control_in_inspector = 0
Set duplication disable¶
If you want to disable the ability to duplicate all items in a set across the board set this
ca_sets_disable_duplication_of_items = 0
Set type controls¶
enable_set_type_controls = 0
Hierarchies¶
Settings for hierarchical properties and display.
Strict type hierarchies¶
When fully enabled, top-level records may only be created with top-level types, and sub-records may only be created with types that are direct sub-types of the parent’s type. This ensures conformance with the type hierarchy. So if you have an object type hierarchy like this:
- Book
- Page
- Figure
Frontspiece
… then top-level records can only be of type “Book.” Sub-records of books may only be “Page” or “Frontspiece”; and sub-records of “Page” can be “Figure.” “Frontspiece” may not take sub-records.
We partially enabled, top-level records may only be created with top-level types, but sub-records may be of any type below the top-level type, not just direct sub-types. In the example above, the sub-records of a “book” can be of type “Page”, “Figure” or Frontspiece; sub-records of a “Page” may be only of type “Figure.”
When disabled, all types are allowed anywhere.
The type hierarchy behavior can be independently for each type of hierarchical record. Set to 1 to fully enable, 0 to disable and ~ (tilde character) to partially enable restrictions.
ca_objects_enforce_strict_type_hierarchy = 0
ca_entities_enforce_strict_type_hierarchy = 0
ca_places_enforce_strict_type_hierarchy = 0
ca_occurrences_enforce_strict_type_hierarchy = 0
ca_collections_enforce_strict_type_hierarchy = 0
ca_storage_locations_enforce_strict_type_hierarchy = 0
ca_loans_enforce_strict_type_hierarchy = 0
ca_tour_stops_enforce_strict_type_hierarchy = 0
ca_list_items_enforce_strict_type_hierarchy = 0
Hierarchy browser items¶
ca_objects_hierarchy_browser_display_settings = ^ca_objects.preferred_labels.name (^ca_objects.idno)
ca_object_lots_hierarchy_browser_display_settings = ^ca_object_lots.preferred_labels (^ca_object_lots.idno_stub)
ca_entities_hierarchy_browser_display_settings = ^ca_entities.preferred_labels (^ca_entities.idno)
ca_places_hierarchy_browser_display_settings = ^ca_places.preferred_labels (^ca_places.idno)
ca_occurrences_hierarchy_browser_display_settings = ^ca_occurrences.preferred_labels (^ca_occurrences.idno)
ca_collections_hierarchy_browser_display_settings = ^ca_collections.preferred_labels (^ca_collections.idno)
ca_list_hierarchy_browser_display_settings = ^ca_lists.preferred_labels.name (^ca_lists.list_code)
ca_list_items_hierarchy_browser_display_settings = ^ca_list_items.preferred_labels.name_plural (^ca_list_items.idno)
ca_storage_locations_hierarchy_browser_display_settings = ^ca_storage_locations.preferred_labels (^ca_storage_locations.idno)
ca_tour_stops_hierarchy_browser_display_settings = ^ca_tour_stops.preferred_labels (^ca_tour_stops.idno)
ca_relationship_types_hierarchy_browser_display_settings = ^ca_relationship_types.preferred_labels (^ca_relationship_types.type_code)
ca_loans_hierarchy_browser_display_settings = ^ca_loans.preferred_labels (^ca_loans.idno)
ca_movements_hierarchy_browser_display_settings = ^ca_movements.preferred_labels (^ca_movements.idno)
ca_objects_hierarchy_browser_sort_values = [ca_objects.idno_sort]
ca_objects_hierarchy_browser_sort_direction = asc
ca_object_lots_hierarchy_browser_sort_values = [ca_object_lots.idno_stub_sort]
ca_object_lots_hierarchy_browser_sort_direction = asc
ca_entities_hierarchy_browser_sort_values = [ca_entities.preferred_labels.surname, ca_entities.preferred_labels.forename]
ca_entities_hierarchy_browser_sort_direction = asc
ca_places_hierarchy_browser_sort_values = [ca_places.rank, ca_places.preferred_labels.name_sort]
ca_places_hierarchy_browser_sort_direction = asc
ca_occurrences_hierarchy_browser_sort_values = [ca_occurrences.preferred_labels.name_sort]
ca_occurrences_hierarchy_browser_sort_direction = asc
ca_collections_hierarchy_browser_sort_values = [ca_collections.rank, ca_collections.preferred_labels.name_sort]
ca_collections_hierarchy_browser_sort_direction = asc
ca_list_items_hierarchy_browser_sort_values = [ca_list_items.preferred_labels.name_sort_plural]
ca_list_items_hierarchy_browser_sort_direction = asc
ca_list_items_hierarchy_browser_disabled_items_mode = disabled
ca_storage_locations_hierarchy_browser_sort_values = [ca_storage_locations.rank, ca_storage_locations.preferred_labels.name_sort]
ca_storage_locations_hierarchy_browser_sort_direction = asc
ca_storage_locations_hierarchy_browser_disabled_items_mode = disabled
ca_tour_stops_hierarchy_browser_sort_values = [ca_tour_stops.preferred_labels.name_sort]
ca_tour_stops_hierarchy_browser_sort_direction = asc
ca_relationship_types_hierarchy_browser_sort_values = [ca_relationship_types.preferred_labels.typename]
ca_relationship_types_hierarchy_browser_sort_direction = asc
ca_loans_hierarchy_browser_sort_values = [ca_loans.preferred_labels.name_sort]
ca_loans_hierarchy_browser_sort_direction = asc
ca_movements_hierarchy_browser_sort_values = [ca_movements.preferred_labels.name_sort]
ca_movements_hierarchy_browser_sort_direction = asc
Collection hierarchies on the Summary screen¶
The summary screen includes a visual hierarchy by default for hierarchical collections. Use these directives to set the sort value for the hierarchical display, as well as the display template used for format data. If nothing is set below the system will default to the settings outlined in ca_collections_hierarchy_browser_sort_values.
ca_collections_hierarchy_summary_display_settings =
ca_collections_hierarchy_summary_sort_values =
ca_objects_hierarchy_summary_display_settings =
ca_collections_hierarchy_summary_show_full_object_hierarachy = 0
Show/Hide hierarchy root (Storage Locations & Places)¶
Hide hierarchy root for storage locations or places in New and Find screens Note that if you haven’t added any items to the hierarchies yet, enabling this might prevent you from doing so (because you can’t select a parent).
ca_storage_locations_hierarchy_browser_hide_root = 0
ca_places_locations_hierarchy_browser_hide_root = 0
Show/Hide child records in search/browse results¶
Normally all results, regardless of their position in a hierarchy are displayed in search/browse results. Set this option for alternative policies. Possible settings are:
Setting |
Description |
Allowed values |
Required? |
Default |
Synonyms |
---|---|---|---|---|---|
<table>_children_display_mode_in_results |
Normally all results, regardless of their position in a hierarchy are displayed in search/browse results. This option enables alternative policies, including permanent suppression and user-controlled filtering of child record. This option can be used with any primary table. |
show = show all results by default; allow user to filter children if they wish hide = hide all child records (those that are not at the top of their hierarchy) by default; allow user to remove filtering if desired alwaysShow = show all results; do not allow filtering alwaysHide = hide all child records; do not allow the user to disable filtering |
No |
alwaysShow |
“alwaysShow” is the default.
While this option may be set for any table, it is typically used only for objects.
ca_objects_children_display_mode_in_results = alwaysShow
Enable display of collections and objects as a single hierarchy¶
ca_objects_x_collections_hierarchy_enabled = 1
ca_objects_x_collections_hierarchy_relationship_type =
ca_objects_x_collections_hierarchy_disable_object_collection_idno_inheritance =
Titles + IDs¶
Set whether or not titles and identifiers are required and unique.
Require input id number value to conform to format? (0=no, 1=yes)¶
require_valid_id_number_for_ca_objects = 0
require_valid_id_number_for_ca_object_lots = 0
require_valid_id_number_for_ca_entities = 1
require_valid_id_number_for_ca_places = 1
require_valid_id_number_for_ca_collections = 1
require_valid_id_number_for_ca_occurrences = 1
require_valid_id_number_for_ca_loans = 0
require_valid_id_number_for_ca_movements = 0
require_valid_id_number_for_ca_tours = 0
require_valid_id_number_for_ca_tour_stops = 0
require_valid_id_number_for_ca_object_representations = 0
require_valid_id_number_for_ca_storage_locations = 0
Allow dupe id numbers? (0=no, 1=yes)¶
allow_duplicate_id_number_for_ca_objects = 1
allow_duplicate_id_number_for_ca_object_lots = 1
allow_duplicate_id_number_for_ca_entities = 1
allow_duplicate_id_number_for_ca_places = 1
allow_duplicate_id_number_for_ca_collections= 1
allow_duplicate_id_number_for_ca_occurrences= 1
allow_duplicate_id_number_for_ca_list_items= 1
allow_duplicate_id_number_for_ca_loans= 0
allow_duplicate_id_number_for_ca_movements= 0
allow_duplicate_id_number_for_ca_tours= 0
allow_duplicate_id_number_for_ca_tour_stops= 0
allow_duplicate_id_number_for_ca_object_representations = 1
allow_duplicate_id_number_for_ca_storage_locations = 1
Allow dupe labels? (0=no, 1=yes)¶
If set to no, then atttempting to save records with a label already in use by another record will fail
allow_duplicate_labels_for_ca_objects = 1
allow_duplicate_labels_for_ca_object_lots = 1
allow_duplicate_labels_for_ca_entities = 0
allow_duplicate_labels_for_ca_places = 1
allow_duplicate_labels_for_ca_collections= 0
allow_duplicate_labels_for_ca_occurrences= 0
allow_duplicate_labels_for_ca_storage_locations= 1
allow_duplicate_labels_for_ca_list_items= 1
allow_duplicate_labels_for_ca_loans = 1
allow_duplicate_labels_for_ca_movements= 1
allow_duplicate_labels_for_ca_object_representations= 1
allow_duplicate_labels_for_ca_relationship_types= 1
allow_duplicate_labels_for_ca_set_items= 1
allow_duplicate_labels_for_ca_search_forms= 1
allow_duplicate_labels_for_ca_bundle_displays= 1
allow_duplicate_labels_for_ca_metadata_alert_rules = 1
allow_duplicate_labels_for_ca_editor_uis= 1
allow_duplicate_labels_for_ca_editor_ui_screens= 1
allow_duplicate_labels_for_ca_tours= 1
allow_duplicate_labels_for_ca_tour_stops= 1
Entity dupe name?¶
Set this to 1 if you want to display a warning when a new entity with a name that already exists (preferred or nonpreferred) is about to be created
ca_entities_warn_when_preferred_label_exists = 0
Require preferred label? (0=no, 1=yes)¶
If set to yes, then attempting to save records without a preferred label will fail. If set to no (default) then attempting to save a record without a preferred label will automatically set the preferred label to “[BLANK]”
require_preferred_label_for_ca_objects = 0
require_preferred_label_for_ca_object_lots = 0
require_preferred_label_for_ca_entities = 0
require_preferred_label_for_ca_places = 0
require_preferred_label_for_ca_collections = 0
require_preferred_label_for_ca_occurrences = 0
require_preferred_label_for_ca_storage_locations = 0
require_preferred_label_for_ca_list_items = 0
require_preferred_label_for_ca_loans = 0
require_preferred_label_for_ca_movements = 0
require_preferred_label_for_ca_object_representations = 0
require_preferred_label_for_ca_relationship_types = 0
require_preferred_label_for_ca_set_items = 0
require_preferred_label_for_ca_search_forms = 0
require_preferred_label_for_ca_bundle_displays = 0
require_preferred_label_for_ca_editor_uis = 0
require_preferred_label_for_ca_editor_ui_screens = 0
require_preferred_label_for_ca_tours = 0
require_preferred_label_for_ca_tour_stops = 0
Require preferred label value be present in a list¶
If set to a valid list code then any entered label value must match a preferred label for an item in that list.
preferred_label_for_ca_objects_must_be_in_list =
preferred_label_for_ca_object_lots_must_be_in_list =
preferred_label_for_ca_entities_must_be_in_list =
preferred_label_for_ca_places_must_be_in_list =
preferred_label_for_ca_collections_must_be_in_list =
preferred_label_for_ca_occurrences_must_be_in_list =
preferred_label_for_ca_storage_locations_must_be_in_list =
preferred_label_for_ca_list_items_must_be_in_list =
preferred_label_for_ca_loans_must_be_in_list =
preferred_label_for_ca_movements_must_be_in_list =
preferred_label_for_ca_object_representations_must_be_in_list =
preferred_label_for_ca_relationship_types_must_be_in_list =
preferred_label_for_ca_set_items_must_be_in_list =
preferred_label_for_ca_search_forms_must_be_in_list =
preferred_label_for_ca_bundle_displays_must_be_in_list =
preferred_label_for_ca_editor_uis_must_be_in_list =
preferred_label_for_ca_editor_ui_screens_must_be_in_list =
preferred_label_for_ca_tours_must_be_in_list =
preferred_label_for_ca_tour_stops_must_be_in_list =
Allow automated renumbering objects with lot idno + sequence number?¶
(when object number don’t conform to that format)
If you’re managing lots with related object-level records and the lot and object numbering get out of sync (because you change the lot number after the fact, for example) then this can be useful. But it can also be dangerous in the sense that letting cataloguers renumber sets of objects at a click may not be the idea. Only enable this if you need it. Keep in mind that the automated renumbering format is fixed at lot <lot identifier> + <separator> + <sequential number starting from one>. So if your lot number is 2010.10 and your separator is ‘.’, then objects will be numbered 2010.10.1, 2010.10.2, 2010.10.3, etc.
allow_automated_renumbering_of_objects_in_a_lot = 0
Label-less objects¶
If you don’t want to specify preferred labels for objects set this to a non-zero value This can be useful for collections where individual items lack working names, such as in paleontology.
ca_objects_dont_use_labels = 0
Label-specific sort¶
Set to assume a specific language when generating sortable titles regardless of the locale set for the title. This can be useful when content has been entered specific (or accurate) locale settings. The value can be a specific locale (Ex. “en_US”) or a language code (Ex. “en”)
use_locale_for_sortable_titles =
Search¶
Search engine configuration¶
search_engine_plugin = SqlSearch
Quicksearch - order and results (“live” search in search box in header)¶
What sorts of results does Quicksearch return? List table names here to include them in the search, in the order they should appear. This is only the default display configuration, which can be overriden by user preferences. Syntax is ca_table/type, i.e ca_objects/video
quicksearch_default_results = [ca_objects, ca_entities, ca_places, ca_occurrences, ca_collections, ca_object_lots, ca_storage_locations, ca_loans, ca_movements, ca_tours, ca_tour_stops]
Quicksearch - break out by type?¶
What table types are broken out in the result list? Syntax is list within square brackets, i.e [ca_objects, ca_entities]
quicksearch_breakout_by_type =
Restrict facets shown to specific facet groups?
<table_name>_browse_facet_group limits facets on the main browse landing page
<table_name>_refine_facet_group limits facets in the "refine" browse on detail pages
<table_name>_search_refine_facet_group limits facets in the "refine" browse on search results
ca_objects_browse_facet_group = main
ca_objects_refine_facet_group = refine
ca_objects_search_refine_facet_group = refine
One table search¶
If set to a controller in the “find” module, will use that for quicksearch rather than the regular “Quicksearch” controller. This is useful for having the Quicksearch operate on a single table
one_table_search =
Out of process search indexing¶
Switch to disable out of process search indexing
disable_out_of_process_search_indexing = 0
Hostname to use when triggering out of process indexing By default the site hostname configured in setup.php is used but you can override it here if the hostname resolvable on the server differs from that used for incoming requests out_of_process_search_indexing_hostname =
Features¶
Settings related to various features such as: location tracking, deaccessioning, WorldCat, check in/check out and more.
Location tracking options¶
Direct object-location reference storage location tracking (also set this for movement-based storage location tracking)
object_storage_location_tracking_relationship_type =
Movement-based storage location tracking¶
movement_storage_location_tracking_relationship_type =
movement_object_tracking_relationship_type =
record_movement_information_when_moving_storage_location = 0
movement_storage_location_date_element =
Deaccession options¶
deaccession_force_access_private = 1
deaccession_dont_allow_editing = 0
deaccession_use_disposal_date = 1
Library-style check-out of objects¶
enable_library_services = 0
enable_object_checkout = 0
User generated content¶
enable_user_generated_content = 1
ResourceSpace import¶
The ResourceSpace data importer allows records and media to be imported from a ResourceSpace Installation The importer connects using a username and API Key that is unique to that user and can be found in the edit user page under the Admin > Manage Users tab in ResourceSapce
Also required is the base URL for your ResourceSpace installation which all API calls are based on This should be your root url + /api/
resourcespace_apis = {
EXAMPLE_CARE_SYSTEM = {
resourcespace_label = ,
resourcespace_base_api_url = ,
resourcespace_user =
}
}
WorldCat import¶
The data importer can access OCLC WorldCat via either their web service API or Z39.50 service. Using the web service API requires that PHP be installed with libCURL support. Using Z39.50 requires that PHP be built with libyaz support (http://www.indexdata.com/yaz). Many PHP installations have libCURL installed by default; most do not have libyaz installed.
The importer will connect ia Z39.50 if a username and password are configured below and libyaz is available, otherwise the web service API will be used as a fallback, assuming a valid API key is configured below and libCURL is available.
worldcat_api_key = MY_WORLDCAT_API_KEY
worldcat_z39.50_user =
worldcat_z39.50_password =
Optionally mark WorldCat items already present in system using ISBN To enable set “worlcat_isbn_element_code” to the ca_objects metadata element code containing the ISBN code for the book. worlcat_isbn_element_code =
Display template used to format “ISBN present” message. Evaluated relative to the existing object. You can use standard display template codes (eg. ^ca_objects.idno) to display details about the match.
worlcat_isbn_exists_template = <span class="caWorldCatExistingObjectIcon"><l><i class="fa fa-external-link" aria-hidden="true"></i></span></l>
Template formatting the “key” displayed below WorldCat query results. Use this to define any icons used in the “worlcat_isbn_exists_template”
worlcat_isbn_exists_key = <div class="caWorldCatExistingObjectKey"><i class="fa fa-external-link" aria-hidden="true"></i> = Previously imported</div>
Taxonomy web services¶
To access the uBio taxonomic name service (http://www.ubio.org) via a ‘Taxonomy’ attribute you must enter your uBio API keycode here If you don’t care about taxonomy (or even know what is it) then leave this as-is
ubio_keycode = enter_your_keycode_here
Flickr API¶
flickr_api_key =
“Rich text” (aka. wysiwyg) editor options¶
You can read more about available text editor options here: http://docs.cksource.com/CKEditor_4.x/Developers_Guide/Toolbar
Defines options available in the toolbar
wysiwyg_editor_toolbar = {
formatting = [Bold, Italic, Underline, Strike, -, Subscript, Superscript, Font, FontSize, TextColor],
lists = [-, NumberedList, BulletedList, Outdent, Indent, Blockquote],
links = [Link, Unlink, Anchor],
misc = [SelectAll, Undo, Redo, -, Source, Maximize, Image, CALink]
}
Defines options available in the toolbar
wysiwyg_content_editor_toolbar = {
formatting = [Bold, Italic, Underline, Strike, -, Subscript, Superscript, Font, FontSize, TextColor],
lists = [-, NumberedList, BulletedList, Outdent, Indent, Blockquote],
links = [Link, Unlink, Anchor],
misc = [SelectAll, Undo, Redo, -, Source, Maximize, Media, CALink]
}
Enable dependent field visibility feature¶
See Dependent Field Visibility for more information.
enable_dependent_field_visibility = 0
Global template values (Pawtucket content management)¶
Globals are text values that may be set in the Pawtucket web UI and substituted into any view template, including headers and footers. Values defined here will be editable in the “Global Values Editor” (available to users with the can_edit_theme_global_values priv) and usable in templates under their name (Eg. {{{operating_hours}}} in the example below).
Options controlling how the editor displays the value may be set for each global. Width and height control the size of the element; usewysiwygeditor enables a “wysiwyg” rich text editor for formatted text.
global_template_values = {
hours_of_operation = {
name = Hours of operation,
description = List current operating hours here,
width = 600px,
height = 150px,
usewysiwygeditor = 0
}
}
Site page templates (Pawtucket content management)¶
Allow PHP code in content-managed site pages
By default only value tags in the form {{{tag-name}}} are allowed in Pawtucket site page templates. If you need the flexibility and power afforded by direct embedding of PHP code in your templates set this option to a non-zero value. Note that enabling this option will allow execution of ANY code embedded in the template on EVERY page load. Depending upon your point of view this is either a feature or a security hole. It doesn’t have to be a problem, but keep it in mind…
Note that this setting only affects page previews in Providence. To allow PHP code execution in Pawtucket you must also set this option in your theme.
allow_php_in_site_page_templates = 0
Access Control¶
Structural mechanisms that control who can see what, and how (optional).
Bundle-level access control¶
default_bundle_access_level = __CA_BUNDLE_ACCESS_EDIT__
Type-level access control¶
perform_type_access_checking = 0
default_type_access_level = __CA_BUNDLE_ACCESS_EDIT__
Source-level access control¶
perform_source_access_checking = 0
default_source_access_level = __CA_BUNDLE_ACCESS_EDIT__
Item-level access control¶
perform_item_level_access_checking = 0
default_item_access_level = __CA_ACL_EDIT_DELETE_ACCESS__
You can control item-level access control support for each type of item using these directives
ca_objects_dont_do_item_level_access_control = 0
ca_object_lots_dont_do_item_level_access_control = 0
ca_entities_dont_do_item_level_access_control = 0
ca_places_dont_do_item_level_access_control = 0
ca_occurrences_dont_do_item_level_access_control = 0
ca_collections_dont_do_item_level_access_control = 0
ca_lists_dont_do_item_level_access_control = 0
ca_list_items_dont_do_item_level_access_control = 0
ca_loans_dont_do_item_level_access_control = 0
ca_movements_dont_do_item_level_access_control = 0
ca_object_representations_dont_do_item_level_access_control = 0
ca_representation_annotations_dont_do_item_level_access_control = 0
ca_storage_locations_dont_do_item_level_access_control = 0
ca_tours_dont_do_item_level_access_control = 0
ca_tour_stops_dont_do_item_level_access_control = 0
- Defaults for collection-to-object ACL inheritance settings
Set to 1 to make default to inherit; 0 for default to be no inheritance
ca_collections_acl_inherit_from_parent_default = 0
ca_objects_acl_inherit_from_ca_collections_default = 0
ca_objects_acl_inherit_from_parent_default = 0
Administrator¶
User_id to consider “administrator” - not subject to access control measures. By default, user_id=1 is considered administrator for convenience and compatbility with older installations. You can make any user_id “administrator” if you want, however, if disable this completely by setting it to a blank value.
administrator_user_id = 1
email user when account is activated in Manage > Access control?
email_user_when_account_activated = 0
Set Access¶
If you want all users to see all sets regardless of ownership or access control set this to one (Yes, some people apparently want to do this)
ca_sets_all_users_see_all_sets = 0
“Access” inheritance¶
Allows child records to receive the “access” field value of their immediate parent. This can be useful when you generally want child record access to mirror that of the parent, but with occasional cataloguer-defined exceptions
Currently only supported for ca_objects
ca_objects_allow_access_inheritance = 0
Default inheritance status for newly created ca_objects records
ca_objects_access_inheritance_default = 1
Styling¶
Controls for visual elements such as logos, colors, etc. within the application and exported reports and labels
Theme configuration¶
To display your logo in the menu bar, upload it to the graphics/logos/ folder in the Default theme directory and enter the filename below. For the best results, your logo must not exceed 45 pixels in height. To change the menu color, enter the six digit HTML color code below and omit the leading ‘’ sign.
header_img = menu_logo.png
menu_color = ffffff
footer_color = ffffff
login_logo = ca_logo.png
Search Result Reporting configuration¶
To display your logo at the top of a PDF report, upload it to the graphics/logos/ folder in all themes directory and enter the filename below. To change the header color (report_color) and header text color (report_text_color), enter the six digit HTML color code below and omit the leading ‘’ sign.
report_header_enabled = 1
report_img = menu_logo.png
report_color = FFFFFF
report_text_color = 000000
The following options control what additional information can be printed on your PDF reports. Enter a non-zero value to include the following information.
report_show_timestamp = 1
report_show_number_results = 1
report_representation_version = preview
report_show_search_term = 1
Record PDF Summary configuration¶
To display your logo at the top of a PDF report, upload it to the graphics/logos/ folder in all themes directory and enter the filename below. To change the header color (summary_color) and header text color (summary_text_color), enter the six digit HTML color code below and omit the leading ‘’ sign.
summary_header_enabled = 1
summary_page_numbers = 1
summary_footer_enabled = 1
summary_img = ca_wide.png
summary_color = FFFFFF
summary_text_color = 000000
summary_footer_color = FFFFFF
summary_footer_text_color = 000000
The following options control what additional information can be printed on your PDF summary. Enter a non-zero value to include the following information.
summary_show_identifier = 1
summary_show_timestamp = 1
/* Image path for icon to display when no image is available in thumbnail view */ /* Image must be uploaded to graphics/buttons in your theme folder */
no_image_icon = glyphicons_138_picture.png
Print labels (ie. stickers)¶
As of CollectiveAccess version 1.5 a new label generator is available that is easier to configure and customize. The new generator uses HTML/CSS to specify the layout of label formats, unlike the old system which uses a set of complex configuration files. Any existing label formats you wish to use with the new generator must be completely reimplemented. There is no automated conversion process.
Set this if you want a dashed border around all printed labels
add_print_label_borders = 0
Annotation options¶
element code of ca_representation_annotation list metadata element that should be used to classify and color code annotations
annotation_class_element =
Additional theme¶
theme to use when user is not logged in (when they’re logged in their preferred theme is used)
theme = default
themes_directory = <ca_base_dir>/themes
themes_url = <ca_url_root>/themes
views_directory = <themes_directory>/<theme>/views
Mapping¶
Settings for GeoNames and Mapping plugins (Google Maps/Open Layers)
GeoNames web services¶
To access the GeoNames services for geographic names via a ‘GeoNames’ attribute you must enter your GeoNames username and password here. You can get a free account at http://www.geonames.org/login. After you confirmed your registration you have to enable your account for web service usage at http://www.geonames.org/manageaccount, otherwise the search won’t return any results. If you don’t care about GeoNames (or even know what is it) then leave this as-is
geonames_user = enter_your_username_here
The api.geonames.org URL should not be changed if you’re using the free GeoNames web service. The free offering should be sufficient for most users. If you have a paid/premium account, geonames provides you with a list of additional hostnames available for use over https here: http://www.geonames.org/account Enter one of those hostnames to make use of your premium subscription
geonames_api_base_url = http://api.geonames.org
Mapping plugins¶
- Name of plugin class to use for mapping
Currently supported values: OpenLayers, Leaflet
OpenLayers is deprecated. Use Leaflet unless you have a reason to do otherwise. mapping_plugin = Leaflet
Leaflet options
Show zoom in/out control
leaflet_maps_show_scale_controls = 1
Path color for polygons and circles
leaflet_maps_path_color = "0000cc"
Path weight (in pixels) for polygons and circles
leaflet_maps_path_weight = 2
Path opacity for polygons and circles (0 is transparent, 1 is opaque)
leaflet_maps_path_opacity = 0.6
Fill color for polygons and circles
leaflet_maps_fill_color = "ff0000"
Fill opacity for polygons and circles (0 is transparent, 1 is opaque)
leaflet_maps_fill_opacity = 0.1
URL for base layer when using Leaflet mapping plugin See https://leaflet-extras.github.io/leaflet-providers/preview/ for previews of various base maps
leaflet_base_layer = https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}{r}.png
OpenLayers options Tile to use for base layer; Ex. OpenLayers.Layer.OSM() [OpenStreetMaps] or OpenLayers.Layer.Stamen(‘toner’) [Stamen ‘Toner’ theme]
openlayers_base_layer = OpenLayers.Layer.OSM()
Radius, in pixels, of plotted points
openlayers_point_radius = 5
Fill color (hex) for points and regions
openlayers_fill_color = ffcc66
Stroke width, in pixels, for points, regions and paths
openlayers_stroke_width = 2
Stroke color (hex) for points, regions and paths
openlayers_stroke_color = ff9933
Fill color (hex) for points and regions when selected
openlayers_fill_color_selected = 66ccff
Stroke color (hex) for points regions and paths when selected
openlayers_stroke_color_selected = 3399ff
Generic mapping options Attribute object records to use to map search results
ca_objects_map_attribute = georeference
Defaults¶
System defaults to control layouts, displays, templates and more.
Label type lists¶
Labels, both preferred and non-preferred, for primary items (objects, entities, etc.) can include a type. By default the range of types is defined by a list named for the item. For objects, the types for preferred labels are object_label_types_preferred while the non-preferred label types are defined by the object_label_types list. You can set other lists for each kind of label below. If you don’t want to use types for a given category of label set it to an empty list.
ca_objects_preferred_label_type_list = object_label_types_preferred
ca_objects_nonpreferred_label_type_list = object_label_types
ca_object_lots_preferred_label_type_list = object_lot_label_types_preferred
ca_object_lots_nonpreferred_label_type_list = object_lot_label_types
ca_entities_preferred_label_type_list = entity_label_types_preferred
ca_entities_nonpreferred_label_type_list = entity_label_types
ca_places_preferred_label_type_list = place_label_types_preferred
ca_places_nonpreferred_label_type_list = place_label_types
ca_collections_preferred_label_type_list = collection_label_types_preferred
ca_collections_nonpreferred_label_type_list = collection_label_types
ca_occurrences_preferred_label_type_list = occurrence_label_types_preferred
ca_occurrences_nonpreferred_label_type_list = occurrence_label_types
ca_loans_preferred_label_type_list = loan_label_types_preferred
ca_loans_nonpreferred_label_type_list = loan_label_types
ca_movements_preferred_label_type_list = movement_label_types_preferred
ca_movements_nonpreferred_label_type_list = movement_label_types
ca_storage_locations_preferred_label_type_list = storage_location_label_types_preferred
ca_storage_locations_nonpreferred_label_type_list = storage_location_label_types
ca_list_items_preferred_label_type_list = list_item_label_types_preferred
ca_list_items_nonpreferred_label_type_list = list_item_label_types
ca_object_representations_preferred_label_type_list = object_representation_label_types_preferred
ca_object_representations_nonpreferred_label_type_list = object_representation_label_types
ca_representation_annotation_preferred_label_type_list = representation_annotation_label_types_preferred
ca_representation_annotation_nonpreferred_label_type_list = representation_annotation_label_types
Default to summary when opening item for editing?¶
ca_objects_editor_defaults_to_summary_view = 0
ca_object_lots_editor_defaults_to_summary_view = 0
ca_entities_editor_defaults_to_summary_view = 0
ca_places_editor_defaults_to_summary_view = 0
ca_occurrences_editor_defaults_to_summary_view = 0
ca_collections_editor_defaults_to_summary_view = 0
ca_lists_editor_defaults_to_summary_view = 0
ca_list_items_editor_defaults_to_summary_view = 0
ca_loans_editor_defaults_to_summary_view = 0
ca_movements_editor_defaults_to_summary_view = 0
ca_storage_locations_editor_defaults_to_summary_view = 0
ca_object_representations_editor_defaults_to_summary_view = 0
ca_tours_editor_defaults_to_summary_view = 0
ca_tour_stops_editor_defaults_to_summary_view = 0
ca_representation_annotations_defaults_to_summary_view = 0
Find defaults¶
items_per_page_options_for_ca_objects_search = [12,24,36,48]
items_per_page_default_for_ca_objects_search = 24
view_default_for_ca_objects_search = list
items_per_page_options_for_ca_object_lots_search = [15,30,45]
items_per_page_default_for_ca_object_lots_search = 30
view_default_for_ca_object_lots_search = list
enable_full_thumbnail_result_views_for_ca_object_lots_search = 0
items_per_page_options_for_ca_entities_search = [15,30,45]
items_per_page_default_for_ca_entities_search = 30
view_default_for_ca_entities_search = list
enable_full_thumbnail_result_views_for_ca_entities_search = 0
items_per_page_options_for_ca_places_search = [15,30,45]
items_per_page_default_for_ca_places_search = 30
view_default_for_ca_places_search = list
items_per_page_options_for_ca_occurrences_search = [15,30,45]
items_per_page_default_for_ca_occurrences_search = 30
view_default_for_ca_occurrences_search = list
enable_full_thumbnail_result_views_for_ca_occurrences_search = 0
items_per_page_options_for_ca_collections_search = [15,30,45]
items_per_page_default_for_ca_collections_search = 30
view_default_for_ca_collections_search = list
enable_full_thumbnail_result_views_for_ca_collections_search = 0
items_per_page_options_for_ca_storage_locations_search = [15,30,45]
items_per_page_default_for_ca_storage_locations_search = 30
view_default_for_ca_storage_locations_search = list
items_per_page_options_for_ca_objects_browse = [12,24,36,48]
items_per_page_default_for_ca_objects_browse = 24
view_default_for_ca_objects_browse = list
items_per_page_options_for_ca_object_lots_browse = [15,30,45]
items_per_page_default_for_ca_object_lots_browse = 30
view_default_for_ca_object_lots_browse = list
enable_full_thumbnail_result_views_for_ca_object_lots_browse = 0
items_per_page_options_for_ca_entities_browse = [15,30,45]
items_per_page_default_for_ca_entities_browse = 30
view_default_for_ca_entities_browse = list
enable_full_thumbnail_result_views_for_ca_entities_browse = 0
items_per_page_options_for_ca_places_browse = [15,30,45]
items_per_page_default_for_ca_places_browse = 30
view_default_for_ca_places_browse = list
items_per_page_options_for_ca_occurrences_browse = [15,30,45]
items_per_page_default_for_ca_occurrences_browse = 30
view_default_for_ca_occurrences_browse = list
enable_full_thumbnail_result_views_for_ca_occurrences_browse = 0
items_per_page_options_for_ca_collections_browse = [15,30,45]
items_per_page_default_for_ca_collections_browse = 30
view_default_for_ca_collections_browse = list
enable_full_thumbnail_result_views_for_ca_collections_browse = 0
items_per_page_options_for_ca_storage_locations_browse = [15,30,45]
items_per_page_default_for_ca_storage_locations_browse = 30
view_default_for_ca_storage_locations_browse = list
items_per_page_options_for_ca_loans_browse = [15,30,45]
items_per_page_default_for_ca_loans_browse = 30
view_default_for_ca_loans_browse = list
items_per_page_options_for_ca_movements_browse = [15,30,45]
items_per_page_default_for_ca_movements_browse = 30
view_default_for_ca_movements_browse = list
items_per_page_options_for_ca_lists_browse = [15,30,45]
items_per_page_default_for_ca_lists_browse = 30
view_default_for_ca_lists_browse = list
items_per_page_options_for_ca_list_items_browse = [15,30,45]
items_per_page_default_for_ca_list_items_browse = 30
view_default_for_ca_list_items_browse = list
items_per_page_options_for_ca_tours_browse = [15,30,45]
items_per_page_default_for_ca_tours_browse = 30
view_default_for_ca_tours_browse = list
items_per_page_options_for_ca_tour_stops_browse = [15,30,45]
items_per_page_default_for_ca_tour_stops_browse = 30
view_default_for_ca_tour_stops_browse = list
items_per_page_options_for_ca_object_representations_browse = [15,30,45]
items_per_page_default_for_ca_object_representations_browse = 30
view_default_for_ca_object_representations_browse = list
Set item display templates¶
Used to format records in set item lists when no specific formatting has been specified
ca_objects_set_item_display_template = ^ca_objects.preferred_labels.name (^ca_objects.idno)
ca_object_lots_set_item_display_template = ^ca_object_lots.preferred_labels.name (^ca_object_lots.idno_stub)
ca_entities_set_item_display_template = ^ca_entities.preferred_labels.displayname
ca_places_set_item_display_template = ^ca_places.preferred_labels.name
ca_occurrences_set_item_display_template = ^ca_occurrences.preferred_labels.name
ca_collections_set_item_display_template = ^ca_collections.preferred_labels.name
ca_loans_set_item_display_template = ^ca_loans.preferred_labels.name
ca_movements_set_item_display_template = ^ca_movements.preferred_labels.name
ca_storage_locations_set_item_display_template = ^ca_storage_locations.preferred_labels.name
ca_object_representations_set_item_display_template = ^ca_object_representations.preferred_labels.name
ca_list_items_set_item_display_template = ^ca_list_itmes.preferred_labels.name_plural (^ca_list_items.idno)
ca_tours_set_item_display_template = ^ca_tours.preferred_labels.name
ca_tour_stops_set_item_display_template = ^ca_tour_stops.preferred_labels.name
enable this to always show a default bundle preview for attribute bundles, even if the display template for that particular element isn’t set
always_show_bundle_preview_for_attributes = 0
Default type to use when creating sets¶
(in search results “sets” options, for example)
ca_sets_default_type = user
Timecode output¶
Controls how timecode values are displayed Valid settings are:
COLON_DELIMITED = format with colons. Ex. 1:20:10
HOURS_MINUTES_SECONDS = format with h/m/s labels. Ex. 1h 20m 10s
RAW = the number of seconds in the interval. Ex. 4810
timecode_output_format = COLON_DELIMITED
Currency settings¶
By default currency values using the “$” symbol are considered to be in US dollars. You can change that here to another currency using its standard 3-letter code. Ex. CDN = Canadian dollars
default_dollar_currency = USD
Length settings¶
Use Unicode fraction glyphs such as (ex. ¼) in place of the text equivalent (ex. 1/4)
As of version 1.7.6 these settings are DEPRECATED. In a future version these settings will be removed. Use the settings in the dimensions.conf configuration file if possible.
use_unicode_fractions_for_measurements = 1
force_use_of_fractions_for_measurements = 0
Record duplication¶
By default duplicated records have the word “duplicate” appended to their preferred label. You can disable this behavior by setting this option.
dont_mark_duplicated_records_in_preferred_label = 0
Log options¶
By default a timestamp is shown for every change in the record-based change log. Enable this to limit the display to the date of the change.
dont_show_timestamp_in_change_log = 0
When deleting an item it is possible to move any references to or from that item to another. Alternatively references can be deleted with the item. The system-wide default behavior may be set here and will be used when the user has not set a preference. Valid options are “remove” or “transfer” Note that you can set per-table defaults by prefacing “delete_reference_handling_default” with a table name. (For example, “ca_objects_delete_reference_handling_default”)
delete_reference_handling_default = remove
Components¶
ca_objects_container_types = []
ca_objects_component_types = []
ca_objects_component_display_settings = <l>^ca_objects.preferred_labels.name</l> (^ca_objects.idno)
Media¶
Media processing tweaks¶
If you have the PECL Imagick extension installed on your server and don’t want to use it with CollectiveAccess (it has a bad habit of choking and crashing on some types of files) you can force CA to ignore it by setting ‘dont_use_imagick’ to 1; leave it set to zero if you want to use Imagick. When Imagick works, it performs well so you should give it a try and see how it works before disabling support for it.
dont_use_imagick = 0
If you have ImageMagick or GraphicsMagick installed and PDFs are being inexplicably rejected try setting the corresponding option to 1. It has been observed that ImageMagick chokes on some PDFs. Setting this option will force CA to use Zend_PDF to identify uploaded PDF’s, which often resolves the issues at the expense of greater memory consumption.
dont_use_imagemagick_to_identify_pdfs = 0
dont_use_graphicsmagick_to_identify_pdfs = 0
If you’re mostly dealing with large video files or images and don’t care about PDF support (or you’re using Graphics/ImageMagick for identifying PDFs), you can disable Zend PDF support here. Zend PDF always tries to load the whole fine into memory, which for video files can be several GB and usually results in memory_limit errors.
dont_use_zendpdf_to_identify_pdfs = 1
CollectiveAccess supports three methods for generating PDF output for download and printing: dompdf (slower; built-in), wkhtmltopdf (faster; requires additional software installation) and phantomjs (faster; requires additional software installation). By default it will favor using wkhtmltopdf if available, falling back to phantomjs and then to dompdf which is always available.
You can override the build in preference and force the use of a specific PDF generator by uncommenting and setting this option to one of the following:
wkhtmltopdf
phantomjs
dompdf
use_pdf_renderer = wkhtmltopdf
Only media than can be identified by a plugin may be uploaded. If you want to be able to upload any file and have it treated as media, even if the internals of the file cannot be parsed set this to a non-zero value. When set the BinaryFile media plugin is enabled, which will store any unidentifiable uploaded file as binary data. No previews or in-browser viewing will be possible for these files.
accept_all_files_as_media = 0
PHPs builtin function exif_read_data (http://php.net/manual/en/function.exif-read-data.php) is known to cause unexpected crashes with some files in some versions of PHP, particularly those shipped with RedHat or CentOS Linux. If you experience any weird behavior while processing large files with extensive EXIF metadata, try enabling this setting. If enabled, CollectiveAccess tries to extract metadata using alternate sources like exiftool or GraphicsMagick.
dont_use_exif_read_data = 0
Alternatively if you experiencing out-of-memory issues while importing media it may well be due to very large EXIF metadata blocked embedded in the file. You can limit the size of metadata to be imported here by specifying the threshold in bytes (Eg. 1048576 = 1mb)
dont_use_exif_read_data_if_larger_than = 2097152
Files with large embedded metadata blocks may cause out-of-memory errors and/or complicate backup of the datase. You can limit the size of embedded metadata to be extracted during media loading here by specifying the threshold in bytes (Eg. 1048576 = 1mb) Extraction of embedded metadata for media with metadata exceeding the threshold will be skipped. Set to zero or omit if you want all metadata regardless of length to be extracted.
dont_extract_embedded_media_metdata_when_length_exceeds = 2097152
If you wish to allow the importing of object representation media and icons via http, https and ftp urls set this to 1. Letting users employ your CA installation as a proxy for downloading arbitrary URLs could be seen as a security hole in some cases, so enable this option only if you really need it.
allow_fetching_of_media_from_remote_urls = 0
If you wish to allow the linking to existing object representations in the manner other relationships set the relevant directives below to 1. Using representations as records that can be targets of relationships can be confusing and, well, odd for many common setups. Still, when you need this behavior you need it, so here it is :-)
ca_objects_allow_relationships_to_existing_representations = 0
ca_object_lots_allow_relationships_to_existing_representations = 0
ca_entities_allow_relationships_to_existing_representations = 0
ca_places_allow_relationships_to_existing_representations = 0
ca_occurrences_allow_relationships_to_existing_representations = 0
ca_collections_allow_relationships_to_existing_representations = 0
ca_storage_locations_allow_relationships_to_existing_representations = 0
ca_list_items_allow_relationships_to_existing_representations = 0
ca_loans_allow_relationships_to_existing_representations = 0
ca_movements_allow_relationships_to_existing_representations = 0
Embedded metadata extraction¶
CA can extract and import metadata embedded in upload media using external applications such as MediaInfo and ExifTool and installation-specific data import mappings. The following options control user interaction and logging for media embedded metadata import.
Users can select the import mapping they wish to use at the time of upload in the editing
and batch media importer interfaces when allow_user_selection_of_embedded_metadata_extraction_mapping
is set to
a non-zero value.
When allowing user selection of mappings, allow_user_embedded_metadata_extraction_mapping_null_option
can be set to
include a “no import” option. Setting this option to zero effectively forces import of embedded metadata in all cases.
If it often desirable to have CA automatically select import mappings based upon the format of the uploaded file.
The embedded_metadata_extraction_mapping_defaults
setting can be used to map media file MIME types to mappings. MIME types may be
specific (Ex. image/tiff for TIFF format images) or cover entire classes using wildcards (Ex. image/* for images of any type).
embedded_metadata_extraction_mapping_defaults = {
video/* = example_mediainfo_mapping,
image/* = example_exif_tool_mapping,
application/pdf = pdf_metadata_import
}
The values are the right side of the map must be valid data import mapping codes, as defined in the code
setting of a mapping worksheet.
How much information is logged when performing an embedded metadata import can be controlled using the embedded_metadata_extraction_mapping_log_level
setting. Valid values are DEBUG, NOTICE, INFO, WARN, ERR, CRIT and ALERT, where DEBUG logs the most (sometimes too much) information, and levels beyond ERR log only
the most critical errors. It is generally best to leave this setting on DEBUG when testing and use NOTICE or INFO if DEBUG is providing too much information.
Video preview frame generation¶
You can have CA generate preview frames from uploaded video These settings control how (and if) the preview frames are generated
Should we generate frames? (Set to 1 for yes, 0 for no)
video_preview_generate_frames = 1
The minimum number of preview frames to generate in any situation CA will adjust timing parameters to ensure at least this number of frames is generated.
video_preview_min_number_of_frames = 10
The maximum number of preview frames to generate in any situation CA will always stop generating frames when it hits this limit
video_preview_max_number_of_frames = 100
The time between extracted frames; you can enter this is timecode notation (eg. 10s = 10 seconds; 1:10 = 1 minute, 10 seconds)
video_preview_interval_between_frames = 30s
The time relative to the start of the video at which to start extracting preview frames; this can be used to ensure you don’t generate frames from blank leader footage
video_preview_start_at = 2s
The time interval relative to the end of the video at which to stop extracting preview frames; this can be used to ensure you don’t generate frames from blank footage at the end of a video
video_preview_end_at = 2s
The time relative to the start of the video at which the “main” video poster preview is being extracted. Express as an absolute time (Ex. 1h 5m 3s) or as a precentage of duration (Ex. 50%)
video_poster_frame_grab_at = 5s
Document preview page generation¶
You can have CA generate preview page images from uploaded documents (only PDFs currently) These settings control how (and if) the preview pages are generated
Should we generate pages? (Set to 1 for yes, 0 for no)
document_preview_generate_pages = 1
The maximum number of preview pages to generate in any situation CA will always stop generating page images when it hits this limit
document_preview_max_number_of_pages = 500
The number of pages between extracted pages; set to 1 if you want to generate all pages; set to 10 if you only want to generate every 10th page
document_preview_interval_between_pages = 1
The page number at which to start extracting pages
document_preview_start_page = 1
Resolution to rasterize PDF pages with, in DPI
document_preview_resolution = 300
JPEG quality to rasterize PDF pages with (0-100)
document_preview_quality = 95
Set to non-zero value if you do not wish to generate representation annotation previews These previews are discrete audio/video files covering a given annotation.
dont_generate_annotation_previews = 1
Batch media processing¶
Root directory of staging area for media import – any media in this directory will appear in media importer file listings
batch_media_import_root_directory = <ca_base_dir>/import
Allow data importer to pull media from arbitrary directories using paths in the data to be imported. If you don’t trust the data being uploaded (or the people doing the uploading) leave this set to zero.
allow_import_of_media_from_any_directory = 0
mediaFilenameToObjectIdnoRegexes = {
filename_exactly = {
displayName = _(Filename exactly),
regexes = { "^(.*)$" }
},
filename_without_extension = {
displayName = _(Filename without extension),
regexes = { "(.*?)\\.[A-Za-z0-9]+$" }
},
filename_with_page_number_included = {
displayName = _(Filename with page number - page number included),
regexes = { "(.*?\\.[A-Za-z0-9\\-]+)\\.[A-Za-z]+$", "(.*?)\\.[A-Za-z0-9]+$" }
},
filename_with_page_number = {
displayName = _(Filename with page number - page number stripped),
regexes = { "(.*?)\\.[A-Za-z0-9\\-]+\\.[A-Za-z]+$" }
}
}
Uncomment and customize the following if you want to transform the names of your media files using Perl-compatible regular expressions (http://pcre.org). The setting is basically a wrapper around PHP’s preg_replace function (http://php.net/manual/en/function.preg-replace.php). Each replacement consists of a key (basically a name), a list of “search” regular expressions (usually 1) and a list of “replace” patterns. Both lists must have the same length, i.e. there must be a “replace” pattern for each search regular expression. For more information on the syntax, please refer to the documentation for preg_replace. Note that the media importer will try to mach the results of these replacements to CollectiveAccess records using the “mediaFilenameToObjectIdnoRegexes” list above for each file or directory name IN ADDITION to whatever the original name was. The original file name is matched first.
mediaFilenameReplacements = {
replace_period_w_dash = {
search = { "([A-Za-z0-9]+)\\.([0-9]+)\\.([A-Za-z0-9]+)" },
replace = { "$1-$2.$3" }
},
}
List of fields to attempt to match filename-extracted data on Matching will be performed on fields in order, with the first matching record used for import.
You can specify intrinsic field names (Eg. idno), metadata element codes or “preferred_labels” and “nonpreferred_labels” to match on labels
batch_media_import_match_on = [idno]
Batch metadata import¶
batch_metadata_import_log_directory = <ca_base_dir>/app/log
Directory to temporarily stash ajax-based uploads of media in
ajax_media_upload_tmp_directory = <ca_app_dir>/tmp
Max time in seconds to let media live in tmp directory before it can be removed
ajax_media_upload_tmp_directory_timeout = 86400
Object representation download options¶
Media versions to provide downloads of
ca_object_representation_download_versions = [original, large, medium, small]
Set maximum number of files to allow to be downloaded in one go. Leave set to 0 or blank for no limit. maximum_download_file_count =
Task queue set up (deferred processing of uploaded media)¶
taskqueue_handler_plugins = <ca_lib_dir>/Plugins/TaskQueueHandlers
taskqueue_tmp_directory = <ca_app_dir>/tmp
taskqueue_max_opo_processes = 4
taskqueue_process_timeout = 3600
taskqueue_max_items_processed_per_session = 100
Admin¶
Nit picky stuff related to system configuration and administration.
Character set to use (usually utf-8; might be ISO-8859-1)¶
character_set = utf-8
System configuration check options (under “Manage” > “Administrate” > “Configuration Check”)¶
The configuration check can do a thorough, but time consuming, check of file permissions and other settings. These checks can be useful but on some servers, especially those using file systems mounted over a network, they can be very slow. If you are on such a server you can disable all “expensive” configuration checks here.
dont_do_expensive_configuration_checks_in_web_ui = 0
Configuration exporter options¶
configuration_export_only_system_displays = 1
configuration_export_only_system_search_forms = 1
Exclude lists from configuration export with more than a specified number of items. If set to zero no limit is enforced.
configuration_export_exclude_lists_larger_than = 0
list of list codes to exclude from configuration export
configuration_export_exclude_lists = []
Object lot inheritance¶
don’t inherit lot relationship from parent object
ca_objects_dont_inherit_lot_id_from_parent = 0
Restrict editing of codes for list and metadata elements¶
Allowing free editing and code and data type settings can result in invalid configuration. The ability to edit these values once set can be restricted here.
ca_lists_dont_allow_editing_of_codes_when_in_use = 0
ca_list_items_dont_allow_editing_of_codes_when_in_use = 0
ca_metadata_elements_dont_allow_editing_of_codes_when_in_use = 0
ca_metadata_elements_dont_allow_editing_of_data_types_when_in_use = 0
SMS notifications¶
enable_sms_notifications = 0
Each SMS plugin supports a specific gateway. For now only SendHub.com is supported.
sms_plugin = SendHub
sms_user = MY_SENDHUB_USERNAME
sms_api_key = MY_SENDHUB_API_KEY
Session settings¶
session_lifetime = 31536000
session_domain =
Email notifications¶
Settings for notifications system used for metadata-based alerts
notification_email_sender = no-reply@<site_hostname>
notification_email_subject = (<app_display_name>) Metadata Notification from CollectiveAccess
Export¶
File names for data export download files¶
If the given display template doesn’t yield a usable result, the exporter falls back to relatively nondescript defaults single item exports via inspector in the corresponding editor
ca_objects_single_item_export_filename = ^ca_objects.idno
ca_object_lots_single_item_export_filename = ^ca_object_lots.idno_stub
ca_entities_single_item_export_filename = ^ca_entities.idno
ca_places_single_item_export_filename = ^ca_places.idno
ca_occurrences_single_item_export_filename = ^ca_occurrences.idno
ca_collections_single_item_export_filename = ^ca_collections.idno
ca_lists_single_item_export_filename = ^ca_lists.list_code
ca_list_items_single_item_export_filename = ^ca_list_items.idno
ca_loans_single_item_export_filename = ^ca_loans.idno
ca_movements_single_item_export_filename = ^ca_movements.idno
ca_object_representations_single_item_export_filename = ^ca_object_representations.idno
ca_representation_annotations_single_item_export_filename = ^ca_representation.annotations.annotation_id
ca_storage_locations_single_item_export_filename = ^ca_storage_locations.idno
ca_tours_single_item_export_filename = ^ca_tours.tour_code
ca_tour_stops_single_item_export_filename = ^ca_tours_stops.idno
batch exports via sets or browse results
ca_objects_batch_export_filename = objects_batch_export
ca_object_lots_batch_export_filename = lots_batch_export
ca_entities_batch_export_filename = entities_batch_export
ca_places_batch_export_filename = places_batch_export
ca_occurrences_batch_export_filename = occurrences_batch_export
ca_collections_batch_export_filename = collections_batch_export
ca_lists_batch_export_filename = lists_batch_export
ca_list_items_batch_export_filename = list_items_batch_export
ca_loans_batch_export_filename = loans_batch_export
ca_movements_batch_export_filename = movements_batch_export
ca_object_representations_batch_export_filename = representations_batch_export
ca_representation_annotations_batch_export_filename = annotations_batch_export
ca_storage_locations_batch_export_filename = storage_locations_batch_export
ca_tours_batch_export_filename = tours_batch_export
ca_tour_stops_batch_export_filename = tour_stops_batch_export
List of alternate destinations for data exports. The only supported type for now is ‘github’.
For GitHub repositories it’s highly recommended to not enter your main account password here but to use a personal access token instead. You can create it in the GitHub account settings under “Applications”>”Personal Access Tokens”. The token has to have ‘repo’ access.
exporter_alternate_destinations = {
github = {
type = github,
display = GitHub repository,
user credentials
username = your_github_username,
token = enter_access_token_here,
repository information
owner = enter_repository_owner,
repository = collectiveaccess_export,
base_dir = exports/from_ca,
branch = master,
update_existing = 1
},
}
You’re done…¶
….probably. Most users don’t modify the configs below.
URL configuration (paths to controllers and themes)¶
auth_login_path = system/auth/login
auth_login_url = <ca_url_root>/index.php/system/auth/login
auth_logout_url = <ca_url_root>/index.php
controllers_directory = <ca_app_dir>/controllers
Url path to error display page; user will be directed here upon unrecoverable error (eg. bad controller or action)
error_display_url = <ca_url_root>/index.php/system/Error/Show
Url to redirect user to when nothing is specified (eg. they go to /index.php) ONLY PUT THE CONTROLLER/ACTION PATH HERE - leave out the ‘index.php’
default_action = /Dashboard/Index
Services
service_controllers_directory = <ca_app_dir>/service/controllers
service_default_action = /search/rest/doSearch
service_view_path = <ca_app_dir>/service/views
Paths to other config files¶
data_model = <ca_conf_dir>/datamodel.conf
user_pref_defs = <ca_conf_dir>/user_pref_defs.conf
external_applications = <ca_conf_dir>/external_applications.conf
media_volumes = <ca_conf_dir>/media_volumes.conf
file_volumes = <ca_conf_dir>/file_volumes.conf
default_media_icons = <ca_conf_dir>/default_media_icons.conf
search_config = <ca_conf_dir>/search.conf
browse_config = <ca_conf_dir>/browse.conf
media_processing_settings = <ca_conf_dir>/media_processing.conf
annotation_type_config = <ca_conf_dir>/annotation_types.conf
attribute_type_config = <ca_conf_dir>/attribute_types.conf
application_monitor_config = <ca_conf_dir>/monitor.conf
assets_config = <ca_conf_dir>/assets.conf
bundle_type_config = <ca_conf_dir>/bundle_types.conf
xml_config = <ca_conf_dir>/xml.conf
user_actions = <ca_conf_dir>/user_actions.conf
find_navigation = <ca_conf_dir>/find_navigation.conf
media_display = <ca_conf_dir>/media_display.conf
media_metadata = <ca_conf_dir>/media_metadata.conf
access_restrictions = <ca_conf_dir>/access_restrictions.conf
datetime_config = <ca_conf_dir>/datetime.conf
authentication_config = <ca_conf_dir>/authentication.conf
services_config = <ca_conf_dir>/services.conf
visualization_config = <ca_conf_dir>/visualization.conf
prepopulate_config = <ca_conf_dir>/prepopulate.conf
linked_data_config = <ca_conf_dir>/linked_data.conf
Path to navigation config file - defines menu structure
nav_config = <ca_conf_dir>/navigation.conf
OAI configuration
oai_harvester_config = <ca_conf_dir>/oai_harvester.conf
oai_provider_config = <ca_conf_dir>/oai_provider.conf
Path to application plugins¶
application_plugins = <ca_app_dir>/plugins
Path to dashboard widgets¶
dashboard_widgets = <ca_app_dir>/widgets
Password reset parameters¶
password_reset_url = <site_host><ca_url_root>/index.php?action=reset_password&form_action=reset
ID numbering (for objects, object lots and authorities)¶
multipart_id_numbering_config = <ca_conf_dir>/multipart_id_numbering.conf
Media and file processing paths¶
media_plugins = <ca_lib_dir>/Plugins/Media
file_plugins = <ca_lib_dir>/Plugins/File
Directory to use for Tilepic generation temporary files
tilepic_tmpdir = <ca_app_dir>/tmp
Name of plugin class to use for id number field in objects, object lots and authorities that support id numbering (entities, places, collections and occurrences)
ca_objects_id_numbering_plugin = MultipartIDNumber
ca_object_lots_id_numbering_plugin = MultipartIDNumber
ca_entities_id_numbering_plugin = MultipartIDNumber
ca_places_id_numbering_plugin = MultipartIDNumber
ca_collections_id_numbering_plugin = MultipartIDNumber
ca_occurrences_id_numbering_plugin = MultipartIDNumber
ca_list_items_id_numbering_plugin = MultipartIDNumber
ca_loans_id_numbering_plugin = MultipartIDNumber
ca_movements_id_numbering_plugin = MultipartIDNumber
ca_tours_id_numbering_plugin = MultipartIDNumber
ca_tour_stops_id_numbering_plugin = MultipartIDNumber
ca_object_representations_id_numbering_plugin = MultipartIDNumber
ca_storage_locations_id_numbering_plugin = MultipartIDNumber
ca_site_pages_id_numbering_plugin = MultipartIDNumber
ca_site_page_media_id_numbering_plugin = MultipartIDNumber
Formats for form elements¶
If set text of “required_field_marker” will be displayed for bundles in editors for which input is required
show_required_field_marker = 0
Text to display for bundles in editors for which input is required
required_field_marker = <span style=”color: bb0000; font-size:10px; font-weight: bold;”>(Required) </span>
These are used to format data entry elements in various editing formats. Don’t change them unless you know what you’re doing Used for intrinsic fields (simple fields)
form_element_display_format = <div class='formLabel'>^EXTRA^LABEL<br/>^ELEMENT</div>
form_element_display_format_without_label = <div class='formLabel'>^ELEMENT</div>
form_element_error_display_format = <div class='formLabel'>^EXTRA^LABEL (<span class='formLabelError'>^ERRORS</span>)<br/>^ELEMENT</div>
Used for bundle-able fields such as attributes
bundle_element_display_format = <div class='bundleLabel'>^LABEL ^DOCUMENTATIONLINK ^ELEMENT</div>
bundle_element_display_format_without_label = <div class='formLabel'>^ELEMENT</div>
bundle_element_error_display_format = <div class='bundleLabel'>^LABEL (<span class='bundleLabelError'>^ERRORS</span>)<br/>^ELEMENT</div>
Used for the ‘idno’ field of bundle-providers (Eg. ca_objects, ca_places, etc.)
idno_element_display_format = <div class='formLabel'>^LABEL<br/>^ELEMENT <span id='idnoStatus'></span></div>
idno_element_display_format_without_label = <div class='formLabel'>^ELEMENT <span id='idnoStatus'></span></div>
idno_element_error_display_format = <div class='formLabel'>^LABEL (<span class='formLabelError'>^ERRORS</span>)<br/>^ELEMENT <span id='idnoStatus'></span></div>
Proxy server configuration for web services¶
In some larger networks servers are required to run their HTTP/HTTPS requests through a proxy server. If this applies to your setup, uncomment the following lines and enter your proxy configuration here.
web_services_proxy_url = tcp://127.0.0.1:8080