DevonWay 2.36 Release
Who is this article for?
Administrators and Users who following Technical Updates
No elevated permissions are required.
For additional information on current releases, please review Navigating the platform release roadmap.
What's New in YourWay 2.36
YourWay 2.36 introduces the following major changes:
- Support for drill-down capability in DevonWay BI charts.
- The ability to create and use links that open saved searches.
- Improved performance of processing items in the dependent-item (dirty-object) queue.
- New version of DevonWayConnect that works with legacy systems using the SOAP protocol.
- Removal of the History Overview chart at the top of the History popup.
- Support for the option to include attachments in generated emails.
For details on the above and much more, please see the sections below.
Detailed Notes By User Type
For General Users
This section describes fixes and enhancements that affect general user-facing functionality, with the following exceptions: If the ticket applies only to users of the Tabbed Item Display (where the item detail screen appears as a tab on the Dashboard), the ticket is prefaced with (tabbed). If the ticket applies only to users of the Full Screen Item Display (where the item detail screen takes up the whole browser), the ticket is prefaced with (full).
TRAK 2014-0402, TRAK 2015-0001: (tabbed) We improved performance of processing items in the dependent-item (dirty-object) queue.
Changes to one item may affect other items whose calculations depend on that item's changed values. When we identify those dependent items, we add them to a "dirty-object" queue for processing. A background process then picks up items from that queue and "cleans" them, meaning that it mimics a user opening the item and clicking [Save] to rerun calculations.
Typically, a scheduled job runs in the background every few minutes to pick up and process items in the dirty-object queue.
You can now optionally configure your subscriber to use a new enterprise-grade queuing technology for processing new-architecture items in the dirty-object queue. This new queuing technology should significantly decrease the time lag between when an item is added to the queue and when it is processed...as there is no longer a time gap waiting for the next job to run.
While implementing this new queuing technology, we also added some configurable governors to prevent infinite processing loops, where two items alternatively add each other to the dirty-object queue.
TRAK-2015-3518: DevonWay BI reports and charts exported to PDF, Word, and RTF formats now include a footer with the current date/time and page number.
The date/time appears on the left side of the footer in this format: September 14, 2016 12:15 PM CDT. The current time is the time zone of the BI report server. The page number appears on the right side of the footer in this format: Page 1 of 3.
TRAK 2015-3869: You can now launch saved searches from URL links.
We now automatically open saved searches when opening URLs with "&Action=Open&SavedSearch=[Saved search code or id]" appended to the end of the sign-on URL. You can find the link associated with each saved search in the Notifications popup.
Users who click these links still need to enter their username and password unless they are automatically authenticated via SSO (Single SignOn).
Search-notification emails, as well as emails that announce the sharing of a saved search, now automatically include links to those searches. While we were adjusting the emails that announce the sharing of a saved search, we also modified the emails that announce the sharing of a tile to indicate if the tile being shared belongs to a tile group.
Saved search links always open using the new login page, which means users can open only tabbed, or new-architecture, module objects in those sessions.
TRAK 2016-0618: (tabbed) We made some improvements related to setting child-level column headers based on rules.
We now correctly apply rule-based column headers on child-level Checkbox fields. We also now override column headers with null values if specified by rules.
TRAK 2016-1371: In the Sub-reports dropdown on the Notifications screen, we now correctly show only fields that are included in the search index.
TRAK 2016-1589: Users can no longer delete shared tiles that they did not create.
TRAK 2016-2505: Saved searches now preserve filtered values when you click [Find Items] for a filtered field and some of those values are not returned in the first page of results.
TRAK 2016-2627: We added support for drill-down capability in DevonWay BI charts.
You can now click on a slice (bar, column, etc.) of a DevonWay BI chart to view the items that belong in that particular slice. Clicking the slice opens a separate tab with the items shown as list-mode search results, displaying a summary of the criteria near the top of the tab.
DevonWay BI charts and reports now open in view mode by default, without the editing panels on the left or right of the chart or report. You can switch to edit mode to make changes to the chart or report.
Note that you cannot click on slices that are segregated by calculated field values.
TRAK 2016-3205: You can now specify &Identifier in addition to &ObjectID when creating links that will directly open objects.
For example, you could append something like "&Action=Open&Module=ABC-CR&Identifier=CR+2016-5608" to your subscriber's sign-on URL to open CR 2016-5608 immediately after signing on.
TRAK 2016-3281: We ensure that grids appear as expected after clicking [Submit] if rule results change to make the grid visible.
TRAK 2016-3323: We made a change to avoid rare (and typically harmless) occurrences of 'aaMan' console errors when signing on.
TRAK 2016-3349: We no longer report errors when users attempt to browse hierarchical reference data in the Find Items popup while editing in grid mode.
TRAK 2016-3390: When users attempt to sign on with invalid passwords, we no longer report unexpected error messages in rare boundary cases.
TRAK 2016-3559: We now send e-mails to external parties on teams when notifying teams that a task was auto-completed.
TRAK 2016-3573: To be consistent across field types, we no longer display asterisks next to required reference fields when they're non-modifiable.
TRAK 2016-3676: We repaired a boundary case to ensure that we display the arrow icon as expected on tab titles.
The arrow icon indicates that the tab contains at least one child item.
TRAK 2016-3768: (tabbed) We no longer popup an unsaved changes dialog when users close objects that haven't been changed but include radio-group fields.
TRAK 2016-3796: We improved change-request handling to avoid accidentally saving an unapproved change.
We now prevent AutoSave from inadvertently saving a proposed change to a field value where change-request handling is enabled and the end-user leaves the cursor positioned in the changed field. The new value remains in the field after the AutoSave finishes, and the Request Change popup appears when the end-user tabs out.
TRAK 2016-3799: We no longer display the 'History Overview' chart on the History popup.
We made this change in response to user feedback and to avoid some potential display issues on certain browser configurations.
TRAK 2016-3834: We now refresh embedded charts and reports with updated parameters when you trigger a screen refresh after changing field values used as parameters.
TRAK 2016-3863: We now support previous and next navigation for grid search results.
Just like you see when drilling down on search results in list mode, you now see previous and next navigation options (at the top right of the screen, on the toolbar) after clicking the Details link to drill down to a particular item from a search-results grid.
TRAK 2016-3908: Custom module emails can now optionally include an object's file attachments.
Module developers can now choose to include an object's file attachments in custom module emails. They simply check the new "Attachments" checkbox when defining custom emails.
When generating custom emails with attachments, we attempt to attach all of the object's attached files to the email message. We allow these file types: bmp, doc, docx, jpg, jpeg, pdf, png, ppt, pptx, tif, tiff, txt, xls, xlsx. We limit individual files and the collection of files to a reasonable size (that can be handled by most email clients). The email footer lists the names of the attached files with a brief note next to files that were excluded because of file type or size.
Please be cautious about enabling this feature, as some modules may contain sensitive data. Once that data is sent via email, it's out of our control and can be forwarded.
TRAK 2016-3990: We now display the Dashboard as expected after signing on when a saved search name contains the $ symbol.
We had already accounted for most other non-standard characters (like backlashes, quotes, tabs, etc).
TRAK 2016-4050: We now accurately capture the new value when generating history after a child-level reference field changes from a non-null value to another value.
TRAK 2016-4059: (tabbed) We now gracefully handle some exception cases when determining whether to retrieve task-level data when opening an object.
TRAK 2016-4070: (tabbed) We now display child-level, header-style, autocomplete reference fields correctly after clearing values.
TRAK 2016-4089: We now display numeric values with proper formatting immediately after users reopen an item.
TRAK 2016-4190: We corrected a corner case to ensure that clicking [Help] from the Dashboard opens the subscriber-specific help URL.
TRAK 2016-4271: Numeric fields with values of 10,000,000 or greater now display as expected, regardless of the prescribed format.
TRAK 2016-4330: (tabbed) We now report a more meaningful error message in the rare case where someone attempts to open an object that no longer exists.
TRAK 2016-4348: We now handle multi-module searches on common date fields in List mode when using pre-selected date range conditions like "This Week" or "Last Year".
TRAK 2016-4388: We now handle a boundary case to ensure that reference-field View/Edit actions open reference items as expected when the field dynamically changes region placement.
TRAK 2016-4398: On the Share Object popup, we now accurately record each click of the 'Allow edits' checkbox.
For Administrators, Interface Developers, Report Builders, and Data Analysts
This section describes fixes and enhancements to functionality affecting power users, such as administrators, interface developers, data analysts, and report builders.
TRAK 2010-1193: We released a newer version of DevonWayConnect, called SOAPConnect, that works more efficiently for connecting with legacy systems using the SOAP protocol.
SOAPConnect message formats are exactly the same as DevonWayConnect, and SOAPConnect supports the same access types of Search, Modify, Add, Post and Delete.
These are some differences between SOAPConnect and DevonWayConnect:
- All modules are automatically enabled in SOAPConnect, you don't need to set up specific IP address validations.
- All incoming messages are automatically saved in SOAPConnect, you don't need to check a 'Save Incoming Messages' box
- Whereas DevonWayConnect automatically returned dates in a YYYY/MM/DD format, SOAPConnect honors a subscriber's custom date format, if specified.
- With SOAPConnect, null values are set to "" in the database.
- Reference field lookups are somewhat different. DevonWayConnect used an old-architecture function to determine how to populate the reference field, applying any search criteria to limit the final results. SOAPConnect uses the same method as RESTConnect, which searches on the first value (from the referenced object) displayed in the reference field.
- You can only add child records using SOAPConnect, you cannnot modify existing rows. As a result, ForceAdd=Yes messages aren't supported.
- Search messages with a ReturnType of ReportBookLookup are no longer supported. You should convert your new-world modules to use the new report book style (which involves creating a field calculation with a Json string), then change the archive message to a ReturnType=PDF where you pass in the PrintOptionsTemplate field (in the Items.Data.Header section) that points to the correct template for your book. This conversion will typically happen in the Connect web application.
- The Workbook section of the message isn't implemented, and neither is modification of Task data.
Using SOAPConnect - You can call SOAPConnect directly using it's WSDL (for example: http://dev1:11088/SOAPConnect/Access?wsdl). - You will have to supply a username and password using Basic authentication. - You will also need to send an additional header parameter in your SOAP request called 'subscriber' which specifies the SubscriberCode (also seen in the login URL). - If you include the authentication and header information described above in a DevonWayConnect request, the request will be routed to SOAPConnect. If you want to route DevonWayConnect requests to SOAPConnect without modifying the message headers (or the software that's creating the message), the Operations team can update the dwayConnectConfig.xml file to include specific tokens.
TRAK-2016-2507: Clicking [New] on the Teams administrative screen will now select the newly added row and scroll it into view.
TRAK 2016-2872: Users who must select a Reporting Authority at login are now able to sign on successfully when they have only administrative roles.
TRAK 2016-2969: To improve data-import performance, we made some frequently recurring database queries more efficient.
While we made these changes to improve data-import performance, these queries are used by other components that will also benefit from the changes.
TRAK 2016-2990: You can now configure a module to trigger an error if Data Import Consumer attempts to load an invalid value into a reference field.
By default, Data Import Consumer does not report an error (or block a row from importing) when attempting to load in invalid value into a reference field. But, you can now choose to override the default behavior and report an error in that case, which also prevents the row from importing.
To enable this new behavior, use Module Builder to create a rule with the following DXL: getGenericMessages('WRN_NO_MATCHING_REF_VALUE')!=NULL. Then, create an error message that returns the following value when that rule is true: #{getGenericMessages("WRN_NO_MATCHING_REF_VALUE")}.
Note that Data Import Consumer already reports an error when attempting to load an invalid value into a picklist field.
TRAK 2016-3218: We made some changes to ensure that file attachments print as expected.
TRAK 2016-3437: RESTConnect now correctly returns the Initiated On [H:ON] value from referenced objects.
TRAK 2016-3508: Administrators can now specify when to send the daily notification e-mails.
The Preferences screen now contains a new "Time to send" field in the Notification E-mails section. Administrators can use this field to specify the time (in the subscriber's default time zone) when they would like daily notifications emails to be sent. The default time is 3am.
TRAK 2016-3516: We now show the role code in the Subscriber Roles tab of the Cross-Module Functions screen.
TRAK 2016-3849: Added HEAD support for the RESTConnect object resource and the ability to do conditional GET operations.
Typically, you would call a HEAD request to (efficiently) determine if an object has changed before making a GET request to retrieve the full object.
TRAK 2016-4098: You can now specify an email recipient for long-running report books.
When constructing report-book parameters (in JSON form), you can now specify an email recipient to receive the generated report book, following this pattern: "emailRecipient":"person@company.com".
TRAK 2016-4346: We cleaned up some inconsistent behavior on the Common Fields tab in the Cross Module Functions screen.
For Module Developers
This section describes fixes and enhancements to functionality affecting module developers, i.e. users of the YourWay IDE.
TRAK 2015-5375: You can now create new modules without using Define Module.
Just open the Module Tools screen, enter a new name and prefix and click [Create]. This will create a simple, basic module. You'll need to sign on again to see the new module appear in the Dashboard panel.
TRAK 2016-2830: To avoid a circular relationship, Module Builder now prevents the selection of a region as the parent of itself.
TRAK 2016-3196: In Module Builder, you can now specify execution order in the Batch Processing popup.
TRAK 2016-3205: You can now use YourWay identifiers when opening an object from a link.
Previously, you had to use ObjectID to specify which object to open. Now, you can use either ObjectID or Identifier, as shown in this example:
https://configuat.devonway.com/ConfigUAT/?sub=AVTDQ20305&Action=Open&Module=DL-SUP&Identifier=TRAK%202016-3097
TRAK 2016-1680, TRAK 2016-3238: You can now specify different settings for post-processing on group imports and exports.
Users can either update their ImportConfig.xml file directly with values like NA (New architecture) or OA (Old architecture), or they can select values when exporting and those will be pushed into the exported ImportConfig.xml file. Note that the old default value of "Y" will just do Old architecture (for backwards compatibility on old zip files). On the export screen, if you load the modules by category, we'll check module itself to determine whether to default to Old or New architecture post-processing. If you enter them in manually, you can manually choose the best option for Post-processing.
TRAK 2016-3340: Made EscapeJava(string) and UnescapeJava(string) functions available for use in DXL.
The EscapeJava function escapes the characters in string using Java String rules. The UnescapeJava function unescapes any Java literals found in string.
TRAK 2016-3541: We added a "Skip dirty-object processing for this module" checkbox to the Dirty Criteria popup in Module Builder.
This new checkbox is equivalent to the "Don't recalculate defaults on items that depend on items in this module" checkbox on the Batch Processing tab in Define Module.
TRAK 2016-3635: Module Developers can now control [Delete] button visibility (and label) by rule (instead of only by role).
TRAK 2016-3835: We now preserve Dashboard Nodes (both the entry in the Items folder and any tile entries that point to it) when importing a module.
TRAK 2016-3984: Picklist fields with field codes P41-P50 now display expected values when viewing an object.
TRAK 2016-3417: Replaced the "Show Custom Title" checkbox with a "Custom Title" text box in Module Builder Print Properties.
TRAK 2016-3438: Field names can no longer begin with a number.
Field names should start with a letter to comply with xml standards, as those names may be used in web-service calls. For existing cases where field names begin with a number, we report a warning on [Save] or [Compile] in Module Builder. Because it is a warning (not an error), it does not prevent your changes from saving.
TRAK 2016-3737: You can now delete modules, module data and a module's search index data from the Module Tools screen.
In the Module Tools screen, select the module to delete and click [Delete Module]. Note that clicking [Delete Module] also deletes data from the database and the search index. Click [Delete Data] to delete module data from the database and the search index but leave the module definition intact. Click [Delete Search Index] to delete module data from the search index but not from the database.
TRAK 2016-3916: We now correctly parse and compile DXL that references any Picklist fields (including H:P21-P50).
TRAK 2016-4039: Module Builder now ensures that the Print Region for child-level fields always matches the associated level title.
TRAK 2016-4043: Module Builder helps prevent orphaned search-criteria behaviors.
Module Builder now checks for orphaned search criteria when opening the Reference Modules popup. If it finds orphaned criteria, it repairs the bogus module (noting the fact in logging) and displays the repaired search-criteria behavior with the first referenced module.
TRAK-2016-4056: We now populate virtual reference and virtual picklist fields as expected when running a child-level Add() function.
TRAK 2016-4197: You can now call a JavaScript API to create links that create new objects.
Just like calling the window.postMesssage JavaScript API to open an object, you can now call that same API with some additional parameters to create a new object. See the Client-side functions section of this this help document for details.
TRAK 2016-4229: We now populate level calculation order when you click [Compile] if a level has any calculations.
We were already populating level calculation order when you click [Save].
TRAK 2016-4439: Module exports (and imports) now correctly include the "Allow sharing objects" role property.
Other
This section describes fixes and enhancements to our backend architecture. Tickets in this section primarily affect DevonWay personnel, such as our Operations group, or environments management personnel at our on-site customers.
TRAK 2015-4458: We added commands to automate the generation of standard database views using our new architecture.
TRAK 2015-5402: We no longer create XmlDescriptor records for regions, and we removed existing records that pointed to regions.
TRAK 2016-2120: When feeding objects to the search index, we now apply a limit to how many dependent objects we add to the queue.
Typically, when someone changes a value that is displayed in a reference field on another (dependent) object, we add those dependent objects to the search-indexing queue to update that value. In rare cases, where someone changes a value that is used in a high volume of dependent objects, we can stress the queue-handling processes. For that reason, we now limit the number of dependent objects that we add to the queue for any single change to 10,000.
TRAK 2016-2589: The nightly data cleanup job now runs in the new architecture.
TRAK 2016-3114: The process to load reference data and perform release-specific upgrade tasks now runs in the new architecture.
TRAK 2016-3474: We raised the default size limit of SQL query results and made the limit configurable.
TRAK 2016-4029: We improved exception handling and logging in our search-index consumer.
TRAK 2016-4333: We repaired the system-generated AuditSummary view.