Author: kwright
Date: Wed Jul 23 01:21:09 2014
New Revision: 1612736

URL: http://svn.apache.org/r1612736
Log:
Update documentation to handle various additions/changes

Modified:
    
manifoldcf/trunk/site/src/documentation/content/xdocs/en_US/writing-output-connectors.xml
    
manifoldcf/trunk/site/src/documentation/content/xdocs/en_US/writing-repository-connectors.xml

Modified: 
manifoldcf/trunk/site/src/documentation/content/xdocs/en_US/writing-output-connectors.xml
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/site/src/documentation/content/xdocs/en_US/writing-output-connectors.xml?rev=1612736&r1=1612735&r2=1612736&view=diff
==============================================================================
--- 
manifoldcf/trunk/site/src/documentation/content/xdocs/en_US/writing-output-connectors.xml
 (original)
+++ 
manifoldcf/trunk/site/src/documentation/content/xdocs/en_US/writing-output-connectors.xml
 Wed Jul 23 01:21:09 2014
@@ -79,6 +79,7 @@
             <tr><td><strong>getPipelineDescription()</strong></td><td>Use the 
supplied output specification to come up with an output version string</td></tr>
             <tr><td><strong>addOrReplaceDocument()</strong></td><td>Add or 
replace the specified document within the target repository, or signal if the 
document cannot be handled</td></tr>
             <tr><td><strong>removeDocument()</strong></td><td>Remove the 
specified document from the target repository</td></tr>
+            <tr><td><strong>noteJobComplete()</strong></td><td>Called at the 
end of a job run or job deletion, so that the index can be updated in 
batch</td></tr>
             
<tr><td><strong>outputConfigurationHeader()</strong></td><td>Output the 
head-section part of an output connection <em>ConfigParams</em> editing 
page</td></tr>
             <tr><td><strong>outputConfigurationBody()</strong></td><td>Output 
the body-section part of an output connection <em>ConfigParams</em> editing 
page</td></tr>
             
<tr><td><strong>processConfigurationPost()</strong></td><td>Receive and process 
form data from an output connection <em>ConfigParams</em> editing page</td></tr>

Modified: 
manifoldcf/trunk/site/src/documentation/content/xdocs/en_US/writing-repository-connectors.xml
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/site/src/documentation/content/xdocs/en_US/writing-repository-connectors.xml?rev=1612736&r1=1612735&r2=1612736&view=diff
==============================================================================
--- 
manifoldcf/trunk/site/src/documentation/content/xdocs/en_US/writing-repository-connectors.xml
 (original)
+++ 
manifoldcf/trunk/site/src/documentation/content/xdocs/en_US/writing-repository-connectors.xml
 Wed Jul 23 01:21:09 2014
@@ -48,6 +48,7 @@
           <tr><td>Configuration parameters</td><td>A hierarchical structure, 
internally represented as an XML document, which describes a specific 
configuration of a specific repository connector, i.e. <strong>how</strong> the 
connector should do its job; see 
<em>org.apache.manifoldcf.core.interfaces.ConfigParams</em></td></tr>
           <tr><td>Repository connection</td><td>A repository connector 
instance that has been furnished with configuration data</td></tr>
           <tr><td>Document identifier</td><td>An arbitrary identifier, whose 
meaning determined only within the context of a specific repository connector, 
which the connector uses to describe a document within a repository</td></tr>
+          <tr><td>Component identifier</td><td>An arbitrary identifier, whose 
meaning determined only within the context of a specific document, which the 
connector uses to describe a component of a document within a 
repository</td></tr>
           <tr><td>Document URI</td><td>The unique URI (or, in some cases, file 
IRI) of a document, which is meant to be displayed in search engine results as 
the link to the document</td></tr>
           <tr><td>Repository document</td><td>An object that describes a 
document's contents, including raw document data (as a stream), metadata (as 
either strings or streams), and access tokens; see 
<em>org.apache.manifoldcf.agents.interfaces.RepositoryDocument</em></td></tr>
           <tr><td>Access token</td><td>A string, which is only meaningful in 
the context of a specific authority, that describes a quantum of authorization 
for a user</td></tr>
@@ -70,6 +71,7 @@
           <li>Documentum (uses RMI to segregate native code, etc.)</li>
           <li>FileNet (also uses RMI, but because it is picky about its 
open-source jar versions)</li>
           <li>File system (a good, but simple, example)</li>
+          <li>Jira (demonstrates good use of session management)</li>
           <li>LiveLink (demonstrates use of local keystore infrastructure)</li>
           <li>Meridio (local keystore, web services, result sets)</li>
           <li>SharePoint (local keystore, web services)</li>
