Will do. The new help file really helped. You didn't directly answer this question, but I'm getting very close to understanding how to do this:
What I'm still really unclear about is what exactly happens in the ShowLoginAndInitMainForm sub in AppMain.vb. There is one line of code there that calls the logon form, authenticates the user, sets that user as the current user (unless they cancel, then it closes the app), then opens the main form. Seems like I will need to take control of this so I can insert the project related stuff. Will I need to user my own login form? I assume this work doesn't happen in a form, right?
So, I get how to manually do this. The steps would be something like:
1. Get user credentials (user name and password) (question below about this)
2. Authenticate user using AuthenticateUser()
3. Using the us_pk property of the returned SFSUserBO, I would lookup the users default project in my own table and get the pk for the role to use with this project (using BO for this table of course)
4. Using the SFSUserXRolesBO, I would update the existing role for the user
5. Make this user the current user by calling SetLoggedInUser()
6. Show the main form if they didn't cancel out
Did I miss anything?
Now, a question about using an SF Login Form. I'm assuming I wouldn't use this at all, because it is part of the Login class (or rather it appears to be used by this class) and as such, I wouldn't have the control I need, correct? Or another way to ask the question, would the SF Login form be of any use to me here?