From 55d9ac58b1a2b2a64d6b597e8d98d810607df7e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?benjamin=20melan=C3=A7on?= Date: Thu, 20 Feb 2025 11:39:13 -0500 Subject: [PATCH 1/5] Enable and configure Plausible module #124 --- config/sync/core.extension.yml | 1 + config/sync/plausible.settings.yml | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 config/sync/plausible.settings.yml diff --git a/config/sync/core.extension.yml b/config/sync/core.extension.yml index d9ab996..3f0cdaf 100644 --- a/config/sync/core.extension.yml +++ b/config/sync/core.extension.yml @@ -111,6 +111,7 @@ module: path: 0 path_alias: 0 phpass: 0 + plausible: 0 rdf: 0 redirect: 0 responsive_image: 0 diff --git a/config/sync/plausible.settings.yml b/config/sync/plausible.settings.yml new file mode 100644 index 0000000..a5c008e --- /dev/null +++ b/config/sync/plausible.settings.yml @@ -0,0 +1,25 @@ +_core: + default_config_hash: 7ITcwwShhS7SG3SJdIqRQkzXEcEPNejdEnbeDVDeDY0 +script: + domain: '' + api: '' + src: 'https://plausible.io/js/script.file-downloads.hash.outbound-links.js' +dashboard: + shared_link: '' +visibility: + enable: true + admin_route_mode: 1 + request_path_mode: 0 + request_path_pages: '' + user_role_roles: + administrator: '0' + anonymous: '0' + authenticated: '0' + invited_blogger: '0' + contributor: '0' + editor: '0' + manager: '0' + user_role_mode: 0 +events: + 403: true + 404: true From 800b045b40db781ab77b0824891b27901d28e1ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?benjamin=20melan=C3=A7on?= Date: Thu, 20 Feb 2025 11:45:10 -0500 Subject: [PATCH 2/5] Config snapshot --- ....snapshot.config_sync.module.plausible.yml | 33 + ...shot.config_sync.module.visitors_geoip.yml | 1705 +++++++++++++++++ 2 files changed, 1738 insertions(+) create mode 100644 config/sync/config_snapshot.snapshot.config_sync.module.plausible.yml diff --git a/config/sync/config_snapshot.snapshot.config_sync.module.plausible.yml b/config/sync/config_snapshot.snapshot.config_sync.module.plausible.yml new file mode 100644 index 0000000..21e8036 --- /dev/null +++ b/config/sync/config_snapshot.snapshot.config_sync.module.plausible.yml @@ -0,0 +1,33 @@ +uuid: d968c39b-76d9-4fde-87c2-98597304e1c0 +langcode: en +status: true +dependencies: + module: + - plausible +id: config_sync.module.plausible +snapshotSet: config_sync +extensionType: module +extensionName: plausible +items: + - + collection: '' + name: plausible.settings + data: + script: + domain: '' + api: '' + src: 'https://plausible.io/js/plausible.js' + dashboard: + shared_link: '' + visibility: + enable: true + admin_route_mode: 0 + request_path_mode: 0 + request_path_pages: '' + user_role_mode: 0 + user_role_roles: { } + events: + 403: false + 404: false + _core: + default_config_hash: 7ITcwwShhS7SG3SJdIqRQkzXEcEPNejdEnbeDVDeDY0 diff --git a/config/sync/config_snapshot.snapshot.config_sync.module.visitors_geoip.yml b/config/sync/config_snapshot.snapshot.config_sync.module.visitors_geoip.yml index 9100a38..0b54404 100644 --- a/config/sync/config_snapshot.snapshot.config_sync.module.visitors_geoip.yml +++ b/config/sync/config_snapshot.snapshot.config_sync.module.visitors_geoip.yml @@ -9,6 +9,1711 @@ snapshotSet: config_sync extensionType: module extensionName: visitors_geoip items: + - + collection: '' + name: views.view.visitors_geoip + data: + langcode: en + status: true + dependencies: + module: + - visitors + enforced: + module: + - visitors_geoip + id: visitors_geoip + label: 'Visitors GeoIP' + module: views + description: 'Region and City location reports.' + tag: '' + base_table: visitors + base_field: '' + display: + default: + id: default + display_title: Default + display_plugin: default + position: 0 + display_options: + fields: + visitor_id: + id: visitor_id + table: visitors + field: visitor_id + relationship: none + group_type: count_distinct + admin_label: '' + plugin_id: standard + label: 'Unique visitors' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + set_precision: false + precision: 0 + decimal: . + separator: ',' + format_plural: 0 + format_plural_string: !!binary MQNAY291bnQ= + prefix: '' + suffix: '' + pager: + type: mini + options: + offset: 0 + items_per_page: 10 + total_pages: null + id: 0 + tags: + next: ›› + previous: ‹‹ + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + access: + type: none + options: { } + cache: + type: tag + options: { } + empty: { } + sorts: + visitor_id: + id: visitor_id + table: visitors + field: visitor_id + relationship: none + group_type: count_distinct + admin_label: '' + plugin_id: standard + order: DESC + expose: + label: '' + field_identifier: '' + exposed: false + arguments: { } + filters: + bot: + id: bot + table: visitors + field: bot + relationship: none + group_type: group + admin_label: '' + plugin_id: boolean + operator: '!=' + value: '1' + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + visitors_date_time: + id: visitors_date_time + table: visitors + field: visitors_date_time + relationship: none + group_type: group + admin_label: '' + plugin_id: visitors_date + operator: between + value: + min: to + max: from + value: '' + type: global + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + min_placeholder: '' + max_placeholder: '' + placeholder: '' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + style: + type: table + options: + grouping: { } + row_class: '' + default_row_class: true + columns: + location_region_1: location_region_1 + location_country_2: location_country_2 + location_country: location_country + location_region: location_region + location_country_1: location_country_1 + visitor_id: visitor_id + default: visitor_id + info: + location_region_1: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + location_country_2: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + location_country: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + location_region: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + location_country_1: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + visitor_id: + sortable: true + default_sort_order: desc + align: '' + separator: '' + empty_column: false + responsive: '' + override: true + sticky: false + summary: '' + empty_table: false + caption: '' + description: '' + row: + type: fields + options: + default_field_elements: true + inline: { } + separator: '' + hide_empty: false + query: + type: views_query + options: + query_comment: '' + disable_sql_rewrite: false + distinct: false + replica: false + query_tags: { } + relationships: { } + group_by: true + header: { } + footer: { } + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_interface' + - url.query_args + tags: { } + city_table: + id: city_table + display_title: City + display_plugin: embed + position: 3 + display_options: + fields: + location_country_2: + id: location_country_2 + table: visitors + field: location_country + relationship: none + group_type: group + admin_label: '' + plugin_id: visitors_country + label: Abbreviation + exclude: true + alter: + alter_text: true + text: '{{ location_country_2|lower }}' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + icon: false + text: false + abbreviation: true + location_region: + id: location_region + table: visitors + field: location_region + relationship: none + group_type: group + admin_label: '' + plugin_id: standard + label: 'Region url' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: _none + hide_empty: false + empty_zero: false + hide_alter_empty: true + location_city_1: + id: location_city_1 + table: visitors + field: location_city + relationship: none + group_type: group + admin_label: '' + plugin_id: standard + label: 'City url' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: _none + hide_empty: false + empty_zero: false + hide_alter_empty: true + location_city: + id: location_city + table: visitors + field: location_city + relationship: none + group_type: group + admin_label: '' + plugin_id: standard + label: City + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: Unknown + hide_empty: false + empty_zero: false + hide_alter_empty: true + location_country: + id: location_country + table: visitors + field: location_country + relationship: none + group_type: group + admin_label: '' + plugin_id: visitors_country + label: Country + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + icon: true + text: false + location_country_1: + id: location_country_1 + table: visitors + field: location_country + relationship: none + group_type: group + admin_label: '' + plugin_id: visitors_country + label: City + exclude: false + alter: + alter_text: true + text: '{{ location_country }} {{ location_city }}, {{ location_country_1 }}' + make_link: true + path: 'internal:/visitors/location/city/{{ location_country_2 }}/{{ location_region }}/{{ location_city_1 }}' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + icon: false + text: true + abbreviation: false + visitor_id: + id: visitor_id + table: visitors + field: visitor_id + relationship: none + group_type: count_distinct + admin_label: '' + plugin_id: standard + label: 'Unique visitors' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + set_precision: false + precision: 0 + decimal: . + separator: ',' + format_plural: 0 + format_plural_string: !!binary MQNAY291bnQ= + prefix: '' + suffix: '' + arguments: + location_country: + id: location_country + table: visitors + field: location_country + relationship: none + group_type: group + admin_label: '' + plugin_id: string + default_action: ignore + exception: + value: all + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: fixed + default_argument_options: + argument: '' + summary_options: + base_path: '' + count: true + override: false + items_per_page: 25 + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: false + validate: + type: none + fail: 'not found' + validate_options: { } + glossary: false + limit: 0 + case: none + path_case: none + transform_dash: false + break_phrase: false + location_region: + id: location_region + table: visitors + field: location_region + relationship: none + group_type: group + admin_label: '' + plugin_id: string + default_action: ignore + exception: + value: all + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: fixed + default_argument_options: + argument: '' + summary_options: + base_path: '' + count: true + override: false + items_per_page: 25 + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: false + validate: + type: none + fail: 'not found' + validate_options: { } + glossary: false + limit: 0 + case: none + path_case: none + transform_dash: false + break_phrase: false + defaults: + fields: false + arguments: false + display_description: '' + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_interface' + - url + - url.query_args + tags: { } + recent_view_table: + id: recent_view_table + display_title: 'Recent Views' + display_plugin: embed + position: 3 + display_options: + fields: + visitors_id: + id: visitors_id + table: visitors + field: visitors_id + relationship: none + group_type: group + admin_label: '' + plugin_id: numeric + label: 'Visitors ID' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + set_precision: false + precision: 0 + decimal: . + separator: ',' + format_plural: false + format_plural_string: !!binary MQNAY291bnQ= + prefix: '' + suffix: '' + visitors_url: + id: visitors_url + table: visitors + field: visitors_url + relationship: none + group_type: group + admin_label: '' + plugin_id: standard + label: URL + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + visitors_date_time: + id: visitors_date_time + table: visitors + field: visitors_date_time + relationship: none + group_type: group + admin_label: '' + plugin_id: date + label: 'Date Time' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + date_format: short + custom_date_format: '' + timezone: '' + visitor_id: + id: visitor_id + table: visitors + field: visitor_id + relationship: none + group_type: group + admin_label: '' + plugin_id: standard + label: Visitor + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + nothing: + id: nothing + table: views + field: nothing + relationship: none + group_type: group + admin_label: '' + plugin_id: custom + label: Operations + exclude: false + alter: + alter_text: true + text: details + make_link: true + path: 'internal:/visitors/hits/{{ visitors_id }}' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: false + pager: + type: full + options: + offset: 0 + items_per_page: 10 + total_pages: null + id: 0 + tags: + next: ›› + previous: ‹‹ + first: '« First' + last: 'Last »' + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + quantity: 9 + sorts: + visitors_id: + id: visitors_id + table: visitors + field: visitors_id + relationship: none + group_type: group + admin_label: '' + plugin_id: standard + order: DESC + expose: + label: '' + field_identifier: '' + exposed: false + arguments: + location_country: + id: location_country + table: visitors + field: location_country + relationship: none + group_type: group + admin_label: '' + plugin_id: string + default_action: ignore + exception: + value: all + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: fixed + default_argument_options: + argument: '' + summary_options: + base_path: '' + count: true + override: false + items_per_page: 25 + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: false + validate: + type: none + fail: 'not found' + validate_options: { } + glossary: false + limit: 0 + case: lower + path_case: none + transform_dash: false + break_phrase: false + location_region: + id: location_region + table: visitors + field: location_region + relationship: none + group_type: group + admin_label: '' + plugin_id: string + default_action: ignore + exception: + value: all + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: fixed + default_argument_options: + argument: '' + summary_options: + base_path: '' + count: true + override: false + items_per_page: 25 + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: false + validate: + type: none + fail: 'not found' + validate_options: { } + glossary: false + limit: 0 + case: none + path_case: none + transform_dash: false + break_phrase: false + location_city: + id: location_city + table: visitors + field: location_city + relationship: none + group_type: group + admin_label: '' + plugin_id: string + default_action: ignore + exception: + value: all + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: fixed + default_argument_options: + argument: '' + summary_options: + base_path: '' + count: true + override: false + items_per_page: 25 + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: false + validate: + type: none + fail: 'not found' + validate_options: { } + glossary: false + limit: 0 + case: none + path_case: none + transform_dash: false + break_phrase: false + filters: + bot: + id: bot + table: visitors + field: bot + relationship: none + group_type: group + admin_label: '' + plugin_id: boolean + operator: '!=' + value: '1' + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + visitors_date_time: + id: visitors_date_time + table: visitors + field: visitors_date_time + relationship: none + group_type: group + admin_label: '' + plugin_id: visitors_date + operator: between + value: + min: to + max: from + value: '' + type: global + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + min_placeholder: '' + max_placeholder: '' + placeholder: '' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + visitors_path: + id: visitors_path + table: visitors + field: visitors_path + relationship: none + group_type: group + admin_label: '' + plugin_id: string + operator: starts + value: '' + group: 1 + exposed: true + expose: + operator_id: visitors_path_op + label: Path + description: '' + use_operator: false + operator: visitors_path_op + operator_limit_selection: false + operator_list: { } + identifier: visitors_path + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + content_editor: '0' + administrator: '0' + placeholder: '' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + filter_groups: + operator: AND + groups: + 1: AND + defaults: + pager: false + group_by: false + fields: false + sorts: false + arguments: false + filters: false + filter_groups: false + header: false + group_by: false + display_description: '' + header: + result: + id: result + table: views + field: result + relationship: none + group_type: group + admin_label: '' + plugin_id: result + empty: false + content: 'Displaying @start - @end of @total' + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_interface' + - url + - url.query_args + tags: { } + region_table: + id: region_table + display_title: Region + display_plugin: embed + position: 2 + display_options: + fields: + location_region_1: + id: location_region_1 + table: visitors + field: location_region + relationship: none + group_type: group + admin_label: '' + plugin_id: standard + label: 'Region link' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: _none + hide_empty: false + empty_zero: false + hide_alter_empty: true + location_country_2: + id: location_country_2 + table: visitors + field: location_country + relationship: none + group_type: group + admin_label: '' + plugin_id: visitors_country + label: Abbreviation + exclude: true + alter: + alter_text: true + text: '{{ location_country_2|lower }}' + make_link: false + path: 'internal:/visitors/location/region/{{ location_country_2 }}/{{ location_region }}' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + icon: false + text: false + abbreviation: true + location_country: + id: location_country + table: visitors + field: location_country + relationship: none + group_type: group + admin_label: '' + plugin_id: visitors_country + label: Flag + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + icon: true + text: false + location_region: + id: location_region + table: visitors + field: location_region + relationship: none + group_type: group + admin_label: '' + plugin_id: standard + label: Region + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: Unknown + hide_empty: false + empty_zero: false + hide_alter_empty: true + location_country_1: + id: location_country_1 + table: visitors + field: location_country + relationship: none + group_type: group + admin_label: '' + plugin_id: visitors_country + label: Region + exclude: false + alter: + alter_text: true + text: '{{location_country }} {{ location_region }}, {{ location_country_1 }} ' + make_link: true + path: 'internal:/visitors/location/region/{{ location_country_2 }}/{{ location_region_1 }}' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: Unknown + hide_empty: false + empty_zero: false + hide_alter_empty: true + icon: false + text: true + abbreviation: false + visitor_id: + id: visitor_id + table: visitors + field: visitor_id + relationship: none + group_type: count_distinct + admin_label: '' + plugin_id: standard + label: 'Unique visitors' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + set_precision: false + precision: 0 + decimal: . + separator: ',' + format_plural: 0 + format_plural_string: !!binary MQNAY291bnQ= + prefix: '' + suffix: '' + arguments: + location_country: + id: location_country + table: visitors + field: location_country + relationship: none + group_type: group + admin_label: '' + plugin_id: string + default_action: ignore + exception: + value: all + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: fixed + default_argument_options: + argument: '' + summary_options: + base_path: '' + count: true + override: false + items_per_page: 25 + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: false + validate: + type: none + fail: 'not found' + validate_options: { } + glossary: false + limit: 0 + case: none + path_case: none + transform_dash: false + break_phrase: false + defaults: + fields: false + arguments: false + display_description: '' + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_interface' + - url + - url.query_args + tags: { } + _core: + default_config_hash: xSLp7qH6ygL6WYOeKvgeihL8VlZYZnZFbRsvYGLGsGk - collection: '' name: visitors_geoip.settings From 39d0d48fe1b3ebaa54be241a9ca1d77b79271fa5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?benjamin=20melan=C3=A7on?= Date: Thu, 20 Feb 2025 11:46:55 -0500 Subject: [PATCH 3/5] Add page caching --- config/sync/system.performance.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/sync/system.performance.yml b/config/sync/system.performance.yml index d8dbe9a..902d668 100644 --- a/config/sync/system.performance.yml +++ b/config/sync/system.performance.yml @@ -2,7 +2,7 @@ _core: default_config_hash: b2cssrj-lOmATIbdehfCqfCFgVR0qCdxxWhwqa2KBVQ cache: page: - max_age: 0 + max_age: 1800 css: preprocess: true gzip: true From 36fe87400b822e0e1c69550ea6bef47d26f5f1e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?benjamin=20melan=C3=A7on?= Date: Thu, 20 Feb 2025 11:47:58 -0500 Subject: [PATCH 4/5] Allow visitors to see the Drupal visitor count on content --- config/sync/user.role.authenticated.yml | 2 ++ config/sync/user.role.contributor.yml | 2 ++ config/sync/user.role.editor.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/config/sync/user.role.authenticated.yml b/config/sync/user.role.authenticated.yml index 67d7e28..148f812 100644 --- a/config/sync/user.role.authenticated.yml +++ b/config/sync/user.role.authenticated.yml @@ -15,6 +15,7 @@ dependencies: - node - statistics - system + - visitors _core: default_config_hash: dJ0L2DNSj5q6XVZAGsuVDpJTh5UeYkIPwKrUOOpr8YI id: authenticated @@ -38,3 +39,4 @@ permissions: - 'view media' - 'view own unpublished content' - 'view post access counter' + - 'view visitors counter' diff --git a/config/sync/user.role.contributor.yml b/config/sync/user.role.contributor.yml index 5c54849..2e25be3 100644 --- a/config/sync/user.role.contributor.yml +++ b/config/sync/user.role.contributor.yml @@ -21,6 +21,7 @@ dependencies: - system - taxonomy - toolbar + - visitors _core: default_config_hash: wx_SmNDtHorXJ90rDiwqo6EvHgyvz6_SZFsFO77cdvY id: contributor @@ -47,3 +48,4 @@ permissions: - 'update media' - 'use text format full_html' - 'view the administration theme' + - 'view visitors counter' diff --git a/config/sync/user.role.editor.yml b/config/sync/user.role.editor.yml index 3b2d604..3e6e660 100644 --- a/config/sync/user.role.editor.yml +++ b/config/sync/user.role.editor.yml @@ -19,6 +19,7 @@ dependencies: - taxonomy - toolbar - tour + - visitors _core: default_config_hash: rlOWgxSj7Nc4dVgLS2xaxjHVZNv9u9Csoy8JavNvygc id: editor @@ -55,3 +56,4 @@ permissions: - 'view all revisions' - 'view own unpublished content' - 'view the administration theme' + - 'view visitors counter' From 948439622911011e94538fc07824e20dc88a1f45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?benjamin=20melan=C3=A7on?= Date: Thu, 20 Feb 2025 11:49:03 -0500 Subject: [PATCH 5/5] Allow managers to view site reports #124 --- config/sync/user.role.manager.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/sync/user.role.manager.yml b/config/sync/user.role.manager.yml index ac53ba2..0c615e1 100644 --- a/config/sync/user.role.manager.yml +++ b/config/sync/user.role.manager.yml @@ -48,6 +48,7 @@ permissions: - 'access help pages' - 'access shortcuts' - 'access site in maintenance mode' + - 'access site reports' - 'access toolbar' - 'access tour' - 'access user contact forms'