image category buttons don't appear in newton

Bug #1649183 reported by Sam Morrison on 2016-12-12
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Dashboard (Horizon)
Medium
Alok Kumar

Bug Description

Just installed the Newton version of the openstack dashboard and when listing images the buttons to filter by category no longer appear.

I can see the option IMAGES_LIST_FILTER_TENANTS appears at:
openstack_dashboard/dashboards/project/images/images/tables.py

So it looks as if this is a bug as opposed to the removal of this great feature?

Richard Jones (r1chardj0n3s) wrote :

It looks like this functionality was not carried over from the legacy panel to the angularjs panel.

Changed in horizon:
status: New → Confirmed
importance: Undecided → Medium
tags: added: low-hanging-fruit
Changed in horizon:
milestone: none → pike-1
Changed in horizon:
assignee: nobody → Jacob Estelle (jacobe)
Changed in horizon:
assignee: Jacob Estelle (jacobe) → nobody
Changed in horizon:
milestone: pike-1 → pike-2
ZouHuiying (zhouhy) on 2017-04-14
Changed in horizon:
assignee: nobody → ZouHuiying (zhouhy)
ZouHuiying (zhouhy) on 2017-04-24
Changed in horizon:
assignee: ZouHuiying (zhouhy) → nobody
Changed in horizon:
assignee: nobody → omkar_telee (omkar-telee)
Changed in horizon:
assignee: omkar_telee (omkar-telee) → Pradeep Kumar Velusamy (pradeepkumar.v)
Changed in horizon:
assignee: Pradeep Kumar Velusamy (pradeepkumar.v) → nobody
Changed in horizon:
milestone: pike-2 → pike-3
Lujin Luo (luo-lujin) on 2017-06-23
Changed in horizon:
assignee: nobody → Lujin Luo (luo-lujin)
Changed in horizon:
milestone: pike-3 → pike-rc1
Akihiro Motoki (amotoki) on 2017-08-17
tags: added: pike-backport-potential
Changed in horizon:
milestone: pike-rc1 → pike-rc2
Lujin Luo (luo-lujin) on 2017-08-17
Changed in horizon:
assignee: Lujin Luo (luo-lujin) → nobody
Rob Cresswell (robcresswell) wrote :

This appears to be an old regression; I've bumped to Queens as I don't think we have the time to fix this during RC. FWIW, you can use the old panel by altering the ANGULAR_FEATURES dictionary in settings.py. https://docs.openstack.org/horizon/latest/configuration/settings.html#angular-features

Changed in horizon:
milestone: pike-rc2 → queens-1
Sam Morrison (sorrison) wrote :

The old way is not an option as that is completely broken due to pagination. It doesn't paginate based on the filter so it's unusable.

Would be good to have a test system with say 150 images so these bugs are found before release

Sam Morrison (sorrison) wrote :

I should mention the reason for wanting this feature, we have a keystone project that owns our official "golden" images that we give a higher level of support on (as opposed to general public images)

With the new angular style there is no way in doing this like in the old way.

Ying Zuo (yingzuo) wrote :

If I understand correctly, this bug is opened for missing the image category buttons on django images panel. I can not reproduce the issue with ocata horizon.

Sam Morrison (sorrison) wrote :

@yingzuo: No the issue is that the same functionality is not in the new angular panel version

Ying Zuo (yingzuo) wrote :

@sorrison On the angular images panel, you can filter the image with the visibility type, which is equivalent to the category buttons on the django images panel.

Changed in horizon:
milestone: queens-1 → none
Sam Morrison (sorrison) wrote :

No This is not equivalent and the new way isn't as functional, customisable or user friendly.

We have special keystone projects that house images that appear in separate buttons by using the IMAGES_LIST_FILTER_TENANTS setting.

It's a real shame when really useful features are dropped. It means we are still running the Liberty dashboard as we've been waiting for this to be fixed. I'm trying to get some dev resources here to do this but its been a challenge.

Rob Cresswell (robcresswell) wrote :

There are quite a lot of misunderstandings in this bug report and discussion:

