-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Discussion on Exploration and Design of Hubs Extensibility #1976
Comments
Given hubs foundation on a variation of AFrame, I would like to be able to create new components to do arbitrary things. Is "execution of third party code" explicitly rejecting this? One thing I'd like is to have the ability to move from room to room within my self-hosted instance with as little friction as possible (e.g., if I follow a link from one hubs room to another in my own instance, I would like to eliminate as much of the entry/permission flow as possible, especially if the person has given mic permissions for the domain). |
Notes from Dom: One consideration here - discussion of the home page / configuring the home page for Hubs Cloud since it could be deployed without the rest of Hubs. Additional thoughts: Shipping public APIs |
Additional public APIs we may need:
APIs that are only available via Phoenix channel should also have a REST API |
It seems there are two distinct parts here
In addition to REST and CRUD APIs, we need some connection oriented APIs to allow rapid and efficient status updates (e.g., I want to know the status of 100's of rooms and be able to show them on a web page like the VR 2020 page ... REST isn't going to cut it). |
Another thing I would add:
Originally this was possible, and a lot of interesting possibilities where available, especially for verticals where rooms would benefit from (or need to be) generated dynamically from app-specific data. For VR, I could have generated all the poster rooms, and all the viewing rooms, completely dynamically, from some google spreadsheets and a small node server running on AWS. It would have made things dramatically easier. A lot of my personal uses need this (or would benefit from it) too. Combined with all the APIs, it would be really easy to have a single server display the user facing pages, provide UI for managing data, and generate rooms from that data. |
Dynamically generated rooms is something we would also want to be able to do. |
I'll second dynamic room generation (some sort of API), and more permissions. The academic (K12 and college) use cases require us to be able to create rooms programmatically, and to control who has access to individual rooms based on classes registered for, teams, etc. |
Note: it could be good to include folks from Firefox addons team for lessons learned that could be helpful for Hubs :-) |
Background
With the work that we've done to launch Hubs Cloud, we anticipate that one of the next needs that will derive from having a straightforward, endorsed, and consistent manner for external parties to extend Hubs to support their specific use cases. This issue and discussion will track the work that we believe needs to happen to create a path forward for users who want to more easily customize forks of Hubs to be deployed.
Describe the solution you'd like
As a developer, I would like to have a consistent path where I can modify a client fork of Hubs. This would include access to a set of APIs (for example, perhaps a way that I can add a custom button to the HUD, remove existing buttons, create new
/commands
) that would reliably be supported across future updates to the platform and loaded in such a way that maintaining my fork of Hubs would not be excessively difficult. There are additional other development scenarios that should be considered as part of an extensibility story:Exclusions
In the first pass around design and extensibility, we will likely not be enabling the execution of third-party code arbitrarily in the client
Relation to Interactive Components
In parallel with any work that we do to facilitate extensibility, we should also consider relevant work that is or can be done with Spoke custom components
The text was updated successfully, but these errors were encountered: