github usnistgov/NEMO 7.3.0

10 hours ago

Upgrade notes

  • Make sure to update the adjustment request email in Customization -> File & email templates with this one
  • Support for python 3.9 has been removed (end of life)
  • In settings.py you can remove django_jsonform from INSTALLED_APPS since it is no longer needed
  • The python version in the docker container has been updated to python 3.13 (make sure to update the volume paths in docker-compose.yml if you are overriding files in the container)
  • Plugins can now make use of the new NEMO_POLICY_CLASSES in settings.py which allows multiple policies. They have to all be OK for each method (save reservation, enable tool etc.) to be allowed

New features

  • Added Account managers for accounts, who can see usage across all the projects under their managed accounts. Also added an option to email all account managers. Thanks UPenn Singh Center for the contribution!
  • Users can now pick their landing page if they want to go directly to the Calendar or Tool control (and bypass the dashboard). This can be done in their preferences. Clicking on the "NEMO" link at the top left of the menu bar will always take them to the dashboard. Thanks UPenn Singh Center for the contribution!
  • Added consumable checkout to the Kiosk (it needs to be enabled in Customization -> Application). Thanks Stanford SNF for the contribution!
  • Tool usage questions are now in a separate Tool usage questions part of Detailed administration. They can now be used with specific projects, groups, users, and can be set for multiple tools at once
  • Added a way for users to make their own custom tool lists in the calendar
  • Added a reservation note which can be added on calendar reservation events. Thanks Stanford SNF and Michigan Lurie Nanofabrication Facility for the contribution!
  • Added option in Customization -> Tool to allow tool usage note to be set. If enabled, the reservation note can be automatically copied into the usage note. The usage note can be set/updated before turning on the tool and before turning off the tool
  • Added supervisor <-> managed users relationship, allowing to set managed users for a supervisor and allowing them to see the usage of all their managed users
  • Added a required area occupancy minimum in tools to prevent tool engagement unless there are at least that many people logged in the area. Thanks MIT.nano for the contribution!

Improvements

  • Added charge number and table search in transfer charges page. Thanks UPenn Singh Center for the contribution!
  • Updated the method to safely initialize queryset during startup to not throw exception on missing tables
  • Added new "manager edit mode" (which needs to be turned on in Customizations -> Accounts and projects) to allow adding/removing project and account managers on the accounts and project page
  • Added usage_event variable to required unanswered email template. Thanks Stanford SNF for the contribution!
  • Added a note field to accounts. Thanks USC Nanofab for the contribution!
  • Optimized loading time for My usage and User pages
  • Optimized general loading time everywhere by caching Customizations
  • Added readonly primary owner on tools field in Detailed administration -> Users
  • Added reservation abuse weight to tool and area configuration to allow giving more weight to some tools/areas in the abuse calculations. Thanks MIT.nano for the contribution!
  • The Kiosk URL now allows category=<category_name> and tool=<tool_name> (both parameters can be chained multiple times). Thanks MIT.nano for the contribution!
  • The Kiosk URL now supports virtual_inputs=false to disable virtual inputs (virtual keyboard) by kiosk. Thanks MIT.nano for the contribution!
  • All request parameters will now be passed from welcome_screen and farewell_screen URLs to the kiosk if the Kiosk button is enabled. Thanks MIT.nano for the contribution!
  • Both welcome_screen and farewell_screen can show alerts and usage by adding usage and alerts parameters in the URL
  • New UI for adjustment requests that should make it easier to filter and organize them. It also provides a major load time boost. Thanks UPenn Singh Center for the contribution!
  • Users can now make an adjustment request to have the charge moved to a different project. Adjustment requests now keep track of original charge data (in case you want it reverted after applying a change). Thanks Michigan Lurie Nanofabrication Facility and Cornell NanoScale Facility for the contribution!
  • Added option to only enable adjustment requests for reviewers (regular users won't be able to create new ones). Thanks Michigan Lurie Nanofabrication Facility for the contribution!
  • Added option in Customization -> Adjustment requests to allow adjustments until a certain day each month (billing day). Thanks Stanford SNF and MIT.nano for the contribution!
  • Updated user profile view by adding tools they are reviewers on, managed accounts, managed projects, managed users and supervisors.
  • Added usage, occupancy and alerts parameters to Jumbotron URL to customize sections displayed. If parameters are false, that section won't be shown. Thanks UPenn Singh Center for the contribution!
  • Jumbotron tables will automatically scroll when the data overflows. Thanks UPenn Singh Center for the contribution!
  • Added staff charge note to usage export. Thanks Stanford SNF for the contribution!
  • Tool comments can now be visible for x number of days (999 days max)
  • Added option in Customization -> Tool to allow changing tool configuration while the tool is in use. Thanks Stanford SNF for the contribution!
  • Added option in Customization -> User to decide whether new users should be active or inactive by default when creating them
  • Removed dependency on django-jsonform for tool properties (using our own widget now)
  • Added options for default reminder days and whether users should receive the reminders at all in Customization -> Recurring charges. Thanks MIT.nano for the contribution!
  • Detailed administration actions now follow django permissions (so someone without add permission cannot use the duplicate tool configuration action for example). Thanks MIT.nano for the contribution!
  • In Detailed administration -> Tools, added option to enable shutting down a tool when reporting a problem.
  • Added option to customize the banner displayed on the dashboard when Facility rules tutorial is needed (in Customization -> Application) and to customize the Facility rules tutorial name itself
  • When a reservation title or reservation note is updated, a calendar invite will be sent as well. Thanks MIT.nano for the contribution!
  • Added consumable category filters and invalid filter in Recurring charges. Thanks MIT.nano for the contribution!
  • Added option when staff are reporting a tool problem to not lock the tool (only displayed if the tool does have an interlock). Thanks MIT.nano for the contribution!

API

  • Added filters by consumable name in consumables endpoint
  • API Upload file is now under the Raw data tab and will output the content in the main text area
  • Added user_calendar_tool_lists endpoint
  • Added membership_history endpoint. Thanks MIT.nano for the contribution!
  • Tool usage questions are now available at /api/tool_usage_questions/ instead of /api/tools/

Bug fixes

  • Fixed configuration changes not being saved on the kiosk
  • Fixed issues in user form when the validation would refer to the is_staff field that doesn't exist in the regular GUI page in NEMO
  • Fixed wrong method signature causing the interlock report to fail for ProXR interlocks
  • Fixed the application identifier search not working in the project billing page
  • Fixed a bug with creating reservations on behalf of another user which would not ask for the project
  • Fixed a bug when using a tool for training did not correctly show the record training page after disabling the tool

Libraries

  • bootstrap-datetimepicker.js 4.17.43 -> 4.17.49
  • cryptography 45.0.4 -> 46.0.3
  • Django 4.2.26 -> 4.2.27
  • django-auditlog 3.2.0 -> 3.4.1
  • django-mptt 0.14.0 -> 0.18.0
  • djangorestframework 3.16.0 -> 3.16.1
  • packaging 24.2 -> 25.0
  • Pillow 11.2.1 -> 12.0.0
  • requests 2.32.3 -> 2.32.5
  • pymodbus 3.8.6 -> 3.11.4

Don't miss a new NEMO release

NewReleases is sending notifications on new releases.