@@ -16,30 +16,24 @@ extensions provide.
16
16
17
17
Patience, my friend. A list of existing extensions is coming very soon.
18
18
19
- ## <a href =" #extension-registration " id =" extension-registration " class =" headerlink " ></a > Registering a New Extension
19
+ ## <a href =" #extension-creation " id =" extension-creation " class =" headerlink " ></a > Creating a New Extension
20
20
21
- ### <a href =" #extension-registration -before " id =" extension-registration -before " class =" headerlink " ></a > Before You Register
21
+ ### <a href =" #extension-creation -before " id =" extension-creation -before " class =" headerlink " ></a > Before Creating an Extension
22
22
23
- Please ** check whether existing extension fits your needs or could be amended
24
- to fit your needs** before registering a new extension.
23
+ Please ** check whether an existing extension fits your needs or could be amended
24
+ to fit your needs** before developing a new extension.
25
25
26
26
- If a suitable extension already exists, consider using it. Having fewer, more
27
- widely-deployed extensions makes it easier to develop common tools .
27
+ widely-deployed extensions makes it easier to create shared tooling .
28
28
29
29
- If there's an existing extension that could be amented to fit your needs,
30
30
consider asking the extension's author if they would be willing to modify it as
31
31
needed. Contact them through the information in their extension's registration
32
32
and give them a week or two to reply.
33
33
34
- ### <a href =" #extension-registration-template " id =" extension-registration-template " class =" headerlink " ></a > Registration Template
34
+ ### <a href =" #extension-creation-drafting " id =" extension-creation-drafting " class =" headerlink " ></a > Drafting Your Extension
35
35
36
- If you do decide to create a new extension, you must register it. Your extension
37
- will be ** approved within a week** by one of JSON API's editors, assuming it
38
- meets the [ profile extension requirements] ( /format/1.1/#extending-profile-extensions-characteristics ) .
39
-
40
- To submit a registration request, simply copy the markdown template below, fill
41
- it out, and post the result as an issue on our [ GitHub] ( https://github.com/json-api/json-api )
42
- or a new thread on our [ discussion forum] ( http://discuss.jsonapi.org/ ) .
36
+ To author your extension, fill out the Markdown template below.
43
37
44
38
> \# [ Your Extension Name Here]
45
39
>
@@ -48,10 +42,16 @@ or a new thread on our [discussion forum](http://discuss.jsonapi.org/).
48
42
>
49
43
> \# (Optional) Minimum JSON API Version
50
44
>
51
- > If your extension only works with certain versions of JSON API, you may note
52
- > that here. Such a restriction would be appropriate if the values your
53
- > extension defines can only be used in objects that were not present
54
- > before a certain JSON API version.
45
+ > Here, note if your extension only works with certain versions of JSON API.
46
+ > Such a restriction would be appropriate if the values your extension defines
47
+ > can only be used in objects that were not present before a certain JSON API
48
+ > version.
49
+ >
50
+ > \# Suggested Alias
51
+ >
52
+ > Put a string here that you'd like users to use as the [ alias] ( /format/#document-aliases )
53
+ > for your extension. This can make it easier for readers to recognize your
54
+ > extension without having to check the URI.
55
55
>
56
56
> \# Specification
57
57
>
@@ -71,8 +71,8 @@ or a new thread on our [discussion forum](http://discuss.jsonapi.org/).
71
71
>
72
72
> Make sure your extension's specification follows the
73
73
> [ profile extension requirements] ( /format/1.1/#extending-profile-extensions-characteristics )
74
- > listed in the main specification, especially those on key naming and what an
75
- > extension is not allowed to do.
74
+ > listed in the main specification, especially those on what an extension is
75
+ > not allowed to do.
76
76
>
77
77
> Finally, it is ** strongly encouraged** that your extension:
78
78
>
@@ -89,31 +89,51 @@ or a new thread on our [discussion forum](http://discuss.jsonapi.org/).
89
89
> For this rule, JSON API recommends the text:
90
90
>
91
91
> <i>Recipients of a document containing this extension MUST ignore members
92
- > in this extension's data that they do not recognize.</i>
92
+ > in this extension's data whose name or format they do not recognize.</i>
93
93
>
94
- > \# Registrant Contact Information
94
+ > \# Contact Information
95
95
>
96
96
> \- Name: <br />
97
97
> \- Email: <br />
98
98
> \- Website (Optional): <br />
99
99
> \- Phone (Optional):
100
100
101
- ### <a href =" #extension-registration-other " id =" extension-registration-other " class =" headerlink " ></a > Other Information
102
101
103
- The community may give you feedback on your registration request before it's
104
- approved, but you are not required to act on this feedback; your extension _ will_
105
- be approved if it meets the requirements.
102
+ ### <a href =" #extension-creation-registration " id =" extension-creation-registration " class =" headerlink " ></a > Registering/Using Your Extension
103
+
104
+ Once you've drafted your extension, you can either host the resulting document
105
+ yourself or submit it to the JSON API extension registry. If you submit it to
106
+ the registry, it will be given a URI on jsonapi.org and listed above.
107
+
108
+ You are _ ** strongly** _ encouraged to register your extension, for two reasons:
109
+
110
+ 1 . Registration allows the community to find and reuse your extension.
111
+
112
+ 2 . As part of registration, one of the JSON API's editors will review your
113
+ submission to check that it satisifies the [ profile extension requirements] ( /format/1.1/#extending-profile-extensions-characteristics ) .
114
+ These requirements can be a bit tricky, so getting an expert review ensures
115
+ that your extension is legal for use with JSON API.
116
+
117
+ ** To submit a registration request** , just post your extension's definition
118
+ (i.e., what you created by filling out the [ template] ( #extension-creation-drafting )
119
+ above) as an issue on our [ GitHub] ( https://github.com/json-api/json-api ) or a
120
+ new thread on our [ discussion forum] ( http://discuss.jsonapi.org/ ) .
121
+
122
+ Your submission will be ** approved within a week** by one of JSON API's editors,
123
+ assuming it meets the [ profile extension requirements] ( /format/1.1/#extending-profile-extensions-characteristics )
124
+ and follows the template above. The community may give you feedback on your
125
+ submission before it's approved, but you are not required to act on this feedback.
106
126
107
- One caveat about the process and timeline outlined above: if your extension
108
- defines a new, fundamental mechanism for doing something "architectural" that
109
- other extensions may need to do too, it may be held for extra consideration.
110
- This extra review is designed to check that the proposed mechanism, were it to
111
- become a convention, wouldn't have problematic ramifications.
127
+ One caveat: if your extension defines a new, fundamental mechanism for doing
128
+ something "architectural" that other extensions may need to do too, it may be
129
+ held for extra consideration. This extra review is designed to check that the
130
+ proposed mechanism, were it to become a convention, wouldn't have problematic
131
+ ramifications.
112
132
113
- Finally, if the author of an extension has died, moved out of contact, or
114
- otherwise can't or won't make changes that are important to the community, the
115
- JSON API editors may reassign responsibility for the extension, to allow it to
116
- continue to evolve.
133
+ Finally, if the author of a registered extension dies, moves out of contact,
134
+ or otherwise can't or won't make changes that are important to the community,
135
+ the JSON API editors may reassign responsibility for the extension, to allow it
136
+ to continue to evolve.
117
137
118
138
## <a href =" #prior-extensions " id =" prior-extensions " class =" headerlink " ></a > Prior Extensions
119
139
0 commit comments