Add widget to help users getting started and complete important steps with Matomo by tsteur · Pull Request #12468 · matomo-org/matomo · GitHub
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

Add widget to help users getting started and complete important steps with Matomo #12468

Merged
merged 18 commits into from
Jun 18, 2019

Conversation

tsteur
Copy link
Member

@tsteur tsteur commented Jan 17, 2018

refs #12467

@tsteur tsteur added the Pull Request WIP Indicates the current pull request is still work in progress and not ready yet for a review. label Jan 17, 2018
@mattab mattab added this to the 3.3.1 milestone Jan 18, 2018
@mattab mattab modified the milestones: 3.4.0, 3.4.1 Mar 22, 2018
@mattab mattab added Enhancement For new feature suggestions that enhance Matomo's capabilities or add a new report, new API etc. c: Usability For issues that let users achieve a defined goal more effectively or efficiently. labels Mar 22, 2018
@mattab mattab modified the milestones: 3.5.0, 3.6.0 Apr 12, 2018
@diosmosis
Copy link
Member

@tsteur is this still a WIP or is it ready to review now?

@tsteur
Copy link
Member Author

tsteur commented Jun 14, 2018

It is WIP

@mattab mattab modified the milestones: 3.6.0, 3.7.0 Jun 14, 2018
@mattab mattab modified the milestones: 3.8.0, 3.9.0 Dec 31, 2018
@mattab mattab added the Needs Review PRs that need a code review label Dec 31, 2018
@mattab mattab modified the milestones: 3.9.0, 3.10.0 Mar 18, 2019
@tsteur tsteur removed the Pull Request WIP Indicates the current pull request is still work in progress and not ready yet for a review. label Apr 17, 2019
@tsteur
Copy link
Member Author

tsteur commented Apr 17, 2019

@mattab can you have a look at it? I can add some challenges to Custom Dimensions, Custom Alerts, and other premium features once this has been merged.

@tsteur
Copy link
Member Author

tsteur commented Apr 29, 2019

ping @mattab

@mattab
Copy link
Member

mattab commented Jun 10, 2019

@diosmosis can you please review this quickly and merge if it looks good to you? Be good to get it out in 3.10.0 and test it and get early feedback 👍

@mattab mattab requested a review from diosmosis June 11, 2019 03:57
@diosmosis
Copy link
Member

Tour_MatomoTalent is missing a translation.

@diosmosis
Copy link
Member

Noticed Tour is not enabled in an update. This is expected, correct?

@diosmosis
Copy link
Member

Small issue, doesn't seem simple to fix: when clicking on a tour task, a new tab is opened. When the task is finished, we don't go back to the dashboard nor does the widget in the dashboard update w/ a check mark. This might be confusing to new users.


public function getUrl()
{
return 'index.php' . Url::getCurrentQueryStringWithParametersModified(array('module' => 'CoreAdminHome', 'action' => 'generalSettings', 'widget' => false)) . '#useCustomLogo';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Angular turns '#useCustomLogo' into '#/useCustomLogo', so it doesn't go to the correct section.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any thoughts on how to fix this?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hacky fix might be on page load to check if the hash has no query parameter characters (ie, only the leading '/'), check if there's an element w/ that string as an ID, and if so scroll to it. Not sure how else to do it since the hash is used by angular...

Could use a special query parameter too instead of the hash, like, scrollTo=myelement.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could use a special query parameter too instead of the hash, like, scrollTo=myelement.

This might be sometimes tricky when other elements are only loaded later through XHR and then rendered later by the time we already long processed scrollTo parameter.

Seems #/#useCustomLogo works. Can you confirm?


use Piwik\Piwik;

class ChallengeSelectDateRange extends Challenge
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I select a date range in the dashboard, the page will reload, but the task won't be finished in the widget. If I reload the widget, it will show as finished.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes that's kind of expected unfortunately, hard to fix and not worth it spending too much time on it.

@diosmosis
Copy link
Member

Found some issues while testing, code looks ok but I didn't have time to look thoroughly.

@tsteur
Copy link
Member Author

tsteur commented Jun 11, 2019

Small issue, doesn't seem simple to fix: when clicking on a tour task, a new tab is opened. When the task is finished, we don't go back to the dashboard nor does the widget in the dashboard update w/ a check mark. This might be confusing to new users.

I'll listen to window focus and update the widget in that case.

Fixed all the other issues you mention including translation, update, ... Except for the link to #customLogo .

@diosmosis
Copy link
Member

I'll listen to window focus and update the widget in that case.

👍 nice idea, super simple

@diosmosis
Copy link
Member

one more product related comment: I think there's an issue w/ referring to the user as beginner/expert, since that implies we're teaching them about analytics, not just where certain features in the app are. Eg, adding a goal doesn't necessarily mean the user knows how best to use one, and a user will know that when we call them an expert.

Either the tour is something like "here are some of matomo's most useful features/here is how to get the most out of matomo" or "here is how you use this tool to better your business (and be an expert in analytics)" which is a much harder thing to deliver.

@tsteur
Copy link
Member Author

tsteur commented Jun 12, 2019

It's certainly meant more for "Here are some of matomo's most useful features/here is how to get the most out of matomo". That's why I was prefixing expert etc with "Matomo Expert" and "Matomo Professional" and "Matomo Beginner"... and not just "Professional" or "Analytics Professional". Does this maybe help?

@diosmosis
Copy link
Member

"Expert" just suggests the user will be an expert in using matomo after doing those tasks, and I doubt anyone new to the tool will actually feel that way. Which may not be the best experience.

@mattab
Copy link
Member

mattab commented Jun 18, 2019

Great feature and looking forward to seeing it help people get started complete the most important steps! 👍

Agreed that the naming is currently not ideal, and we'll likely change the names of the levels soon. But will merge already so we can proceed with the release, and will create a new issue once I can think of better names (any suggestion welcome!).
(Maybe a star system 1-5 stars that look good/positive at whever level people are at.)

@katebutler
Copy link

Have generated expected files for the system tests.

@mattab
Copy link
Member

mattab commented Jun 18, 2019

@tsteur could you investigate this build failure:

1) Piwik\Plugins\Tour\tests\System\APITest::testApi with data set #0 (array('Tour.getLevel', 'Tour.getChallenges'), array(1))
Piwik\Plugins\Tour\tests\System\APITest: Differences with expected in '/home/travis/build/matomo-org/matomo/plugins/Tour/tests/System/processed/test___Tour.getChallenges.xml'
Failed asserting that two DOM documents are equal.
--- Expected
+++ Actual
@@ @@
     <isSkipped>0</isSkipped>
-    <url>index.php?module=CoreAdminHome&amp;action=generalSettings#useCustomLogo</url>
+    <url>index.php?module=CoreAdminHome&amp;action=generalSettings#/#useCustomLogo</url>
   </row>
   <row>

I will merge anyway in the meantime

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c: Usability For issues that let users achieve a defined goal more effectively or efficiently. Enhancement For new feature suggestions that enhance Matomo's capabilities or add a new report, new API etc. Needs Review PRs that need a code review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants