From 08389b349d1ec501ec7e4d385b67b848c3aa4c82 Mon Sep 17 00:00:00 2001
From: jorgonzalez <aloriel@gmail.com>
Date: Mon, 30 Jun 2008 15:46:36 +0000
Subject: [PATCH] 2008-06-30  Jorge Gonzalez  <jorge.gonzalez@artica.es>

        * include/styles/pandora.css: Added cursor style for inline help.

        * include/help/en/help_manage_alerts.php: Added help page for Alert
        management.

        * include/help/en/help_snmpcommunity.php: Added help page for SNMP
        community.

        * include/help/en/help_map_builder.php: Added help page for map
        builder.

        * include/help/en/help_postprocess.php: Checked spelling.

        * include/help/en/help_module_type.php: Added help page for Module
        type.

        * include/help/en/help_snmpoid.php: Added help page for SNMP OID.

        * include/help/en/help_alerts.php: Added help page for Alert
        configuration.

        * include/help/en/help_module_definition.php: Added help page for
        Module definition.

        * include/functions.php: Added cursor style for inline help.

        * include/languages/language_en.php: Added new strings.

        * operation/agentes/estado_grupo.php: Fixed wrong link and text, it is
        a group, not an agent.

        * operation/agentes/tactical.php: Fixed bug for empty values.

        * godmode/agentes/module_manager_editor_network.php,
        godmode/agentes/module_manager_editor_wmi.php,
        godmode/agentes/module_manager_editor_plugin.php,
        godmode/agentes/module_manager_editor_prediction.php,
        godmode/agentes/alert_manager_editor.php,
        godmode/agentes/module_manager_editor_data.php,
        godmode/agentes/agent_manager.php,
        godmode/modules/manage_network_components_form.php,
        godmode/reporting/map_builder.php, godmode/alerts/plugin.php,
        godmode/alerts/configure_alert.php: Added suppot for inline help.



git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@909 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
---
 pandora_console/ChangeLog                     | 46 +++++++++++++++++++
 .../godmode/agentes/agent_manager.php         | 17 ++++---
 .../godmode/agentes/alert_manager_editor.php  |  4 +-
 .../agentes/module_manager_editor_data.php    | 11 +++--
 .../agentes/module_manager_editor_network.php | 17 ++++---
 .../agentes/module_manager_editor_plugin.php  | 13 +++---
 .../module_manager_editor_prediction.php      |  7 ++-
 .../agentes/module_manager_editor_wmi.php     |  6 +--
 .../godmode/alerts/configure_alert.php        | 10 +---
 pandora_console/godmode/alerts/plugin.php     |  2 +-
 .../manage_network_components_form.php        |  2 +-
 .../godmode/reporting/map_builder.php         |  4 +-
 pandora_console/include/functions.php         |  2 +-
 .../include/help/en/help_alerts.php           | 34 ++++++++++++++
 .../include/help/en/help_manage_alerts.php    | 24 ++++++++++
 .../include/help/en/help_map_builder.php      | 26 +++++++++++
 .../help/en/help_module_definition.php        |  7 +++
 .../include/help/en/help_module_type.php      | 26 +++++++++++
 .../include/help/en/help_postprocess.php      |  4 +-
 .../include/help/en/help_snmpcommunity.php    |  3 ++
 .../include/help/en/help_snmpoid.php          |  3 ++
 .../include/languages/language_en.php         | 12 +++++
 pandora_console/include/styles/pandora.css    |  4 ++
 .../operation/agentes/estado_grupo.php        |  7 ++-
 .../operation/agentes/tactical.php            | 12 +++--
 25 files changed, 251 insertions(+), 52 deletions(-)
 create mode 100644 pandora_console/include/help/en/help_alerts.php
 create mode 100644 pandora_console/include/help/en/help_manage_alerts.php
 create mode 100644 pandora_console/include/help/en/help_map_builder.php
 create mode 100644 pandora_console/include/help/en/help_module_definition.php
 create mode 100644 pandora_console/include/help/en/help_module_type.php
 create mode 100644 pandora_console/include/help/en/help_snmpcommunity.php
 create mode 100644 pandora_console/include/help/en/help_snmpoid.php

