Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiple Dashboards / Dashboard Improvements #3011

Closed
sgiehl opened this issue Mar 5, 2012 · 57 comments
Closed

Multiple Dashboards / Dashboard Improvements #3011

sgiehl opened this issue Mar 5, 2012 · 57 comments
Assignees
Labels
Enhancement For new feature suggestions that enhance Matomo's capabilities or add a new report, new API etc. Major Indicates the severity or impact or benefit of an issue is much higher than normal but not critical.
Milestone

Comments

@sgiehl
Copy link
Member

sgiehl commented Mar 5, 2012

Users should be able to create more than one dashboard.
In addition to that, it might be nice if a default dashboard could be set per website.

Following features need to be integrated:

  • Option to create new dashboard and give it a name
  • Option to rename current dashboard
  • Option to set dashboard as default for currently choosen website
  • Option to remove current dashboard
  • Option to switch to another existing dashboard
  • The dashboard should look good when "Widgetized", and multiple dashboard feature should work well

Nice to have:

  • Option to make dashboard layout available for all users (super user only)
  • Option to make current layout to the new default layout
@mattab
Copy link
Member

mattab commented Mar 5, 2012

That would be a very cool feature for sure!

Some suggestions/ideas:

  • When user is not using the feature, it would be nice to keep the UI the same as it is now (not more complicated):
    • Maybe the feature to create new dashboard could be contained in the "Widgets & Dashboard" box?
    • and/or Maybe it could also be available via a discreet link in the Dashboard "sub menu", but on the right of the sub menu (rather than on left, which would be a distraction)?
  • Renaming the dashboard "inline" would be nice to have for usability (but not required)
  • When creating a new dashboard, there could be an option to create either a "Dashboard with default widgets" or "Blank dashboard"

@sgiehl
Copy link
Member Author

sgiehl commented Mar 10, 2012

(In [6027]) fixes #2979, refs #1915, refs #3011 completely refactored dashboard and widget javascripts (now using jquery plugins).
selected metrics in dashboard widgets are now stored in layout, too. also implemented some parts simplifying implementation of #3011 and #1915 and a small suggestion of #2461

@mattab
Copy link
Member

mattab commented Mar 12, 2012

  • It would be great to check that the feature is well integrated in "Widgetize mode".

For example, CMS such as Wordpress, Drupal, could provide the Dashbard in an Iframe. The multiple dashboard feature would then be amazing to have, as it would directly make the CMS admin area "Piwik aware" just using an Iframe. It would allow to change the date, create several custom reports / dashboards... Along with the Visitor Log widget, this would make any integration of Piwik reports in other HTML softwares very easy, yet VERY useful!

  • We could even allow a parameter that says "showDefaultDashboards" that would
    • create 2 or 3 custom dashboard that are related to:
    • Acquisition (referers, campaigns, websites, search)
    • Behavior: Visitors, engagegement
    • Outcomes (Goals, Actions)
    • Making these default dashboard available could help CMS integrators with a ready to use analytics solution available
    • See also other important widget: Visitor Log New Widget: Visitor Log in an iframe #3033

@sgiehl
Copy link
Member Author

sgiehl commented Mar 12, 2012

Hm. So it should be possible to switch the dashboard in widgetize mode? I currently thought about adding the available dashboards to the menu (as submenu auf "dashboard"). Within the menu it would be directly accessable from other pages aswell. Maybe we could find another solution for widgetize mode like a second dropdown with a list of available dashboards?

@mattab
Copy link
Member

mattab commented Mar 13, 2012

I think that it should also appear in the menu like we discussed, as this is the most space efficient and consistent UI.

But, is it possible somehow to also have this submenu show up in the Dashboard Embed iframe mode?

  • Maybe when loading in frame, when menu is not there, the submenu code would be callable to display the dashboard names, without the submenu background color and main menu?
    • It would be nice to have the feature working out of the box for all users already using the dashboard. But, this is not required, we can also...
  • Maybe add a new "Widget" altogether, that loads and displays the "Main Menu + Dashboard" by default? This way no need to refactor the code, we simply make a simple HTML export of the whole of Piwik..
    • the disadvantage is that it will make the integration more complex, since the menu is quite big, it might not look as good in wordpress/drupal/etc as the version without menu, but still could be useful!

