http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/WEB-INF/scalate/layouts/print.ssp
----------------------------------------------------------------------
diff --git 
a/extras/rya.manual/src/main/webapp/WEB-INF/scalate/layouts/print.ssp 
b/extras/rya.manual/src/main/webapp/WEB-INF/scalate/layouts/print.ssp
new file mode 100644
index 0000000..1676547
--- /dev/null
+++ b/extras/rya.manual/src/main/webapp/WEB-INF/scalate/layouts/print.ssp
@@ -0,0 +1,778 @@
+
+<%@ var body: String %>
+<%@ var title: String = "Rya Manual" %>
+<% escapeMarkup = false %>
+<!DOCTYPE html>
+<html>
+<head>
+  <style type="text/css">
+
+html {
+  margin: 0; padding: 0;
+  font: 10pt/1.26 "Gill Sans", sans-serif;
+}
+
+h1, h2, h3, h4, h5, h6 {
+  font-family: "Gill Sans", sans-serif;
+  margin: 2em 0 0.5em 0;
+  page-break-after: avoid;
+}
+
+h1 {
+  font-size: 2.0em;
+  font-weight: 900;
+
+  margin: 0;
+  margin-left:-2cm;
+  margin-top:-1cm;
+  margin-bottom:1.5cm;
+  top: 0cm;
+  left: 0cm;
+  padding: 2cm;
+  padding-top: 0cm;
+  padding-bottom: 1cm;
+  background: #888;
+  border-bottom-right-radius: 2cm;
+  page-break-before: always;
+  page-break-inside: avoid;
+}
+
+@media screen, handheld {
+h1 {
+  margin-top:1cm;
+  background-image: url("chapter-rounded-bottom.png");
+  background-repeat: no-repeat;
+  background-position: bottom right;
+}
+div.page-reset > h1 {
+  margin-top:0cm;
+}
+}
+
+
+h2 {
+  font-size: 1.2em;
+  text-transform: uppercase;
+  font-weight: bold;
+}
+
+h3 {
+  font-size: 1em;
+  font-weight: bold;
+}
+
+q::before {
+  content: "\201C";
+}
+
+q::after {
+  content: "\201D";
+}
+
+p { margin: 0 }
+p + p { text-indent: 1.3em ; margin-top: 0.2em; }
+p.sidenote + p, p.caption, p.art { text-indent: 0 }
+
+p.author {
+  margin-top: 2em;
+  text-indent: 0;
+  text-align: right;
+}
+
+a { text-decoration: none; color: black }
+
+/* cross-references */
+
+a.pageref::after { content: " on page " target-counter(attr(href), page); }
+a.chapref::before { content: " Chapter " target-counter(attr(href), chapter) 
", "; }
+a.figref { content: " Figure " target-counter(attr(href), figure); }
+a.tableref { content: " Table " target-counter(attr(href), figure); }
+a.listingref { content: " Listing " target-counter(attr(href), listing); }
+
+/* sidenotes */
+
+.sidenote {
+  float: left;
+  clear: left;
+  margin: 0 0 1em -41%;
+  width: 37%;
+  font-size: 0.9em;
+  font-style: normal;
+  text-indent: 0;
+  text-align: right;
+  page-break-inside: avoid;
+}
+
+/* sidebars */
+
+div.sidebar {
+  float: top-next;
+  margin: 1.2em 0 1.2em 0;
+  border: thin solid;
+  background: #CCC;
+  padding: 0.5em 1em;
+  page-break-inside: avoid;
+  column-count: 2;
+  column-gap: 1.5em;
+}
+
+div.sidebar h2 {
+  margin-top: 0;
+}
+
+/* frontpage */
+
+.title p{
+       font-size:22pt;
+       font-family: "Gill Sans", sans-serif;
+       text-align: center;
+}
+
+.copyright-section {
+       text-align: center;
+       font-size: 9pt;
+       page-break-after: always;
+       margin-top: 50pt;
+       margin-bottom: 20pt;
+}
+
+.toc-title {
+       font-size:18pt;
+       font-family: "Gill Sans", sans-serif;
+       text-align: left;
+       margin-left:20pt;
+       margin-bottom: 40pt;
+
+}
+
+/* figures, tables, and listings */
+
+div.confluenceTableSmall th.confluenceTh {
+  font-size: 11px;
+}
+
+div.confluenceTableSmall td.confluenceTd {
+  font-size: 7px;
+}
+
+div.figure {
+  margin: 1em 0;
+  counter-increment: figure;
+}
+
+div.figure .caption, div.table .caption {
+  font-size: 0.9em;
+  font-style: italic;
+}
+
+div.figure .caption::before {
+  content: "Figure " counter(figure) ". ";
+  font-weight: bold;
+  font-style: normal;
+}
+
+div.table .caption::before {
+  content: "Table " counter(table) ". ";
+  font-weight: bold;
+  font-style: normal;
+}
+
+div.table {
+  margin: 1em 0;
+  counter-increment: table;
+}
+
+div.table th {
+  text-align: left;
+}
+
+table th, table td {
+  text-align: left;
+  padding-right: 1em;
+  page-break-inside: avoid;
+}
+
+table th {
+  border-top: thin solid;
+  border-bottom: thin solid;
+  padding-top: 0.2em;
+  padding-bottom: 0.2em;
+}
+table td {
+  border-top: none;
+  border-bottom: thin dotted;
+  padding-top: 0.2em;
+  padding-bottom: 0.2em;
+}
+
+div.Scrollbar {
+       display: none;
+}
+
+
+/* Weird div.codeHeader a b::before would be a better selection
+   but prince does not properly match it.. Firefox does. */
+div.codeHeader::before {
+  content: "Listing " counter(listing) ". ";
+  font-weight: bold;
+  font-style: normal;
+}
+div.codeHeader a b {
+  font-style: italic;
+  font-weight: normal;
+}
+div.codeHeader {
+  font-size: 0.9em;
+  counter-increment: listing;
+}
+div.code {
+       border: 1px dashed #c0c0c0;
+    font-size: 12px;
+       font-family: Courier;
+    margin: 5px;
+       line-height: 13px;
+       padding: 3px;
+       background-color: #f8f8f8;
+
+}
+
+
+@page {
+  margin: 2cm;
+  size: 7in 9.25in;
+
+  @footnotes {
+    border-top: thin solid black;
+    padding-top: 0.3em;
+    margin-top: 0.6em;
+  }
+}
+
+
+/* define default page and names pages: cover, blank, frontmatter */
+div.page-reset {
+    counter-reset: page 1;
+}
+
+@page :left {
+  @top-left-corner {
+    font-weight: 900; font: 9pt "Gill Sans", serif;
+    content: counter(page);
+    text-align: left;
+    margin-left: 1cm;
+    visibility: hidden;
+  }
+  @top-left {
+    font-weight: 900;
+    font: 9pt "Gill Sans", serif; white-space: pre; text-transform: uppercase; 
letter-spacing: 0.1em;
+    content: string(header, first);
+    visibility: hidden;
+  }
+  @bottom-left-corner {
+    font-weight: 900; font: 9pt "Gill Sans", serif;
+    content: counter(page);
+    text-align: left;
+    margin-left: 1cm;
+  }
+  @bottom-left {
+    font-weight: 900;
+    font: 9pt "Gill Sans", serif; white-space: pre; text-transform: uppercase; 
letter-spacing: 0.1em;
+    content: string(header, first);
+  }
+}
+
+@page :right {
+  @top-right-corner {
+    font-weight: 900; font: 9pt "Gill Sans", serif;
+    content: counter(page);
+    text-align: left;
+    margin-left: 1cm;
+    visibility: hidden;
+  }
+  @top-right {
+    font-weight: 900;
+    font: 9pt "Gill Sans", serif; white-space: pre; text-transform: uppercase; 
letter-spacing: 0.1em;
+    content: string(header, first)
+    visibility: hidden;
+  }
+  @bottom-right-corner {
+    font-weight: 900; font: 9pt "Gill Sans", serif;
+    content: counter(page);
+    text-align: right;
+    margin-right: 1cm;
+  }
+  @bottom-right {
+    font-weight: 900; font: 9pt "Gill Sans", serif;
+    white-space: pre; text-transform: uppercase; letter-spacing: 0.1em;
+    content: string(header, first)
+  }
+}
+
+/*
+  In theory we should be able to use the :first selector so taht
+  we can put the page numbering on the bottom of the first page of the chapter
+  but have the rest of the pages number at the top.  But this does not seem
+  to work.  See http://www.princexml.com/doc/6.0/page-selectors/
+
+  So for now just always number at the bottom :(
+*/
+/*
+div.chapter { page: bottom-number; }
+@page bottom-number :first {
+  @top-left {
+    visibility: hidden;
+  }
+  @bottom-left {
+    visibility: visible;
+  }
+  @top-right {
+    visibility: hidden;
+  }
+  @bottom-right {
+    visibility: visible;
+  }
+}
+*/
+
+@page cover { margin: 0; }
+
+@page frontmatter :left {
+  @bottom-left-corner {
+    content: counter(page, lower-roman);
+  }
+  @bottom-left-corner {
+    content: counter(page, lower-roman);
+  }
+}
+
+@page frontmatter :right {
+  @bottom-right-corner {
+    content: counter(page, lower-roman);
+  }
+  @bottom-right-corner {
+    content: counter(page, lower-roman);
+  }
+}
+
+@page blank :left {
+  @top-left { visibility: hidden; }
+  @bottom-left { visibility: hidden; }
+  @top-left-corner { visibility: hidden; }
+  @bottom-left-corner { visibility: hidden; }
+}
+
+@page blank :right {
+  @top-right { visibility: hidden; }
+  @bottom-right { visibility: hidden; }
+  @top-right-corner { visibility: hidden; }
+  @bottom-right-corner { visibility: hidden; }
+}
+
+/* footnotes */
+.footnote {
+  display: none;                   /* default rule */
+
+  display: prince-footnote;        /* prince-specific rules */
+  position: footnote;
+  footnote-style-position: inside;
+
+  counter-increment: footnote;
+  margin-left: 1.4em;
+  font-size: 90%;
+  line-height: 1.4;
+}
+
+.footnote::footnote-call {
+  vertical-align: super;
+  font-size: 80%;
+}
+
+.footnote::footnote-marker {
+  vertical-align: super;
+  color: green;
+  padding-right: 0.4em;
+}
+
+/* Confluence contents to hide */
+#labels-section {
+       display: none;
+}
+#comments-section {
+       display: none;
+}
+#footer {
+       display: none;
+}
+.hidden {
+       display: none;
+}
+
+/*
+   A book consists of different types of sections. We propose to use
+   DIV elements with these class names:
+
+    frontcover
+    halftitlepage: contains the title of the book
+    titlepage: contains the title of the book, name of author(s) and publisher
+    imprint: left page with copyright, publisher, library printing information
+    dedication: right page with short dedication
+    foreword: written by someone other than the author(s)
+    toc: table of contents
+    preface: preface, including acknowledgements
+    chapter: each chapter is given its own DIV element
+    references: contains list of references
+    appendix: each appendix is given its own
+    bibliography
+    glossary
+    index
+    colophon: describes how the book was produced
+    backcover
+
+   A book will use several of the types listed above, but few books
+   will use all of them.
+*/
+
+/* which section uses which named page */
+
+div.halftitlepage, div.titlepage, div.imprint, div.dedication { page: blank }
+div.foreword, div.toc, div.preface { page: frontmatter }
+
+
+/* page breaks */
+div.frontcover, div.halftitlepage, div.titlepage { page-break-before: right }
+div.imprint { page-break-before: always; }
+div.chapter { page-break-before: always; }
+div.dedication, div.foreword, div.toc, div.preface, div.reference,
+div.appendix, div.bibliography, div.glossary, div.index, div.colophon {
+  page-break-before: always
+}
+div.backcover { page-break-before: left }
+
+/* titlepage, halftitlepage */
+
+div.titlepage h1, div.halftitlepage h1 { margin-bottom: 2em; }
+div.titlepage h2, div.halftitlepage h2 { font-size: 1.2em; margin-bottom: 3em; 
}
+div.titlepage h3, div.halftitlepage h3 { font-size: 1em; margin-bottom: 3em; }
+div.titlepage p, div.halftitlepage p {
+  font-size: 1.4em;
+  font-weight: bold;
+  margin: 0; padding: 0;
+}
+
+
+/* TOC */
+
+ul.toc, ul.toc ul {
+  list-style-type: none;
+  margin: 0; padding: 0;
+  margin-left: 3cm;
+}
+ul.toc ul {
+  margin-left: 1em;
+  font-weight: normal;
+}
+ul.toc > li {
+  font-weight: bold;
+  margin-bottom: 0.5em;
+}
+ul.toc a::after {
+  content: leader('.') target-counter(attr(href), page);
+  font-style: normal;
+}
+ul.toc > li.frontmatter a::after {
+  content: leader('.') target-counter(attr(href), page, lower-roman);
+  font-style: normal;
+}
+ul.toc > li.endmatter a::after {
+  content: leader('.') target-counter(attr(href), page);
+  font-style: normal;
+}
+ul.toc > li.chapter::before {
+  content: "Chapter " counter(toc-chapter, decimal);
+  display: block;
+  margin: 1em 0 0.1em -2.5cm;
+  font-weight: normal;
+  counter-increment: toc-chapter;
+  page-break-after: avoid;
+}
+
+/* chapter numbers */
+
+div.chapter { counter-increment: chapter; }
+div.chapter h1::before {
+  text-transform: uppercase;
+  letter-spacing: 0.15em;
+  content: "Chapter  " counter(chapter) " \A\B0 \B0 \B0 \B0\A";
+  white-space: pre;
+  font-size: 50%;
+}
+
+div.frontcover h1::before, div.titlepage h1::before, div.halftitlepage 
h1::before {
+  content: normal; /* that is, none */
+}
+
+h1 { string-set: header content();}
+div.chapter h1 { string-set: header "Chapter " counter(chapter) " - " 
content(); }
+
+/* index */
+
+ul.index {
+  list-style-type: none;
+  margin: 0; padding: 0;
+  column-count: 2;
+  column-gap: 1em;
+}
+
+ul.index a::after { content: ", " target-counter(attr(href), page); }
+
+
+span.element, span.attribute {
+  text-transform: uppercase;
+  font-weight: bold;
+  font-size: 80%;
+}
+span.property { font-weight: bold }
+code, span.css, span.value, span.declaration {
+  font: 90% "Lucida Console", "Lucida Sans Typewriter", monospace;
+}
+
+
+@media screen, handheld {
+  html {font: 14px "Gill Sans", sans-serif; }
+  h1 { margin-bottom: 0.5em }
+  div.frontcover, div.halftitlepage, div.titlepage, div.imprint,
+  div.dedication, div.foreword, div.toc, div.index { display: none }
+  body {
+      margin: 0cm;
+      margin-left: 2cm;
+      margin-right: 2cm;
+  }
+}
+
+/*
+ * Enhancements to the take advantage of some of the style markup that
+ * Confluence generates
+ */
+a sup img { visibility: hidden; position: absolute;}
+
+img {
+  prince-image-resolution:150dpi;
+}
+
+table {
+  font: "Lucida Console", "Lucida Sans Typewriter", monospace;
+}
+
+table td {
+  font-size: 10pt;
+}
+
+pre {
+   white-space: pre-wrap;
+}
+
+.codeContent {
+  font-size: 80%;
+}
+.code {
+}
+.code-keyword {
+  color: #000091;
+  background-color: inherit;
+}
+
+.code-object {
+  color: #910091;
+  background-color: inherit;
+}
+
+.code-quote {
+  color: #009100;
+  background-color: inherit;
+}
+
+.code-comment {
+  color: #808080;
+  background-color: inherit;
+}
+
+
+.code-xml .code-keyword {
+  color: inherit;
+  font-weight: bold;
+}
+
+.code-tag {
+  color: #000091;
+  background-color: inherit;
+}
+
+.noteMacro { border-color: #F0C000; background-color: #FFFFCE;}
+.warningMacro { border-color: #CC0000; background-color: #FFCCCC }
+.infoMacro { border-color: #3c78b5; background-color: #D8E4F1; }
+.tipMacro { border-color: #090; background-color: #dfd;}
+.noteMacro, .warningMacro, .infoMacro, .tipMacro, .informationMacroPadding {
+  border: thin solid;
+  float: top-next;
+  margin: 1em 0 1.2em 0;
+  padding: 0.5em;
+  column-count: 2;
+  column-gap: 1.5em;
+  width: 100%;
+}
+table.infoMacro td, table.warningMacro td, table.tipMacro td, table.noteMacro 
td, table.sectionMacro td {
+    border: none;
+}
+table.infoMacro p, table.warningMacro p, table.tipMacro p, table.noteMacro p, 
table.sectionMacro p {
+    font-size:x-small;
+    margin-top: 1em;
+}
+  </style>
+  <style type="text/css">
+.syntax .hll { background-color: #ffffcc }
+.syntax  { background: #f0f0f0; }
+.syntax .c { color: #60a0b0; font-style: italic } /* Comment */
+.syntax .err { border: 1px solid #FF0000 } /* Error */
+.syntax .k { color: #007020; font-weight: bold } /* Keyword */
+.syntax .o { color: #666666 } /* Operator */
+.syntax .cm { color: #60a0b0; font-style: italic } /* Comment.Multiline */
+.syntax .cp { color: #007020 } /* Comment.Preproc */
+.syntax .c1 { color: #60a0b0; font-style: italic } /* Comment.Single */
+.syntax .cs { color: #60a0b0; background-color: #fff0f0 } /* Comment.Special */
+.syntax .gd { color: #A00000 } /* Generic.Deleted */
+.syntax .ge { font-style: italic } /* Generic.Emph */
+.syntax .gr { color: #FF0000 } /* Generic.Error */
+.syntax .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.syntax .gi { color: #00A000 } /* Generic.Inserted */
+.syntax .go { color: #808080 } /* Generic.Output */
+.syntax .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.syntax .gs { font-weight: bold } /* Generic.Strong */
+.syntax .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.syntax .gt { color: #0040D0 } /* Generic.Traceback */
+.syntax .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
+.syntax .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
+.syntax .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
+.syntax .kp { color: #007020 } /* Keyword.Pseudo */
+.syntax .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
+.syntax .kt { color: #902000 } /* Keyword.Type */
+.syntax .m { color: #40a070 } /* Literal.Number */
+.syntax .s { color: #4070a0 } /* Literal.String */
+.syntax .na { color: #4070a0 } /* Name.Attribute */
+.syntax .nb { color: #007020 } /* Name.Builtin */
+.syntax .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
+.syntax .no { color: #60add5 } /* Name.Constant */
+.syntax .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.syntax .ni { color: #d55537; font-weight: bold } /* Name.Entity */
+.syntax .ne { color: #007020 } /* Name.Exception */
+.syntax .nf { color: #06287e } /* Name.Function */
+.syntax .nl { color: #002070; font-weight: bold } /* Name.Label */
+.syntax .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.syntax .nt { color: #062873; font-weight: bold } /* Name.Tag */
+.syntax .nv { color: #bb60d5 } /* Name.Variable */
+.syntax .ow { color: #007020; font-weight: bold } /* Operator.Word */
+.syntax .w { color: #bbbbbb } /* Text.Whitespace */
+.syntax .mf { color: #40a070 } /* Literal.Number.Float */
+.syntax .mh { color: #40a070 } /* Literal.Number.Hex */
+.syntax .mi { color: #40a070 } /* Literal.Number.Integer */
+.syntax .mo { color: #40a070 } /* Literal.Number.Oct */
+.syntax .sb { color: #4070a0 } /* Literal.String.Backtick */
+.syntax .sc { color: #4070a0 } /* Literal.String.Char */
+.syntax .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
+.syntax .s2 { color: #4070a0 } /* Literal.String.Double */
+.syntax .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
+.syntax .sh { color: #4070a0 } /* Literal.String.Heredoc */
+.syntax .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol 
*/
+.syntax .sx { color: #c65d09 } /* Literal.String.Other */
+.syntax .sr { color: #235388 } /* Literal.String.Regex */
+.syntax .s1 { color: #4070a0 } /* Literal.String.Single */
+.syntax .ss { color: #517918 } /* Literal.String.Symbol */
+.syntax .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.syntax .vc { color: #bb60d5 } /* Name.Variable.Class */
+.syntax .vg { color: #bb60d5 } /* Name.Variable.Global */
+.syntax .vi { color: #bb60d5 } /* Name.Variable.Instance */
+.syntax .il { color: #40a070 } /* Literal.Number.Integer.Long */
+
+
+/* don't highlight errors */
+.syntax .err {
+  border: none;
+}
+
+.syntax {
+  font-size: .9em;
+  font-family:Monaco,"Courier New","DejaVu Sans Mono","Bitstream Vera Sans 
Mono",monospace;
+  background-color: #F8F8FF;
+
+  overflow:auto;
+  -moz-background-clip:border;
+  -moz-background-inline-policy:continuous;
+  -moz-background-origin:padding;
+  margin: 1em 0 1em 0;
+  border:1px solid #DDDDDD;
+
+  border-top-left-radius: 8px; -webkit-border-top-left-radius: 8px; 
-moz-border-radius-topleft: 8px;
+  border-top-right-radius: 8px; -webkit-border-top-right-radius: 8px; 
-moz-border-radius-topright: 8px;
+  border-style: solid;  border-width: 1px; border-color: #dedede !important;
+  padding: 1em;
+}
+.syntax .linenodiv  {
+  background-color:#ECECEC;
+  border-right:1px solid #DDDDDD;
+  color:#AAAAAA;
+  padding: .5em;
+  text-align:right;
+}
+.syntax .highlight  {
+}
+.syntax pre {
+  margin:0;
+}
+
+pre.syntax {
+  padding: .5em;
+  background-color: #F8F8FF; overflow:auto;
+}
+
+.syntax code {
+  font-family:Monaco,"Courier New","DejaVu Sans Mono","Bitstream Vera Sans 
Mono",monospace;
+  font-size: 10pt;
+}
+
+div.compare { width: 700px; }
+div.compare div.compare-left { float:left; width:340px; padding:5px; 
margin-top: 15px; }
+div.compare div.compare-right { float:right; width:340px; padding:5px; 
margin-top: 15px; }
+div.compare div h3 {
+  margin-left: 15px;
+  padding: 5px 15px;
+  display: inline;
+  font-size: .8em;
+  color: #666;
+
+  border-top: 1px solid #ccc; -moz-border-top-colors: #ccc white white #e5e5e5;
+  border-left: 1px solid #ccc; -moz-border-left-colors: #ccc white white 
#e5e5e5;
+  border-right: 1px solid #ccc;-moz-border-right-colors: #ccc white white 
#e5e5e5;
+  border-top-left-radius: 8px; -webkit-border-top-left-radius: 8px;  
-moz-border-radius-topleft: 8px;
+  border-top-right-radius: 8px; -webkit-border-top-right-radius: 8px; 
-moz-border-radius-topright: 8px;
+}
+div.compare div div {
+  margin: 5px 0px 0px 0px;
+}
+.clear {
+  clear:both;
+}
+.wide div.compare div.compare-left { float:none; width:700px; }
+.wide div.compare div.compare-right { float:none; width:700px; }
+
+  </style>
+
+  <title>${title}</title>
+</head>
+<body>
+  <div id="titlepage">
+    <div id="title">Distillery Mgmt</div>
+  </div>
+  <div id="main">
+    <%= body %>
+  </div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/WEB-INF/web.xml 
b/extras/rya.manual/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..71398d6
--- /dev/null
+++ b/extras/rya.manual/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (C) 2009-2010 the original author or authors.
+    See the notice.md file distributed with this work for additional
+    information regarding copyright ownership.
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+       xmlns="http://java.sun.com/xml/ns/javaee"; 
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";
+       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";
+       version="2.5">
+
+  <display-name>MVM ALX Documentation</display-name>
+
+  <description>
+    MVM ALX Documentation
+  </description>
+
+  <filter>
+    <filter-name>TemplateEngineFilter</filter-name>
+    
<filter-class>org.fusesource.scalate.servlet.TemplateEngineFilter</filter-class>
+  </filter>
+  <filter-mapping>
+    <filter-name>TemplateEngineFilter</filter-name>
+    <url-pattern>/*</url-pattern>
+  </filter-mapping>
+
+  <welcome-file-list>
+    <welcome-file>index.conf</welcome-file>
+  </welcome-file-list>
+
+  <error-page>
+    <error-code>500</error-code>
+    <location>/WEB-INF/scalate/errors/500.scaml</location>
+  </error-page>
+</web-app>

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/_banner.ssp
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/_banner.ssp 
b/extras/rya.manual/src/main/webapp/_banner.ssp
new file mode 100644
index 0000000..7322e88
--- /dev/null
+++ b/extras/rya.manual/src/main/webapp/_banner.ssp
@@ -0,0 +1,8 @@
+      <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td align="left" class="topbardiv" nowrap="">
+        <img border="0" src="${uri("/images/logo2.png")}" width="400px" 
height="100px"></img>
+</a>
+          </td>
+        </tr>
+      </table>

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/_navigation.conf
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/_navigation.conf 
b/extras/rya.manual/src/main/webapp/_navigation.conf
new file mode 100644
index 0000000..6ab6ce8
--- /dev/null
+++ b/extras/rya.manual/src/main/webapp/_navigation.conf
@@ -0,0 +1,24 @@
+h3. [Home|index]
+
+h3. Rya
+- [Overview|./overview.html]
+- [Quick Start|./quickstart.html]
+- [Load Data|./loaddata.html]
+- [Query Data|./querydata.html]
+- [Evaluation Table|./eval.html]
+- [Pre-computed Joins|./loadPrecomputedJoin.html]
+- [Inferencing|./infer.html]
+
+h3. Samples
+- [Typical First Steps|./sm-firststeps.html]
+- [Simple Add/Query/Remove Statements|./sm-simpleaqr.html]
+- [Sparql query|./sm-sparqlquery.html]
+- [Adding Authentication|./sm-addauth.html]
+- [Inferencing|./sm-infer.html]
+- [Named Graph|./sm-namedgraph.html]
+- [Update data|./sm-updatedata.html]
+- [Alx|./alx.html]
+
+h3. Development
+- [Building From Source|./build-source.html]
+- [LTS Maven Settings XML|./maven-settings.html]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/_quicklinks.ssp
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/_quicklinks.ssp 
b/extras/rya.manual/src/main/webapp/_quicklinks.ssp
new file mode 100644
index 0000000..c9b8966
--- /dev/null
+++ b/extras/rya.manual/src/main/webapp/_quicklinks.ssp
@@ -0,0 +1,5 @@
+<p>
+<a href="${uri("/index.html")}" title="Home">Home</a>
+&#124;
+</p>
+

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/alx.conf
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/alx.conf 
b/extras/rya.manual/src/main/webapp/alx.conf
new file mode 100644
index 0000000..e9d7875
--- /dev/null
+++ b/extras/rya.manual/src/main/webapp/alx.conf
@@ -0,0 +1,59 @@
+h1. Alx Rya Integration
+
+Alx is a modular framework for developing applications. Rya has mechanisms to 
integrate directly into Alx to provide other modules access to queries.
+
+Currently, the Alx Rya extension only allows interacting with an Accumulo 
store.
+
+h2. Prerequisites
+
+- Alx 1.0.5+ (we will refer to it at the ALX_HOME directory from now on)
+- alx.rya features xml (can be found in maven at 
mvn:mvm.rya/alx.rya/<version>/xml/features)
+
+h2. Steps
+
+1. Start up Alx
+2. features:addurl alx.rya features xml
+3. features:install alx.rya
+4. (optional) features:install alx.rya.console
+
+That's it. To make sure, run {{ls <alx.rya bundle id>}} and make sure 
something like this pops up:
+{code}
+mvm.rya.alx.rya (99) provides:
+------------------------------
+Bundle-SymbolicName = mvm.rya.alx.rya
+Bundle-Version = 3.0.4.SNAPSHOT
+objectClass = org.osgi.service.cm.ManagedService
+service.id = 226
+service.pid = mvm.rya.alx
+----
+...
+{code}
+
+h2. Using
+
+The bundle registers a Sail Repository, so you can interact with it directly 
as in the other code examples. Here is a quick groovy example of the usage:
+{code}
+import org.springframework.osgi.extensions.annotation.*;
+import org.openrdf.repository.*;
+import org.openrdf.model.ValueFactory;
+import static mvm.rya.api.RdfCloudTripleStoreConstants.*;
+
+class TstRepo {
+
+       @ServiceReference
+       public void setRepo(Repository repo) {
+               println repo
+               RepositoryConnection conn = repo.getConnection();
+               ValueFactory vf = VALUE_FACTORY;
+        def statements = 
conn.getStatements(vf.createURI("http://www.Department0.University0.edu";), 
null, null, true);
+        while(statements.hasNext()) {
+            System.out.println(statements.next());
+        }
+        statements.close();
+        conn.close();
+       }
+
+}
+{code}
+
+The bundle also registers a RyaDAO, so you can interact with the RyaDAO 
interface directly
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/build-source.conf
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/build-source.conf 
b/extras/rya.manual/src/main/webapp/build-source.conf
new file mode 100644
index 0000000..49f9a4a
--- /dev/null
+++ b/extras/rya.manual/src/main/webapp/build-source.conf
@@ -0,0 +1,19 @@
+h1. Building from Source
+
+h2. Prerequisites
+
+* Rya code
+* Maven 2.2 +
+
+h2. Building
+
+Using Git, pull down the latest code from the url above.
+
+Run the command to build the code {{mvn clean install}}
+
+If all goes well, here are the artifacts that you will be interested in:
+* Rya-WAR : web/web-rya/target/web.rya.war
+
+h3. Cloudbase
+
+To build cloudbase projects, run with the 'cloudbase' profile: {{mvn clean 
install -Pcloudbase}}

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/css/pygmentize.css
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/css/pygmentize.css 
b/extras/rya.manual/src/main/webapp/css/pygmentize.css
new file mode 100644
index 0000000..80efdcd
--- /dev/null
+++ b/extras/rya.manual/src/main/webapp/css/pygmentize.css
@@ -0,0 +1,134 @@
+.syntax .hll { background-color: #ffffcc }
+.syntax  { background: #f0f0f0; }
+.syntax .c { color: #60a0b0; font-style: italic } /* Comment */
+.syntax .err { border: 1px solid #FF0000 } /* Error */
+.syntax .k { color: #007020; font-weight: bold } /* Keyword */
+.syntax .o { color: #666666 } /* Operator */
+.syntax .cm { color: #60a0b0; font-style: italic } /* Comment.Multiline */
+.syntax .cp { color: #007020 } /* Comment.Preproc */
+.syntax .c1 { color: #60a0b0; font-style: italic } /* Comment.Single */
+.syntax .cs { color: #60a0b0; background-color: #fff0f0 } /* Comment.Special */
+.syntax .gd { color: #A00000 } /* Generic.Deleted */
+.syntax .ge { font-style: italic } /* Generic.Emph */
+.syntax .gr { color: #FF0000 } /* Generic.Error */
+.syntax .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.syntax .gi { color: #00A000 } /* Generic.Inserted */
+.syntax .go { color: #808080 } /* Generic.Output */
+.syntax .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.syntax .gs { font-weight: bold } /* Generic.Strong */
+.syntax .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.syntax .gt { color: #0040D0 } /* Generic.Traceback */
+.syntax .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
+.syntax .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
+.syntax .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
+.syntax .kp { color: #007020 } /* Keyword.Pseudo */
+.syntax .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
+.syntax .kt { color: #902000 } /* Keyword.Type */
+.syntax .m { color: #40a070 } /* Literal.Number */
+.syntax .s { color: #4070a0 } /* Literal.String */
+.syntax .na { color: #4070a0 } /* Name.Attribute */
+.syntax .nb { color: #007020 } /* Name.Builtin */
+.syntax .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
+.syntax .no { color: #60add5 } /* Name.Constant */
+.syntax .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.syntax .ni { color: #d55537; font-weight: bold } /* Name.Entity */
+.syntax .ne { color: #007020 } /* Name.Exception */
+.syntax .nf { color: #06287e } /* Name.Function */
+.syntax .nl { color: #002070; font-weight: bold } /* Name.Label */
+.syntax .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.syntax .nt { color: #062873; font-weight: bold } /* Name.Tag */
+.syntax .nv { color: #bb60d5 } /* Name.Variable */
+.syntax .ow { color: #007020; font-weight: bold } /* Operator.Word */
+.syntax .w { color: #bbbbbb } /* Text.Whitespace */
+.syntax .mf { color: #40a070 } /* Literal.Number.Float */
+.syntax .mh { color: #40a070 } /* Literal.Number.Hex */
+.syntax .mi { color: #40a070 } /* Literal.Number.Integer */
+.syntax .mo { color: #40a070 } /* Literal.Number.Oct */
+.syntax .sb { color: #4070a0 } /* Literal.String.Backtick */
+.syntax .sc { color: #4070a0 } /* Literal.String.Char */
+.syntax .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
+.syntax .s2 { color: #4070a0 } /* Literal.String.Double */
+.syntax .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
+.syntax .sh { color: #4070a0 } /* Literal.String.Heredoc */
+.syntax .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol 
*/
+.syntax .sx { color: #c65d09 } /* Literal.String.Other */
+.syntax .sr { color: #235388 } /* Literal.String.Regex */
+.syntax .s1 { color: #4070a0 } /* Literal.String.Single */
+.syntax .ss { color: #517918 } /* Literal.String.Symbol */
+.syntax .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.syntax .vc { color: #bb60d5 } /* Name.Variable.Class */
+.syntax .vg { color: #bb60d5 } /* Name.Variable.Global */
+.syntax .vi { color: #bb60d5 } /* Name.Variable.Instance */
+.syntax .il { color: #40a070 } /* Literal.Number.Integer.Long */
+
+
+/* don't highlight errors */
+.syntax .err {
+  border: none;
+}
+
+.syntax {
+  font-size: .9em;
+  font-family:Monaco,"Courier New","DejaVu Sans Mono","Bitstream Vera Sans 
Mono",monospace;
+  background-color: #F8F8FF; 
+  
+  overflow:auto;
+  -moz-background-clip:border;
+  -moz-background-inline-policy:continuous;
+  -moz-background-origin:padding;
+  margin: 1em 0 1em 0;
+  border:1px solid #DDDDDD;
+  
+  border-top-left-radius: 8px; -webkit-border-top-left-radius: 8px; 
-moz-border-radius-topleft: 8px;  
+  border-top-right-radius: 8px; -webkit-border-top-right-radius: 8px; 
-moz-border-radius-topright: 8px;
+  border-style: solid;  border-width: 1px; border-color: #dedede !important; 
+  padding: 1em;
+}
+.syntax .linenodiv  {
+  background-color:#ECECEC;
+  border-right:1px solid #DDDDDD;
+  color:#AAAAAA;
+  padding: .5em;
+  text-align:right;
+}
+.syntax .highlight  {
+}
+.syntax pre {
+  margin:0;
+}
+
+pre.syntax {
+  padding: .5em;
+  background-color: #F8F8FF; overflow:auto;
+}
+
+.syntax code {
+  font-family:Monaco,"Courier New","DejaVu Sans Mono","Bitstream Vera Sans 
Mono",monospace;
+  font-size: 10pt;
+}
+
+div.compare { width: 700px; }
+div.compare div.compare-left { float:left; width:340px; padding:5px; 
margin-top: 15px; }
+div.compare div.compare-right { float:right; width:340px; padding:5px; 
margin-top: 15px; }
+div.compare div h3 {
+  margin-left: 15px;
+  padding: 5px 15px;
+  display: inline;
+  font-size: .8em;
+  color: #666;
+
+  border-top: 1px solid #ccc; -moz-border-top-colors: #ccc white white #e5e5e5;
+  border-left: 1px solid #ccc; -moz-border-left-colors: #ccc white white 
#e5e5e5;
+  border-right: 1px solid #ccc;-moz-border-right-colors: #ccc white white 
#e5e5e5;
+  border-top-left-radius: 8px; -webkit-border-top-left-radius: 8px;  
-moz-border-radius-topleft: 8px;
+  border-top-right-radius: 8px; -webkit-border-top-right-radius: 8px; 
-moz-border-radius-topright: 8px; 
+}
+div.compare div div {
+  margin: 5px 0px 0px 0px;
+}
+.clear {
+  clear:both;
+}
+.wide div.compare div.compare-left { float:none; width:700px; }
+.wide div.compare div.compare-right { float:none; width:700px; }
+

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/css/scalate/console.css
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/css/scalate/console.css 
b/extras/rya.manual/src/main/webapp/css/scalate/console.css
new file mode 100644
index 0000000..4b2dfe7
--- /dev/null
+++ b/extras/rya.manual/src/main/webapp/css/scalate/console.css
@@ -0,0 +1,71 @@
+/**
+ * Copyright (C) 2009-2010 the original author or authors.
+ * See the notice.md file distributed with this work for additional
+ * information regarding copyright ownership.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#scalate-console {
+  position:fixed;
+  top:40px;
+  right:10px;
+  background: #FDFCAD;
+  padding:10px;
+  border: 1px solid #BDBD81;
+  font-family:Arial,Verdana,Helvetica,sans-serif;
+  font-size: 80%;
+  max-width: 400px;
+}
+
+#scalate-console .archetypes ul, #scalate-console .templates ul, 
#scalate-console .resources ul, #scalate-console .layouts ul   {
+  padding-left:20px;
+  overflow: auto;
+}
+
+#scalate-console .toggle {
+  text-align: right;
+}
+
+#scalate-console .toggle img {
+  vertical-align: middle;
+}
+
+#scalate-console div.attributes {
+  margin: 10px;
+  overflow: auto;
+  background: white;
+}
+
+#scalate-console div.attributes table th {
+  text-align: left;
+  color: #993333;
+}
+#scalate-console div.attributes table td {
+  padding:2px;
+  border-top: 1px solid #BDBD81;
+}
+
+#scalate-console div.body {
+  margin: 10px;
+  overflow: auto;
+  max-height: 300px;
+  background: white;
+}
+
+#scalate-console div.systemProperties {
+  margin: 10px;
+  overflow: auto;
+  max-height: 300px;
+  background: white;
+}

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/css/style.css
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/css/style.css 
b/extras/rya.manual/src/main/webapp/css/style.css
new file mode 100644
index 0000000..496901e
--- /dev/null
+++ b/extras/rya.manual/src/main/webapp/css/style.css
@@ -0,0 +1,1588 @@
+/**
+ * Copyright (C) 2009-2010 the original author or authors.
+ * See the notice.md file distributed with this work for additional
+ * information regarding copyright ownership.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+body {
+  margin: 0;
+  padding: 0;
+}
+
+#cell-0-0 { background: white url( '../images/bg02-white-left-nogr.png' ) 
repeat-y right top; }
+#cell-0-1 { height: 1em; width: 85%; }
+#cell-0-2 { background: transparent url( '../images/bg02-white-right-nogr.png' 
) repeat-y left top; }
+#cell-1-0 { background: transparent url( '../images/bg.png' ) repeat-x top; }
+#cell-1-1 { background: transparent url( '../images/bg02-blue-left.png' ) 
no-repeat right top; width:13px; }
+#cell-1-2 { background: transparent url( '../images/bg.png' ) repeat-x top; 
width:85%; }
+#banner { height: 80px; }
+#cell-1-3 { background: transparent url( '../images/bg02-blue-right.png' ) 
no-repeat left top; width:13px; }
+#cell-1-4 { background: transparent url( '../images/bg.png' ) repeat-x top; }
+#cell-2-0 { background: white url( '../images/bg02-white-left-nogr.png' ) 
repeat-y right top; }
+#cell-2-1 { height: 1em; width: 85%; }
+#cell-2-2 { background: white url( '../images/bg02-white-right-nogr.png' ) 
repeat-y left top; }
+#cell-3-0 { background: transparent url( '../images/bg.png' ) repeat-x top; }
+#cell-3-1 { background: transparent url( '../images/bg02-blue-left.png' ) 
no-repeat right top; width:13px; }
+#cell-3-2 { background: transparent url( '../images/bg.png' ) repeat-x top; 
width:85%; }
+#cell-3-3 { background: transparent url( '../images/bg02-blue-right.png' ) 
no-repeat left top; width:13px; }
+#cell-3-4 { background: transparent url( '../images/bg.png' ) repeat-x top; }
+#cell-4-0 { background: white url( '../images/bg02-white-left-nogr.png' ) 
repeat-y right top; }
+#cell-4-1 { height: 1em; width: 85%; }
+#cell-4-2 { background: transparent url( '../images/bg02-white-right-nogr.png' 
) repeat-y left top; }
+
+#banner {
+  margin: 0px 20px;
+  padding: 0px 50px 0px 50px;
+  font-size: 200%;
+  text-align: center;
+  background: transparent;
+}
+#top-menu {
+  margin: 0px 25px;
+  padding: 2px;
+  line-height: 100%;
+  font-family: Verdana, arial, sans-serif;
+  font-weight: bold;
+  font-size: 11px;
+  color: white;
+  line-height: 13px;
+  overflow: none;
+}
+#top-menu a:link, #top-menu a:visited {
+  color: #ffffff;
+  text-decoration: none;
+}
+#top-menu a:active, #top-menu a:hover {
+  color: #5b8fbe;
+  text-decoration: underline;
+}
+#top-menu sup img {
+  height: 0px;
+  width: 0px;
+}
+
+#footer {
+  padding: 0px 50px 0px 50px;
+  min-height: 0em;
+  text-align: center;
+  color: white;
+  font-size: 65%;
+  font-family: Verdana, arial, sans-serif;
+}
+#site-footer {
+  margin: 5px;
+}
+#footer a:link, #footer a:visited {
+  color: white;
+  text-decoration: none;
+}
+#footer a:hover {
+  color: white;
+  text-decoration: underline;
+}
+
+#wrapper-menu-page-right {
+  background: transparent url( '../images/left-box-right.png' ) repeat-y right;
+}
+
+#wrapper-menu-page-bottom {
+  background: transparent url( '../images/left-box-bottom.png' ) no-repeat 
right bottom;
+}
+
+#wrapper-menu-page-top {
+  background: transparent url( '../images/left-box-top.png' ) no-repeat right 
top;
+}
+
+#menu-page {
+  width: 200px;
+  color: #5b8fbe;
+  font-family: Verdana, arial, sans-serif;
+  font-weight: bold;
+  margin: 0px;
+  padding: 17px 11px 17px 0px;
+  text-align: left;
+  margin-left: 0px;
+  line-height: 1em;
+}
+
+#menu-page ul {
+  margin: 0;
+  padding: 0;
+  padding-left: 35px;
+  font-size: 75%;
+}
+
+#menu-page h3 {
+  font-size: 75%;
+  text-transform: uppercase;
+  margin: 1em 0 0.3em 0;
+  color: #5b8fbe;
+  font-weight: normal;
+  letter-spacing: 0.15em;
+  background: url('../images/big-bullet.png') no-repeat 0pt;
+  background-position:left center;
+  margin-left:15px;
+  padding-left: 20px;
+  font-family: Verdana, arial, sans-serif;
+  font-weight: bold;
+}
+
+#menu-page a:link, #menu-page a:visited {
+  color: black;
+}
+
+#menu-page a:hover {
+  color: #5b8fbe;
+}
+
+#content {
+  padding: 20px 0px 0px 0px;
+  display: block;
+  text-align: left;
+  height: 100%;
+  width: 100%;
+  color: black;
+}
+
+h2 {
+  font-size: 110%;
+}
+
+h3 {
+  font-size: 100%;
+}
+
+a:link, a:visited {
+  color: #5b8fbe;
+  text-decoration: none;
+}
+
+a:hover {
+  color: #666;
+  text-decoration: none;
+}
+
+
+table.align {
+  padding: 0px;
+  border: none;
+}
+
+td.align {
+  padding: 0px;
+  border: none;
+}
+
+/*********************************************************************
+ CSS Elements that are part of the confluence rendered xhtml
+ *********************************************************************/
+.wiki-content {
+       font-family: Verdana, arial, sans-serif;
+       font-size: 11px;
+       line-height: 16px;
+       color: #000000;
+       font-weight: normal;
+       padding-top: 10px;
+       padding-bottom: 10px;
+}
+
+/*
+** when this stylesheet is used for the Tiny MCE Wysiwyg editor's edit area, 
we can't
+** use an id=PageContent or class=wiki-content, so we must
+** set the body style to that used for PageContent, and p to that used for 
wiki-content.
+*/
+
+.monospaceInput {
+    font:12px monospace
+}
+
+.wiki-content p, .commentblock p {
+    margin: 16px 0px 16px 0px;
+    padding: 0px;
+}
+
+.wiki-content-preview {
+    padding: 5px;
+    border-left: 1px solid #3c78b5;
+    border-right: 1px solid #3c78b5;
+}
+
+ul, ol {
+    margin-top: 2px;
+    margin-bottom: 2px;
+    padding-top: 0px;
+    padding-bottom: 0px;
+}
+
+pre {
+    padding: 0px;
+    margin-top: 5px;
+    margin-left: 15px;
+    margin-bottom: 5px;
+    margin-right: 5px;
+    text-align: left;
+}
+
+.helpheading {
+    font-weight: bold;
+    background-color: #D0D9BD;
+        border-bottom: 1px solid #3c78b5;
+        padding: 4px 4px 4px 4px;
+        margin: 0px;
+        margin-top: 10px;
+}
+.helpcontent {
+        padding: 4px 4px 20px 4px;
+    background-color: #f5f7f1;
+}
+
+.code {
+       border: 1px dashed #3c78b5;
+    font-size: 11px;
+       font-family: Courier;
+    margin: 10px;
+       line-height: 13px;
+}
+
+.focusedComment {
+    background: #ffffce;
+}
+
+.commentBox, .focusedComment {
+    padding: 10px;
+    margin: 5px 0 5px 0;
+    border: 1px #bbb solid;
+}
+
+.codeHeader {
+    background-color: #f0f0f0;
+       border-bottom: 1px dashed #3c78b5;
+    padding: 3px;
+       text-align: center;
+}
+
+.codeContent {
+    text-align: left;
+    background-color: #f0f0f0;
+    padding: 3px;
+}
+
+.preformatted {
+       border: 1px dashed #3c78b5;
+    font-size: 11px;
+       font-family: Courier;
+    margin: 10px;
+       line-height: 13px;
+}
+
+.preformattedHeader {
+    background-color: #f0f0f0;
+       border-bottom: 1px dashed #3c78b5;
+    padding: 3px;
+       text-align: center;
+}
+
+.preformattedContent {
+    background-color: #f0f0f0;
+    padding: 3px;
+}
+
+.panel {
+       border: 1px dashed #3c78b5;
+    margin: 10px;
+    margin-top: 0px;
+}
+
+.panelHeader {
+    background-color: #f0f0f0;
+       border-bottom: 1px dashed #3c78b5;
+    padding: 3px;
+       text-align: center;
+}
+
+.panelContent {
+    background-color: #f0f0f0;
+    padding: 5px;
+}
+
+.anonymousAlert {
+    background-color: #f0f0f0;
+       border: 1px dashed red;
+    font-size: 11px;
+    padding: 10px 5px 10px 5px;
+    margin: 4px;
+       line-height: 13px;
+}
+
+.lockAlert {
+    background-color: #f0f0f0;
+    width: 50%;
+       border: 1px dashed red;
+    font-size: 11px;
+    padding: 10px 5px 10px 5px;
+    margin: 4px;
+       line-height: 13px;
+}
+
+
+.code-keyword {
+  color: #000091;
+  background-color: inherit;
+}
+
+.code-object {
+  color: #910091;
+  background-color: inherit;
+}
+
+.code-quote {
+  color: #009100;
+  background-color: inherit;
+}
+
+.code-comment {
+  color: #808080;
+  background-color: inherit;
+}
+
+
+.code-xml .code-keyword {
+  color: inherit;
+  font-weight: bold;
+}
+
+.code-tag {
+  color: #000091;
+  background-color: inherit;
+}
+
+.breadcrumbs {
+    background-color: #f0f0f0;
+       border-color: #3c78b5;
+       border-width: 1px 0px 1px 0px;
+       border-style: solid;
+    font-size: 11px;
+    padding: 3px 0px 3px 0px;
+}
+
+.navmenu {
+    border: 1px solid #ccc;
+}
+
+.menuheading {
+    font-weight: bold;
+    background-color: #f0f0f0;
+       border-bottom: 1px solid #3c78b5;
+       padding: 4px 4px 2px 4px;
+}
+
+.menuitems {
+       padding: 4px 4px 20px 4px;
+}
+
+.rightpanel {
+    border-left: 1px solid #ccc;
+    border-bottom: 1px solid #ccc;
+}
+
+#helpheading {
+    text-align: left;
+    font-weight: bold;
+    background-color: #D0D9BD;
+       border-bottom: 1px solid #3c78b5;
+       padding: 4px 4px 4px 4px;
+       margin: 0px;
+}
+#helpcontent {
+       padding: 4px 4px 4px 4px;
+    background-color: #f5f7f1;
+}
+.helptab-unselected {
+    font-weight: bold;
+       padding: 5px;
+    background-color: #f5f7f1;
+}
+.helptab-selected {
+    font-weight: bold;
+    background-color: #D0D9BD;
+       padding: 5px;
+}
+.helptabs {
+    margin: 0px;
+    background-color: #f5f7f1;
+       padding: 5px;
+}
+.infopanel-heading {
+    font-weight: bold;
+       padding: 4px 0px 2px 0px;
+}
+
+.pagebody {
+}
+
+.pageheader {
+       padding: 5px 5px 5px 0px;
+       border-bottom: 1px solid #3c78b5;
+}
+
+.steptitle {
+       font-size: 18px;
+       font-weight: bold;
+       font-family: Arial, sans-serif;
+       color: #003366;
+       margin-bottom: 7px;
+}
+
+.substeptitle {
+    font-size: 12px;
+    font-weight: bold;
+    font-family: Arial, sans-serif;
+    color: #003366;
+    margin: 2px 4px 4px 4px;
+    padding: 2px 4px 1px 4px;
+}
+
+.stepdesc {
+    font-family: Verdana, arial, sans-serif;
+       font-size: 11px;
+       line-height: 16px;
+       font-weight: normal;
+    color: #666666;
+    margin-top: 7px;
+    margin-bottom: 7px;
+}
+
+.steplabel {
+    font-weight: bold;
+    margin-right: 4px;
+    color: black;
+    float: left;
+    width: 15%;
+    text-align: right;
+}
+
+.stepfield {
+    background: #f0f0f0;
+    padding: 5px;
+}
+
+.submitButtons{
+    margin-top:5px;
+    text-align:right;
+}
+
+.formtitle {
+       font-size: 12px;
+       font-weight: bold;
+       font-family: Arial, sans-serif;
+       color: #003366;
+}
+
+.sectionbottom {
+    border-bottom: 1px solid #3c78b5;
+}
+
+.topRow {
+    border-top: 2px solid #3c78b5;
+}
+
+.tabletitle {
+       font-size: 14px;
+       font-weight: bold;
+       font-family: Arial, sans-serif;
+    padding: 3px 0px 2px 0px;
+    margin: 8px 4px 2px 0px;
+       color: #003366;
+       border-bottom: 2px solid #3c78b5;
+}
+.pagesubheading {
+    color: #666666;
+    font-size: 10px;
+    padding: 0px 0px 5px 0px;
+}
+
+HR {
+       color: 3c78b5;
+       height: 1;
+}
+
+A:link, A:visited, A:active, A:hover {
+  color: #5b8fbe;
+}
+
+A:hover {
+  text-decoration: underline;
+}
+
+h1 A:link, h1 A:visited, h1 A:active {
+       text-decoration: none;
+}
+
+h1 A:hover {
+    border-bottom: 1px dotted #003366;
+}
+
+.wiki-content > :first-child, .commentblock > :first-child {
+    margin-top: 3px;
+}
+
+.logocell {
+    padding: 10px;
+}
+
+input {
+       font-family: verdana, geneva, arial, sans-serif;
+       font-size: 11px;
+       color: #000000;
+}
+
+textarea, textarea.editor {
+       font-family: verdana, geneva, arial, sans-serif;
+       font-size: 11px;
+       color: #333333;
+}
+
+/* use logoSpaceLink instead.
+.spacenametitle {
+       font: 21px/31px Impact, Arial, Helvetica;
+    font-weight: 100;
+    color: #999999;
+       margin: 0px;
+}
+.spacenametitle img {
+  margin: 0 0 -4px 0;
+}
+.spacenametitle a {
+    text-decoration: none;
+    color: #999999;
+}
+.spacenametitle a:visited {
+    text-decoration: none;
+    color: #999999;
+}*/
+
+.spacenametitle-printable {
+       font: 20px/25px Impact, Arial, Helvetica;
+    font-weight: 100;
+    color: #999999;
+       margin: 0px;
+}
+.spacenametitle-printable a {
+    text-decoration: none;
+    color: #999999;
+}
+.spacenametitle-printable a:visited {
+    text-decoration: none;
+    color: #999999;
+}
+
+.blogDate {
+       font-weight: bold;
+       text-decoration: none;
+       color: black;
+}
+
+.blogSurtitle {
+    background: #f0f0f0;
+       border: 1px solid #ddd;
+       padding: 3px;
+       margin: 1px 1px 10px 1px;
+}
+
+.blogHeading {
+    font-size: 20px;
+    line-height: normal;
+    font-weight: bold;
+    padding: 0px;
+    margin: 0px;
+}
+
+.blogHeading a {
+   text-decoration: none;
+   color: black;
+}
+
+.endsection {
+       align: right;
+       color: #666666;
+       margin-top: 10px;
+}
+.endsectionleftnav {
+       align: right;
+       color: #666666;
+       margin-top: 10px;
+}
+
+h1 {
+       font-size: 24px;
+       line-height: normal;
+       font-weight: bold;
+       background-color: #f0f0f0;
+       color: #003366;
+       border-bottom: 1px solid #3c78b5;
+       padding: 2px;
+       margin: 36px 0px 4px 0px;
+}
+
+h2 {
+       font-size: 18px;
+       line-height: normal;
+       font-weight: bold;
+       background-color: #f0f0f0;
+       border-bottom: 1px solid #3c78b5;
+       padding: 2px;
+       margin: 27px 0px 4px 0px;
+}
+
+h3 {
+       font-size: 14px;
+       line-height: normal;
+       font-weight: bold;
+       background-color: #f0f0f0;
+       padding: 2px;
+       margin: 21px 0px 4px 0px;
+}
+
+h4 {
+       font-size: 12px;
+       line-height: normal;
+       font-weight: bold;
+       background-color: #f0f0f0;
+       padding: 2px;
+       margin: 18px 0px 4px 0px;
+}
+
+h4.search {
+       font-size: 12px;
+       line-height: normal;
+       font-weight: normal;
+       background-color: #f0f0f0;
+       padding: 4px;
+       margin: 18px 0px 4px 0px;
+}
+
+h5 {
+       font-size: 10px;
+       line-height: normal;
+       font-weight: bold;
+       background-color: #f0f0f0;
+       padding: 2px;
+       margin: 14px 0px 4px 0px;
+}
+
+h6 {
+       font-size: 8px;
+       line-height: normal;
+       font-weight: bold;
+       background-color: #f0f0f0;
+       padding: 2px;
+       margin: 14px 0px 4px 0px;
+}
+
+.smallfont {
+    font-size: 10px;
+}
+.descfont {
+    font-size: 10px;
+    color: #666666;
+}
+.smallerfont {
+    font-size: 9px;
+}
+.smalltext {
+    color: #666666;
+    font-size: 10px;
+}
+.smalltext a {
+    color: #666666;
+}
+.smalltext-blue {
+    color: #3c78b5;
+    font-size: 10px;
+}
+.surtitle {
+    margin-left: 1px;
+    margin-bottom: 5px;
+    font-size: 14px;
+    color: #666666;
+}
+
+/* css hack found here:  
http://www.fo3nix.pwp.blueyonder.co.uk/tutorials/css/hacks/ */
+.navItemOver { font-size: 10px; font-weight: bold; color: #ffffff; 
background-color: #003366; cursor: hand; voice-family: '\'}\''; 
voice-family:inherit; cursor: pointer;}
+.navItemOver a { color: #ffffff; background-color:#003366; text-decoration: 
none; }
+.navItemOver a:visited { color: #ffffff; background-color:#003366; 
text-decoration: none; }
+.navItemOver a:hover { color: #ffffff; background-color:#003366; 
text-decoration: none; }
+.navItem { font-size: 10px; font-weight: bold; color: #ffffff; 
background-color: #3c78b5; }
+.navItem a { color: #ffffff; text-decoration: none; }
+.navItem a:hover { color: #ffffff; text-decoration: none; }
+.navItem a:visited { color: #ffffff; text-decoration: none; }
+
+div.padded { padding: 4px; }
+div.thickPadded { padding: 10px; }
+h3.macrolibrariestitle {
+    margin: 0px 0px 0px 0px;
+}
+
+div.centered { text-align: center; margin: 10px; }
+div.centered table {margin: 0px auto; text-align: left; }
+
+.tableview table {
+    margin: 0;
+}
+
+.tableview th {
+    text-align: left;
+    color: #003366;
+    font-size: 12px;
+    padding: 5px 0px 0px 5px;
+    border-bottom: 2px solid #3c78b5;
+}
+.tableview td {
+    text-align: left;
+    border-color: #ccc;
+    border-width: 0px 0px 1px 0px;
+    border-style: solid;
+    margin: 0;
+    padding: 4px 10px 4px 5px;
+}
+
+.grid {
+    margin: 2px 0px 5px 0px;
+    border-collapse: collapse;
+}
+.grid th  {
+    border: 1px solid #ccc;
+    padding: 2px 4px 2px 4px;
+    background: #f0f0f0;
+    text-align: center;
+}
+.grid td  {
+    border: 1px solid #ccc;
+    padding: 3px 4px 3px 4px;
+}
+.gridHover {
+       background-color: #f9f9f9;
+}
+
+td.infocell {
+    background-color: #f0f0f0;
+}
+.label {
+       font-weight: bold;
+       color: #003366;
+}
+.error {
+       background-color: #fcc;
+}
+
+.errorBox {
+       background-color: #fcc;
+    border: 1px solid #c00;
+    padding: 5px;
+    margin: 5px;
+}
+
+.errorMessage {
+       color: #c00;
+}
+
+.success {
+       background-color: #dfd;
+}
+
+.successBox {
+       background-color: #dfd;
+    border: 1px solid #090;
+    padding: 5px;
+    margin-top:5px;
+    margin-bottom:5px;
+}
+
+blockquote {
+       padding-left: 10px;
+       padding-right: 10px;
+       margin-left: 5px;
+       margin-right: 0px;
+       border-left: 1px solid #3c78b5;
+}
+
+table.confluenceTable
+{
+    margin: 5px;
+    border-collapse: collapse;
+}
+
+/* Added as a temporary fix for CONF-4223. The table elements appear to be 
inheriting the border: none attribute from the sectionMacro class */
+table.confluenceTable td.confluenceTd
+{
+    border-width: 1px;
+    border-style: solid;
+    border-color: #ccc;
+    padding: 3px 4px 3px 4px;
+}
+
+/* Added as a temporary fix for CONF-4223. The table elements appear to be 
inheriting the border: none attribute from the sectionMacro class */
+table.confluenceTable th.confluenceTh
+{
+    border-width: 1px;
+    border-style: solid;
+    border-color: #ccc;
+    padding: 3px 4px 3px 4px;
+    background-color: #f0f0f0;
+    text-align: center;
+}
+
+td.confluenceTd
+{
+    border-width: 1px;
+    border-style: solid;
+    border-color: #ccc;
+    padding: 3px 4px 3px 4px;
+}
+
+th.confluenceTh
+{
+    border-width: 1px;
+    border-style: solid;
+    border-color: #ccc;
+    padding: 3px 4px 3px 4px;
+    background-color: #f0f0f0;
+    text-align: center;
+}
+
+DIV.small {
+       font-size: 9px;
+}
+
+H1.pagename {
+       margin-top: 0px;
+}
+
+IMG.inline  {}
+
+.loginform {
+    margin: 5px;
+    border: 1px solid #ccc;
+}
+
+/* The text how the "This is a preview" comment should be shown. */
+.previewnote { text-align: center;
+                font-size: 11px;
+                    color: red; }
+
+/* How the preview content should be shown */
+.previewcontent { background: #E0E0E0; }
+
+/* How the system messages should be shown (DisplayMessage.jsp) */
+.messagecontent { background: #E0E0E0; }
+
+/* How the "This page has been modified..." -comment should be shown. */
+.conflictnote { }
+
+.createlink {
+    color: maroon;
+}
+a.createlink {
+    color: maroon;
+}
+.templateparameter {
+    font-size: 9px;
+    color: darkblue;
+}
+
+.diffadded {
+    background: #ddffdd;
+    padding: 1px 1px 1px 4px;
+       border-left: 4px solid darkgreen;
+}
+.diffdeleted {
+    color: #999;
+    background: #ffdddd;
+    padding: 1px 1px 1px 4px;
+       border-left: 4px solid darkred;
+}
+.diffnochange {
+    padding: 1px 1px 1px 4px;
+       border-left: 4px solid lightgrey;
+}
+.differror {
+    background: brown;
+}
+.diff {
+    font-family: lucida console, courier new, fixed-width;
+       font-size: 12px;
+       line-height: 14px;
+}
+.diffaddedchars {
+    background-color:#99ff99;
+    font-weight:bolder;
+}
+.diffremovedchars {
+    background-color:#ff9999;
+    text-decoration: line-through;
+    font-weight:bolder;
+}
+
+.greybackground {
+    background: #f0f0f0
+}
+
+.greybox {
+       border: 1px solid #ddd;
+       padding: 3px;
+       margin: 1px 1px 10px 1px;
+}
+
+.borderedGreyBox {
+    border: 1px solid #cccccc;
+    background-color: #f0f0f0;
+    padding: 10px;
+}
+
+.greyboxfilled {
+       border: 1px solid #ddd;
+       padding: 5px;
+       margin: 10px 1px 10px 1px;
+       background: #f0f0f0;
+}
+
+.navBackgroundBox {
+    padding: 5px 5px 5px 5px;
+    font-size: 22px;
+       font-weight: bold;
+       font-family: Arial, sans-serif;
+       color: white;
+    background: #3c78b5;
+    text-decoration: none;
+}
+
+.previewBoxTop {
+       background-color: #f0f0f0;
+    border-width: 1px 1px 0px 1px;
+    border-style: solid;
+    border-color: #3c78b5;
+    padding: 5px;
+    margin: 5px 0px 0px 0px;
+    text-align: center;
+}
+.previewContent {
+    background-color: #fff;
+       border-color: #3c78b5;
+       border-width: 0px 1px 0px 1px;
+       border-style: solid;
+       padding: 10px;
+       margin: 0px;
+}
+.previewBoxBottom {
+       background-color: #f0f0f0;
+    border-width: 0px 1px 1px 1px;
+    border-style: solid;
+    border-color: #3c78b5;
+    padding: 5px;
+    margin: 0px 0px 5px 0px;
+    text-align: center;
+}
+
+.functionbox {
+    background-color: #f0f0f0;
+       border: 1px solid #3c78b5;
+       padding: 3px;
+       margin: 1px 1px 10px 1px;
+}
+
+.functionbox-greyborder {
+    background-color: #f0f0f0;
+       border: 1px solid #ddd;
+       padding: 3px;
+       margin: 1px 1px 10px 1px;
+}
+
+.search-highlight {
+    background-color: #ffffcc;
+}
+
+/* normal (white) background */
+.rowNormal {
+    background-color: #ffffff;
+ }
+
+/* alternate (pale yellow) background */
+.rowAlternate {
+    background-color: #f7f7f7;
+}
+
+/* used in the list attachments table */
+.rowAlternateNoBottomColor {
+    background-color: #f7f7f7;
+}
+
+.rowAlternateNoBottomNoColor {
+}
+
+.rowAlternateNoBottomColor td {
+    border-bottom: 0px;
+}
+
+.rowAlternateNoBottomNoColor td {
+    border-bottom: 0px;
+}
+
+/* row highlight (grey) background */
+.rowHighlight {
+    background-color: #f0f0f0;
+
+}
+
+TD.greenbar {FONT-SIZE: 2px; BACKGROUND: #00df00; BORDER: 1px solid #9c9c9c; 
PADDING: 0px; }
+TD.redbar {FONT-SIZE: 2px; BACKGROUND: #df0000; BORDER: 1px solid #9c9c9c; 
PADDING: 0px; }
+TD.darkredbar {FONT-SIZE: 2px; BACKGROUND: #af0000; BORDER: 1px solid #9c9c9c; 
PADDING: 0px; }
+
+TR.testpassed {FONT-SIZE: 2px; BACKGROUND: #ddffdd; PADDING: 0px; }
+TR.testfailed {FONT-SIZE: 2px; BACKGROUND: #ffdddd; PADDING: 0px; }
+
+.toolbar  {
+    margin: 0px;
+    border-collapse: collapse;
+}
+
+.toolbar td  {
+    border: 1px solid #ccc;
+    padding: 2px 2px 2px 2px;
+    color: #ccc;
+}
+
+td.noformatting {
+    border-width: 0px;
+    border-style: none;
+    text-align: center;
+       padding: 0px;
+}
+
+.commentblock {
+    margin: 12px 0 12px 0;
+}
+
+/*
+ * Divs displaying the license information, if necessary.
+ */
+.license-eval, .license-none, .license-nonprofit {
+    border-top: 1px solid #bbbbbb;
+    text-align: center;
+    font-size: 10px;
+    font-family: Verdana, Arial, Helvetica, sans-serif;
+}
+
+.license-eval, .license-none {
+    background-color: #ffcccc;
+}
+
+.license-eval b, .license-none b {
+    color: #990000
+}
+
+.license-nonprofit {
+    background-color: #ffffff;
+}
+
+/*
+ * The shadow at the bottom of the page between the main content and the
+ * "powered by" section.
+ */
+.bottomshadow {
+    height: 12px;
+    background-image: url("$req.contextPath/images/border/border_bottom.gif");
+    background-repeat: repeat-x;
+}
+
+/*
+ * Styling of the operations box
+ */
+.navmenu .operations li, .navmenu .operations ul {
+    list-style: none;
+    margin-left: 0;
+    padding-left: 0;
+}
+
+.navmenu .operations ul {
+    margin-bottom: 9px;
+}
+
+.navmenu .label {
+    font-weight: inherit;
+}
+
+/*
+ * Styling of ops as a toolbar
+ */
+.toolbar div {
+    display: none;
+}
+
+.toolbar .label {
+    display: none;
+}
+
+.toolbar .operations {
+    display: block;
+}
+
+.toolbar .operations ul {
+    display: inline;
+    list-style: none;
+    margin-left: 10px;
+    padding-left: 0;
+}
+
+.toolbar .operations li {
+    list-style: none;
+    display: inline;
+}
+
+/* list page navigational tabs */
+#foldertab {
+padding: 3px 0px 3px 8px;
+margin-left: 0;
+border-bottom: 1px solid #3c78b5;
+font: bold 11px Verdana, sans-serif;
+}
+
+#foldertab li {
+list-style: none;
+margin: 0;
+display: inline;
+}
+
+#foldertab li a {
+padding: 3px 0.5em;
+margin-left: 3px;
+border: 1px solid #3c78b5;
+border-bottom: none;
+background: #3c78b5;
+text-decoration: none;
+}
+
+#foldertab li a:link { color: #ffffff; }
+#foldertab li a:visited { color: #ffffff; }
+
+#foldertab li a:hover {
+color: #ffffff;
+background: #003366;
+border-color: #003366;
+}
+
+#foldertab li a.current {
+background: white;
+border-bottom: 1px solid white;
+color: black;
+}
+
+#foldertab li a.current:link { color: black; }
+#foldertab li a.current:visited { color: black; }
+#foldertab li a.current:hover {
+background: white;
+border-bottom: 1px solid white;
+color: black;
+}
+
+/* alphabet list */
+ul#squaretab {
+margin-left: 0;
+padding-left: 0;
+white-space: nowrap;
+font: bold 8px Verdana, sans-serif;
+}
+
+#squaretab li {
+display: inline;
+list-style-type: none;
+}
+
+#squaretab a {
+padding: 2px 6px;
+border: 1px solid #3c78b5;
+}
+
+#squaretab a:link, #squaretab a:visited {
+color: #fff;
+background-color: #3c78b5;
+text-decoration: none;
+}
+
+#squaretab a:hover {
+color: #ffffff;
+background-color: #003366;
+border-color: #003366;
+text-decoration: none;
+}
+
+#squaretab li a#current {
+background: white;
+color: black;
+}
+
+.blogcalendar * {
+    font-family:verdana, arial, sans-serif;
+    font-size:x-small;
+    font-weight:normal;
+    line-height:140%;
+    padding:2px;
+}
+
+
+table.blogcalendar {
+    border: 1px solid #3c78b5;
+}
+
+.blogcalendar th.calendarhead, a.calendarhead {
+    font-size:x-small;
+    font-weight:bold;
+    padding:2px;
+    text-transform:uppercase;
+    background-color: #3c78b5;
+    color: #ffffff;
+    letter-spacing: .3em;
+    text-transform: uppercase;
+}
+
+.calendarhead:visited {color: white;}
+.calendarhead:active {color: white;}
+.calendarhead:hover {color: white;}
+
+.blogcalendar th {
+    font-size:x-small;
+    font-weight:bold;
+    padding:2px;
+    background-color:#f0f0f0;
+}
+
+.blogcalendar td {
+    font-size:x-small;
+    font-weight:normal;
+}
+
+.searchGroup { padding: 0 0 10px 0; background: #f0f0f0; }
+.searchGroupHeading { font-size: 10px; font-weight: bold; color: #ffffff; 
background-color: #3c78b5; padding: 2px 4px 1px 4px; }
+.searchItem { padding: 1px 4px 1px 4px; }
+.searchItemSelected { padding: 1px 4px 1px 4px; font-weight: bold; background: 
#ddd; }
+
+/* permissions page styles */
+.permissionHeading {
+    border-bottom: #bbb; border-width: 0 0 1px 0; border-style: solid; 
font-size: 16px; text-align: left;
+}
+.permissionTab {
+    border-width: 0 0 0 1px; border-style: solid; background: #3c78b5; color: 
#ffffff; font-size: 10px;
+}
+.permissionSuperTab {
+    border-width: 0 0 0 1px; border-style: solid; background: #003366; color: 
#ffffff;
+}
+.permissionCell {
+    border-left: #bbb; border-width: 0 0 0 1px; border-style: solid;
+}
+
+/* warning panel */
+.warningPanel { background: #FFFFCE; border:#F0C000 1px solid; padding: 8px; 
margin: 10px; }
+/* alert panel */
+.alertPanel { background: #FFCCCC; border:#C00 1px solid; padding: 8px; 
margin: 10px; }
+
+/* side menu highlighting (e.g. space content screen) */
+.optionPadded { padding: 2px; }
+.optionSelected { background-color: #ffffcc; padding: 2px; border: 1px solid 
#ddd; margin: -1px; }
+.optionSelected a { font-weight: bold; text-decoration: none; color: black; }
+
+/* information macros */
+.noteMacro { border-style: solid; border-width: 1px; border-color: #F0C000; 
background-color: #FFFFCE; text-align:left; margin-top: 5px; margin-bottom: 5px}
+.warningMacro { border-style: solid; border-width: 1px; border-color: #c00; 
background-color: #fcc; text-align:left; margin-top: 5px; margin-bottom: 5px}
+.infoMacro { border-style: solid; border-width: 1px; border-color: #3c78b5; 
background-color: #D8E4F1; text-align:left; margin-top: 5px; margin-bottom: 5px}
+.tipMacro { border-style: solid; border-width: 1px; border-color: #090; 
background-color: #dfd; text-align:left; margin-top: 5px; margin-bottom: 5px}
+.informationMacroPadding { padding: 5px 0 0 5px; }
+
+table.infoMacro td, table.warningMacro td, table.tipMacro td, table.noteMacro 
td, table.sectionMacro td {
+    border: none;
+}
+
+table.sectionMacroWithBorder td.columnMacro { border-style: dashed; 
border-width: 1px; border-color: #cccccc;}
+
+/* styles for links in the top bar */
+.topBarDiv a:link {color: #ffffff;}
+.topBarDiv a:visited {color: #ffffff;}
+.topBarDiv a:active {color: #ffffff;}
+.topBarDiv a:hover {color: #ffffff;}
+.topBarDiv {color: #ffffff;}
+
+.topBar {
+    background-color: #003366;
+}
+
+
+/* styles for extended operations */
+.greyLinks a:link {color: #666666; text-decoration:underline;}
+.greyLinks a:visited {color: #666666; text-decoration:underline;}
+.greyLinks a:active {color: #666666; text-decoration:underline;}
+.greyLinks a:hover {color: #666666; text-decoration:underline;}
+.greyLinks {color: #666666; display:block; padding: 10px}
+
+.logoSpaceLink {color: #999999; text-decoration: none}
+.logoSpaceLink a:link {color: #999999; text-decoration: none}
+.logoSpaceLink a:visited {color: #999999; text-decoration: none}
+.logoSpaceLink a:active {color: #999999; text-decoration: none}
+.logoSpaceLink a:hover {color: #003366; text-decoration: none}
+
+/* basic panel (basicpanel.vmd) style */
+.basicPanelContainer {border: 1px solid #3c78b5; margin-top: 2px; 
margin-bottom: 8px; width: 100%}
+.basicPanelTitle {padding: 5px; margin: 0px; background-color: #f0f0f0; color: 
black; font-weight: bold;}
+.basicPanelBody {padding: 5px; margin: 0px}
+
+.separatorLinks a:link {color: white}
+.separatorLinks a:visited {color: white}
+.separatorLinks a:active {color: white}
+
+.greynavbar {background-color: #f0f0f0; border-top: 1px solid #3c78b5; 
margin-top: 2px}
+
+div.headerField {
+    float: left;
+    width: auto;
+    height: 100%;
+}
+
+.headerFloat {
+    margin-left: auto;
+    width: 50%;
+}
+
+.headerFloatLeft {
+    float: left;
+    margin-right: 20px;
+    margin-bottom: 10px;
+}
+
+#headerRow {
+    padding: 10px;
+}
+
+div.license-personal {
+   background-color: #003366;
+   color: #ffffff;
+}
+
+div.license-personal a {
+   color: #ffffff;
+}
+
+.greyFormBox {
+    border: 1px solid #cccccc;
+    padding: 5px;
+}
+
+/* IE automatically adds a margin before and after form tags. Use this style 
to remove that */
+.marginlessForm {
+    margin: 0px;
+}
+
+.openPageHighlight {
+    background-color: #ffffcc;
+    padding: 2px;
+    border: 1px solid #ddd;
+}
+
+.editPageInsertLinks, .editPageInsertLinks a
+{
+    color: #666666;
+    font-weight: bold;
+    font-size: 10px;
+}
+
+/* Style for label heatmap. */
+.top10 a {
+    font-weight: bold;
+    font-size: 2em;
+    color: #003366;
+}
+.top25 a {
+    font-weight: bold;
+    font-size: 1.6em;
+    color: #003366;
+}
+.top50 a {
+    font-size: 1.4em;
+    color: #003366;
+}
+.top100 a {
+    font-size: 1.2em;
+    color: #003366;
+}
+
+.heatmap {
+    list-style:none;
+    width: 95%;
+    margin: 0px auto;
+}
+
+.heatmap a {
+    text-decoration:none;
+}
+
+.heatmap a:hover {
+    text-decoration:underline;
+}
+
+.heatmap li {
+    display: inline;
+}
+
+.minitab {
+padding: 3px 0px 3px 8px;
+margin-left: 0;
+margin-top: 1px;
+margin-bottom: 0px;
+border-bottom: 1px solid #3c78b5;
+font: bold 9px Verdana, sans-serif;
+text-decoration: none;
+float:none;
+}
+.selectedminitab {
+padding: 3px 0.5em;
+margin-left: 3px;
+margin-top: 1px;
+border: 1px solid #3c78b5;
+background: white;
+border-bottom: 1px solid white;
+color: #000000;
+text-decoration: none;
+}
+.unselectedminitab {
+padding: 3px 0.5em;
+margin-left: 3px;
+margin-top: 1px;
+border: 1px solid #3c78b5;
+border-bottom: none;
+background: #3c78b5;
+color: #ffffff;
+text-decoration: none;
+}
+
+a.unselectedminitab:hover {
+color: #ffffff;
+background: #003366;
+border-color: #003366;
+}
+
+a.unselectedminitab:link { color: white; }
+a.unselectedminitab:visited { color: white; }
+
+a.selectedminitab:link { color: black; }
+a.selectedminitab:visited { color: black; }
+
+.linkerror { background-color: #fcc;}
+
+a.labelOperationLink:link {text-decoration: underline}
+a.labelOperationLink:active {text-decoration: underline}
+a.labelOperationLink:visited {text-decoration: underline}
+a.labelOperationLink:hover {text-decoration: underline}
+
+a.newLabel:link {background-color: #ddffdd}
+a.newLabel:active {background-color: #ddffdd}
+a.newLabel:visited {background-color: #ddffdd}
+a.newLabel:hover {background-color: #ddffdd}
+
+ul.square {list-style-type: square}
+
+.inline-control-link {
+    background: #ffc;
+    font-size: 9px;
+    color: #666;
+    padding: 2px;
+    text-transform: uppercase;
+    text-decoration: none;
+}
+
+
+.inline-control-link a:link {text-decoration: none}
+.inline-control-link a:active {text-decoration: none}
+.inline-control-link a:visited {text-decoration: none}
+.inline-control-link a:hover {text-decoration: none}
+
+.inline-control-link {
+    background: #ffc;
+    font-size: 9px;
+    color: #666;
+    padding: 2px;
+    text-transform: uppercase;
+    text-decoration: none;
+    cursor: pointer;
+}
+
+div.auto_complete {
+    width: 350px;
+    background: #fff;
+}
+div.auto_complete ul {
+    border: 1px solid #888;
+    margin: 0;
+    padding: 0;
+    width: 100%;
+    list-style-type: none;
+}
+div.auto_complete ul li {
+    margin: 0;
+    padding: 3px;
+}
+div.auto_complete ul li.selected {
+    background-color: #ffb;
+}
+div.auto_complete ul strong.highlight {
+    color: #800;
+    margin: 0;
+    padding: 0;
+}
+
+/******* Edit Page Styles *******/
+.toogleFormDiv{
+    border:1px solid #A7A6AA;
+    background-color:white;
+    padding:5px;
+    margin-top: 5px;
+}
+
+.toogleInfoDiv{
+    border:1px solid #A7A6AA;
+    background-color:white;
+    display:none;
+    padding:5px;
+    margin-top: 10px;
+}
+
+.inputSection{
+    margin-bottom:20px;
+}
+
+#editBox{
+   border:1px solid lightgray;
+   background-color:#F0F0F0;
+}
+
+/******* Left Navigation Theme Styles ********/
+.leftnav li a {
+    text-decoration:none;
+    color:white;
+    margin:0px;
+    display:block;
+    padding:2px;
+    padding-left:5px;
+    background-color: #3c78b5;
+    border-top:1px solid #3c78b5;
+}
+
+.leftnav li a:active {color:white;}
+.leftnav li a:visited {color:white;}
+.leftnav li a:hover {background-color: #003366; color:white;}

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/eval.conf
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/eval.conf 
b/extras/rya.manual/src/main/webapp/eval.conf
new file mode 100644
index 0000000..f502b94
--- /dev/null
+++ b/extras/rya.manual/src/main/webapp/eval.conf
@@ -0,0 +1,56 @@
+h1. Prospects Table
+
+The Prospects Table provides statistics on the number of 
subject/predicate/object data found in the triple store. It is currently a
+Map Reduce job that will run against the Rya store and save all the statistics 
in the prosepcts table.
+
+h2. Build
+
+[Build the mmrts.git repo|./build-source.html]
+
+h2. Run
+
+Deploy the extras/rya.prospector/target/rya.prospector-<version>-shade.jar 
file to the hadoop cluster.
+
+The prospector also requires a configuration file that defines where Accumulo 
is, which Rya table (has to be the SPO table) to read from, and
+which table to output to. (Note: Make sure you follow the same schema as the 
Rya tables (prospects table name: tableprefix_prospects)
+
+A sample configuration file might look like the following:
+{code}
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+<configuration>
+    <property>
+        <name>prospector.intable</name>
+        <value>triplestore_spo</value>
+    </property>
+    <property>
+        <name>prospector.outtable</name>
+        <value>triplestore_prospects</value>
+    </property>
+    <property>
+        <name>prospector.auths</name>
+        <value>U,FOUO</value>
+    </property>
+    <property>
+        <name>instance</name>
+        <value>accumulo</value>
+    </property>
+    <property>
+        <name>zookeepers</name>
+        <value>localhost:2181</value>
+    </property>
+    <property>
+        <name>username</name>
+        <value>root</value>
+    </property>
+    <property>
+        <name>password</name>
+        <value>secret</value>
+    </property>
+</configuration>
+{code}
+
+Run the command, filling in the correct information.
+{code}
+hadoop jar rya.prospector-3.0.4-SNAPSHOT-shade.jar 
mvm.rya.prospector.mr.Prospector /tmp/prospectorConf.xml
+{code}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/images/bg.png
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/images/bg.png 
b/extras/rya.manual/src/main/webapp/images/bg.png
new file mode 100644
index 0000000..878a84f
Binary files /dev/null and b/extras/rya.manual/src/main/webapp/images/bg.png 
differ

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/images/bg02-blue-left.png
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/images/bg02-blue-left.png 
b/extras/rya.manual/src/main/webapp/images/bg02-blue-left.png
new file mode 100644
index 0000000..057efdf
Binary files /dev/null and 
b/extras/rya.manual/src/main/webapp/images/bg02-blue-left.png differ

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/images/bg02-blue-right.png
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/images/bg02-blue-right.png 
b/extras/rya.manual/src/main/webapp/images/bg02-blue-right.png
new file mode 100644
index 0000000..edf9a9d
Binary files /dev/null and 
b/extras/rya.manual/src/main/webapp/images/bg02-blue-right.png differ

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/images/bg02-white-left-nogr.png
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/images/bg02-white-left-nogr.png 
b/extras/rya.manual/src/main/webapp/images/bg02-white-left-nogr.png
new file mode 100644
index 0000000..1c5186c
Binary files /dev/null and 
b/extras/rya.manual/src/main/webapp/images/bg02-white-left-nogr.png differ

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/images/bg02-white-right-nogr.png
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/images/bg02-white-right-nogr.png 
b/extras/rya.manual/src/main/webapp/images/bg02-white-right-nogr.png
new file mode 100644
index 0000000..9734def
Binary files /dev/null and 
b/extras/rya.manual/src/main/webapp/images/bg02-white-right-nogr.png differ

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/images/big-bullet.png
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/images/big-bullet.png 
b/extras/rya.manual/src/main/webapp/images/big-bullet.png
new file mode 100644
index 0000000..f036db5
Binary files /dev/null and 
b/extras/rya.manual/src/main/webapp/images/big-bullet.png differ

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/images/left-box-bottom.png
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/images/left-box-bottom.png 
b/extras/rya.manual/src/main/webapp/images/left-box-bottom.png
new file mode 100644
index 0000000..0495248
Binary files /dev/null and 
b/extras/rya.manual/src/main/webapp/images/left-box-bottom.png differ

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/images/left-box-right.png
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/images/left-box-right.png 
b/extras/rya.manual/src/main/webapp/images/left-box-right.png
new file mode 100644
index 0000000..2698074
Binary files /dev/null and 
b/extras/rya.manual/src/main/webapp/images/left-box-right.png differ

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/images/left-box-top.png
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/images/left-box-top.png 
b/extras/rya.manual/src/main/webapp/images/left-box-top.png
new file mode 100644
index 0000000..e1fc26e
Binary files /dev/null and 
b/extras/rya.manual/src/main/webapp/images/left-box-top.png differ

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/images/logo.png
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/images/logo.png 
b/extras/rya.manual/src/main/webapp/images/logo.png
new file mode 100644
index 0000000..42a1fb5
Binary files /dev/null and b/extras/rya.manual/src/main/webapp/images/logo.png 
differ

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/images/logo2.png
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/images/logo2.png 
b/extras/rya.manual/src/main/webapp/images/logo2.png
new file mode 100644
index 0000000..9d29d0f
Binary files /dev/null and b/extras/rya.manual/src/main/webapp/images/logo2.png 
differ

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/index.conf
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/index.conf 
b/extras/rya.manual/src/main/webapp/index.conf
new file mode 100644
index 0000000..2bcf160
--- /dev/null
+++ b/extras/rya.manual/src/main/webapp/index.conf
@@ -0,0 +1,4 @@
+h1. Rya
+
+This project contains documentation about the Rya, a scalable RDF triple store 
on top of Accumulo.
+

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/infer.conf
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/infer.conf 
b/extras/rya.manual/src/main/webapp/infer.conf
new file mode 100644
index 0000000..e9c16d2
--- /dev/null
+++ b/extras/rya.manual/src/main/webapp/infer.conf
@@ -0,0 +1,13 @@
+h1. Inferencing
+
+The current inferencing set supported includes:
+* rdfs:subClassOf
+* rdfs:subPropertyOf
+* owl:equivalentProperty
+* owl:inverseOf
+* owl:SymmetricProperty
+* owl:TransitiveProperty (* This is implemented, but probably not fully. Still 
in testing)
+
+Nothing special has to be done outside of making sure that the 
RdfCloudTripleStore object has the InferencingEngine object set on it and 
properly configured. This is usually done by default. See the [Query Data 
Section|./querydata.html] for a simple example.
+
+Also, the inferencing engine is set to pull down the latest model every 5 
minutes currently (which is configurable). So if you load a new model, a 
previous RepositoryConnection may not pick up these changes into the 
Inferencing Engine yet. Getting the InferencingEngine object from the 
RdfCloudTripleStore and running the {{refreshGraph}} method can refresh the 
inferred graph immediately.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/loadPrecomputedJoin.conf
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/loadPrecomputedJoin.conf 
b/extras/rya.manual/src/main/webapp/loadPrecomputedJoin.conf
new file mode 100644
index 0000000..868b5a1
--- /dev/null
+++ b/extras/rya.manual/src/main/webapp/loadPrecomputedJoin.conf
@@ -0,0 +1,27 @@
+h1. Load Pre-computed Join
+
+A tool has been created to load a pre-computed join.  This tool will generate 
an index to support a pre-computed join on a user provided SPARQL query, and 
then register that query within Rya.
+
+
+h2. Registering a pre-computed join
+
+Generating a pre-computed join is done using Pig to execute a series of Map 
Reduce jobs.  The index (pre-computed join) is associated with a user defined 
SPARQL query.  
+  
+To execute the indexing tool, compile and run 
{code}mvm.rya.accumulo.pig.IndexWritingTool{code} 
+with the following seven input arguments: {code} [hdfsSaveLocation] 
[sparqlFile] [cbinstance] [cbzk] [cbuser] [cbpassword] [rdfTablePrefix]{code}
+
+
+Options:
+* hdfsSaveLocation: a working directory on hdfs for storing interim results
+* sparqlFile: the query to generate a precomputed join for
+* cbinstance: the accumulo instance name
+* cbzk: the accumulo zookeeper name
+* cbuser: the accumulo username
+* cbpassword:  the accumulo password for the supplied user
+* rdfTablePrefix : The tables (spo, po, osp) are prefixed with this qualifier. 
The tables become: (rdf.tablePrefix)spo,(rdf.tablePrefix)po,(rdf.tablePrefix)osp
+
+
+h1. Using a Pre-computed Join
+
+An example of using a pre-computed join can be referenced in 
+{code} mvm.rya.indexing.external.ExternalSailExample {code}

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/loaddata.conf
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/loaddata.conf 
b/extras/rya.manual/src/main/webapp/loaddata.conf
new file mode 100644
index 0000000..9eb7c47
--- /dev/null
+++ b/extras/rya.manual/src/main/webapp/loaddata.conf
@@ -0,0 +1,117 @@
+h1. Load Data
+
+There are a few mechanisms to load data
+
+h2. Web REST endpoint
+
+The War sets up a Web REST endpoint at {{http://server/web.rya/loadrdf}} that 
allows POST data to get loaded into the Rdf Store. This short tutorial will use 
Java code to post data.
+
+First, you will need data to load and will need to figure out what format that 
data is in.
+
+For this sample, we will use the following N-Triples:
+{code}
+<http://mynamespace/ProductType1> 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type> 
<http://mynamespace/ProductType> .
+<http://mynamespace/ProductType1> <http://www.w3.org/2000/01/rdf-schema#label> 
"Thing" .
+<http://mynamespace/ProductType1> <http://purl.org/dc/elements/1.1/publisher> 
<http://mynamespace/Publisher1> .
+{code}
+
+Save this file somewhere $RDF_DATA
+
+Second, use the following Java code to load data to the REST endpoint:
+{code}
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.net.URL;
+import java.net.URLConnection;
+
+public class LoadDataServletRun {
+
+    public static void main(String[] args) {
+        try {
+            final InputStream resourceAsStream = 
Thread.currentThread().getContextClassLoader()
+                    .getResourceAsStream("$RDF_DATA");
+            URL url = new URL("http://server/web.rya/loadrdf"; +
+                    "?format=N-Triples" +
+                    "");
+            URLConnection urlConnection = url.openConnection();
+            urlConnection.setRequestProperty("Content-Type", "text/plain");
+            urlConnection.setDoOutput(true);
+
+            final OutputStream os = urlConnection.getOutputStream();
+
+            int read;
+            while((read = resourceAsStream.read()) >= 0) {
+                os.write(read);
+            }
+            resourceAsStream.close();
+            os.flush();
+
+            BufferedReader rd = new BufferedReader(new InputStreamReader(
+                    urlConnection.getInputStream()));
+            String line;
+            while ((line = rd.readLine()) != null) {
+                System.out.println(line);
+            }
+            rd.close();
+            os.close();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}
+{code}
+
+Compile and run this code above, changing the references for $RDF_DATA and the 
url that your Rdf War is running at.
+
+The default "format" is RDF/XML, but these formats are supported : RDFXML, 
NTRIPLES, TURTLE, N3, TRIX, TRIG.
+
+h2. Bulk Loading data
+
+Bulk loading data is done through Map Reduce jobs
+
+h3. Bulk Load RDF data
+
+  This Map Reduce job will read a full file into memory and parse it into 
statements. The statements are saved into the store. Here is an example for 
storing in Accumulo:
+{code}
+hadoop jar target/accumulo.rya-3.0.4-SNAPSHOT-shaded.jar 
mvm.rya.accumulo.mr.fileinput.BulkNtripsInputTool -Dac.zk=localhost:2181 
-Dac.instance=accumulo -Dac.username=root -Dac.pwd=secret 
-Drdf.tablePrefix=triplestore_ -Dio.sort.mb=64 /tmp/temp.ntrips
+{code}
+
+Options:
+* rdf.tablePrefix : The tables (spo, po, osp) are prefixed with this 
qualifier. The tables become: 
(rdf.tablePrefix)spo,(rdf.tablePrefix)po,(rdf.tablePrefix)osp
+* ac.* : Accumulo connection parameters
+* rdf.format : See RDFFormat from openrdf, samples include (Trig, N-Triples, 
RDF/XML)
+* io.sort.mb : Higher the value, the faster the job goes. Just remember that 
you will need this much ram at least per mapper
+
+The argument is the directory/file to load. This file needs to be loaded into 
HDFS before running.
+
+h2. Direct OpenRDF API
+
+Here is some sample code to load data directly through the OpenRDF API. 
(Loading N-Triples data)
+You will need at least cloudbase.rya-<version>, rya.api, rya.sail.impl on the 
classpath and transitive dependencies. I find that Maven is the easiest way to 
get a project dependency tree set up.
+
+{code}
+            final RdfCloudTripleStore store = new RdfCloudTripleStore();
+            AccumuloRdfConfiguration conf = new AccumuloRdfConfiguration();
+            AccumuloRyaDAO dao = new AccumuloRdfDAO();
+            Connector connector = new ZooKeeperInstance("instance", 
"zkserver:port").getConnector("user", "password");
+            dao.setConnector(connector);
+            conf.setTablePrefix("rya_");
+            dao.setConf(conf);
+            store.setRdfDao(dao);
+
+            Repository myRepository = new RyaSailRepository(store);
+            myRepository.initialize();
+            RepositoryConnection conn = myRepository.getConnection();
+
+            //load data from file
+            final File file = new File("ntriples.ntrips");
+            conn.add(new FileInputStream(file), file.getName(),
+                    RDFFormat.NTRIPLES, new Resource[]{});
+
+            conn.commit();
+
+            conn.close();
+            myRepository.shutDown();
+{code}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/extras/rya.manual/src/main/webapp/overview.conf
----------------------------------------------------------------------
diff --git a/extras/rya.manual/src/main/webapp/overview.conf 
b/extras/rya.manual/src/main/webapp/overview.conf
new file mode 100644
index 0000000..f351612
--- /dev/null
+++ b/extras/rya.manual/src/main/webapp/overview.conf
@@ -0,0 +1,4 @@
+h1. Overview
+
+The MVM RDF Cloud Triple Store is a scalable RDF Store that is built on top of 
a Columnar Index Store (such as Accumulo, Cloudbase, Hbase). It is implemented 
as an extension to OpenRdf to provide easy query mechanisms (SPARQL, SERQL, 
etc) and Rdf data storage (RDF/XML, NTriples, etc).
+


Reply via email to