DevonWay 2.35 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.35
YourWay 2.35 introduces the following major changes:
- The ability to view thumbnail images of charts on Dashboard tiles.
- Support for generating and sending SSRS reports on a schedule.
- The ability to send PDFs as attachments to search notifications.
- A new login page background.
- Improvements to generated calendar-invite notifications.
- A new DXL Builder utility screen that makes writing module rule and behavior logic simpler for Module Builder users.
- Revision tracking for module changes in Module Builder.
- Removed support for Internet Explorer 8, as previously announced.
- Many other minor enhancements and optimizations, such as:
- Smarter management of object locks.
- More informative error messaging.
- Improved controls when exporting grids to Excel.
- Better handling of search-related corner cases.
- Stronger data protection in BI reports.
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).
** SUP 2010-0286: When end-users export search results to Excel, we now truncate field values to 32,767 characters, which is the maximum Excel allows in a single cell. **
** TRAK 2013-0673: We now send an object release request for each open object when you click [Sign Off] or close your browser, so locks will be immediately released instead of waiting for your session to be timed out **
** TRAK 2013-1754: Batch processing jobs now lock objects, just like end-users do, when performing object updates. **
You may notice an occasional warning about an AUTOMATED PROCESS having an object open for editing. But those locks should clear relatively quickly.
** TRAK 2015-0426: Initiated On and other date-time fields now support exact-date searches, not just date ranges **
** TRAK 2015-0576: (tabbed) We now block subsequent large print requests until the first one finishes **
To avoid issues related to users requesting the same large print over and over again without waiting for the first one to finish, we now display a message like the following when we detect that situation:
There is already a print export in progress from this grid search. Please submit your export request again
once it's finished.
** TRAK 2015-1762: We now support attaching PDF output as an attachment to search notification emails. **
The attached PDF is just like the file that results from clicking [Export to PDF] for search results displayed in List or Grid form. For search results displayed in a DevonWay BI report, the PDF is the report itself. Attaching a PDF provides the notification recipient with more details than attaching a spreadsheet.
** TRAK 2015-2573: We added the ability to view thumbnail images of charts on Dashboard tiles. **
End-users can now add chart preview images to their desktops by dragging a report (saved search item) to blank space on their desktop. A new tile is automatically created using the name of the report. The preview image is shown if it is available, otherwise a placeholder image stating "Preview not available" is shown. Note that end-users must sign on with the new login page to see the preview image.
Clicking a preview image will open the corresponding report.
Preview images are available in two sizes: large and small. These sizes correspond to the large and standard tiles. Wide and tall sizes are not supported. Chart legends are available on large previews, but not on small previews.
Dragging crosstab or table report types to the desktop will result in a regular live tile.
Changes to a report will automatically regenerate a chart preview. A request to regenerate the preview image is submitted when the corresponding report is saved. The chart preview image is not automatically reloaded, however, until end-users login again.
When hovering over a preview image, a refresh button will appear in the upper-right corner. Clicking this refresh button will regenerate and reload the chart preview image.
We plan to support sharing of chart tiles where it makes sense.
** TRAK 2015-3571: We improved the error message that appears when end-users attempt to upload a file that cannot be printed. **
** TRAK 2015-4810: (tabbed) Print results will appear sooner to end-users in some cases, because we now check the status of print requests more frequently. **
** TRAK 2015-4915: (tabbed) We fixed a rare issue related to sorting History Details in the History window **
** TRAK 2015-5093: (tabbed) We improved child grids to avoid potentially unexpected behavior in rare cases where end-users add new rows (not sorted to the bottom of the list) immediately after deleting other rows. **
** TRAK 2015-5158: We improved the experience for end-users who export high volumes of grid search results to Excel **
To avoid lengthy delays, we no longer use auto-sized columns when exporting more than the maximum search results (typically 300). We also now report this message to end-users who attempt to export more than 65,530 grid results to Excel:
This search returned x results. This is more than the 65530 allowed. The exported file has been truncated.
** TRAK 2015-5283: (tabbed) We improved the efficiency of the feed process when looking for dependent items **
** TRAK 2016-0351: (tabbed) We now avoid errors in corner cases opening and using objects that were originally created without workflow but whose modules now have workflow enabled. **
** TRAK 2016-0373: We fixed an issue that could cause notifications to fail when the name of their associated saved search contained non-alphanumeric characters **
** TRAK 2016-0447: We improved error handling when end-users click [Edit] in search grids. **
** TRAK 2016-0466: (tabbed) Rule-driven prompts now display as expected when editing items in search grids **
When editing items with rule-driven prompts in a search grid, the column headings now display as expected:
- If all the rows are the same, we display the rule-driven prompt as the column heading instead of the static prompt.
- If rows are different, and the cell is blank, we display the rule-driven prompt as inline help.
- If rows are different, we also display the rule-driven prompt when you hover over a little blue triangle widget that appears in upper right corner.
** TRAK 2016-0736: We now support attaching spreadsheets to e-mails and exporting grid results to Excel on multi-module or all-module searches. **
** TRAK 2016-0949: (full) We resolved a warning that could appear in old module reports restricted to very many criteria **
** TRAK 2016-1016: We resolved a problem that could cause the Advanced Search calendar window to remain open under certain conditions. **
** TRAK 2016-1149: You can now change the names of report and chart bookmarks. **
** TRAK 2016-1280: Number fields no longer show decimal places in edit mode when the field's Display Format hides decimals. **
** TRAK 2016-1304: (tabbed) Masks now apply to numeric fields when editing objects in grid mode **
** TRAK 2016-1306: (tabbed) New-architecture report books (e.g. when you export grid results to PDF) now generate a table of contents without column headers, so they can better accommodate items from different modules: **
** TRAK 2016-1443: Common date field values now appear as expected in multiple-module search grids. **
** TRAK 2016-1587: (tabbed) When you refresh a search grid by rerunning your search, we now release the locks for any objects you may have been editing. **
** TRAK 2016-1620: Reference buttons in header-style grids now display required background color correctly. **
** TRAK 2016-1642: We added flexibility in the schedules you can define for running Search Notifications and now Reports (see TRAK 2105-1711). **
We now support setting start and end dates on scheduled jobs (Search Notifications and Reports) and we allow for the creation of schedules that run multiple times per day.
** TRAK 2016-1727: We added support for showing items in calendar views whose dates span the displayed month. **
** TRAK 2016-1827: In search grids, we now enable [Save] when end-users change any field value on any editable row, whether or not they have previously clicked [Save]. **
** TRAK 2016-1829: Searching a numeric field for a specific negative number now returns the correct results. **
** TRAK 2016-1830: We no longer automatically trigger a search when you select "!= (Not Equals)" with no filter value entered or selected. **
** TRAK 2016-2239: (tabbed) Pressing Ctrl+S no longer triggers [Save]. **
This ensures that Ctrl+S does not interfere with change-request handling.
** TRAK 2016-2306: We added a new background image and removed custom banners on the new login page. **
The custom banners remain available on standard print headers and the old-style login page. The new login page displays the area description, which is the same text that appears in the browser tab title, at the top of the sign-on box.
** TRAK 2016-2328: (tabbed) We now format child-level time fields correctly when their values are set in add() functions. **
** TRAK 2016-2385: (tabbed) We made messaging for [Submit] or [Complete] more consistent. **
When end-users click [Submit] or [Complete], we now generate and display the same messages whether or not the current task is defined to close automatically on completion.
** TRAK 2016-2423: The [Single SignOn] button no longer appears on the new login page for subscribers who do not have SSO authentication enabled. **
** TRAK 2016-2449: (tabbed) The standard [Print] and [Options] buttons now consistently display in the same order ([Print] first). **
** TRAK 2016-2462: (tabbed) We now better handle calculations that determine the month-end date when the input date is empty. **
** TRAK 2016-2478: (tabbed) We now successfully parse reference field values (or other SQL results) that include marked-up data. **
** TRAK 2016-2498: (tabbed) We no longer trigger overlapping screen refreshes when checkbox field values change systematically. **
** TRAK 2016-2551: We fixed some corner cases so reference fields displayed as radio groups maintain their values as expected. **
** TRAK 2016-2590: We fixed a few issues with searching common workflow fields and using conditions other than 'equals'. **
** TRAK 2016-2840: Checkbox fields no longer show unnecessary scroll bars in Internet Explorer (like they did in rare cases). **
** TRAK 2016-2845: (tabbed) We now release locks on tabbed items when you right-click on a tab and select Close Tab, Close Other Tabs, or Close All Tabs. **
** TRAK 2016-2853: Exports to PDF from Grid search results no longer include a Title page, and only include a Table of Contents in those results if the search returns more than one item. **
The same behavior will happen when attaching PDFs to Notifications on Saved Searches as well.
** TRAK 2016-2884: We no longer show deleted child rows in standard [Print] output. **
** TRAK 2016-2913: We now encode text passed into the ClickForMore API to ensure that the text displays properly (and is not affected by the use of reserved HTML characters). **
** TRAK 2016-3074: We now encode cell data to ensure that search grids display properly (and are not affected by the use of reserved HTML characters). **
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 2015-1711: We now support generating and sending custom reports on a schedule. **
Users with the Search & Reporting administrator role can now use the Reports & Charts screen to setup a schedule on which to generate and distribute custom (SSRS) reports.
This capability replaces a feature available in our older architecture, where module developers defined "Batch Report" rule behaviors to run (and send) custom reports. While the newer version includes several improvements, like more granular schedules and the ability to copy the report to a web server, it does not support the old-architecture option to skip sending empty reports.
** TRAK 2015-3978: We now include RESTConnect calls in the Search Web Services screen. **
** TRAK 2016-1349: We now show shared tiles consistently in the list of tiles in Maintain Persons or Edit Profile. **
The lists in Maintain Persons and Edit Profile now show values of "Shared", "User-defined", or "User-defined (and shared)" in the Type column. We no longer distinguish "Shared to Teams" and "Shared to Roles" as separate Type values.
** TRAK 2016-1792: We cleaned up the Validations tab on the Cross Module Functions screen to limit the selectable reference fields to only valid values. **
** TRAK 2016-2175: When importing modules, we now update view names in rule logic that executes SQL. **
** TRAK 2016-2628: We improved RESTConnect's handling of date field query values. **
** TRAK 2016-2634: We now handle inconsistencies in browser (specifically Internet Explorer 10) date formats when returning from modal popups like Build Schedules. **
** TRAK 2016-2810: We now display messages to end-users when report uploads fail in the Reports and Charts admin screen. **
For Module Developers
This section describes fixes and enhancements to functionality affecting module developers, i.e. users of the YourWay IDE.
** TRAK 2015-2465: Module Builder users can now access a new DXL Builder screen that makes writing DXL simpler by providing field names, picklist meanings, function names, and more in a popup accessible wherever they edit DXL. **
** TRAK 2015-3620: Restored the ability for Module Builder developers to allow rollback to tasks that were previously skipped. **
Prior to this release, new-world modules always allowed rollback to tasks that were previously skipped. Now, module developers can choose whether or not specific tasks in their new-world modules allow rollback to tasks that may have been previously skipped.
** TRAK 2015-3677: You can now reliably reference the Initiated On [H:ON] field in child-level field calculations (like C18:R1:ON). **
** TRAK 2015-4717: We now add a child row if an Add() calculation finds an external object where the only mapped value happens to be null. **
** TRAK 2016-0430: Property grids now display boolean properties as checkboxes instead of true or false: **
** TRAK 2016-0578: Better defaults for new fields, roles, and tasks **
To better match best practice module design patterns used in implementations, for new fields we no longer automatically check "Search Filter," Search Grids," and "Search Grids/Data Import Default" properties for header fields; for new roles, we automatically check "Hide tasks region" and "Hide dependent items list"; and for new workflow tasks, we no longer automatically check "Allow assists."
** TRAK 2016-0865: Administrators can now specify a custom web page to open when end-users click [Sign Off]. **
Adminstrators now use the Login Page Preferences screen to enter a custom web page in the 'Redirect Sign Off URL' field. If that field contains a value, then we open that URL when end-users click [Sign Off]. If that field is empty, then we direct end-users back to the login page, like we always have, when they click [Sign Off].
** TRAK 2016-0940: Cross-module validation improvements. **
We now generate History records - just like we do for end-user actions - when automatically repairing missing connections between referenced objects. We also now let end-users manually break those connections without auto-repairing them.
** TRAK 2016-1101: We cleaned up several issues related to field names in generated module views **
- We now report errors if module developers attempt to use a reserved word when changing field names.
- When module developers click [Generate Views] in Module Builder, we now send them the results - including any errors - in an information message.
- Field names are now non-modifiable for key fields (ID, ON, BY, and RA) in both Define Module and Module Builder.
** TRAK 2016-1562: On the Advanced Search screen, we now perform accurate searches after end-users click [Select Values] and clear all filtered values for a given field. **
** TRAK 2016-1594: We now apply save-first behavior to the [Save] and [Submit/Complete] buttons in search grids. Those buttons now behave the same in grid mode as they do when editing a single object. **
** TRAK 2016-1723: Module developers can now specify how many times to run calculations associated with a given field or level. **
Typically, module developers are able to manage the interdependence of field or level calculations by defining the order in which calculations run. For example, module developers define field A to calculate before field B because field B uses the value of field A as an input.
There are rare cases where calculation dependence cannot be managed through sequences. In those cases, module developers can now specify the number of times to run calculations on a given field or level, by modifying the Loops value in the Calculation Options popup in Module Builder. The first loop runs calculations for all fields and levels, whereas subsequent loops run calculations only on fields and levels where the Loops value is greater than or equal to the loop number.
We also created a new 'getLoop()' DXL function that module developers can use to know the current loop number, which they can use in rules to control when to execute a certain set of field calculations. This gives them the ability to execute some field calculations on the last of many loops, for example.
** TRAK 2016-1774: We added a new GetSequence() DXL function. **
GetSequence(Name, ResetEachYear) returns the next value in the sequence identified by the passed-in name. Set the optional second parameter to 'true' to reset the sequence at the start of each new year. Example: GetSequence(&ID, true).
** TRAK 2016-1791: Module Builder now tracks revisions and allows for developer comments. **
Module Builder now shows a summarized list of the most recent revisions to the module, including who saved the change and when they did it. Each instance of clicking [Save] or [Compile] by the same end-user is grouped together as long as the click occurs within an hour of the previous click. That way, you can track roughly how long developers spend working on a module.
You can click the Details link for each grouping of revisions to see a detailed list of revisions within that group, including a list of the module elements that were either added, modified, or deleted. This doesn't show exactly what changed about the element, just that something changed. Developers can also add comments for each revision.
** TRAK 2016-2000: We improved data protection in search results. **
We changed the behavior for grid searches that use Search Filter Controls so that, if the field is a reference field, you can no longer use the free form text box to search. Also, you can no longer use the generic 'Search Term' box unless you also supply a search term for the field that has Search Filter Controls enabled.
** TRAK 2016-2221: We improved data protection in BI reports. **
Just like search grids, BI reports now hide data values (showing [NOT DISPLAYED] instead) for fields set to Display results when criteria populated unless the end-user specifies search criteria for that field. See TRAK-2015-2914 in the 2.33 Release Notes for more information.
** TRAK 2016-2256: We improved generated calendar-invite notifications. **
We cleaned up a couple of issues with generating meeting invitations. We also added support for a meeting organizer to change the time (or other property) of an existing event, to cancel an event, and to add or remove attendees. Refer to the Advanced Behaviors - Email notifications section of this help document for configuration details.
** TRAK 2016-2515: Module Builder now automatically repairs rare cases where field behaviors (like required, bold, italics) do not apply as expected even though the associated rule is true. **
** TRAK 2016-2782: We added a new GetLastSavedValue() function. **
GetLastSavedValue(Field) returns the last saved value for the passed-in field. Rule Example: H:CS1 = GetLastSavedValue(H:CS1). Calculation Example: (H:N1 + H:N2) / (GetLastSavedValue(H:N1) + getLastSavedValue(H:N2)).
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 environment management personnel at our on-site customers.
** TRAK 2014-0767: We now support storing module definitions, including rule and calculation logic, in a document database to improve compile and run-time performance. **
Note that we plan to test this feature on a limited basis (for limited subscribers) for a few months before recommending its usage on a broad scale.
** TRAK 2016-1307: We made some improvements to the security of some backend services. **
** TRAK 2016-1468: To improve performance, our backend services now retrieve many area-specific variable values directly from cache instead of from the session-context object. **
** TRAK 2016-2717: We significantly reduced the DevonWay BI session timeout to improve server efficiency and increase security. In conjunction, we also made changes to ensure that we don't time out prematurely. **
** TRAK 2016-2762: When administrators update BI report topics (typically by checking the DevonWay BI checkbox on the Preferences screen), we now modify the search url on existing reports if it changed. **
** TRAK 2016-2924: The CleanDirtyObjects job that processes new-world objects now runs more effiently. **
The new-world CleanDirtyObjects job no longer includes old-world objects when querying objects to clean. Though thew new-world job never actually processed old-world objects, it counted the total number of queried items toward the maximum that it could process in one cycle. (Having a high number of old-world objects could limit the number of new-world objects the job could process in a given cycle.) Also, we modified the query to retrieve new-world objects in priority order.
** TRAK 2016-2961: We modified a common query to retrieve from cache instead of the database, primarily to make Data Import processing more efficient. **