Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
SimpleOne supports attaching attaching files to existing or newly created records.
The files can be attached in three ways:
- via the attachment action and Image field.
- via the attachment widget.
records. See the Attachments article to learn how to upload, download and delete files attached to a record using the portal or agent interfaces. This article provides information on how to configure various aspects of the system related to attachments:
- configure attachment actions in the interface.
- manage attachment records.
- parsing.
- monitor the system logs.
- set the system properties.
- configure access to attachments.
Attachment in interface
Anchor action action
action | |
action |
Action and Image field
You can attach files to a field ofImage type and a record with the attachment action. The action is displayed on forms as the paper clip icon .
The screenshot below illustrates two attachment actions on the record form:
Attachment widget Anchor widget widget
widget | |
widget |
Attachments can be added via an attachment widget in the agent interface. For this, you need to use the <attachment> SimpleTag within a certain widget instance. It is unnecessary to specify the recordId, tableName attributes for the <attachment> tag located on the page with the form. Therefore, a widget template with an attachment tag will look like this:
Code Block |
---|
<attachment> </attachment> |
Info |
---|
After adding a widget instance to a form of the agent interface, the standard action You can add files from the clipboard to the widget directly on the form by using Ctrl+V shortcut while hovering over Drag & drop area. |
Add and manage attachments
You can attach files in the following ways:
by clicking Select files and adding them via the file manager.
by dragging and dropping files in the window.
by pressing the Ctrl(Cmd) and V keys on your keyboard to paste an image from the clipboard.
by clicking Add files and selecting them via the file manager if files have been uploaded before.
Image Removed
Upload a file
To attach a file to some record, complete the steps below:
Navigate to a record you need to work on.
Open the Attachments window:
Click the attachments icon
Image Removed in the top right corner.
Click the attachments icon
Image Removed near the field name.
Attach the file you need. Attached files appear at the top of the form or near the field name.
Close the Attachments window to return to the record.
Click Save or Save and exit.
Info |
---|
When uploading a file via the attachments icon in the top right corner, you do not need to save the record. Attached files are automatically saved on the server. |
The picture below illustrates the attachment window:
Image Removed
Delete a file
To delete a file uploaded earlier, complete the steps below:
Navigate to a record you need to work on.
Open the Attachments window:
Click the attachments icon
Image Removed in the top right corner.
Click the attachments icon
Image Removed near the field name.
Delete a file or files in the following ways:
If there is one file, click Delete.
If there are several files, point the cursor to a file you want to delete, click the three-dots icon
Image Removed, and then select Choose. Repeat for other files you want to delete. Click Delete.
Image Removed
Click Select all and Delete to remove all uploaded files.
Close the Attachments window to return to the record.
Click Save or Save and exit.
Info |
---|
When deleting a file via the attachments icon in the top right corner, you do not need to save the record. Attached files are automatically deleted from the server. |
Copy a file
To copy attachments, use the server-side scripts. You can use one of the following ways:
Use the base64 object of the original attachment. Due to the specifics of the readBase64 method, the maximum size of the copied file is 10 Mb.
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
const attachmentRec = new SimpleRecord('sys_attachment');
attachmentRec.get('167654133500015741');
ss.info(`Original size bytes: ${attachmentRec.size_bytes}`);
// Info: Original size bytes: 92414492
const attach = new SimpleAttachment();
const base64Value = attach.readBase64(attachmentRec.sys_id);
const attachCopyId = attach.writeBase64(
attachmentRec.record_document_id,
'copy_of_' + attachmentRec.file_name,
base64Value,
attachmentRec.mime_content_type
);
if (attachCopyId) {
attachmentRec.get(attachCopyId);
ss.info(`/record/sys_attachment/${attachCopyId}`);
// Info: /record/sys_attachment/167654428100399185
ss.info(`Copy size bytes: ${attachmentRec.size_bytes}`);
// Info: Copy size bytes: 0
} |
Use the SimpleAttachmentService class. The maximum size of the copied file depends on the instance-wide limit that is specified in the max_file_size_upload system property.
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
const attachmentRec = new SimpleRecord('sys_attachment');
attachmentRec.get('167654133500015741');
ss.info(`Original size bytes: ${attachmentRec.size_bytes}`);
// Info: Original size bytes: 92414492
const importSource = new SimpleRecord('sys_import_source');
importSource.get('167647710807446665'); // From Incident Import Source
const docId = ss.getDocIdByIds(importSource.sys_db_table_id, importSource.sys_id);
const attach = new SimpleAttachment();
const attachUrl = attach.getAttachmentUrlById(attachmentRec.sys_id);
const simpleAttach = new SimpleAttachmentService();
const docID = ss.getDocIdByIds(importSource.sys_db_table_id, importSource.sys_id);
const attachCopyId = simpleAttach.createAttachmentByUrl(attachUrl, docId, `Copy_of_the_${attachmentRec.file_name}`);
if (attachCopyId) {
attachmentRec.get(attachCopyId);
ss.info(`/record/sys_attachment/${attachCopyId}`);
// Info: /record/sys_attachment/167654472004676912
ss.info(`Copy size bytes: ${attachmentRec.size_bytes}`);
// Info: Copy size bytes: 92414492
} |
Attachment record Anchor record record
record | |
record |
When you upload a file, a record is created in the Attachment (sys_attachment) table. To reach these records, navigate to Attachments → All Attachments.
Attachment record form fields
Field | Mandatory | Description |
---|---|---|
Document record | N | Displays the name of the record to which the file is attached. Field type: Document ID. |
File name | Y | Specifies the file name. |
File path | N | Specifies the absolute file path on the server. |
Size bytes | N | Defines the file size in bytes. |
MIME content type | Y | Specifies the file content type described in the MIME standard. |
Public | N | This attribute displays that this attachment has a permanent link and is available for public access. |
Parsing Anchor parsing parsing
parsing | |
parsing |
Parsing
Parsing and indexing
Parsing and indexing attachment content is possible only if the attachment file size is under does not exceed 30 MB. The limit is fixed and cannot be modified. If the file is bigger than 30 MB, it will not be indexed. The warning message related to the indexation is written to logs. You will be able to find more information later in the Main Log (sys_log) table using the criteria below for the filter:
Level IS Warning
Message Contains {Attachment ID}
Indexing is performed only for specific file formats. The Content field on the Attachment form will be automatically filled with the text content of the attached file if the file extension is included in the list: TXT, INI, REG, CVS, JSON, HTM, HTML, DOC, DOCS, XLS, XLSX. The Full text search is enabled within the Content field, which allows you to perform a global search on the field's content.
Note | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
The attachment parsing and indexing process is asynchronous. Within this process, the following events are implemented:event is implemented:
|
Attachment
Download URLAttachment links can be used for various purposes:
- downloading a single file from attachments.
- download all files from attachments as an archive.
- using a link to a file from attachments in HTML tags.
Apart from this, links can also be used to:
- add images to the body of the HTML field.
- add images to the widget by setting the value of the scr attribute.
Attachment records can be public or non-public. The publicity of attachments affects whether an attachment link will have an expiration date.
- Links to public attachments do not expire.
- Non-public attachments have a lifetime of 1 hour by default from the moment they are generated. The lifetime of a link is determined through the system property s3.presigned.link.lifetime.
The Public attribute on the Attachment form defines the publicity of attachments.
To generate attachment links, log in and use the relative link /attachments/${sys_attachment.sys_id} to download attachments. You can also use the getAttachmentUrlById(attachmentId) method to generate a link via the API. For more information, see the SimpleAttachments article.
Depending on the publicity of an attachment, two links can be generated. For example:
logging Anchor log log
log | |
log |
The system logs all operations (except for reading) in the Main Log (sys_log) table. Operations related to attachments have the Source field value equal to Attachment. Navigate to System Logs → Main Log.
Image Added
If any errors or exceptions were thrown during the attaching process, they can be found in the Exception Log (sys_log_exception) list. Navigate to System Logs → Exception Log.
Refer to the System Audit article to learn more.
Configure attachment properties Anchor property property
property | |
property |
To set up attachment properties, complete the following steps:
- Navigate to System Properties → All Properties.
- Find the property record you need, using the list search boxes or the condition builder, and open it.
Edit the Value field.
Click Save or Save and exit to apply the changes.
Property | Description |
---|---|
max_files_upload_count | Maximum number of files that can be uploaded. |
max_file_size_upload | Maximum file size (in bytes) that can be uploaded. |
allowed_upload_file_extension | File types that are allowed for uploading. List the extensions separated by commas without spaces, for example, jpeg,png,pdf. Files of other types will be ignored. To allow all types of files, type []. |
Access to attachments Anchor access access
access | |
access |
Using the Access Control List (ACL), you can restrict operations on Image columns for users with specific roles.
Role required: security_admin.
Restrict access to fields of Image type
To restrict access, perform the following steps:
Navigate to System Security → Access Control (ACL).
Click New and fill in the fields.
In the Column field, select the image column you need to secure.
Click Save or Save and exit to apply the changes.
As a result:
- There will be restrictions on creating, editing, and/or reading columns in a specific table.
- The specified rules will be applied to the portal forms as well.
The table below describes the effect of the operation restrictions on an image field:
Operation | Description |
---|---|
create | The field is not displayed on a new record form and appears after saving the record. |
read | The field and its contents (attached files) are hidden. |
write | The field is read-only. |
Restrict access to attachments
- Attachments can only be uploaded by a user with rights to create records in the Attachments (sys_attachment) table, and with rights to edit records to which they are trying to upload an attachment. To prevent a user from uploading an attachment, set up access control to one of these operations.
- Attachments can be deleted by a user with rights to delete records from the Attachments (sys_attachment) table, and with rights to edit or delete the record from which they are trying to delete an attachment.
- Attachments can be downloaded by a user with rights to read the Attachments (sys_attachment) table and the record to which the attachment is attached.
- Copying can be done by a user with read access to the table of the record to which the original attachment is attached, and with edit access to the table in which the copy is being made.
You can supplement the existing access control rules for the Attachments (sys_attachment) table with new rules containing other conditions. New rules should not contradict the existing ones. To do this, complete the steps below:
Navigate to System Security → Access Control (ACL).
Click New and fill in the fields.
In the Table field, select the Attachment table.
Click Save or Save and exit to apply the changes.
See the Access Control articles to learn more about access limitations
for public attachments: https://s3-{your-instance-url}/public-attachment/9/b7/prp5bikeyg70mpn7mhfszi4amgzleo?response-content-disposition=inline%3B%20filename%3D%22image.png...
Table of Contents | ||||||
---|---|---|---|---|---|---|
|