Releases: usnistgov/NEMO
6.0.3
6.0.2
6.0.1
6.0.0
Upgrade notes
[ORACLE & REPORTS PLUGIN USERS ONLY] If you use ORACLE Database and have NEMO-reports version >= 1.8.0, you need to remove it from settings.py INSTALLED_APPS
, update NEMO, then put it back. If you have NEMO-reports version < 1.8.0, you can proceed directly.
[EVERYONE]
NEMO 6.0.0 includes a major update to NEMO's underlying framework (Django 3.2 -> 4.2), and the following changes need to be made:
- add to
settings.py
:
# ALLOWED_HOSTS = ["nemo.example.com"]
# ...
CSRF_TRUSTED_ORIGINS = ["https://{}".format(ALLOWED_HOSTS[0])]
# or directly CSRF_TRUSTED_ORIGINS = ["https://nemo.example.com"]
- the unauthorized_tool_access_email template needs to be updated to the new version which can be found here
New features
- Added a new Tool credentials page for staff, allowing administrators and staff with permissions to add/edit and search tool credentials (username/passwords).
Tool credentials are shown to staff by default in theTool control -> Details
tab but require the user to expand the section to see the actual information (for privacy). - Added a user profile view which, if enabled in
Customization -> Users
, will allow users to see their profile by clicking on their name in the navigation bar. The user profile contains user's general information, projects, area access levels and tool qualifications (Thanks @Valilian of UC Irvine for the contribution!). - Added support for consumable withdrawal adjustment requests
Improvements
-
Project usage and project billing will now allow to search for inactive users.
-
Added an option to hide inactive projects when looking at a specific account page in
Customization -> Projects & accounts
. -
Added confirmation dialog when marking an adjustment request as applied.
-
Automatically adding tool owners, backup owners and superusers when sending a email to all qualified users (in case they are not explicitly qualified).
-
Added option to require selecting a user type when creating a new user.
-
Training can now be enabled for some specific hidden tools in
Customization -> Training
(Thanks @r-xyz for the contribution). #221 -
Added settings to allow tool problems and updates to be sent to users if they add them in preferences. only qualified tools are allowed (Thanks
UPenn Singh Center
for the contribution!). -
In user's page, added the last access date for each area access levels.
None
will be displayed in red color if the user has an area access that they never used. -
Personal schedule can now be selected in the calendar to be displayed in the same view as tool reservations (Thanks
UPenn Singh Center
for the contribution!). -
Added an option to sort tools in status dashboard by time of use instead of name (Thanks
Stanford SNF
for the contribution!). -
Added an option in email broadcast to send the message to users with expired access (false by default)
-
Max delayed logoff time can now be customized per tool. It replaces the previous checkbox. Any tool that previously allowed delayed logoff will be automatically set to 120 minutes which was the hardcoded value until now.
-
Added title for contact information people. #195
API
- Added recurring consumables, physical access levels, buddy requests, temporary physical access requests and adjustment requests endpoint.
- Missed reservation adjustment can now be applied (if times are changed, new times will be applied, and if no times are changed, the reservation will be changed to not missed).
- Simplified API filters in the code for easier maintainability and consistency.
Bug fixes
- Reservation ending email reminders will not be sent anymore when the user has back to back reservations (Thanks @r-xyz for the contribution!).
- Fixed the first day of the week not being consistent when using datetime pickers (Thanks @r-xyz for the contribution!). #231
- Fixed invalid dates when selecting blank option as a month in my usage/project billing pages. #235
Libraries
- Django 3.2.25 -> 4.2.11
- cryptography 42.0.5 -> 42.0.8
- requests 2.31.0 -> 2.32.3
5.6.1
5.6.0
Upgrade notes
- To use the new automatic deactivation when a user's access expires, a new timed services need to be added,
nemo_deactivate_access_expired_users
Systemd services are available in the systemd folder
New features
- Users with access expiring can now be automatically deactivated. The timed service needs to be set and at least one user type option needs to be picked in
Customization -> User -> Access expiration - deactivate users
Improvements
- Policy rules were changed, so that the
access expiration
date on users now prevents users from making reservations and engaging tools. active
andaccess_expiration
fields have also be renamed toactive NEMO account
andactive access expiration
(respectively) to be more explicit- By default, broadcast emails will also not be sent to users with access expired. An option was added to still send it to them when writing a message
5.5.3
5.5.2
5.5.1
5.5.0
Upgrade notes
- [IMPORTANT] ORACLE users only: due to a bug in the third party library
auditlog
, you need to follow instructions for 2 step migration highlighted here: https://django-auditlog.readthedocs.io/en/latest/upgrade.html - 2 timed services need to be added,
nemo_check_update_wait_list
andnemo_email_scheduled_outage_reminders
for the new tool waitlist operation mode and the scheduled outages email reminders, respectively. Systemd services are available in the systemd folder - 2 email templates need to be added for those features as well, in Customization -> File & email templates:
wait_list_notification_email.html
andscheduled_outage_reminder_email.html
, available in the emails folder
New features
- Tools can now operate in 3 modes: regular/waitlist/hybrid (thanks
JPL Microdevices Laboratory
for the contribution!):- Regular mode is the normal/previous mode of operation and the default for all tools
- Waitlist mode allows users to sign up on a list when someone is already using the tool, and to be notified when it's their turn. Tool reservations are not allowed in waitlist mode.
- Hybrid mode is similar to waitlist mode except that reservations are still allowed and take precedence over the waitlist.
- There are customization options to specify buffer times after which a spot is lost and to determine if the tool should be available if it's close to a reservation time.
Improvements
- Added settings in Customization -> Calendar to specify the time format used for the events (thanks @r-xyz for the contribution!)
- Reporting a problem and adding a comment for a tool is now available in the Kiosk (Thanks
Stanford SNF
for the contribution!) - HTML is now allowed in alert contents
- In Detailed administration -> Configuration, added new column to show whether the linked tool is visible and added filter
- Added display order to documents throughout NEMO (Tool documents, User documents, Project documents, Contract documents, Safety item documents, Knowledge base documents).
- Added display order for Safety items in the same category and Knowledge base items
- Project usage will now show all usage by default when nothing is selected (selecting a user, project or application is not required anymore)
- Added scheduled outage reminders to be set on tool/area/resource outages (Thanks
Polytechnique Montreal
for the contribution!). - Updated resource outage page to allow recurring outages.
- Added a "Mark as applied" button on adjustment requests to signal that the adjustment has been dealt with (Thanks
Cornell NanoScale Facility
for the contribution!). - Added an "Adjust charge" button on adjustment requests to change the charge itself based on the approved dates (Thanks
Cornell NanoScale Facility
for the contribution!).
Bug fixes
- Fixed sensors not accepting 0 value
- Fixed dismissible alerts for users not showing the option to actually dismiss it
- Fixed validation error in transfer charges showing the exception page instead of in the form itself
Libraries
- django-auditlog 2.3.0 -> 3.0.0
- djangorestframework 3.14.0 -> 3.15.1
- Pillow 10.2.0 -> 10.3.0