JIRA 4.3 : Web Fragments
This page last changed on Mar 25, 2011 by ggaskell.
LocationsWeb fragments can be developed for a number of locations throughout the JIRA web interface. This section describes these locations and for each one:
Administration Console LocationThe system.admin location defines web sections and items in the left-hand navigation column of JIRA's administration console. You can add new web items to existing web sections in the left-hand navigation column of JIRA's administration console (see below), or add new sections to this column along with new items. Adding New Items to Existing Web SectionsTo add your own web item to an existing web section of JIRA's administration console location, your web item must include a section attribute with the value "system.admin/<web-section>", where <web-section> is the section of the left-hand navigation column to which the web item will be added. For example, to add a web item module that defines a new item in the Global Settings section, your web item module would contain: <web-item ... section="system.admin/globalsettings" ...> ... </web-item> Existing Web Sections of the Administration Console Location
Adding Custom Sections and ItemsTo add your own section to the left-hand navigation column, define a web section that includes a location attribute with the value "system.admin". For example, your web section module would contain: <web-section key="my-custom-admin-console-section" ... location="system.admin" ...> ... </web-section> Adding new web items to your own sections is similar to the method above for adding new web items to existing web sections. However, specify the value of your web section's key attribute in the value of your web item's section attribute (preceded by the location). Hence, following on from the previous example, your web item would contain: <web-item... section="system.admin/my-custom-admin-console-section" ...> ... </web-item> Customising the Positions of Your Own Items and SectionsTo customise the position of your own web items or sections in this location, add a weight attribute to your <web-item> or <web-section> and adjust its value with respect to JIRA's existing web items or sections. Lower weight values result in these items/sections appearing higher up in the left-hand navigation column. Source FileTo find the values of JIRA's existing web items and sections for the system.admin location, view the following file in JIRA's source archive: Preset Issue Filters Drop-down LocationIn JIRA 4.0 and later, the system.preset.filters location defines web items of the 'Filters' drop-down menu on the project summary page of a JIRA project. In versions of JIRA prior to 4.0, the system.preset.filters location defines links on the Project portlet of the dashboard and on the right-hand side of Browse Project page. Links are displayed in two columns from left to right, then down (that is, the right column contains every second link). Adding New ItemsTo add your own web item to JIRA's preset issue filters drop-down location, your web item must include a section attribute with the value "system.preset.filters". For example, to add a web item module that defines a new 'Filters' drop-down menu link (on a project summary page), your web item module would contain: <web-item ... section="system.preset.filters" ...> ... </web-item>
Customising the Positions of ItemsTo customise the position of your own web items in this location, add a weight attribute to your <web-item> and adjust its value with respect to JIRA's existing web items. Lower weight values result in these items appearing to the left and then higher up this 'Filters' drop-down menu. Source FileTo find the values of JIRA's existing web items and sections for the system.preset.filters location, view the following file in JIRA's source archive: Project Configuration Operations LocationThe system.view.project.operations location defines web items of the project operation links on the project configuration page, which can be accessed by JIRA project administrators. Adding New ItemsTo add your own web item to JIRA's project configuration operations location, your web item must include a section attribute with the value "system.view.project.operations". For example, to add a web item module that defines a new project operation link on a project configuration page, your web item module would contain: <web-item ... section="system.view.project.operations" ...> ... </web-item>
Customising the Positions of ItemsTo customise the position of your own web items in this location, add a weight attribute to your <web-item> and adjust its value with respect to JIRA's existing web items. Lower weight values result in these items appearing further to the left. Source FileTo find the values of JIRA's existing web items and sections for the system.view.project.operations location, view the following file in JIRA's source archive: Top Navigation Bar Location
The system.top.navigation.bar location defines web sections and items in JIRA's top navigation bar, which is accessible from all JIRA screens. You can add new drop-down menus each with their own web sections and web items to this navigation bar, or add new items to JIRA's existing drop-down menus. Adding Custom Drop-down Menus, Sections and ItemsAdding a new drop-down menu with its own sections and items to the top navigation bar can be broken down into three module definition steps. To add a new drop-down menu with its own sections and items:
Adding Items to Existing Drop-down MenusBased on the process above, you can add your own item to an existing drop-down menu by defining a <web-item> module whose section attribute's value is:
For example, if you wanted to add a web item to the 'Dasboard' drop-down menu, the following diagram shows what values you would use for the section attribute of this web item, based on the web section of the drop-down menu. Source FileTo find the values of JIRA's existing web items and sections for the system.top.navigation.bar location, view the following file in JIRA's source archive: Customising the Positions of Menus, Items and SectionsTo customise the position of your own web items or sections throughout JIRA's top navigation bar, add a weight attribute to your <web-item> or <web-section> and adjust its value with respect to JIRA's existing web items or sections.
User Name Drop-down Location
The system.user.options location defines web sections and items in JIRA's user name drop-down menu, which is accessible from all JIRA screens. You can add new web items to existing web sections in the user name drop-down menu (see below), or add new sections to this menu along with new items. Adding New Items to Existing Web SectionsTo add your own web item to an existing web section of JIRA's user name drop-down location, your web item must include a section attribute with the value "system.user.options/<web-section>", where <web-section> is the section of the user name drop-down menu to which the web item will be added. For example, to add a web item module that defines a new item in the 'jira-help' section, your web item module would contain: <web-item ... section="system.user.options/jira-help" ...> ... </web-item> Existing Web Sections of the User Name Drop-down LocationAdding Custom Sections and ItemsTo add your own section to the user name drop-down menu, define a web section that includes a location attribute with the value "system.user.options". For example, your web section module would contain: <web-section key="my-custom-user-name-dropdown-section" ... location="system.user.options" ...> ... </web-section> Adding new web items to your own sections is similar to the method above for adding new web items to existing web sections. However, specify the value of your web section's key attribute in the value of your web item's section attribute (preceded by the location). Hence, following on from the previous example, your web item would contain: <web-item ... section="system.user.options/my-custom-user-name-dropdown-section" ...> ... </web-item> Customising the Positions of Items and SectionsTo customise the position of your own web items or sections in this location, add a weight attribute to your <web-item> or <web-section> and adjust its value with respect to JIRA's existing web items or sections. Lower weight values result in these items/sections appearing higher up the user name drop-down menu. Source FileTo find the values of JIRA's existing web items and sections for the system.user.options location, view the following file in JIRA's source archive: Issue Operations Bar Locations
The two opsbar-operations and opsbar-transitions locations together define web sections and items in the issue operations bar, which is visible on all JIRA issues. You can add new web items to existing web sections within the opsbar-operations and opsbar-transitions locations of the issue operations bar (see below). You can also add new web sections to the 'More Actions' drop-down menu (in the opsbar-operations location). Adding New Items to Existing Web SectionsTo add your own web item to an existing web section of one of JIRA's issue operations bar locations, your web item must include a section attribute with the value "<web-section>", where <web-section> is one of the sections specified in the diagram below. For example, to add a web item module that defines a new item in the 'operations-operations' section, your web item module would contain: <web-item ... section="operations-operations" ...> ... </web-item>
Existing Web Sections of the Issue Operations Bar LocationsAdding Custom Sections and ItemsTo add your own section to the 'More Actions' drop-down menu, define a web section that includes a location attribute with the value "opsbar-operations". For example, your web section module would contain: <web-section key="my-custom-more-actions-section" ... location="opsbar-operations" ...> ... </web-section>
Adding new web items to your own sections is similar to the method above for adding new web items to existing web sections. However, specify the value of your web section's key attribute as the value of your web item's section attribute. Hence, following on from the previous example, your web item would contain: <web-item ... section="my-custom-more-actions-section" ...> ... </web-item> Customising the Positions of Items and SectionsTo customise the position of your own web items or sections throughout the issue operations bar, add a weight attribute to your <web-item> or <web-section> and adjust its value with respect to JIRA's existing web items or sections.
Source FileTo find the values of JIRA's existing web items and sections for the opsbar-operations and opsbar-transitions locations, view the following file in JIRA's source archive: Hover Profile Links Location
The system.user.hover.links location defines web items in JIRA's hover profile feature, which is accessible when a user hovers their mouse pointer over a JIRA user's name throughout JIRA's user interface. Adding New ItemsTo add your own web item to JIRA's hover profile links location, your web item must include a section attribute with the value "system.user.hover.links". For example, to add a web item module that defines a new hover profile link, your web item module would contain: <web-item ... section="system.user.hover.links" ...> ... </web-item>
Customising the Positions of ItemsTo customise the position of your own web items in this location, add a weight attribute to your <web-item> and adjust its value with respect to JIRA's existing web items. Lower weight values result in these items appearing to the left and then higher up the hover profile drop-down menu. Source FileTo find the values of JIRA's existing web items and sections for the system.user.hover.links location, view the following file in JIRA's source archive: Dialog Box Hint Location
The jira.hints location defines web items that allow you to add hints on JIRA's dialog boxes. You can add hints to most JIRA dialog boxes. Adding New ItemsTo add your own web item to JIRA's dialog box hints location for a specific dialog box, your web item must include a section attribute with the value "jira.hints/<LOCATION CONTEXT>", where <LOCATION CONTEXT> is a predefined 'context' in JIRA that determines on which dialog box your hints will appear. The following table lists these predefined contexts available in JIRA's dialog box hint location.
For example, to add a web item module that defines hints on the 'Attach Files' dialog box, your web item module would contain: <web-item ... section="jira.hints/ATTACH" ...> ... </web-item> Deprecated LocationsFormer Top Navigation Bar Location
In versions of JIRA prior to 4.0, the system.top.navigation.bar location could optionally specify up to 2 URL prefixes (in web items with section="system.top.navigation.bar"), which are used to determine whether the link is selected or not. This is done by adding a param element with names: selected and selected2. See Web Item Plugin Module for details on how to add these elements. Navigation Bar User Options Location
The system.user.navigation.bar location, defines web items or sections for user options at the top-right of JIRA's navigation bar. Custom web items must be added to either the 'links' or 'views' web sections of this location in JIRA:
See Web Item Plugin Module for details on how to add these elements. Velocity ContextThe following table lists out the velocity context available for use in the XML descriptor and velocity views.
ExamplesHere is a simple example that uses both the web UI module and the Webwork plugin module. A webwork plugin module defines a URL-addressable 'action', allowing JIRA's user-visible functionality to be extended or partially overridden. In this example, the action simply prints "Hello World" or greets a given name. However the action can only be executed by entering a specific URL that is not linked from JIRA. This is where the web UI plugin comes in play, by adding the specific URL as a link from the JIRA web interface. The following plugin modules will:
<webwork1 key="HelloWorld" name="Hello World Action Example" i18n-name-key="action.hello.world.name"> <description key="action.hello.world.desc">Webwork plugin example that prints hello world. Can also specify a name to say hello to.</description> <resource type="i18n" name="i18n" location="com.atlassian.jira.web.action.HelloWorldAction" /> <actions> <action name="com.example.jira.web.action.HelloWorldAction" alias="Hello"> <view name="input">/templates/example/helloworld_input.vm</view> <view name="success">/templates/example/helloworld.vm</view> </action> </actions> </webwork1> <web-section key="example1" name="Example Section" i18n-name-key="section.example.one.name" location="system.admin" weight="105"> <description key="section.example.one.desc">Example section in the admin page with example links</description> <label key="section.example.one.label" /> </web-section> <web-item key="google_home" name="Google Home" i18n-name-key="item.google.home.name" section="system.admin/example1" weight="10"> <description key="item.google.home.desc">Static link to google.com.</description> <label key="item.google.home.label" /> <link linkId="google_home">http://google.com</link> </web-item> <web-item key="hello_world" name="Greet world link" i18n-name-key="item.hello.world.name" section="system.admin/example1" weight="20"> <description key="item.hello.world.desc">Static link to the HelloWorld action with no name parameter.</description> <label key="item.hello.world.label" /> <link linkId="hello_world">/secure/Hello!default.jspa</link> <condition class="com.atlassian.jira.plugin.webfragment.conditions.UserLoggedInCondition" /> </web-item> <web-item key="filter_closed" name="Closed Issues Filter" i18n-name-key="item.filter.closed.name" section="system.preset.filters" weight="25"> <description key="item.filter.closed.desc">Custom preset-filter to find closed issues in current project</description> <label key="item.filter.closed.label" /> <link linkId="filter_closed">/secure/IssueNavigator.jspa?reset=true&pid=$helper.project.id&status=6&sorter/field=issuekey&sorter/order=DESC</link> </web-item> Here is the screenshot of the new administration menu:
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
Document generated by Confluence on Mar 27, 2011 18:53 |