<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to CollationAPI</title><link>https://sourceforge.net/p/tradamus/wiki/CollationAPI/</link><description>Recent changes to CollationAPI</description><atom:link href="https://sourceforge.net/p/tradamus/wiki/CollationAPI/feed" rel="self"/><language>en</language><lastBuildDate>Tue, 06 Oct 2015 19:30:30 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/tradamus/wiki/CollationAPI/feed" rel="self" type="application/rss+xml"/><item><title>CollationAPI modified by Domhnall101</title><link>https://sourceforge.net/p/tradamus/wiki/CollationAPI/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v4
+++ v5
@@ -1,5 +1,6 @@
 Draft 2015-06-16

+###Collation API
 Invokes the CollateX engine to generate a comparison of the specified witnesses.  CollateX is invoked with the Needleman-Wunsch algorithm.  The details of the collation can be controlled using the parameters described here:

 parameter         | value      | effect
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Domhnall101</dc:creator><pubDate>Tue, 06 Oct 2015 19:30:30 -0000</pubDate><guid>https://sourceforge.netb23a76d23cd5c1f164364061841d4bfbe149e463</guid></item><item><title>Collation API modified by Eric Smith</title><link>https://sourceforge.net/p/tradamus/wiki/Collation%2520API/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v3
+++ v4
@@ -1,4 +1,4 @@
-Draft 2015-06-15
+Draft 2015-06-16

 Invokes the CollateX engine to generate a comparison of the specified witnesses.  CollateX is invoked with the Needleman-Wunsch algorithm.  The details of the collation can be controlled using the parameters described here:

@@ -46,7 +46,7 @@
    ],
    …
 ]
-Status:  200 on success, 201 if `deferred=true`, 404 if *edID* does not exist.
+Status:  200 on success if `deferred=false` or 303 if `deferred=true`, 404 if *edID* does not exist.
 Comments:  This provides a full collation of all the witnesses in the specified edition.  The response contains an array of arrays of mote annotations.  Each of the subarrays contains mote annotations which the collator has determined to be in correspondence.  The `target` field of the mote annotations is used to indicate the witness whose content provides support for the annotation.  If `deferred=true` is supplied on the parameter list, the response body will be empty, but the location header will return the URI where the results of the collation will be available.

 ### Sub-collation ###
@@ -82,5 +82,5 @@
    ],
    …
 ]
-Status:  200 on success, 201 if `deferred=true`, 400 if the text ranges are not consistent (e.g. a range has a negative length, or refers to pages from two separate witnesses).
+Status:  200 on success if `deferred=false` or 303 if `deferred=true`, 400 if the text ranges are not consistent (e.g. a range has a negative length, or refers to pages from two separate witnesses).
 Comments:  The request body must contain an array of JSON objects specifying the text ranges to be collated.  In practice, this may be an array of annotations, but that need not be the case.  The response contains an array of arrays of mote annotations.  Each of the subarrays contains mote annotations which the collator has determined to be in correspondence.  The `target` field of the mote annotations is used to indicate the witness whose content provides support for the annotation.  If `deferred=true` is supplied on the parameter list, the response body will be empty, but the location header will return the URI where the results of the collation will be available.
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric Smith</dc:creator><pubDate>Tue, 16 Jun 2015 15:18:46 -0000</pubDate><guid>https://sourceforge.net378a81a619c3c1797cf018dcbda6f2716422b3ea</guid></item><item><title>Collation API modified by Eric Smith</title><link>https://sourceforge.net/p/tradamus/wiki/Collation%2520API/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -1,4 +1,4 @@
-Draft 2015-06-04
+Draft 2015-06-15

 Invokes the CollateX engine to generate a comparison of the specified witnesses.  CollateX is invoked with the Needleman-Wunsch algorithm.  The details of the collation can be controlled using the parameters described here:

@@ -29,8 +29,10 @@
 `ignoreLineBreaks=true|hyphens|false` (default `false`)
 `ignorePunctuation=true|false` (default `false`)
 `useTEITags=true|false` (default `false`)
+`deferred=true|false` (default `false`)
 Response content-type:  application/json
-Response body:  an array of arrays of mote annotations:
+Response location: if `deferred=true`, `/deliverable/`*delID*
+Response body:  an array of arrays of mote annotations (empty if `deferred=true`):
 \[
    \[
       {"content":"Lectio 1, Prologus","endOffset":18,"target":"#2","endPage":2000,"startPage":2000,"startOffset":0,"type":"tr-mote"},
@@ -44,9 +46,8 @@
    ],
    …
 ]
