You are not logged in. Click here to log in.

codeBeamer ALM

Search In Project

Search inClear

Customizing the CodeBeamer User Interface

Adding new items to the codeBeamer main toolbar

This is a relatively frequent customer question, that arises when our users want to integrate their existing in-house applications seamlessly with the codeBeamer user interface. Avoiding the "mental break" between the two application is also an elegant way to increase adoption.

How can you do this?

It's easy. Extract file menus.xml from $CODEBEAMER_HOME/tomcat/webapps/cb/WEB-INF/lib/cb.jar into $CODEBEAMER_HOME/tomcat/webapps/cb/WEB-INF/classes/menus.xml and open it with any text editor. (Please note that this is a regular Spring framework bean container configuration file. If you are familiar with Spring, then this is very easy to understand.)

The bean "topMenuRenderer" is responsible for rendering the tabs in the top. Add your own menu item where it fits: the renderer will strictly follow the order of the declarations when rendering the tabs.

For instance, to add a new tab to the end of the list which will open Google Search, you just have to add the lines after "your custom tab starts here":

	<!-- ... all previous tabs defined here ... -->
	<bean class="com.intland.codebeamer.taglib.actionmenu.model.ActionItem">
		<property name="id"><value>sysadmin</value></property>
		<property name="label"><value>System Admin</value></property>
		<property name="url"><value>/sysadmin.do</value></property>
		<property name="properties">
			<map>
				<entry key="selectionStyle" value="toolbar_sysadmin_selected"></entry>
				<entry key="requiresProject" value="false"></entry>
				<entry key="permissions" value="system_admin"></entry>
			</map>
		</property>
	</bean>
	<!-- your custom tab starts here -->
	<bean class="com.intland.codebeamer.taglib.actionmenu.model.ActionItem">
		<property name="id"><value>my-menuitem</value></property>
		<property name="label"><value>Google Search</value></property>
		<property name="url"><value>http://www.google.com</value></property>
		<property name="properties">
			<map>
				<!-- you might want to specify additional configuration options by uncommenting these items -->
				<!--
				<entry key="selectionStyle" value="toolbar_sysadmin_selected"></entry>
				<entry key="requiresProject" value="false"></entry>
				<entry key="permissions" value="system_admin"></entry>
				 -->
			</map>
		</property>
	</bean>
	<!-- your custom tab ends here -->
</list>

Now, you have to restart codeBeamer so that it can pick up the configuration changes. If you did it correctly, your new item will pop up like this: