Hi, I'm trying to show a specific page to any users that log in for the very first time. I have tried a few things, but am struggling. What I've tried is having a microflow as the default homepage that checks if the $currentuser's 'LastLogin’ is empty. On true it would show said page, if not the user is redirected to a default welcome page like it's profile. See attached image of the flow, I can provide details. Any way I can achieve this? Or an alternative? Right now new users are directed to their profile. I believe LastLogin is written to by the system during the very first login.
Brayn da Silva Lobo
If LastLogin is not an option, you can create (an Entity with) an attribute of type Boolean (For Example: FirstLogin with default value “True”).
You can use this attribute in your Exclusive split. After the fIrst login, you change the value of this attribute to “False”.
You don’t need the first retrieve in your microflow. The following condition in your exclusive split should do the trick:
Hope that helps,
Brayn – I looked at this again and had a head slap moment. The current user’s last login date will, by definition, never be empty. This is because that user has logged in when this microflow executes.
To accomplish what you want, you have some options:
Quick & Dirty Method: Create an entity for the address information you need to collect in the page. Associate this address entity to the System.User entity. When a user logs in, check if the address information for the logged in user exists. If not, show the address page. Note that you’ll probably need to create an address object for a user if that object does not already exist.
More Work But Probably What You Should Do Method: Create a specialization of Administration.Account in your module. Add the attributes you need for address information to your new entity (or create an associated address entity). Create your users as objects of the newly created entity. Now when you login, you can check the attributes or associations you just created to see if they are populated as you need them to be. This method has the benefit of not requiring an association into the System module, which is something I usually avoid.
P.S. when you are creating apps, you should use Administration.Account entity (or specializations of that) for your user accounts instead of System.User.