Disclaimer: This is based on my own experience designing and architecting a powerapps canvas app
Set(AppData, {
Title: "My PowerApps Canvas",
AppID: "",
BaseVersion: "",
CustomVersion: "",
Author: ""
}),
Set(CurrentUser, {
Profile: Office365Users.UserProfile(User().Email),
Image: Office365Users.UserPhoto(User().Email),
Groups: Filter(GroupsList, User().Email in GroupMembers.Email),
Roles: Filter(RolesList, CurrentUser.Profile.Mail in Members.Email)
});
Benefits:
- You can simulate other user with minimal code changes, useful when debugging permissions
- Scalable and used this to manage account permissions and groups
- Cached user metadata and reduce API calls