This feature would make the CMS integration plugin easier to build for all external devs: just include the dashboard iframe, and "Real time visitor Log" iframe, and Piwik will be mostly integrated! ;)
what do you think?

@mattab
Copy link
Member

mattab commented Mar 14, 2012

Great job Stefan! looking forward to this feature :)

Nice touch on the arrow icon. Useful usbility improvements already...

@sgiehl
Copy link
Member Author

sgiehl commented Mar 31, 2012

(In [6142]) fixes #3065, refs #3011 initial version of multiple dashboard feature
refs #2857 fixed id collisions in modal confirm windows by using an role attribute instead of id

@sgiehl
Copy link
Member Author

sgiehl commented Mar 31, 2012

(In [6143]) refs #3011 added notification if loaded dashboard is empty

@sgiehl
Copy link
Member Author

sgiehl commented Mar 31, 2012

(In [6144]) refs #3011 added possibility to change the default dashboard layout

@mattab
Copy link
Member

mattab commented Apr 2, 2012

Excellent work! :) Here is my review:

UX/UI Review

  • The CSS in the popover is red font, not very consistent. Could you maybe reuse existing css from the reporting UI, for example the font style used in the datatables? also there should be a bit more padding.
    • mouse cursor should not be "wait" outside of form INPUT. Normal pointer is OK.
    • "defaut dashboard" should be displayed first, then "Empty dashboard". Maybe vertical would be better rather than next to each other.
    • "No" should be "Cancel"
    • rename to "Empty dashboard, I will choose the widgets myself" and "Default dashboard:
  • "Save dashboard as default" feature, I think should do something different and be renamed:
    • "Set this dashboard as dashboard to load by default" would move this dashboard to the first submenu position, and would automatically load this dashboard.
    • the current code in saveLayoutAsDefault() could maybe be "Save this Widgets layout as the layout used in other users default Dashboard" ?
    • These 2 features should not be in big blue letters. Maybe the could be in grey text?
  • When I delete a dashboard, it reloads but stays on "Loading data..." the widgets of first dashboard are not loaded.
  • When clicking on "Dashboard", the submenu is colored only after content is laoded. It should be highlighted orange as early as possible after click before display "Loading data..." before issuing http req :)
  • When there is only one dashboard, the name should not be displayed in the submenu. Submenu should be blank.
    • Maybe on the far right side of submenu could be a link "Create a dashboard" that triggers the popover. This link could be in grey as to not distract from analysis?
    • When a new dashboard is created, or deleted, or renamed, the "Loading data..." should display on top of the widgets before the page reloads, to give user feedback the click worked
  • When there is only one dashboard "Remove dashboard" and "Rename" options should not be displayed
  • When clicking on "Widgets & Dashboard" menu, is it possible to have a smaller initial DIV width (for example width without the widget size, the DIV would expand when a widget is laoded at least once, then stay expanded)
  • IFrame mode: very nice!
    • Similar to Improve dashboard performance: streamline 2 http requests #3065 it would be nice if the dashboard load would also load the names of all dashboard and widgets of default dadshboard. This would allow to display the name of dashboard on first load which would look good. Currently the emtpy DIV is displayed and then filled with text.
    • For the currently selected dasbhaord, please put in bold orange text
    • Before each dashboard name, can you please put the square design elements? And put more space between each dashboard name (they are too close, hard to differentiate)
    • Please put the menu with dashboard names first, then the "Widgets & Dashboard" menu.
    • When there is only one dashboard, I propose to Not display the menu with dashboard names (similarly to the standard menu behavior). The menuw ith dashboard names only show if there are 2 or more dashboards.
  • Very cool the notifications when the dashboard is empty! I love it...
    • When clicking "Reset dashboard", can you bypass the second popover and directly assume "Yes" when asking to reset to default widget layout

Code review

  • Code in: getAllDashboards() and addMenus() is very similar and should b erefactored in one function to return all dashboard with friendly name
  • Links in templates to rename/create/remove should be displayed if user is not anonymous

looking forward to seeing these few changes! This feature will have a big impact on users... I think it will really improve the "Dashboard widgetize" usage rate!!

@sgiehl
Copy link
Member Author

sgiehl commented Apr 2, 2012

(In [6151]) refs #3011 do not ask again if user chooses to reset the dashboard if it is empty

@sgiehl
Copy link
Member Author

sgiehl commented Apr 2, 2012

