openly-rails icon indicating copy to clipboard operation
openly-rails copied to clipboard

Determine routing for visitors vs collaborators

Open FinnWoelm opened this issue 6 years ago • 0 comments

Projects consist of two different types of files: 1) files that have been captured in one or more revisions and 2) files that are work-in-progress.

Collaborators have access to both 1 and 2. Visitors only have access to 1.

Currently, the routing for 2 is handle/slug/files and handle/slug/folders/xxx. It is unclear what the routing for 1 should be.

Options:

  • Overload the routes, so that the same handle/slug/files and handle/slug/folders/xxx routes are used for showing to visitors the captured files of the last revision. This makes the cleanest URLs.
  • Use existing routes for revisions, so that handle/slug/revisions/xxx/files is used for showing files to visitors. This makes for the most stable URLs: When shared, the content on the page will always be the same.
  • Use a dedicated route for work-in-progress files, such as handle/slug/live/files or a dedicated route for showing files captured in last commit, such as handle/slug/revisions/last/files. This makes relatively clean URLs that always link to the latest version and both collaborators and visitors will see the same content (unlike option 1 where collaborators and visitors will see something different)

FinnWoelm avatar Dec 28 '18 14:12 FinnWoelm