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

REQUIREMENT: depth of representation #53

Merged
merged 2 commits into from
Feb 25, 2025

Conversation

pawel-kow
Copy link
Collaborator

Some requirements proposal for data representations

- GET request to the resource itself
- GET request to get a collection of objects
- responses to PUT/POST/PATCH requests
- Design: Consider using Prefer HTTP header “return” tag to distinguish between full and minimal data representation in the responses (for example if client is not interested in the full response for bulk use-cases)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think there needs to be more discussion about the desirability of having bulk operations. the problem with bulk ops is that these are harder to scale than small single requests. we suggested changing the epp check command from allowing multiple domains, to only allow inga single domain.

@@ -43,10 +43,20 @@ Does RPP need transaction support over multiple RPP requests?
References? ROID? Handles?
Compound requests (optional for server) - domain name with embedded contact/host vs. request serialization (client waiting for contact/host creation to succeed before sending a domain request) Return complete representation (similar to object info in EPP) after compound request completed.

## Depth of data representation
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i like the idea having a way to signal for a different response detail level. not sure how far this should go. maybe allow for "profiles" so a server can decide what to return? then the profile needs to be discoverable? or an extension?

@mwullink mwullink merged commit 7d37740 into SIDN:main Feb 25, 2025
@mario-loffredo
Copy link

The client may want to request different depth of data representations, depending of its use-case:

Minimal representation (like ID, or ID+name)
Full representation (all data of object itself)
Full representation + dereferenced referrals (for example domain with contact and host details)

Is it related to searching for multiple objects?
If so, shouldn't we first discuss whether RPP should offer search functionality like RDAP? Also, note that partial response has already been addressed in RDAP by RFC8982.
Otherwise, requesting for a partial response in lookups makes little sense to me.

@pawel-kow
Copy link
Collaborator Author

The client may want to request different depth of data representations, depending of its use-case:

Minimal representation (like ID, or ID+name)
Full representation (all data of object itself)
Full representation + dereferenced referrals (for example domain with contact and host details)

Is it related to searching for multiple objects? If so, shouldn't we first discuss whether RPP should offer search functionality like RDAP? Also, note that partial response has already been addressed in RDAP by RFC8982. Otherwise, requesting for a partial response in lookups makes little sense to me.

@mario-loffredo it is for now very generic and possibly applicable to different use-cases, as I also put in the text:

- Different representations may be requested in different contexts:
    - GET request to the resource itself
    - GET request to get a collection of objects
    - responses to PUT/POST/PATCH requests

So yes, partial response for a lookup (GET) of a single resource may make little sense, but partial response to an update (PATCH) or create (PUT/POST) may make a lot of sense to the client.

How to deal with bulk/listing/search use-cases is open and up to discussion. If WG decides not to place it in RPP, then the requirement would be void same way.

@OR13
Copy link
Contributor

OR13 commented Feb 25, 2025

I suggest moving any WG activities to the working group GitHub and posting them to the mailing list.

And archiving this repo.

@pawel-kow
Copy link
Collaborator Author

I suggest moving any WG activities to the working group GitHub and posting them to the mailing list.

And archiving this repo.

Make sense to me. This is a discussion point for WG session to decide on the details therefore doing changes just before discussion would be counterproductive IMHO.

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

Successfully merging this pull request may close these issues.

5 participants