diff --git a/pandora_console/ChangeLog b/pandora_console/ChangeLog
index 3bec020d2e..bc3cb0baf2 100644
--- a/pandora_console/ChangeLog
+++ b/pandora_console/ChangeLog
@@ -1,3 +1,49 @@
+2008-06-30  Jorge Gonzalez  <jorge.gonzalez@artica.es>
+
+	* include/styles/pandora.css: Added cursor style for inline help.
+
+	* include/help/en/help_manage_alerts.php: Added help page for Alert
+	management.
+
+	* include/help/en/help_snmpcommunity.php: Added help page for SNMP
+	community.
+
+	* include/help/en/help_map_builder.php: Added help page for map
+	builder.
+
+	* include/help/en/help_postprocess.php: Checked spelling.
+
+	* include/help/en/help_module_type.php: Added help page for Module
+	type.
+
+	* include/help/en/help_snmpoid.php: Added help page for SNMP OID.
+
+	* include/help/en/help_alerts.php: Added help page for Alert
+	configuration.
+
+	* include/help/en/help_module_definition.php: Added help page for
+	Module definition.
+
+	* include/functions.php: Added cursor style for inline help.
+
+	* include/languages/language_en.php: Added new strings.
+
+	* operation/agentes/estado_grupo.php: Fixed wrong link and text, it is
+	a group, not an agent.
+
+	* operation/agentes/tactical.php: Fixed bug for empty values.
+
+	* godmode/agentes/module_manager_editor_network.php,
+	godmode/agentes/module_manager_editor_wmi.php,
+	godmode/agentes/module_manager_editor_plugin.php,
+	godmode/agentes/module_manager_editor_prediction.php,
+	godmode/agentes/alert_manager_editor.php,
+	godmode/agentes/module_manager_editor_data.php,
+	godmode/agentes/agent_manager.php,
+	godmode/modules/manage_network_components_form.php,
+	godmode/reporting/map_builder.php, godmode/alerts/plugin.php,
+	godmode/alerts/configure_alert.php: Added suppot for inline help.
+
 2008-06-30  Esteban Sanchez  <estebans@artica.es>
 
 	* godmode/reporting/reporting_builder.php: Removed debug output.
diff --git a/pandora_console/godmode/agentes/agent_manager.php b/pandora_console/godmode/agentes/agent_manager.php
index c8a94b0344..253b64c21e 100644
--- a/pandora_console/godmode/agentes/agent_manager.php
+++ b/pandora_console/godmode/agentes/agent_manager.php
@@ -60,7 +60,7 @@ echo '<form name="conf_agent" method="post" action="index.php?sec=gagente&
 sec2=godmode/agentes/configurar_agente">';
 echo '<table width="650" id="table-agent-configuration" cellpadding="4" cellspacing="4" class="databox_color">';
 echo "<tr>";
