diff --git a/docs/en/low-code/designer.md b/docs/en/low-code/designer.md index 341b334494..117899d374 100644 --- a/docs/en/low-code/designer.md +++ b/docs/en/low-code/designer.md @@ -65,11 +65,11 @@ Pages can define data grid, kanban, calendar, gallery, standalone form, and dash * Entity * Create and edit forms * Visible grid/card fields -* Exportable fields for Excel, CSV, and file bundles +* Export fields for Excel, CSV, download-link columns, and file bundles * Field labels and column widths * Default sorting * Filter fields and defaults -* Default file/image export output +* File/image export defaults when the page has exportable file fields * Whether file bundle ZIP export is allowed Kanban pages add `groupByProperty`, calendar pages add date/time properties, gallery pages can use an image property, form pages reference a named form, and dashboard pages define rows and visualizations. @@ -78,9 +78,9 @@ Kanban pages add `groupByProperty`, calendar pages add date/time properties, gal Pages are exposed in React under `/dynamic/` and can also appear as dynamic menu items. -The **View Fields** section has separate **Show** and **Export** choices. Use **Show** for fields that should be rendered in the runtime view. Use **Export** for fields that may be included in Excel, CSV, or file bundle output. A visible field can be excluded from export, and an exportable field can be hidden from the page but still available through **Export options > All exportable fields**. +The **View Fields** section controls what users see in the runtime view. The separate **Export Fields** section controls what may leave the page through Excel, CSV, download-link columns, or file bundles. A visible field can be excluded from export, and an exportable field can be hidden from the page but still available through **Export options > All exportable fields**. Use the bulk actions to copy visible fields into the export policy, enable all fields, or disable all fields. -The **Export Settings** section controls page-level file behavior. **Default File/Image Output** selects whether spreadsheet export writes file names, metadata columns, or temporary download-link columns by default. **Allow file bundle export** controls whether the runtime can show **Files (.zip)** for this page. Disable it when files should not leave the system as a bulk download even if individual fields remain visible. +The **File Export Settings** section appears only when the page has file or image fields. **Default File/Image Output** selects whether spreadsheet export writes file names, metadata columns, or temporary download-link columns by default. **Allow file bundle export** controls whether the runtime can show **Files (.zip)** for this page. If all file/image fields are disabled in **Export Fields**, the file output controls stay hidden until at least one file/image field is exportable. ## Forms diff --git a/docs/en/low-code/index.md b/docs/en/low-code/index.md index 3f239388e3..b45d3ce783 100644 --- a/docs/en/low-code/index.md +++ b/docs/en/low-code/index.md @@ -112,11 +112,11 @@ React low-code filters are type-aware. The runtime shows only operators that mak Every dynamic entity page can export data to Excel or CSV. Pages with file or image fields can also export a file bundle as a ZIP. Export requests use the current search, sorting, and filters from the runtime view, so a filtered page exports the matching subset instead of the whole entity. -The React runtime exports visible exportable columns by default. These columns come from the page fields configured in the Low-Code Designer. A field can be visible but not exportable, or hidden but still available in the **All exportable fields** option. Use this when a page should display operational data that should not leave the system through Excel or CSV. Server-only fields are always excluded, and foreign key values are displayed through their configured display property. +The React runtime exports visible exportable columns by default. These columns come from the page-level **Export Fields** settings in the Low-Code Designer. A field can be visible but not exportable, or hidden but still available in the **All exportable fields** option. Use this when a page should display operational data that should not leave the system through Excel or CSV. Server-only fields are always excluded, and foreign key values are displayed through their configured display property. File and image fields are exported as file names by default. Export options can expand those fields into metadata columns or temporary download-link columns. Download-link columns include file name, URL, expiry, content type, size, dimensions, and status. The links are short-lived and should be treated like signed download links, not permanent public URLs. -Use **Files (.zip)** when users need the actual uploaded files. The ZIP contains `manifest.csv` and files under `files/{recordId}/{fieldName}/{safeFileName}`. The manifest records missing, malformed, unlinked, and limit-skipped files instead of failing the whole export. +Use **Files (.zip)** when users need the actual uploaded files. The action appears only when the Designer allows file bundle export and at least one selected file/image field is exportable. The ZIP contains `manifest.csv` and files under `files/{recordId}/{fieldName}/{safeFileName}`. The manifest records missing, malformed, unlinked, and limit-skipped files instead of failing the whole export. Spreadsheet and ZIP exports require a short-lived, single-use download token. The token is bound to the tenant, page, entity, child page, and foreign-access context. File download links use separate short-lived tokens bound to the exported file value. Spreadsheet formula-like text values are escaped before writing CSV or Excel headers and cells. diff --git a/docs/en/low-code/model-json.md b/docs/en/low-code/model-json.md index 2fe241b70c..56630b6ab8 100644 --- a/docs/en/low-code/model-json.md +++ b/docs/en/low-code/model-json.md @@ -260,7 +260,7 @@ Page columns support two independent flags: | Field | Default | Purpose | |-------|---------|---------| | `visible` | `true` | Renders the field in the React page view | -| `exportable` | `true` | Allows the field to be included in Excel, CSV, and file bundle export | +| `exportable` | `true` | Page-level export flag managed by **Export Fields**. Allows the field to be included in Excel, CSV, download-link columns, and file bundle export | If `columns` is present, export uses this list as the page-level export policy. `exportable: false` prevents the field from being exported even if a caller sends the field name manually. Server-only entity properties are never exportable. diff --git a/docs/en/low-code/react-runtime.md b/docs/en/low-code/react-runtime.md index 40c7822f72..b8fe978c79 100644 --- a/docs/en/low-code/react-runtime.md +++ b/docs/en/low-code/react-runtime.md @@ -151,7 +151,7 @@ The URL keeps the existing `lcFilters` query parameter shape. The runtime maps u ## Export -The runtime export button opens a small menu with direct Excel and CSV actions. If the selected page has exportable file or image fields, the menu also shows **Files (.zip)**. Direct export uses the current search, sorting, filters, and visible exportable columns from the page definition maintained in the Low-Code Designer. Use **Export options** when users need a different row, column, or file output scope. +The runtime export button opens a small menu with direct Excel and CSV actions. If the selected page has exportable file or image fields and bundle export is allowed in the Designer, the menu also shows **Files (.zip)**. Direct export uses the current search, sorting, filters, and visible exportable columns from the page definition maintained in the Low-Code Designer. Use **Export options** when users need a different row, column, or file output scope. Available options: @@ -167,6 +167,8 @@ Available options: Spreadsheet export stays tabular. It does not embed file bytes in cells. Use download-link columns when spreadsheet readers need a controlled way to fetch individual files, or use **Files (.zip)** when they need the actual file set. ZIP export contains `manifest.csv` and files under `files/{recordId}/{fieldName}/{safeFileName}`. The manifest reports missing, malformed, unlinked, skipped, and exported files. +The columns available in the runtime export dialog are controlled by the page-level **Export Fields** section in the Low-Code Designer. The runtime cannot use the dialog to bypass non-exportable fields. + The runtime first requests a short-lived token and then calls the Excel, CSV, or ZIP export endpoint. The export token is single-use and is bound to the current page, entity, tenant, child page, and foreign-access context. Temporary file links use separate short-lived tokens bound to the exported record field and blob. Text that looks like a spreadsheet formula is escaped in exported headers and cells. If a caller manually sends a non-exportable field name, the backend rejects the request. | Endpoint | Description |