move Observium plugin outside of Netdisco dist
This commit is contained in:
		| @@ -1,6 +1,7 @@ | ||||
| 2.019004 - | ||||
|  | ||||
|   [NEW FEATURES] | ||||
|  | ||||
|   * Add Device PoE status report | ||||
|   * Add Nodes with multiple IP addresses report | ||||
|   * Add Device addresses with DNS entries report | ||||
| @@ -8,6 +9,7 @@ | ||||
|   * Add Ports administratively disabled report | ||||
|   * Add Ports that are blocking report | ||||
|   * Add Access Point client count report | ||||
|   * Move Obserivum plugin outside of this dist, into App::NetdiscoX:: | ||||
|  | ||||
|   [ENHANCEMENTS] | ||||
|  | ||||
|   | ||||
| @@ -8,6 +8,7 @@ requires 'Algorithm::Cron' => 0.07; | ||||
| requires 'AnyEvent' => 7.05; | ||||
| requires 'App::cpanminus' => 1.6108; | ||||
| requires 'App::local::lib::helper' => 0.07; | ||||
| #requires 'App::NetdiscoX::Web::Plugin::Observium' => 0; | ||||
| requires 'DBD::Pg' => 0; | ||||
| requires 'DBD::SQLite' => 1.37; | ||||
| requires 'DBIx::Class' => 0.08210; | ||||
|   | ||||
| @@ -35,6 +35,13 @@ but they are backwards compatible. | ||||
|  | ||||
| =back | ||||
|  | ||||
| =head1 2.020000 | ||||
|  | ||||
| =head2 General Notices | ||||
|  | ||||
| If you were using the C<X::Observium> plugin, you'll now need to install | ||||
| the separate distribution L<App::NetdiscoX::Web::Plugin::Observium>. | ||||
|  | ||||
| =head1 2.019000 | ||||
|  | ||||
| =head2 General Notices | ||||
|   | ||||
| @@ -296,7 +296,8 @@ path. We recommend use of the L<File::ShareDir> module to package and ship | ||||
| templates along with your plugin, as shown. | ||||
|  | ||||
| Each path added using C<register_template_path> is searched I<before> any | ||||
| existing paths in the template config. | ||||
| existing paths in the template config. See the | ||||
| L<App::NetdiscoX::Web::Plugin::Observium> distribution for a working example. | ||||
|  | ||||
| =head2 Template Variables | ||||
|  | ||||
|   | ||||
| @@ -3,6 +3,8 @@ package App::Netdisco::Web::Plugin; | ||||
| use Dancer ':syntax'; | ||||
| use Dancer::Plugin; | ||||
|  | ||||
| use Path::Class 'dir'; | ||||
|  | ||||
| set( | ||||
|   '_additional_css'         => [], | ||||
|   '_additional_javascript'  => [], | ||||
| @@ -28,7 +30,7 @@ register 'register_template_path' => sub { | ||||
|  | ||||
|   unshift | ||||
|     @{ config->{engines}->{template_toolkit}->{INCLUDE_PATH} }, | ||||
|     $path; | ||||
|     $path, dir($path, 'views')->stringify; | ||||
| }; | ||||
|  | ||||
| sub _register_include { | ||||
|   | ||||
| @@ -1,92 +0,0 @@ | ||||
| package App::NetdiscoX::Web::Plugin::Observium; | ||||
|  | ||||
| use Dancer ':syntax'; | ||||
| use Dancer::Plugin::DBIC; | ||||
|  | ||||
| use App::Netdisco::Web::Plugin; | ||||
|  | ||||
| use File::ShareDir 'dist_dir'; | ||||
| use Path::Class; | ||||
|  | ||||
| register_device_port_column({ | ||||
|   name  => 'observium', | ||||
|   position => 'mid', | ||||
|   label => 'Traffic', | ||||
|   default => 'on', | ||||
| }); | ||||
|  | ||||
| register_css('observium'); | ||||
| register_javascript('observium'); | ||||
|  | ||||
| =head1 NAME | ||||
|  | ||||
| App::NetdiscoX::Web::Plugin::Observium - Port Traffic Links and Thumbnail Graphs from Observium | ||||
|  | ||||
| =head1 SYNOPSIS | ||||
|  | ||||
|  # in your ~/environments/deployment.yml file | ||||
|    | ||||
|  extra_web_plugins: | ||||
|    - X::Observium | ||||
|   | ||||
|  plugin_observium: | ||||
|    webhost: "web-server.example.com" | ||||
|    open_in_new_window: true | ||||
|  | ||||
| =head1 Description | ||||
|  | ||||
| This is a plugin for the L<App::Netdisco> network management application. It | ||||
| adds a column to the Device Ports table named "Traffic" with a link and | ||||
| thumbnail graph for the port, taken from a local Observium installation. | ||||
|  | ||||
| =head1 Configuration | ||||
|  | ||||
| Create an entry in your C<~/environments/deployment.yml> file named | ||||
| "C<plugin_observium>", containing the following settings: | ||||
|  | ||||
| =head2 webhost | ||||
|  | ||||
| Value: String, Required. | ||||
|  | ||||
| Name of the server hosting your local Observium installation. | ||||
|  | ||||
| =head2 open_in_new_window | ||||
|  | ||||
| Value: Boolean. Default: false. | ||||
|  | ||||
| If set to true, the hyperlink is configured to open the port's Observium page | ||||
| in  a new browser window or tab. | ||||
|  | ||||
| =head1 AUTHOR | ||||
|  | ||||
| Oliver Gorwits <oliver@cpan.org> | ||||
|  | ||||
| =head1 COPYRIGHT AND LICENSE | ||||
|   | ||||
| This software is copyright (c) 2013 by The Netdisco Developer Team. | ||||
|   | ||||
|  Redistribution and use in source and binary forms, with or without | ||||
|  modification, are permitted provided that the following conditions are met: | ||||
|      * Redistributions of source code must retain the above copyright | ||||
|        notice, this list of conditions and the following disclaimer. | ||||
|      * Redistributions in binary form must reproduce the above copyright | ||||
|        notice, this list of conditions and the following disclaimer in the | ||||
|        documentation and/or other materials provided with the distribution. | ||||
|      * Neither the name of the Netdisco Project nor the | ||||
|        names of its contributors may be used to endorse or promote products | ||||
|        derived from this software without specific prior written permission. | ||||
|   | ||||
|  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND | ||||
|  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||||
|  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||||
|  DISCLAIMED. IN NO EVENT SHALL THE NETDISCO DEVELOPER TEAM BE LIABLE FOR ANY | ||||
|  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||||
|  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||||
|  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||||
|  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||
|  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||||
|  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
|  | ||||
| =cut | ||||
|  | ||||
| true; | ||||
| @@ -1,6 +0,0 @@ | ||||
| <a href="http://[% settings.plugin_observium.webhost | uri %]/device/hostname=[% device.dns || device.name | uri %]/tab=port/ifdescr=[% row.base64url_port %]/" | ||||
|   [% 'target="_blank"' IF settings.plugin_observium.open_in_new_window %] | ||||
|   class="btn nd_observium" | ||||
|   data-content=' | ||||
|     <img src="http://[% settings.plugin_observium.webhost | uri %]/graph.php?type=port_bits&device=[% device.dns || device.name | uri %]&port=[% row.port | uri %]&from=-1w&to=now&width=208&height=100&title=yes"/>' | ||||
| ><i class="icon-bar-chart"></i></a> | ||||
| @@ -1,6 +0,0 @@ | ||||
| .nd_observium-style { | ||||
|   min-width: none; | ||||
|   max-width: none; | ||||
|   margin-top: 5px; | ||||
|   margin-left: 15px; | ||||
| } | ||||
| @@ -1,25 +0,0 @@ | ||||
| $(document).ready(function() { | ||||
|  | ||||
|   // bind qtip2 event to all future .nd_observium buttons | ||||
|   $('#ports_pane').on('mouseover', '.nd_observium', function(event) { | ||||
|     $(this).qtip({ | ||||
|       overwrite: false, | ||||
|       content: { | ||||
|         attr: 'data-content' | ||||
|       }, | ||||
|       show: { | ||||
|         event: event.type, | ||||
|         ready: true | ||||
|       }, | ||||
|       position: { | ||||
|         my: 'left center', | ||||
|         at: 'right centre', | ||||
|         target: 'mouse' | ||||
|       }, | ||||
|       style: { | ||||
|         classes: 'qtip-bootstrap nd_observium-style' | ||||
|       } | ||||
|     }); | ||||
|   }); | ||||
|  | ||||
| }); | ||||
		Reference in New Issue
	
	Block a user