(In [6152]) refs #3011 small adjustments to create dashboard confirm

@sgiehl
Copy link
Member Author

sgiehl commented Apr 2, 2012

(In [6153]) refs #3011 display loading div if user performs an action like create, remove or reset

@sgiehl
Copy link
Member Author

sgiehl commented Apr 2, 2012

(In [6154]) refs #3011 fixed menu highlighting

@sgiehl
Copy link
Member Author

sgiehl commented Apr 3, 2012

(In [6156]) refs #3011 some more adjustments and code improvements

@sgiehl
Copy link
Member Author

sgiehl commented Apr 6, 2012

(In [6160]) refs #3011 changed layout of dashboard submenu, renamed default layout function

@mattab
Copy link
Member

mattab commented Apr 6, 2012

Great updates & very nice on putting dashboard stuff in a menu, I was already thinking this was necessary. NICE!

  • Feedback: Manage dashboard sould not have "cursor" pointer as it's not clickable.

@sgiehl
Copy link
Member Author

sgiehl commented Apr 6, 2012

(In [6161]) refs #3011 fixed cursor

@mattab
Copy link
Member

mattab commented Apr 6, 2012

(In [6163]) refs #3011 fix notice.
@SteveG maybe this NOTICE could reveal something more?
for example, did we check this is compatible with the old dashboard format?

@sgiehl
Copy link
Member Author

sgiehl commented Apr 6, 2012

I guess the very old format used in piwik < 0.2.3 (like "Actions.getActions~Actions.getDownloads|UserCountry.getCountry|Referers.getSearchEngines") will be truncated by the php code. the js code would handle it. I would suggest to completly remove that legacy code (from js, too), as this format is very old. the format used before it was possible to change column layout should work.

@sgiehl
Copy link
Member Author

sgiehl commented Apr 6, 2012

(In [6173]) refs #3011 hide remove dashboard link if current dashboard is default dashboard (id=1)

@mattab
Copy link
Member

mattab commented Apr 10, 2012

(In [6178]) Refs #3011 #53 Small updates to english strings & ui

@mattab
Copy link
Member

mattab commented Apr 10, 2012

More feedback after testing:

  • In "Dashboard rename" popover, I think it would be nice to display "The current dashboard is %s" above "Dashboard name [INPUT]"
  • Also it would be nice if message "Are you sure you want to delete the current dashboard %s" had the dashboard name in it. I can see how some users would end up deleting the wrong dashboard.
  • small bug: when clicking on "Dashboard" main menu, the first dashboard submenu is colored in orange only when the whole dashboard is loaded. Instead it should be highlighted
  • Creating an empty dashboard does not work (it creates the dashboard with default widgets)

@mattab
Copy link
Member

mattab commented Apr 10, 2012

Bug:

  • I created 4 or 5 dashboards
  • Then deleted all of them until the last one
  • then something interesting happens: the one dashboard left loads as expected, but once it's loaded, the "Dashboard" menu disappears completely (see screenshot)
  • Instead it should not disappear :)
  • When I create a new dashboard then, the menu re-appears showing both dashboards as expected

@mattab
Copy link
Member

mattab commented Apr 10, 2012

Attachment:
bug dashboard menu disappears.png

@mattab
Copy link
Member

mattab commented Apr 10, 2012

(In [6180]) Refs #3011 minor strings updates

@mattab
Copy link
Member

mattab commented Apr 10, 2012

Replying to SteveG:

I guess the very old format used in piwik < 0.2.3 (like "Actions.getActions~Actions.getDownloads|UserCountry.getCountry|Referers.getSearchEngines") will be truncated by the php code. the js code would handle it. I would suggest to completly remove that legacy code (from js, too), as this format is very old. the format used before it was possible to change column layout should work.

  • Removing legacy code for very old format sounds good to me :)

@sgiehl
Copy link
Member Author

sgiehl commented Apr 10, 2012

(In [6186]) refs #3011 fixed main menu disappearing bug

@sgiehl
Copy link
Member Author

sgiehl commented Apr 10, 2012

(In [6187]) refs #3011 removed legacy code for old dashboard format

@sgiehl
Copy link
Member Author

sgiehl commented Apr 10, 2012

(In [6188]) refs #3011 fixed bug - creating empty dashboard

@sgiehl
Copy link
Member Author

