@anonymous-matomo-user opened this Issue on March 17th 2011

I'm using setCustomUrl() to fire a friendly URL from Drupal module into Piwik database for SiteSearch, but I still have issues and it's not working. I'd like to make sure that I'm doing everything correctly and the documentation of setCustomUrl() is not clear to me.

Can someone please explain me if the URL need to be absolute or relative and if relative is also possible if the leading slash may need to be removed?

Can you confirm if the following would be correct or what is incorrect, please?

_paq.push(["setCustomUrl", "http://www.example.com/drupal7/search?query=foo"]);
_paq.push(["setCustomUrl", "drupal7/search?query=foo"]);
_paq.push(["setCustomUrl", "/drupal7/search?query=foo"]);

I'd also need to know if setDocumentTitle():

_paq.push(["setDocumentTitle", "My document title"]);'

can be used together with setCustomUrl():

_paq.push(["setCustomUrl", "drupal7/search?query=foo"]);
_paq.push(["setDocumentTitle", "My search result title"]);'

or if need to expect issues if both are used together.

THX!

@robocoder commented on March 17th 2011 Contributor

I've only used setCustomUrl with an absolute url, e.g., http://www.example.com/drupal7/search?query=foo. (I'm not sure we want to support relative URLs.)

use either or both setDocumentTitle() and setCustomUrl(); they are independent

@anonymous-matomo-user commented on March 17th 2011

I found a number of links before I started to use setCustomUrl() manually and this confuses me... urls seems all to be shown in Piwik UI, but SiteSearch is not working...

_paq.push(["setCustomUrl", "drupal7/search?query=foo"]);

My feeling is an absolute URL can be wrong in many situations. For example I'm using subdomains. From SiteSearch maintainer feedback, he is using the site URLs to find an URL and this can be wrong if I'm using a siteID on many sites. But I'm only guessing here if this could be a problem or not...

@robocoder commented on March 18th 2011 Contributor

Mixing domains and absolute/relative paths will mash the results, e.g.,

setCustomUrl('http://example.com/A/B');
setCustomUrl('http://sub.example.com/A/C');
setCustomUrl('/A/D');

Under Actions | Pages, we see '/A' at the first level. The nested entries are:

/B - links to http://example.com/A/B
/C - links to http://sub.example.com/A/C
/D - links to http://a/D

In the last row, the 'A' is downcased and a link is created -- both transformations are arguably wrong.

@anonymous-matomo-user commented on March 19th 2011

Is it really a bug now or is it by design and it only need to be documented in the API documentation that the URL inside setCustomUrl() need to be absolute?

@robocoder commented on March 19th 2011 Contributor

In 1.2.1, it needs to be absolute.

Going forward, I think we should support relative URIs. I'm going to open another ticket for the UI inconsistencies in Actions | Pages.

@robocoder commented on March 19th 2011 Contributor

(In [4143]) fixes #2198 - thanks for raising this hass.

Limitations:

  • doesn't use document's base href
    • doesn't handle PATHINFO (used in PHP), e.g., if document URL is http://example.com/subdir/script.php/PATH/?query, setCustomUrl('test.php') will give us http://example.com/subdir/script.php/PATH/test.php
  • doesn't remove/merge '//', '/./', or '/../' in the relative path
This Issue was closed on March 19th 2011
Powered by GitHub Issue Mirror