Execution context
Ninox executes transactions either in the client or on server
On one hand, which transaction is executed on server or in the client depends on its type (read or write). On the other hand, it also depends on whether the transaction was triggered in the web app or the native app.
ℹ️ Note: A client is the program that is executed on an end device of a network, communicating with a server. Depending on what needs to be done, Ninox executes an instruction directly at the client or at the server.
| Description | Transaction type | Web app – Public or Private Cloud app.ninox.com or your custom cloud |
Native app – Public or Private Cloud |
|---|---|---|---|
| Data management | |||
| ➡️ Create | Write | Server | Client |
| ➡️ Change | Write | Server | Client |
| ➡️ Delete | Write | Server | Client |
| ➡️ Load views | Read | Server | Client |
| Scripting | |||
| ➡️ General (no data change) | Read | Client | Client |
| ➡️ General (at least one data change) | Write | Server | Client |
| ➡️ select | Read | Server | Client |
| ➡️ do as transaction | Read / Write | Server | Client |
| ➡️ do as server | Read / Write | Server | Server |
| ➡️ do as deferred | Read / Write | Server | Server |
| ➡️ do as database | Read / Write | Client | Client |
| ➡️ Trigger after open | Read / Write | Client | Client |
| ➡️ Trigger on new record | Write | Server | Client |
| ➡️ Trigger after update | Write | Server | Client |
❗IMPORTANT:
Any script execution in the server (certain triggers in web, or any use of "do as server / transaction") is performed with elevated rights, meaning these scripts can both read and write fields regardless of their role restrictions, even if the user who triggered the execution does not possess the appropriate roles. This is an intended feature and requires builders to take role restrictions into consideration when determining the required execution context.
4 replies
-
does the native app include the mac OS app, in this table?
