Skip to main content

Uploader widget

The Uploader creates one record per selected file on a target object. Use it when each file needs its own row (and optional metadata), typically as children of a parent record on a detail or edit page.

Do not model this as “many files in one File field”: a File field stores a single blob per record. Per-file metadata and a parent link belong on child records.

Typical scenarios:

  • attach several supporting documents to a case, each as its own Document row;
  • upload photos into a gallery object linked to the current project;
  • let partners drop multiple contracts into a portal, with status/type set by tasks.

Prefer the Importer for CSV/Excel row batches. Prefer a normal form File field when the user uploads exactly one file into the current record.

Data model​

  1. Define a child object (for example Document) with:
    • a File (or Image) field for the blob;
    • a Reference to the parent object;
    • any metadata fields (type, status, notes, …).
  2. On a parent detail/edit page, add a grid or gallery of child records filtered to the current parent.
  3. Add an Uploader for the child object — preferably the picker entry that connects it to the current page’s parent (for example upload Document files connected to the current page’s Case). That seeds a widget task which sets the parent reference from page_current on each created record.

Builder settings​

  • File field — which File/Image field receives each blob (auto-selected when the object has exactly one).
  • Tasks — run once per created record (same pattern as the Importer). Use them for the parent FK (auto-added when connected), literal defaults, and computed metadata.
  • Follow-up — redirect or message after a successful batch.

You can also restrict which formats the File field accepts — see Allowed file types.

Live behaviour​

  1. The user selects one or more local files, and/or
  2. When SharePoint import is enabled, Browse SharePoint opens the picker in multi-select mode; each pick is staged like a form SharePoint import.
  3. On submit, for each local upload or staged remote file the Uploader:
    • inserts a child record with the filename;
    • stores the blob on that record;
    • runs widget tasks with view_current bound to the new row.

Ordinary form File fields remain single-file (including their Browse SharePoint control).