Skip to content

Commit 5c13f76

Browse files
Merge branch 'issue_2_server_metadata'
2 parents a718cae + 91cffd4 commit 5c13f76

4 files changed

Lines changed: 80 additions & 31 deletions

File tree

specifications/cds-wg1-01.md

Lines changed: 66 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@ The defined base metadata endpoint is intended to act as a starting point for or
77

88
## Status <a id="status" href="#status" class="permalink">🔗</a>
99

10-
<b style="color:red">WARNING: This specification is a DRAFT and has not achieved consensus by the working group.</b>
10+
<b style="color:red">WARNING: This specification is a DRAFT and may be changed by the working group.</b>
1111

1212
## Copyright <a id="copyright" href="#copyright" class="permalink">🔗</a>
1313

14-
<span style="background-color:yellow">TODO</span>
14+
Copyright Joint Development Foundation Projects, LLC, LF Energy Standards and Specifications Series and its contributors ("LFESS").
15+
All rights reserved.
16+
For more information, visit [https://lfess.energy/](https://lfess.energy/).
1517

1618
## Table of Contents <a id="table-of-contents" href="#table-of-contents" class="permalink">🔗</a>
1719

@@ -42,12 +44,9 @@ The defined base metadata endpoint is intended to act as a starting point for or
4244

4345
## 1. Introduction <a id="introduction" href="#introduction" class="permalink">🔗</a>
4446

45-
This specification was developed as part of the global effort to combat the climate crisis.
46-
Specifically, in order to scalably measure carbon emissions of organizations and calculate the impact of deploying and operating clean energy technologies, companies need an efficient means to discover the details and capabilities of energy utilities and other similar entities.
47-
48-
There are thousands of utilities serving customers across the world, and each have their own way of organizing and structuring data.
47+
There are thousands of utilities and other central grid entities serving customers across the world, and each have their own way of organizing and structuring data.
4948
This specification defines a way for these utilities and other entities to provide standardized, structured reference information about them, the functionality they offer, and how organizations can interoperate with them.
50-
By serving "metadata" defined in this specification, utilities and other entities can automatically incorporate their details and capabilities into carbon tracking websites, apps, products, and other clean energy technologies.
49+
By serving "metadata" defined in this specification, utilities and other entities can automatically incorporate their details and capabilities into websites, apps, products, and other energy technologies.
5150

5251
This specification is intended to be a starting point for providing basic information about utilities and other similar entities, then extended by other specifications to define additional information and functionality.
5352
For example, this specification may be extended to define how organizations can dynamically register with a utility in order to gain access to customer-authorized energy usage data.
@@ -60,31 +59,27 @@ These entities can include, but are not limited to, distribution utilities, grid
6059

6160
<a id="client" href="#client" class="permalink">🔗</a> **"Client"** - The entity requesting Server's metadata endpoints.
6261
A Client can be any organization or user seeking the Server's metadata on their details and capabilities.
63-
These entities can include, but are not limited to, carbon tracking applications, electric vehicle companies, clean energy technology providers, commercial utility customers, grid management applications, and energy efficiency organizations.
62+
These entities can include, but are not limited to, building management applications, electric vehicle companies, energy technology providers, commercial utility customers, grid management applications, and energy efficiency organizations.
6463

6564
<a id="referenced-technologies" href="#referenced-technologies" class="permalink">🔗</a> Referenced Technologies:
66-
"[HTTPS](https://www.rfc-editor.org/rfc/rfc9110#name-https-uri-scheme)",
67-
"[Request Methods](https://www.rfc-editor.org/rfc/rfc9110#name-methods)",
68-
"[Status Codes](https://www.rfc-editor.org/rfc/rfc9110#name-status-codes)",
69-
"[JSON](https://www.rfc-editor.org/rfc/rfc8259)",
70-
"[Well-Known URI](https://www.rfc-editor.org/rfc/rfc5785)",
71-
"[ISO8601](https://www.iso.org/iso-8601-date-and-time-format.html)",
72-
"[OAuth](https://oauth.net/specs/)",
73-
"[GeoJSON](https://datatracker.ietf.org/doc/html/rfc7946#section-3)",
74-
<span style="background-color:yellow">TODO: add more as needed</span> are defined by their referenced standards documents.
75-
76-
<a id="string" href="#string" class="permalink">🔗</a> "string" - A series of unicode characters as defined in [RFC 8259](https://www.rfc-editor.org/rfc/rfc8259#section-7).
65+
"[HTTPS](#ref-https)",
66+
"[Request Methods](#ref-request-methods)",
67+
"[Status Codes](#ref-status-codes)",
68+
"[JSON](#ref-json)",
69+
"[Well-Known URI](#ref-wellknown-uri)",
70+
"[GeoJSON](#ref-geojson)"
7771

78-
<a id="datetime" href="#datetime" class="permalink">🔗</a> "datetime" - A string representing date and time in the format of `date-time` as defined by [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) (e.g. "2024-01-01T00:00:00Z").
72+
<a id="string" href="#string" class="permalink">🔗</a> "string" - A series of unicode characters as defined in [RFC 8259 Section 7](#ref-rfc8259-strings).
7973

80-
<a id="url" href="#url" class="permalink">🔗</a> "URL" - A string representing resource as defined in [RFC 3986](https://www.rfc-editor.org/rfc/rfc3986.html#section-1.1.3) (e.g. "https://example.com/page1").
74+
<a id="datetime" href="#datetime" class="permalink">🔗</a> "datetime" - A string representing date and time in the format of `date-time` as defined by [RFC 3339 Section 5.6](#ref-rfc3339-datetime) (e.g. "2024-01-01T00:00:00Z").
8175

82-
<a id="mime-type" href="#mime-type" class="permalink">🔗</a> "MIME type" - A string representing a document media type as defined in [RFC 6838](https://datatracker.ietf.org/doc/html/rfc6838) (e.g. "image/png").
76+
<a id="url" href="#url" class="permalink">🔗</a> "URL" - A string representing resource as defined in [RFC 3986 Section 1.1.3](#ref-rfc3986-url) (e.g. "https://example.com/page1").
8377

84-
<a id="country-code" href="#country-code" class="permalink">🔗</a> "country code" - A two-character string representing a country as defined in [ISO 3166](https://www.iso.org/iso-3166-country-codes.html) (e.g. "US").
78+
<a id="mime-type" href="#mime-type" class="permalink">🔗</a> "MIME type" - A string representing a document media type as defined in [RFC 6838](#ref-rfc6838) (e.g. "image/png").
8579

80+
<a id="country-code" href="#country-code" class="permalink">🔗</a> "country code" - A two-character string representing a country as defined in [ISO 3166](#ref-iso3166) (e.g. "US").
8681

87-
<a id="key-words" href="#key-words" class="permalink">🔗</a> Key Words: "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" are defined in accordance with [BCP 14](https://www.rfc-editor.org/info/bcp14).
82+
<a id="key-words" href="#key-words" class="permalink">🔗</a> Key Words: "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" are defined in accordance with [BCP 14](#ref-bcp14).
8883

8984
## 3. Metadata Endpoint <a id="metadata-endpoint" href="#metadata-endpoint" class="permalink">🔗</a>
9085

@@ -376,7 +371,53 @@ For [well-known metadata endpoints](#metadata-well-known-uri) and other publicly
376371

377372
## 9. References <a id="references" href="#references" class="permalink">🔗</a>
378373

379-
<span style="background-color:yellow">TODO</span>
374+
<a id="ref-https" href="#ref-https" class="permalink">🔗</a>
375+
`HTTPS` - Section 4.2.2. https URI Scheme, "HTTP Semantics", RFC 9110, Internet Engineering Task Force (IETF),
376+
[https://www.rfc-editor.org/rfc/rfc9110#section-4.2.2](https://www.rfc-editor.org/rfc/rfc9110#section-4.2.2)
377+
378+
<a id="ref-request-methods" href="#ref-request-methods" class="permalink">🔗</a>
379+
`Request Methods` - Section 9. Methods, "HTTP Semantics", RFC 9110, Internet Engineering Task Force (IETF),
380+
[https://www.rfc-editor.org/rfc/rfc9110#section-9](https://www.rfc-editor.org/rfc/rfc9110#section-9)
381+
382+
<a id="ref-status-codes" href="#ref-status-codes" class="permalink">🔗</a>
383+
`Status Codes` - Section 15. Status Codes, "HTTP Semantics", RFC 9110, Internet Engineering Task Force (IETF),
384+
[https://www.rfc-editor.org/rfc/rfc9110#section-15](https://www.rfc-editor.org/rfc/rfc9110#section-15)
385+
386+
<a id="ref-json" href="#ref-json" class="permalink">🔗</a>
387+
`JSON` - "The JavaScript Object Notation (JSON) Data Interchange Format", RFC 8259, Internet Engineering Task Force (IETF),
388+
[https://www.rfc-editor.org/rfc/rfc8259](https://www.rfc-editor.org/rfc/rfc8259)
389+
390+
<a id="ref-wellknown-uri" href="#ref-wellknown-uri" class="permalink">🔗</a>
391+
`Well-Known URI` - "Defining Well-Known Uniform Resource Identifiers (URIs)", RFC 5785, Internet Engineering Task Force (IETF),
392+
[https://www.rfc-editor.org/rfc/rfc5785](https://www.rfc-editor.org/rfc/rfc5785)
393+
394+
<a id="ref-geojson" href="#ref-geojson" class="permalink">🔗</a>
395+
`GeoJSON` - Section 3. GeoJSON Object, "The GeoJSON Format", RFC 7946, Internet Engineering Task Force (IETF),
396+
[https://datatracker.ietf.org/doc/html/rfc7946#section-3](https://datatracker.ietf.org/doc/html/rfc7946#section-3)
397+
398+
<a id="ref-rfc8259-strings" href="#ref-rfc8259-strings" class="permalink">🔗</a>
399+
`RFC 8259 Section 7` - Section 7. Strings, "The JavaScript Object Notation (JSON) Data Interchange Format", RFC 8259, Internet Engineering Task Force (IETF),
400+
[https://www.rfc-editor.org/rfc/rfc8259#section-7](https://www.rfc-editor.org/rfc/rfc8259#section-7)
401+
402+
<a id="ref-rfc3339-datetime" href="#ref-rfc3339-datetime" class="permalink">🔗</a>
403+
`RFC 3339 Section 5.6` - Section 5.6. Internet Date/Time Format, "Date and Time on the Internet: Timestamps", RFC 3339, Internet Engineering Task Force (IETF),
404+
[https://datatracker.ietf.org/doc/html/rfc3339#section-5.6](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)
405+
406+
<a id="ref-rfc3986-url" href="#ref-rfc3986-url" class="permalink">🔗</a>
407+
`RFC 3986 Section 1.1.3` - Section 1.1.3. URI, URL, and URN, "Uniform Resource Identifier (URI): Generic Syntax", RFC 3986, Internet Engineering Task Force (IETF),
408+
[https://www.rfc-editor.org/rfc/rfc3986.html#section-1.1.3](https://www.rfc-editor.org/rfc/rfc3986.html#section-1.1.3)
409+
410+
<a id="ref-rfc6838" href="#ref-rfc6838" class="permalink">🔗</a>
411+
`RFC 6838` - "Media Type Specifications and Registration Procedures", RFC 6838, Internet Engineering Task Force (IETF),
412+
[https://datatracker.ietf.org/doc/html/rfc6838](https://datatracker.ietf.org/doc/html/rfc6838)
413+
414+
<a id="ref-iso3166" href="#ref-iso3166" class="permalink">🔗</a>
415+
`ISO 3166` - "Media Type Specifications and Registration Procedures", ISO 3166, International Organization for Standardization (ISO),
416+
[https://www.iso.org/iso-3166-country-codes.html](https://www.iso.org/iso-3166-country-codes.html)
417+
418+
<a id="ref-bcp14" href="#ref-bcp14" class="permalink">🔗</a>
419+
`BCP 14` - "Best Current Practice 14", Internet Engineering Task Force (IETF),
420+
[https://www.rfc-editor.org/info/bcp14](https://www.rfc-editor.org/info/bcp14)
380421

381422
## 10. Acknowledgments <a id="acknowledgments" href="#acknowledgments" class="permalink">🔗</a>
382423

website/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ We've also made a list of what data and functionality is specifically [not in sc
3333

3434
These are the official [specifications]({{ "/specs" | relative_url }}) written by this working group.
3535

36-
* `CDS-WG1-01` - Server Metadata [[Overview]({{ "/specs/cds-wg1-01/overview" | relative_url }})] [[Specification]({{ "/specs/cds-wg1-01" | relative_url }})] `(in progress)`
37-
* `CDS-WG1-02` - Client Registration [[Overview]({{ "/specs/cds-wg1-02/overview" | relative_url }})] [[Specification]({{ "/specs/cds-wg1-02" | relative_url }})] `(in progress)`
36+
* `CDS-WG1-01` - Server Metadata [[Overview]({{ "/specs/cds-wg1-01/overview" | relative_url }})] [[Specification]({{ "/specs/cds-wg1-01" | relative_url }})] `(status: draft)`
37+
* `CDS-WG1-02` - Client Registration [[Overview]({{ "/specs/cds-wg1-02/overview" | relative_url }})] [[Specification]({{ "/specs/cds-wg1-02" | relative_url }})] `(status: draft)`
3838

3939
If you would like to contribute to these specifications, please see our docs on [Contributing]({{ "/" | relative_url }}#contributing) and [Design Principles]({{ "specs/design-principles" | relative_url }}).
4040

website/specs/cds-wg1-01/overview.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ Throughout this overview, the term "utility or entity" is used instead of just "
1717

1818
## Background <a id="background" href="#background" class="permalink">🔗</a>
1919

20-
There are thousands of utilities serving customers across the world, and each has their own way of organizing and structuring data and functionality.
21-
For [use case]({{ "/use-cases" | relative_url }}) companies needing to access data or functionality, an efficient means of discovering, registering, and interoperating with these utilities is needed.
20+
There are thousands of utilities and other central entities serving customers across the world, and each has their own way of organizing and structuring data and functionality.
21+
For external entities needing to access data or functionality, an efficient means of discovering, registering, and interoperating with these utilities and other central entities is needed.
2222

2323
## Metadata Endpoint <a id="metadata-endpoint" href="#metadata-endpoint" class="permalink">🔗</a>
2424

website/specs/index.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,16 @@ meta_description: Linux Foundation Energy - Connected Data Specifications (CDS)
1010

1111
Below are the list of specifications this working group maintains.
1212

13-
* `CDS-WG1-01` - Server Metadata [[Overview]({{ "/specs/cds-wg1-01/overview" | relative_url }})] [[Specification]({{ "/specs/cds-wg1-01" | relative_url }})] `(in progress)`
14-
* `CDS-WG1-02` - Client Registration [[Overview]({{ "/specs/cds-wg1-02/overview" | relative_url }})] [[Specification]({{ "/specs/cds-wg1-02" | relative_url }})] `(in progress)`
13+
* `CDS-WG1-01` - Server Metadata [[Overview]({{ "/specs/cds-wg1-01/overview" | relative_url }})] [[Specification]({{ "/specs/cds-wg1-01" | relative_url }})] `(status: draft)`
14+
* `CDS-WG1-02` - Client Registration [[Overview]({{ "/specs/cds-wg1-02/overview" | relative_url }})] [[Specification]({{ "/specs/cds-wg1-02" | relative_url }})] `(status: draft)`
1515

1616
If you would like to contribute to these specifications, please see our docs on [Contributing]({{ "/" | relative_url }}#contributing) and [Design Principles]({{ "specs/design-principles" | relative_url }}).
1717

18+
---
19+
20+
#### Where these specifications are used
21+
22+
Other specifications, standards, and products are [encouraged]({{ "/use-cases" | relative_url }}) to incorporate our specifications into their protocols to enable secure, automated, and streamlined server discovery and client registration. Below are some examples of other working groups that reference our `CDS-WG1-*` specifications. If you use our specifications to enable your products or protocols, and want to be listed here, we'd love if you [opened a pull request](https://github.com/lfe-cds/CDS-Registration/pulls)!
23+
24+
* [CDS Customer Data](https://cds-customerdata.lfenergy.org/specs/) - Defines open specifications for secure customer data access.
25+

0 commit comments

Comments
 (0)