specification icon indicating copy to clipboard operation
specification copied to clipboard

Dimensions of Auxiliary Resource Types

Open kjetilk opened this issue 2 years ago • 4 comments

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.

kjetilk avatar Aug 31 '21 11:08 kjetilk

I can make a stab at defining some of the mentioned aux resource types in these terms, to make it more concrete. I use the terms in paranthesis in the list above, and use + or - to indicate whether it uses the dimension or not.

Type LC AC SM TS
Access Control + -(or +? (#303)) - -
ShapeTree + + - -
Redirect #136 - - - -
Augmentation #144 + + - -
Description (the usual one) + - - -
Logs - + + -

Etc.

kjetilk avatar Aug 31 '21 11:08 kjetilk

There is a bit more comprehensive list of resource types documented here: https://github.com/solid/specification/issues/191 . I suggest using that as basis/input for the categorisation.

csarven avatar Aug 31 '21 12:08 csarven

Yes, indeed!

Perhaps we should also be clearer about what should be an auxiliary resource and what should not. It seems to me that a few of these, like provenance, would at least sometimes be a normal contained, resource.

kjetilk avatar Aug 31 '21 19:08 kjetilk

The resolution of the dimensions can vary. What I wrote in https://github.com/solid/specification/issues/270#issuecomment-868013522 is fairly flat and I think gives more precision on the characteristics of auxiliary resources. And, then there is additional consideration/definition about auxiliary resources which may not necessarily be a dimension - whether auxiliary resources can every be part of containment.

csarven avatar Sep 02 '21 23:09 csarven