We are using multi-select boxes. A Telelogic on-site tech built three customized "web-type" JavaScript attribute controls. Something is different between the three but I still can't figure out why all three are needed in the lifecycle for things to work.
WEB-INF/package_templates/company-name_template/wsconfig/templates/pt/include/attr_controls/base.CCM_MULTI_LISTBOX
WEB-INF/package_templates/company-name_template/wsconfig/templates/pt/include/attr_controls/john_CCM_MULTI_LISTBOX
WEB-INF/package_templates/company-name_template/wsconfig/templates/pt/include/attr_controls/base_CCM_MULTI_LISTBOX
In a Google search I came across this link which will download the base.CCM_MULTI_LISTBOX control. I don't kow if it's the same one as the one we use.
http://www.ibm.com/developerworks/forums/servlet/JiveServlet/download/1508-253008-14221719-336902/base.CCM_MULTI_LISTBOX
He then loaded them into our process lifecycle. Then for every multiselect list box we wanted to use we had to create two associated attributes. The first attribute which would be visible on the form and the second attribute which I would call a mask to the first attribute. For example, attribute one is called "_cr_add_category" (web-type is defined as CCM_LISTBOX), and the second attribute is called "cr_add_category" (web-type is defined as CCM_MULTI_LISTBOX). Lastly, from the LISTBOX Manager we added all the values to be visible in the multiselect box.
Consider this issue. The multislect boxes we use would only show the first four values (selected or not and it didn't matter if more than one value selection was made). It was defined that way is the JavaScript. We have never given any thought of cahnging the script. Given that, the box can only be so long (from top to bottom) anyway, right?
<SELECT MULTIPLE NAME="SUB_ATTR" SIZE=4 WIDTH="20" RESIZEABLE="no" onChange="SUB_ATTR_ChangeValue()"
So in order to actually see what was selected and to protect the multiselect values from being changed. We created another attribute and trigger to display the selected values of the multiselect box. For example, the third attribute would be called "cr_seleted_category" (web-type is defined as CCM_READONLY). Then a trigger (attached to masking attribute) would execute once the form was saved and write the selected value names to the "cr_selected_category" value.
This seems all very complicated and confusing I know. It took some time and patience to implement the same scenario is our other Change servers/databases after the Telelogic tech left. I hope in the current version of Change, IBM can or has come up with a better solution. We are using Change 4.6