Advanced List Features

Notifications

When a user adds or edits a list row in an app, all other users will receive an in-app notification as well as push notification notifying them about the update.

DefinitionDescriptionValuesExamples
listdatanotifications=;With this flag the app creator is able to activate this behavior with the flag listdatanotifications=true.true/false
default: false
listdatanotifications=false;
datanotificationcolumns=,,;You can use this definition in your list to specify specific columns that should trigger sending of "new data available" notifications to other users of the app.

If this definition is available, "new data available" notifications will only be send if one of the columns in this definitions (1 or 3 or 6 in the example here) is changed. If the user only changes columns NOT listed in the definition then no notifications will be send at all.

Default for the new definition is null/empty list. In that case, any change to any column triggers the notifications (default behavior).
index: Column list indexdatanotificationcolumns=1,3,6;

High performance database apps

High performance database apps do not store lists rows in the Excel itself but rather in a database. This enables us to build high-performance apps which can cope with large amounts of data that Excel alone couldn't handle.

DefinitionDescriptionValuesExamples
databaselists=If this flag is true, when a user inserts or updates a list row in an app, we are not going to write this change to Excel but rather into a NoSql database (Microsoft Azure Cosmos DB). Afterwards, when the user downloads the Excel file of his app, we are going to download the list data from the NoSql database first and inject it into the Excel file.

When an app is deleted, all rows that belong to that app will be deleted from CosmosDB.
true/false
default: false
databaselists=true;
databaselists_userfilter=Now that we have the possibility to store list data in a database rather than the Excel itself, we are going to extend this feature to offer users user-specific list data! We'll introduce the option that every user of an app can see his very own data. If two users open the same app they will see different data.

If this flag is true, our database will filter all the list data according to the user's id.

In the end, when setting databaselists=true and databaselists_userfilter=true, apps should only show user-specific data. I.e. if user1 and user2 create rows, user1 can only see rows user1 created and user2 can only see rows user2 created. User1 and user2 can also only edit/delete rows the have created.
true/false
default: false
databaselists_userfilter_adminseesall=The flag disables user filtering for admins and shows them all list entries instead of only the list entries created by the user himself.true/false
default: false
useremailcell=The email address of the person who opened the app can be passed to a specific cell in the data source using the app definition.useremailcell=Table1!A1;
databaselists_emailfiltercolumns=:;:;databaselists_emailfiltercolumns=Sheet1!C5:3; (for a list starting at Sheet1!C5 and the email being in column 3 (1-based))

multiple lists can be configured by simply separating the definitions by comma, e.g.
databaselists_emailfiltercolumns=Sheet1!C5:3,Sheet2!A1:1;
databaselists_asyncimport=true/false
default: false
databaselists_disableimport=Ensures that the existing data is transferred during an Excel upload.true/false
default: false
asynclists=true/false
default: false
autorecalc=true/false
default: false
disableserverrecalc=true/false
default: false
manualrecalc=true/false
default: false