V2 Classification
Definitions
Classification Field - Classification field types
- Select from a list
- Select from a tree
- Checkbox
- Values
- Single value
- From-To value
- Strings, dates, numbers, integers, etc.
Classification Scheme - A pre-defined set of classification fields (ClassificationClass)
- A classification Scheme should have a name and a description
- Defines:
- The set of allow classification fields
- The layout and order of the fields in the top-block, data-block and classifictaion-block
- Whether values for classification fields are required
- Whether multiple values for classification fields are allowd
- Which classification fields are displayed in which blocks
Object Sub-Type - A object database field that identifies the objects type, which also determines the classification scheme that should be applied to that instance of the object. It would stored one of the following fields:
- Documents - document_sub_type_id
- Revisions - revision_sub_type_id
- Tasks - task_sub_type_id
- Transmittals - transmittal_sub_type_id
- Users - user_sub_type_id
Blocks
Identification Block - The block containing:
- Code (for objects which have codes)
- Title
- Sub-type
Data Block - A new block displayed above(? Ask JK) the classifictaion block
Classification Block - The main classification fields
Requirements
- Flexible classification system based on multiple classification schemes
Classification schemes are assigned to objects based on value of object's sub-type. E.g. when you set or change the sub-type (probably called {object} Type on the screen), the input form has to change to display the appropriate set of input fields for the selected classification scheme.
- Multiple classification schemes can be defined. A classification scheme definition includes
- A name
- A description
- The list of classification fields that are allowed
For each classification field (e.g. the ClassificationClass table)
- Is a value for the classification field required
- Are multiple values for the classification field allowed 1. Where the field is displayed.
- Is the field displayed in lists
Is the field displayed in detail screens - Issue: Would classification_classes.display_on_detail ever be set to false?
- It should be possible to change a object's sub-type
- Doing so may cause a loss of classification data
- Cancel, with no loss of data should be allowed. Therefore the classification data is only changed in the database when the user commits the change (e.g. saves)
Tables
- Object tables: Documents, Revisions, Tasks, Transmittals, Users
ResourceSubTypes
- id
resource_type_id - E.g. document, revision, task, etc.
- name
description - Example values: Drawing, Report, Business Letter, Inspection report, Invoice, etc.
- classification_set_id
ClassificationSets (or ClassificationSchemes?)
- id
- name - Example values: Technical, Financial, Correspondence
- description
ClassificationClasses -- The description of a set of classification fields, properties (required, multiple, etc.), ordering and their screen layout
id -- Note the current resource_type field will be removed
- classification_set_id
- classification_id
- lots of flags
- sort_order
