Does anyone know of a way to make a dynamic value list of all active user accounts?
You could accomplish this by maintaining a user table.
This gives you more possibilities, like being able to store user preferences.
I second that.
You cannot get a list or make SQL call or anything to the security table. It is isolated, for security reasons, from reporting in FileMaker. I usually maintain a both a user preferences table and an access table that keeps track of who all accesses the solution. I use the latter often for an additional authentication of the Persistent ID's to assure only authorized hardware is connecting. But by maintaining an Access file where every time someone logs in (on first window open scrip trigger), they get an entry recording information about their access (e.g., account name, timestamp, Persistent ID, IP, privilege set, etc.). Among other things it is easy to do a SQL distinct call or sub-summary report with a list of all the unique account names accessing the solution.
Yes, that is how I would normally do it. However, in this instance, it poses some control issues for the client. They want to be sure that when they add a new account the new user's name is automatically added to the drop down list and it is spelled the same way. They don't want to have to police that user table (or a normal drop down list, for that matter) to make sure that every employee is accounted for and that the spellings of the names match.
The solution I am building will use the account name when a user logs in and filter records in various tables to show only those that require action by that particular user. I know there are other ways to build this, but this method would be easiest, since the client understands it.
OK, have them use a layout user interface for creating, modifying and deleting users. You can script all of this and the script can add the user names to a users table. Just make sure not to give privileges to them to Manage the Security, make sure it is a script running with full access to make all changes/additions/deletions.
That was my recommendation, but the client vetoed it. I'm trying to accommodate them.
Either you keep a Users Table with this info or you don't. To keep the Users table in sync with the Security, you have to use a script. If they refused to use a layout with scripts to update it and insist on going directly to Manage Security, then there is on guarantee your Users table is sync'd with the Security. Since FM cannot make reports pulling info from the Security, there are no other options. If they veto using a layout with buttons to script updating security accounts and store the info in a FM table, then you cannot also see in FM layouts the Security information. If your client makes an impossible situation, then it is just impossible.
Now you might be able to use Active Directory and find some API method of getting Directory service information returned to FileMaker.
What exactly is the objection?
They want their account names in a dropdown list and want the list to automatically reflect any changes they make to those names in Manage Security. I was hoping there was some way to write a custom function that would do this, but it doesn't seem to be possible.
They have other solutions that they have built for themselves and they want to work the way they are used to working. They will be making changes to this solution after my contract with them has ended. They don't want to deal with anything that is unfamiliar or have to call me in to fix something or explain it to them.
It can’t. So they need to get over it, or do it the way Taylor has suggested.
It's really not that difficult.
Sometimes a client simply won't accept the expertise that they've paid for. When that happens, you have a business decision to make.
There may be a compromise. It's not perfect, but a system can update a table of users with the account name, privilege set name and extended privileges list each time a user logs in. This table would start empty but would quickly fill with a table of all current users and your account list drop down can then be drawn from this table. Changes to privilege set names and extended privileges will automatically update when that user next logs in.
The system admin will manually update a dropdown list. While I appreciate the feedback, I know what my clients want and will accept. If they can't have exactly what they requested, then they will make due with the workaround that is most familiar to them. They don't want things that they are going to have to be taught how to use or require ongoing tech support from me, regardless of how simple it seems to us.
The method I described might not need any training at all for the clients. It's something that would "just work" for the most part. Any training would be no more than you might need when introducing any basic data entry layout.
Retrieving data ...