{# Copyright 2020 Karlsruhe Institute of Technology # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. #}

Records

Records are the basic components of Kadi4Mat, as they contain data and connect it with metadata. The data of a record can either consist of a single file or multiple files (e.g. a series of multiple images) all sharing the same metadata. Records can also be grouped into collections or linked to other records, as described later.

Creating new records

Creating a new record first requires entering its metadata. This includes basic information, such as title, (unique) identifier and description. Additionally, generic extra metadata can be specified, specific for each different kind of record. This metadata consists of key-value pairs, where each entry has at least a unique key, a type and a corresponding value with optional validation instructions. It is also possible to create templates for the generic metadata, as described in Templates. The following values types can be used for this metadata:

String
A single text value.
Integer
A single integer value. Integer values can optionally have a unit further describing them.
Float
A single floating point value. Float values can optionally have a unit further describing them.
Boolean
A single boolean value which can either be true or false.
Date
A date and time value which can be selected from a date picker.
Dictionary
A nested value which can be used to combine multiple metadata entries under a single key.
List
A nested value which is similar to dictionaries with the difference that none of the values in a list have a key.

Aside from the metadata, it is possible to set the visibility of a record to either private or public, the latter giving every logged-in user the ability to search for the record and view its contents without requiring explicit read permissions to do so. Finally, a record can be linked to one or more collections while creating it, which of course may also be done later.

Once the metadata of a record has been created, the actual data (i.e. files) of the record can be added in a separate view, which the application will redirect to automatically. This is just one part of the various views to manage records, the next section describes the purpose of the others, which can be selected after going back to the record overview page.

Managing existing records

On the record overview page, different views are available, each of which can be accessed through the respective tab in the navigation menu of a record. The individual tabs and their contents are briefly described below.

Overview

This tab provides an overview of a record, mainly related to its metadata. Here, it is possible to edit or copy a record, if the corresponding permissions are fulfilled, where editing a record also allows deleting it. Furthermore, records can be exported in various formats or published. Note that the publishing functionality is only available if at least one publication provider has been registered with the application.

Files

This tab provides an overview of the files associated with a record. Given the corresponding permissions, new files can be added, which is usually done by uploading locally stored files. However, certain types of files may also be created directly via the web interface. Existing files can either be downloaded in bulk or individually using the quick navigation menu of each file. Depending on permissions, this navigation also shows additional actions to quickly manage files.

Clicking on a file leads to a separate overview page of the corresponding file, which shows all additional file metadata. Furthermore, many file types also include a built-in preview functionality. Here, it is also possible to edit a file's metadata, including its deletion, or content, similar to the actions the quick navigation in the previous view provides. Some file types may offer direct editing of the actual file content, otherwise the regular upload functionality can be used.
Links
This tab provides an overview of the resources a record is linked with, which includes other records as well as collections. Collections are simple, logical groupings of multiple records, while links between records can specify their relationship. The latter can also contain additional metadata, which currently includes the name/type of the link and a timestamp. Furthermore, record links can be visualized in an interactive graph. Linking resources requires link permission in both resources that should be linked together. Note that users still won't be able to view any linked resources if they have no explicit permission to do so.
Permissions
This tab provides an overview of the access permissions granted to individual users or groups of multiple users for a specific record. New permissions can be granted if the corresponding permissions to do so are fulfilled, which currently works by using predefined roles. Details about the specific permissions and actions each role provides can be found using the Role permissions popover which is shown when managing permissions. Note that group roles are always shown to users being able to manage permissions, even if the group would normally not be visible. This way, existing group roles can always be changed and/or removed. Such group roles only contain very limited information about the group itself.
Revisions
This tab provides a history of changes to a record's metadata and its files. By clicking on View revision of a revision item, a separate view will open, providing a detailed overview of the changes that prompted the creation of this revision.