# # double_hits snapon # # This snapon is provided as a simple, minimal example. It adds a summing database field called double_hits, # and a database filter which sets its value to 2 for every row of the main table. This creates a numerical field # which shows twice the number of "hits" (or events, or accesses, or messages, etc., depending on the log format). # # double_hits = { label = "$lang_admin.snapons.double_hits.label" comment = "$lang_admin.snapons.double_hits.comment" config_snapon_category = "" parameters = { set_value = { parameter_value = "2" validation_type = "int" min = 1 form_element_label = "$lang_admin.snapons.double_hits.parameters.set_value.form_element_label" form_element_type = "text" form_element_width = "220" description = "" } # set_value field_name = { parameter_value = "{=capitalize(expand(lang_stats.field_labels.double_hits))=}" validation_type = "field_label" validate_field_label_for = { database_fields = true report_fields = true } form_element_label = "$lang_admin.snapons.double_hits.parameters.field_name.form_element_label" form_element_type = "text" form_element_width = "380" description = "$lang_admin.snapons.double_hits.parameters.field_name.description" } # field_name } # parameters parameters_form = { group_1 = { description = "$lang_admin.snapons.double_hits.parameters_form.group_1.description" parameters = { set_value = true field_name = true } # parameters } # group 1 } # parameters_form attach_operations = { # When attaching: Add the double_hits database field add_double_hits_database_field = { type = "add_database_fields" fields = { "{= @parameters{'field_name'}{'final_node_name'} =}" = { label = "{= @parameters{'field_name'}{'parameter_value'} =}" type = "int" database_field = "{= @parameters{'field_name'}{'final_node_name'} =}" # derivation_method = "log_field" # KHP 16/Nov/2010 - derivation_method = "log_field" will not work unless there is a double_hits log_field, # changing derivation_method to database_filter derivation_method = "database_filter" category = "" aggregation_method = "sum" index = "true" suppress_top = "0" suppress_bottom = "2" integer_bits = "0" } # double_hits } # fields } # add_double_hits_database_field # When attaching: Add a database filter to set double_hits to 2 for all rows add_double_hits_database_filter = { type = "add_database_filters" filters = { "{= @parameters{'field_name'}{'final_node_name'} =}" = { expression = `{= @parameters{'field_name'}{'final_node_name'} =} = {= @parameters{'set_value'}{'parameter_value'} =};` # expression = `double_hits = set_value; sleep_milliseconds(20)` # Simulates a long snapon operation to test progress display } # double_hits } # filters } # add_double_hits_database_filter # When attaching: Add the double_hits report field add_double_hits_report_field = { type = "add_report_fields" fields = { "{= @parameters{'field_name'}{'final_node_name'} =}" = { label = "{= @parameters{'field_name'}{'parameter_value'} =}" column_label = "" column_info = "" database_field = "{= @parameters{'field_name'}{'final_node_name'} =}" display_format_type = "integer" show_remainder_value = true show_average_value = true show_min_value = true show_max_value = true show_total_value = true percent_calculation = "sum" } # double_hits } # fields } # add_double_hits_report_field # When attaching: Add the double_hits field to all xref groups add_double_hits_xref_fields = { type = "add_xref_fields" xref_group = "*" fields = { "{= @parameters{'field_name'}{'final_node_name'} =}" = "double_hits" } # fields } # add_double_hits_xref_fields # When attaching: Add the double_hits column to all report elements add_double_hits_report_column = { type = "add_report_element_columns" report = "*" report_element = "*" columns = { "{= @parameters{'field_name'}{'final_node_name'} =}" = { report_field = "{= @parameters{'field_name'}{'final_node_name'} =}" show_column = true show_percent_column = false show_bar_column = false show_graph = true } # double_hits } # columns } # add_double_hits_report_column } # attach_operations } # double_hits