File Component

Estimated Reading Time:  17 minutes

TIP  Before using the File component, please review our Working With Files in Unqork article to better understand expectations and limitations when working with files.

Overview

The File component lets your end-user End-users, also known as Express Users, are the individuals accessing an application through Express View. In most cases, end-users are the customers using the product. upload files, like supporting documents or scanned images. This component adds an easy-to-use file uploader element to your applications so end-users can drag and drop files into the component area or use a browse function to select a file to upload.

Here are some scenarios when you'd use a File component:

  • A mortgage application where the end-user needs to upload financial documents.

  • A job application where the end-user uploads their resume.

Once uploaded, files store in a data object. The data object contains the following:

Uploaded files become available to view, download, or delete as needed. How end-users access the file is intentionally dependent on the end user’s OS OS (operating system) is the program that manages other application programs on your computer.:

  • Desktop (Mac/Windows/Linux): The file opens in the desktop’s native file browser.

  • Mobile (iOS/Android): Mobile devices typically allows the end-user to open the file using the photo library, file app, or camera app.

You'll find the File component in the Data & Event Processing group to the left of the Module Builder.

What You'll Learn

After completing this article, you’ll know when to use a File component, how to configure its settings, and how to use it in a module.

About the Configuration Window

General

A static image displaying the General Settings panel of the File component.

Setting

Description

Property ID

A Property ID is the unique field ID used by Unqork to track and link components in your module.

The Property ID is how the software identifies your component. Using Property IDs lets you link components, creating logic-based configurations and API APIs (application programming interfaces) are a set of protocols and definitions developers use to build and integrate application software. APIs act as the connective tissue between products and services. calls.

Property IDs must use camel case A naming convention for computer programming. Use camelCase for Property IDs, for example: newUser, lastName, & rdoButton. (stylized as camelCase) without spaces or punctuation.

Notes Notes icon

Select this tab to display the component's Notes area. You can use notes to keep your teammates informed.

The Notes editor offers a semi-WYSIWYG (What You See is What You Get) content editor. Built to look like a word processor, this editor lets you create, edit, and format your notes. Notes save when saving the component.

Display Icon Display

Select this tab to manage your component's display settings.

Actions Icon Actions

Select this tab to manage your component's actions settings.

Data Icon Data

Select this tab to manage your component's data settings.

Validation Icon Validation

Select this tab to manage your component's validation settings.

Advanced Icon Advanced

Select this tab to manage your component's advanced settings.

Permissions Icon Permissions

Select this tab to see the RBAC RBAC (Role-Based Access Control) is a method to control system access for authorized users. The role in RBAC refers to the levels of access employees have to a network. (role-based access control) settings of the component.

Field Tag Icon Field Tags

Assign components one-word labels to help organize, identify, and group the components in your application.

Consider an example from the API Specification Snippet: Field Tags are applied to Hidden components in the panelRequest and panelResponse Panels. The Field Tags identify the data type of parameters included in the API APIs (application programming interfaces) are a set of protocols and definitions developers use to build and integrate application software. APIs act as the connective tissue between products and services. request and response. The API Docs Dashboard tool populates with information about each parameter’s data type, identified by the Field Tag.

Field Tags act as a type of Property ID A Property ID is the unique field ID used by Unqork to track and link components in your module. group and let you group components for configuration purposes. Field Tags let you target two or more components using a simple logic component.

For example, add the Field Tag tagForDecision to multiple components in your module. Open the Inputs table of a Decisions component and reference the tagForDecision Field Tag as the input of the Decisions component. The output of the Decisions component then affects all components with the tagForDecision Field Tag.

Save your Field Tags by pressing Enter (Return) or adding a comma after each entry.

Shortcuts Icon Shortcuts

Select this tab to open the list of supported keyboard shortcuts you can use in the component settings modal. Keyboard shortcuts include:

  • Cmd + S (Mac) / Ctrl + S (PC): Save and close the component settings modal.

  • Cmd + G (Mac) / Ctrl + G (PC): Opens a search window to find specific fields and settings in the component settings modal.

  • Tab: Tab to the next field or setting in the component settings modal. This keyboard shortcut tabs left to right and top to bottom.

  • Shift + Tab: Tab to the previous field or setting in the component settings modal. The keyboard shortcut tabs from right to left and bottom to top.

  • Enter (Return): When tabbing to a Tooltip Icon (tooltip), press Enter (Return) to display the field or setting tooltip. Press Enter (Return) again to hide the tooltip.

