20th of October, 2017

Structure 4.3 adds more aggregate functions for the Formulas columns, introduces support for the notes column in formulas and introduces filtering by Sprint status. This version also contains a minor security fix for those who use Notes column, other improvements and fixes.

Download the latest Structure and Extensions
Structure Demo Server 

1. Version Highlights

  • New aggregate functions.

  • Modifiers of aggregate functions.
  • Show and filter by Sprint statuses (future, closed, current).
  • Notes column can now be used in formulas.

2. Changes in Detail

2.1. New Aggregate functions and modifiers

Further expanding on aggregate functions functionality, new functions are introduced: COUNT{}, AVG{}, MAX{}, MIN{}, JOIN{}, PARENT{}

Aggregate functions can also be modified to aggregate over different groups. Modifiers include but are not limited to #all, #children, #subtree, #leaves

Example of usage of the new syntax would be JOIN#leaves{X}, which concatenates contents of field X for all the leaves of the current item's sub-branch.

Documentation: Expr Language, Aggregate Function Reference

2.2. Using notes column in formulas

Notes column can now be used in formula column calculations as a variable.

It is important to mention, that notes column values are defined per structure, thus calculations including notes can return different results for the same issue in different structures.

2.3. Filtering by sprint status

Using filtering generator it is now possible to display only issues assigned to Future, Closed or Current sprints or combination thereof.

Documentation:  Transformations page and Filter page.

2.4. Security patch

We have addressed a minor security issue, affecting all Structure versions starting with 4.1 for those who use Notes column.

Details of the issue are not publicly disclosed at this time, but you can find more information in the restricted Structure Security google group: http://groups.google.com/group/structure-security-list (please mention your Structure SEN number or license ID when requesting access).

If you cannot upgrade to Structure 4.3 because you are using Jira 7.1, please make sure to install Structure 4.1.1.

2.5. Notable fixes and improvements

  • It is now possible to group by Service Desk "Request type" field
  • Fixed: Sub-task extender occasionally would not remove no longer matching sub-task from structure
  • Fixed: Issues would not appear under Assignee when added from Search&Add panel
  • Fixed: On macOS columns would overlap + (Add column) button
  • Fixed: When clicking on the value of label-type custom field, transformation would be created around "labels" field instead

This version also includes performance improvements for static and generator-based structures.

3. Supported Versions

Structure 4.3 and all extensions support Jira versions from 7.2 to 7.5. All editions of Jira (Jira Core, Jira Software, Jira Service Desk) are supported. Jira Data Center is supported.

With respect to other add-ons and custom integrations, this release is backwards-compatible with Structure 3.4–4.2. Structure.Testy extension, Colors plugin, integrations with our partner add-ons should work with the new version.

4. Installation and Upgrade

4.1. Installing Structure

If your Jira server does not have Structure yet, the installation is simple:

  1. Download and install Structure add-on, either from Atlassian Marketplace or from Download page. Pick the correct version based on your Jira version!
  2. When Add-on Manager reports the successful installation, click Get Started to visit a page with important guidance for the Jira administrator. You may want to also check out the user's Get Started page, available under "Structure" top-level menu.
  3. (warning) If you have Structure.Pages installed, make sure you've upgraded to version 1.3 or later, both on Jira and on Confluence side. If your Confluence version is not compatible with Structure Helper 1.3, you should stay with version 1.2 for .Pages and Helper add-on, but please, note that there are limitations to its compatibility with Structure 4.2 and higher, so Confluence upgrade to version 6.1 or better is recommended.
  4. Monitor catalina.out or jira-application.log for log messages from Structure.

4.2. Upgrading Structure

If you're upgrading from version 2.11.2 or earlier, please read Structure 3.0.0 Release Notes.

Upgrade procedure from versions 3.x–4.2 is simple:

  1. Consider backing up Jira data. Use Administration | System | Backup System. (If you have a large instance and have proper backup strategy in place, you may skip this step.)
  2. Back up Structure data. Use Administration | Structure | Backup Structure menu item. If you have a lot of structures and a large Jira, consider turning off "Backup History" option to avoid long backup process.
  3. Install the new version of the plugin.

  4. Monitor catalina.out or jira-application.log for warnings or errors.

5. Enterprise Deployment Notes

Structure 4.3 has a few changes in the core parts that could potentially affect performance and stability of the system.

5.1. Formulas and Attribute Subsystem

The Formula column is an important Structure feature that allows users to define and calculate arbitrary metrics for structures of issues. New aggregate functions and formula features in Structure 4.3 required significant changes to the formula engine and the attributes subsystem. If you use formulas and aggregate columns with big structures (10,000 issues or more), it makes sense to check their performance on a staging system before upgrading.

The expansion of formula feature may invite users to create new automated structures and running a formula with aggregation over those structures. On large Jira instances this may lead to increased server load, as formulas with aggregation may need to scan a lot of issues to calculate a total. It's a good idea to advise the users to calculate metrics on such large structures only if there's a real need. In most cases, structures can be made smaller.

5.2. Time Tracking Section Changes

Structure automatically sums up time tracking information and displays aggregate values in the time tracking section on the issue page. This feature has caused significant server load in cases when multiple users were actively working with issues from multiple big structures. In order to improve time tracking section performance in Structure 4.3 we have relaxed its security checks — now the time tracking section sums up the data for all issues in the current structure, including those that the current user cannot see because of issue security restrictions. This also means that all users will now see the same values in the time tracking section. If you rely on the Structure-adjusted time tracking section, please carefully assess these changes before upgrading.

5.3. Automation Engine Improvements

Structure 4.3 contains certain fixes and performance improvements in the automation engine. Large updates of large static structures, like moving hundreds of issues at once in a structure of tens of thousands (with no automation), should be processed much faster. Another change improves the performance of level-limited extenders, which should reduce server load during large automated structure regenerations. Because the automation engine is one of the most complex parts of Structure’s core functionality, it makes sense to perform load and stress testing before upgrading.

5.4. Testing on Staging Environment

You can try load testing and stress testing Structure 4.3 and Jira on a staging environment before upgrading.

It makes sense to test the following parts:

  • Open large structures and add multiple predefined columns from Calculated section. Do that from a number of client computers using different user accounts.
  • Loading Jira's issue page for many issues by many users at once. (Use issues from projects that are enabled for Structure.)

The usual load and stress testing can also be applied.

Need help or have questions? Contact Structure Support.