sandboxes: make sandboxes accessible/viewable in the URL
Nobody has claimed this yet.
- Dominant language
- Elixir
- Stars
- 296
- Forks
- 86
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 50
Description
By the end of this issue, new Sandbox projects should be accessible in the app via direct URL with very very basic UI.
- Update URL structure to allow sandboxes to be accessed
- Ensure proper access control is in place (according to the sandbox's users)
- Hide Sandbox projects in the main Projects viwe
- Ensure that runs work as expected (history will probably be broken)
URL structures
A sandbox name should be appended to ALL urls after /project. In other words, all project resources are only accessible through a sandbox.
/projects/<project-id>/sandboxes/ - sandbox list (not implemented yet)
/projects/<project-id>/<sandbox-name>/w/ - workflow list
/projects/<project-id>/<sandbox-name>/w/xyz - workflow editor
/projects/<project-id>/<sandbox-name>/history/ - history (filtered by sandbox, but only implemented for main for now)
/projects/<project-id>/<sandbox-name>/settings/ - settings
The primary Project should be accessible through the magic reserved string main. Or we can use a special character if prefferred, like projects/_/ or projects/m/ or projects/~/. But I like words and believe a URL should always be human readable.
For backwards compatibility, if no sandbox name is provided, the URL should redirect to /projects/main/<whatever>
Routing includes permissons, so this may be related to https://github.com/OpenFn/thunderbolt/issues/562
Triggers will continue to work at /projects/ where project id is a sandbox UUID
View Updates
Existing views History, Settings and Subscription, all need to be updated to use the active sandbox data, not the OG project data. So we need to override the key used for this stuff to not be the project key in the URL
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review the existing project routes and the History, Settings, and Subscription views first, then check issue #562 for routing and permission context. Done means sandbox URLs work with the specified redirects and access control, sandbox projects are hidden from the main Projects view, and runs continue to work with active sandbox data.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- elixir
- Domain
- authorization, full-stack
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100