ReportMagic 3.5

ReportMagic 3.5 is now released and contains the following.

New Features and Improvements

  • SFTP File system support - you can now write output to your own SFTP file system, with both RSA certificates and username/password options supported
  • Performance improvements
  • Unicode characters are supported in Word and HTML input templates
  • A new Help page documents changes to the variable dictionary help/report_variables
  • Updated and corrected many Help examples
  • Added a line in the Help showing which macros do not run in ReportStudio
  • Macro Help shows Updated next to help which has changed in the last 60 days
  • The Progress page now has a Macro Variables tab showing only the variables created by that macro and the other tab is renamed as All Variables
  • Variable names that start with numbers now generate warnings
  • When a macro has a parameter default set, and 'Is Write Only' is set, the actual default value is not shown

The Mode parameter

  • All evaluated macros now have a mode parameter. If mode=legacy (the default for existing templates), the output variable is a string and formatted. If mode=normal, (the default for new templates) the variable is set to the strongly-typed value.
  • All macros with legacy mode show warnings on the Progress Page.
  • Report Studio defaults to normal mode - you can change using the Mode button or override in each macro's parameters.
  • In each Schedule, you can select "Force normal mode" to have its macros default to normal mode. This can be overridden in the macro itself using the mode parameter.
  • For all existing reports written in legacy mode, and for new reports that have not been written with mode=normal in mind, do not select "Force normal mode" - reports will continue to run using legacy mode, and this may produce some warnings, which you can choose to color green on the Progress page by selecting the Suppress Warnings checkbox on a Schedule.

Macros

  • Many macros have a mode parameter as described above so variables can be stored as strongly-typed lists
  • You are now shown a macro error if you have set the same macro parameter more than once
  • All macros that support the format parameter support a new storeFormattedValueAs parameter
  • [DateTime:] timeZoneConversion parameter now enables conversion to a specific timezone, and this macro also now supports parameters for hours, minutes, seconds, milliseconds, day, month, and year
  • A [Delete: type=paragraph] macro deletes the paragraph that the macro is in
  • An [Execute:] macro allows execution of arbitrary C# code from a report template or RMScript file without involving an Agent
  • A [File.LoadList:] macro loads all of an XLSX file into a single List<JObject>
  • A [Graph.Update:] macro updates Word Charts
  • You can now force the presence/absence of x-axis auto margins on a graph using the xAxisIsMarginVisible parameter 
  • You can use symbols in [If:] macros, for example [If: condition=`true`]♥[ElseIf: condition=`false`]♦[Else:]♣[EndIf:]
  • The [List.Dequeue:] macro no longer requires the inputVariable parameter
  • An [Sql.Analysis:] macro acts like the [Agent.SqlAnalysis:] macro, but on a direct SQL connection
  • [Web.Query:] and [Web.Connection:] macros enhanced 
  • [Jira.UserList:] supports multiple properties
  • New [Variable.Property:] and [Variable.List:] macros let you find out a variable's content at any time, useful for troubleshooting and report development 
  • Docker macros have been deprecated and references removed
LogicMonitor Macros
    • New AllAsJson property parameter to the [LogicMonitor.DashboardWidgetList:] macro
    • [LogicMonitor.DeviceGroupList:] macro now supports custom properties for filterProperty and filterPropertyValue
    • [LogicMonitor.Graph:] macros:
      • Can have a dynamic Y Axis to zoom on data to more closely show variance
      • Have a showBoundaries parameter and boundaryLabelFormat parameter 
      • Give a better error message where a forecast graph is produced with insufficient training data
    • New aggregation types countConditionMet, Delta and DeltaPercent added to [LogicMonitor.SummaryValue:] macro 
    • [LogicMonitor.SummaryValue:] and [LogicMonitor.SummaryValueList:] supports excludeSDT for Websites and aggregations 
    • Added missing properties to [LogicMonitor.SdtProperty:] macro
    • [LogicMonitor.WebsiteProperty:] and [LogicMonitor.WebsiteList:] now support multiple properties including custom and inherited properties

Schedules

  • Improved performance of schedules and batch jobs pages
  • The Workers and Jobs page has a button so you can view results
  • The Batch Jobs page shows who ran a schedule in a Triggered By column
  • Select the "Suppress Warnings" checkbox on a Schedule to have warnings displayed in green on the Progress Page 
  • The 24 hour clock is used for consistency - note that date/times are always displayed as UTC
  • An HTML Submit button on user-authored forms means the default ReportMagic Submit button is not also added to the form

    Files

    • When transferring input files to process, folders named Archive (case-insensitive) are ignored to improve performance
    • You can create a new folder when a directory called "New Folder" already exists
    • Uploading/overwriting files of the same name will ask you to confirm
    • When uploading a file to SharePoint and the file already exists, the SharePoint file's history is retained
    • Sharepoint Connections are no longer allowed to contain the / character

    Bug Fixes

    There are plenty of small bug fixes in this release. These include:
    • Fixed an issue with incorrect parsing of macro values which resulted in quotes values being interpreted as including the quotes in the actual value, only when the parameter value was preceded by a space / spaces
    • Fixed an issue where the xAxisLabelFormat in List.Graph macros had no effect
    • The [Calculate:] macro now works when variables are provided without curly brackets
    • The [String:] macro now uses RegexOptions.None instead of RegexOptions.IgnorePatternWhitespace
    • Copying a folder to Root (/), Library or My Files works correctly
    • If a user doesn't have X permission for a Schedule, they will not be able to click the Run button
    • Corrected handling of the output from the list function when used with the [Calculate:] macro
    • Ensured Agent logging works
    • Fixed an issue where some reports / batch jobs would show pending on the progress page, even though they were running
    • [LogicMonitor.AlertAnalysis:] no longer sometimes return negative values for duration minutes, and now uses the alert start date and now (UTC) to determine the duration
    • Fixed an issue with caching and data in [LogicMonitor.Graph:] (when type is DashboardWidget) and [LogicMonitor.WidgetStatus:] macros
    • Duplication of data points no longer occurs in certain circumstances for [LogicMonitor.Graph:]
    • [LogicMonitor.Graph] macro now works when using forecast if the dataSourceName AND the dataSourceInstanceName parameters are both set
    • [LogicMonitor.Graph:] macros now have the ability to order area-only charts (not stacked areas) by the mean of each series
    • [LogicMonitor.InstanceGroupList:] and [LogicMonitor.InstanceGroupCount:] now work for multiple device IDs
    • Fixed an issue with the [LogicMonitor.UnmonitoredDeviceProperty:] macro where it was incorrectly storing and displaying the result of property=Ports. Ports are now stored as a string of comma separated port numbers, as returned by LogicMonitor
    • In [LogicMonitor.UserProperty:], symbols (+ and -, for example) are now properly returned when a LogicMonitor property is a phone number and contains such items
    • MicrosoftDataverse macros do not fail after 60 minutes of report run
    • Fixed an issue where the [LogicMonitor.DeviceGroupList:] would not work with the parameter deviceGroupType
    • The [Table.Save:] macro now supports HTML input templates
    • Late evaluation works in [ForEach:] and [RepeatRow:]

    Comments