-
Proposal:
Show
Define CSDL schema for CSDL and allow application/atomsvc+xml and application/json as additional representations of ~/$metadata/, returning an Atom or JSON service document for accessing the metadata of the service.
~/$metadata/$metadata will return the constant schema for CSDL, and we should end the recursion there.
Chapter 15 of https://www.oasis-open.org/committees/download.php/49309/odata-v4.0-wd02-part3-csdl-2013-05-22.docx
CSDL: https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/spec/schemas/MetadataService.edmx
Diagram: https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/spec/examples/MetadataService/EntityDesignerDiagram.png?op=dl&rev=0&isdir=0
Accepted: https://www.oasis-open.org/committees/download.php/49325/odata-meeting-38_on-20130523-minutes.html#odata-126
-
Resolution:
Show
https://www.oasis-open.org/committees/download.php/49309/odata-v4.0-wd02-part3-csdl-2013-05-22.docx
https://tools.oasis-open.org/version-control/browse/wsvn/odata/trunk/spec/schemas/MetadataService.edmx
Accepted: https://www.oasis-open.org/committees/download.php/49557/odata-meeting-41_on-20130613_14-F2F-minutes.html#odata-126
Instead of a monolithic XML metadata document the metadata could be made available as an OData service with a fixed schema:
Entity types
- EntitySet
- EntityType
- Property
- Annotation
- ...
Entity sets
- EntitySets
- EntityTypes
- Properties
- Annotations
- ...
This meta-service could be accessed via a canonical URL, ideally ~/$metadata/ with $format=atom/json or a corresponding Accept header.
This would allow accessing only parts of the metadata document the client is interested in and simplify parsing for clients: they only need to know how to interpret "normal" OData feed and entity response payloads without needing a separate metadata format.
It would also conveniently provide a JSON format for metadata.
Accepted: https://www.oasis-open.org/committees/download.php/48097/odata-meeting-23_on-20130130_31-F2F-minutes.html#odata-126
{"report":{"apdex":1,"isInitial":true,"journeyId":"5a7b9283-8cfa-4d41-bf2e-f04082299181","key":"jira.project.issue.view-issue","navigationType":0,"readyForUser":771.4000000953674,"redirectCount":0,"resourceLoadedEnd":838.4000000953674,"resourceLoadedStart":250,"resourceTiming":[{"duration":137.90000009536743,"initiatorType":"link","name":"https://issues.oasis-open.org/s/3edeca31ab9ba77980aae0809fbe7121-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/0a4716d29b2d5b1bdcdb168b4efc119e/_/download/contextbatch/css/_super/batch.css","startTime":250,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":250,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":387.90000009536743,"responseStart":0,"secureConnectionStart":0},{"duration":138.09999990463257,"initiatorType":"link","name":"https://issues.oasis-open.org/s/7d2823769c2e7b66e860863fe879b7f8-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/9aebb1c0aaa4c36289529757ec9dbb54/_/download/contextbatch/css/project.issue.navigator,jira.view.issue,jira.global,atl.general,-_super/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&richediton=true","startTime":250.30000019073486,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":250.30000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":388.40000009536743,"responseStart":0,"secureConnectionStart":0},{"duration":139.30000019073486,"initiatorType":"link","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/8.0.5/_/download/batch/com.atlassian.auiplugin:split_aui.pattern.label/com.atlassian.auiplugin:split_aui.pattern.label.css","startTime":250.5,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":250.5,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":389.80000019073486,"responseStart":0,"secureConnectionStart":0},{"duration":139.69999980926514,"initiatorType":"link","name":"https://issues.oasis-open.org/s/645acc233eb869f48a571293b8358a7d-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:global-static-adgs/jira.webresources:global-static-adgs.css","startTime":250.7000002861023,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":250.7000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":390.40000009536743,"responseStart":0,"secureConnectionStart":0},{"duration":140,"initiatorType":"link","name":"https://issues.oasis-open.org/s/a0dd6509771c1de0667aae5429c04cda-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:global-static/jira.webresources:global-static.css","startTime":251,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":251,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":391,"responseStart":0,"secureConnectionStart":0},{"duration":192.30000019073486,"initiatorType":"script","name":"https://issues.oasis-open.org/s/e5479157e7a0c08b005e6522f2f04104-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/0a4716d29b2d5b1bdcdb168b4efc119e/_/download/contextbatch/js/_super/batch.js?locale=en-US","startTime":251.09999990463257,"connectEnd":251.09999990463257,"connectStart":251.09999990463257,"domainLookupEnd":251.09999990463257,"domainLookupStart":251.09999990463257,"fetchStart":251.09999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":251.09999990463257,"responseEnd":443.40000009536743,"responseStart":443.40000009536743,"secureConnectionStart":251.09999990463257},{"duration":217,"initiatorType":"script","name":"https://issues.oasis-open.org/s/83514d5d4e8543747b02042eafcdc99c-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/9aebb1c0aaa4c36289529757ec9dbb54/_/download/contextbatch/js/project.issue.navigator,jira.view.issue,jira.global,atl.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en-US&richediton=true","startTime":251.80000019073486,"connectEnd":251.80000019073486,"connectStart":251.80000019073486,"domainLookupEnd":251.80000019073486,"domainLookupStart":251.80000019073486,"fetchStart":251.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":251.80000019073486,"responseEnd":468.80000019073486,"responseStart":468.80000019073486,"secureConnectionStart":251.80000019073486},{"duration":219.09999990463257,"initiatorType":"script","name":"https://issues.oasis-open.org/s/70bb2263e59e7e1f04fbd137c80b895b-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/aae1242f5fc81cc6a5bb8bc963ccda29/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en-US","startTime":251.90000009536743,"connectEnd":251.90000009536743,"connectStart":251.90000009536743,"domainLookupEnd":251.90000009536743,"domainLookupStart":251.90000009536743,"fetchStart":251.90000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":251.90000009536743,"responseEnd":471,"responseStart":471,"secureConnectionStart":251.90000009536743},{"duration":219.40000009536743,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":252.09999990463257,"connectEnd":252.09999990463257,"connectStart":252.09999990463257,"domainLookupEnd":252.09999990463257,"domainLookupStart":252.09999990463257,"fetchStart":252.09999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":252.09999990463257,"responseEnd":471.5,"responseStart":471.5,"secureConnectionStart":252.09999990463257},{"duration":219.59999990463257,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":252.30000019073486,"connectEnd":252.30000019073486,"connectStart":252.30000019073486,"domainLookupEnd":252.30000019073486,"domainLookupStart":252.30000019073486,"fetchStart":252.30000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":252.30000019073486,"responseEnd":471.90000009536743,"responseStart":471.90000009536743,"secureConnectionStart":252.30000019073486},{"duration":219.7000002861023,"initiatorType":"script","name":"https://issues.oasis-open.org/s/cda37faab827dbdf305de8efe8282062-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/8.0.5/_/download/batch/com.atlassian.auiplugin:split_aui.pattern.label/com.atlassian.auiplugin:split_aui.pattern.label.js?locale=en-US","startTime":252.5,"connectEnd":252.5,"connectStart":252.5,"domainLookupEnd":252.5,"domainLookupStart":252.5,"fetchStart":252.5,"redirectEnd":0,"redirectStart":0,"requestStart":252.5,"responseEnd":472.2000002861023,"responseStart":472.2000002861023,"secureConnectionStart":252.5},{"duration":220.59999990463257,"initiatorType":"link","name":"https://issues.oasis-open.org/s/07245784f53abc49bad9d9d4d36c577a-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/cadc4f20cc5c138dee060d42cf85f220/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":252.7000002861023,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":252.7000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":473.30000019073486,"responseStart":0,"secureConnectionStart":0},{"duration":219.90000009536743,"initiatorType":"script","name":"https://issues.oasis-open.org/rest/api/1.0/shortcuts/803004/a29179d70fa8562374ee16707692af77/shortcuts.js?context=issuenavigation&context=issueaction","startTime":252.80000019073486,"connectEnd":252.80000019073486,"connectStart":252.80000019073486,"domainLookupEnd":252.80000019073486,"domainLookupStart":252.80000019073486,"fetchStart":252.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":252.80000019073486,"responseEnd":472.7000002861023,"responseStart":472.7000002861023,"secureConnectionStart":252.80000019073486},{"duration":299,"initiatorType":"link","name":"https://issues.oasis-open.org/s/f77fd89aa211a76b20e9b0e63564383c-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/4a9288299d147101bf66484f4be48925/_/download/contextbatch/css/com.atlassian.jira.projects.sidebar.init,-_super,-jira.view.issue,-project.issue.navigator/batch.css?jira.create.linked.issue=true&richediton=true","startTime":291.40000009536743,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":291.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":590.4000000953674,"responseStart":0,"secureConnectionStart":0},{"duration":225.30000019073486,"initiatorType":"script","name":"https://issues.oasis-open.org/s/41525c48ddceeb9b11e54085268fc285-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/4a9288299d147101bf66484f4be48925/_/download/contextbatch/js/com.atlassian.jira.projects.sidebar.init,-_super,-jira.view.issue,-project.issue.navigator/batch.js?jira.create.linked.issue=true&locale=en-US&richediton=true","startTime":291.59999990463257,"connectEnd":291.59999990463257,"connectStart":291.59999990463257,"domainLookupEnd":291.59999990463257,"domainLookupStart":291.59999990463257,"fetchStart":291.59999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":291.59999990463257,"responseEnd":516.9000000953674,"responseStart":516.9000000953674,"secureConnectionStart":291.59999990463257}],"threshold":1000,"fetchStart":0,"domainLookupStart":145,"domainLookupEnd":145,"connectStart":145,"connectEnd":194,"secureConnectionStart":169,"requestStart":194,"responseStart":242,"responseEnd":324,"domLoading":245,"domInteractive":868,"domContentLoadedEventStart":868,"domContentLoadedEventEnd":914,"domComplete":1097,"loadEventStart":1097,"loadEventEnd":1099,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[],"measures":[],"correlationId":"504ee8fd0e0025","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":105,"dbReadsTimeInMs":14,"dbConnsTimeInMs":16,"applicationHash":"4d4040e0714d65b7fffa4801569d014c0b16eaa9","experiments":[]}}
There have been a lot of requests for this in the past, but we need a full proposal (including CSDL of the metadata document) to understand design details and provide sufficient direction to the editors. This might be good to add to the issues to work on at the November Face to Face.