Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dimensions of Auxiliary Resource Types #306

Open
kjetilk opened this issue Aug 31, 2021 · 4 comments
Open

Dimensions of Auxiliary Resource Types #306

kjetilk opened this issue Aug 31, 2021 · 4 comments

Comments

@kjetilk
Copy link
Member

kjetilk commented Aug 31, 2021

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
Copy link
Member Author

kjetilk commented Aug 31, 2021

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.

@csarven
Copy link
Member

csarven commented Aug 31, 2021

There is a bit more comprehensive list of resource types documented here: #191 . I suggest using that as basis/input for the categorisation.

@kjetilk
Copy link
Member Author

kjetilk commented Aug 31, 2021

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.

@csarven
Copy link
Member

csarven commented Sep 2, 2021

The resolution of the dimensions can vary. What I wrote in #270 (comment) 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants