7th of June, 2021
|
Download the latest version of Structure and its Extensions
Try It: Structure Sandbox Server (no installation required)
Version HighlightsStructure 7.0 introduces Expr 2 - a completely new level of sophistication and possibilities within formulas. Changes in DetailFormula Enhancements (Expr 2.0)We've made major enhancements to Expr, Structure's formula language, allowing users to pull data from more places than ever before, including:
It's also now possible to embed queries (JQL and Structured JQL) within formulas. There are multiple improvements in the Expr language, which support these new capabilities:
Documentation: Changes to Expr in Structure 7, Formulas Additional Updates
Important Considerations for Upgrade and DowngradeBackward-incompatible changes in ExprIn making this new generation of the formula language, we had to make some backward-incompatible changes. Those changes are minor and they are very unlikely to break your formula, but it's possible. If you have been using formulas before, please review the Backward Compatibility section of the Changes to Expr in Structure 7. Review S-JQL queries used in conjunction with formula-based Group by (Text) Attribute generatorsAfter upgrade to Structure 7 some formulas may return array or item values instead of text. If such formula is used in a Group by Attribute generator, and the formula result is a user, a priority, a status or some other item, then instead of folders the generator will create group rows representing those items naturally – as users, priority values, status values. This may break some existing S-JQL queries if they use " If you encounter this problem, the fix is to replace " Downgrading from Structure 7If you use the new formula capabilities introduced with Expr 2, and then downgrade to Structure 6 or an earlier version, the new formulas will stop working. The result of the calculation would most likely be an error, but also might be an undefined value or an incorrect result in some rare cases. For that reason, if you use the new formulas to configure generators, the downgrade may result in an incorrectly built structure. For example, if you use Group... menu to add grouping by Sprint Name, it would create a Group by Attribute generator, configured with the " Should you decide to downgrade, please review the formulas added to your Jira while using Structure 7. Supported VersionsStructure 7.0 and all extensions support Jira versions 8.5 or later. This release is for customers using Jira Server or Data Center (Jira Core, Jira Software, or Jira Service Management/Service Desk). Compatible plugins versions:
Cloud customers can learn more about our products on the “Cloud” tab of our marketplace listing. Installation and Upgrade
Installing StructureIf your Jira server does not have Structure yet, the installation is simple:
Upgrading StructureThe upgrade procedure from versions 3.0–6.6 is simple:
Enterprise Deployment NotesExtender Performance ImprovementsWe have improved the performance of Linked Issues, Stories under Epic and Sub-task extenders once again. This time the changes were made to the performance of incremental updates and to an invisible part of the Structure app's work - when Structure checks if changes should be applied to a structure or not. Actual numbers will depend on the structure configuration, amount of issues in Jira, amount of changed issue, database performance, etc. However, in our tests we saw a 15-20% speedup of incremental updates. Event processing in Data CenterIn the Data Center environment, Structure running on one node needs to let Structure running on other nodes know when an item (an issue or some other object) changes. This "change stream" is communicated to other nodes via the database, asynchronous caches and the occasional use of a global, one-per-cluster lock. Normally, each change is written into the database immediately when it happens – in the "event listener". That code runs in the same execution thread as the change itself, typically as a response to a user's action. From time to time we received support requests where the Jira global locking subsystem failed and there were certain issues with the database. This made the writing to the change stream "hang", which, in turn, made user request threads hang, which led to Jira being unresponsive. In Structure 5.1, an alternative implementation of this subsystem was introduced, which never blocks a user request thread. All global lock operations and writing to the database happen in a separate, dedicated thread of execution. This feature was experimental and not enabled by default. We have fixed the only problem that was found since Structure 5.1 - ConcurrentModificationException that was happening in rare cases. In Structure 7.0 we made this feature enabled by default. There is still a dark feature that allows you to return to the synchronous event processing mechanism: set To test this change, you can make issue changes on one node while a user observes a structure with JQL-based automation on another node. In a few seconds, the user should see the most up-to-date information in Structure. Fix for CDN based on Microsoft AzureWe recently worked on an incident where Jira was configured to use a CDN server based on Microsoft Azure. In such an environment, Structure breaks the loading of CSS resources on Structure Board, Issue pages, and some other pages. In Structure 7.0, this problem was fixed. To test this fix, you can just open Structure Board and see that it looks as expected. Expression Language Performance AspectsStructure 7.0 introduces a new version of Expression Language that allows you to use Issue Links, Worklogs and other items and data types including arrays. It allows you to construct more complicated formulas with arrays, JQL filters and user functions. This can cause potential performance problems connected with the amount of data (array size) and formula execution steps count. Structure 7.0 applies bulk data load for links, worklogs and JQL. It also has limits for array size, call count and call depth in formulas. But it is still possible to create a formula complicated enough to be slow. So please keep this in mind. Testing on Staging EnvironmentApart from the changes and suggestions above, there are no particular special areas of interest for load testing and stress testing Structure 7.0. We advise running the same testing procedures as you've done for previous upgrades. |