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

Make rightbar part of the public API / usable from any app #18170

Closed
PVince81 opened this issue Aug 10, 2015 · 3 comments
Closed

Make rightbar part of the public API / usable from any app #18170

PVince81 opened this issue Aug 10, 2015 · 3 comments

Comments

@PVince81
Copy link
Contributor

PVince81 commented Aug 10, 2015

Two ways to use the sidebar:

  • consumer: generate a sidebar for a given model type (ex: file) and have the existing panels visible in it
  • provider: register new panels according to a given model type (ex: file)

Model types can be different:

  • files
  • calendar event
  • etc

This makes it possible for apps like gallery to also show a file-related sidebar.
But an app like a calendar could have a sidebar with calendar-specific panels (the model type would be "calendar event").

@oparoz as discussed

@PVince81
Copy link
Contributor Author

also @owncloud/designers

@PVince81
Copy link
Contributor Author

The file-based sidebar needs to be able to trigger file actions. FileActions require an instance of FileList which might not exist in other apps. So this might be blocked by this #18230 considering that other apps don't have a FileList instance.

However non-file-based sidebars should be fine.

@oparoz
Copy link
Contributor

oparoz commented Mar 7, 2016

So, I still think that it would be a great idea to make the sidebar available to apps.

Typically Gallery would load the sidebar along with only the tabs it needs, including custom ones.

The fact that a FileList instance is required is one of the major problems with some of the tools found in core. The uploading tool set requires one per example. It would be great if we could simply update the files model and have the class call our callbacks (following the requirements from the interface).

Now to make it work with alternative models seems almost impossible, because of their diversity, so maybe this should be split:

  1. Let apps easily build a sidebar, which includes a plugin mechanism to load tabs. Make it so that plugins can target any apps (if that doesn't require a Filelist...). I expect most plugins to only be able to target a single app
  2. Make the files tab available. Require a file model instead of a fileList instance. Make fileActions send events
  3. Convert existing plugins to make them model agnostic. A task can have comments, we just need to link comments to an ID of some sort

Pinging some people involved with apps @VicDeo @georgehrke @Henni @nickvergessen @BernhardPosselt

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

No branches or pull requests

4 participants