OpenFn / OpenFn/lightning

sandboxes: make sandboxes accessible/viewable in the URL

Open
#3,424 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

sandboxes and sync
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.