Skip to main content

Documents plugin

The Documents plugin is a tool to manage End-User License Agreements (EULAs), GDPRs and other type of documents within the platform. This plugin enables users to read, accept, and track documents, ensuring compliance. A user can view its accepted documents in 'Settings and profile' -> 'Documents'.

Configuration​

To enable the functionality, set the following value to true in the core configuration:

# inside your values.yaml
ui:
appConfig:
# ... other configurations ...
mesh:
documents:
requireDocumentAcceptance: true

Adding a document​

To add a document in the database, you can initiate a POST request to api/documents/. This request should be appropriately authorized with a Bearer token, for which the user must possess the RBAC role documents.document.insert. Additionally, the request must include following metadata in the body, using the multipart/form-data body type:

  • name: the name of the document.
  • acceptance_type: Can be one of 'MANDATORY', 'ACKNOWLEDGMENT' or 'CONSULTANCY'.
  • content: the file of the document.
  • mime_type: the mime_type of the document.
  • enabled: a boolean value, indicates if the document is active.

Additionally, you can specify additional optional info:

  • description: a short description of the document.
  • document_type: the type of the document, e.g. GDPR, EULA.

Using cURL​

Here is an example of a cURL request:

curl --location 'http://ui.witboost.com/api/documents/' \
--header 'Authorization: Bearer {your_token}' \
--form 'name="MyDocument"' \
--form 'description="An example document"' \
--form 'document_type="EULA"' \
--form 'acceptance_type="MANDATORY"' \
--form 'content=@"/path/to/file.pdf"' \
--form 'mime_type="application/pdf"' \
--form 'enabled="true"'

Using Postman​

You can also use Postman to send the HTTP request. Make sure to use form-data as body type. For the content parameter you can change its type to 'File' instead of 'Text', and Postman will let you select a file in your local file system.

Managing documents​

Acceptance type​

The acceptance type of a document modifies its behaviour. It can be one of [ MANDATORY, ACKNOWLEDGMENT, CONSULTANCY ].

  • Mandatory: the user will be shown the document and he can choose to accept or reject the agreement and, if rejected, he cannot use the platform.
  • Acknowledgment: the user will be shown the document, and he can confirm having read it.
  • Consultancy: the user will not be shown the document at login. If he wants to, he can actively search and read the document in the documents consultancy page.

Document consultancy​

Other than the popup, the user will have a dedicated window in the 'Settings and profile' section of the platform to consult already accepted documents. Documents that are not enabled will not be shown.