v4.0 Release Notes

Administrative changes

Thanks!

We’d like to thank a bunch of folks’ for contributing to this release. As we only know the github username, that’s what’s being referenced here.

Details of administrative changes

Breaking Changes

Autoloading during initialization has been removed.

This comes from the Ruby on Rails framework that Open OnDemand utilizes. It affects initializers you may have written, for example to Add Shortcuts to Files Menu.

To resolve this, wrap your code in a Rails.application.config.after_initialize block.

For example, if you have:

# /etc/ood/config/apps/dashboard/initializers/ood.rb

  OodFilesApp.candidate_favorite_paths.tap do |paths|
    # add User project space directory
    paths << FavoritePath.new("/fs/project/#{User.new.name}")
  end

You will need to modify that file like so:

# /etc/ood/config/apps/dashboard/initializers/ood.rb

  Rails.application.config.after_initialize do
    OodFilesApp.candidate_favorite_paths.tap do |paths|
      # add User project space directory
      paths << FavoritePath.new("/fs/project/#{User.new.name}")
    end
  end

whitelist & blacklist configs have been removed.

These configurations that have whitelist in the name have been deprecated in 3.0 and replaced with allowlist or blocklist in 4.0.

The configurations maintenance_ip_whitelist for configuring maintenance ips has been replaced by maintenance_ip_allowlist.

The WHITELIST_PATH environment variable for configuring inaccessible paths in the file browser has been replaced by OOD_ALLOWLIST_PATH.

ACL configurations in cluster.d files now use allowlist and blocklist instead of whitelist and blacklist, though sites should just use Linux FACLs to control these files instead of these configurations.

Announcements are dismissable by default.

In 4.0 Announcements now have the ability to be dismissable. Meaning users can press OK on the announment and it will no longer appear on the pages.

In prior versions of Open OnDemand there was no way to dismiss or get rid of announcements. Now in version 4.0, not only is there a way to dismiss announcements, announcements themselves are dismissable by default.

The documentation for Announcements has been updated with this new feature.

Batch connect form ids are now lowercase.

To resolve some bugs with Dynamic Form Widgets, batch connect form items will now force lowercase HTML IDs. This may break some javascript at centers expecting the HTML id of the form item to be a mix of uppercase and lowercase.

This is an example of defining a form item with uppercase keys like My_Cool_Form_Item.

---
form:
  My_Cool_Form_Item

In this example My_Cool_Form_Item has uppercase characters, however the HTML id of the form item will be lowercase as shown below.

id="batch_connect_session_context_my_cool_form_item"

Deprecations

POLL_DELAY is deprecated

POLL_DELAY is deprecated in 4.0 and being replaced by documented configurations. See Batch connect sessions poll delay for more details.

Dependency updates

SELinux changes

Upgrade directions

Details of new features

Global Batch Connect items

In 4.0 you can now define batch connect form items in ondemand.d files to be used in any batch connect application.

See Global Batch Connect Form Items for more details.

noVNC quality and compression defaults

Sites can now set the default compression and quality values for noVNC batch connect applications through the two ondemand.d properties novnc_default_compression and novnc_default_quality.

Batch connect sessions poll delay

When a user lands on My Interactive Sessions page, the client browswer will request updates by default every 10 seconds.

Sites wanting to change this had do use the hidden environment variable POLL_DELAY.

In 4.0 this is a documented configuration with POLL_DELAY being deprecated. See the bc_sessions_poll_delay documentation for more details.