Skip to main content Skip to complementary content

Collaboratively developing data load scripts in shared spaces

You can collaboratively develop app and script load scripts with other members of a shared space.

By default: 

  • Only the app owner can use Data manager and Data load editor to add data to an app, build the data model, and load data into their app.

  • Only the script owners can use Script to add data to a script and export data.

The Can edit data in apps user role allows other users in the shared space to use Data load editor and Data manager in apps they do not own and Script in scripts they do not own.

Information noteThe Can edit data in apps user role also allows users to make changes to the logical models and vocabularies of apps in the shared space. For more information, see Co-developing business logic in shared spaces.

When one user is editing the load script in Data load editor, the script is locked for other users. The script remains locked until:

  • The app or script is reloaded.

  • Two minutes pass after the last changes to the load script.

Changes made by different users are automatically saved as versions in History. Users can review changes between different script versions in History. For more information on managing script versions, see Managing load script history.

Data load editor locked by another user

Data load editor locked for editing by another user.

Data model co-development and reload schedules

If an app is set to reload automatically on a schedule, it is important to be aware of how ownership of its reload schedule can change when more than one user can edit the load script. This is important because scheduled reloads run on behalf of the access that the reload schedule owner has to the app and its data sources.

If a user other than the reload schedule owner modifies the script by making edits in Data load editor (or by loading data in Data manager), ownership of the reload schedule is transferred to them in most cases. However, if this user is already the most recent user to edit the script, the ownership of the schedule will not transfer to them. This functionality allows the most recent load script editor to optionally edit the reload schedule.

Using Data manager in an app with co-development is not recommended.

Considerations for tabular report developers

The distribution list of an app controls who can receive tabular reports generated by app report tasks. When you create or edit the distribution list, you could become the owner of the app's reload schedule, if it has one.

To learn about the rules governing ownership of reload schedules, see Ownership of reload schedules.

Collaborative development and Data manager

It is recommended to only use Data load editor when collaboratively developing the data model in apps.

Data manager does not directly impact the load script outside of the Auto-generated section. Updates to the data model made in Data manager are not saved to the load script until a user in Data manager clicks Load data. As a result, Data manager is not locked when the load script is locked. Users are informed when another user is editing the load script, however.

In a co-development scenario, if a user in Data manager makes changes while another user is working in Data manager, their changes could be lost when the other user clicks Load data.

When Data manager uses synchronized tables from Data load editor, Data manager is not locked when a user is working in Data load editor. Depending on how the load script was changed by another user, changes in Data manager may be lost if the load script has been edited in the interim.

If you load data in Data manager, you will possibly become the new owner of any scheduled reload the app or script has. If you are already the most recent user to edit the load script, the ownership of the schedule will not transfer to you.

Limitations

Script co-development has the following limitation:

  • Buttons added to sheets that have the reload data action cannot load data while the script is locked for editing.

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – let us know how we can improve!