Trying to use USERROLE() and had trouble sync...

expressions
#1

Trying to use USERROLE() and had trouble sync’g changes made on mobile app.

If I add USERROLE() (see below) to the “Are updates allowed?” section of the table properties, it is wonderful because non-admin users cannot edit records for specific tables, without having to specify each email address.

This is great!

BUT, if I then try to add a record using my iPhone (signed in as Admin), I can edit the record, but the sync fails with an error of "Table ‘xyz’ does not allow this operation.

I then actually have to delete the iPhone app to kill the cache records and re-install or syncs will never work.

Everything works great if I set the “Are updates allowed?” using the green buttons, but not if I add the Switch statement below in the expression assistant.

Any ideas how to solve?

ps: in case it matters, the source is a google sheet in

a business environment.

SWITCH(USERROLE(),

“Admin”, “ALL_CHANGES”,

“READ_ONLY”)

(Praveen Seshadri (AppSheet)) #2

Hi @Mike_Adler, could you set this up in the app (with the failed sync) and send us the details via www.appsheet.com/support

We can replay the audit log entry and debug what’s going on.

Btw, when there is any such “stuck” sync queue, you do not need to reinstall the app. There is an option in the app menu to reset changes.

#3

@praveen - Thanks very much for the response as figuring out how to use USERROLE() properly will be a big step forward in managing securities for this app.

To make sure I do this correctly, can you help me with two points: 1. how do I “send you the details”?

I assume you mean the “Audit Log” details for the failure.

I am not sure where to post that on www.appsheet.com/support.

Can you advise?

  1. For the “stuck sync”,

I could not find “an option in the app menu to reset changes” in the iPhone app or the desktop.

Does it only show if there are sync errors? UPDATE:

I now see in iPhone app, after a sync error, you can reset changes - thanks!! Customer Support - AppSheet appsheet.com

#4

further info… sync works great if I use:

SWITCH(USEREMAIL(),

“@.com”, “ALL_CHANGES”,

“READ_ONLY”)

I get sync errors (Table ‘xyz’ does not allow this operation) if I use:

SWITCH(USERROLE(), “Admin”, “ALL_CHANGES”, “READ_ONLY”)

(Praveen Seshadri (AppSheet)) #5

In your Users tab, please check the role of the particular user who is syncing the changes. I’m guessing they are in the ‘User’ role, not the ‘Admin’ role

(Praveen Seshadri (AppSheet)) #6

To your earlier question, the support page has the option for “Premium Support” and that lets you fill out a form with app name, table/rule name, and other details

#7

Thanks @praveen.

I am the person having the sync issue, and also the admin.

I do not see myself listed in the “APPROVED USERS WHITELIST”.

Do I also need to explicity add myself for the USERROLE() to work?

It looks like the app developer is not added in the user list by default…

(Praveen Seshadri (AppSheet)) #8

Right, the app creator is automatically given access. I have to check to see which version the app creator gets. However, to work around this problem, explicitly add yourself to the whitelist and then that allows you to explicitly control the version