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

Extensions should clearly describe the components added by it #9

Open
jtc42 opened this issue Feb 7, 2020 · 4 comments
Open

Extensions should clearly describe the components added by it #9

jtc42 opened this issue Feb 7, 2020 · 4 comments
Labels
enhancement New feature or request

Comments

@jtc42
Copy link
Member

jtc42 commented Feb 7, 2020

Depends on #6

Extensions overview will show extension metadata, extension views, and extension components. This is extensible for anything else we might allow extensions to add in the future

@jtc42 jtc42 added the enhancement New feature or request label Feb 7, 2020
@rwb27
Copy link
Contributor

rwb27 commented Feb 15, 2021

I was thinking some more about this. Would it be sensible to generate Thing Descriptions for each extension? That would feel nicely standards-compliant, and solve a couple of problems. That way, if you go to /extensions/ one of the links would be to a Thing Description (rather than the links being the actions/properties), which feels more like how this ought to work.

It also means that extensions are Things, and we could use semantics to help with a more general plugin architecture. For example, if you have an extension that declares itself to be an XYZStage (in the OpenFlexure namespace), we could then use it instead of the SangaStage (indeed you could imagine implementing the current stages as default extensions, and allowing a new extension to provide a different driver that's picked from microscope_configuration.json).

If I've understood correctly, I don't think this should be an insurmountable challenge, and I might even attempt it at some point. I think it could be a nice solution to how we implement alternative hardware wrapper code, and it's "WebThings all the way down".

@jtc42
Copy link
Member Author

jtc42 commented Feb 15, 2021

Yeah everything you've said sounds totally sensible. I'd be fine with that route.

@beniroquai
Copy link

I think that would be a great solution for external hardware resources!

@rwb27
Copy link
Contributor

rwb27 commented Feb 16, 2021

Cool. I will try to think about this and make a PR. It will take me a while though!

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

No branches or pull requests

3 participants