-Status:  200 on success, 404 if *edID* does not exist.
-Comments:  This provides a full collation of all the witnesses in the specified edition.  The response contains an array of arrays of mote annotations.  Each of the subarrays contains mote annotations which the collator has determined to be in correspondence.  The `target` field of the mote annotations is used to indicate the witness whose content provides support for the annotation.
-
+Status:  200 on success, 201 if `deferred=true`, 404 if *edID* does not exist.
+Comments:  This provides a full collation of all the witnesses in the specified edition.  The response contains an array of arrays of mote annotations.  Each of the subarrays contains mote annotations which the collator has determined to be in correspondence.  The `target` field of the mote annotations is used to indicate the witness whose content provides support for the annotation.  If `deferred=true` is supplied on the parameter list, the response body will be empty, but the location header will return the URI where the results of the collation will be available.

 ### Sub-collation ###
 Endpoint:  /collation
@@ -64,8 +65,10 @@
 `ignoreLineBreaks=true|hyphens|false` (default `false`)
 `ignorePunctuation=true|false` (default `false`)
 `useTEITags=true|false` (default `false`)
+`deferred=true|false` (default `false`)
 Response content-type:  application/json
-Response body:  an array of arrays of mote annotations:
+Response location: if `deferred=true`, `/deliverable/`*delID*
+Response body:  an array of arrays of mote annotations (empty if `deferred=true`):
 \[
    \[
       {"content":"Lectio 1, Prologus","endOffset":18,"target":"#2","endPage":2000,"startPage":2000,"startOffset":0,"type":"tr-mote"},
@@ -79,5 +82,5 @@
    ],
    …
 ]
