A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 13 | 9 | Editor(s) | Member(s) | Outside WG | |||||||||||||
2 | Impls | Quill | shpub | slater | omnibear | |||||||||||||
3 | Self-Reported or via Micropub.rocks | M | M | M | M | S | S | M | M | S | M | M | M | S | ||||
4 | Discovery | |||||||||||||||||
5 | Discovers endpoint | 11 | 8 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | ||||
6 | Authentication | |||||||||||||||||
7 | Token in HTTP Header | 12 | 9 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |||
8 | Token in post body ^2 | 2 | 2 | 1 | 1 | |||||||||||||
9 | Requests scope | 11 | 8 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | ||||
10 | Syntax | |||||||||||||||||
11 | 100: urlencoded | 8 | 6 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |||||||
12 | 200: JSON | 8 | 8 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |||||||
13 | 101: urlencoded w/multiple values | 8 | 6 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |||||||
14 | 201: JSON w/multiple values | 8 | 8 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |||||||
15 | 204: JSON w/nested mf2 object | 5 | 5 | 1 | 1 | 1 | 1 | 1 | ||||||||||
16 | 202: post with HTML | 5 | 5 | 1 | 1 | 1 | 1 | 1 | ||||||||||
17 | 300: multipart | 4 | 4 | 1 | 1 | 1 | 1 | |||||||||||
18 | Creating | |||||||||||||||||
19 | 104: photo by URL urlencoded | 5 | 4 | 1 | 1 | 1 | 1 | 1 | ||||||||||
20 | 203: photo by URL (JSON) | 6 | 6 | 1 | 1 | 1 | 1 | 1 | 1 | |||||||||
21 | 205: photo including alt text | 2 | 2 | 1 | 1 | |||||||||||||
22 | * recognizes HTTP 201 and 202 as success | 11 | 8 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | ||||
23 | 105: uses mp-syndicate-to | 7 | 6 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | ||||||||
24 | Media Endpoint | |||||||||||||||||
25 | 700: checks for a media endpoint | 3 | 3 | 1 | 1 | 1 | ||||||||||||
26 | uses multipart only as a fallback ^3 | 2 | 2 | 1 | 1 | |||||||||||||
27 | Updates | |||||||||||||||||
28 | 400: replacing all values | 5 | 4 | 1 | 1 | 1 | 1 | 1 | ||||||||||
29 | 401: adding a value | 3 | 3 | 1 | 1 | 1 | ||||||||||||
30 | 402: removing a value | 3 | 3 | 1 | 1 | 1 | ||||||||||||
31 | 403: removing a property | 2 | 2 | 1 | 1 | |||||||||||||
32 | * recognizes 200, 201, 204 | 5 | 4 | 1 | 1 | 1 | 1 | 1 | ||||||||||
33 | Deletes | |||||||||||||||||
34 | 500: deletes as urlencoded | 4 | 2 | 1 | 1 | 1 | 1 | |||||||||||
35 | 500: deletes as JSON | 3 | 3 | 1 | 1 | 1 | ||||||||||||
36 | 502: undeletes as urlencoded | 3 | 2 | 1 | 1 | 1 | ||||||||||||
37 | 502: undeletes as JSON | 3 | 3 | 1 | 1 | 1 | ||||||||||||
38 | Querying | |||||||||||||||||
39 | 600: queries with q=config | 6 | 6 | 1 | 1 | 1 | 1 | 1 | 1 | |||||||||
40 | * looks for media endpoint | 4 | 4 | 1 | 1 | 1 | 1 | |||||||||||
41 | * looks for syndication targets | 4 | 4 | 1 | 1 | 1 | 1 | |||||||||||
42 | 601: queries with q=syndicate-to | 6 | 4 | 1 | 1 | 1 | 1 | 1 | 1 | |||||||||
43 | 602: queries post source w/o specifying properties | 3 | 3 | 1 | 1 | 1 | ||||||||||||
44 | 603: queries post source with specific properties | 4 | 3 | 1 | 1 | 1 | 1 | |||||||||||
45 | Vocabularies | |||||||||||||||||
46 | h-entry | 12 | 9 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |||
47 | ||||||||||||||||||
48 | Additionally Implemented Vocabularies | |||||||||||||||||
49 | h-event | 2 | 1 | 1 | 1 | |||||||||||||
50 | h-review | 1 | 1 | 1 | ||||||||||||||
51 | Extensions | |||||||||||||||||
52 | mp-slug | 6 | 4 | 1 | 1 | 1 | 1 | 1 | 1 | |||||||||
53 | post-status | 2 | 2 | 1 | 1 | |||||||||||||
54 | ||||||||||||||||||
55 | Open Source? | 12 | 9 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |||
56 | ||||||||||||||||||
57 | Notes | |||||||||||||||||
58 | * | These features describe behaviors of the client interface, and so are not directly testable | ||||||||||||||||
59 | ^1 | Cannot be tested with micropub.rocks due to hard-coded authentication and endpoint | ||||||||||||||||
60 | ^2 | This is an OAuth 2.0 Bearer Token feature, used by Micropub | ||||||||||||||||
61 | ^3 | This does not apply to clients that don't send Multipart requests at all |