Additional keyboard shortcuts:

  • Drop-down menus: When you Tab to a settings drop-down, use the keyboard's Up-Arrow Icon (up)/ Down-Arrow icon (down) arrows to make a selection. Then, press Enter (Return) to confirm the selection.

Documentation IconDocumentation

Select this tab to access the component documentation in Unqork's In-Product Help.

Cancel

Click this button to undo any unsaved configuration changes and return to the canvas.

Save & Close

Click this button to save all settings as configured and return to the canvas.

Display Panel

A static image dispaying the Display component's Actions settings.
(click image to expand)

Field Text

Setting

Description

Label Text

Label Text conveys what the input component is and what information it displays. Enter the purpose of the corresponding component or field.

User-friendly labels make your module more accessible. Keep labels short and descriptive (a word or two) using title case. For longer entries, use sentence case.

Default State Options

Setting

Description

Disable User Input

When set to (ON), end-users can’t interact with or edit the Express View's input field or element. When end-users hover over the field, their cursor changes to alert them to the status change.

By default, the Disable User Input toggle is set to (OFF).

Hide Component

Shows or hides the component from view. Setting the Hide Component toggle to (ON) hides the component in Express View. Setting the toggle back to OFF unhides the component.

By default, the Hide Component toggle is set to (OFF).

Contextual Help

Setting

Description

Tooltip

A short hint that displays when an end-user positions their cursor over the Questionmark Icon (Tooltip) icon. Tooltips can display across more than one line.

Formatting

Setting

Description

Allow Multiple Files Selection

When set to (ON), the end-user can select multiple files when browsing for files to upload.

By default, this toggle is set to (OFF).

Display Thumbnail Images of Icons

When set to (ON), uploaded image files render a preview. When set to (OFF), uploaded files display as text with a file icon.

TIP  This setting only works when the Parse Files on Upload and Store Data in Database settings are set to (ON). Doing so ensures the component renders the Base64 encoded string of the file.

By default, this toggle is set to (OFF).

Drop Zone Label Text

Text that guides the end-user to upload a file. The text displays inside the boundaries of the drag and drop area.

By default, the text is Drag & drop your files here, or. The Browse Files Link Text immediately follows this text.

Starting Upload Message

Feedback text that displays when a file begins to upload.

By default, the text displays Starting upload.

Browse Files Link Text

The label text for the link allows end-users to browse their computer for files.

By default, the link text shows as browse.

Drag & Drop Not Supported Message

Text that displays when an end-user's browser doesn't support drag and drop.

By default, the text shows as File Drag/Drop is not supported for this browser.

Header for File Name Column

The header label for the column lists the individual file names.

By default, the header is File.

Header for File Size Column

The header label for the column listing the file sizes.

By default, the header is Size.

Actions Panel

A static image dispaying the File component's Actions settings.
(click image to expand)

Triggers

Setting

Description

Post Upload

Enter the Property ID of a component you'd like to trigger after the file uploads.

Data Panel

A static image dispaying the File component's Data settings.
(click image to expand)

Setting

Description

Store Data in Database

The Store Data in Database setting affects how data persists through your application. When set to (ON), Unqork stores values entered into the field to the database (server-side submission). This occurs in three scenarios:

  • Navigating between Panels in a Navigation component. On navigation between pages (Panels), the component’s value saves to the database.

  • Triggering a module save event using a Button component with an Action Type of Save.

  • Navigating between screens of a workflow. On navigation between screens, the component’s value saves to the database.

NOTE  By default, workflows persist data from all fields in the client-side submission when navigating between screens. However, only values from fields with Store Data in Database enabled store in the server-side submission.

Set the toggle to (OFF) when you don’t want to store the values from this field in the database.

NOTE  When using a Plug-In to remote execute a module, ensure data moving between modules is persistent. You can optionally enable Store Data in Database for components in the source module. But any components in the API module whose values are included in an API response must have Store Data in Database enabled. When a component’s data is not persistent, the data isn't included in an API call's response. So, Plug-Ins or external services requesting data from the API module can't receive non-persistent data in the response. To learn more about Store Data in Database in the context of API modules, see the panelResponse Panel section of the API Specification Snippet article in our In-Product Help.