-Status:  200 on success, 400 if the text ranges are not consistent (e.g. a range has a negative length, or refers to pages from two separate witnesses).
-Comments:  The request body must contain an array of JSON objects specifying the text ranges to be collated.  In practice, this may be an array of annotations, but that need not be the case.  The response contains an array of arrays of mote annotations.  Each of the subarrays contains mote annotations which the collator has determined to be in correspondence.  The `target` field of the mote annotations is used to indicate the witness whose content provides support for the annotation.
+Status:  200 on success, 201 if `deferred=true`, 400 if the text ranges are not consistent (e.g. a range has a negative length, or refers to pages from two separate witnesses).
+Comments:  The request body must contain an array of JSON objects specifying the text ranges to be collated.  In practice, this may be an array of annotations, but that need not be the case.  The response contains an array of arrays of mote annotations.  Each of the subarrays contains mote annotations which the collator has determined to be in correspondence.  The `target` field of the mote annotations is used to indicate the witness whose content provides support for the annotation.  If `deferred=true` is supplied on the parameter list, the response body will be empty, but the location header will return the URI where the results of the collation will be available.
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric Smith</dc:creator><pubDate>Mon, 15 Jun 2015 20:04:41 -0000</pubDate><guid>https://sourceforge.net8d588707be3a638183a17cd089c122cbd0462175</guid></item><item><title>Collation API modified by Eric Smith</title><link>https://sourceforge.net/p/tradamus/wiki/Collation%2520API/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -1,3 +1,5 @@
+Draft 2015-06-04
+
 Invokes the CollateX engine to generate a comparison of the specified witnesses.  CollateX is invoked with the Needleman-Wunsch algorithm.  The details of the collation can be controlled using the parameters described here:

 parameter         | value      | effect
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric Smith</dc:creator><pubDate>Thu, 04 Jun 2015 17:28:22 -0000</pubDate><guid>https://sourceforge.netc297b571cf47c81ee15d863bf55b5cc3492453d1</guid></item><item><title>Collation API modified by Eric Smith</title><link>https://sourceforge.net/p/tradamus/wiki/Collation%2520API/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Invokes the CollateX engine to generate a comparison of the specified witnesses.  CollateX is invoked with the Needleman-Wunsch algorithm.  The details of the collation can be controlled using the parameters described here:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;parameter&lt;/th&gt;
&lt;th&gt;value&lt;/th&gt;
&lt;th&gt;effect&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;comparison&lt;/td&gt;
&lt;td&gt;plain&lt;/td&gt;
&lt;td&gt;Witnesses are compared using just their text content.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;comparison&lt;/td&gt;
&lt;td&gt;morph&lt;/td&gt;
&lt;td&gt;Witnesses are compared based on their morphological content, using analysis performed by the Perseus morphology engine.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;comparison&lt;/td&gt;
&lt;td&gt;orth&lt;/td&gt;
&lt;td&gt;Witnesses are compared in an orthographically-aware manner, taking into account common spelling irregularities.  The &lt;code&gt;dict&lt;/code&gt; parameter can be specified, to indicate the spelling dictionary to be used.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;dict&lt;/td&gt;
&lt;td&gt;lat&lt;/td&gt;
&lt;td&gt;Specifies a spelling dictionary to be used for &lt;code&gt;orth&lt;/code&gt; comparison.  May be specified multiple times to use multiple spelling dictionaries.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ignoreCase&lt;/td&gt;
&lt;td&gt;true&lt;/td&gt;
&lt;td&gt;Upper/lower case differences are ignored.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ignoreCase&lt;/td&gt;
&lt;td&gt;false&lt;/td&gt;
&lt;td&gt;Upper/lower case differences are considered significant.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ignoreLineBreaks&lt;/td&gt;
&lt;td&gt;true&lt;/td&gt;
&lt;td&gt;The collator ignores line-breaks and hyphenation.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ignoreLineBreaks&lt;/td&gt;
&lt;td&gt;hyphens&lt;/td&gt;
&lt;td&gt;The collator ignores line-breaks which immediately follow a hyphen.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ignoreLineBreaks&lt;/td&gt;
&lt;td&gt;false&lt;/td&gt;
&lt;td&gt;The collator considers line-breaks as ordinary white-space.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ignorePunctuation&lt;/td&gt;
&lt;td&gt;true&lt;/td&gt;
&lt;td&gt;Punctuation differences are ignored.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ignorePunctuation&lt;/td&gt;
&lt;td&gt;false&lt;/td&gt;
&lt;td&gt;Punctuation differences are considered significant.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;useTEITags&lt;/td&gt;
&lt;td&gt;true&lt;/td&gt;
&lt;td&gt;Embedded TEI editorial tags (e.g those from &lt;a class="" href="http://www.tei-c.org/release/doc/tei-p5-doc/en/html/CO.html#COED" rel="nofollow"&gt;§3.4 Simple Editorial Changes&lt;/a&gt;) are applied to the content before making the comparison.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;useTEITags&lt;/td&gt;
&lt;td&gt;false&lt;/td&gt;
&lt;td&gt;No special treatment for embedded TEI tags.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="full-edition-collation"&gt;Full-edition collation&lt;/h3&gt;
&lt;p&gt;Endpoint:  /collation/&lt;em&gt;edID&lt;/em&gt;&lt;br /&gt;
Method:  POST&lt;br /&gt;
Request body:  none&lt;br /&gt;
Request parameters:&lt;br /&gt;
&lt;code&gt;comparison=plain|morph|orth&lt;/code&gt; (default &lt;code&gt;plain&lt;/code&gt;)&lt;br /&gt;
&lt;code&gt;dict=&lt;/code&gt;&lt;em&gt;dictionary&lt;/em&gt; (default &lt;code&gt;lat&lt;/code&gt;; may be specified multiple times)&lt;br /&gt;
&lt;code&gt;ignoreCase=true|false&lt;/code&gt; (default &lt;code&gt;false&lt;/code&gt;)&lt;br /&gt;
&lt;code&gt;ignoreLineBreaks=true|hyphens|false&lt;/code&gt; (default &lt;code&gt;false&lt;/code&gt;)&lt;br /&gt;
&lt;code&gt;ignorePunctuation=true|false&lt;/code&gt; (default &lt;code&gt;false&lt;/code&gt;)&lt;br /&gt;
&lt;code&gt;useTEITags=true|false&lt;/code&gt; (default &lt;code&gt;false&lt;/code&gt;)&lt;br /&gt;
Response content-type:  application/json&lt;br /&gt;
Response body:  an array of arrays of mote annotations:&lt;br /&gt;
[&lt;br /&gt;
   [&lt;br /&gt;
      {"content":"Lectio 1, Prologus","endOffset":18,"target":"#2","endPage":2000,"startPage":2000,"startOffset":0,"type":"tr-mote"},&lt;br /&gt;
      {"content":"Lectio 1, Prologus","endOffset":18,"target":"#1","endPage":1000,"startPage":1000,"startOffset":0,"type":"tr-mote"}&lt;br /&gt;
   ],&lt;br /&gt;
   [&lt;br /&gt;
      {"content":"[Reims","endOffset":25,"target":"#1","endPage":1000,"startPage":1000,"startOffset":19,"type":"tr-mote"}&lt;br /&gt;
   ],&lt;br /&gt;
   [&lt;br /&gt;
      {"content":"[Sorbonne","endOffset":28,"target":"#2","endPage":2000,"startPage":2000,"startOffset":19,"type":"tr-mote"}&lt;br /&gt;
   ],&lt;br /&gt;
   …&lt;br /&gt;
]&lt;br /&gt;
Status:  200 on success, 404 if &lt;em&gt;edID&lt;/em&gt; does not exist.&lt;br /&gt;
Comments:  This provides a full collation of all the witnesses in the specified edition.  The response contains an array of arrays of mote annotations.  Each of the subarrays contains mote annotations which the collator has determined to be in correspondence.  The &lt;code&gt;target&lt;/code&gt; field of the mote annotations is used to indicate the witness whose content provides support for the annotation.&lt;/p&gt;
&lt;h3 id="sub-collation"&gt;Sub-collation&lt;/h3&gt;
&lt;p&gt;Endpoint:  /collation&lt;br /&gt;
Method:  POST&lt;br /&gt;
Request content-type:  application/json&lt;br /&gt;
Request body:  an array of text ranges:&lt;br /&gt;
[&lt;br /&gt;
   {"startPage":1000,"startOffset":0,"endPage":1000,"endOffset":477},&lt;br /&gt;
   {"startPage":2000,"startOffset":0,"endPage":2000,"endOffset":360}&lt;br /&gt;
]&lt;br /&gt;
Request parameters:&lt;br /&gt;
&lt;code&gt;comparison=text|morph|orth&lt;/code&gt; (default &lt;code&gt;text&lt;/code&gt;)&lt;br /&gt;
&lt;code&gt;dict=&lt;/code&gt;&lt;em&gt;dictionary&lt;/em&gt; (default &lt;code&gt;lat&lt;/code&gt;; may be specified multiple times)&lt;br /&gt;
&lt;code&gt;ignoreCase=true|false&lt;/code&gt; (default &lt;code&gt;false&lt;/code&gt;)&lt;br /&gt;
&lt;code&gt;ignoreLineBreaks=true|hyphens|false&lt;/code&gt; (default &lt;code&gt;false&lt;/code&gt;)&lt;br /&gt;
&lt;code&gt;ignorePunctuation=true|false&lt;/code&gt; (default &lt;code&gt;false&lt;/code&gt;)&lt;br /&gt;
&lt;code&gt;useTEITags=true|false&lt;/code&gt; (default &lt;code&gt;false&lt;/code&gt;)&lt;br /&gt;
Response content-type:  application/json&lt;br /&gt;
Response body:  an array of arrays of mote annotations:&lt;br /&gt;
[&lt;br /&gt;
   [&lt;br /&gt;
      {"content":"Lectio 1, Prologus","endOffset":18,"target":"#2","endPage":2000,"startPage":2000,"startOffset":0,"type":"tr-mote"},&lt;br /&gt;
      {"content":"Lectio 1, Prologus","endOffset":18,"target":"#1","endPage":1000,"startPage":1000,"startOffset":0,"type":"tr-mote"}&lt;br /&gt;
   ],&lt;br /&gt;
   [&lt;br /&gt;
      {"content":"[Reims","endOffset":25,"target":"#1","endPage":1000,"startPage":1000,"startOffset":19,"type":"tr-mote"}&lt;br /&gt;
   ],&lt;br /&gt;
   [&lt;br /&gt;
      {"content":"[Sorbonne","endOffset":28,"target":"#2","endPage":2000,"startPage":2000,"startOffset":19,"type":"tr-mote"}&lt;br /&gt;
   ],&lt;br /&gt;
   …&lt;br /&gt;
]&lt;br /&gt;
Status:  200 on success, 400 if the text ranges are not consistent (e.g. a range has a negative length, or refers to pages from two separate witnesses).&lt;br /&gt;
Comments:  The request body must contain an array of JSON objects specifying the text ranges to be collated.  In practice, this may be an array of annotations, but that need not be the case.  The response contains an array of arrays of mote annotations.  Each of the subarrays contains mote annotations which the collator has determined to be in correspondence.  The &lt;code&gt;target&lt;/code&gt; field of the mote annotations is used to indicate the witness whose content provides support for the annotation.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric Smith</dc:creator><pubDate>Thu, 04 Jun 2015 17:27:25 -0000</pubDate><guid>https://sourceforge.netbfd7ff0c90777acf09bc48cc3aee5c9691424431</guid></item></channel></rss>