Home      FAQ      Forum      Idea Exchange      Ask a Question      My Stuff      Help   
  
Formula to view tabs
It would be nice if we could set custom formulas for certain users to view tabs.
ID
406
Category
Customization
Author

chris dagesse
Date Created
1/14/2011 10:57:58 AM
Date Updated
1/27/2011 5:07:47 PM
Status
New Idea
Score
30
Promoted By
Nathan Phillips (CW)Philipp Matuschkachris dagesse
Comments
Kirill Bondar  Staff  1/27/2011 1:14:57 PM
What data is this formula should be based on?
Nathan Phillips (CW) 1/27/2011 1:52:03 PM
I like this idea, too. I would find it useful. I've encountered a few situations where I wanted to do this.

I vote the formula allows access to user properties. I think the custom rule formula for the Add access permission on tables executes under a context in which it has no access to data - virtually the only useful thing that can be referenced in that formula is the user's role. The tab-visibility formula could execute under a similar, no-data context.

In both of those cases, configurable user properties accessible in formulas would allow some very interesting finer-grained control. http://teamdesk.crmdesk.com/answer.aspx?aid=11123&back=ideaexchange.aspx
Nathan Phillips (CW) 1/27/2011 2:03:36 PM
Even if there were no way to write out a formula - if I were able to create Formula Checkbox columns in a user table based on data in the same table, then those Formula Checkbox columns were available as visibility-filter options in these interface components - tabs, views, dashboards, view subscriptions - that would work just fine.

I could then create a checkbox column which makes the decision, and simply select that checkbox column in the table / view / dashboard configuration as the access-restriction decision maker.
Nathan Phillips (CW) 1/27/2011 2:23:01 PM
I guess a visibility-formula on tabs would also allow showing or hiding the tab based on the date. ie, based on the time of month.

One example of where that could be useful:

I've set up time tracking systems with time sheets in multiple applications. Most of the time, users don't need to think about time sheets. The time sheets are created automatically for them. Near of the end of the month, they need to go into the Time Sheets table once and review and submit their time sheet. The rest of the month they don't use the table.

So under normal circumstances, users will use the Time Sheets tab 12 times in a year. It probably doesn't need to be shown on the tabs list all the time. If I could control the tab visibility by date, I could set it up to hide most of the time - then display as the end of the month comes near. As they're using the system, the fact that the Time Sheets has appeared would remind them that it's time to submit their time sheet. And it would make logical sense to users that it's not shown the rest of the time, when there's nothing for them to do in that table.
Kirill Bondar  Staff  1/27/2011 4:54:36 PM
@Nathan: Considering "Show Tab" option is set on per-role basis you do not need to use formula to control the setting. Simply check/uncheck it for selected roles. But I guess I won't tell a secret if I explain what problem you are trying to solve.

Having an application with large amount of tabs, hundreds of users and impossible count of combinations "who-can-do-what" Nathan tries to replace role concept (because he will end up with "every user has its own role" perhaps) with own access right matrix implemented via Configurable user properties. Of course this approach won't work without supporting formulas on every level access rights are supported and filters are not.

---

Displaying by date is an extreme case. What if I took vacations on the end of the month and missed my chance to see the Time Sheets tab? Perhaps you can always hide the tab and provide a link to a Time Sheets table on a dashboard - when addressed via URL the tab will be shown. You can even show or hide the link via JavaScript
based on a day of month :)

Nathan Phillips (CW) 1/27/2011 5:07:47 PM
Yeah, agreed about the role-based control of tabs. That works great for a lot of cases.

And exactly, about what you said here - with a large number of users plus of large number of tabs, the number of possible access-permission combinations becomes unmanageable with a role-based system. Managing dozens or hundreds of roles would be too much. Allowing user properties to control the interface would solve the problem. It would also add an extra benefit: in places where it makes sense, it would be possible to give users control over their own interface.

Displaying a link to the Time Sheets table that shows and hides by date is not a bad idea. I have a place that would work well for that. About the vacation situation - I actually have the Time Sheets link hidden away in an "Other Tables" list. Users can always get to it there. I think it would be a nice little feature if it would additionally pop up as a tab. The visibility of the tab then actually communicates something to the user - "Hey, there's something for you to do in this area."
Feedback
 
Back to Search Results