Do you have a FileMaker solution composed of multiple files? This blog will show how to easily manage accounts for a multi-file solution.
Account Management in FileMaker
FileMaker’s accounts are set up within each file. This means every time you need to add/delete a user, or reset a password, those changes need to be made in every file the user touches. Luckily, a series of script steps can streamline this process, making it easier and faster to manage accounts in a multi-file solution.
The concept behind this technique is straightforward. We will use one file as the main file to handle all interactions required to gather the data we need. Then, we will call subscripts in each of the solution files to update their account info from the main file.
Creating New Users
Let’s use Add User as an example.
I have this simple user interface that lists all users I have from a USER table.
When I want to add a new User, I will click on this Add button, which will pop up a card window to gather information about this new user. We will add the user’s full name, FileMaker account name, password, and privilege set.
When we hit Save, the script will take the information I entered, and pass it to subscripts in the solution files.
Let’s take a look at one of the subscripts. This subscript receives information like account name, password, and privilege set. These are gathered on the main file via a script parameter.
First, it tries to delete any account with the same account name. Then, it uses that info with the “Add Account” script step to create the account.
With the Add Account script step, we can use variables to dynamically specify the account name and password. This is very convenient, but we can’t do this with the privilege set. If we want our script to support multiple privilege sets, we will need to use branching logic to handle it. This post will show how to do this.
Reset Password Settings
As for the option to force the user to reset their password with a multi-file solution, I’d advise not using it at all. If this setting is checked for all of the new accounts created, the user would have to reset it for each file.
Instead, if you want to give users the option to manage their own password, you can build a UI to handle the interaction. This would collect the new password, and then pass it to subscripts within each solution file and use the Reset Password script step to update the password in all files. This is shown in the demo file.
If you use the same privilege set names across your solution files, you can copy and paste all subscripts from one file to another. However, if you have different privilege set names in different files, then you will have to customize your subscripts in each file.
Other Examples
Similar to how Add User is built, you can use this technique for other purposes. We’ve also built subscripts for Deleting accounts, resetting an account password, and activating and deactivating accounts. So when I do those actions in my main file, all the accounts in a multi-file solution will be updated together.
Here’s a YouTube video that demonstrates the concept of account management for a multi-file solution. Feel free to reference it when creating your own account management features.
If you have questions about the content in this content, feel free to contact us!
*This article was originally written for AppWorks, which has since joined Direct Impact Solutions. This article is intended for informative purposes only. To the best of our knowledge, this information is accurate as of the date of publication.