View Issue Details

IDProjectCategoryView StatusLast Update
0004552Slicer4Core: Extensionspublic2018-10-04 19:17
ReporterjcfrAssigned Tojcfr 
PrioritynormalSeverityminorReproducibilityhave not tried
Status resolvedResolutionfixed 
Product VersionSlicer 4.9.0 
Target VersionSlicer 4.9.0Fixed in VersionSlicer 4.9.0 
Summary0004552: Extension Manager: External link do NOT work
Description
  • Browse to extension detailed page
  • Click on "Homepage" -> nothing happen
TagsNo tags attached.

Activities

sjh267

sjh267

2018-06-06 17:33

developer   ~0015876

The way that qSlicerWebWidget (which should handle internal and external links) is structured is very QtWebKit dependent, and so lots of functionality is simply lost after switching over to QtWebEngine. I am looking into the best way to rewrite these widgets.

jcfr

jcfr

2018-06-06 17:43

administrator   ~0015877

Thanks for the update

I am looking into the best way to rewrite these widgets

Ideally, data store, sceneview, etc ... should all use the qSlicerWebWidget.

In that particular case, the onLinkClicked slot is not connected when using recent version of Qt.

See https://github.com/Slicer/Slicer/blob/f051e24c803ae0a067e04ea2b2a9a178040d7415/Base/QTGUI/qSlicerWebWidget.cxx#L132-L133

sjh267

sjh267

2018-06-06 17:54

developer   ~0015878

Yeah, I tried a "quick fix" of have qSlicerWebEnginePage implement acceptNavigationRequest() to catch the link and then emit a linkClicked() signal to mimic the old behavior, but the results weren't great. I was able to get external links, but the internal ones got messed up. https://github.com/sjh26/Slicer/commit/baac739ff06202f1c1ce802e28596e34dccf67ae

Instead of loading the extension page with bad external links, i get the failure to load extension page, with a working external link!

sjh267

sjh267

2018-06-07 15:35

developer   ~0015879

Last edited: 2018-06-15 11:41

View 2 revisions

Got the URLRequestInterceptor working. A working page load (as done by right clicking the bad link to "Follow Link" ) sends a navigation request that looks like this:

'QUrl("http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/AnglePlanes")     "ResourceTypeMainFrame = 0, // top level page"'

Additional requests for page elements will follow

Actually Clicking on the non-functioning link gives only this request:
''QUrl("http://slicer.kitware.com/piwik/piwik.php?link=http%3A%2F%2Fwww.slicer.org%2FslicerWiki%2Findex.php%2FDocumentation%2FNightly%2FExtensions%2FAnglePlanes&idsite=1&rec=1&r=073316&h=15&m=25&s=47&url=http%3A%2F%2Fslicer.kitware.com%2Fmidas3%2Fslicerappstore%2Fextension%2Fview%3FextensionId%3D229309%26layout%3Dempty&_id=5b5085cae25866d3&_idts=1518209459&_idvc=48&_idn=0&_refts=0&_viewts=1528392397&res=1920x1080&cookie=1";) "ResourceTypeImage, // an image (jpg/gif/png/etc)''

The link is somehow misinterpreted as an image and the request is coming through piwik

jcfr

jcfr

2018-06-15 14:01

administrator   ~0015895

Last edited: 2018-06-15 14:01

View 2 revisions

To mitigate the issue, the statistics module on the corresponding midas instance has been disabled. Note that this is different from the download stats associated with https://download.slicer.org/

@sjh267 This should help with the external link clicking issue.



sjh267

sjh267

2018-08-10 13:41

developer   ~0015955

@jcfr

This commit: https://github.com/sjh26/Slicer/commit/79bb7d8b9b85689607c7a79d0f397ea8fcfd1e6a attaches the request interceptor to the page, and prints out "Page Request" with each new top-level request. The link handling is as-is wrt the current slicer master, so we would expect all links to open within the current browser. However, the view home page/ view source code links in the individual extensions page do not generate any navigation requests.

pieper

pieper

2018-09-27 10:31

administrator   ~0016043

As discussed on the hangout this one shouldn't be a blocker for the release - I suggest taking off the roadmap.

jcfr

jcfr

2018-10-04 19:17

administrator   ~0016075

Fixed in r27454
See http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=27454

Issue History

Date Modified Username Field Change
2018-05-10 13:33 jcfr New Issue
2018-05-10 13:33 jcfr Status new => assigned
2018-05-10 13:33 jcfr Assigned To => jcfr
2018-05-10 13:34 jcfr Product Version => Slicer 4.9.0
2018-05-10 13:34 jcfr Target Version => Slicer 4.9.0
2018-05-29 11:56 jcfr Assigned To jcfr => sjh26
2018-05-29 11:58 jcfr Assigned To sjh26 => sjh267
2018-06-06 17:33 sjh267 Note Added: 0015876
2018-06-06 17:43 jcfr Note Added: 0015877
2018-06-06 17:54 sjh267 Note Added: 0015878
2018-06-07 15:35 sjh267 Note Added: 0015879
2018-06-15 11:41 jcfr Note Edited: 0015879 View Revisions
2018-06-15 14:01 jcfr File Added: 2018.06.15_slicer-midas-disable-statistics.png
2018-06-15 14:01 jcfr Note Added: 0015895
2018-06-15 14:01 jcfr Note Edited: 0015895 View Revisions
2018-08-10 13:41 sjh267 Note Added: 0015955
2018-09-17 09:59 sjh267 Assigned To sjh267 => jcfr
2018-09-27 10:31 pieper Note Added: 0016043
2018-10-04 19:17 jcfr Status assigned => resolved
2018-10-04 19:17 jcfr Resolution open => fixed
2018-10-04 19:17 jcfr Fixed in Version => Slicer 4.9.0
2018-10-04 19:17 jcfr Note Added: 0016075