-echo '<td class="datos"><b>'.lang_string ("agent_name").'</b></td><td class="datos">';
+echo '<td class="datos"><b>'.lang_string ("agent_name").'</b><a href="#" class="tip">&nbsp;<span>' . $lang_label["agent_name_help"] . '</span></a></td><td class="datos">';
 print_input_text ('agente', $nombre_agente, '', 30, 100);
 
 if (isset ($id_agente) && $id_agente != "") {
@@ -120,7 +120,8 @@ print_select_from_sql ('SELECT id_os, name FROM tconfig_os ORDER BY name',
 
 // Network server
 echo '<tr><td class="datos2"><b>';
-echo lang_string("Network server");
+echo $lang_label["network_server"];
+echo '<a href="#" class="tip">&nbsp;<span>'.$lang_label["network_server_help"].'</span></a>';
 echo '</b></td><td class="datos2">';
 $none = '';
 $none_value = '';
@@ -133,7 +134,8 @@ print_select_from_sql ('SELECT id_server, name FROM tserver WHERE network_server
 
 // Plugin Server
 echo '<tr><td class="datos"><b>';
-echo lang_string("Plugin server");
+echo $lang_label["plugin_server"];
+echo '<a href="#" class="tip">&nbsp;<span>'.$lang_label["plugin_server_help"].'</span></a>';
 echo '</b></td><td class="datos">';
 $none_str = lang_string ('None');
 $none = '';
@@ -147,7 +149,8 @@ print_select_from_sql ('SELECT id_server, name FROM tserver WHERE plugin_server
 
 // WMI Server
 echo '<tr><td class="datos2"><b>';
-echo lang_string("WMI server");
+echo $lang_label["wmi_server"];
+echo '<a href="#" class="tip">&nbsp;<span>'.$lang_label["wmi_server_help"].'</span></a>';
 echo '</b></td><td class="datos2">';
 $none = '';
 $none_value = '';
@@ -160,7 +163,8 @@ print_select_from_sql ('SELECT id_server, name FROM tserver WHERE wmi_server = 1
 
 // Prediction Server
 echo '<tr><td class="datos"><b>';
-echo lang_string("Prediction server");
+echo $lang_label["prediction_server"];
+echo '<a href="#" class="tip">&nbsp;<span>'.$lang_label["prediction_server_help"].'</span></a>';
 echo '</b></td><td class="datos">';
 $none = '';
 $none_value = '';
@@ -175,11 +179,12 @@ print_select_from_sql ('SELECT id_server, name FROM tserver WHERE prediction_ser
 echo '<tr><td class="datos2"><b>';
 echo lang_string ("description");
 echo '</b><td class="datos2">';
-print_input_text ('comentarios', $comentarios, '', 55, 255);
+print_input_text ('comentarios', $comentarios, '', 45, 255);
 
 // Learn mode / Normal mode 
 echo '<tr><td class="datos"><b>';
 echo lang_string ("module_definition");
+pandora_help("module_definition");
 echo '</b><td class="datos">';
 echo lang_string ("learning_mode");
 print_radio_button_extended ("modo", 1, '', $modo, false, '', 'style="margin-right: 40px;"');
diff --git a/pandora_console/godmode/agentes/alert_manager_editor.php b/pandora_console/godmode/agentes/alert_manager_editor.php
index 90abbd62f8..c1ee21eec8 100644
--- a/pandora_console/godmode/agentes/alert_manager_editor.php
+++ b/pandora_console/godmode/agentes/alert_manager_editor.php
@@ -19,7 +19,9 @@
 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 
 $add_component = get_parameter ("add_component",0);
-echo "<h3>".$lang_label["alert_asociation_form"]."</h3>";
+echo "<h3>".$lang_label["alert_asociation_form"];
+pandora_help("alerts");
+echo "</h3>";
 
 echo '<form name="agente" method="post" action="index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&tab=alert&id_agente='.$id_agente.'">';
 
diff --git a/pandora_console/godmode/agentes/module_manager_editor_data.php b/pandora_console/godmode/agentes/module_manager_editor_data.php
index 4b584fceb6..4c4fad7998 100644
--- a/pandora_console/godmode/agentes/module_manager_editor_data.php
+++ b/pandora_console/godmode/agentes/module_manager_editor_data.php
@@ -100,8 +100,9 @@ echo '</tr><tr>';
 
 // module type / max timeout
 echo '</tr><tr>';
-echo '<td class="datos">'. lang_string ("module_type")."</td>";
-echo '<td class="datos">';
+echo '<td class="datos2">'.lang_string ("module_type");
+pandora_help("module_type");
+echo '</td>';
 
 if ($update_module_id != NULL){
 	echo "<span class='redi'>Not available in edition mode</span>";
@@ -119,10 +120,10 @@ echo '</tr>';
 
 // Post process / Export server
 echo '<tr>';
-echo '<td class="datos2">'.lang_string ("post_process")."</td>";
-echo '<td class="datos2"><input type="text" name="form_post_process" size="5" value="'.$form_post_process.'">';
+echo '<td class="datos2">'.lang_string ("post_process");
 pandora_help("postprocess");
-echo "</td>";
+echo '</td>';
+echo '<td class="datos2"><input type="text" name="form_post_process" size="5" value="'.$form_post_process.'"></td>';
 echo '<td class="datos2">'.lang_string ("export_server")."</td>";
 echo '<td class="datos2"><select name="form_id_export">';
 if ($form_id_export != 0){
diff --git a/pandora_console/godmode/agentes/module_manager_editor_network.php b/pandora_console/godmode/agentes/module_manager_editor_network.php
index 0dae499b78..0fdd9d1936 100644
--- a/pandora_console/godmode/agentes/module_manager_editor_network.php
+++ b/pandora_console/godmode/agentes/module_manager_editor_network.php
@@ -142,7 +142,10 @@ echo '</tr>';
 
 // module type / max timeout
 echo '</tr><tr>';
-echo '<td class="datos2">'.lang_string ("module_type")."</td>";
+echo '<td class="datos2">'.lang_string ("module_type");
+pandora_help("module_type");
+echo '</td>';
+
 echo '<td class="datos2">';
 if ($update_module_id != NULL){
 	echo "<span class='redi'>Not available in edition mode</span>";
@@ -201,7 +204,9 @@ echo '<input type="submit" class="sub next" name="oid" value="SNMP Walk">';
 
 // Snmp Oid / community
 echo '<tr>';
-echo '<td class="datos">'.lang_string ("snmp_oid")."</td>";
+echo '<td class="datos">'.lang_string ("snmp_oid");
+pandora_help("snmpoid");
+echo '</td>';
 echo '<td class="datos"><input type="text" name="form_snmp_oid" size="25" value="'.$form_snmp_oid.'"></td>';
 echo '<td class="datos">'.lang_string ("snmp_community")."</td>";
 echo '<td class="datos"><input type="text" name="form_snmp_community" size="12" value="'.$form_snmp_community.'"></td>';
@@ -216,11 +221,11 @@ echo '<td class="datos2"><input type="text" name="form_maxvalue" size="5" value=
 echo '</tr>';
 
 // Post process / Export server
-echo "<tr>";
-echo '<td class="datos">'.lang_string ("post_process")."</td>";
-echo '<td class="datos"><input type="text" name="form_post_process" size="5" value="'.$form_post_process.'">';
+echo '<tr>';
+echo '<td class="datos">'.lang_string ("post_process");
 pandora_help("postprocess");
-echo "</td>";
+echo '</td>';
+echo '<td class="datos"><input type="text" name="form_post_process" size="5" value="'.$form_post_process.'"></td>';
 echo '<td class="datos">'.lang_string ("export_server")."</td>";
 echo '<td class="datos"><select name="form_id_export">';
 if ($form_id_export != 0){
diff --git a/pandora_console/godmode/agentes/module_manager_editor_plugin.php b/pandora_console/godmode/agentes/module_manager_editor_plugin.php
index cf3f1c6783..aef5eede0a 100644
--- a/pandora_console/godmode/agentes/module_manager_editor_plugin.php
+++ b/pandora_console/godmode/agentes/module_manager_editor_plugin.php
@@ -137,8 +137,9 @@ echo '</tr>';
 
 // module type / max timeout
 echo '</tr><tr>';
-echo '<td class="datos2">'.lang_string ("module_type")."</td>";
-echo '<td class="datos2">';
+echo '<td class="datos2">'.lang_string ("module_type");
+pandora_help("module_type");
+echo '</td>';
 
 if ($update_module_id != NULL){
 	echo "<span class='redi'>Not available in edition mode</span>";
@@ -182,11 +183,11 @@ echo '<td class="datos2"><input type="text" name="form_maxvalue" size="5" value=
 echo '</tr>';
 
 // Post process / Export server
-echo "<tr>";
-echo '<td class="datos">'.lang_string ("post_process")."</td>";
-echo '<td class="datos"><input type="text" name="form_post_process" size="5" value="'.$form_post_process.'">';
+echo '<tr>';
+echo '<td class="datos">'.lang_string ("post_process");
 pandora_help("postprocess");
-echo "</td>";
+echo '</td>';
+echo '<td class="datos"><input type="text" name="form_post_process" size="5" value="'.$form_post_process.'"></td>';
 echo '<td class="datos">'.lang_string ("export_server")."</td>";
 echo '<td class="datos"><select name="form_id_export">';
 if ($form_id_export != 0){
diff --git a/pandora_console/godmode/agentes/module_manager_editor_prediction.php b/pandora_console/godmode/agentes/module_manager_editor_prediction.php
index d5de8b79ec..b1613171a9 100644
--- a/pandora_console/godmode/agentes/module_manager_editor_prediction.php
+++ b/pandora_console/godmode/agentes/module_manager_editor_prediction.php
@@ -114,8 +114,11 @@ while ($row=mysql_fetch_array($result)){
 echo "</select>";
 echo "</tr>";
 
-echo "<tr>";
-echo '<td class="datos2">'.lang_string ("module_type")."</td>";
+// module type
+echo '</tr><tr>';
+echo '<td class="datos2">'.lang_string ("module_type");
+pandora_help("module_type");
+echo '</td>';
 echo '<td class="datos2">';
 if ($update_module_id != NULL){
 	echo "<span class='redi'>Not available in edition mode</span>";
diff --git a/pandora_console/godmode/agentes/module_manager_editor_wmi.php b/pandora_console/godmode/agentes/module_manager_editor_wmi.php
index 87c95ad5b3..61df0abdbf 100644
--- a/pandora_console/godmode/agentes/module_manager_editor_wmi.php
+++ b/pandora_console/godmode/agentes/module_manager_editor_wmi.php
@@ -165,10 +165,10 @@ echo '</tr>';
 
 // Post process / Export server
 echo '<tr>';
-echo '<td class="datos2">'.lang_string ("post_process")."</td>";
-echo '<td class="datos2"><input type="text" name="form_post_process" size="5" value="'.$form_post_process.'">';
+echo '<td class="datos2">'.lang_string ("post_process");
 pandora_help("postprocess");
-echo "</td>";
+echo '</td>';
+echo '<td class="datos2"><input type="text" name="form_post_process" size="5" value="'.$form_post_process.'"></td>';
 echo '<td class="datos2">'.lang_string ("export_server")."</td>";
 echo '<td class="datos2"><select name="form_id_export">';
 if ($form_id_export != 0){
diff --git a/pandora_console/godmode/alerts/configure_alert.php b/pandora_console/godmode/alerts/configure_alert.php
index 73682be578..01a2d81c41 100644
--- a/pandora_console/godmode/alerts/configure_alert.php
+++ b/pandora_console/godmode/alerts/configure_alert.php
@@ -59,6 +59,7 @@ echo "<h2>".$lang_label["alert_config"]." &gt; ";
 	if (isset($_GET["id_alerta"])){
 		echo $lang_label["mod_alert"];
 	}
+pandora_help("manage_alerts");
 echo "</h2>";
  ?>
  <form name="alerta" method="post" action="index.php?sec=galertas&sec2=godmode/alerts/modify_alert&id_alerta=<?php echo $id_alerta ?>">
@@ -80,15 +81,6 @@ echo "</h2>";
 <td class="datos2"><?php echo $lang_label["command"] ?></td>
 <td class="datos2">
 <input type="text" name="comando" size="50" value="<?php echo $comando ?>">
-<a href='#' class='tip2'>&nbsp;<span>
-<b>Macros:</b><br>
-_field1_<br>
-_field2_<br>
-_field3_<br>
-_agent_<br>
-_timestamp_<br>
-_data_<br>
-</span></a>
 </td></tr>
 <tr><td class="datos"><?php echo $lang_label["description"] ?></td>
 <td class="datos"><textarea name="descripcion" cols="50" rows="7">
diff --git a/pandora_console/godmode/alerts/plugin.php b/pandora_console/godmode/alerts/plugin.php
index 3f4adac35d..16ada108a1 100644
--- a/pandora_console/godmode/alerts/plugin.php
+++ b/pandora_console/godmode/alerts/plugin.php
@@ -198,7 +198,7 @@ if (($create != "") OR ($view != "")){
 
 else {
 // If not edition or insert, then list available plugins
-    echo "<h2>".lang_string ("Plugins available in system")."</h2>";
+    echo "<h2>".$lang_label["no_plugins"]."</h2>";
     $sql1='SELECT * FROM tplugin ORDER BY name';
     $result=mysql_query($sql1);
     if (mysql_num_rows($result) > 0){
diff --git a/pandora_console/godmode/modules/manage_network_components_form.php b/pandora_console/godmode/modules/manage_network_components_form.php
index fba9f548e4..b38541117a 100644
--- a/pandora_console/godmode/modules/manage_network_components_form.php
+++ b/pandora_console/godmode/modules/manage_network_components_form.php
@@ -242,7 +242,7 @@ echo '<input type="text" name="module_interval" size="5" value="'.$module_interv
 <td class="datos2">
 <input type="text" name="tcp_port" size="5" value="<?php echo $tcp_port ?>">
 </td></tr>
-<tr><td class="datos"><?php echo $lang_label["snmp_oid"] ?></td>
+<tr><td class="datos"><?php echo $lang_label["snmp_oid"] ?><?php pandora_help("snmpoid"); ?></td>
 <td class="datos">
 <input type="text" name="snmp_oid" size="25" value="<?php echo $snmp_oid ?>">
 </td>
diff --git a/pandora_console/godmode/reporting/map_builder.php b/pandora_console/godmode/reporting/map_builder.php
index 706e578f1b..9bd906b239 100644
--- a/pandora_console/godmode/reporting/map_builder.php
+++ b/pandora_console/godmode/reporting/map_builder.php
@@ -284,7 +284,9 @@ if (! $edit_layout && ! $id_layout) {
 	echo '</div>';
 } else {
 	echo "<h2>".lang_string ("reporting")." &gt; ";
-	echo lang_string ("map_builder")."</h2>";
+	echo lang_string ("map_builder");
+	pandora_help ("map_builder");
+	echo "</h2>";
 	
 	$backgrounds_list = list_files ('images/console/background/', "jpg", 1, 0);
 	$backgrounds_list = array_merge ($backgrounds_list, list_files ('images/console/background/', "png", 1, 0));
diff --git a/pandora_console/include/functions.php b/pandora_console/include/functions.php
index 80b1bc8b23..3c1e365394 100644
--- a/pandora_console/include/functions.php
+++ b/pandora_console/include/functions.php
@@ -28,7 +28,7 @@ require ('functions_html.php');
  */
 function pandora_help ($help_id, $return = false) {
 	global $config;
-	$output = '&nbsp;<img src="images/help.png" onClick="pandora_help(\''.$help_id.'\')">';
+	$output = '&nbsp;<img class="img_help" src="images/help.png" onClick="pandora_help(\''.$help_id.'\')">';
 	if ($return)
 		return $return;
 	echo $output;
diff --git a/pandora_console/include/help/en/help_alerts.php b/pandora_console/include/help/en/help_alerts.php
new file mode 100644
index 0000000000..ec70f92386
--- /dev/null
+++ b/pandora_console/include/help/en/help_alerts.php
@@ -0,0 +1,34 @@
+<h1>Alerts</h1>
+
+Assigning Alerts to modules
+Adding new alert to a module
+Adding new alert to a module
+<br></br>
+The next step after adding an agent, having configured its modules, and defined the alerts, is assigning those alerts to the agent. This step is necessary to establish alert conditions in those desired cases. This is done by clicking on the agent to be configured in the "Manage agents" option, from Administration menu, or using the edition mode and selecting the tab "Alerts", from the agent view.
+<br></br>
+The next fields must be filled to assign an alert:
+<ul>
+	<li>Alert type: This can be selected from the alert list previously generated.</li>
+	<li>Max. Value: Defines the maximum value for a module. Any value above that threshold will trigger the alert.</li>
+	<li>Min. Value: Defines the minimum value for a module. Any value below that will trigger the alert. "max." & "min." couple are the key values while defining an alert, since they define the range of normal values, out of that range Pandora FMS will trigger the alert.</li>
+	<li>Alert text: In case of string modules, you can define a regular expression or a single string to match contents of data module to trigger the alert.</li>
+	<li>Time from / Time to: This defines a range of "valid" time range to fire alerts.</li>
+	<li>Description: Describes the function of the alert, and it is useful to identify the alert among the others in the general view of alerts.</li>
+	<li>Field #1 (Alias, name): Define the used value for the "_field1_" variable.</li>
+	<li>Field #2 (Single Line): Define the used value for the "_field2_" variable.</li>
+	<li>Field #3 (Full Text): Define the used value for the "_field3_" variable.</li>
+	<li>Time threshold: Time counter since the first alarm was triggered (or condition to trigger it) . During that time, the alerts are handled with the rest of the parameters (Min. number of alerts, Max. number of alerts). You can choose between the interval configured or define other interval.</li>
+	<li>Min. number of alerts: Minimum number of alerts needed to start triggering an alert. Works as a filter, needed to remove false positives.</li>
+	<li>Max. number of alerts: Maximum number of alerts that can be sent consecutively during the same time threshold.</li>
+	<li>Assigned module: Module to be monitored by the alert.</li>
+</ul>
+All the alerts of an agent can be seen using the "Alerts" tab. Let's see an example:
+<br><br>
+"I want to fire an alert when XXX goes down, and please, dont't disturb me again at least for one hour. After that time, if it is still down, fire another alert and wait another hour".
+<br><br>
+You need to setup:
+<ul>
+	<li>Time threshold 3600 (1 hour).</li>
+	<li>Min. number of alerts = 1.</li>
+	<li>Max. number of alerts = 1.</li>
+</ul>
diff --git a/pandora_console/include/help/en/help_manage_alerts.php b/pandora_console/include/help/en/help_manage_alerts.php
new file mode 100644
index 0000000000..2ef5e60a76
--- /dev/null
+++ b/pandora_console/include/help/en/help_manage_alerts.php
@@ -0,0 +1,24 @@
+<h1>Alerts</h1>
+
+Alerts in Pandora FMS react to an "out of range" module value. The alert can consist of sending an e-mail or an SMS to the administrator, sending a SNMP trap, write the incident into the system log or into Pandora FMS log file, etc. Basically, an alert can be anything that can be triggered by a script configured in the Operating System where Pandora FMS Servers run.
+<br><br>
+The values "_field1_", "_field2_" and "_field3_" of the customized alerts are used to build the command line that will be executed.
+<br><br>
+When a new alert is created the following fields must be filled in:
+
+<ul>
+	<li>Alert name: The name of the alert. It is important to describe correctly its function, but briefly, for example: "Comm. log".</li>
+	<li>Command: Command that the alert will trigger, tis he most important field while defining an alert. Note that the macros _field1, _field2_, and _field3_ are used to replace the configured parameters at the alert definition. That way the execution of the command fired by the alert is built. While defining an alert, you should test the correct execution of the alert, and that the result is the expected (send an email, generate an entry in a log, etc) at the command line.</li>
+	<li>Description: Long description of the alert, optional.</li>
+</ul>
+
+The complete set of macros that can used within an alert is the following:
+
+<ul>
+	<li>_field1_: Usually used as username, phone number, file to send or e-mail destination.</li>
+	<li>_field2_: Usually used as short description of events, or subject line for e-mails.</li>
+	<li>_field3_: A full text explanation for the event, can be used as the text field for an email or SMS.</li>
+	<li>_agent_: Full agent name.</li>
+	<li>_timestamp_: A standard representation of date and time. Automatically replaced when the alert is executed.</li>
+	<li>_data_: The data value that triggered the alert.</li>
+</ul>
diff --git a/pandora_console/include/help/en/help_map_builder.php b/pandora_console/include/help/en/help_map_builder.php
new file mode 100644
index 0000000000..0275b0a61a
--- /dev/null
+++ b/pandora_console/include/help/en/help_map_builder.php
@@ -0,0 +1,26 @@
+<h1>Map builder</h1>
+
+To create a map, you must first fill the form providing:
+<ul>
+	<li>A name</li>
+	<li>A group</li>
+	<li>A background image</li>
+	<li>A size (width/height)</li>
+</ul>
+One you have filled it, click on "Update" so the map will be loaded.
+<br><br>
+To add items to the map, go to the form below the background image, and fill it, providing, for each element:
+<ul>
+	<li>A label and a color for it</li>
+	<li>A type: a static three color graph or a module graph</li>
+	<li>The Agent from where the data will come</li>
+	<li>The Module from the Agent</li>
+	<li>The update period</li>
+	<li>The image for the item</li>
+	<li>A parent, in case you want the item to be the child of another item</li>
+	<li>A linked map, in case you want to link the item with another map</li>
+</ul>
+To edit the properties of an already created item, just drag the item to the form "MAP ELEMENT EDITOR" and drop it there, the form will load the element's properties.
+<br><br>
+To delete an element of the map, just drag and drop it into the recycle bin icon. Then click on "Delete".
+
diff --git a/pandora_console/include/help/en/help_module_definition.php b/pandora_console/include/help/en/help_module_definition.php
new file mode 100644
index 0000000000..6601989c8e
--- /dev/null
+++ b/pandora_console/include/help/en/help_module_definition.php
@@ -0,0 +1,7 @@
+<h1>Module definition</h1>
+
+There are two modes for an agent:
+<ul>
+    <li>Learning mode: all the modules sent by the agent are accepted. If modules are not defined, they will be automatically defined by the system. It is recommended to activate the agents in this mode and change it once the user is familiar with Pandora FMS.</li>
+    <li>Normal mode: the modules in this mode must be configured manually. The self definition of the modules is not allowed in this mode.</li>
+</ul>
diff --git a/pandora_console/include/help/en/help_module_type.php b/pandora_console/include/help/en/help_module_type.php
new file mode 100644
index 0000000000..e039086835
--- /dev/null
+++ b/pandora_console/include/help/en/help_module_type.php
@@ -0,0 +1,26 @@
+<h1>Module type</h1>
+
+The following list describes the module types:
+<ul>
+	<li>async_data: Asyncronous numeric data</li>
+	<li>async_inc: Asyncronous incremental data</li>
+	<li>async_proc: Asyncronous proc data</li>
+	<li>async_string: Asyncronous string data</li>
+	<li>generic_data: Generic module to adquire numeric data</li>
+	<li>generic_data_inc: Generic module to adquire numeric incremental data</li>
+	<li>generic_data_string: Generic module to adquire alphanumeric data</li>
+	<li>generic_proc: Generic module to adquire boolean data</li>
+	<li>image_jpg: Image JPG data</li>
+	<li>image_png: Image PNG data</li>
+	<li>keep_alive: KeepAlive</li>
+	<li>remote_icmp: Remote ICMP network agent (latency)</li>
+	<li>remote_icmp_proc: Remote ICMP network agent, boolean data</li>
+	<li>remote_snmp: Remote SNMP network agent, numeric data</li>
+	<li>remote_snmp_inc: Remote SNMP network agent, incremental data</li>
+	<li>remote_snmp_proc: Remote SNMP network agent, boolean data</li>
+	<li>remote_snmp_string: Remote SNMP network agent, alphanumeric data</li>
+	<li>remote_tcp: Remote TCP network agent, numeric data</li>
+	<li>remote_tcp_inc: Remote TCP network agent, incremental data</li>
+	<li>remote_tcp_proc: Remote TCP network agent, boolean data</li>
+	<li>remote_tcp_string: Remote TCP network agent, alphanumeric data</li>
+</ul>
diff --git a/pandora_console/include/help/en/help_postprocess.php b/pandora_console/include/help/en/help_postprocess.php
index ab411d36d5..2cae656671 100644
--- a/pandora_console/include/help/en/help_postprocess.php
+++ b/pandora_console/include/help/en/help_postprocess.php
@@ -1,4 +1,4 @@
 <h1>Post process</h1>
-Post process is a numeric value that is used after get data to numerical post process in a multipliear operation. For example a data with a value of 1000 with a Post Process value of 1024 will result in a definitive data of 1024000 value. This is useful to normalize data, convert between units, etc. This also could be used to divide, by using a multiplier under 1 value, like, for example, 0.001 that will divide current value by 1000.
+Post process is a numeric value that is used after get data to numerical post process in a multipliear operation. For example a data with a value of 1000 with a Post Process value of 1024 will result in a definitive data of 1024000 value. This is useful to normalize data, convert between units, etc. This also can be used to divide, using a multiplier below 1 value, like, for example, 0.001 that will divide current value by 1000.
 <br><br>
-Value of 0 of empty is for disable usage of post process (default).
\ No newline at end of file
+An empty value, or 0, will disable the usage of post process (default).
diff --git a/pandora_console/include/help/en/help_snmpcommunity.php b/pandora_console/include/help/en/help_snmpcommunity.php
new file mode 100644
index 0000000000..d0c9fbd963
--- /dev/null
+++ b/pandora_console/include/help/en/help_snmpcommunity.php
@@ -0,0 +1,3 @@
+<h1>SNMP Community</h1>
+
+Community needed to monitor a SNMP OID. 
diff --git a/pandora_console/include/help/en/help_snmpoid.php b/pandora_console/include/help/en/help_snmpoid.php
new file mode 100644
index 0000000000..cb9ff982aa
--- /dev/null
+++ b/pandora_console/include/help/en/help_snmpoid.php
@@ -0,0 +1,3 @@
+<h1>SNMP OID</h1>
+
+Module's SNMP OID. If there is a MIB able to resolve the name in Pandora FMS Network Server, then you can use alphanumeric OIDs (i.e. SNMPv2-MIB::sysDescr.0). Numeric OID can always be used (i.e. 3.1.3.1.3.5.12.4.0.1), even if there is no specific MIB. 
diff --git a/pandora_console/include/languages/language_en.php b/pandora_console/include/languages/language_en.php
index 8849b683e4..9548e67039 100644
--- a/pandora_console/include/languages/language_en.php
+++ b/pandora_console/include/languages/language_en.php
@@ -128,6 +128,7 @@ $lang_label["graph"]="Graph";
 $lang_label["raw_data"]="Raw Data";
 $lang_label["data"]="Data";
 $lang_label["agent_name"]="Agent name";
+$lang_label["agent_name_help"]="The Agent's name must be the same as the one defined at the Console";
 $lang_label["ip_address"]="IP Address";
 $lang_label["interval"]="Interval";
 $lang_label["group"]="Group";
@@ -600,6 +601,7 @@ $lang_label["wrote"]=" wrote";
 $lang_label["no_snmp_agent"]="There are no SNMP traps in database";
 $lang_label["no_snmp_alert"]="There are no SNMP alerts";
 $lang_label["no_agent_def"]="There are no defined agents";
+$lang_label["no_group_def"]="There are no defined groups";
 
 $lang_label["view_servers"]="Pandora servers";
 $lang_label["no_server"]="There are no servers configured into the database";
@@ -691,6 +693,7 @@ $lang_label["oid"]="OID";
 $lang_label["recon_server"]="Recon Server";
 $lang_label["snmp_console"]="SNMP Console";
 $lang_label["network_server"]="Network Server";
+$lang_label["network_server_help"]="You must select a Network Server for the Agent, so it can work properly with this kind of modules";
 $lang_label["data_server"]="Data Server";
 $lang_label["md5_checksum"]="MD5 Check";
 $lang_label["nc_groups"]="Component groups";
@@ -950,6 +953,15 @@ $lang_label["info"]="info";
 $lang_label["Operation"]="Operation";
 $lang_label["Source Agent/Alert"]="Source Agent/Alert";
 
+$lang_label["plugin_server"] = "Plugin Server";
+$lang_label["plugin_server_help"] = "You must select a Plugin Server for the Agent, so it can work properly with this kind of modules";
+$lang_label["wmi_server"] = "WMI Server";
+$lang_label["wmi_server_help"] = "You must select a WMI Server for the Agent, so it can work properly with this kind of modules";
+$lang_label["prediction_server"] = "Prediction Server";
+$lang_label["prediction_server_help"] = "You must select a Prediction Server for the Agent, so it can work properly with this kind of modules";
+
+$lang_label["no_plugins"] = "There are no plugins in the system";
+
 $lang_label["Stacked"]="Stacked";
 
 
diff --git a/pandora_console/include/styles/pandora.css b/pandora_console/include/styles/pandora.css
index 272ddbf948..7c0c2d1dbd 100644
--- a/pandora_console/include/styles/pandora.css
+++ b/pandora_console/include/styles/pandora.css
@@ -726,3 +726,7 @@ div#main_pure {
 .report_table, .agent_reporting {
 	border: #CCC outset 3px;
 }
+
+.img_help {
+	cursor: help;
+}
diff --git a/pandora_console/operation/agentes/estado_grupo.php b/pandora_console/operation/agentes/estado_grupo.php
index de9e6d4a32..7adf5130ca 100644
--- a/pandora_console/operation/agentes/estado_grupo.php
+++ b/pandora_console/operation/agentes/estado_grupo.php
@@ -264,12 +264,11 @@
 		}
 		echo "</table>";
 	} else {
-		echo "<div class='nf'>".$lang_label["no_agent_def"]."</div>";
+		echo "<div class='nf'>".$lang_label["no_group_def"]."</div>";
 	      	$id_user = $_SESSION["id_usuario"];
 	if ( (give_acl($id_user, 0, "LM")==1) OR (give_acl($id_user, 0, "AW")==1 ) OR (give_acl($id_user, 0, "PM")==1) OR (give_acl($id_user, 0, "DM")==1) OR (give_acl($id_user, 0, "UM")==1 )){
-	      echo "&nbsp;<form method='post' action='index.php?sec=gagente&
-	sec2=godmode/agentes/configurar_agente&create_agent=1'><input type='submit' class='sub next' name='crt'
-	value='".$lang_label["create_agent"]."'></form>";
+	      echo "&nbsp;<form method='post' action='index.php?sec=gagente&sec2=godmode/groups/configure_group&create_g=1'><input type='submit' class='sub next' name='crt'
+	value='".$lang_label["create_group"]."'></form>";
 	}
 	}
 
diff --git a/pandora_console/operation/agentes/tactical.php b/pandora_console/operation/agentes/tactical.php
index ce4bd6dfd5..b76b2deac5 100644
--- a/pandora_console/operation/agentes/tactical.php
+++ b/pandora_console/operation/agentes/tactical.php
@@ -51,10 +51,14 @@
     // Calculate global indicators
 
 	$total_checks = $data_checks + $monitor_checks;
-    $notinit_percentage = (($data_not_init + $monitor_not_init) / ($total_checks / 100));
-    $module_sanity = format_numeric (100 - $notinit_percentage);
-    $total_alerts = $data_alert + $monitor_alert;
-    $total_fired_alerts = $monitor_alert_total+$data_alert_total;
+	if($total_checks != 0){
+		$notinit_percentage = (($data_not_init + $monitor_not_init) / ($total_checks / 100));
+	} else {
+		$notinit_percentage = 0;
+	}
+	$module_sanity = format_numeric (100 - $notinit_percentage);
+	$total_alerts = $data_alert + $monitor_alert;
+	$total_fired_alerts = $monitor_alert_total+$data_alert_total;
 	if ($total_fired_alerts > 0)
     	$alert_level = format_numeric (100 - ($total_alerts / ($total_fired_alerts / 100)));
 	else