UNTESTED: Implement a 'help' function for Stexaminer, per #21
tla [Thu, 15 Aug 2013 11:43:27 +0000 (13:43 +0200)]
lib/stemmaweb/Controller/Stexaminer.pm
root/src/stexaminer_help.tt [new file with mode: 0644]

index 535bd29..e5c1aeb 100644 (file)
@@ -44,7 +44,11 @@ sub index :Path :Args(2) {
        my $ok = _check_permission( $c, $tradition );
        return unless $ok;
        
-       if( $tradition->stemma_count ) {
+       if( $stemid eq 'help' ) {
+               # Just show the 'Help/About' popup.
+               $c->stash->{template} = 'stexaminer_help.tt';
+               $c->stash->{text_id} = $textid;
+       elsif( $tradition->stemma_count ) {
                my $stemma = $tradition->stemma( $stemid );
                my $svgstr = $stemma->as_svg();
                $svgstr =~ s/\n/ /g;
diff --git a/root/src/stexaminer_help.tt b/root/src/stexaminer_help.tt
new file mode 100644 (file)
index 0000000..f590e31
--- /dev/null
@@ -0,0 +1,29 @@
+[% PROCESS header.tt
+       pagetitle = "Stemmaweb - Stexaminer - Help"
+       applicationstyle = c.uri_for('/css/stexaminer.css')
+%]
+
+<div id="docco">
+ <h2>The Stexaminer</h2>
+ <h3>An Interedition prototype interface</h3>
+ <p>The Stexaminer is a tool for the visualization and analysis of individual text variants with reference to a given stemma graph hypothesis. Much of the interface to the tool was contributed by the <a href="http://www.huygens.knaw.nl/">Huygens Institute</a> of the Royal Dutch Academy of Sciences.</p>
+ <p>The premise of the tool is that, given a particular text and stemma, it should be possible to say for each instance of variation in the text whether the variants are text-genealogical - that is, whether they accord with or conflict with the stemma. If, for example, a stemma has been constructed according to Lachmannian theory, the significant variation should all accord with the stemma whereas the insignificant variation need not. This should also hold true for cases of conflation (or contamination) of witnesses</p>
+ <h3>Stemma definition and the stemma graph</h3>
+ <p>The Stexaminer needs both a text and an associated stemma in order to run. Stemmata can be defined on the <a href="[% c.uri_for("/?withtradition=$textid") %]">text information page</a>. There is no restriction on the complexity of a tradition, or the amount of witness conflation that can be represented. The only restriction is that there may not be a cycle in the stemma—if witness A is an ancestor of witness B, witness B may not be an ancestor of witness A.</p>
+ <h3>The table of variants</h3>
+ <p>At the top of the page is a form of collation table, referenced by position in the text graph rather than by any designated lemma reading. Each row represents a location where the text varies, with the different variants at that location displayed. Click on the position number to illustrate how the variants propagated down the stemma - each cell in the row will get its own colour, which corresponds to a colour in the stemma graph and shows which witness carries which reading.</p>
+ <p>If the row is green, it indicates that the variation is consistent with the stemma.  If the row is not green, it indicates a conflict within the stemma. A red cell denotes that the analysis was not able to produce any scenario where the reading in question originated in a single witness - that is, if the stemma is true then the variation must have happened independently in two or more witnesses. A yellow cell indicates the possibility that the variant was a reversion to an ancestor reading, e.g. that a scribe detected and fixed an obvious error in the exemplar, and correctly guessed what the archetypal reading should have been. Note that the detection of scribal reversions is HIGHLY experimental.</p>
+ <h3>The reading group list</h3>
+
+ <p>To the right of the stemma graph is more detailed information about the variants at the selected location. It will show which reading was presumably the archetypal one in its calculated scenario, and it will list the source(s) of variation for each of the other readings. The non-archetypal readings can carry a variant type as well - this information is taken from any relationships that are defined for the text in the <a href="[% c.uri_for("/relation/$textid") %]">collation viewer and relationship mapper tool</a>.</p>
+[% END -%]
+[% PROCESS footer.tt %]
\ No newline at end of file