# # Gateway Report snapon # # This snapon adds a set of reports for gateway devices # gateway_reports = { version = "2.2.3" # 2012-04-04 - 1.0.1 - GMF - Changed "domain" to "host"; suggested by SonicWall [ThreadID:1223441] # 2012-04-26 - 1.1 - GMF - Added UI support for several new fields; grouped UI pages into two. # 2012-05-03 - 1.2 - GMF - Added "additional field" # 2012-10-15 - 1.2.1 - GMF - Added show_graphs=true # 2012-10-15 - 1.2.2 - GMF - Added move_to_top=true # 2013-02-06 - 2.0 - GMF - Added Dashboard # 2013-03-22 - 2.0.1 - GMF - Explicitly protected snapons/categories with add_in_snapon (instead of relying on automatic discarding of element when categories field doesn't exist). # 2013-05-14 - 2.0.2 - GMF - Changed from sort_by_field to page_views for reports which might not have the sort_by_field # 2013-09-20 - 2.0.3 - GMF - Added conditions to all the checkbox controlled fields, so they're shown only if their checkbox is checked. # 2014-03-03 - 2.1 - GMF - Added remove_query and simplify log filters for the URL field # 2014-03-03 - 2.2 - GMF - Added top_level_domain snapon; added accesses snapon # 2014-03-03 - 2.2.1 - GMF - Fixed check for accesses field not existing # 2014-03-04 - 2.2.2 - GMF - Fixed issue with old-style plug-ins which did not specify URL field *or* attach top_level_domain; no longer attaching top_level_domain in this case. # 2014-03-20 - 2.2.3 - GMF - Added sort_by field to some reports which were still always sorting by page_views label = "$lang_admin.snapons.gateway_reports.label" comment = "$lang_admin.snapons.gateway_reports.comment" config_snapon_category = "" parameters = { # # # Field sources # # user_field = { parameter_value = "user_unspecified" validation_type = "string" form_element_label = "$lang_admin.snapons.gateway_reports.parameters.user_field.form_element_label" form_element_type = "select" select_options_source = "database_fields" description = "" } # user_field have_client_ip_field = { parameter_value = "false" form_element_label = "$lang_admin.snapons.gateway_reports.parameters.have_client_ip_field.form_element_label" form_element_type = "checkbox" description = "" } # have_client_ip_field client_ip_field = { validation_type = "string" form_element_label = "$lang_admin.snapons.gateway_reports.parameters.client_ip_field.form_element_label" form_element_type = "select" select_options_source = "database_fields" description = "" # Display this only when its checkbox is checked condition = "have_client_ip_field" } # client_ip_field have_category_field = { parameter_value = "false" form_element_label = "$lang_admin.snapons.gateway_reports.parameters.have_category_field.form_element_label" form_element_type = "checkbox" description = "" } # category_field category_field = { validation_type = "string" form_element_label = "$lang_admin.snapons.gateway_reports.parameters.category_field.form_element_label" form_element_type = "select" select_options_source = "database_fields" description = "" # Display this only when its checkbox is checked condition = "have_category_field" } # category_field have_bytes_in_field = { parameter_value = "false" form_element_label = "$lang_admin.snapons.gateway_reports.parameters.have_bytes_in_field.form_element_label" form_element_type = "checkbox" description = "" } # bytes_in_field bytes_in_field = { validation_type = "string" form_element_label = "$lang_admin.snapons.gateway_reports.parameters.bytes_in_field.form_element_label" form_element_type = "select" select_options_source = "database_fields" description = "" # Display this only when its checkbox is checked condition = "have_bytes_in_field" } # bytes_in_field have_bytes_out_field = { parameter_value = "false" form_element_label = "$lang_admin.snapons.gateway_reports.parameters.have_bytes_out_field.form_element_label" form_element_type = "checkbox" description = "" } # bytes_out_field bytes_out_field = { validation_type = "string" form_element_label = "$lang_admin.snapons.gateway_reports.parameters.bytes_out_field.form_element_label" form_element_type = "select" select_options_source = "database_fields" description = "" # Display this only when its checkbox is checked condition = "have_bytes_out_field" } # bytes_out_field have_duration_field = { parameter_value = "false" form_element_label = "$lang_admin.snapons.gateway_reports.parameters.have_duration_field.form_element_label" form_element_type = "checkbox" description = "" } # duration_field duration_field = { validation_type = "string" form_element_label = "$lang_admin.snapons.gateway_reports.parameters.duration_field.form_element_label" form_element_type = "select" select_options_source = "database_fields" description = "" # Display this only when its checkbox is checked condition = "have_duration_field" } # duration_field host_field = { parameter_value = "" validation_type = "string" form_element_label = "$lang_admin.snapons.gateway_reports.parameters.host_field.form_element_label" form_element_type = "select" select_options_source = "database_fields" description = "" } # host_field have_additional_field = { parameter_value = "false" form_element_label = "$lang_admin.snapons.gateway_reports.parameters.have_additional_field.form_element_label" form_element_type = "checkbox" description = "" } # have_additional_field additional_field = { parameter_value = "" validation_type = "string" form_element_label = "$lang_admin.snapons.gateway_reports.parameters.additional_field.form_element_label" form_element_type = "select" select_options_source = "database_fields" description = "" # Display this only when its checkbox is checked condition = "have_additional_field" } # additional_field page_views_field = { parameter_value = "abc" validation_type = "string" form_element_label = "$lang_admin.snapons.gateway_reports.parameters.page_views_field.form_element_label" form_element_type = "select" select_options_source = "database_fields" description = "" } # page_views_field sort_by_field = { parameter_value = "xyzz" validation_type = "string" form_element_label = "$lang_admin.snapons.gateway_reports.parameters.sort_by_field.form_element_label" form_element_type = "select" select_options_source = "database_fields" description = "" } # sort_by_field_field url_field = { parameter_value = "url_unspecified" validation_type = "string" form_element_label = "$lang_admin.snapons.gateway_reports.parameters.url_field.form_element_label" form_element_type = "select" select_options_source = "database_fields" description = "" } # url_field accesses_field = { parameter_value = "accesses_unspecified" final_node_name = "accesses_unspecified" validation_type = "string" form_element_label = "$lang_admin.snapons.gateway_reports.parameters.accesses_field.form_element_label" form_element_type = "text" form_element_width = "380" description = "" } # accesses_field # date_time_field = { # # parameter_value = "date_time" # # validation_type = "string" # # form_element_label = "$lang_admin.snapons.gateway_reports.parameters.date_time_field.form_element_label" # form_element_type = "select" # select_options_source = "database_fields" # # description = "" # # } # date_time_field } # parameters parameters_form = { group_1 = { description = "$lang_admin.snapons.gateway_reports.parameters_form.group_1.description" parameters = { user_field = true have_client_ip_field = true client_ip_field = true have_category_field = true category_field = true host_field = true url_field = true have_additional_field = true additional_field = true } # parameters } # group 1 group_2 = { description = "$lang_admin.snapons.gateway_reports.parameters_form.group_2.description" parameters = { have_bytes_in_field = true bytes_in_field = true have_bytes_out_field = true bytes_out_field = true sort_by_field = true accesses_field = true } # parameters } # group 2 } # parameters_form attach_operations = { # Add a log filter to simplify the URL field add_log_filters = { type = "add_log_filters" filters = { "gr_remove_query_{= @parameters{'url_field'}{'parameter_value'} =}" = { label = "$lang_admin.log_filters.remove_query_label" comment = "$lang_admin.log_filters.remove_query_comment" value = "if (contains({= @parameters{'url_field'}{'parameter_value'} =}, '?')) then {= @parameters{'url_field'}{'parameter_value'} =} = substr(url, 0, index({= @parameters{'url_field'}{'parameter_value'} =}, '?') + 1) . '(parameters)';" add_in_snapon = `{= node profile = "profiles." . volatile.new_profile_name; bool log_field_exists = profile{"log"}{"fields"}?{ @parameters{'url_field'}{'parameter_value'} }; log_field_exists; =}` } # gr_remove_query_{= @parameters{'url_field'}{'parameter_value'} =} "gr_simplify_{= @parameters{'url_field'}{'parameter_value'} =}" = { label = "$lang_admin.log_filters.simplify_url_label" comment = "$lang_admin.log_filters.simplify_url_comment" value = "if ({= @parameters{'url_field'}{'parameter_value'} =} eq '-') then {= @parameters{'url_field'}{'parameter_value'} =} = '(no url)' else if (matches_regular_expression({= @parameters{'url_field'}{'parameter_value'} =}, '^([^:]+://[^/]+/)')) then {= @parameters{'url_field'}{'parameter_value'} =} = $1 . '(omitted)'" add_in_snapon = `{= node profile = "profiles." . volatile.new_profile_name; bool log_field_exists = profile{"log"}{"fields"}?{ @parameters{'url_field'}{'parameter_value'} }; log_field_exists; =}` } # gr_simplify_{= @parameters{'url_field'}{'parameter_value'} =} } # filters } # add_log_filters # Attach the snapons add_snapons = { type = "add_snapons" snapons = { # Attach a top_level_domain snapon top_level_domain = { snapon = "top_level_domain" name = "top_level_domain" label = "$lang_admin.snapons.top_level_domain.label" parameters = { url_field.parameter_value = "{= @parameters{'url_field'}{'parameter_value'} =}" field_name = { parameter_value = "$lang_admin.field_labels.top_level_domain" final_node_name = "top_level_domain" } } # parameters # Don't attach this if it already exists (support older plugins which used gateway_reports but manually attached top_level_domains). Don't attach it if there is no URL field specifield specified, either. add_in_snapon = `{= node profile = "profiles." . volatile.new_profile_name; bool snapon_exists = profile{"snapons"}?{"top_level_domain"}; bool log_field_exists = profile{"log"}{"fields"}?{ @parameters{'url_field'}{'parameter_value'} }; !snapon_exists and log_field_exists; =}` } # top_level_domain # Attach the Accesses field "{= @parameters{'accesses_field'}{'final_node_name'} =}" = { snapon = "aggregating_field" name = "{= @parameters{'accesses_field'}{'final_node_name'} =}" label = "{= @parameters{'accesses_field'}{'parameter_value'} =}" parameters = { field_name = { parameter_value = "{= @parameters{'accesses_field'}{'parameter_value'} =}" final_node_name = "{= @parameters{'accesses_field'}{'final_node_name'} =}" } log_field.parameter_value = "{= @parameters{'accesses_field'}{'final_node_name'} =}" log_filter.parameter_value = "{= @parameters{'accesses_field'}{'final_node_name'} =} = 1" log_filter_comment.parameter_value = "$lang_admin.log_filters.mark_entry_comment" log_filter_label.parameter_value = "$lang_admin.log_filters.mark_entry_label" aggregation_operator.parameter_value = "sum" entries_field.parameter_value = true main_field.parameter_value = true } # parameters # Add the accesses field if it doesn't already exist add_in_snapon = `{= node profile = "profiles." . volatile.new_profile_name; bool log_field_exists = profile{"log"}{"fields"}?{ @parameters{'accesses_field'}{'final_node_name'} }; !log_field_exists and (@parameters{'accesses_field'}{'final_node_name'} ne "accesses_unspecified"); =}` } # {= @parameters{'accesses_field'}{'final_node_name'} =} } # snapons } # add_snapons # Add database fields for start/end times add_database_fields = { type = "add_database_fields" fields = { gateway_reports_start_time = { label = "$lang_stats.field_labels.gateway_reports_start_time" derivation_method = "database_filter" category = "" source_database_field = "date_time" type = "int" aggregation_method = "min" index = "true" suppress_top = "0" suppress_bottom = "2" integer_bits = "0" include_in_all_reports = false } # gateway_reports_start_time gateway_reports_end_time = { label = "$lang_stats.field_labels.gateway_reports_end_time" derivation_method = "database_filter" category = "" source_database_field = "date_time" type = "int" aggregation_method = "max" index = "true" suppress_top = "0" suppress_bottom = "2" integer_bits = "0" include_in_all_reports = false } # gateway_reports_end_time } # fields } # add_database_fields # Add report fields add_report_fields = { type = "add_report_fields" fields = { gateway_reports_start_time = { label = "$lang_stats.field_labels.gateway_reports_start_time" column_label = "" column_info = "" database_field = "gateway_reports_start_time" display_format_type = "epoc_to_date_time" show_remainder_value = "false" show_average_value = "false" show_min_value = "false" show_max_value = "false" show_total_value = "false" } # gateway_reports_start_time gateway_reports_end_time = { label = "$lang_stats.field_labels.gateway_reports_end_time" column_label = "" column_info = "" database_field = "gateway_reports_end_time" display_format_type = "epoc_to_date_time" show_remainder_value = "false" show_average_value = "false" show_min_value = "false" show_max_value = "false" show_total_value = "false" } # gateway_reports_end_time } # fields } # add_report_fields # Attach the snapons add_snapons = { type = "add_snapons" snapons = { # Add all standard reports. Note: since this includes the Single-page summary, any fields or reports below this will not be included in the Single-page Summary add_standard_reports = { name = "add_standard_reports" label = "add_standard_reports" snapon = "add_standard_reports" parameters = { add_geo_location_reports.parameter_value = "false" add_user_agent_reports.parameter_value = "false" } # parameters } # add_standard_reports } # snapons } # add_snapons # When attaching: Add the reports add_reports = { type = "add_reports" reports = { gateway_reports_user_summary = { label = "$lang_admin.snapons.gateway_reports.user_summary_label" report_elements = { gateway_reports_user_summary = { label = "$lang_admin.snapons.gateway_reports.user_summary_label" type = "table" # 2013-05-14 - GMF - Can't use sort_by_field here because it might not be in this report (only page_views and bytes_in are) sort_by = "{= @parameters{'page_views_field'}{'parameter_value'} =}" # sort_by = "{= @parameters{'sort_by_field'}{'parameter_value'} =}" omit_parenthesized_items = "true" graph_main_field = true graphs = { graph_type = "pie" # show_3d = "true" } # graphs columns = { user.report_field = "{= @parameters{'user_field'}{'parameter_value'} =}" page_views = { report_field = "{= @parameters{'page_views_field'}{'parameter_value'} =}" show_percent_column = "true" show_bar_column = "true" show_graph = true } # page_views bytes_in = { report_field = "{= @parameters{'bytes_in_field'}{'parameter_value'} =}" # Only add the bytes_in field to this report if we have a bytes_in field add_in_snapon = "{= @parameters{'have_bytes_in_field'}{'parameter_value'} =}" } # bytes_in } # columns } # entry_pages } # report_elements } # gateway_reports_user_summary gateway_reports_category_summary = { label = "$lang_admin.snapons.gateway_reports.category_summary_label" report_elements = { gateway_reports_category_summary = { label = "$lang_admin.snapons.gateway_reports.category_summary_label" type = "table" # 2013-05-14 - GMF - Can't use sort_by_field here because it might not be in this report (only page_views and bytes_in are) sort_by = "{= @parameters{'page_views_field'}{'parameter_value'} =}" # sort_by = "{= @parameters{'sort_by_field'}{'parameter_value'} =}" graph_main_field = true graphs = { graph_type = "pie" # show_3d = "true" } # graphs columns = { category.report_field = "{= @parameters{'category_field'}{'parameter_value'} =}" page_views = { report_field = "{= @parameters{'page_views_field'}{'parameter_value'} =}" show_percent_column = "true" show_bar_column = "true" show_graph = true } # page_views bytes_in = { report_field = "{= @parameters{'bytes_in_field'}{'parameter_value'} =}" # Only add the bytes_in field to this report if we have a bytes_in field add_in_snapon = "{= @parameters{'have_bytes_in_field'}{'parameter_value'} =}" } # bytes_in } # columns } # entry_pages } # report_elements # Only add this report if we have a category field add_in_snapon = "{= @parameters{'have_category_field'}{'parameter_value'} =}" } # gateway_reports_category_summary gateway_reports_host_summary = { label = "$lang_admin.snapons.gateway_reports.host_summary_label" report_elements = { gateway_reports_host_summary = { label = "$lang_admin.snapons.gateway_reports.host_summary_label" type = "table" # 2013-05-14 - GMF - Can't use sort_by_field here because it might not be in this report (only page_views and bytes_in are) sort_by = "{= @parameters{'page_views_field'}{'parameter_value'} =}" # sort_by = "{= @parameters{'sort_by_field'}{'parameter_value'} =}" graph_main_field = true graphs = { graph_type = "pie" # show_3d = "true" } # graphs columns = { host.report_field = "{= @parameters{'host_field'}{'parameter_value'} =}" page_views = { report_field = "{= @parameters{'page_views_field'}{'parameter_value'} =}" show_percent_column = "true" show_bar_column = "true" show_graph = true } # page_views bytes_in = { report_field = "{= @parameters{'bytes_in_field'}{'parameter_value'} =}" # Only add the bytes_in field to this report if we have a bytes_in field add_in_snapon = "{= @parameters{'have_bytes_in_field'}{'parameter_value'} =}" } # bytes_in } # columns } # entry_pages } # report_elements } # gateway_reports_host_summary gateway_reports_users_by_category = { label = "$lang_admin.snapons.gateway_reports.users_by_category_label" report_elements = { gateway_reports_users_by_category = { label = "$lang_admin.snapons.gateway_reports.users_by_category_label" type = "table" # 2013-05-14 - GMF - Can't use sort_by_field here because it might not be in this report (only page_views and bytes_in are) sort_by = "{= @parameters{'page_views_field'}{'parameter_value'} =}" # sort_by = "{= @parameters{'sort_by_field'}{'parameter_value'} =}" pivot_table = { report_field = "{= @parameters{'user_field'}{'parameter_value'} =}" } # pivot_table columns = { category.report_field = "{= @parameters{'category_field'}{'parameter_value'} =}" page_views = { report_field = "{= @parameters{'page_views_field'}{'parameter_value'} =}" show_percent_column = "true" show_bar_column = "true" } # page_views bytes_in = { report_field = "{= @parameters{'bytes_in_field'}{'parameter_value'} =}" # Only add the bytes_in field to this report if we have a bytes_in field add_in_snapon = "{= @parameters{'have_bytes_in_field'}{'parameter_value'} =}" } # bytes_in } # columns } # entry_pages } # report_elements # Only add this report if we have a category field add_in_snapon = "{= @parameters{'have_category_field'}{'parameter_value'} =}" } # gateway_reports_users_by_category gateway_reports_hosts_by_user = { label = "$lang_admin.snapons.gateway_reports.hosts_by_user_label" report_elements = { gateway_reports_hosts_by_user = { label = "$lang_admin.snapons.gateway_reports.hosts_by_user_label" type = "table" # 2013-05-14 - GMF - Can't use sort_by_field here because it might not be in this report (only page_views and bytes_in are) sort_by = "{= @parameters{'page_views_field'}{'parameter_value'} =}" # sort_by = "{= @parameters{'sort_by_field'}{'parameter_value'} =}" pivot_table = { report_field = "{= @parameters{'host_field'}{'parameter_value'} =}" } # pivot_table columns = { category.report_field = "{= @parameters{'user_field'}{'parameter_value'} =}" page_views = { report_field = "{= @parameters{'page_views_field'}{'parameter_value'} =}" show_percent_column = "true" show_bar_column = "true" } # page_views bytes_in = { report_field = "{= @parameters{'bytes_in_field'}{'parameter_value'} =}" # Only add the bytes_in field to this report if we have a bytes_in field add_in_snapon = "{= @parameters{'have_bytes_in_field'}{'parameter_value'} =}" } # bytes_in } # columns } # entry_pages } # report_elements } # gateway_reports_hosts_by_user gateway_reports_usage_detail = { label = "{=expand(lang_admin.snapons.gateway_reports.usage_detail_label)=}" report_elements = { gateway_reports_usage_detail = { label = "$lang_admin.snapons.gateway_reports.usage_detail_label" type = "table" sort_by = "{= @parameters{'sort_by_field'}{'parameter_value'} =}" number_of_rows = "50" # omit_parenthesized_items = "true" #{=expand(lang_stats.menu.groups.sessions_group)=} # pivot_table = { ## show_pivot_table = "true" # report_field = "{= @parameters{'user_field'}{'parameter_value'} =}" ## number_of_rows = "10" ## sort_by = "" ## sort_direction = "descending" ## show_averages_row = "false" ## show_min_row = "false" ## show_max_row = "false" # } # pivot_table columns = { user.report_field = "{= @parameters{'user_field'}{'parameter_value'} =}" client_ip = { report_field = "{= @parameters{'client_ip_field'}{'parameter_value'} =}" # Only add the client IP field to this report if we have a client_ip field add_in_snapon = "{= @parameters{'have_client_ip'}{'parameter_value'} =}" } # client_ip additional_field = { report_field = "{= @parameters{'additional_field'}{'parameter_value'} =}" # Only add the additional field to this report if we have a additional field add_in_snapon = "{= @parameters{'have_additional_field'}{'parameter_value'} =}" } # additional_field category = { report_field = "{= @parameters{'category_field'}{'parameter_value'} =}" # Only add the category field to this report if we have a category field add_in_snapon = "{= @parameters{'have_category_field'}{'parameter_value'} =}" } # category # day.report_field = "day" host.report_field = "{= @parameters{'host_field'}{'parameter_value'} =}" start_time.report_field = "gateway_reports_start_time" end_time.report_field = "gateway_reports_end_time" bytes_in = { report_field = "{= @parameters{'bytes_in_field'}{'parameter_value'} =}" # Only add the bytes_in field to this report if we have a bytes_in field add_in_snapon = "{= @parameters{'have_bytes_in_field'}{'parameter_value'} =}" } # bytes_in bytes_out = { report_field = "{= @parameters{'bytes_out_field'}{'parameter_value'} =}" # Only add the bytes_out field to this report if we have a bytes_out field add_in_snapon = "{= @parameters{'have_bytes_out_field'}{'parameter_value'} =}" } # bytes_out page_views.report_field = "{= @parameters{'page_views_field'}{'parameter_value'} =}" duration = { report_field = "{= @parameters{'duration_field'}{'parameter_value'} =}" # Only add the duration field to this report if we have a duration field add_in_snapon = "{= @parameters{'have_duration_field'}{'parameter_value'} =}" } # duration } # columns } # entry_pages } # report_elements } # gateway_reports_usage_detail } # reports reports_menu = { gateway_usage_group = { move_to_top = true items = { gateway_reports_category_summary = { label = "$lang_admin.snapons.gateway_reports.category_summary_label" report = "gateway_reports_category_summary" # Only add the category report if we have a category field add_in_snapon = "{= @parameters{'have_category_field'}{'parameter_value'} =}" } # gateway_reports_category_summary gateway_reports_user_summary = { label = "$lang_admin.snapons.gateway_reports.user_summary_label" report = "gateway_reports_user_summary" } # gateway_reports_user_summary gateway_reports_host_summary = { label = "$lang_admin.snapons.gateway_reports.host_summary_label" report = "gateway_reports_host_summary" } # gateway_reports_host_summary gateway_reports_users_by_category = { label = "$lang_admin.snapons.gateway_reports.users_by_category_label" report = "gateway_reports_users_by_category" # Only add the category field to this report if we have a category field add_in_snapon = "{= @parameters{'have_category_field'}{'parameter_value'} =}" } # gateway_reports_users_by_category gateway_reports_hosts_by_user = { label = "$lang_admin.snapons.gateway_reports.hosts_by_user_label" report = "gateway_reports_hosts_by_user" } # gateway_reports_hosts_by_user gateway_reports_usage_detail = { label = "$lang_admin.snapons.gateway_reports.usage_detail_label" report = "gateway_reports_usage_detail" } # gateway_usage_detail } # items } # gateway_reports_group } # reports_menu } # add_reports # Add a dashboard add_dashboard = { type = "add_reports" reports = { dashboard = { label = "$lang_stats.menu.reports.dashboard" report_elements = { overview = { label = "$lang_stats.menu.reports.overview" type = "overview" show_header_bar = true display_side_by_side = "true" compact_view = true sort_by = "{= @parameters{'sort_by_field'}{'parameter_value'} =}" columns = { } # columns add_all_aggregating_columns = true } # overview traffic = { label = "$lang_admin.snapons.web_server_package.traffic_report_label" type = "table" show_header_bar = true display_side_by_side = "true" report_link = "day" show_graphs = true show_table = false graphs = { graph_type = "bar" sort_all_descending = false y_axis_height = 100 x_axis_length = 200 } # graphs sort_by = "day" sort_direction = "ascending" columns = { day.report_field = "day" page_views = { report_field = "{= @parameters{'page_views_field'}{'parameter_value'} =}" show_graph = true } # show_graph # bytes_in = { # report_field = "{= @parameters{'bytes_in_field'}{'parameter_value'} =}" # show_graph = true # } # bytes_in # bytes_out = { # report_field = "{= @parameters{'bytes_out_field'}{'parameter_value'} =}" # show_graph = true # } # bytes_out } # columns } # traffic category = { label = "$lang_admin.snapons.gateway_reports.category_summary_label" type = "table" show_header_bar = true display_side_by_side = "true" report_link = "gateway_reports_category_summary" sort_by = "{= @parameters{'sort_by_field'}{'parameter_value'} =}" show_graphs = false show_table = true number_of_rows = 10 columns = { user.report_field = "{= @parameters{'category_field'}{'parameter_value'} =}" page_views = { report_field = "{= @parameters{'page_views_field'}{'parameter_value'} =}" show_bar_column = true } # page_views } # columns # Only add this report element if we have a category field add_in_snapon = "{= @parameters{'have_category_field'}{'parameter_value'} =}" } # category users = { label = "$lang_admin.snapons.gateway_reports.user_summary_label" type = "table" show_header_bar = true display_side_by_side = "true" report_link = "gateway_reports_user_summary" sort_by = "{= @parameters{'sort_by_field'}{'parameter_value'} =}" show_graphs = false show_table = true number_of_rows = 10 columns = { user.report_field = "{= @parameters{'user_field'}{'parameter_value'} =}" page_views = { report_field = "{= @parameters{'page_views_field'}{'parameter_value'} =}" show_bar_column = true } # page_views } # columns } # users host = { label = "$lang_admin.snapons.gateway_reports.host_summary_label" type = "table" show_header_bar = true display_side_by_side = "true" report_link = "gateway_reports_host_summary" sort_by = "{= @parameters{'sort_by_field'}{'parameter_value'} =}" show_graphs = false show_table = true number_of_rows = 10 columns = { user.report_field = "{= @parameters{'host_field'}{'parameter_value'} =}" page_views = { report_field = "{= @parameters{'page_views_field'}{'parameter_value'} =}" show_bar_column = true } # page_views } # columns } # host } # report_elements } # dashboard } # reports reports_menu = { gateway_usage_group = { items = { dashboard = { label = "$lang_stats.menu.reports.dashboard" report = "dashboard" move_to_top = true } # dashboard } # items } # gateway_usage_group } # reports_menu } # add_dashboard } # attach_operations } # gateway_reports