Release Notes for 2.138 (April 2nd, 2020)

ReadiNow reserves the right to update these release notes at any time.

New Features

Set Chart configuration options using Calculations

This new chart function allows named parameters to be passed. (I.e. unlike most calculation functions, you actually have to give a name as well as a value for each parameter)

  • The first parameter to the chart is always the name of the chart, and this parameter does not get named.
  • The remaining parameters may be specified in any order, with each having a name, then colon, then the value (or calculation)
  • All named parameters are optional
  • Parameter names are identifiers, and behave in the same way as other identifiers. (i.e. can have square brackets around them; and are not case-insensitive)

Parameters

WidthCm
  • The width of the chart, in centimeters, as it should appear in the Word document.  While it is possible to zoom into a Word document, this is the 'natural' width, i.e. what should appear on a correctly configured screen, or normal paper print-out
  • If WidthCm is not provided, then a default of 16cm is used.
  • Data type : decimal (does not accept list calculations as values)
HeightCm
  • The height of the chart, in centimeters, as it should appear in the Word document.
  • If HeightCm is not provided, then the default is:  width/2.2
  • Data type : decimal (does not accept list calculations as values)
Rotate
  • The number of degrees that the chart should be rotated clockwise
  • If Rotate is not provided, the default is zero
  • Data type : decimal (does not accept list calculations as values)
PixelsPerInch
  • The screen resolution to emulate when sampling the SVG for the chart. 
  • This uses a default value of 100 PPI, which is consistent with typical monitors
  • Data type : decimal (does not accept list calculations as values)

Example Usage

  • chart([Chart Name])
  • chart([Chart Name], WidthCm: 10)
  • chart([Chart Name], WidthCm: 10, HeightCm: 10, Rotate: 90)
  • chart([Chart Name], [Rotate]: 90)
  • chart([Chart Name], WidthCm: 10, HeightCm: 10, Rotate: 90, PixelsPerInch:200)

Application of sizing information

  • A simulated rendering of the chart is done using screen pixels 
    • WidthCm, HeightCm, and PixelsPerInch are used to determine the pixel size to use for the simulated rendering.
  • The generated SVG is then embedded into Word, with sizing information.
    • WidthCm, HeightCm, and Rotation are provided to Word to indicate how big the result should be. 
  • Adjusting PixelsPerInch  has the effect of controlling how wide the pixels/lines are when scaled.
    • a smaller PPI (i.e. less than default of 100) will give larger text; fat lines; and potentially fewer axis markings
    • a larger PPI (i.e. more than default of 100) will give smaller text; thin/faint lines; and potentially more axis markings

Using constant strings for drill-downs

It is now possible to specify that a chart should be drilled down such that document authors can create charts specific to the current record.

  • Allow a list of column names and values to be provided to the chart function
  • If any column names/values are provided, they must be placed after a 'with' keyword
  • Column names are identifiers (i.e. use square brackets if there are any spaces or special characters)
  • Refer to draft product documentation for details on column filters.
  • Column values:
    • will typically be constant values
    • but can be any form of calculation, so long as the data type matches the data type of the column
    • lookup/relationship name columns, and the root name column, behave as though they have a data type of record (with whatever the appropriate record type for that column is)
  • Examples
    • chart([Chart Name] with [My number column]:123)
    • chart([Chart Name] with [My number column]:100+20+3)
    • chart([Chart Name] with [First Name]:'Peter', [Last Name]:'Aylett')
    • chart([Gantt - Scientists] with [Scientist]: resource([Scientist], [Alan Turing]))
    • chart([Whatever] with [Created By]: currentuser( ) )

Enhancements

Various performance tweaks and boosts in Reports.

Bug Fixes

  • API Callouts : Gateway activity no longer throws a validation error when accessing APICallout dynamic type data
  • API Callouts : Extraneous "??" no longer added after the base URL when using "API Key Authentication" for API Callouts
  • Security : Inherited Security Rules could not be changed and are now greyed out to highlight this state of affairs