Support from Acquia helps fund testing for Drupal Acquia logo

Comments

mgifford’s picture

Nice. To get it in Core we'd have to bring it into D8 first so the functionality could be backported.

timmillwood’s picture

Status: Needs review » Needs work

Great thought (and patch) but as @mgifford says, this needs to be against the 8.0.x branch and not against 7.34.

David_Rothstein’s picture

Version: 7.34 » 8.0.x-dev
Issue tags: +Needs backport to D7
mgifford’s picture

Assigned: brtamas » Unassigned

Version: 8.0.x-dev » 8.1.x-dev

Drupal 8.0.6 was released on April 6 and is the final bugfix release for the Drupal 8.0.x series. Drupal 8.0.x will not receive any further development aside from security fixes. Drupal 8.1.0-rc1 is now available and sites should prepare to update to 8.1.0.

Bug reports should be targeted against the 8.1.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.2.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

mallezie’s picture

Version: 8.1.x-dev » 8.2.x-dev

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.0-beta1 was released on August 3, 2016, which means new developments and disruptive changes should now be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.0-alpha1 will be released the week of January 30, 2017, which means new developments and disruptive changes should now be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.0-alpha1 will be released the week of July 31, 2017, which means new developments and disruptive changes should now be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.5.x-dev » 8.6.x-dev

Drupal 8.5.0-alpha1 will be released the week of January 17, 2018, which means new developments and disruptive changes should now be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

ricovandevin’s picture

I guess the desired behavior is that the resource (/core/modules/statistics/statistics.php) is available to crawlers but it should not record the view.

ricovandevin’s picture

Status: Needs work » Needs review
FileSize
3.32 KB

A first patch that applies against 8.6.x-dev.

Status: Needs review » Needs work
timmillwood’s picture

+++ b/core/modules/statistics/statistics.php
@@ -16,10 +16,28 @@
+$userAgent = $container
+  ->get('request_stack')
+  ->getCurrentRequest()
+  ->headers
+  ->get('User-Agent', '');
+
+$views = $statisticsSettings->get('count_content_views');
+
+if ($statisticsSettings->get('count_content_views_exclude_bots') && $userAgent) {
+  $regexes = preg_split("/\r\n|\n|\r/", $statisticsSettings->get('count_content_views_exclude_bots_regex'));
+  // Do not record the view if the user agent string matches against one of the
+  // regexes.
+  foreach ($regexes as $regex) {
+    if (preg_match($regex, $userAgent)) {
+      $views = FALSE;
+      break;
+    }
+  }
+}

I'd fear that this could make the already slow statistics.php even slower.

ricovandevin’s picture

It will undoubtedly make the script slower. If anyone has better ideas I'd be happy to turn those ideas into patches. For now let us work on fixing the issue.

Fixed the issue that the request is not pushed onto the request stack.

ricovandevin’s picture

Status: Needs work » Needs review

Forgot to change the issue status. :-$

Status: Needs review » Needs work
timmillwood’s picture

I wonder if there's anything we can do at the JS level?

Failing tests are related to there not being a schema to match the new config settings, quite a simple fix.

ricovandevin’s picture

Fixed schema.

Wim Leers’s picture

Status: Needs review » Needs work

Thanks for working on this!

When #2502313: Installing the Statistics module doesn't do anything, one must also know about some pretty mysterious setting and enable it lands, we won't have any configuration left. This would bring back configuration. I'm also not convinced. Furthermore, that list of bots would need to be updated continuously. That's not workable.

ricovandevin’s picture

I guess we can safely assume that nobody wants to have bots polluting the statistics. So we can leave out configuration to enable the blocking of bots.

Furthermore, that list of bots would need to be updated continuously. That's not workable.

I think that is a good point. But do we have another mechanism for recognizing bots except for inspecting the User-Agent header?

Version: 8.6.x-dev » 8.7.x-dev

Drupal 8.6.0-alpha1 will be released the week of July 16, 2018, which means new developments and disruptive changes should now be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.7.x-dev » 8.8.x-dev

Drupal 8.7.0-alpha1 will be released the week of March 11, 2019, which means new developments and disruptive changes should now be targeted against the 8.8.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.0-alpha1 will be released the week of October 14th, 2019, which means new developments and disruptive changes should now be targeted against the 8.9.x-dev branch. (Any changes to 8.9.x will also be committed to 9.0.x in preparation for Drupal 9’s release, but some changes like significant feature additions will be deferred to 9.1.x.). For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.9.x-dev » 9.1.x-dev

Drupal 8.9.0-beta1 was released on March 20, 2020. 8.9.x is the final, long-term support (LTS) minor release of Drupal 8, which means new developments and disruptive changes should now be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 9.1.x-dev » 9.2.x-dev

Drupal 9.1.0-alpha1 will be released the week of October 19, 2020, which means new developments and disruptive changes should now be targeted for the 9.2.x-dev branch. For more information see the Drupal 9 minor version schedule and the Allowed changes during the Drupal 9 release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Drupal 9.2.0-alpha1 will be released the week of May 3, 2021, which means new developments and disruptive changes should now be targeted for the 9.3.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.0-rc1 was released on November 26, 2021, which means new developments and disruptive changes should now be targeted for the 9.4.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.0-alpha1 was released on May 6, 2022, which means new developments and disruptive changes should now be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.5.x-dev » 10.1.x-dev

Drupal 9.5.0-beta2 and Drupal 10.0.0-beta2 were released on September 29, 2022, which means new developments and disruptive changes should now be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

quietone’s picture

Status: Needs work » Postponed

Statistics is approved for removal. See #3266457: [Policy] Deprecate Statistics module in D10 and move to contrib in D11

This is now Postponed. The status is set according to two policies. The Remove a core extension and move it to a contributed project and the Extensions approved for removal policies.

It will be moved to a contributed Statistics project once the project is created and the Drupal 11 branch is open.

Version: 10.1.x-dev » 11.x-dev

Drupal core is moving towards using a “main” branch. As an interim step, a new 11.x branch has been opened, as Drupal.org infrastructure cannot currently fully support a branch named main. New developments and disruptive changes should now be targeted for the 11.x branch, which currently accepts only minor-version allowed changes. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.