[horizon][dev] Auto-Refresh Feature Proposal
Hello, everyone. I'm here to find out what you think about the addition of a feature in OpenStack Horizon. As you may know, Horizon requires the user to manually update the page in order to get the most recent data in the system, e.g. if an instance is created, deleted or renamed before the page is reloaded, the user has to hit the refresh button in their browser to see those changes in the page. This applies to the majority of Horizon's pages, including, but not limited to, Instances, Volumes, Users and so on. With that in mind, our team has implemented and tested a prototype of an auto-refresh feature for Horizon. We've been using it for a while now and have received positive feedback from our clients. It automatically updates the information in tables, pie charts (such as the Compute Overview page graphs) and details pages every five seconds, without the need for manually refreshing the page. The information displayed on the page will be replaced by the most recent data without any action from the user or any page reloading. It essentially works by requesting, in the background, the opened page again and again every few seconds through AJAX, and then replacing the old information with the new one if they differ. The feature affects every element in Horizon, except AngularJS ones - the tables in the Compute Images, Key Pairs and Server Groups pages are AngularJS elements and will not be affected by auto-refresh, for example. We are open to looking into this issue in the future, though. Could you please let us know if you would be open to adding such a feature to Horizon? If so, we'd be willing to do the upstream implementation in OpenStack, and we think it would be a great addition to the end users. Kind regards. Gustavo Santos
Hi Gustavo, The Octavia pages (AngularJS) auto refresh like you are describing. The start of that work was this patch: https://review.opendev.org/c/openstack/octavia-dashboard/+/561458 in case it is helpful. Michael On Wed, Aug 18, 2021 at 1:46 PM Santos, Gustavo Faganello <GustavoFaganello.Santos@windriver.com> wrote:
Hello, everyone.
I'm here to find out what you think about the addition of a feature in OpenStack Horizon. As you may know, Horizon requires the user to manually update the page in order to get the most recent data in the system, e.g. if an instance is created, deleted or renamed before the page is reloaded, the user has to hit the refresh button in their browser to see those changes in the page. This applies to the majority of Horizon's pages, including, but not limited to, Instances, Volumes, Users and so on.
With that in mind, our team has implemented and tested a prototype of an auto-refresh feature for Horizon. We've been using it for a while now and have received positive feedback from our clients. It automatically updates the information in tables, pie charts (such as the Compute Overview page graphs) and details pages every five seconds, without the need for manually refreshing the page. The information displayed on the page will be replaced by the most recent data without any action from the user or any page reloading. It essentially works by requesting, in the background, the opened page again and again every few seconds through AJAX, and then replacing the old information with the new one if they differ. The feature affects every element in Horizon, except AngularJS ones - the tables in the Compute Images, Key Pairs and Server Groups pages are AngularJS elements and will not be affected by auto-refresh, for example. We are open to looking into this issue in the future, though.
Could you please let us know if you would be open to adding such a feature to Horizon? If so, we'd be willing to do the upstream implementation in OpenStack, and we think it would be a great addition to the end users.
Kind regards.
Gustavo Santos
Hello, Michael! Thanks for your reply. It's nice to see that some work has already been done for auto-refresh in AngularJS pages. That could come in handy for tackling the issue I described previously. With that in mind, would you know if the Horizon cores would be open to us submitting our auto-refresh for Django pages upstream? If so, should the feature be a bit more thoroughly discussed via e-mail before a spec is submitted for review in Gerrit? Looking to follow these steps: https://docs.openstack.org/charm-guide/latest/feature-specification.html Please let me know if those are not the best steps to follow at this first moment. Thank you! Gustavo F. Santos On 18/08/2021 20:44, Michael Johnson wrote:
Hi Gustavo,
The Octavia pages (AngularJS) auto refresh like you are describing. The start of that work was this patch: https://review.opendev.org/c/openstack/octavia-dashboard/+/561458 in case it is helpful.
Michael
On Wed, Aug 18, 2021 at 1:46 PM Santos, Gustavo Faganello <GustavoFaganello.Santos@windriver.com> wrote:
Hello, everyone.
I'm here to find out what you think about the addition of a feature in OpenStack Horizon. As you may know, Horizon requires the user to manually update the page in order to get the most recent data in the system, e.g. if an instance is created, deleted or renamed before the page is reloaded, the user has to hit the refresh button in their browser to see those changes in the page. This applies to the majority of Horizon's pages, including, but not limited to, Instances, Volumes, Users and so on.
With that in mind, our team has implemented and tested a prototype of an auto-refresh feature for Horizon. We've been using it for a while now and have received positive feedback from our clients. It automatically updates the information in tables, pie charts (such as the Compute Overview page graphs) and details pages every five seconds, without the need for manually refreshing the page. The information displayed on the page will be replaced by the most recent data without any action from the user or any page reloading. It essentially works by requesting, in the background, the opened page again and again every few seconds through AJAX, and then replacing the old information with the new one if they differ. The feature affects every element in Horizon, except AngularJS ones - the tables in the Compute Images, Key Pairs and Server Groups pages are AngularJS elements and will not be affected by auto-refresh, for example. We are open to looking into this issue in the future, though.
Could you please let us know if you would be open to adding such a feature to Horizon? If so, we'd be willing to do the upstream implementation in OpenStack, and we think it would be a great addition to the end users.
Kind regards.
Gustavo Santos
Hi Gustavo, I am sorry, but I can't speak for the horizon team (I primarily work on Octavia and Designate). That said, in the OpenStack community contributions are always welcome. I know there has been a discussion about working on a new dashboard project called skyline[1], so I would recommend having a discussion with the horizon team before investing a lot of time on the current code base. That said, I would expect a blueprint and/or specification would mostly apply to both projects. The link you provided is for a deployment project "OpenStack Charms" and is likely not the process that the horizon team uses. Horizon has a developer guide here: https://docs.openstack.org/horizon/latest/contributor/index.html This includes a section on creating a new feature for horizon. I would recommend creating the blueprint and even the specification to get the discussion started if you are not getting a timely response on the email list. Michael [1] http://lists.openstack.org/pipermail/openstack-discuss/2021-August/024088.ht... On Mon, Aug 23, 2021 at 12:00 PM Gustavo Faganello Santos <gustavofaganello.santos@windriver.com> wrote:
Hello, Michael!
Thanks for your reply.
It's nice to see that some work has already been done for auto-refresh in AngularJS pages. That could come in handy for tackling the issue I described previously.
With that in mind, would you know if the Horizon cores would be open to us submitting our auto-refresh for Django pages upstream?
If so, should the feature be a bit more thoroughly discussed via e-mail before a spec is submitted for review in Gerrit? Looking to follow these steps: https://docs.openstack.org/charm-guide/latest/feature-specification.html
Please let me know if those are not the best steps to follow at this first moment.
Thank you! Gustavo F. Santos
On 18/08/2021 20:44, Michael Johnson wrote:
Hi Gustavo,
The Octavia pages (AngularJS) auto refresh like you are describing. The start of that work was this patch: https://review.opendev.org/c/openstack/octavia-dashboard/+/561458 in case it is helpful.
Michael
On Wed, Aug 18, 2021 at 1:46 PM Santos, Gustavo Faganello <GustavoFaganello.Santos@windriver.com> wrote:
Hello, everyone.
I'm here to find out what you think about the addition of a feature in OpenStack Horizon. As you may know, Horizon requires the user to manually update the page in order to get the most recent data in the system, e.g. if an instance is created, deleted or renamed before the page is reloaded, the user has to hit the refresh button in their browser to see those changes in the page. This applies to the majority of Horizon's pages, including, but not limited to, Instances, Volumes, Users and so on.
With that in mind, our team has implemented and tested a prototype of an auto-refresh feature for Horizon. We've been using it for a while now and have received positive feedback from our clients. It automatically updates the information in tables, pie charts (such as the Compute Overview page graphs) and details pages every five seconds, without the need for manually refreshing the page. The information displayed on the page will be replaced by the most recent data without any action from the user or any page reloading. It essentially works by requesting, in the background, the opened page again and again every few seconds through AJAX, and then replacing the old information with the new one if they differ. The feature affects every element in Horizon, except AngularJS ones - the tables in the Compute Images, Key Pairs and Server Groups pages are AngularJS elements and will not be affected by auto-refresh, for example. We are open to looking into this issue in the future, though.
Could you please let us know if you would be open to adding such a feature to Horizon? If so, we'd be willing to do the upstream implementation in OpenStack, and we think it would be a great addition to the end users.
Kind regards.
Gustavo Santos
On Wed, Aug 18, 2021 at 4:44 PM Santos, Gustavo Faganello <GustavoFaganello.Santos@windriver.com> wrote:
Hello, everyone.
I'm here to find out what you think about the addition of a feature in OpenStack Horizon. As you may know, Horizon requires the user to manually update the page in order to get the most recent data in the system, e.g. if an instance is created, deleted or renamed before the page is reloaded, the user has to hit the refresh button in their browser to see those changes in the page. This applies to the majority of Horizon's pages, including, but not limited to, Instances, Volumes, Users and so on.
With that in mind, our team has implemented and tested a prototype of an auto-refresh feature for Horizon. We've been using it for a while now and have received positive feedback from our clients. It automatically updates the information in tables, pie charts (such as the Compute Overview page graphs) and details pages every five seconds, without the need for manually refreshing the page. The information displayed on the page will be replaced by the most recent data without any action from the user or any page reloading. It essentially works by requesting, in the background, the opened page again and again every few seconds through AJAX, and then replacing the old information with the new one if they differ. The feature affects every element in Horizon, except AngularJS ones - the tables in the Compute Images, Key Pairs and Server Groups pages are AngularJS elements and will not be affected by auto-refresh, for example. We are open to looking into this issue in the future, though.
Could you please let us know if you would be open to adding such a feature to Horizon? If so, we'd be willing to do the upstream implementation in OpenStack, and we think it would be a great addition to the end users.
I think you should totally push up the patch on Gerrit and I hope that the Horizon team looks into it, I personally think it's a great idea from an operators perspective.
Kind regards.
Gustavo Santos
-- Mohammed Naser VEXXHOST, Inc.
Hi Gustavo, It would be nice to have an auto-refresh feature in horizon. Horizon team will be happy to review your patches. If I remember correctly, a patch for the same feature is pushed in the past but not merged due to some issues or no response from the author. You can refer to horizon documentation about how to add a new feature in horizon [1]. Feel free to reach me or other horizon team members in case of any queries on IRC (#openstack-horizon) at OFTC n/w. Thanks & Regards, Vishal Manchanda [1] https://docs.openstack.org/horizon/latest/contributor/contributing.html#new-... On Tue, Aug 24, 2021 at 2:54 AM Mohammed Naser <mnaser@vexxhost.com> wrote:
On Wed, Aug 18, 2021 at 4:44 PM Santos, Gustavo Faganello <GustavoFaganello.Santos@windriver.com> wrote:
Hello, everyone.
I'm here to find out what you think about the addition of a feature in
OpenStack Horizon. As you may know, Horizon requires the user to manually update the page in order to get the most recent data in the system, e.g. if an instance is created, deleted or renamed before the page is reloaded, the user has to hit the refresh button in their browser to see those changes in the page. This applies to the majority of Horizon's pages, including, but not limited to, Instances, Volumes, Users and so on.
With that in mind, our team has implemented and tested a prototype of an
auto-refresh feature for Horizon. We've been using it for a while now and have received positive feedback from our clients. It automatically updates the information in tables, pie charts (such as the Compute Overview page graphs) and details pages every five seconds, without the need for manually refreshing the page. The information displayed on the page will be replaced by the most recent data without any action from the user or any page reloading. It essentially works by requesting, in the background, the opened page again and again every few seconds through AJAX, and then replacing the old information with the new one if they differ. The feature affects every element in Horizon, except AngularJS ones - the tables in the Compute Images, Key Pairs and Server Groups pages are AngularJS elements and will not be affected by auto-refresh, for example. We are open to looking into this issue in the future, though.
Could you please let us know if you would be open to adding such a
feature to Horizon? If so, we'd be willing to do the upstream implementation in OpenStack, and we think it would be a great addition to the end users.
I think you should totally push up the patch on Gerrit and I hope that the Horizon team looks into it, I personally think it's a great idea from an operators perspective.
Kind regards.
Gustavo Santos
-- Mohammed Naser VEXXHOST, Inc.
participants (5)
-
Gustavo Faganello Santos
-
Michael Johnson
-
Mohammed Naser
-
Santos, Gustavo Faganello
-
vishal manchanda