Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SLE-9109] Packages online search #467

Merged
merged 31 commits into from Jan 24, 2020
Merged

[SLE-9109] Packages online search #467

merged 31 commits into from Jan 24, 2020

Conversation

imobachgs
Copy link
Contributor

@imobachgs imobachgs commented Jan 14, 2020

This PR is an initial implementation of the online search feature SLE 9109. It is rather incomplete, but it is already able to search for packages and register modules as needed.

online-search-enable-module
Selecting a package from an unregistered module for installation

online-search-module-details
Displaying package details (including version and module where it belongs to)

online-search-menu-option
The menu option to start the online search

Todo

  • Register the base system
  • Do not initialize the sw management when called from the packager
  • Install the packages when called as a standalone client
  • Display dependencies when asking about enabling a module
  • Refresh module details after selecting a package for installation
  • Keep table order after selecting a package

@coveralls
Copy link

coveralls commented Jan 14, 2020

Coverage Status

Coverage increased (+0.2%) to 79.025% when pulling eecb651 on jse-9109/online-search into 81fc218 on master.

@lslezak
Copy link
Member

lslezak commented Jan 15, 2020

I haven't checked the code yet, here are just some notes and hints for improvements 😉

UI/UX

  • It's not clear what can be entered in the search field, is it just a substring or regexps are supported? The full packager widget contains a Search Mode combo box with values like "Contains", "Begins with", or "Use Regular Expression". You can also search in description or in the package summary. I think it would be nice to use it also here if the SCC backend supports that...
  • About the search: Would it be possible to filter out e.g. the paid extensions? (The ones which require a separate registration key.)
  • Does the API return some more details about the package? E.g. summary or details? Sometimes it might be difficult to just decide from the package name.
  • When a new product to register requires a registration key the user should be informed in advance, before really registering it.
  • The package and product details are mixed together in the RichText details at the bottom. You can use e.g. <h3> headers with "Package" and "Product" label. Or at least there should be an empty line between the package and the product details.
  • Do we need that Toggle Package button at all? The standard packager widget does not use anything like that...
  • I'm not sure if we need a separate "Product Status" column. Maybe simply appending something like "(Not registered yet)" at the end would be better. E.g. display "Containers Module (Not registered yet)" in the "Product" column.

Technical Questions

  • Will this also later work with SMT/RMT? If not (or at least not in the near future) we should check which registration server is actually used and display an informative error for SMT/RMT.

Todo Notes

Return the list of packages that were selected for installation.

I think that you could simply select the packages to install after adding the respective modules, the packager widget would then correctly display them as selected to install.

Copy link
Member

@lslezak lslezak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just some notes, except that "OMG" note it looks good 😃

Thanks for the early PR!

src/lib/registration/package_search.rb Outdated Show resolved Hide resolved
src/lib/registration/remote_package.rb Show resolved Hide resolved
src/lib/registration/widgets/remote_package_details.rb Outdated Show resolved Hide resolved
Copy link
Member

@lslezak lslezak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just some minor notes, looks good!

src/lib/registration/addon.rb Outdated Show resolved Hide resolved
src/lib/registration/addon.rb Outdated Show resolved Hide resolved
src/lib/registration/clients/online_search.rb Outdated Show resolved Hide resolved
src/lib/registration/dialogs/online_search.rb Show resolved Hide resolved
src/lib/registration/widgets/package_search.rb Outdated Show resolved Hide resolved
src/lib/registration/widgets/remote_packages_table.rb Outdated Show resolved Hide resolved
src/lib/registration/widgets/remote_packages_table.rb Outdated Show resolved Hide resolved
src/lib/registration/widgets/remote_packages_table.rb Outdated Show resolved Hide resolved
test/registration/package_search_test.rb Outdated Show resolved Hide resolved
@imobachgs imobachgs marked this pull request as ready for review January 23, 2020 12:25
Copy link
Member

@lslezak lslezak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@imobachgs imobachgs merged commit ba2b44e into master Jan 24, 2020
@imobachgs imobachgs deleted the jse-9109/online-search branch January 24, 2020 06:26
@yast-bot
Copy link
Contributor

❌ Public Jenkins job #66 failed

@yast-bot
Copy link
Contributor

❌ Internal Jenkins job #28 failed

@yast-bot
Copy link
Contributor

❌ Internal Jenkins job #29 failed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants