I'm currently working on optimizing aspects of webtop and I've been looking at Preconditions of menu items based on the research of our Oracle query logs.
For optimizing preconditions, WDK 6.6 guide recommends that preconditions should not call IDfSession.getObject.
It also recommends that they should not perform any types of queries inside the queryExecute method.
We currently break these recommendations. In multiple Preconditions, our code often checks the username and finds the roles/access rights (see attached example). I'm very concerned at the amount of preconditions for each object on each screen.
I've looked into multiple options:
1. Pass attributes into the precondition as an argument so that way we are not running constant checks for each precondition. In a perfect world, we would be to capture the role when the user logs in and store it as a variable that is passed in as an argument, eliminating the constant IDfSession checks. Do we really want to explore this?
2. Looked into presets (we currently do not use any) but presets don't look like a feasible option because our business rules are so specific. The preset examples in the Technical Fundamentals of Documentum Book are very limited. Plus, we would not be able to use presets on our custom action items.
3. I learned that preconditions can be fired on execution (value in the xml tag), but I don't want the user to view a bunch of action items he/she will not be able to access. That is the opposite of helpful as far as usability goes.
I don't see any true solutions. Maybe I should be focusing on other ways to increase performance speeds?
Thanks in advance for your input!
-Ryan