Last Week in ManageIQ: Faster Reports, Cloud Networks, and more!
Hello and welcome to the first Last Week in ManageIQ! This is Tim here ready to take you on a whirlwind tour of some of the many, many (many) updates we had to the ManageIQ codebase over just the last week.
Last week we had an incredible 109 PRs merged into master, with an astonishing 329 commits! Contributions from outside the ManageIQ team are always welcome - feel free to check out the latest issues if you want to get involved.
Speed up MiqReport by using join instead of include
An include was fetching all the
MiqReportResult records in order to
MiqReport objects on the
/report/explorer page. Using a
distinct instead greatly reduced the number of rows sent back
from the database, resulting in faster times and a much better user
Improve performance on NetworkManager list pages
This PR was able to improve the performance of
pages by removing a number of N+1 queries.
Use a mutex to prevent concurrent deliver calls in Automate
With the introduction of Puma as the default web server, concurrent
requests were starting to cause issues with starting and stopping
services in Automate. To fix this a mutex was used in the the
MiqAeEngine deliver code, preventing more than one delivery from
running at a time.
Better support for acts_as_ar_query collection methods
This PR, along with the work done in
acts_as_ar_query objects to respond properly to
Cloud Networks API
This PR added a new
/api/cloud_networks endpoint to the API, as well
as a new
Enhancement to Users API
Where users could previously only update their password through this
endpoint, support was added to update their email and settings too. It
also updated the
/api entrypoint to include all the user’s settings
in the response.
Add a language switcher in the SSUI
Building on the Users API enhancement where a user is able to update their language preference, a language switcher was added to the SSUI both in the User’s menu and in the login screen. A user can now select their preferred language in the UI and it will be remembered for next time they log in. This also builds on another to PR to add the list of available languages as a Gulp task here.
This code was last needed in 2013 and we gave it a fond farewell last week!
Remove unused code for ActiveSupport::Inflector
miq-string extension file was requiring
active_support/inflector, a total of 141 lines could be removed
which duplicated that work.
There were way too many PRs to cover in detail, but feel free to check them all out here. Look out for the next installment of Last Week in ManageIQ!