Automated Document Saving: Autosave
Introduction to the autosave feature in BizzStream Aero, designed to enhance user efficiency. This guide will walk you through configuring autosave and ensuring your documents are always up-to-date.
Autosave Configuration
Configuring autosave is a straightforward process that occurs at two levels: the document definition and the layout.
Enabling Autosave at Document Definition
To enable autosave for a specific document definition, administrators need to follow these steps within its properties:

- Access Document Definition Properties: Navigate to the document definition that you want to have autosave enabled.
- Enable Autosave: Check the "Allow Autosave" checkbox. This makes the autosave feature available for documents using this definition, acting as a prerequisite for enabling it at the layout level. It does not immediately apply autosave to all documents using this definition.
- Select Save User Action: Once autosave is enabled, a new dropdown labeled "Save User Action" will appear. You must select a predefined user action from this list. While typically a standard save action, it can be configured to trigger other user-defined actions, ensuring the selected action correctly saves document changes.
After configuring, save your changes to activate autosave for documents using this definition.
Configuring Autosave at the Layout Level
In addition to the document definition, autosave must also be enabled within each specific layout where it's intended to operate. This provides flexible control, allowing you to enable autosave for a document definition in one layout while keeping it manual in another.
- Access Layout Properties: Go to the layout where you want to activate autosave.
- Enable Autosave: Check the "Enable Autosave" checkbox within the layout's properties. This acts as the final activation switch for autosave within that specific layout.

After completing these steps at both the document definition and layout levels, save all changes to activate the autosave feature for this layout.
Conclusion for Configuration
You have now successfully configured autosave for your document definition and enabled it for specific layouts, ensuring documents are automatically saved based on your specified user action.
Important: Autosave can only be enabled in a layout if the "Allow Autosave" checkbox is also enabled at the document definition level. Additionally, you cannot add a dataset to an autosave-enabled layout if its associated document definition does not have "Allow Autosave" activated.
Important Considerations for Autosave
The decision to implement Autosave should be based on a careful assessment of the specific process that is being performed, also considering user experience and data types.
Performance Impact of the Save User Action
The "Save User Action" selected at the document definition level dictates what operations are performed during each autosave event. While this can include complex logic beyond a simple save (e.g., calculations, integrations, data transformations, API requests), it is crucial to understand the implications:
-
Impact of Complex Actions: If the selected user action performs extensive calculations, triggers multiple backend processes, or integrates with external systems (API calls), Running this action frequently (with the use of autosave) can significantly impact system performance and user experience.
-
Recommendation: It is highly recommended to keep the "Save User Action" as lightweight as possible for optimal autosave performance. Ideally, it should be limited to actions strictly necessary for persisting data and essential validation. Making sure any non-critical or heavy-duty logic is only triggered by other user action buttons or events.
When to Use and When Not to Use Autosave
Choosing whether to enable autosave depends on the specific workflow and document type.
Scenarios Where Autosave is Recommended
Autosave is highly beneficial in the following contexts:
- High-Frequency Data Entry & Iterative Work: Ideal for documents where users are continuously entering or modifying data (e.g., forms, reports, or data collection interfaces), especially those that undergo frequent revisions without requiring explicit "finalization" at each save point.
- Minimizing User Burden: When users spend extended periods working on a single document, reducing the risk of data loss due to unforeseen interruptions and simplifying the user experience by allowing focus purely on content.
- Efficient Grid Editing: For documents utilizing inline editing within grids, Autosave significantly streamlines data entry and modification by automatically saving changes as they are made.
Scenarios Where Autosave is NOT Recommended
Autosave may not be suitable, or manual saving might be preferred, in these situations:
- Highly Sensitive Data: For documents representing critical financial transactions, legal agreements, or other highly sensitive data where each save operation must be a deliberate, user-confirmed action (e.g. when calculations are done with different fields).
- Complex Multi-Step Processes: Autosave is not suitable if your document requires several related changes that must be saved all at once as a complete set.
- User Preference: In environments where users are accustomed to and prefer explicit control over saving, introducing autosave might initially require additional management changes.
User Interface Indicators
Users are kept informed of the autosave status through clear icons displayed in the top right of the header in the document layout:
- All changes were saved successfully: (
) Indicates all modifications have been successfully saved. - Autosave cannot be executed: (
) Signifies autosave is halted, usually due to a validation issue. - Changes are being saved: (
) Informs the user that an autosave operation is in progress.
Autosave Inner Workings
The Autosave system ensures that changes are saved automatically, minimizing the risk of data loss and reducing the need for manual saves.
Autosave Triggers
| Event | Description |
|---|---|
| Field change | Whenever a user modifies a header field, an autosave is registered. |
| Grid line blur | When a user finishes interacting with a line in a grid (i.e., the line loses focus), autosave is registered. |
Interaction with Validation
Autosave depends on successful data validation. It will not save if validation fails. Two types of validation are performed:
- Client-Side Validation: If there are unresolved validation issues on your screen, autosave will not proceed until they are corrected.
- Server-Side Validation: If an autosave attempt results in server-side errors, the process will be blocked until these issues are resolved.
Autosave Behavior
- Debounced execution: Autosaves are debounced with a 1000ms delay to prevent excessive saving during rapid edits. This means autosave will only run after 1 second of inactivity following a change.
- Autosave during field updates: If the processing of a field update is still ongoing, the autosave requests are buffered and executed only after the processing is finished.
- Dataset and row-level independence: Even though autosave is enabled for a layout, autosaves trigger independently on each dataset. Furthermore, in a Document List dataset, this independence is also applied per each document in the list. This means, each document can be saved without waiting for the other, in case of rapid updates.
- Layout destroy: Before a layout can be destroyed (e.g. the user closes the layout), any buffered autosave is first flushed and executed, then the navigation occurs. This ensures data persistence and prevent the "layout is dirty" confirmation dialog.
- Layout actions: Before executing any layout action (e.g. a workflow action), any buffered autosave is first flushed and executed, then the navigation occurs.