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

Add plugin list page #646

Merged
merged 8 commits into from
Apr 5, 2024

Conversation

superstar54
Copy link
Member

@superstar54 superstar54 commented Mar 25, 2024

We foresee more plugins coming, and they may be developed by other developers and in other repositories. To help users easily find and manage the plugins, this PR adds a new plugin list page.

Plugin registry

User can add their plugin entry point into the plugins.yaml file in this repository.

Home page

On the home page, I added a new Preference section on the right side of the logo. For the moment, there is only the plugin list item, but we can add more user preference items in the future.

Plugin list page

The UI has the following features:

  • Accordion Display for Plugins: Each plugin is listed within an accordion-style component. This design keeps the interface clean and organized, allowing users to quickly scan through available plugins. The accordion's title bar displays essential information:
    • Plugin Name: Clearly indicates the name of the plugin for easy identification.
    • Installation Status: An icon indicator shows whether the plugin is currently installed.
  • Expandable Details: Users can interact with the accordion to expand it, revealing more detailed information about each plugin.
  • Install button and remove button.

Despite the AppStore's extensive features, I opted against using it due to its complexity and lack of fit for this specific application.

Demo

qeapp-plugin-list-page.mp4

Future improvement

After this PR, open issues on

  • version control, add Update button.
  • add search bar

Copy link

codecov bot commented Mar 25, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 75.47%. Comparing base (2c5ca55) to head (42fe76e).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #646      +/-   ##
==========================================
- Coverage   75.50%   75.47%   -0.03%     
==========================================
  Files          60       60              
  Lines        4401     4404       +3     
==========================================
+ Hits         3323     3324       +1     
- Misses       1078     1080       +2     
Flag Coverage Δ
python-3.10 75.47% <ø> (?)
python-3.9 75.50% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Contributor

@danielhollas danielhollas left a comment

Choose a reason for hiding this comment

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

Sorry, I will not have time to review this fully.

My only quick thought is that this seem overengineered and will be yet another thing to maintain. Do we really need another registry just for the QeApp? How about simply having a static yaml file in this repo?

@superstar54
Copy link
Member Author

Do we really need another registry just for the QeApp? How about simply having a static yaml file in this repo?

Good point. For the QE App, we don't really need a separate repo like AiiDAlab and AiiDA.

@superstar54 superstar54 linked an issue Mar 26, 2024 that may be closed by this pull request
@superstar54 superstar54 added this to the v2024.4.0 milestone Mar 26, 2024
@superstar54
Copy link
Member Author

@danielhollas I moved the yaml file into this repository.

@superstar54
Copy link
Member Author

@danielhollas @unkcpz, any further comment on this PR? If not, I will merge it to be included in the next release. It is important that users can discover the plugins through this, e.g., @mikibonacci 's plugins.

Since this belongs to the plugin management work and will not affect the app's core, we can improve it in the future.

Copy link
Contributor

@danielhollas danielhollas left a comment

Choose a reason for hiding this comment

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

I don't have time to do full review and as I am not an active user/developer of QeApp it's not my place. Hopefully @unkcpz has time to chime in.

Nevertheless, this looks cool and interesting. Thanks for moving the YAML config here.

@superstar54 superstar54 mentioned this pull request Apr 3, 2024
1 task
@superstar54
Copy link
Member Author

@mikibonacci feel free to modify the plugins.yaml files for your plugins.

@superstar54
Copy link
Member Author

Hi all, if there are no more comments, I will merge this PR by the end of the day.

plugins.yaml Outdated Show resolved Hide resolved
@superstar54 superstar54 merged commit 0aab1e6 into aiidalab:main Apr 5, 2024
7 checks passed
@superstar54 superstar54 deleted the feature/plugin_registry_page branch April 5, 2024 17:00
@superstar54 superstar54 removed this from the v2024.4.0 milestone Apr 8, 2024
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.

List of qeapp plugins to be easily installed
3 participants