You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@any23.apache.org by le...@apache.org on 2018/03/27 02:51:36 UTC

any23 git commit: ANY23-333 Augment use of Any23PluginManager in How to Register a Plugin documentation

Repository: any23
Updated Branches:
  refs/heads/ANY23-333 [created] 1867cc66d


ANY23-333 Augment use of Any23PluginManager in How to Register a Plugin documentation


Project: http://git-wip-us.apache.org/repos/asf/any23/repo
Commit: http://git-wip-us.apache.org/repos/asf/any23/commit/1867cc66
Tree: http://git-wip-us.apache.org/repos/asf/any23/tree/1867cc66
Diff: http://git-wip-us.apache.org/repos/asf/any23/diff/1867cc66

Branch: refs/heads/ANY23-333
Commit: 1867cc66de9a82cd98f1962fdabbd3a8680ff408
Parents: e00f49f
Author: Lewis John McGibbney <le...@gmail.com>
Authored: Mon Mar 26 12:12:20 2018 -0700
Committer: Lewis John McGibbney <le...@gmail.com>
Committed: Mon Mar 26 12:12:20 2018 -0700

----------------------------------------------------------------------
 .../apache/any23/plugin/ExtractorPlugin.java    |   8 +-
 src/site/apt/any23-plugins.apt                  |  67 ++++--
 src/site/xdoc/download.xml.vm                   | 230 +++++++------------
 3 files changed, 138 insertions(+), 167 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/any23/blob/1867cc66/api/src/main/java/org/apache/any23/plugin/ExtractorPlugin.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/any23/plugin/ExtractorPlugin.java b/api/src/main/java/org/apache/any23/plugin/ExtractorPlugin.java
index 7c6d5c5..2620454 100644
--- a/api/src/main/java/org/apache/any23/plugin/ExtractorPlugin.java
+++ b/api/src/main/java/org/apache/any23/plugin/ExtractorPlugin.java
@@ -25,7 +25,13 @@ import org.apache.any23.extractor.ExtractorFactory;
  * detected and registered from the library classpath.
  *
  * @author Michele Mostarda (mostarda@fbk.eu)
- * @deprecated ExtractorFactory now supports META-INF/services discovery, deprecating this class.
+ * @deprecated ExtractorFactory now supports 
+ * <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ServiceLoader.html">
+ * META-INF/services</a> discovery via the {@link java.util.ServiceLoader}, 
+ * deprecating this class.
+ * 
+ * Instead implement a subinterface of {@link org.apache.any23.extractor.Extractor} and 
+ * ensure that your plugin is in compliance with the META-INF/services mechanism.
  */
 @Deprecated
 public interface ExtractorPlugin<T extends Extractor<?>> {

http://git-wip-us.apache.org/repos/asf/any23/blob/1867cc66/src/site/apt/any23-plugins.apt
----------------------------------------------------------------------
diff --git a/src/site/apt/any23-plugins.apt b/src/site/apt/any23-plugins.apt
index b79a27a..dfc9902 100644
--- a/src/site/apt/any23-plugins.apt
+++ b/src/site/apt/any23-plugins.apt
@@ -27,11 +27,11 @@ Apache Any23 Plugins
     This section describes the <Apache Any23> plugins support.
 
     <Apache Any23> comes with a set of predefined plugins.
-    Such plugins are located under the <any23-root>/<<plugins>> dir.
+    Such plugins are located under the <$ANY23_HOME>/<<plugins>> dir.
 
     A plugin is a standard <Maven3> module containing any implementation of
 
-    * {{{./apidocs/org/apache/any23/plugin/ExtractorPlugin.html}ExtractorPlugin}}
+    * {{{./apidocs/index.html?org/apache/any23/extractor/Extractor.html}Extractor}}
 
     * {{{./apidocs/org/apache/any23/cli/Tool.html}Tool}}
 
@@ -52,13 +52,36 @@ export CLASSPATH_PREFIX=../../../plugins/basic-crawler/target/any23-basic-crawle
    A plugin can be added to the <Apache Any23 library API> by first creating a static instance of
    {{{./apidocs/org/apache/any23/plugin/Any23PluginManager.html}Any23PluginManager}}#getInstance().
    Once this is done there is a variety of options to configure and register a plugins, etc. An example
-   of dynamic plugin loading can be seen via the OpenIE toggle in the Any23 Service.
+   of dynamic plugin loading can be seen via the way that the OpenIE toggling is implemented within the 
+   Any23 Webservice e.g.
+
++--------------------------------------
+if (openie) {
+    Any23PluginManager pManager = Any23PluginManager.getInstance();
+    //Dynamically adding Jar's to the Classpath via the following logic
+    //is absolutely dependant on the 'apache-any23-openie' directory being
+    //present within the webapp /lib directory. This is specified within 
+    //the maven-dependency-plugin.
+    File webappClasspath = new File(getClass().getClassLoader().getResource("").getPath());
+    File openIEJarPath = new File(webappClasspath.getParentFile().getPath() + "/lib/apache-any23-openie");
+    boolean loadedJars = pManager.loadJARDir(openIEJarPath);
+    if (loadedJars) {
+        ExtractorRegistry r = ExtractorRegistryImpl.getInstance();
+        try {
+            pManager.getExtractors().forEachRemaining(r::register);
+        } catch (IOException e) {
+            LOG.error("Error during dynamic classloading of JARs from OpenIE runtime directory {}", openIEJarPath.toString(), e);
+        }
+        LOG.info("Successful dynamic classloading of JARs from OpenIE runtime directory {}", openIEJarPath.toString());
+    }
+}
++--------------------------------------
 
     Any implementation of <ExtractorPlugin> will automatically registered to the
     {{{./apidocs/org/apache/any23/extractor/ExtractorRegistry.html}ExtractorRegistry}}.
 
     Any detected implementation of <Tool> will be listed by the <ToolRunner>
-    command-line tool in <any23-root/><<bin/any23>> .
+    command-line tool in <any23-root/><<cli/bin/any23>> .
 
 * How to Build a Plugin
 
@@ -73,7 +96,7 @@ export CLASSPATH_PREFIX=../../../plugins/basic-crawler/target/any23-basic-crawle
 
    An <Extractor Plugin> is a class:
 
-   * implementing the {{{./apidocs/org/apache/any23/plugin/ExtractorPlugin.html}ExtractorPlugin}} interface;
+   * implementing one of the {{{./apidocs/index.html?org/apache/any23/extractor/Extractor.html}Extractor}} subinterfaces;
 
    * packaged under <<org.apache.any23.plugin>> .
 
@@ -81,22 +104,28 @@ export CLASSPATH_PREFIX=../../../plugins/basic-crawler/target/any23-basic-crawle
 
 +--------------------------------------
 @Author(name="Michele Mostarda (mostarda@fbk.eu)")
-public class HTMLScraperPlugin implements ExtractorPlugin {
+public class HTMLScraperExtractor implements Extractor.ContentExtractor {
 
     private static final Logger logger = LoggerFactory.getLogger(HTMLScraperPlugin.class);
 
-    @Init
-    public void init() {
-        logger.info("Plugin initialization.");
+    @Override
+    public void run(
+            ExtractionParameters extractionParameters,
+            ExtractionContext extractionContext,
+            InputStream inputStream,
+            ExtractionResult extractionResult
+    ) throws IOException, ExtractionException {
+	...
     }
 
-    @Shutdown
-    public void shutdown() {
-        logger.info("Plugin shutdown.");
+    @Override
+    public ExtractorDescription getDescription() {
+        return HTMLScraperExtractorFactory.getDescriptionInstance();
     }
 
-    public ExtractorFactory getExtractorFactory() {
-        return HTMLScraperExtractor.factory;
+    @Override
+    public void setStopAtFirstError(boolean b) {
+        // Ignored.
     }
 
 }
@@ -110,7 +139,7 @@ public class HTMLScraperPlugin implements ExtractorPlugin {
 
    * CLI parameters are extracted by annotating the class members with {{{http://jcommander.org/}JCommander}} annotations.
 
-   * have to be found using the {{{http://docs.oracle.com/javase/6/docs/api/java/util/ServiceLoader.html}ServiceLoader}}
+   * have to be found using the {{{https://docs.oracle.com/javase/8/docs/api/java/util/ServiceLoader.html}ServiceLoader}}
      (we usually plug the Kohsuke's {{{http://weblogs.java.net/blog/kohsuke/archive/2009/03/my_project_of_t.html}generator}})
 
    An example of plugin is defined below.
@@ -147,6 +176,14 @@ public class MyExecutableTool implements Tool {
 
     These plugins are documented {{{./plugin-office-scraper.html}here}}.
 
+  * OpenIE Extractor Plugin
+
+    As of 2.1 Any23 provides functionality to extract triples using the 
+    {{{https://github.com/allenai/openie-standalone}Open Information Extraction (Open IE) system}}. 
+    The Open IE system runs over input sentences and creates extractions that represent relations 
+    in text, in the case of Any23, this results in triples. Se the above example on how to register a 
+    plugin to see how the OpenIE Extractor plugin is currently used within the Any23 Service.
+
 * Available CLI Tool Plugins
 
   * Crawler CLI Tool

http://git-wip-us.apache.org/repos/asf/any23/blob/1867cc66/src/site/xdoc/download.xml.vm
----------------------------------------------------------------------
diff --git a/src/site/xdoc/download.xml.vm b/src/site/xdoc/download.xml.vm
index 6ea622d..9c2fd50 100644
--- a/src/site/xdoc/download.xml.vm
+++ b/src/site/xdoc/download.xml.vm
@@ -29,42 +29,40 @@
       <p>Apache Any23 is distributed in several formats for your convenience. Use a source archive if you intend to build
    Apache Any23 yourself. Otherwise, simply pick a ready-made binary distribution and follow the installation
    instructions given inside the archives. Additionally, you can use Any23 as a dependency, see the most recent release
-   artifacts on <a href="http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.any23%22">Maven Central</a>.</p>
+   artifacts on <a href="https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.any23%22">Maven Central</a>.</p>
 
       <p>You will be prompted for a mirror - if the file is not found on yours, please be patient, as it may take 24
    hours to reach all mirrors.</p>
 
       <p>In order to guard against corrupted downloads/installations, it is highly recommended to
-   <a href="http://www.apache.org/dev/release-signing#verifying-signature">verify the signature</a>
-   of the release bundles against the public <a href="http://apache.org/dist/any23/KEYS">KEYS</a> used by the Apache Any23
+   <a href="https://www.apache.org/dev/release-signing#verifying-signature">verify the signature</a>
+   of the release bundles against the public <a href="https://apache.org/dist/any23/KEYS">KEYS</a> used by the Apache Any23
    developers.</p>
 
-      <p>Apache Any23 is distributed under the <a href="http://any23.apache.org/license.html"> Apache License, version 2.0</a>.</p>
+      <p>Apache Any23 is distributed under the <a href="https://any23.apache.org/license.html"> Apache License, version 2.0</a>.</p>
 
       <subsection name="Apache Any23 Sources">
         <table>
           <thead>
             <tr>
               <th></th>
-              <th>Mirrors</th>
-              <th>Checksum</th>
-              <th>Signature</th>
+              <th>Mirror Download</th>
+              <th>ASCII Signature</th>
+              <th>SHA512 Checksum</th>
             </tr>
           </thead>
           <tbody>
             <tr>
-              <td>Apache Any23 2.1 (Source tar.gz)</td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-2.1-src.tar.gz"> apache-any23-2.1-src.tar.gz</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-2.1-src.tar.gz.md5"> apache-any23-2.1-src.tar.gz.md5</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-2.1-src.tar.gz.asc"> apache-any23-2.1-src.tar.gz.asc</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-2.1-src.tar.gz.sha512"> apache-any23-2.1-src.tar.gz.sha512</a></td>
+              <td>Apache Any23 2.2 (Source tar.gz)</td>
+              <td><a href="https://www.apache.org/dyn/closer.lua/any23/2.2/apache-any23-2.2-src.tar.gz"> apache-any23-2.2-src.tar.gz</a></td>
+              <td><a href="https://www.apache.org/dist/any23/2.2/apache-any23-2.2-src.tar.gz.asc"> apache-any23-2.2-src.tar.gz.asc</a></td>
+              <td><a href="https://www.apache.org/dist/any23/2.2/apache-any23-2.2-src.tar.gz.sha512"> apache-any23-2.2-src.tar.gz.sha512</a></td>
             </tr>
             <tr>
-              <td>Apache Any23 2.1 (Source zip)</td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-2.1-src.zip"> apache-any23-2.1-src.zip</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-2.1-src.zip.md5"> apache-any23-2.1-src.zip.md5</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-2.1-src.zip.asc"> apache-any23-2.1-src.zip.asc</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-2.1-src.zip.sha512"> apache-any23-2.1-src.zip.sha512</a></td>
+              <td>Apache Any23 2.2 (Source zip)</td>
+              <td><a href="https://www.apache.org/dyn/closer.lua/any23/2.2/apache-any23-2.2-src.zip"> apache-any23-2.2-src.zip</a></td>
+              <td><a href="https://www.apache.org/dist/any23/2.2/apache-any23-2.2-src.zip.asc"> apache-any23-2.2-src.zip.asc</a></td>
+              <td><a href="https://www.apache.org/dist/any23/2.2/apache-any23-2.2-src.zip.sha512"> apache-any23-2.2-src.zip.sha512</a></td>
             </tr>
           </tbody>
         </table>
@@ -75,25 +73,23 @@
           <thead>
             <tr>
               <th></th>
-              <th>Mirrors</th>
-              <th>Checksum</th>
-              <th>Signature</th>
+              <th>Mirror Download</th>
+              <th>ASCII Signature</th>
+              <th>SHA512 Checksum</th>
             </tr>
           </thead>
           <tbody>
             <tr>
-              <td>Apache Any23 2.1 CLI (Binary tar.gz)</td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-cli-2.1.tar.gz"> apache-any23-cli-2.1.tar.gz</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-cli-2.1.tar.gz.md5"> apache-any23-cli-2.1.tar.gz.md5</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-cli-2.1.tar.gz.asc"> apache-any23-cli-2.1.tar.gz.asc</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-cli-2.1.tar.gz.sha512"> apache-any23-cli-2.1.tar.gz.sha512</a></td>
+              <td>Apache Any23 2.2 CLI (Binary tar.gz)</td>
+              <td><a href="https://www.apache.org/dyn/closer.lua/any23/2.2/apache-any23-cli-2.2.tar.gz"> apache-any23-cli-2.2.tar.gz</a></td>
+              <td><a href="https://www.apache.org/dist/any23/2.2/apache-any23-cli-2.2.tar.gz.asc"> apache-any23-cli-2.2.tar.gz.asc</a></td>
+              <td><a href="https://www.apache.org/dist/any23/2.2/apache-any23-cli-2.2.tar.gz.sha512"> apache-any23-cli-2.2.tar.gz.sha512</a></td>
             </tr>
             <tr>
-              <td>Apache Any23 2.1 CLI (Binary zip)</td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-cli-2.1.zip"> apache-any23-cli-2.1.zip</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-cli-2.1.zip.md5"> apache-any23-cli-2.1.zip.md5</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-cli-2.1.zip.asc"> apache-any23-cli-2.1.zip.asc</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-cli-2.1.zip.sha512"> apache-any23-cli-2.1.zip.sha512</a></td>
+              <td>Apache Any23 2.2 CLI (Binary zip)</td>
+              <td><a href="https://www.apache.org/dyn/closer.lua/any23/2.2/apache-any23-cli-2.2.zip"> apache-any23-cli-2.2.zip</a></td>
+              <td><a href="https://www.apache.org/dist/any23/2.2/apache-any23-cli-2.2.zip.asc"> apache-any23-cli-2.2.zip.asc</a></td>
+              <td><a href="https://www.apache.org/dist/any23/2.2/apache-any23-cli-2.2.zip.sha512"> apache-any23-cli-2.2.zip.sha512</a></td>
             </tr>
           </tbody>
         </table>
@@ -106,25 +102,23 @@
           <thead>
             <tr>
               <th></th>
-              <th>Mirrors</th>
-              <th>Checksum</th>
-              <th>Signature</th>
+              <th>Mirror Download</th>
+              <th>ASCII Signature</th>
+              <th>SHA512 Checksum</th>
             </tr>
           </thead>
           <tbody>
             <tr>
-              <td>Apache Any23 Basic Crawler 2.1 (Binary tar.gz)</td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-basic-crawler-2.1.tar.gz"> apache-any23-basic-crawler-2.1.tar.gz</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-basic-crawler-2.1.tar.gz.md5"> apache-any23-basic-crawler-2.1.tar.gz.md5</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-basic-crawler-2.1.tar.gz.asc"> apache-any23-basic-crawler-2.1.tar.gz.asc</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-basic-crawler-2.1.tar.gz.sha512"> apache-any23-basic-crawler-2.1.tar.gz.sha512</a></td>
+              <td>Apache Any23 Basic Crawler 2.2 (Binary tar.gz)</td>
+              <td><a href="https://www.apache.org/dyn/closer.lua/any23/2.2/apache-any23-basic-crawler-2.2.tar.gz"> apache-any23-basic-crawler-2.2.tar.gz</a></td>
+              <td><a href="https://www.apache.org/dist/any23/2.2/apache-any23-basic-crawler-2.2.tar.gz.asc"> apache-any23-basic-crawler-2.2.tar.gz.asc</a></td>
+              <td><a href="https://www.apache.org/dist/any23/2.2/apache-any23-basic-crawler-2.2.tar.gz.sha512"> apache-any23-basic-crawler-2.2.tar.gz.sha512</a></td>
             </tr>
             <tr>
-              <td>Apache Any23 Basic Crawler 2.1 (Binary zip)</td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-basic-crawler-2.1.zip"> apache-any23-basic-crawler-2.1.zip</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-basic-crawler-2.1.zip.md5"> apache-any23-basic-crawler-2.1.zip.md5</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-basic-crawler-2.1.zip.asc"> apache-any23-basic-crawler-2.1.tar.gz.asc</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-basic-crawler-2.1.zip.sha512"> apache-any23-basic-crawler-2.1.tar.gz.sha512</a></td>
+              <td>Apache Any23 Basic Crawler 2.2 (Binary zip)</td>
+              <td><a href="https://www.apache.org/dyn/closer.lua/any23/2.2/apache-any23-basic-crawler-2.2.zip"> apache-any23-basic-crawler-2.2.zip</a></td>
+              <td><a href="https://www.apache.org/dist/any23/2.2/apache-any23-basic-crawler-2.2.zip.asc"> apache-any23-basic-crawler-2.2.tar.gz.asc</a></td>
+              <td><a href="https://www.apache.org/dist/any23/2.2/apache-any23-basic-crawler-2.2.zip.sha512"> apache-any23-basic-crawler-2.2.tar.gz.sha512</a></td>
             </tr>
           </tbody>
         </table>
@@ -135,25 +129,23 @@
           <thead>
             <tr>
               <th></th>
-              <th>Mirrors</th>
-              <th>Checksum</th>
-              <th>Signature</th>
+              <th>Mirror Download</th>
+              <th>ASCII Signature</th>
+              <th>SHA512 Checksum</th>
             </tr>
           </thead>
           <tbody>
             <tr>
-              <td>Apache Any23 HTML Scraper 2.1 (Binary tar.gz)</td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-html-scraper-2.1.tar.gz"> apache-any23-html-scraper-2.1.tar.gz</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-html-scraper-2.1.tar.gz.md5"> apache-any23-html-scraper-2.1.tar.gz.md5</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-html-scraper-2.1.tar.gz.asc"> apache-any23-html-scraper-2.1.tar.gz.asc</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-html-scraper-2.1.tar.gz.sha512"> apache-any23-html-scraper-2.1.tar.gz.sha512</a></td>
+              <td>Apache Any23 HTML Scraper 2.2 (Binary tar.gz)</td>
+              <td><a href="https://www.apache.org/dyn/closer.lua/any23/2.2/apache-any23-html-scraper-2.2.tar.gz"> apache-any23-html-scraper-2.2.tar.gz</a></td>
+              <td><a href="https://www.apache.org/dist/any23/2.2/apache-any23-html-scraper-2.2.tar.gz.asc"> apache-any23-html-scraper-2.2.tar.gz.asc</a></td>
+              <td><a href="https://www.apache.org/dist/any23/2.2/apache-any23-html-scraper-2.2.tar.gz.sha512"> apache-any23-html-scraper-2.2.tar.gz.sha512</a></td>
             </tr>
             <tr>
-              <td>Apache Any23 HTML Scraper 2.1 (Binary zip)</td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-html-scraper-2.1.zip"> apache-any23-html-scraper-2.1.zip</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-html-scraper-2.1.zip.md5"> apache-any23-html-scraper-2.1.zip.md5</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-html-scraper-2.1.zip.asc"> apache-any23-html-scraper-2.1.zip.asc</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-html-scraper-2.1.zip.sha512"> apache-any23-html-scraper-2.1.zip.sha512</a></td>
+              <td>Apache Any23 HTML Scraper 2.2 (Binary zip)</td>
+              <td><a href="https://www.apache.org/dyn/closer.lua/any23/2.2/apache-any23-html-scraper-2.2.zip"> apache-any23-html-scraper-2.2.zip</a></td>
+              <td><a href="https://www.apache.org/dist/any23/2.2/apache-any23-html-scraper-2.2.zip.asc"> apache-any23-html-scraper-2.2.zip.asc</a></td>
+              <td><a href="https://www.apache.org/dist/any23/2.2/apache-any23-html-scraper-2.2.zip.sha512"> apache-any23-html-scraper-2.2.zip.sha512</a></td>
             </tr>
           </tbody>
         </table>
@@ -164,25 +156,23 @@
           <thead>
             <tr>
               <th></th>
-              <th>Mirrors</th>
-              <th>Checksum</th>
-              <th>Signature</th>
+              <th>Mirror Download</th>
+              <th>ASCII Signature</th>
+              <th>SHA512 Checksum</th>
             </tr>
           </thead>
           <tbody>
             <tr>
-              <td>Apache Any23 Office Scraper 2.1 (Binary tar.gz)</td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-office-scraper-2.1.tar.gz"> apache-any23-office-scraper-2.1.tar.gz</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-office-scraper-2.1.tar.gz.md5"> apache-any23-office-scraper-2.1.tar.gz.md5</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-office-scraper-2.1.tar.gz.asc"> apache-any23-office-scraper-2.1.tar.gz.asc</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-office-scraper-2.1.tar.gz.sha512"> apache-any23-office-scraper-2.1.tar.gz.sha512</a></td>
+              <td>Apache Any23 Office Scraper 2.2 (Binary tar.gz)</td>
+              <td><a href="https://www.apache.org/dyn/closer.lua/any23/2.2/apache-any23-office-scraper-2.2.tar.gz"> apache-any23-office-scraper-2.2.tar.gz</a></td>
+              <td><a href="https://www.apache.org/dist/any23/2.2/apache-any23-office-scraper-2.2.tar.gz.asc"> apache-any23-office-scraper-2.2.tar.gz.asc</a></td>
+              <td><a href="https://www.apache.org/dist/any23/2.2/apache-any23-office-scraper-2.2.tar.gz.sha512"> apache-any23-office-scraper-2.2.tar.gz.sha512</a></td>
             </tr>
             <tr>
-              <td>Apache Any23 Office Scraper 2.1 (Binary zip)</td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-office-scraper-2.1.zip"> apache-any23-office-scraper-2.1.zip</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-office-scraper-2.1.zip.md5"> apache-any23-office-scraper-2.1.zip.md5</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-office-scraper-2.1.zip.asc"> apache-any23-office-scraper-2.1.zip.asc</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-office-scraper-2.1.zip.sha512"> apache-any23-office-scraper-2.1.zip.sha512</a></td>
+              <td>Apache Any23 Office Scraper 2.2 (Binary zip)</td>
+              <td><a href="https://www.apache.org/dyn/closer.lua/any23/2.2/apache-any23-office-scraper-2.2.zip"> apache-any23-office-scraper-2.2.zip</a></td>
+              <td><a href="https://www.apache.org/dist/any23/2.2/apache-any23-office-scraper-2.2.zip.asc"> apache-any23-office-scraper-2.2.zip.asc</a></td>
+              <td><a href="https://www.apache.org/dist/any23/2.2/apache-any23-office-scraper-2.2.zip.sha512"> apache-any23-office-scraper-2.2.zip.sha512</a></td>
             </tr>
           </tbody>
         </table>
@@ -190,92 +180,30 @@
     </section>
 
     <section name="Apache Any23 Service">
-      <subsection name="WAR package with dependencies">
-        <table>
-          <thead>
-            <tr>
-              <th></th>
-              <th>Mirrors</th>
-              <th>Checksum</th>
-              <th>Signature</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td>Apache Any23 Service 2.1 (Binary tar.gz)</td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-service-2.1-with-deps.tar.gz"> apache-any23-service-2.1-with-deps.tar.gz</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-service-2.1-with-deps.tar.gz.md5"> apache-any23-service-2.1-with-deps.tar.gz.md5</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-service-2.1-with-deps.tar.gz.asc"> apache-any23-service-2.1-with-deps.tar.gz.asc</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-service-2.1-with-deps.tar.gz.sha512"> apache-any23-service-2.1-with-deps.tar.gz.sha512</a></td>
-            </tr>
-            <tr>
-              <td>Apache Any23 Service 2.1 (Binary zip)</td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-service-2.1-with-deps.zip"> apache-any23-service-2.1-with-deps.zip</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-service-2.1-with-deps.zip.md5"> apache-any23-service-2.1-with-deps.zip.md5</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-service-2.1-with-deps.zip.asc"> apache-any23-service-2.1.zip.asc</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-service-2.1-with-deps.zip.sha512"> apache-any23-service-2.1.zip.sha512</a></td>
-            </tr>
-          </tbody>
-        </table>
+      <subsection name="WAR packages">
+        <p>Various WAR artifacts were made available for Any23 releases prior to 2.2. Post 2.2, this is not longer the case. Reasoning behind this relates to the size of the WAR artifcts post introduction of the <a href="https://github.com/apache/any23/tree/master/plugins/openie">Open Information Extraction (Open IE) module</a>. This grew the artifacts to ~1GB which became too large to distribute across the Apache global mirror network.</p>
+        <p>Release Any23 WAR artifacts can be generated by downloading one of the <a href="#Apache_Any23_Sources">Sources Artifacts</a> and then building the WAR artifacts from there.</p>
+        <p>WAR artifacts prior to 2.2 can be found in the <a href="http://archive.apache.org/dist/any23/">Apache Any23 Artifact Archive</a>.</p>
+        <p>For users merely wanting to see what the Any23 Service looks like and does, visit <b><a href="http://any23.org"></a></b>.</p>
       </subsection>
+    </section>
 
-      <subsection name="WAR package without dependencies">
-        <table>
-          <thead>
-            <tr>
-              <th></th>
-              <th>Mirrors</th>
-              <th>Checksum</th>
-              <th>Signature</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td>Apache Any23 Service (No deps) 2.1 (Binary tar.gz)</td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-service-2.1-without-deps.tar.gz"> apache-any23-service-2.1-without-deps.tar.gz</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-service-2.1-without-deps.tar.gz.md5"> apache-any23-service-2.1-without-deps.tar.gz.md5</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-service-2.1-without-deps.tar.gz.asc"> apache-any23-service-2.1-without-deps.tar.gz.asc</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-service-2.1-without-deps.tar.gz.sha512"> apache-any23-service-2.1-without-deps.tar.gz.sha512</a></td>
-            </tr>
-            <tr>
-              <td>Apache Any23 Service (No deps) 2.1 (Binary zip)</td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-service-2.1-without-deps.zip"> apache-any23-service-2.1-without-deps.zip</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-service-2.1-without-deps.zip.md5"> apache-any23-service-2.1-without-deps.zip.md5</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-service-2.1-without-deps.zip.asc"> apache-any23-service-2.1-without-deps.zip.asc</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-service-2.1-without-deps.zip.sha512"> apache-any23-service-2.1-without-deps.zip.sha512</a></td>
-            </tr>
-          </tbody>
-        </table>
+    <section name="Verify Releases">
+      <subsection>
+        <p>It is essential that you verify the integrity of the downloaded files using the PGP, and/or SHA signatures. published with every Any23 release. Please read <a href="http://httpd.apache.org/dev/verification.html">Verifying Apache HTTP Server Releases</a> for more information on why you should verify our releases. We strongly recommend you verify your downloads with at least PGP Guidance for doing so is provided below.</p>
       </subsection>
-
-      <subsection name="Standalone package with embedded Jetty">
-        <table>
-          <thead>
-            <tr>
-              <th></th>
-              <th>Mirrors</th>
-              <th>Checksum</th>
-              <th>Signature</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td>Apache Any23 Service (Standalone server embedded) 2.1 (Binary tar.gz)</td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-service-2.1-server-embedded.tar.gz"> apache-any23-service-2.1-server-embedded.tar.gz</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-service-2.1-server-embedded.tar.gz.md5"> apache-any23-service-2.1-server-embedded.tar.gz.md5</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-service-2.1-server-embedded.tar.gz.asc"> apache-any23-service-2.1-server-embedded.tar.gz.asc</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-service-2.1-server-embedded.tar.gz.sha512"> apache-any23-service-2.1-server-embedded.tar.gz.sha512</a></td>
-            </tr>
-            <tr>
-              <td>Apache Any23 Service (Standalone server embedded) 2.1 (Binary zip)</td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-service-2.1-server-embedded.zip"> apache-any23-service-2.1-server-embedded.zip</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-service-2.1-server-embedded.zip.md5"> apache-any23-service-2.1-server-embedded.zip.md5</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-service-2.1-server-embedded.zip.asc"> apache-any23-service-2.1-server-embedded.zip.asc</a></td>
-              <td><a href="http://www.apache.org/dyn/closer.lua/any23/2.1/apache-any23-service-2.1-server-embedded.zip.sha512"> apache-any23-service-2.1-server-embedded.zip.sha512</a></td>
-            </tr>
-          </tbody>
-        </table>
+      <subsection name="PGP Signatures">
+        <p>The PGP signatures can be verified using PGP or GPG. First download the <a href="https://www.apache.org/dist/any23/KEYS">KEYS</a> as well as the asc signature file for the relevant distribution. <b>N.B.</b> Make sure you get these files from the main distribution directory, rather than from a mirror. Then verify the signatures using the following example</p>
+        <code>$ gpg --import KEYS</code>
+        <code>$ gpg --verify apache-any23-2.2-src.tar.gz.asc apache-any23-2.2-src.tar.gz</code>
+        <p>The files in the most recent release are signed by Lewis John McGibbney (CODE SIGNING KEY) lewismc@apache.org 48BAEBF6</p>
+      </subsection>
+      <subsection name="SHA512 Signatures">
+        <p>Alternatively, you can verify the SHA512 signatures on the files. A unix program called md5 or md5sum is included in many unix distributions. Use the following example</p>
+        <code>$ sha512sum apache-any23-2.2-src.tar.gz</code>
+        <p>... output should match the string in apache-any23-2.2-src.tar.gz.sha512</p>
       </subsection>
     </section>
+
   </body>
 </document>