Skip to content

3.10.1 (1-11-2022)

Compare
Choose a tag to compare
@ndobb ndobb released this 11 Jan 21:46
· 78 commits to master since this release

Leaf 3.10.1 continues a focus on adding community-requested features, in this release thanks to collaboration and extensive input from @artgoldberg at Mt. Sinai, who has been a great partner and has helped us continue to improve Leaf. Most of the features in this release were suggested and brainstormed by Professor Goldberg.

New features

  • #453 - Leaf can now be set to "Maintenance Mode", which prevents users from logging in and running queries, while Leaf Admins are able to. As maintenance mode is designed to be managed programmatically, there is no admin UI component. Instead, Admins can set Leaf to maintenance mode via the Leaf app database app.ServerState table.

    To set Leaf to maintenance mode immediately, run something like:

    UPDATE app.ServerState
    SET IsUp      = 0
      , Updated   = GETDATE()
      , UpdatedBy = 'admin'

    To set Leaf to maintenance mode from and until a specified time, run something like:

    UPDATE app.ServerState
    SET DowntimeFrom  = '2022-02-01 17:00:00' /* Feb. 1st 5pm */
      , DowntimeUntil = '2022-02-01 19:00:00' /* Feb. 1st 7pm */
      , Updated       = GETDATE()
      , UpdatedBy     = 'admin'

    Leaf will automatically initiate and end maintenance mode at the intervals specified in DowntimeFrom and DowntimeUntil. You can also set an optional message to users using DowntimeMessage, else Leaf will default to showing:

    image

  • #495 - Leaf can also notify users of new features, upcoming events, or any other custom message needed with the Notifications feature. Like maintenance mode, notifications are designed to be used programmatically via the Leaf database.

    To send a notification to users, run something like:

    DECLARE @msg NVARCHAR(1000) = 'Leaf will be down for maintenance on Wednesday February 1st from 5 to 7pm.'
    DECLARE @user NVARCHAR(20)  = 'admin'
    DECLARE @showUntil DATETIME = '2022-02-01 17:00:00'
    
    INSERT INTO app.Notification (Message, Until, Created, CreatedBy, Updated, UpdatedBy)
    SELECT @msg, @showUntil, GETDATE(), @user, GETDATE(), @user

    The message will appear in the lower-right corner of users' screens:

    image

    Note that even active, already-logged-in users will be shown the message as the client syncs at 30 second intervals to the server and updates users with any new notifications. Like maintenance mode, notifications can also be set to expire by specifying the Until SQL column.

Minor features and changes

  • #490 - Contributed by @jnothman, Patient List datasets now show a nice icon to better indicate any date filters present:
    image
  • #476 - Also by @jnothman, the default text shown to users for queries not yet saved is now "Unsaved Query", rather than "New Query" (previous).
  • #498 - The term "blacklist" in database tables and API services has been renamed to "Invalidated".

Upgrading to 3.10.1

  1. Client app and server API - Download and deploy the latest client and server compiled files under Assets, included in this release (or compile on your own as described in the Leaf installation instructions), making sure to first remove any previously deployed instances.
  2. Database - execute the 3.10.0__3.10.1 database update script on your Leaf application database.
  3. appsettings.json - No changes are needed to the appsettings file.