You are viewing limited content. For full access, please sign in.

Discussion

Posted to Laserfiche Lounge

Discussion

Role-based dynamic assignment of Laserfiche Forms tasks

posted on March 16, 2023

Figured out how to do this and thought I'd share my solution with you all, since I wasn't able to find one already documented. The issue is that, in many of our Forms processes, we assign approval tasks based upon roles, such as general manager, accounting manager, etc. Assigning these tasks to a single user in a single form is very easy, but think bigger — it's not as easy-sounding if you imagine having tens or hundreds of forms that you have to manually update if/when staff changes.

My solution begins with Active Directory. I created dynamic query-based groups that contain a single member based upon their job title. For example, if their job title in AD is "General Manager" within the correct OU, then they're the member of that OU's General Manager dynamic AD group. If they leave the company, the new GM will automatically be a member of that same group. If you don't have the technical knowledge or rights to do this in AD, it is something your IT department can assist you with.

I then created a group with the same name in LFDS, and added that AD group as the member of the LFDS group (side note: I also use these groups to dynamically assign role-based LF licenses). After that group is synchronized in Laserfiche Forms, I created a team using that same AD group name, and added that LFDS group as a member of the team. Now you can assign tasks to that team and the user will get the task notifications. Great, right?

However, assigning tasks this way only assigns the tasks to the entire team, not specifically to the individual user, so that user will still have to take the extra step of clicking the "Assign to me" button. I'd rather not give the GM (or anyone else) extra work, so I found that combining this method with a team filter forces Forms to look up the actual team member and assign it directly to them rather than just the team. Add this team filter and you're all set:

$result=team.getAllMembers();
5 0
replied on March 20, 2023

Thanks for sharing your discovery and clearly describing it! This will help us for sure :)

0 0
replied on March 17, 2023

Thank you for taking the time to share this knowledge.

0 0
You are not allowed to follow up in this post.

Sign in to reply to this post.