Documents
Files and folders
What it is for
A register of business documents with folder, kind, owner, expiry and confidentiality. It stores references to documents, not the file contents.
What the package does and does not do
A register of business documents: folders, document records with kind, owner, expiry and confidentiality, and a draft, published and archived flow. It stores references, not file contents.
Models
documents_folder
A folder that groups documents
Read group: documents.user. Write group: documents.manager.
| Field | Kind | Data class | Personal data | Group | Agents see | Description |
|---|---|---|---|---|---|---|
name | text | none | no | documents.user | in clear | Folder name |
parent_id | ref → documents_folder | none | no | documents.user | in clear | The folder this one sits in |
description | longtext | none | no | documents.user | in clear | What belongs in the folder |
documents_document
A contract, policy, certificate or other document on record
Read group: documents.user. Write group: documents.user.
| Field | Kind | Data class | Personal data | Group | Agents see | Description |
|---|---|---|---|---|---|---|
title | text | none | no | documents.user | in clear | Document title |
folder_id | ref → documents_folder | none | no | documents.user | in clear | The folder the document is filed in |
kind | select (contract, invoice, policy, report, certificate, other) | none | no | documents.user | in clear | Type of document: contract, invoice, policy, report, certificate, other |
confidentiality | select (public, internal, confidential, restricted) | none | no | documents.user | in clear | Who should see it, as a label for readers: public, internal, confidential, restricted |
owner | text | internal | yes | documents.user | masked | Name of the person responsible for the document |
reference | text | none | no | documents.user | in clear | Reference number, for example a contract number |
location | text | none | no | documents.user | in clear | Where the file is stored, such as a link or archive box |
expires_on | date | none | no | documents.user | in clear | Date after which the document is no longer valid (YYYY-MM-DD) |
summary | longtext | none | no | documents.user | in clear | What the document says, in a few lines |
state | select (draft, published, archived) | none | no | documents.user | in clear | Document status: draft, published, archived |
Workflows
documents_document
| Action | Moves | Who may run it | Approval |
|---|---|---|---|
documents_document.publish | state: draft → published | documents.user | no |
documents_document.archive | state: published → archived | documents.manager | no |
Permission groups
Groups used by this app:
documents.managerdocuments.user
Approval steps
No step in this app needs an approval, apart from deleting records.
What agents can and cannot do
An agent can read, search, create and update records of this app, and run the actions that need no approval, within the permission groups of its token.
It can only propose these steps, and a person must approve them: documents_folder.delete, documents_document.delete.
Personal data is masked as placeholder tokens: documents_document.owner.
Dependencies
None.
Install
Install it from the Customize app (Marketplace), or from the command line:
obop modules install-from documentsNeeds a database and administrator rights.