sgiehl commented Apr 30, 2012

(In [6230]) refs #3011 always display old dashboard name in rename dialog

@sgiehl
Copy link
Member Author

sgiehl commented Apr 30, 2012

(In [6232]) refs #3011 display current dashboards name in remove dialog

@sgiehl
Copy link
Member Author

sgiehl commented May 2, 2012

(In [6241]) refs #3011 fixes margin in embedded dashboard

@sgiehl
Copy link
Member Author

sgiehl commented May 2, 2012

I guess, most should be fixed now.
Regarding the menu position, I would prefer to leave the dashboards list on the right, as the width of that list might change and so the positions of the widget menu and date selector would change, too.

@mattab
Copy link
Member

mattab commented May 3, 2012

Great changes!

Feedback / Small issues:

  • Click on a custom dashboard does not change the hash string, it stays at &idDashboard=1 but should be &idDashboard=2 to ensure users can restore custom dashboard.
  • When removing the idDashboard from hash there is still a trailing & in the hash string. Then when clicking it keeps adding a & such as: &date=yesterday&&&idDashboard=1
  • In iframe mode, the dashboard names are displayed outside of the menu (see screenshot)
  • In popover to rename could pressing "Enter" also validate the popover? Pushing Enter key works in "Reset" and "Set as default" but not in the "Rename" popover

Appart from these last details it looks excellent... Kuddos!!

@mattab
Copy link
Member

mattab commented May 3, 2012

Attachment: iframe mode menu bug
menu bug.png

@sgiehl
Copy link
Member Author

sgiehl commented May 14, 2012

(In [6263]) refs #3011 fixes some css problems and bug with menu items flipping around on hover; added new empty template for embedded dashboard, as <html> markup was rendered twice in that case

@sgiehl
Copy link
Member Author

sgiehl commented May 15, 2012

(In [6265]) refs #3011 clean urls when removing params (also remove &)

@sgiehl
Copy link
Member Author

sgiehl commented May 16, 2012

(In [6266]) refs #3011 use empty layout only for dashboard

@mattab
Copy link
Member

mattab commented May 24, 2012

Great!!
It looks perfect now, should ticket be closed?

@mattab
Copy link
Member

mattab commented May 25, 2012

(In [6312]) refs #3011, refs #1353
Embed dashboard now works with token_auth, it is also possible to create new dashboards, change layout, and add any widget.
the sparklines also work.

Known bug:

  • The graph metrics picker does not display on hover for unknown reason in embed dashboard

@sgiehl
Copy link
Member Author

sgiehl commented May 25, 2012

(In [6315]) refs #3011 fixes bug with graph metrics picker not working in embedded mode

@mattab
Copy link
Member

mattab commented May 25, 2012

Thanks for the fix!

I notice another thing: the ajax request for loading the custom dashboards and widgets are maybe not using the .queueAjax() helper? because clicking on another submenu should "cancel" the currently loading widgets and start the new requests

Also 'Loading data...' does not display when clicking on a custom dashboard

@mattab
Copy link
Member

mattab commented May 25, 2012

(In [6316]) Refs #3011 minor css changes

@sgiehl
Copy link
Member Author

sgiehl commented May 25, 2012

(In [6317]) refs #3011 use global queueAjaxRequest / abortQueueAjax methods for loading dashboards

@sgiehl
Copy link
Member Author

sgiehl commented May 25, 2012

(In [6318]) refs #3011 added missing loading data to embedded mode

@mattab
Copy link
Member

mattab commented May 30, 2012

Everything now looks perfect but I'll let you the pleasure of closing the ticket ok? ;-)

@sgiehl
Copy link
Member Author

sgiehl commented May 30, 2012

:)

@mattab
Copy link
Member

mattab commented May 31, 2012

Released RC4 on demo but the feature is broken! HELP please! :)

@sgiehl
Copy link
Member Author

sgiehl commented May 31, 2012

(In [6423]) refs #3011 fixed problem with loading dashboards

@mattab
Copy link
Member

mattab commented Jun 1, 2012

Sorry I introduced this bug. Thanks for the fix :)

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement For new feature suggestions that enhance Matomo's capabilities or add a new report, new API etc. Major Indicates the severity or impact or benefit of an issue is much higher than normal but not critical.
Projects
None yet
Development

No branches or pull requests

2 participants