solid / solid/specification

Dimensions of Auxiliary Resource Types

Open
#306 4 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

doc: Protocol topic: auditing topic: authorization topic: auxiliary resources topic: resource life cycle
Dominant language
HTML
Stars
563
Forks
108
Avg merge
4d 13h
Merged PRs (30d)
3

Description

In the interest of resolving #177 , which is a prioritized issue, I read through many of the open issues labelled auxiliary resources. I may still have missed something. As @csarven notes, we need different relation types for different auxiliary resource types, otherwise, a client would not know what to get. In #172 , @justinwb suggested a few types. However, I have been looking for commonalities, and I think we'd resolve many issues if we took a more general approach. I think that "server managed" is one of several dimensions that auxiliary resources can map to, rather than a type in its own right. If we identify the dimensions that can be used to build auxiliary resource types, then we can in using hypermedia ( #270 ), define types in terms of those dimensions.

The four dimensions that I have identify so far are whether an auxiliary resource

  • is tied to the lifecycle of its resource (LC).
  • has its own access control, or uses its parent's access control (AC).
  • is server managed (SM)
  • can timeshift (e.g. Memento) (TS)

As we define the Link relation, the type URI itself should resolve to a definition based on these dimensions as well as other data.

Contributor guide

Open the contributing guide

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

Start by reading issues #177, #172, and #270, then review the existing Link relation discussion. Define the common dimensions for auxiliary resources—lifecycle, access control, server management, and timeshifting—and determine how type URIs should resolve to definitions. Done means the proposed model is agreed and documented clearly enough to guide relation types.

Written by the indexing model from the issue text.

Assessment

Domain
backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.