# # ID numbering config (for MultipartIDNumber ID numbering plug-in) # # # ID numbers are the identifying numbers you provide for certain types of data # items in your CollectiveAccess database. They are stored as simple strings and reflect # what *you* refer to the item by. They should be unique but don't have to be. They may contain non-numeric characters. # They may have a regular format or they may vary widely from item to item. Numbering systems for existing collections almost # always have inconsistencies and irregularities and CollectiveAccess can accomodate them. # # Note that ID numbers are *not* the row_id's automatically assigned to data items # by CollectiveAccess. row_id's are guaranteed to be unique, are always simple integers # and cannot be changed once assigned. CollectiveAccess uses row_id's internally to unambiguously # refer to data items. You do not have to worry about CollectiveAccess mixing up items with the same ID number # because CollectiveAccess never uses ID numbers for its internal operations. # # By contrast ID numbers allow CollectiveAccess users to refer to data items using familiar (and perhaps # arbitrary) identifers and to cross-reference CollectiveAccess-hosted data with data from other sources that use the # same ID numbering system. They can be in any format, from simply integers to arbitrarily formatted alphanumeric # strings of text. # # Since ID numbers are stored as strings any input format is considered valid. While this is acceptable for many # uses, often it is desirable to enforce standards for data entry and/or provide a more structured data entry interface - # perhaps one with drop-down menus for certain values or separate fields for different parts of the number. # # CollectiveAccess provides a plug-in framework for implementing ID number entry interfaces and validation of input. # By developing your own plug-in, you can implement any behaviors you need. For instance, one could develop a plug-in # that uses an external system to generate new object accession numbers. Most implementors will never have to deal with # plug-ins, however. CollectiveAccess ships with a general-purpose "MultipartIDNumber" plugin which should be suitable # for the vast majority of users. This configuration file sets the parameters for the MultipartIDNumber plug-in. # # The MultiPartIDNumber plug-in models an ID number as a collection of "elements" joined together by a # "separator." Each element has a type and various parameters that determine what is valid for the element and how it # behaves in the user interface. For a complete description of the parameters see http://wiki.collectiveaccess.org/index.php?title=Multipart_ID_Numbers # # CollectiveAccess supports ID numbers for the following data items: # # - objects ("ca_objects") # - object lots ("ca_object_lots") # - entity authority ("ca_entities") # - place names authority ("ca_places") # - collection authority items ("ca_collections") # - items in user-defined authorities (aka "occurrences") ("ca_occurrences") # # You can specify different numbering systems for different types of a given data item. So, for example, you can # have different numbering schemes for "video" objects than "book" objects. When specifying a format for a specific type # use the 'idno' value for the type as entered in its ca_list_items entry. This corresponds to the left-hand side identifier # for the type in the installation profile you used to configure your system. # # Each data item also has a default numbering format used for all types for which a format has not been specified. # At a minimum you must define a default format for each type of data item. # # Each format is used to generate user interface and validate input for the 'idno' field # of the respective data item. For objects, this is the 'idno' field; for lots this is the # 'idno_stub' field; for the various authorities it is the 'idno' field. # # Options to require ID numbers for the various data items to be unique and/or valid are set in the application # configuration (app.conf) file. # formats = { ca_objects = { __default__ = { separator =, elements = { accession_number = { type = FREE, width = 30, editable = 1, description = _(Accession number) } } } }, # ---------------------------------------------------- # # Below is an example of a default format for objects that will format # id numbers in the format ..; for example: 2009.ORG.10 # where is automatically assigned # # ca_objects = { # __default__ = { # separator = ., # # elements = { # accession_number = { # type = YEAR, # width = 6, # editable = 1, # # description = _(Accession year) # }, # accession_type = { # type = LIST, # values = [PER, ORG, GRP], # default = ORG, # width = 6, # description = _(Accession type), # editable = 1 # }, # object_number = { # type = SERIAL, # width = 6, # description = _(Object number), # editable = 1, # table = ca_objects, # field = idno, # sort_field = idno_sort # } # } # } # }, # ---------------------------------------------------- ca_object_lots = { __default__ = { separator =, elements = { lot_number = { type = FREE, width = 30, editable = 1, description = _(Lot number) } } } }, # ---------------------------------------------------- ca_entities = { __default__ = { separator =, elements = { entity_number = { type = FREE, width = 30, editable = 1, description = _(Identifier) } } } }, # ---------------------------------------------------- ca_places = { __default__ = { separator =, elements = { place_number = { type = FREE, width = 30, editable = 1, description = _(Identifier) } } } }, # ---------------------------------------------------- ca_occurrences = { __default__ = { separator =, elements = { occurrence_number = { type = FREE, width = 30, editable = 1, description = _(Identifier) } } } }, # ---------------------------------------------------- ca_collections = { __default__ = { separator =, elements = { collection_number = { type = FREE, width = 30, editable = 1, description = _(Identifier) } } } }, # ---------------------------------------------------- ca_object_representations = { __default__ = { separator =, elements = { representation_number = { type = FREE, width = 30, editable = 1, description = _(Identifier) } } } }, # ---------------------------------------------------- ca_list_items = { __default__ = { separator =, elements = { list_item_number = { type = FREE, width = 30, editable = 1, description = _(Identifier) } } } }, # ---------------------------------------------------- ca_loans = { __default__ = { separator =, elements = { list_item_number = { type = FREE, width = 30, editable = 1, description = _(Identifier) } } } }, # ---------------------------------------------------- ca_movements = { __default__ = { separator =, elements = { list_item_number = { type = FREE, width = 30, editable = 1, description = _(Identifier) } } } }, # ---------------------------------------------------- ca_tours = { __default__ = { separator =, elements = { list_item_number = { type = FREE, width = 30, editable = 1, description = _(Identifier) } } } } # ---------------------------------------------------- ca_tour_stops = { __default__ = { separator =, elements = { list_item_number = { type = FREE, width = 30, editable = 1, description = _(Identifier) } } } } # ---------------------------------------------------- }