openly-rails
openly-rails copied to clipboard
Determine routing for visitors vs collaborators
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/filesandhandle/slug/folders/xxxroutes 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/filesis 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/filesor a dedicated route for showing files captured in last commit, such ashandle/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)