- Firstly, this is definitely a regression, though I'm not sure on the best approach forward from a UX point of view. It's confusing to have two methods of filtering, IMO. This needs thinking about.

- Secondly, that Python code was never removed, just deprecated, and it's listed explicitly in both the settings documentation and the release notes that you can just use the existing ones, so I don't really understand why you've stayed on Liberty. For the sake of saving you time, see https://docs.openstack.org/horizon/latest/configuration/settings.html#angular-features and set "images_panel" to False.

- Thirdly, I really loathe attitudes / suggestions like "Would be good to have a test system with say 150 images so these bugs are found before release" and "It's a real shame when really useful features are dropped". You're obviously correct; having huge testing systems would be great, and we don't drop features on purpose, but regressions happen on occasion. This is why we have weekly meetings, blueprint reviews, code reviews, and a fantastic team always helping and supporting on IRC. If you don't have the time / money / inclination to contribute to Horizon; thats fine; but please don't demand our time and money in return. A large proportion of Horizon contribution these days comes from people working well beyond the time their companies are paying them for; drop by IRC sometime and see how many people are online at >10PM in their time zones.

Changed in horizon:
milestone: none → next
Sam Morrison (sorrison) wrote :

Sorry Rob, reading back I do sound like a dick... fair call.

Been trying to wrangle a developer who knows angular into doing this, unfortunately the old method doesn't work as pagination doesn't work anymore.

Alok Kumar (rajalokan) wrote :

Hi I would like to work on this and need your view on ideal UX for this flow. In my view problem and its resolution can be summerized as

Assumptions:
============
* For the context of this discussion, I'm reffering `Image Overview Page` for both problem and its resolution. But this will be same for any resource overview page where `hz-magic-search-bar` in implemented.

Problem Description:
====================
Currently filter on `Images Overview Page` can't have a custom filter. We need a way to filter by our custom category(a subset of any category or combination of two or more filters).

Moreover rather than clicking magic filter bar and filtering each time after page load, we think the previous (non angular way) filter by button was a better UX in my view.

Essentially our requirement is to list a subset of public images when loading `Images Overview Page` by default and we really don't want to click on search bar and do filter each time page loads.

So in my view problem can be broken into two parts:

#1. Need a custom filter button(or buttons) which does filter on custom category along with regular magic filter bar. A button filter will make it easier to filter everytime instead of clicking filter bar and selecting multilple filter conditions for each page load.

#2. A way to have default filters loaded on page load. Assuming I click on Images link, my expectation is to have a list of images( a sub set of public images).

#3. A way for admins to define these filters in their horizon installation.

Resolution:
===========
#1. A dropdown button before our existing magic search bar as button group
    * We can show a dropdown of buttons before magic search bar in `hz-magic-search-bar` directive implementation. This dropdown will contain custom filters as buttons and solves problem #1.
    * This dropdown button will be enabled by a flag in settings. This will ensure default behaviour of magic search is maintained.
#2. Not sure how to do it. Need your suggestions:
    * Regarding a default search filter applied on page load, I'm not sure of best approach. We can implement this by having one of the dropdown buttons always clicked on page load. But not sure if that is feasible or is best approach.
    * Please suggest what could be done here.
#3. A json with app_name and filter_conditions per app
    * We can have a json with filter_conditions and name of button if we need to display a custom filters.
    * This json will be for each app. This way we can maintain it per app.

Expected Issues:
================
* This change in magic search may break any implementation of this in other resources. I need your view on this.
* Can't think of any issue we may face other than above right now. Will add any raised by you lovely folks here.

Please let me know your view on this. Also if this is not clear I can explain on comments what exactly I wanted to convey but we need this and once finalized on UX, I can work on this to ensure this lands upstream.

Alok Kumar (rajalokan) on 2018-05-14
Changed in horizon:
assignee: nobody → Alok Kumar (rajalokan)
Sam Morrison (sorrison) wrote :

This all sounds great, happy to help test too etc. If you're going to be in Vancouver we could chat there

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers