You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sirona.apache.org by rm...@apache.org on 2014/01/16 07:40:14 UTC
svn commit: r1558704 [11/14] - in /incubator/sirona/site: ./ css/ involved/
js/ releases/
Modified: incubator/sirona/site/mail-lists.html
URL: http://svn.apache.org/viewvc/incubator/sirona/site/mail-lists.html?rev=1558704&r1=1558703&r2=1558704&view=diff
==============================================================================
--- incubator/sirona/site/mail-lists.html (original)
+++ incubator/sirona/site/mail-lists.html Thu Jan 16 06:40:13 2014
@@ -1,314 +1,314 @@
-<!DOCTYPE html>
-<!--
- | Generated by Apache Maven Doxia
- | Rendered using Apache Maven Fluido Skin 1.3.1
--->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
- <meta charset="UTF-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20131219" />
- <meta http-equiv="Content-Language" content="en" />
- <title>Apache Sirona - Project Mailing Lists</title>
- <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.1.min.css" />
- <link rel="stylesheet" href="./css/site.css" />
- <link rel="stylesheet" href="./css/print.css" media="print" />
-
-
- <script type="text/javascript" src="./js/apache-maven-fluido-1.3.1.min.js"></script>
-
-
- <!-- Google Analytics -->
- <script type="text/javascript">
-
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-3211522-14']);
- _gaq.push(['_trackPageview']);
-
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
-
- </script>
- </head>
- <body class="topBarEnabled">
-
-
-
-
-
- <div id="topbar" class="navbar navbar-fixed-top ">
- <div class="navbar-inner">
- <div class="container" style="width: auto;"><div class="nav-collapse">
-
-
-
- <ul class="nav">
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">User Guide <b class="caret"></b></a>
- <ul class="dropdown-menu">
-
- <li> <a href="quick-start.html" title="Quick start">Quick start</a>
-</li>
-
- <li> <a href="concepts.html" title="Concepts">Concepts</a>
-</li>
-
- <li> <a href="basis.html" title="Basis">Basis</a>
-</li>
-
- <li> <a href="configuration.html" title="Configuration">Configuration</a>
-</li>
-
- <li> <a href="instrumentation.html" title="Instrumentation">Instrumentation</a>
-</li>
-
- <li> <a href="reporting.html" title="Reporting">Reporting</a>
-</li>
-
- <li> <a href="plugins.html" title="Plugins">Plugins</a>
-</li>
-
- <li> <a href="jta.html" title="JTA">JTA</a>
-</li>
-
- <li> <a href="jpa.html" title="JPA">JPA</a>
-</li>
-
- <li> <a href="jdbc.html" title="JDBC">JDBC</a>
-</li>
-
- <li> <a href="web.html" title="Web">Web</a>
-</li>
-
- <li> <a href="graphite.html" title="Graphite">Graphite</a>
-</li>
-
- <li> <a href="cube.html" title="Cube">Cube</a>
-</li>
-
- <li> <a href="collector.html" title="Collector">Collector</a>
-</li>
-
- <li> <a href="cassandra.html" title="Cassandra">Cassandra</a>
-</li>
-
- <li> <a href="download.cgi" title="Download">Download</a>
-</li>
- </ul>
- </li>
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Reports <b class="caret"></b></a>
- <ul class="dropdown-menu">
-
- <li> <a href="docs/0.1-incubating" title="Last Release Docs 0.1-incubating">Last Release Docs 0.1-incubating</a>
-</li>
-
- <li> <a href="releases/release-notes-0.1-incubating.html" title="Last Release 0.1-incubating Changelog">Last Release 0.1-incubating Changelog</a>
-</li>
-
- <li> <a href="docs/0.2-incubating-SNAPSHOT" title="Dev Docs 0.2-incubating-SNAPSHOT">Dev Docs 0.2-incubating-SNAPSHOT</a>
-</li>
-
- <li> <a href="docs/0.2-incubating-SNAPSHOT/jira-report.html" title="Dev Changelog 0.2-incubating-SNAPSHOT">Dev Changelog 0.2-incubating-SNAPSHOT</a>
-</li>
- </ul>
- </li>
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Get Involved <b class="caret"></b></a>
- <ul class="dropdown-menu">
-
- <li> <a href="irc.html" title="IRC">IRC</a>
-</li>
-
- <li> <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
-</li>
-
- <li> <a href="issue-tracking.html" title="Issues">Issues</a>
-</li>
-
- <li> <a href="team-list.html" title="Team">Team</a>
-</li>
-
- <li> <a href="source-repository.html" title="Sources">Sources</a>
-</li>
-
- <li> <a href="integration.html" title="Continuous Integration">Continuous Integration</a>
-</li>
-
- <li> <a href="involved/building.html" title="Building Guide">Building Guide</a>
-</li>
-
- <li> <a href="involved/releasing.html" title="Release Guide">Release Guide</a>
-</li>
- </ul>
- </li>
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Documentation <b class="caret"></b></a>
- <ul class="dropdown-menu">
-
- <li class="dropdown-submenu">
- <a href="project-info.html" title="Project Information">Project Information</a>
- <ul class="dropdown-menu">
- <li> <a href="integration.html" title="Continuous Integration">Continuous Integration</a>
-</li>
- <li> <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
-</li>
- <li> <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
-</li>
- <li> <a href="license.html" title="Project License">Project License</a>
-</li>
- <li> <a href="team-list.html" title="Project Team">Project Team</a>
-</li>
- <li> <a href="source-repository.html" title="Source Repository">Source Repository</a>
-</li>
- </ul>
- </li>
- </ul>
- </li>
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a>
- <ul class="dropdown-menu">
-
- <li> <a href="http://www.apache.org/foundation/how-it-works.html" title="How Apache Works">How Apache Works</a>
-</li>
-
- <li> <a href="http://www.apache.org/foundation/" title="Foundation">Foundation</a>
-</li>
-
- <li> <a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsoring Apache">Sponsoring Apache</a>
-</li>
-
- <li> <a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a>
-</li>
- </ul>
- </li>
- </ul>
-
-
-
-
-
- <ul class="nav pull-right"><li>
-
- <a href="https://twitter.com/ApacheSirona" class="twitter-follow-button" data-show-count="true" data-align="right" data-size="large" data-show-screen-name="true" data-lang="en">Follow ApacheSirona</a>
- <script type="text/javascript">!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
-
- </li></ul>
-
-
- </div>
-
- </div>
- </div>
- </div>
-
- <div class="container">
- <div id="banner">
- <div class="pull-left">
- <a href="index.html" id="bannerLeft" title="Apache Sirona logo">
- <h2>Apache Sirona</h2>
- </a>
- </div>
- <div class="pull-right"> <a href="http://incubator.apache.org/" id="bannerRight">
- <img src="http://incubator.apache.org/images/egg-logo.png" />
- </a>
- </div>
- <div class="clear"><hr/></div>
- </div>
-
- <div id="breadcrumbs">
- <ul class="breadcrumb">
-
-
- <li class="">
- <a href="http://www.apache.org/" class="externalLink" title="Apache">
- Apache</a>
- <span class="divider">/</span>
- </li>
- <li class="active ">Project Mailing Lists</li>
-
-
-
- <li id="publishDate" class="pull-right">Last Published: 19 Dec 2013</li>
-
- </ul>
- </div>
-
-
-
- <div id="bodyColumn" >
-
- <div class="section">
-<h2>Project Mailing Lists<a name="Project_Mailing_Lists"></a></h2><a name="Project_Mailing_Lists"></a>
-<p>These are the mailing lists that have been established for this project. For each list, there is a subscribe, unsubscribe, and an archive link.</p>
-<table border="0" class="table table-striped">
-<tr class="a">
-<th>Name</th>
-<th>Subscribe</th>
-<th>Unsubscribe</th>
-<th>Post</th>
-<th>Archive</th>
-<th>Other Archives</th></tr>
-<tr class="b">
-<td>Users</td>
-<td><a class="externalLink" href="mailto:user-subscribe@sirona.incubator.apache.org">Subscribe</a></td>
-<td><a class="externalLink" href="mailto:user-unsubscribe@sirona.incubator.apache.org">Unsubscribe</a></td>
-<td><a class="externalLink" href="mailto:user@sirona.incubator.apache.org">Post</a></td>
-<td><a class="externalLink" href="http://mail-archives.apache.org/mod_mbox/sirona-user/">mail-archives.apache.org</a></td>
-<td><a class="externalLink" href="http://sirona-user.markmail.org/">sirona-user.markmail.org</a></td></tr>
-<tr class="a">
-<td>Dev</td>
-<td><a class="externalLink" href="mailto:dev-subscribe@sirona.incubator.apache.org">Subscribe</a></td>
-<td><a class="externalLink" href="mailto:dev-unsubscribe@sirona.incubator.apache.org">Unsubscribe</a></td>
-<td><a class="externalLink" href="mailto:dev@sirona.incubator.apache.org">Post</a></td>
-<td><a class="externalLink" href="http://mail-archives.apache.org/mod_mbox/sirona-dev/">mail-archives.apache.org</a></td>
-<td><a class="externalLink" href="http://sirona-dev.markmail.org/">sirona-dev.markmail.org</a></td></tr>
-<tr class="b">
-<td>Commits</td>
-<td><a class="externalLink" href="mailto:commits-subscribe@sirona.incubator.apache.org">Subscribe</a></td>
-<td><a class="externalLink" href="mailto:commits-unsubscribe@sirona.incubator.apache.org">Unsubscribe</a></td>
-<td><a class="externalLink" href="mailto:commits@sirona.incubator.apache.org">Post</a></td>
-<td><a class="externalLink" href="http://mail-archives.apache.org/mod_mbox/sirona-commits/">mail-archives.apache.org</a></td>
-<td><a class="externalLink" href="http://sirona-commits.markmail.org/">sirona-commits.markmail.org</a></td></tr></table></div>
- </div>
- </div>
-
- <hr/>
-
- <footer>
- <div class="container">
- <div class="row">
- <p >Copyright © 2008–2013
- <a href="http://www.apache.org/">The Apache Software Foundation</a>.
- All rights reserved.
-
- </p>
- </div>
-
-
-<div class="row span16">
- <div>Apache Sirona, Apache, the Apache feather logo, and the Apache Sirona project logos are trademarks of The Apache Software Foundation.
- All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div>
- <a href="http://sirona.incubator.apache.org/privacy-policy.html">Privacy Policy</a>
-</div>
-
- <p id="poweredBy" class="pull-right">
- <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
- <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
- </a>
- </p>
-
-
-
-
-
- <div id="ohloh" class="pull-right">
- <script type="text/javascript" src="http://www.ohloh.net/p/sirona/widgets/project_basic_stats.js"></script>
- </div>
- </div>
- </footer>
- </body>
+<!DOCTYPE html>
+<!--
+ | Generated by Apache Maven Doxia
+ | Rendered using Apache Maven Fluido Skin 1.3.1
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta charset="UTF-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <meta name="Date-Revision-yyyymmdd" content="20140116" />
+ <meta http-equiv="Content-Language" content="en" />
+ <title>Apache Sirona - Project Mailing Lists</title>
+ <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.1.min.css" />
+ <link rel="stylesheet" href="./css/site.css" />
+ <link rel="stylesheet" href="./css/print.css" media="print" />
+
+
+ <script type="text/javascript" src="./js/apache-maven-fluido-1.3.1.min.js"></script>
+
+
+ <!-- Google Analytics -->
+ <script type="text/javascript">
+
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-3211522-14']);
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+
+ </script>
+ </head>
+ <body class="topBarEnabled">
+
+
+
+
+
+ <div id="topbar" class="navbar navbar-fixed-top ">
+ <div class="navbar-inner">
+ <div class="container" style="width: auto;"><div class="nav-collapse">
+
+
+
+ <ul class="nav">
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">User Guide <b class="caret"></b></a>
+ <ul class="dropdown-menu">
+
+ <li> <a href="quick-start.html" title="Quick start">Quick start</a>
+</li>
+
+ <li> <a href="concepts.html" title="Concepts">Concepts</a>
+</li>
+
+ <li> <a href="basis.html" title="Basis">Basis</a>
+</li>
+
+ <li> <a href="configuration.html" title="Configuration">Configuration</a>
+</li>
+
+ <li> <a href="instrumentation.html" title="Instrumentation">Instrumentation</a>
+</li>
+
+ <li> <a href="reporting.html" title="Reporting">Reporting</a>
+</li>
+
+ <li> <a href="plugins.html" title="Plugins">Plugins</a>
+</li>
+
+ <li> <a href="jta.html" title="JTA">JTA</a>
+</li>
+
+ <li> <a href="jpa.html" title="JPA">JPA</a>
+</li>
+
+ <li> <a href="jdbc.html" title="JDBC">JDBC</a>
+</li>
+
+ <li> <a href="web.html" title="Web">Web</a>
+</li>
+
+ <li> <a href="graphite.html" title="Graphite">Graphite</a>
+</li>
+
+ <li> <a href="cube.html" title="Cube">Cube</a>
+</li>
+
+ <li> <a href="collector.html" title="Collector">Collector</a>
+</li>
+
+ <li> <a href="cassandra.html" title="Cassandra">Cassandra</a>
+</li>
+
+ <li> <a href="download.cgi" title="Download">Download</a>
+</li>
+ </ul>
+ </li>
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Reports <b class="caret"></b></a>
+ <ul class="dropdown-menu">
+
+ <li> <a href="docs/0.1-incubating" title="Last Release Docs 0.1-incubating">Last Release Docs 0.1-incubating</a>
+</li>
+
+ <li> <a href="releases/release-notes-0.1-incubating.html" title="Last Release 0.1-incubating Changelog">Last Release 0.1-incubating Changelog</a>
+</li>
+
+ <li> <a href="docs/0.2-incubating-SNAPSHOT" title="Dev Docs 0.2-incubating-SNAPSHOT">Dev Docs 0.2-incubating-SNAPSHOT</a>
+</li>
+
+ <li> <a href="docs/0.2-incubating-SNAPSHOT/jira-report.html" title="Dev Changelog 0.2-incubating-SNAPSHOT">Dev Changelog 0.2-incubating-SNAPSHOT</a>
+</li>
+ </ul>
+ </li>
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Get Involved <b class="caret"></b></a>
+ <ul class="dropdown-menu">
+
+ <li> <a href="irc.html" title="IRC">IRC</a>
+</li>
+
+ <li> <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
+</li>
+
+ <li> <a href="issue-tracking.html" title="Issues">Issues</a>
+</li>
+
+ <li> <a href="team-list.html" title="Team">Team</a>
+</li>
+
+ <li> <a href="source-repository.html" title="Sources">Sources</a>
+</li>
+
+ <li> <a href="integration.html" title="Continuous Integration">Continuous Integration</a>
+</li>
+
+ <li> <a href="involved/building.html" title="Building Guide">Building Guide</a>
+</li>
+
+ <li> <a href="involved/releasing.html" title="Release Guide">Release Guide</a>
+</li>
+ </ul>
+ </li>
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Documentation <b class="caret"></b></a>
+ <ul class="dropdown-menu">
+
+ <li class="dropdown-submenu">
+ <a href="project-info.html" title="Project Information">Project Information</a>
+ <ul class="dropdown-menu">
+ <li> <a href="integration.html" title="Continuous Integration">Continuous Integration</a>
+</li>
+ <li> <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
+</li>
+ <li> <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
+</li>
+ <li> <a href="license.html" title="Project License">Project License</a>
+</li>
+ <li> <a href="team-list.html" title="Project Team">Project Team</a>
+</li>
+ <li> <a href="source-repository.html" title="Source Repository">Source Repository</a>
+</li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a>
+ <ul class="dropdown-menu">
+
+ <li> <a href="http://www.apache.org/foundation/how-it-works.html" title="How Apache Works">How Apache Works</a>
+</li>
+
+ <li> <a href="http://www.apache.org/foundation/" title="Foundation">Foundation</a>
+</li>
+
+ <li> <a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsoring Apache">Sponsoring Apache</a>
+</li>
+
+ <li> <a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a>
+</li>
+ </ul>
+ </li>
+ </ul>
+
+
+
+
+
+ <ul class="nav pull-right"><li>
+
+ <a href="https://twitter.com/ApacheSirona" class="twitter-follow-button" data-show-count="true" data-align="right" data-size="large" data-show-screen-name="true" data-lang="en">Follow ApacheSirona</a>
+ <script type="text/javascript">!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+
+ </li></ul>
+
+
+ </div>
+
+ </div>
+ </div>
+ </div>
+
+ <div class="container">
+ <div id="banner">
+ <div class="pull-left">
+ <a href="index.html" id="bannerLeft" title="Apache Sirona logo">
+ <h2>Apache Sirona</h2>
+ </a>
+ </div>
+ <div class="pull-right"> <a href="http://incubator.apache.org/" id="bannerRight">
+ <img src="http://incubator.apache.org/images/egg-logo.png" />
+ </a>
+ </div>
+ <div class="clear"><hr/></div>
+ </div>
+
+ <div id="breadcrumbs">
+ <ul class="breadcrumb">
+
+
+ <li class="">
+ <a href="http://www.apache.org/" class="externalLink" title="Apache">
+ Apache</a>
+ <span class="divider">/</span>
+ </li>
+ <li class="active ">Project Mailing Lists</li>
+
+
+
+ <li id="publishDate" class="pull-right">Last Published: 16 Jan 2014</li>
+
+ </ul>
+ </div>
+
+
+
+ <div id="bodyColumn" >
+
+ <div class="section">
+<h2>Project Mailing Lists<a name="Project_Mailing_Lists"></a></h2><a name="Project_Mailing_Lists"></a>
+<p>These are the mailing lists that have been established for this project. For each list, there is a subscribe, unsubscribe, and an archive link.</p>
+<table border="0" class="table table-striped">
+<tr class="a">
+<th>Name</th>
+<th>Subscribe</th>
+<th>Unsubscribe</th>
+<th>Post</th>
+<th>Archive</th>
+<th>Other Archives</th></tr>
+<tr class="b">
+<td>Users</td>
+<td><a class="externalLink" href="mailto:user-subscribe@sirona.incubator.apache.org">Subscribe</a></td>
+<td><a class="externalLink" href="mailto:user-unsubscribe@sirona.incubator.apache.org">Unsubscribe</a></td>
+<td><a class="externalLink" href="mailto:user@sirona.incubator.apache.org">Post</a></td>
+<td><a class="externalLink" href="http://mail-archives.apache.org/mod_mbox/sirona-user/">mail-archives.apache.org</a></td>
+<td><a class="externalLink" href="http://sirona-user.markmail.org/">sirona-user.markmail.org</a></td></tr>
+<tr class="a">
+<td>Dev</td>
+<td><a class="externalLink" href="mailto:dev-subscribe@sirona.incubator.apache.org">Subscribe</a></td>
+<td><a class="externalLink" href="mailto:dev-unsubscribe@sirona.incubator.apache.org">Unsubscribe</a></td>
+<td><a class="externalLink" href="mailto:dev@sirona.incubator.apache.org">Post</a></td>
+<td><a class="externalLink" href="http://mail-archives.apache.org/mod_mbox/sirona-dev/">mail-archives.apache.org</a></td>
+<td><a class="externalLink" href="http://sirona-dev.markmail.org/">sirona-dev.markmail.org</a></td></tr>
+<tr class="b">
+<td>Commits</td>
+<td><a class="externalLink" href="mailto:commits-subscribe@sirona.incubator.apache.org">Subscribe</a></td>
+<td><a class="externalLink" href="mailto:commits-unsubscribe@sirona.incubator.apache.org">Unsubscribe</a></td>
+<td><a class="externalLink" href="mailto:commits@sirona.incubator.apache.org">Post</a></td>
+<td><a class="externalLink" href="http://mail-archives.apache.org/mod_mbox/sirona-commits/">mail-archives.apache.org</a></td>
+<td><a class="externalLink" href="http://sirona-commits.markmail.org/">sirona-commits.markmail.org</a></td></tr></table></div>
+ </div>
+ </div>
+
+ <hr/>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <p >Copyright © 2008–2014
+ <a href="http://www.apache.org/">The Apache Software Foundation</a>.
+ All rights reserved.
+
+ </p>
+ </div>
+
+
+<div class="row span16">
+ <div>Apache Sirona, Apache, the Apache feather logo, and the Apache Sirona project logos are trademarks of The Apache Software Foundation.
+ All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div>
+ <a href="http://sirona.incubator.apache.org/privacy-policy.html">Privacy Policy</a>
+</div>
+
+ <p id="poweredBy" class="pull-right">
+ <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+ <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+ </a>
+ </p>
+
+
+
+
+
+ <div id="ohloh" class="pull-right">
+ <script type="text/javascript" src="http://www.ohloh.net/p/sirona/widgets/project_basic_stats.js"></script>
+ </div>
+ </div>
+ </footer>
+ </body>
</html>
\ No newline at end of file
Modified: incubator/sirona/site/plugins.html
URL: http://svn.apache.org/viewvc/incubator/sirona/site/plugins.html?rev=1558704&r1=1558703&r2=1558704&view=diff
==============================================================================
--- incubator/sirona/site/plugins.html (original)
+++ incubator/sirona/site/plugins.html Thu Jan 16 06:40:13 2014
@@ -1,423 +1,423 @@
-<!DOCTYPE html>
-<!--
- | Generated by Apache Maven Doxia
- | Rendered using Apache Maven Fluido Skin 1.3.1
--->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
- <meta charset="UTF-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20131219" />
- <meta http-equiv="Content-Language" content="en" />
- <title>Apache Sirona - Plugins</title>
- <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.1.min.css" />
- <link rel="stylesheet" href="./css/site.css" />
- <link rel="stylesheet" href="./css/print.css" media="print" />
-
-
- <script type="text/javascript" src="./js/apache-maven-fluido-1.3.1.min.js"></script>
-
-
- <!-- Google Analytics -->
- <script type="text/javascript">
-
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-3211522-14']);
- _gaq.push(['_trackPageview']);
-
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
-
- </script>
- </head>
- <body class="topBarEnabled">
-
-
-
-
-
- <div id="topbar" class="navbar navbar-fixed-top ">
- <div class="navbar-inner">
- <div class="container" style="width: auto;"><div class="nav-collapse">
-
-
-
- <ul class="nav">
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">User Guide <b class="caret"></b></a>
- <ul class="dropdown-menu">
-
- <li> <a href="quick-start.html" title="Quick start">Quick start</a>
-</li>
-
- <li> <a href="concepts.html" title="Concepts">Concepts</a>
-</li>
-
- <li> <a href="basis.html" title="Basis">Basis</a>
-</li>
-
- <li> <a href="configuration.html" title="Configuration">Configuration</a>
-</li>
-
- <li> <a href="instrumentation.html" title="Instrumentation">Instrumentation</a>
-</li>
-
- <li> <a href="reporting.html" title="Reporting">Reporting</a>
-</li>
-
- <li> <a href="plugins.html" title="Plugins">Plugins</a>
-</li>
-
- <li> <a href="jta.html" title="JTA">JTA</a>
-</li>
-
- <li> <a href="jpa.html" title="JPA">JPA</a>
-</li>
-
- <li> <a href="jdbc.html" title="JDBC">JDBC</a>
-</li>
-
- <li> <a href="web.html" title="Web">Web</a>
-</li>
-
- <li> <a href="graphite.html" title="Graphite">Graphite</a>
-</li>
-
- <li> <a href="cube.html" title="Cube">Cube</a>
-</li>
-
- <li> <a href="collector.html" title="Collector">Collector</a>
-</li>
-
- <li> <a href="cassandra.html" title="Cassandra">Cassandra</a>
-</li>
-
- <li> <a href="download.cgi" title="Download">Download</a>
-</li>
- </ul>
- </li>
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Reports <b class="caret"></b></a>
- <ul class="dropdown-menu">
-
- <li> <a href="docs/0.1-incubating" title="Last Release Docs 0.1-incubating">Last Release Docs 0.1-incubating</a>
-</li>
-
- <li> <a href="releases/release-notes-0.1-incubating.html" title="Last Release 0.1-incubating Changelog">Last Release 0.1-incubating Changelog</a>
-</li>
-
- <li> <a href="docs/0.2-incubating-SNAPSHOT" title="Dev Docs 0.2-incubating-SNAPSHOT">Dev Docs 0.2-incubating-SNAPSHOT</a>
-</li>
-
- <li> <a href="docs/0.2-incubating-SNAPSHOT/jira-report.html" title="Dev Changelog 0.2-incubating-SNAPSHOT">Dev Changelog 0.2-incubating-SNAPSHOT</a>
-</li>
- </ul>
- </li>
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Get Involved <b class="caret"></b></a>
- <ul class="dropdown-menu">
-
- <li> <a href="irc.html" title="IRC">IRC</a>
-</li>
-
- <li> <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
-</li>
-
- <li> <a href="issue-tracking.html" title="Issues">Issues</a>
-</li>
-
- <li> <a href="team-list.html" title="Team">Team</a>
-</li>
-
- <li> <a href="source-repository.html" title="Sources">Sources</a>
-</li>
-
- <li> <a href="integration.html" title="Continuous Integration">Continuous Integration</a>
-</li>
-
- <li> <a href="involved/building.html" title="Building Guide">Building Guide</a>
-</li>
-
- <li> <a href="involved/releasing.html" title="Release Guide">Release Guide</a>
-</li>
- </ul>
- </li>
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Documentation <b class="caret"></b></a>
- <ul class="dropdown-menu">
-
- <li class="dropdown-submenu">
- <a href="project-info.html" title="Project Information">Project Information</a>
- <ul class="dropdown-menu">
- <li> <a href="integration.html" title="Continuous Integration">Continuous Integration</a>
-</li>
- <li> <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
-</li>
- <li> <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
-</li>
- <li> <a href="license.html" title="Project License">Project License</a>
-</li>
- <li> <a href="team-list.html" title="Project Team">Project Team</a>
-</li>
- <li> <a href="source-repository.html" title="Source Repository">Source Repository</a>
-</li>
- </ul>
- </li>
- </ul>
- </li>
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a>
- <ul class="dropdown-menu">
-
- <li> <a href="http://www.apache.org/foundation/how-it-works.html" title="How Apache Works">How Apache Works</a>
-</li>
-
- <li> <a href="http://www.apache.org/foundation/" title="Foundation">Foundation</a>
-</li>
-
- <li> <a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsoring Apache">Sponsoring Apache</a>
-</li>
-
- <li> <a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a>
-</li>
- </ul>
- </li>
- </ul>
-
-
-
-
-
- <ul class="nav pull-right"><li>
-
- <a href="https://twitter.com/ApacheSirona" class="twitter-follow-button" data-show-count="true" data-align="right" data-size="large" data-show-screen-name="true" data-lang="en">Follow ApacheSirona</a>
- <script type="text/javascript">!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
-
- </li></ul>
-
-
- </div>
-
- </div>
- </div>
- </div>
-
- <div class="container">
- <div id="banner">
- <div class="pull-left">
- <a href="index.html" id="bannerLeft" title="Apache Sirona logo">
- <h2>Apache Sirona</h2>
- </a>
- </div>
- <div class="pull-right"> <a href="http://incubator.apache.org/" id="bannerRight">
- <img src="http://incubator.apache.org/images/egg-logo.png" />
- </a>
- </div>
- <div class="clear"><hr/></div>
- </div>
-
- <div id="breadcrumbs">
- <ul class="breadcrumb">
-
-
- <li class="">
- <a href="http://www.apache.org/" class="externalLink" title="Apache">
- Apache</a>
- <span class="divider">/</span>
- </li>
- <li class="active ">Plugins</li>
-
-
-
- <li id="publishDate" class="pull-right">Last Published: 19 Dec 2013</li>
-
- </ul>
- </div>
-
-
-
- <div id="bodyColumn" >
-
- <!-- -
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you 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. --><div class="section">
-<h2>Plugins<a name="Plugins"></a></h2>
-<p>There are several kind of plugins:</p>
-
-<ul>
-
-<li><tt>org.apache.sirona.gauges.Gauge</tt> and <tt>org.apache.sirona.gauges.GaugeFactory</tt>: you can add your own gauges</li>
-
-<li><tt>org.apache.sirona.reporting.web.plugin.api.Plugin</tt>: add feature to the web GUI</li>
-</ul></div>
-<div class="section">
-<h2>Write your own gauge<a name="Write_your_own_gauge"></a></h2>
-<p>To add your own Gauge you have two main solutions:</p>
-
-<ul>
-
-<li>simply implement a <tt>org.apache.sirona.gauges.Gauge</tt> and register it using ServiceLoader mecanism (META-INF/services/org.apache.sirona.gauges.Gauge)</li>
-
-<li>implement a <tt>org.apache.sirona.gauges.GaugeFactory</tt> which is registered it using ServiceLoader mecanism (META-INF/services/org.apache.sirona.gauges.GaugeFactory) and return the gauges you want to register</li>
-</ul>
-<p>What is GaugeFactory designed for? Imagine a custom gauge is parameterized. You’ll surely want to register it several times with different parameters. If you use Gauge SPI you’ll need to do N implementations (which makes the parameters useless). With GaugeFactory you just need to return the built instances:</p>
-
-<div>
-<pre class="prettyprint linenums">
-public class MyGaugeFactory implements GaugeFactory {
- @Override
- public Gauge[] gauges() {
- return new Gauge[] { new MyGauge(1); new MyGauge(2); };
- }
-}
-</pre></div></div>
-<div class="section">
-<h2>Extend the reporting GUI<a name="Extend_the_reporting_GUI"></a></h2>
-<p>To extend the reporting GUI just write your own <tt>org.apache.sirona.reporting.web.plugin.api.Plugin</tt>. Here too it relies on java ServiceLoader (SPI) mecanism.</p>
-<p>Here is the Plugin interface:</p>
-
-<div>
-<pre class="prettyprint linenums">
-public interface Plugin {
- String name();
- Class<?> endpoints();
- String mapping();
-}
-</pre></div>
-<p>A plugin has basically a name (what will identify it in the webapp and in the GUI - it will be the name of the plugin tab), a mapping, ie which base subcontext it will use for its own pages (for instance /jmx, /myplugin …) and a class representing endpoints.</p>
-<p>To make it more concrete we’ll use a sample (the standard Hello World).</p>
-<div class="section">
-<h3>Define the plugin<a name="Define_the_plugin"></a></h3>
-<p>So first we define our HelloPlugin:</p>
-
-<div>
-<pre class="prettyprint linenums">
-public class HelloPlugin implements Plugin {
- public String name() {
- return "Hello";
- }
-
- public Class<?> endpoints() {
- return HelloEndpoints.class;
- }
-
- public String mapping() {
- return "/hello";
- }
-}
-</pre></div></div>
-<div class="section">
-<h3>Define the endpoints<a name="Define_the_endpoints"></a></h3>
-<p>The <tt>HelloEndpoints</tt> class defines all the urls accessible for the hello plugin. It uses the <tt>org.apache.sirona.reporting.web.plugin.api.Regex</tt> annotation:</p>
-
-<div>
-<pre class="prettyprint linenums">
-public class HelloEndpoints {
- @Regex // will match "/hello"
- public Template home() {
- return new Template("hello/home.vm", new MapBuilder<String, Object>().set("name", "world).build());
- }
-
- @Regex("/world/([0-9]*)/([0-9]*)") // will match "/hello/world/1/2"
- public String jsonWorld(final long start, final long end) {
- return "{ \"name\": \world\", \"start\":\"" + long1 + "\",\"end\":\"" + long2 + "\"}";
- }
-}
-</pre></div>
-<p>The first home method uses a template. The GUI relies on velocity and html templates needs to be in the classloader in templates directory.</p>
-<p>So basically the home method will search for templates/hello/home.vm velocity template. It is only the “main” part of the GUI (the tabs are automatically added). Twitter bootstrap (3.0.0) and JQuery (2.0.3) are available.</p>
-<p>Here is a sample:</p>
-
-<div>
-<pre class="prettyprint linenums">
-<h1>Hello</h1>
-<div>
- Welcome to $name
-</div>
-</pre></div>
-<p>If you need resources put them in the classloader too in “resources” folder.</p>
-<p>Note: if you want to do links in the template you can use $mapping variable as base context of your link. For instance: >a href=“$mapping/foo”<Foo>/a<.</p>
-<p>If you want to filter some resources you can add a custom endpoint:</p>
-
-<div>
-<pre class="prettyprint linenums">
-@Regex("/resources/myresource.css")
-public void filterCss(final TemplateHelper helper) {
- helper.renderPlain("/resources/myresource.css");
-}
-</pre></div>
-<div class="section">
-<h4><tt>@Regex</tt><a name="aRegex"></a></h4>
-<p><tt>@Regex</tt> allows you to get injected path segments, here is what is handled:</p>
-
-<ul>
-
-<li>HttpServletRequest</li>
-
-<li>HttpServletResponse</li>
-
-<li>TemplateHelper (should be used when you want to render a velocity template which is not in /templates and is not decorated by the default GUI layout)</li>
-
-<li>String: will inject the matching element of the regex (it is indexed = if you inject 2 strings the first one will be the first group and the second one the second group)</li>
-
-<li>Long, Integer: same as for String but converted</li>
-
-<li>String[]: all not yet matched segments of the regex</li>
-</ul>
-<p>For instance <tt>@Regex("/operation/([^/]*)/([^/]*)/(.*)")</tt> will match <tt>foo(String, String, String[])</tt>. If the url is <tt>/operation/a/b/c/d/e</tt> you’ll get <tt>foo("a", "b", { "c", "d", "e" })</tt>.</p></div></div></div>
- </div>
- </div>
-
- <hr/>
-
- <footer>
- <div class="container">
- <div class="row">
- <p >Copyright © 2008–2013
- <a href="http://www.apache.org/">The Apache Software Foundation</a>.
- All rights reserved.
-
- </p>
- </div>
-
-
-<div class="row span16">
- <div>Apache Sirona, Apache, the Apache feather logo, and the Apache Sirona project logos are trademarks of The Apache Software Foundation.
- All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div>
- <a href="http://sirona.incubator.apache.org/privacy-policy.html">Privacy Policy</a>
-</div>
-
- <p id="poweredBy" class="pull-right">
- <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
- <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
- </a>
- </p>
-
-
-
-
-
- <div id="ohloh" class="pull-right">
- <script type="text/javascript" src="http://www.ohloh.net/p/sirona/widgets/project_basic_stats.js"></script>
- </div>
- </div>
- </footer>
- </body>
+<!DOCTYPE html>
+<!--
+ | Generated by Apache Maven Doxia
+ | Rendered using Apache Maven Fluido Skin 1.3.1
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta charset="UTF-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <meta name="Date-Revision-yyyymmdd" content="20140116" />
+ <meta http-equiv="Content-Language" content="en" />
+ <title>Apache Sirona - Plugins</title>
+ <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.1.min.css" />
+ <link rel="stylesheet" href="./css/site.css" />
+ <link rel="stylesheet" href="./css/print.css" media="print" />
+
+
+ <script type="text/javascript" src="./js/apache-maven-fluido-1.3.1.min.js"></script>
+
+
+ <!-- Google Analytics -->
+ <script type="text/javascript">
+
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-3211522-14']);
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+
+ </script>
+ </head>
+ <body class="topBarEnabled">
+
+
+
+
+
+ <div id="topbar" class="navbar navbar-fixed-top ">
+ <div class="navbar-inner">
+ <div class="container" style="width: auto;"><div class="nav-collapse">
+
+
+
+ <ul class="nav">
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">User Guide <b class="caret"></b></a>
+ <ul class="dropdown-menu">
+
+ <li> <a href="quick-start.html" title="Quick start">Quick start</a>
+</li>
+
+ <li> <a href="concepts.html" title="Concepts">Concepts</a>
+</li>
+
+ <li> <a href="basis.html" title="Basis">Basis</a>
+</li>
+
+ <li> <a href="configuration.html" title="Configuration">Configuration</a>
+</li>
+
+ <li> <a href="instrumentation.html" title="Instrumentation">Instrumentation</a>
+</li>
+
+ <li> <a href="reporting.html" title="Reporting">Reporting</a>
+</li>
+
+ <li> <a href="plugins.html" title="Plugins">Plugins</a>
+</li>
+
+ <li> <a href="jta.html" title="JTA">JTA</a>
+</li>
+
+ <li> <a href="jpa.html" title="JPA">JPA</a>
+</li>
+
+ <li> <a href="jdbc.html" title="JDBC">JDBC</a>
+</li>
+
+ <li> <a href="web.html" title="Web">Web</a>
+</li>
+
+ <li> <a href="graphite.html" title="Graphite">Graphite</a>
+</li>
+
+ <li> <a href="cube.html" title="Cube">Cube</a>
+</li>
+
+ <li> <a href="collector.html" title="Collector">Collector</a>
+</li>
+
+ <li> <a href="cassandra.html" title="Cassandra">Cassandra</a>
+</li>
+
+ <li> <a href="download.cgi" title="Download">Download</a>
+</li>
+ </ul>
+ </li>
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Reports <b class="caret"></b></a>
+ <ul class="dropdown-menu">
+
+ <li> <a href="docs/0.1-incubating" title="Last Release Docs 0.1-incubating">Last Release Docs 0.1-incubating</a>
+</li>
+
+ <li> <a href="releases/release-notes-0.1-incubating.html" title="Last Release 0.1-incubating Changelog">Last Release 0.1-incubating Changelog</a>
+</li>
+
+ <li> <a href="docs/0.2-incubating-SNAPSHOT" title="Dev Docs 0.2-incubating-SNAPSHOT">Dev Docs 0.2-incubating-SNAPSHOT</a>
+</li>
+
+ <li> <a href="docs/0.2-incubating-SNAPSHOT/jira-report.html" title="Dev Changelog 0.2-incubating-SNAPSHOT">Dev Changelog 0.2-incubating-SNAPSHOT</a>
+</li>
+ </ul>
+ </li>
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Get Involved <b class="caret"></b></a>
+ <ul class="dropdown-menu">
+
+ <li> <a href="irc.html" title="IRC">IRC</a>
+</li>
+
+ <li> <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
+</li>
+
+ <li> <a href="issue-tracking.html" title="Issues">Issues</a>
+</li>
+
+ <li> <a href="team-list.html" title="Team">Team</a>
+</li>
+
+ <li> <a href="source-repository.html" title="Sources">Sources</a>
+</li>
+
+ <li> <a href="integration.html" title="Continuous Integration">Continuous Integration</a>
+</li>
+
+ <li> <a href="involved/building.html" title="Building Guide">Building Guide</a>
+</li>
+
+ <li> <a href="involved/releasing.html" title="Release Guide">Release Guide</a>
+</li>
+ </ul>
+ </li>
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Documentation <b class="caret"></b></a>
+ <ul class="dropdown-menu">
+
+ <li class="dropdown-submenu">
+ <a href="project-info.html" title="Project Information">Project Information</a>
+ <ul class="dropdown-menu">
+ <li> <a href="integration.html" title="Continuous Integration">Continuous Integration</a>
+</li>
+ <li> <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
+</li>
+ <li> <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
+</li>
+ <li> <a href="license.html" title="Project License">Project License</a>
+</li>
+ <li> <a href="team-list.html" title="Project Team">Project Team</a>
+</li>
+ <li> <a href="source-repository.html" title="Source Repository">Source Repository</a>
+</li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a>
+ <ul class="dropdown-menu">
+
+ <li> <a href="http://www.apache.org/foundation/how-it-works.html" title="How Apache Works">How Apache Works</a>
+</li>
+
+ <li> <a href="http://www.apache.org/foundation/" title="Foundation">Foundation</a>
+</li>
+
+ <li> <a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsoring Apache">Sponsoring Apache</a>
+</li>
+
+ <li> <a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a>
+</li>
+ </ul>
+ </li>
+ </ul>
+
+
+
+
+
+ <ul class="nav pull-right"><li>
+
+ <a href="https://twitter.com/ApacheSirona" class="twitter-follow-button" data-show-count="true" data-align="right" data-size="large" data-show-screen-name="true" data-lang="en">Follow ApacheSirona</a>
+ <script type="text/javascript">!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+
+ </li></ul>
+
+
+ </div>
+
+ </div>
+ </div>
+ </div>
+
+ <div class="container">
+ <div id="banner">
+ <div class="pull-left">
+ <a href="index.html" id="bannerLeft" title="Apache Sirona logo">
+ <h2>Apache Sirona</h2>
+ </a>
+ </div>
+ <div class="pull-right"> <a href="http://incubator.apache.org/" id="bannerRight">
+ <img src="http://incubator.apache.org/images/egg-logo.png" />
+ </a>
+ </div>
+ <div class="clear"><hr/></div>
+ </div>
+
+ <div id="breadcrumbs">
+ <ul class="breadcrumb">
+
+
+ <li class="">
+ <a href="http://www.apache.org/" class="externalLink" title="Apache">
+ Apache</a>
+ <span class="divider">/</span>
+ </li>
+ <li class="active ">Plugins</li>
+
+
+
+ <li id="publishDate" class="pull-right">Last Published: 16 Jan 2014</li>
+
+ </ul>
+ </div>
+
+
+
+ <div id="bodyColumn" >
+
+ <!-- -
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you 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. --><div class="section">
+<h2>Plugins<a name="Plugins"></a></h2>
+<p>There are several kind of plugins:</p>
+
+<ul>
+
+<li><tt>org.apache.sirona.gauges.Gauge</tt> and <tt>org.apache.sirona.gauges.GaugeFactory</tt>: you can add your own gauges</li>
+
+<li><tt>org.apache.sirona.reporting.web.plugin.api.Plugin</tt>: add feature to the web GUI</li>
+</ul></div>
+<div class="section">
+<h2>Write your own gauge<a name="Write_your_own_gauge"></a></h2>
+<p>To add your own Gauge you have two main solutions:</p>
+
+<ul>
+
+<li>simply implement a <tt>org.apache.sirona.gauges.Gauge</tt> and register it using ServiceLoader mecanism (META-INF/services/org.apache.sirona.gauges.Gauge)</li>
+
+<li>implement a <tt>org.apache.sirona.gauges.GaugeFactory</tt> which is registered it using ServiceLoader mecanism (META-INF/services/org.apache.sirona.gauges.GaugeFactory) and return the gauges you want to register</li>
+</ul>
+<p>What is GaugeFactory designed for? Imagine a custom gauge is parameterized. You’ll surely want to register it several times with different parameters. If you use Gauge SPI you’ll need to do N implementations (which makes the parameters useless). With GaugeFactory you just need to return the built instances:</p>
+
+<div>
+<pre class="prettyprint linenums">
+public class MyGaugeFactory implements GaugeFactory {
+ @Override
+ public Gauge[] gauges() {
+ return new Gauge[] { new MyGauge(1); new MyGauge(2); };
+ }
+}
+</pre></div></div>
+<div class="section">
+<h2>Extend the reporting GUI<a name="Extend_the_reporting_GUI"></a></h2>
+<p>To extend the reporting GUI just write your own <tt>org.apache.sirona.reporting.web.plugin.api.Plugin</tt>. Here too it relies on java ServiceLoader (SPI) mecanism.</p>
+<p>Here is the Plugin interface:</p>
+
+<div>
+<pre class="prettyprint linenums">
+public interface Plugin {
+ String name();
+ Class<?> endpoints();
+ String mapping();
+}
+</pre></div>
+<p>A plugin has basically a name (what will identify it in the webapp and in the GUI - it will be the name of the plugin tab), a mapping, ie which base subcontext it will use for its own pages (for instance /jmx, /myplugin …) and a class representing endpoints.</p>
+<p>To make it more concrete we’ll use a sample (the standard Hello World).</p>
+<div class="section">
+<h3>Define the plugin<a name="Define_the_plugin"></a></h3>
+<p>So first we define our HelloPlugin:</p>
+
+<div>
+<pre class="prettyprint linenums">
+public class HelloPlugin implements Plugin {
+ public String name() {
+ return "Hello";
+ }
+
+ public Class<?> endpoints() {
+ return HelloEndpoints.class;
+ }
+
+ public String mapping() {
+ return "/hello";
+ }
+}
+</pre></div></div>
+<div class="section">
+<h3>Define the endpoints<a name="Define_the_endpoints"></a></h3>
+<p>The <tt>HelloEndpoints</tt> class defines all the urls accessible for the hello plugin. It uses the <tt>org.apache.sirona.reporting.web.plugin.api.Regex</tt> annotation:</p>
+
+<div>
+<pre class="prettyprint linenums">
+public class HelloEndpoints {
+ @Regex // will match "/hello"
+ public Template home() {
+ return new Template("hello/home.vm", new MapBuilder<String, Object>().set("name", "world).build());
+ }
+
+ @Regex("/world/([0-9]*)/([0-9]*)") // will match "/hello/world/1/2"
+ public String jsonWorld(final long start, final long end) {
+ return "{ \"name\": \world\", \"start\":\"" + long1 + "\",\"end\":\"" + long2 + "\"}";
+ }
+}
+</pre></div>
+<p>The first home method uses a template. The GUI relies on velocity and html templates needs to be in the classloader in templates directory.</p>
+<p>So basically the home method will search for templates/hello/home.vm velocity template. It is only the “main” part of the GUI (the tabs are automatically added). Twitter bootstrap (3.0.0) and JQuery (2.0.3) are available.</p>
+<p>Here is a sample:</p>
+
+<div>
+<pre class="prettyprint linenums">
+<h1>Hello</h1>
+<div>
+ Welcome to $name
+</div>
+</pre></div>
+<p>If you need resources put them in the classloader too in “resources” folder.</p>
+<p>Note: if you want to do links in the template you can use $mapping variable as base context of your link. For instance: >a href=“$mapping/foo”<Foo>/a<.</p>
+<p>If you want to filter some resources you can add a custom endpoint:</p>
+
+<div>
+<pre class="prettyprint linenums">
+@Regex("/resources/myresource.css")
+public void filterCss(final TemplateHelper helper) {
+ helper.renderPlain("/resources/myresource.css");
+}
+</pre></div>
+<div class="section">
+<h4><tt>@Regex</tt><a name="aRegex"></a></h4>
+<p><tt>@Regex</tt> allows you to get injected path segments, here is what is handled:</p>
+
+<ul>
+
+<li>HttpServletRequest</li>
+
+<li>HttpServletResponse</li>
+
+<li>TemplateHelper (should be used when you want to render a velocity template which is not in /templates and is not decorated by the default GUI layout)</li>
+
+<li>String: will inject the matching element of the regex (it is indexed = if you inject 2 strings the first one will be the first group and the second one the second group)</li>
+
+<li>Long, Integer: same as for String but converted</li>
+
+<li>String[]: all not yet matched segments of the regex</li>
+</ul>
+<p>For instance <tt>@Regex("/operation/([^/]*)/([^/]*)/(.*)")</tt> will match <tt>foo(String, String, String[])</tt>. If the url is <tt>/operation/a/b/c/d/e</tt> you’ll get <tt>foo("a", "b", { "c", "d", "e" })</tt>.</p></div></div></div>
+ </div>
+ </div>
+
+ <hr/>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <p >Copyright © 2008–2014
+ <a href="http://www.apache.org/">The Apache Software Foundation</a>.
+ All rights reserved.
+
+ </p>
+ </div>
+
+
+<div class="row span16">
+ <div>Apache Sirona, Apache, the Apache feather logo, and the Apache Sirona project logos are trademarks of The Apache Software Foundation.
+ All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div>
+ <a href="http://sirona.incubator.apache.org/privacy-policy.html">Privacy Policy</a>
+</div>
+
+ <p id="poweredBy" class="pull-right">
+ <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+ <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+ </a>
+ </p>
+
+
+
+
+
+ <div id="ohloh" class="pull-right">
+ <script type="text/javascript" src="http://www.ohloh.net/p/sirona/widgets/project_basic_stats.js"></script>
+ </div>
+ </div>
+ </footer>
+ </body>
</html>
\ No newline at end of file