What did you learn this week? w/o 6/4/20

Hi everyone!

We have a lot of new App Creators that have joined the community recently. I’m really excited to see what everyone has been experiencing thus far. Ready? What was ONE thing you learned or built this week that made your application(s) better?

2 Likes

Started using importhtml in google sheets to pull up current data from certain websites for a couple of my apps.

4 Likes

Updated docs:



5 Likes

Can you suggest any complex use cases we could ‘look under the hood’ at ?

I learn about [_THISROW] vs [_THISROW].[KeyID]

4 Likes

Hi @Rory_Vaughan, are you looking for sample apps that you can review? If so, this link can provide a number of applications available for review.

https://www.appsheet.com/SampleApps

3 Likes

I learned a LOT. Mostly about expressions, but also how to limit access for different groups, use of “Settings” for choice of language and to show “My projects”.
Found a great way of forwarding tasks from a MOM to “My tasks” by using actions.

3 Likes

Hey thxxx!!! Esp on an Easter Sunday!

I found ‘Work Orders 2’ to be aligned with my needs. Thanks!

4 Likes

What is the best way to do this?

I think @Steve Steve once posted this. I’ll paste here:

I generally have 2 or 3 “sections” in my Users table depending on the nature of the app. But I always include an Access Privileges table as ref with the isPartOf property set to TRUE. This allows the app admin to specify how he wants his app users interact with the tables. With a simple LOOKUP(…) expression I set the table access expression:

LOOKUP(USEREMAIL(),“Access Privileges”,“User Email”,“TableName”)

TableName here refers to the [ColumnName] as I set with the same name of any app table.
In the gSheet structure, I generally have the below columns. I may add extra columns depending on the nature of the app or by client’s request i.e. address, licence (Y/N), licence expiry date etc.

[USERS TABLE]

[User ID] - Text, Key
[First Name] - Name
[Last Name] - Name
[Phone] - Callable, Textable, Phone
[Email] - Email

[ACCESS PRIVILEGES TABLE]

[ID] - Text, Key
[User ID] - Text, Ref > Users, isPartOf: TRUE
[Email] - Email, De-ref [User ID].[Email]
[Table1] - ENUM, Type: text, Valid_if: {“READ_ONLY”, “ADDS_ONLY”, “UPDATES_ONLY”, “DELETES_ONLY”, “ADDS_AND_UPDATES”, “ADDS_AND_DELETES”, “UPDATES_AND_DELETES”, “ALL_CHANGES”}
[Table2] - ENUM, Type: text, Valid_if: {“READ_ONLY”, “ADDS_ONLY”, “UPDATES_ONLY”, “DELETES_ONLY”, “ADDS_AND_UPDATES”, “ADDS_AND_DELETES”, “UPDATES_AND_DELETES”, “ALL_CHANGES”}
.
.
.
I repeat the same for all tables that I do want to include.

If the users will interact with workflow email and/or scheduled reports, I also add some additional columns with TRUE/FALSE values. For example the client might request that not every user could send a workflow email or only specific people can receive the workflows etc. etc.

This design is totally dynamic as per app specifications set by the client.

In addition to these, we also set a VARIABLES table which we mostly refer within the app whilst setting up the dropdown content. We generally import this table to the app as App Settings so that the user can change the content if needed. And the beauty is, you don’t need to set any VC columns to in each table to revert those values into lists because you can now do that with the combination of SPLIT(…) and INDEX(…) easily.

3 Likes

Sorry. It was @LeventK
Here is the link:

4 Likes