UX miniprojects are here to encourage more User Experience people to participate in the Drupal Project.

Objective of this microproject:
To consider the design and functionality of a widget for the dashboard that would show recent traffic data statistics for your website

There is a corresponding Project Framework page for this element on D7UX.org here

Next steps:

  • Post any information that's helpful for a newcomer to Drupal who will be addressing the UX aspects of this issue. Sceenshots are probably best, a demo site would be great.
  • Leave a comment if you would like to volunteer as a DEVELOPER or USABILITY mentor for this issue.
  • The UX Volunteer for this project is free to choose the channels and media to work in, but will use this issue to report their findings for review and feedback.
  • Drop by in #drupal-usability in IRC and talk to Leisa or yoroy if you have questions or feedback on this process, this is a trial so any input on how to improve is appreciated.

Note that we do not expect the output of every microproject to be implemented or implementable. Any usability gains from this process are a boon to D7, but getting more UX people into the Drupal community and finding ways for them to work more effectively with developers are our core goals.

And please, play nice. The issue queue can be quite intimidating for newcomers so let's try to be extra welcoming here.

Go!

CommentFileSizeAuthor
#10 Bild 102.png18.68 KBKrummrey
#8 Traffic-1.png11.64 KBKrummrey
#8 Traffic-2.png4.42 KBKrummrey
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

leisareichelt’s picture

UX Volunteer: Jan Krummrey (pending acceptance)

UX Mentor(s): TBC

Developer Mentor(s): TBC

Krummrey’s picture

Count me on that.

Just a few questions to clear up what the scope of this project is.

It's ONE widget for site traffic.
Not the set of dashboards proposed in http://www.d7ux.org/dashboard/ , right?

Krummrey’s picture

So who can help me out. What data does D7 core offer?

Page views (total) YES/NO
Page views (by date) YES/NO

Visits (total) YES/NO
Visits (by date) YES/NO

Referrer YES/NO

Anything else, that drupal might be tracking related to traffic?

There is a Google analytics API . I assume that other tracking services have something similar.

So for the long run or contrib that is a data-source that a widget could tap into.

Is there a weblog parser that a widget could get it's data from?

yoroy’s picture

Jan: we have Statistics module in core. it has this config screen:

Statistics | d7

it provides (some of) these links in the reports section:

Statistics Reports | d7

which link to pages with tables like this:

Recent hits | d7

catch pointed out http://drupal.org/node/142668 as maybe relevant to this.

Krummrey’s picture

from Statistics: tracking referrers, page hits, etc.:

Statistics module features

  1. Logs show statistics for how many times the site and specific content on the site has been accessed.
  2. Referrers tells you from where visitors came from (referrer URL).
  3. Top pages shows you what's hot, what is the most popular content on your site.
  4. Top visitors shows you the most active visitors for your site and allows you to ban abusive visitors.
  5. Recent hits displays information about the latest activity on the site.
  6. Node count displays the number of times a node has been accessed in the node's link section next to # comments.

Here are my thoughts on that (trying to be verbose on what is going on in my head):

  1. So currently drupal is tracking
    • total page views
    • pageviews within the last 24 hours
    • the the time a page was last visited.

    That doesn't give us the data to graph out traffic over time, right?

  2. Need more info.

    One could create a map of where the most recent visitors came from.
    Or a list of top referring sites.
    Does the data have a timestamp?
    Or is it aggregated over the lifetime of the site?
  3. Probably more related to user-management and not traffic.
  4. Need more info.
    Is this just the last visited pages as mentioned in 1.) ?
  5. Unrelated for this project.

Will continue to dig into what's avaiable.Seems to be quite basic compared to what Google-Analytics or Mint have to offer…

Jan

yoroy’s picture

Assume anything can be made be available, what would be good to have? It's good to know what's there, now let that go and start sketching what you think should be in there in the 'ideal' situation.

EvanDonovan’s picture

We should probably also compare the statistics that are available from Hall of Fame module (www.drupal.org/project/hof).

Krummrey’s picture

Assigned: Unassigned » Krummrey
Status: Active » Needs review
FileSize
4.42 KB
11.64 KB

So here are my first sketches:

My thoghts on these. I didn't try to build a full traffic analysis such as google analytics. That would be a dashboard module for contrib.
What the module in core should do is keep you updated on a quick glance. So I came up with a module that tracks pageviews as seen by drupal. Most administrators will look at that rather frequently so I assumed a one week timeframe that will be graphed. The timeframe is changable in the edit-screen.
The bars will not start a zero views since the scale would quickly grow so fast, that the differences would hardly be noticable. So the min and max will be taken from another selectable timeframe. Default would be the min and max from the last month (4weeks). That too could be changed on the edit-screen.

