Permalink
Browse files

Add implementation report for Dobrado.

  • Loading branch information...
1 parent 529a96f commit c595d8f3b77a1a291b4f08fad8801ae349f36576 @mblaney mblaney committed Jun 23, 2016
Showing with 174 additions and 0 deletions.
  1. +174 −0 implementation-reports/dobrado.md
@@ -0,0 +1,174 @@
+# Dobrado
+
+Implementation Home Page URL: dobrado.net
+
+Source Code repo URL : gitlab.com/dobrado
+* [x] 100% open source implementation
+
+Programming Languages: php, javascript
+
+Developer: [Malcolm Blaney](https://unicyclic.com/mal)
+
+Implementation Classes: Sender and Receiver
+
+
+## Sending
+
+### Discovery Tests (3.1.1)
+
+MUST
+
+* [x] [Discovery Test #1](https://webmention.rocks/test/1)
+* [x] [Discovery Test #2](https://webmention.rocks/test/2)
+* [x] [Discovery Test #3](https://webmention.rocks/test/3)
+* [x] [Discovery Test #4](https://webmention.rocks/test/4)
+* [x] [Discovery Test #5](https://webmention.rocks/test/5)
+* [x] [Discovery Test #6](https://webmention.rocks/test/6)
+* [x] [Discovery Test #7](https://webmention.rocks/test/7)
+* [x] [Discovery Test #8](https://webmention.rocks/test/8)
+* [x] [Discovery Test #9](https://webmention.rocks/test/9)
+* [x] [Discovery Test #10](https://webmention.rocks/test/10)
+* [x] [Discovery Test #11](https://webmention.rocks/test/11)
+* [x] [Discovery Test #12](https://webmention.rocks/test/12)
+* [x] [Discovery Test #13](https://webmention.rocks/test/13)
+* [x] [Discovery Test #14](https://webmention.rocks/test/14)
+* [x] [Discovery Test #15](https://webmention.rocks/test/15)
+* [x] [Discovery Test #16](https://webmention.rocks/test/16)
+* [x] [Discovery Test #17](https://webmention.rocks/test/17)
+* [x] [Discovery Test #18](https://webmention.rocks/test/18)
+* [x] [Discovery Test #19](https://webmention.rocks/test/19)
+* [x] [Discovery Test #20](https://webmention.rocks/test/20)
+* [x] [Discovery Test #21](https://webmention.rocks/test/21)
+
+
+### Sending Tests (3.1.2)
+
+MUST
+
+* [x] Accepts HTTP 200 response as a success
+* [x] Accepts HTTP 201 response as a success
+* [x] Accepts HTTP 202 response as a success
+
+
+### Update Tests (3.1.3)
+
+SHOULD
+
+* [x] [Update Test #1](https://webmention.rocks/update/1)
+* [x] [Update Test #2](https://webmention.rocks/update/2)
+
+
+### Delete Tests (3.1.4)
+
+SHOULD
+
+* [x] [Delete Test #1](https://webmention.rocks/delete/1)
+
+### Security Considerations (4)
+
+* [x] The sender avoids sending a Webmention to a loopback address (SHOULD)
+
+
+### Extensions
+
+This implementation has also implemented the following extensions.
+
+* [x] [Salmention](http://indiewebcamp.com/Salmention)
+* [ ] [Vouch](http://indiewebcamp.com/Vouch)
+* [ ] Other: _______
+
+
+## Receiving
+
+Indicate which type of response the receiver provides:
+
+* [x] HTTP 200 - Receiver synchronously processes the Webmention request (not recommended)
+* [ ] HTTP 201 - Receiver creates a status URL the sender can use to check the status of the Webmention
+* [x] HTTP 202 - Receiver processes the Webmention asynchronously
+
+Describe the response body (if any) which is returned in the request:
+
+
+### Request Verification (3.2.1)
+
+* [x] Verifies source and target are valid URLs, rejecting with HTTP 400 (MUST)
+* [x] Verifies that target is a valid resource for which the receiver accepts Webmentions, rejecting with HTTP 400 (SHOULD)
+* [x] Ignores fragment when checking if target is supported (SHOULD)
+
+### Webmention Verification (3.2.2)
+
+* [x] Verification is processed asynchronously (SHOULD)
+* [x] Follows at least one HTTP redirect on source URL (MUST)
+* [x] Respects a self-imposed limit on number of HTTP redirects to follow (MUST)
+
+#### Source URL content-types supported
+
+Please list the content types that your implementation supports when checking if the source document links to the target URL.
+
+* [x] HTML
+* [ ] Other: ______
+
+
+### HTML Verification (3.2.2)
+
+The tests below apply when the source document is HTML.
+
+* [x] Accepts a Webmention where the target URL is in an `<a>` tag
+* [ ] Accepts a Webmention where the target URL is in an `<img>` tag
+* [ ] Accepts a Webmention where the target URL is in an `<video>` tag
+* [ ] Accepts a Webmention where the target URL is in an `<audio>` tag
+* [x] Rejects a Webmention where the target URL is in the document as text
+* [x] Rejects a Webmention where the target URL is in an `<a>` tag inside an HTML comment
+* [x] Rejects a Webmention where the target URL is not in the document
+
+
+### Webmention Display/Use
+
+* [x] The receiver displays data from the source URL on the target post (MAY)
+
+* [x] The receiver recognizes that the source URL is a "comment" or "reply" to the post
+ * [x] using HTML markup: class="u-in-reply-to"
+* [x] The receiver recognizes that the source URL is a "like" of the post
+ * [x] using HTML markup: class="u-like-of"
+* [x] The receiver recognizes that the source URL is a "repost" of the post
+ * [x] using HTML markup: class="u-repost-of"
+* [ ] The receiver recognizes that the source URL is an "RSVP" to the post
+ * [ ] using HTML markup: __________
+* [ ] The receiver recognizes additional response types, using markup:
+ * [ ] Response: __________ using HTML markup: __________
+ * (Please add lines like above for additional response types the receiver has implemented)
+
+Please describe any other ways the Webmention is displayed or used if applicable.
+
+
+### Update Tests (3.2.4)
+
+* [x] Does not display an update Webmention as a new response (SHOULD)
+* [x] Removes the response when an update Webmention is sent and the source URL returns 200 and no link is found (SHOULD)
+* [x] Updates and stores the information from the primary object at the source URL (MUST)
+* [x] Updates and stores the information from children or descendant objects at the source URL (MAY)
+
+
+### Delete Tests (3.2.4)
+
+* [x] Recognizes an HTTP 410 response as a delete, and removes the response (SHOULD)
+
+
+### Security Considerations (4)
+
+* [ ] Webmentions are moderated before being displayed (MAY)
+* [ ] Webmentions are periodically re-verified (MAY)
+* [x] The receiver ensures any displayed data it properly encoded/filtered to prevent XSS attacks (MUST)
+* [x] Respects a self-imposed limit on the time spent fetching the source URL (SHOULD)
+* [ ] Respects a self-imposed limit on the number of bytes fetched from the source URL (SHOULD)
+* [ ] The receiver accepts additional parameters or headers, and so has CSRF protection (SHOULD)
+
+
+### Extensions
+
+This implementation has also implemented the following extensions.
+
+* [x] [Salmention](http://indiewebcamp.com/Salmention)
+* [ ] [Vouch](http://indiewebcamp.com/Vouch)
+* [ ] Other: _______
+

0 comments on commit c595d8f

Please sign in to comment.