Users get an error opening projects in Open Workbench (OWB) if the user does not have rights to a secure project subpage, and certain attributes are on it.
Example, if the attribute Finish Imposed is on the secure subpage, then the user will get the following error:
Unable to open project proj1. Illegal Property Value Null: com.abtcorp.hub.ABTAttribute: FinishImposed
This does not happen for all attributes, Finish Imposed is just one of them we know of.
Steps to Reproduce:
- Log into Clarity as admin
- Navigate to the project object
- Click on Views
- Click on Layout: Edit
- Add a new subpage
- Secure the subpage
- Add attribute 'Finish Imposed'
- Give the admin user global rights to the secure subpage
- Create a new user - 'user1'
- Create a project - 'proj1'
- Make user1 manager of proj1
- As admin launch proj1 to OWB
- The project opens as expected in OWB
- Log out of Clarity and in as user1
- Launch proj1 to OWB
Expected Result: The project to open without error
Actual Result: Unable to open project proj1. Illegal Property Value Null: com.abtcorp.hub.ABTAttribute: FinishImposed
Although the error is cryptic, it is generated because the attribute is on a secured subpage and should not be available to the scheduler. The application is trying to indicate this configuration. In Clarity 12, there was an issue that allowed the attribute to be shown incorrectly. It is now working as expected because the attribute is 'secured'.
There are two options that can used to configure the attribute to behave as it did in version 12:
- Simply unsecure the 'FinishImposed' attribute.
You can do this either by removing the attribute from the secured subpage
-OR- Keep the attribute on the secured subpage and add the attribute to a non-secured Property subpage on the Project Object - Any user may see this page
- If you need to keep the 'FinishImposed' attribute 'hidden', keep it on the secured subpage, and add the attribute to a new, 'unsecured' property subpage on the Project Object with a display condition that can never be evaulated to 'true' (i.e. 1==2)