@RMastop opened this Issue on December 6th 2013 Contributor

Problem exists in the Actions -> Page titles section of Piwik Dashboard.

The customer has a site where a visit to /m/verbind-mobiel has the same result as /m/verbind-mobiel/ (remark the last /)
When we select row evaluation on the /m/verbind-mobiel row, we get the results of the /m/verbind-mobiel/ row.

Is there a way to fix this error.

@RMastop commented on December 6th 2013 Contributor

Attachment:
pageTitles.jpg

@RMastop commented on December 6th 2013 Contributor

Attachment:
RowEvaluation.jpg

@RMastop commented on December 9th 2013 Contributor

Attachment: row evaluation in piwik 2.0-b10
rowevaluation-in-piwik2.0-b10 .png

@RMastop commented on December 10th 2013 Contributor
@RMastop commented on December 10th 2013 Contributor
@mattab commented on December 8th 2013 Owner

Do you also experience the problem with the latest Piwik 2.0 beta? I remember fixing a problem similar to this so please try the latest beta. If you still have the bug we will definitely like to fix it.

@RMastop commented on December 9th 2013 Contributor

I can confirm that the problem exists in piwik 2.0-b10

@mattab commented on December 9th 2013 Owner

Also, the labels should be m/docs instead of m - docs (using slash separator for URL paths, instead of -)

There has been a regression somewhere along the way, thanks for the report!

@diosmosis commented on December 10th 2013 Member

In 346ef97ef4a00cc41fe0873a9f0ded2bea046714: Refs #4363 display correct row evolution title for actions URL reports.

@diosmosis commented on December 10th 2013 Member

@rmastop I tried to reproduce the error, but couldn't. The data was correct for each row evolution popup. Can you check again? The third screenshot you posted (the one for piwik 2.0-b10) looks correct as well.

If there is still an error, can you post the 'popover' query parameter (the part of the url that's like popover=...) for each row evolution popup?

@RMastop commented on December 10th 2013 Contributor

Hi capedfuzz,

I will explain a bit better. With some more screenshots.

I open the Page title and click the row pagetitel with the value 7 behind it (the row with the page value)

The result I get is the value of the row with the value 2 (the row with the directory value)

clicking the directory row results in the following URL variable:
popover=RowAction$3ARowEvolution$3AActions.getPageTitles$3A0$3Am$20$3E$20pagetitel

Clicking the page row results in the following URL variable:
popover=RowAction$3ARowEvolution$3AActions.getPageTitles$3A0$3Am$20$3E$20pagetitel

the value for both calls is the same, when the page title path is separated by '/' you could tell the difference between a file and a directory, since the directory will end with a /

@RMastop commented on January 2nd 2014 Contributor

Piwik 2.0.3-b3 still shows the same issue

@mattab commented on February 6th 2014 Owner

Removing owner from tickets. from now on, I suggest we assign tickets to ourselves for cases when we we plan to actively work on them in the coming days/weeks. let's discuss if needed during our team call.

@diosmosis commented on June 27th 2014 Member

In 37c2d8d9be1cd2115d977f32c2120c956212e76d: Refs #4363, add workaround to fix bug where leaf rows of page titles reports were not accessible via RowEvolution.

@diosmosis commented on June 27th 2014 Member

Fixed for now, problem is as follows:

In reports, branch + terminal rows for page title reports are differentiated by a ' ' (space) prefix. This space cannot be placed w/i a row evolution 'label' parameter since it will be trimmed away, thus there is no way to differentiate between branch & terminal rows in a row evolution query. The 'correct' fix would be to introduce a difference that can be specified in the 'label' query parameter while still maintaining backwards compatibility. Such a fix would be complicated so waiting to confer for now.

@mattab commented on June 30th 2014 Owner

there is no way to differentiate between branch & terminal rows in a row evolution query

Alternatively of using the appended '+', maybe adding a new parameter to the request that indicates whether the label is a branch or a leaf would be a better solution?

@diosmosis commented on June 30th 2014 Member

Anything that differentiates between row types should be in the row evolution query itself since selecting the right row is the sole purpose of the 'label' query parameter. So adding a query parameter should be considered just as temporary as the committed solution. I considered using a query parameter but discarded the idea for the following reasons:

  • A query parameter looks official and could be used by others and could be considered final, despite the fact that it is not a true solution.
  • A new query parameter means detecting whether a row is terminal or not in the JS and then manipulating one or more AJAX requests, which is far more complicated than the committed solution.
  • An appended '+' will urldecode to a space which will be trimmed away which makes the committed solution very non-intrusive and easier to remove.

I think the best solution is to add a new symbol to row evolution queries that differentiates. For URL tables, the '/' is effectively used (since 'dir' would be a dir and '/dir' would be a file). Since labels are stored in the database as '/...' for URLs, we can't use '/', but we can use something like '!' or '$' or something else. So, 'm > !verbind-mobiel' would select a terminal as would 'dir > sub > !/page' & 'dir > sub > /page'.

@mattab commented on July 1st 2014 Owner

Sounds good, I'm closing ticket as the bug is fixed, but feel free to append your commits using eg. ! character.

@diosmosis commented on July 4th 2014 Member

In bcf5595a50257370ddc6e8c47c309296bec214f6: Fixes #5411, refs #4363 use '%20' to differentiate between terminal + leaf rows in row evolution JS instead of '+' since JS urlDecodeComponent does not decode + chars.

This Issue was closed on July 4th 2014
Powered by GitHub Issue Mirror