19 November 2012Structure 2.0 is a major release with six brand new features, support for JIRA 5.2 and lots of major improvements.
1. Version Highlights
- Views: persistent, shareable, reusable column configurations stored on the server.
- Template Structures and Bulk Issue Cloning: it is now possible to copy a whole structure and clone every issue it contains.
- Bulk Change: select multiple issues in Structure and click a button to open JIRA's bulk change wizard.
- Favorite Structures: quick access to few selected structures.
- Structure Tab in the GreenHopper's Issue Detail View: see and change selected issue's position in the hierarchy.
- Migrate Structures: JIRA administrators can now import structures from another JIRA instance.
This version also contains a lot of other notable improvements.
Structure Backup is absolutely necessary before the upgrade! Please read #Upgrading from a Previous Version below.
2. Changes in Detail
- 2.1. Views
- 2.2. Template Structures and Bulk Issue Cloning
- 2.3. Bulk Change
- 2.4. Favorite Structures
- 2.5. Structure Tab in GreenHopper Issue View
- 2.6. Structure Migration and Partial Import
- 2.7. Easier Structure Management
- 2.8. New Column Resizing and Automatic Widths
- 2.9. Dashboard and Confluence Gadget with Preset Columns
- 2.10. Reusing Columns Configuration from Issue Navigator
- 2.11. Revamped Multiple Issue Selection
- 2.12. Activity Streams Performance Improvements
- 2.13. Underlying Derby Database Upgrade
- 2.14. Other Improvements and Notable Bugs Fixed
Views are named column configurations.
Now, when viewing a structure, you can quickly switch between different views and the columns in the grid will be quickly reconfigured. Views are stored on JIRA server, so you can create a new view and share it with your team.
It is also possible now to configure Structure gadget on JIRA dashboard, or in Confluence, to display a structure with specific columns.
New keyboard shortcuts: vv (switch view), vs (save view) and a few others.
Note: After upgrade, the earlier column configurations made by users and stored in browser cookies will be lost and replaced with the default view. You will need to reconfigure columns again, but this time you will be able to save the columns configuration as a view and share it between structures and with other users.
2.2. Template Structures and Bulk Issue Cloning
It's now possible to create a copy of a structure and clone every issue in that structure. The result is a complete duplicate of the structure and issues in it.
This lets you set up template structures or even template projects, and quickly create a new structure or project with preset issues and their hierarchy.
Cloning process is highly configurable, letting you to do intelligent copy of the template issues. And this feature plays well with Bulk Change feature, which later will allow you to further adjust newly created issues en masse.
2.3. Bulk Change
You can now change multiple issues in structure using JIRA's Bulk Change wizard.
Select several issues in a structure using our brand new multi-selection feature (hit Space or click grey dot to select an issue). Then click Bulk Change button in the Structure toolbar, and it will take you to the standard JIRA's Bulk Change wizard, where you can choose to Edit, Move, Transition or Delete the selected issues.
2.4. Favorite Structures
You can now mark a structure as your favorite, by clicking the familiar grey/yellow star near the structure name, in Manage Structures dialog or on the Structure Board.
Favorite structures are displayed in a separate section in the Structure top-level menu and they are grouped in a separate tab on the Manage Structures page.
Documentation: Favorite Structures
2.5. Structure Tab in GreenHopper Issue View
GreenHopper now displays Structure tab in the Issue Detail View, which allows you to quickly see the position of an issue in a structure.
Click an issue in a Rapid Board, and Details view appears, with Structure tab following the standard tabs. Structure tab displays the Structure widget, focused on the selected issue, much like on the issue page. You can select which structure to display, and you can Pin the issue to view only relevant part of the structure (parent issues and sub-issues) or Unpin to view the whole structure.
As there's usually not much space in the details view, Structure interface there is a bit scaled down, but almost fully functional, supporting inline editing and issue creation.
Structure tab is available for GreenHopper 6 or newer.
Documentation: Structure on Agile Boards
2.6. Structure Migration and Partial Import
JIRA administrators are now able to move structures from one instance of JIRA to another.
Until version 2.0, Structure supported only full backup and restore, and restore operation had to be performed on the same JIRA instance (because issues were identified by their numeric IDs). That was making it impossible to transfer structures to another JIRA after a project had been transferred via JIRA's Import Project feature.
In version 2.0, we introduce Migrate Structure tab in the Administrator's interface to Structure. It restores structures by identifying issues by their issue keys, and it also allows to pick which structures are to be restored.
Documentation: Migrating Structures
2.7. Easier Structure Management
The Manage Structures page now has got tabs and search, which let you quickly find the structure you need. It is especially handy if you've got a lot of structures in JIRA.
The tab that opens by default is Current tab, which lets you manage the structure you've just been working with.
2.8. New Column Resizing and Automatic Widths
We have implemented a more convenient way to change column widths with the familiar "resizer" controls in the Structure grid header. But more importantly, the columns are now assuming the best width by default, based on the displayed data.
If you still need to change a column's width, drag the resizer responsible for that column (either to the left or to the right of the column header). In the proximity of the "best width", calculated for that column, the resizer snaps to the best position. You can alter the way resizer behaves by holding Ctrl or Alt keys while dragging the resizer.
Double-click a resizer or a column header to automatically set the best width for the column. Double-click Summary column or a new "resize all" button to set the best width for all columns.
Documentation: Customizing Columns
2.9. Dashboard and Confluence Gadget with Preset Columns
Structure dashboard gadget is fully integrated with the new Views feature. You can now decide which columns do all users see in the gadget when they open JIRA dashboard or a Confluence page.
When configuring a gadget, you can select a view – it defines which columns are displayed for all users. You can also create a new view on the spot, then add and rearrange columns the usual way, and save the changes into the view so the other users also see them.
Besides, we have given dashboard configuration panel a new look.
Documentation: Structure Gadget
2.10. Reusing Columns Configuration from Issue Navigator
When using Search in Structure, it's now possible quickly switch to the columns configured in the Issue Navigator.
Click Columns button on the search toolbar and the active view will temporarily switch to display the same columns you'd see in the Issue Navigator. When you turn Columns button off or when you close Search panel, view switches back to the one you were using.
Documentation: Using Issue Navigator Columns
2.11. Revamped Multiple Issue Selection
We have improved the way multiple selection works and looks, and we have made more Structure actions (like Delete) work with multiple selected issues.
Hit Space to select an issue, or click the grey circle at the left side of the issue row. Use Shift+Arrows to select a range of issues or Ctrl+A (Command+A) to select or deselect all issues. Hit Escape to clear selection. There are more keyboard shortcuts for the multi-selection.
Documentation: Selecting Multiple Issues
2.12. Activity Streams Performance Improvements
We have optimized Structure's Activity Streams Provider, resolving critical performance issues for production systems with large structure history.
Sub-optimal implementation of Activity Streams (which is, basically, searching through structure change history) has been causing performance issues on JIRA instances where structure history had grown large. The activity stream wouldn't load in time and cause wasted CPU cycles and increased memory consumption. To make matters worse, JIRA does not allow to select activity streams providers for the "Activity" tab on the issue page, and for the user's and project's activity sections, so you could not turn off Structure activity streams there. The only remedy was to disable Activity Streams module in the Structure plugin.
We have taken great pains to fix this issue and ensure that Structure's activity streams are lightning fast, almost independent on the amount of structure history. The speed of search depends of course on the search conditions that the user specifies, but for typical conditions (and, more importantly, for the issue, project and user activity sections) the new activity streams is even faster than the standard JIRA's activity stream.
2.13. Underlying Derby Database Upgrade
Apache Derby embedded database, which runs Structure data behind the scenes, has been upgraded to the latest version, providing more stability and performance for Structure.
2.14. Other Improvements and Notable Bugs Fixed
- HJ-918 Limit the positive feedback between synchronizers
- HJ-800 Make warnings logged by synchronizers more self-explanatory
- Fixed: HJ-816 Double-escaped apostrophe on IE8
- Fixed: HJ-967 Incorrect reaction to conflicting JIRA shortcuts like "g,i"
- Fixed: HJ-886 Memory leak when enabling/disabling the plugin caused by Derby database incomplete shutdown
3. Supported JIRA Versions
Structure 2.0 supports JIRA 4.4 — 5.2+. Note that there are separate downloadable files for JIRA 4.4 – 4.4.5 and for JIRA 5.0 – 5.2+.
This is the last version to support JIRA 4.4 series. Next minor release of the Structure plugin will support JIRA versions 5.0 and newer.
4. Changes for Developers
There are also a few goodies for the developers who integrate with Structure.
We have added a fully-functional
/structure resource to the REST API, letting you manage structures remotely. Java API provides new managers, which are responsible for the new functionality in version 2.0.
For details, see API Changes in Structure 2.0.
6. Upgrading from a Previous Version
Important! The upgrade makes irreversible changes to the Structure database. (JIRA's main database is not affected.)
Please back up Structure before upgrading!
It will not be possible to downgrade just by installing a previous version! See below for downgrade instructions.
The upgrade to version 2.0 involves changes in the Structure's database schema. The changes are made automatically, you only need to install the plugin.
Proper upgrade sequence:
- Create backup of Structure data. You can either use Administration | Structure | Structure Backup menu or do a cold backup by copying the whole
structure/sub-directory under JIRA home while Structure is disabled. See Backing Up Structure for details.
- Verify that you have enough free disk space. If not sure that you have enough: a) see how much
structure/sub-directory in JIRA home takes, b) make sure there's at least twice as much space free on that file system.
Install the new version of the plugin.
Note for early adopters: if you have a pre-release version of Structure 2.0 installed, you need to uninstall it first, and only then install the released version. All structure data will be kept.
jira-application.logfor log messages from Structure. Shortly after installation, Structure 2.0 should start a background migration process that will steadily transfer structure history from old schema to the new schema. Structure plugin can be used immediately after upgrade, but activity streams and structure history will be filled up gradually.
If for some reason you decide to downgrade to an earlier version of Structure:
- Make sure you have the backup made earlier ready.
- If you don't have the backup, but Structure 2.0 is operational, you can still use Administration | Structure | Backup Structure menu to create an XML backup, which will be readable by previous versions.
- Uninstall Structure 2.0.
- Manually delete or move away
structure/sub-directory in JIRA home.
- If you have a cold backup of
structure/sub-directory, restore the directory contents from it.
- Install previous Structure version.
- If you didn't have a cold backup, but have an XML backup, use Administration | Structure | Restore Structure menu to restore data.
- Let us know about the reasons to downgrade, so we can address them.
7. Detailed Change List
Our public JIRA contains the full list of issues resolved in Structure version 2.0.