@@ -88,8 +90,7 @@
           <table>
             <tr><th>Method</th><th>What it should do</th></tr>
             <tr><td><strong>addSeedDocuments()</strong></td><td>Use the 
supplied document specification to come up with an initial set of document 
identifiers</td></tr>
-            <tr><td><strong>getDocumentVersions()</strong></td><td>Come up 
with a version string for each of the documents described by the supplied set 
of document identifiers, or signal if the document is no longer 
present</td></tr>
-            <tr><td><strong>processDocuments()</strong></td><td>Take the 
appropriate action (e.g. ingest, or extract references from, or whatever) for a 
given set of documents described by document identifier and version 
string</td></tr>
+            <tr><td><strong>processDocuments()</strong></td><td>For a set of 
documents, compute a version string, and take the appropriate action (e.g. 
ingest, or extract references from, or whatever)</td></tr>
             
<tr><td><strong>outputConfigurationHeader()</strong></td><td>Output the 
head-section part of a repository connection <em>ConfigParams</em> editing 
page</td></tr>
             <tr><td><strong>outputConfigurationBody()</strong></td><td>Output 
the body-section part of a repository connection <em>ConfigParams</em> editing 
page</td></tr>
             
<tr><td><strong>processConfigurationPost()</strong></td><td>Receive and process 
form data from a repository connection <em>ConfigParams</em> editing 
page</td></tr>
@@ -140,7 +141,7 @@
           <ul>
             <li>Calculate a version string for the document</li>
             <li>Find child references for the document</li>
-            <li>Get the document's content, metadata, and access tokens</li>
+            <li>Get the document's content, metadata, and access tokens, 
and/or component content, metadata, and access tokens</li>
           </ul>
           <p></p>
           <p>We highly recommend that no additional information be included in 
the document identifier, other than what is needed for the above, as that will 
almost certainly cause problems.</p>
@@ -150,22 +151,23 @@
           <title>Choosing the form of the document version string</title>
           <p></p>
           <p>The document version string is used by ManifoldCF to determine 
whether or not the document or configuration changed in such a way as to 
require that the document
-            be reprocessed.  ManifoldCF therefore requests the version string 
for any document that is ready for processing, and usually does not process the 
document again if the
+            be reprocessed.  ManifoldCF therefore requires a version string 
for any document that is to be indexed, and connectors usually do not process 
the document again if the
             returned version string agrees with the version string it has 
stored.</p>
           <p></p>
-          <p>Thinking about it more carefully, it is clear that what a 
connector writer needs to do is include everything in the version string that 
could potentially affect how the
+          <p>Thinking about this carefully, it is clear that what a connector 
writer needs to do is include everything in the version string that could 
potentially affect how the
             document gets processed.  That may include the version of the 
document in the repository, bits of configuration information, metadata, and 
even access tokens (if the
             underlying repository versions these things independently from the 
document itself).  Storing all of that information in the version string seems 
like a lot - but the string
-            is unlimited in length, and it actually serves another useful 
purpose to do it that way.  Specifically, when it comes time to do the actual 
processing, it's often the correct
-            thing to do to obtain the necessary data out of the version 
string, rather than calculating it or fetching it anew.  That way of working 
guarantees that the document
-            processing was done in a manner that agrees with its recorded 
version string, thus eliminating any chance of ManifoldCF getting confused.</p>
-          <p></p>
-          <p>For longer data that needs to persist between the 
<strong>getDocumentVersions()</strong> method call and the 
<strong>processDocuments()</strong> method
-            call, the connector is welcome to save this information in a 
temporary disk file.  To help make sure nothing leaks which this approach is 
used, the IRepositoryConnector
-            interface has a method that will be called to clean up any 
temporary files that might have been created in the handling of a given 
document identifier.</p>
+            is unlimited in length, and it is the only way ManifoldCF knows to 
determine if something has changed in the repository.</p>
           <p></p>
         </section>
         <section>
+          <title>Document components</title>
+          <p></p>
+          <p>ManifoldCF considers all documents to consist of zero or more 
components.  A component is what is actually indexed, which means that each 
component has its own
+            identifier, data, metadata, access tokens, and URI.  It is up to 
your repository connector to break documents into components, if needed.  Most 
of the time, a repository document
+            consists of a single component.</p>
+          <p></p>
+        <section>
           <title>Notes on connector UI methods</title>
           <p></p>
           <p>The crawler UI uses a tabbed layout structure, and thus each of 
these elements must properly implement the tabbed model.  This means that the 
"header" methods


Reply via email to