Skip to content

# Attached files

The attached files form is used to manage attachments that users have attached to objects.

## Authorization Roles required

Many roles can select this object on other records where approriate. Editing or viewing this object in detail is only available to Users with the following roles:

Full access

- Business administration

Read only access

- Business administration - restricted

## How to access attached files table

Attached files are accessed in the following ways:

- From the `Administration` navigation drawer `Attached files` item

## How attachments are stored

When a user uploads an attachment using the attachments control, AyaNova first creates a unique digital signature of the file and then stores it in the file system (not the database) in a sub-folder under the attachments folder specified by the AYANOVA_ATTACHMENT_FILES_PATH server configuration setting.

The files are not stored under their original name but rather re-named according to their digital signature. The special folder structure in attachments and the renaming are used for three reasons:

1. ensure that there are never more files in a single folder than are permitted under the operating system requirements
2. save disk space by ensuring that identical files are only stored once
3. secure the file names themeselves which may contain sensitive information

## Maximum attachment size

AyaNova has a hard limit of 10GB for a single attachment however the actual maximum may be a lot less depending on the network configuration and what software lies between AyaNova and the end user.

For example when using NGINX as a reverse proxy in front of AyaNova the setting `client_max_body_size` controls how large of an upload is possible and defaults to 1MB. Our example NGINX configuration shows a default of 25MB.

IIS has the `maxAllowedContentLength` setting and Apache has it's own `LimitRequestBody` directive which may need to be configured optimially when used as a reverse proxy in front of AyaNova.

A good security and mistake prevention measure when using a proxy server is to set the maximum attachment size only as large as absolutely necessary for your Users.

## Troubleshooting failures to attach

If a file can not be attached and there is no error message it's very likely an intermediary software package such as a reverse proxy with a limit set causing a maximum attachment size issue. To determine this try attaching a very small file and confirm if it will attach to the same object.

## Menu options

#### Start attachment maintenance job

It is a possibility however unlikely that over time a file could become separated from it's business object. This menu option starts a job that verifies every object and file are present and connected to each other. If an object is found to link to an attachment that does not exist that link will be removed from the database.

If a file is found to be physically present that does not have an object in the database linked to it, it will be linked to a special "nothing" object that will appear in this attachments list as the host object for that file so that the administrator can either re-attach it or delete it (or leave it unattached, there's no harm in doing so if that is useful).

#### Move selected items

This option will "move" one or more selected attachments to a different object.

This option is useful for situations where you want to delete an object but keep the attached files elsewhere or in cases where unattached "orphan" files are found in the maintenance job and need to be re-attached to the correct object.

#### Delete selected items

This option will permanently delete one or more selected attachments from the file system and permanently remove their links to objects in the database.

This option is useful to free up space when there are a large number of files that are no longer required to be stored.

## Data table columns

The data table shows all the attachments that are known to AyaNova, that is, attachments that Users have made to object, not a list of files on disk.

#### Attachment

File name of the attachment. This link will open to the object the file is attached to if it's an openable type.

#### Object

AyaNova object to which the file is attached. This link will open to the object the file is attached to if it's an openable type.

#### Size

Size of the object in human readable units.

#### Notes

Any notes entered about this attachment.

#### File exists

Indicates that AyaNova has confirmed that the file was present the last time an attachment maintenance job was run