The bar for "today" would be a composite of the last 24 hours as an estimate for the current day, and the actual number of served pages since midnight.
Image 1

There is not much to be set on the settings screen, except for the two timeframes that the widget relies on.
Image 2

Issues:
• on "todays" bar the bar for the actually served pages might not show up for quite a while since the number would be below the minimum number of pageviews per day for the relating timeframe.

Hope to hear your thoughts on this.

Will try to come up with a version that's smaller in size.
I assumed to be this about half the width avaiable on the dashboard.

Jan

P.S. can't use IMG Tags, if someone with the right permissions could change the input format for this post. [Edit: done. -cwgordon7]

catch’s picture

There's a patch for tracking statistics over time here #142668: Retain historical node_counter information.

Krummrey’s picture

FileSize
18.68 KB

So here's the "mini-widget"

Only local images are allowed.

It can be very small and provides just the most basic information.

The widget displays the the numer of pages served over the last 24 hours and relates them to the most and least amount of pages served ever.
Since these values are relative and do change, the absolute values are also printed out.

P.S. Can't use IMG Tags, if someone with the right permissions could change the input format for this post.

kika’s picture

I like how simple and effective Edicy does it http://www.edicy.com/blog/see-your-site-traffic-in-edicy

Krummrey’s picture

Two thoughts on that

  • Bar graphs vs line graphs. Linegraphs connect sampeled points. Think of fever-curves or stock-prices. You connect single values that were measured at different times. Site traffic is different from that. Here you aggregate events over time. Pages per day for example. An other example would be the number of stocks sold per day. Those aren't drawn in a line because you want to reflect the amount of time it took to come up with the value ie. a day/week/month.
  • Starting a graph from zero. Just imagine the widget has to differentiate todays traffic of 13407 pages from yesterday with 12521 from today. Even though there is a difference of about 7%, the widget wouldn't be able to show that. The two values would both be drawn on the same pixel (if you have 100 pixels in height).
    That's why I tried to have relative min/max values for the graphs. So that they would show the current state in relation to something more meaningfull, like last months traffic.
    For the simple version I chose lifetime, but that is debatable. For that one I didn't want to have an extra options page.

It looks great though. The images above are like blueprints of an architect. I kept them simple so that we could first argue about what's in it before we get to the point where we argue about dropshadows and colors.

Stefan Nagtegaal’s picture

I'm not sure, but as far as I know this also is a new feature because as it current state, drupal does not count site traffic at all. Right?
And if it is going to do that, what would it count? (unique visits, incl. or excl. search bots, the administrator(s)???)

Krummrey’s picture

I think it would count the pages drupal rendered/served. That is something drupal already knows something about. A patch that would retain historical data is in the works.

My intention was to keep it reasonably simple. A contrib widget that would integrate with Google-Analytics for example, would be able to offer some more accurate data.

yoroy’s picture

Issue tags: +dashboard

tag

SeanBannister’s picture

@Jan Krummrey In regards to a Contrib module, the Google Analytics API Module is a reasonably new project created for Google Summer of Code. It allows stats from Google Analytics to be pulled back into Drupal.

mcrittenden’s picture

Sub.

Dave Reid’s picture

Status: Needs review » Postponed

I think the main problem for this is core statistics module does not provide 'historical' traffic data. Until #142668: Retain historical node_counter information is fixed (not likely for D7 at this point), this is not going to be possible from core. As such, I'm marking this as postponed.

catch’s picture

Version: 7.x-dev » 8.x-dev
jhedstrom’s picture

Version: 8.0.x-dev » 8.1.x-dev
Category: Task » Feature request

Re-categorizing as feature request, bumping to 8.1.x.

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

Drupal 8.1.0-beta1 was released on March 2, 2016, which means new developments and disruptive changes should now 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.

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.

Wim Leers’s picture

There's a difference between "traffic data" (which implies general traffic) versus what the Statistics module actually measures: page loads of node entities displayed in full view mode. But that's perhaps irrelevantly detailed for many sites.

I'd love this in any case!

Wim Leers’s picture

Title: D7UX Microproject - Dashboard Widget for Traffic Data » [PP-1] D7UX Microproject - Dashboard Widget for Traffic Data

Without #142668: Retain historical node_counter information, this can't do much though.

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

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.