Persist data from Apps

Apps in Domino do not automatically save file changes back to your project’s repository. This differs from Workspaces or Jobs, which can commit outputs at the end of execution.

If your App needs to persist results, such as saving user input, logging events, or generating output files, you’ll need to handle persistence directly within your App code.

Ways to persist data from an App

You can persist results using any of the following approaches:

  • Mounted Datasets: Datasets provide read/write storage and are versioned independently from your project files. Use them to store:

    • Generated files

    • Log outputs

    • Snapshots or other intermediate results

  • Databases or External Data Sources: Use standard client libraries to write to:

    • SQL or NoSQL databases

    • Cloud object storage (e.g., S3, Azure Blob)

    • Enterprise data warehouses (ensure your runtime environment has credentials and network access)

  • APIs: Your App can invoke internal or external APIs to:

    • Record state

    • Send metrics or events

    • Trigger workflows

    • Store data in external services

Concurrency considerations

Apps can serve multiple users at the same time, which means your app code must be designed to handle concurrent access safely.

Important

Domino does not serialize or isolate access to shared resources across App users. You are responsible for implementing any necessary safeguards in your App code.

Here are important safeguards:

  • Use locking mechanisms or atomic operations if multiple users write to the same resource.

  • Prefer per-user namespaces, directories, files, or database tables to isolate individual user actions.

  • Watch for race conditions or state inconsistencies, especially in long-running or interactive Apps.

Next steps

  • Apps in Domino gives an overview of how apps work within the Domino ecosystem.

  • Create and publish an App has instructions on creating and publishing your Apps, customizing the App’s URL, and sharing Apps with authorized users.

  • Learn more about how Apps in Domino run and what identity and permissions are used.