I am currently trailing Honeycode and so far I am liking it. One thing I cannot get my head around is how I would create a "Login Screen". So for example, I have created a "Register" screen which successfully inserts the entered data into a table and I can see it there. But I want a Login screen that a user would enter their username and password and on Login button click the automation would "validate" that the users information is there.
The issue is I can only see automation for adding, updating, overwriting and deleting data, but no "validate and move on".
Any ideas on this one please?
Thanks in advance,
I would like to know this also, hit a brickwall right from the get go
Hello Gavin and John, welcome to Honeycode.
What I understand is that you want to create a login screen on an application, that you share with people; perhaps you want to prevent access to the app or to certain potions of the app. There are a couple of ways I can think of doing this, but first a few basics.
- Each app has a $SYS_USER, which equals the user who is currently using the app (you can think of it as a session variable). You can always refer to it in your formulas.
- It is important to know that you have given full access to the app to a user when you have shared that app with that user; in other words they have access to all the features and buttons that you have made available in the app (unless you use the display capability to hide them).
- The display attribute of buttons, data fields, etc.. does not make the information secret it just hides it from view. If the data appears on the screen and display=False, the data is not shown but the data is sent to the client and hidden there. This means it is practically hidden or secret but not truly (if you are in a web app you could technically access the data at the HTML level or pull it from the API).
With that said you can create quite elaborate applications that behave differently for different people. Here are some places to start:
a) You may not need a username or even a password field, but if you do feel you need them you can always store that information in a table, and when user clicks Login button, you can enable or disable a "login" or "enter" button when the data in those two fields is valid.
b) Do not need a login at all but hide (using display =FALSE using a formula) certain buttons and fields from certain users. This is helpful if you have a list, for example, that is the same for administrators and for regular users, with the exception that administrator get to see one extra field, or they have an edit button whereas the rest of the users don't.
c) You can remove a screen (or more) from the app navigation so certain people do not have access to those screens. Then you create a button or text box with with Action=Navigate to hidden screen AND display attribute = a formula that returns FALSE for most people and TRUE only for the administrators for example.
Examples of Display
=IF($[SYS_USER] IN $[InputRow][Editors][Name],TRUE,FALSE) - can show a button only to editors
= FILTER(EditorsTable,"EditorsTable[Editor]=%",$SYS_USER)>0 - there is at least one row where SYS_USER is listed in the editors table.
You can also look at these articles for more ideas:
Hope you like this answer, let us know if you need more direction.