#604 closed enhancement (fixed)
Content negotiation at PID target URL
Reported by: | Twan Goosen | Owned by: | Twan Goosen |
---|---|---|---|
Priority: | minor | Milestone: | VirtualCollectionRegistry-1.0 |
Component: | VCRegistry | Version: | |
Keywords: | Cc: | Dieter Van Uytvanck |
Description (last modified by )
PID link in HTML view currently points to CMDI version of the VC
- PIDs should point to /service/virtualcollections/{id} (currently point to .../{id}/cmdi)
- At this endpoint one of the following should be returned on basis of content negotiation
- the CMDI XML representation (mimetype application/x-cmdi+xml, also the default if no Accept header was retrieved)
- the internal XML representation (mimetypes text/xml, application/xml)
- the HTML details view at /app/details/{id} (mimetypes text/html and application/xhtml+xml)
See section 7 of the document at http://hdl.handle.net/1839/00-DOCS.CLARIN.EU-78 for some conventions
Change History (4)
comment:1 Changed 10 years ago by
Milestone: | → VirtualCollectionRegistry-1.0 |
---|
comment:2 Changed 10 years ago by
Cc: | Dieter Van Uytvanck added |
---|---|
Description: | modified (diff) |
Owner: | set to Twan Goosen |
Status: | new → accepted |
comment:3 Changed 10 years ago by
comment:4 Changed 10 years ago by
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
Fixed in [5508:5514/VirtualCollectionRegistry].
For an overview of the changes in the REST service, see [5512].
The most relevant bit:
Depending on Accept header either a CMDI, XML or JSON representation of the virtual collection, or a redirect to the collection's detail view in the user interface in case HTML is requested. If the virtual collection is not found the appropriate HTTP status code is issued and an error message is returned.
By default, it returns the CMDI representation for published collections. If the collection is not published, the service will respond with another accepted representation. If only CMDI is represented, it responds with code 406 (Not Acceptable).
consider using UriConnegFilter to allow URL based content negotiation as described here.