TIP  Store Data in Database also affects what data is tracked using Unqork’s built-in tracker. When the Enable Tracker and Track Value toggles are set to Toggle On Icon (ON) in Module Settings, only values from fields with Store Data in Database enabled are tracked.

By default, this setting is (ON).

Validation Panel

A static image dispaying the File component's Validation settings.
(click image to expand)

Setting

Description

Required

When set to (ON), the end user must enter a value in the component's visible fields. Set the toggle to (OFF) when an entry is optional.

By default, the Required toggle is set to (OFF).

Required Error Message

A custom error message that displays below a required field. The error message displays when the end-user tries to save or submit the module without completing the required field.

Advanced Panel

A static image dispaying the File component's Advanced settings.
(click image to expand)

Additional Data Options

Setting

Description

Compress .jpg and .png Files

When set to (ON), uploaded images compress. This setting only supports .jpg and .png image formats.

By default, this toggle is set to (ON).

Parse Excel Files with Multiple Tabs

When set to (ON), all tabs of an uploaded multi-tab Excel file parse into a single JSON structure.

By default, this toggle is set to (OFF).

Parse Files on Upload

When set to (ON), the file’s data object updates to a cloud storage link, resolving the base64 string. When set to (OFF), the file’s data object is a reference, with the file stored in the cloud the moment the submission is created.

TIP  For this setting to function correctly, the Store Data in Database setting must be set to (ON).

By default, this toggle is set to (ON).

Additional Styling

Setting

Description

Custom CSS Class

Enter a Custom CSS Cascading Style Sheets (CSS) is a style sheet language used for presenting how a HTML or XML document looks to end-users. Class to apply to your component. Custom CSS lets you maintain a consistent look and feel when the field or element is part of a template or multiple modules.

Updated CSS styling applies to all components that reference this custom class name.

 

Additional Validation Options

Setting

Description

Set Maximum Size

Validation that limits the size of each file an end-user can upload. It might take longer to upload larger files depending on the browser and network connection.

NOTE  This value must be equal to or less than your use case's file size limit. These thresholds are 18 MB, 100 MB, and 500 MB. To learn more about file size limitations, see our Working With Files in Unqork article.

File Size Helper Text

A quick tip explaining the file size limits of your File component.

File Size Error Message

Custom error message that displays below uploaded files that exceed the maximum size.

Accepted File Formats

Setting

Description

Set File Formats to Accept

Sets the file types accepted by this component. To allow the upload of any file type, simply set the field value to *. To limit file types, list the approved file types adding a comma between each value (for example, .jpg,.png,.gif).

Adding a File Component

As an example, let's create a basic File component configuration. This component will prompt the end-user to upload a PDF version of their resume.

1. In the Module Builder, drag and drop a File icon File component onto the canvas.
2. In the Property ID A Property ID is the unique field ID used by Unqork to track and link components in your module. field, enter fileResume.
3. In the Label Text Label Text conveys what the input component is and what information it displays. Enter the purpose of the corresponding component or field. field, enter Your Resume.
4. From the File component's configuration menu, click Validation Icon Validation.
5. Set Required to (ON).

A static image displaying the File component's Validation Settings. The User Input "Required" setting is toggles On.

6. From the File component's configuration menu, click Advanced Icon Advanced.
7. In the Set File Formats to Accept field, enter .pdf.

NOTE  By entering .pdf in this field, the component only accepts PDF files from the end-user.

A static image displaying file component's advanced settings. The Set File Formats to Accept field is set to .pdf

8. Click Save & Close.
9. Save your module.

The File component looks like the following in Express View Express View is how your end-user views you application. Express View also lets you preview your applications to test your configuration and view the styling. This is also the view your end-users will see when interacting with your application. After configuring a module, click Preview in the Module Builder to interact with the module in Express View.:

Data Structure of a File Component

The File component's data stores in submission data Also known as Record Data. Submission data consists of information saved by Unqork components. View submission data by using the angular command, or in Record Collections. as an array of objects. In the example below, the fileResume File icon File component displays the uploaded content in a table. Opening an object in the array displays a set of key/value pairs containing information about the file.

Resources