Administering attachments

Administrators can configure system properties for how files are uploaded and attached to records. Uploading, viewing, and deleting file attachments triggers a single event that can be used for notifications or in scripts.

Attachment tables

When you store an attachment to any table, a record is created in the Attachment [sys_attachment] table that contains attachment metadata. The file data is stored in the Attachment Document [sys_attachment_doc] table, in 4k chunks. For example, if you attach a 12k file called My_attachment.pdf, then there is an Attachment entry with three related Attachment Document entries.

Note: To learn how to upload attachments to records, see Add an attachment.

Activity stream thumbnail scaling

The glide.ui.activity_stream.scale_images property scales large images down and creates thumbnails for the activity stream view of the images.

This property is active by default. It applies to images retroactively, so any attachments included in an activity stream in the past also see the effects.

Maximum dimensions for thumbnails using this property are 525 pixels width by 350 pixels height. The system favors the pixel height first, so you can end up with images that are wider than 525 pixels.

Attaching image files over 5 MB can create an out of memory error and cause the instance to restart. An out of memory error and restart occur when the system generates the thumbnail when you attach a new image. The error and restart can also occur the first time you load existing images on a record.

The administrator can add the com.glide.attachment.max_get_size system property to control the maximum image scaling dimensions.

The following information is entered into the [sys_properties.list] table:
Field Description
Name com.glide.attachment.max_get_size
Type integer
Value 5 MB

5 MB is the base system value. You can change the value as necessary.

With this property set, images that are larger than 5 MB are not scaled and the system creates a link instead. Images smaller than 5 MB are scaled down.

Configure the max image size property for Activity Streams

When attaching an image in an Activity Stream, the system controls the maximum size of the image. Use the com.glide.attachment.max_get_size property to control the maximum image scaling dimensions.

Attachment events and logging

A script action or notification can process attachment events. Only one event is created when action is taken on a record with attachments, even when the record has multiple attachments. The following events are provided.

Only one event is created when action is taken on a record with attachments, even when the record has multiple attachments. The following events are provided.

Table 1. Attachment events
Event Description
attachment.read An attachment has been read or downloaded.
attachment.uploaded An attachment has been uploaded. If multiple attachments are uploaded to a record at one time, only one event is created.
attachment.deleted An attachment has been deleted. This event is also triggered when the record containing the attachment is deleted. If a record is deleted that contains multiple attachments, a separate event is triggered for each attachment in the deleted record.
attachment.renamed An attachment has been renamed.

Attachment logging

When an attachment is downloaded, the attachment.read event record is written, and you can do something with this event. For example, you can record when and by whom certain attachments are downloaded. For this functionality, current is a sys_attachment record, and the event record uses the following parameters:
  • parm1: File name
  • parm2: Table name

Debug attachment indexing

To change debugging options for attachment indexing, add these system properties.

  • glide.ts.index.attachment.debug: When the value is set to true, enables log messages for exceptions that occur when indexing attachments (default is false).

    You can leave this property enabled during normal operations to capture stack trace information about any exceptions.

  • glide.ts.index.attachment.list_terms.debug: When the value is set to true, logs all indexed terms when an attachment is indexed (default is false).

    [Recommended] For optimal performance, set this property to false during normal operations. Only enable this property when you are actively debugging an issue.