Some reports are related to other reports. In order to show the viewer these reports and in order to reduce the clutter that occurs if too many reports are displayed at once, a feature should be added to ViewDataTable that displays a report's related reports, if any.
The user should be able to click on a related report to see it load in-place. That is, it shouldn't send the viewer to a new page.
Attachment: Patch for this issue.
3137.diff.tar.gz
Attachment: Sample screen of related reports feature.
related_reports_picture.png
Attachment: New patch for this issue.
3137.diff.tar.2.gz
Attachment: Another patch for this issue.
3137.diff.tar.3.gz
Attachment: New screenshot of related reports use. W/ one related report & w/ 2 related reports.
related_reports_picture.2.png
Attachment: Screenshot of related report feature used in widget.
related_reports_widget1.png
Attachment: Screenshot of related report feature used in widget (just one related report).
related_reports_widget2.png
I've uploaded a patch for this feature & a screenshot showing how it looks. If everything's OK, I can commit. What do you thing?
There was a bug in my patch, the related report URLs didn't unset filter information & forced a table to load. The patch I just uploaded fixes that.
Cool new feature.
Good work!
Uploaded a new patch.
Replying to matt:
- When there is only one related report, please put "Related report:" and the report name on the same line. It should look more concise/ less height pixels.
Looks better this way :).
- Does it work fine in the dashboard widgets?
I uploaded two pictures of its use in a dashboard widget. I think it looks ok.
- For example in the Goals reports, if a related report needs the idGoal, will it be forwarded automatically to the related report controller?
- Or should setRelatedReports() accept an array (module => X, action => Y, idGoal => Z, otherParameter => A) instead of just accepting module.action ?
For a Goals report the idGoal would be added automatically, since it would already exist in the query string. If you were trying to link a goal report to a non-goal report (for whatever reason), however, there'd be an issue, so I made the following changes:
I removed the setRelatedReport method and replaced it w/ two others: addRelatedReports & addRelatedReport. addRelatedReports works more or less like setRelatedReport. addRelatedReport (singular) will allow you to use specific query parameters.
I thought about making setRelatedReports take an array of arrays like you suggested, but it seemed like the use of custom query parameters would be rare occurrence. What do you think?
- do you think this feature would make sense to use in Piwik in some of the existing reports?
I'm not sure it would. It makes sense to use it when you want to display reports that are very similar and want to save space. If you're trying to tell the user when looking at a certain report that there's another one that can be used in conjunction with it, I think this feature isn't the right one to use. It would probably be better to use some sort of text bubble.
So I guess I think this feature should be used to show different views of the same data (like browser & browser version, archive tables & archive tables by year, etc.)
But I haven't looked at every report, so maybe I'm missing something?
Good work!
Thanks! Let me know what you think of the new patch.
I uploaded two pictures of its use in a dashboard widget. I think it looks ok.
it looks OK indeed, I might change the color to greyish color to make it less black... but def OK :)I thought about making setRelatedReports take an array of arrays like you suggested, but it seemed like the use of custom query parameters would be rare occurrence. What do you think?
Perfect!So I guess I think this feature should be used to show different views of the same data (like browser & browser version, archive tables & archive tables by year, etc.)
One perfect report to reuse this feature is to display "Exit Page Titles" and "Entry page titles" reports, from the footer of "Page Titles". See #1996 - feel free to look into this one if you're keen :)
(In [6309]) Fixes #3137, added ability for data table views to link to arbitrary related reports in the data table footer.
(In [6332]) Refs #3137 Small style changes
Reopening for Small bug: When adding "OS" and "OS family" widgets in dashboard, clicking on footer link confuses the datatable and reload the other widget.
(In [6336]) Fixes #3137, fixed issue when same reports used more than once in dashboard (due to related reports feature) and modified so if a url to an index page is supplied as a related report, its corresponding menu item is clicked.
(In [6342]) Refs #3137, don't show related reports when there's no data to display.
(In [6358]) Refs #3137, fix small bugs in Piwik, modified related reports feature so set of related reports used doesn't change after a related report is loaded.
Notes:
(In [6400]) Refs #3137 Fixing last issues with datatable features ?