It's all about the answers!

Ask a question

Workaround for a defect in RTC - Method to have "Creator" field modifiable


Madhan Babu (356) | asked Feb 26 '14, 6:29 a.m.
edited Feb 26 '14, 6:40 a.m.
Hello,

In my company, we have a use case where in we need the "Created by" attribute modifiable..
This is required because we use some Interfaces (REST/external tools, etc) to create work items..
And we dont want the account used by the interfaces to be the creator of the work item. Instead we need specific users as Creators for these WorkItems imported/created by the tool.

For this reason, we followed the below method/steps:
> In Eclipse client, under Types and Attribute settings,  open the properties of the "Created By" attribute, and uncheck the check box against the Read Only property, and save it.
> Do not do any changes to the settings on the attribute in the Editor presentation settings (here also there's an option to limit the field to Read only, but only for the GUI settings)

After doing the above steps, assign yourself with Developer/Tester role in this particular Project Area, and try to create a Task. And you encounter with the error message as below:

The error message indicates about lack of permissions to modify the Creator attirbute.
But when we look into the permission settings of the project area, we dont get to see the entry for enabling the permission for Creator attribute. It is missing from the list. (In my opinion, this is a Bug in the tool).

Interestingly, if i'm assigned with a role which is basically allowed edit any attribute, in other words, the complete set of "Modify WorkItem" permission is allowed, then i am able to create the work item.
If you now modify the Developer role to include modify rights for all attributes, then it works... (This is the second Bug)

When i took a deeper look into the XML process configuration source, for any role that is allowed to modify all attributes, the xml entry reads as below:

<role id="team_lead">    
     <operation id="com.ibm.team.workitem.operation.workItemSave">
                    <action id="modify">
                        <action id="any"/>
                    </action>
                  ...
     </operation>
</role>


But if atleast one of the attribute permission is missing for a particular role, then the configuration looks like below:

<role id="developer">    
     <operation id="com.ibm.team.workitem.operation.workItemSave">
                    <action id="modify">
                              <action id="projectArea"/>
                              <action id="summary"/>
                              <action id="type"/>
                              <action id="resolution"/>
                               ....
                    </action>

                  ...
     </operation>
</role>



Now, when i add the entry for Creator attribute in the xml (manual hack into xml) to make it look like below:
<role id="developer">    
     <operation id="com.ibm.team.workitem.operation.workItemSave">
                    <action id="modify">
                              <action id="projectArea"/>
                              <action id="summary"/>
                              <action id="type"/>
                              <action id="resolution"/>
                              <action id="creator"/>
                               ....
                    </action>
                  ...
     </operation>
</role>


then it works... and the problem is resolved..

Could anyone suggest if this workaround can be put into use?
  • Is this Bug identified already internally (i dint find any work item in Jazz.net regarding this)? What would happen for this configuration entry when we migrate to RTC 5.0?
  • Would this be exported along with all other process configuration entries and can it be imported as is in a different (production) environment?
  • Would you recommend this temporary workaround (until its fixed by IBM)?
As this feature is more important for us, any comments/suggestions are highly welcome :)

Best regards
Madhan


4 answers



permanent link
Susan Hanson (1.6k2189193) | answered Feb 26 '14, 6:49 a.m.
I've gone through this a few times with the RTC team.  The creator being Read-Only is "by design" because the creator of a work item never changes (just like the date it was created doesn't) since that is a historical "fact".  Most of us use the creator attribute to indicate "the person to contact with respect to this work item" and even in some cases "the person to verify that what is needed/reported has been added/fixed".

I have an Enhancement request pending to allow a project admin to add permission to modify it to a role (https://jazz.net/jazz/web/projects/Rational%20Team%20Concert#action=com.ibm.team.workitem.viewWorkItem&id=303793) and it looks like they are planning to add this in V5.0

Comments
sam detweiler commented Feb 26 '14, 7:32 a.m.

as Susan mentions, you cannot do this externally. The csv importer will do this, so 'technically' is is possible.

but not from an outside rest application.


Madhan Babu commented Feb 26 '14, 7:44 a.m.

Thanks for the quick response :)

and regarding the intended use for the attribute, i am completely with you..
As i mentioned, this is rather a special use case..

Since the tool allows the attribute to be "Modifiable", which is also a "feature" of the tool, i expect this attribute settings is also available in the in-built permission set..
Nevertheless, do you foresee any bad behavior that could happen with the work around?




permanent link
Madhan Babu (356) | answered Mar 11 '14, 6:36 a.m.
Seems to be fixed in RTC v5.0
Ref: https://jazz.net/jazz/web/projects/Rational%20Team%20Concert#action=com.ibm.team.workitem.viewWorkItem&id=303793

permanent link
Radha Nagaraja (1538) | answered Apr 08 '15, 6:49 a.m.
No. there is no such permission in RTC 5.0 too :(

permanent link
Ralph Schoon (60.9k33643) | answered Apr 08 '15, 7:27 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
https://jazz.net/jazz/web/projects/Rational%20Team%20Concert#action=com.ibm.team.workitem.viewWorkItem&id=303793 is triaged and not worked on.

The attribute is not meant to be modifiable. Therefore there is no permission.
You can probably do it using the API - in fact, some synchronizer do this - but there has never been an intention to make it modifiable by a user.

Comments
Ralph Schoon commented Apr 08 '15, 7:29 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

As far as I can see development looked at it, but changes have been suspended die to other priorities.

Your answer


Register or to post your answer.