[GRASS-dev] [GRASS GIS] #2249: handling manual pages with external links within the GUI

#2249: handling manual pages with external links within the GUI
-------------------------+--------------------------------------------------
Reporter: madi | Owner: grass-dev@…
     Type: enhancement | Status: new
Priority: normal | Milestone: 7.1.0
Component: wxGUI | Version: svn-trunk
Keywords: manual | Platform: All
      Cpu: All |
-------------------------+--------------------------------------------------
In the manual pages, there are sometimes links to external pages, like
wiki. See e.g. v.generalize has:

<a
href="http://grasswiki.osgeo.org/wiki/V.generalize_tutorial&quot;&gt;v\.generalize
Tutorial</a>

When the manual page is displayed within the GUI frame of the v.generalize
module, and the user clicks on the link "v.generalize Tutorial", the user
would expect the wiki page to be displayed in the system browser instead
of the GUI. It currently displays in the GUI and it is quite inconvenient
because for example images are not visible, and moreover you may want to
keep the wiki page open while running the module.
My suggestion would be, from the GUI, to call the browser whenever a link
in the manual page starts with "http".

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2249&gt;
GRASS GIS <http://grass.osgeo.org>

#2249: handling manual pages with external links within the GUI
-------------------------+--------------------------------------------------
Reporter: madi | Owner: grass-dev@…
     Type: enhancement | Status: new
Priority: normal | Milestone: 7.1.0
Component: wxGUI | Version: svn-trunk
Keywords: manual | Platform: All
      Cpu: All |
-------------------------+--------------------------------------------------

Comment(by wenzeslaus):

I'm not sure what user would expect. But you might be right. External
links are special and the HTML rendering capabilities of the used widget
are (currently) very limited. Perhaps, external links should be marked
similarly to external links in wikis (e.g., with some special picture
before or after). This is a topic for a special ticket since
implementation is not trivial.

Alternative solution, is to have a button there "Open current page in web
browser" (or something shorter). This is what I would use sometimes even
for manual pages. This feature can be actually implemented regardless of
the external links issue.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2249#comment:1&gt;
GRASS GIS <http://grass.osgeo.org>

#2249: handling manual pages with external links within the GUI
-------------------------+--------------------------------------------------
Reporter: madi | Owner: grass-dev@…
     Type: enhancement | Status: new
Priority: normal | Milestone: 7.1.0
Component: wxGUI | Version: svn-trunk
Keywords: manual | Platform: All
      Cpu: All |
-------------------------+--------------------------------------------------

Comment(by neteler):

Replying to [comment:1 wenzeslaus]:
> I'm not sure what user would expect. But you might be right.
> External links are special and the HTML rendering capabilities
> of the used widget are (currently) very limited.

An initial improvement could be as easy as this (if technically possible):

If the link contains "http", open it with an external browser (env var
$GRASS_HTML_BROWSER), otherwise open page as currently in the wx-browser.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2249#comment:2&gt;
GRASS GIS <http://grass.osgeo.org>

#2249: handling manual pages with external links within the GUI
-------------------------+--------------------------------------------------
Reporter: madi | Owner: grass-dev@…
     Type: enhancement | Status: new
Priority: normal | Milestone: 7.1.0
Component: wxGUI | Version: svn-trunk
Keywords: manual | Platform: All
      Cpu: All |
-------------------------+--------------------------------------------------

Comment(by wenzeslaus):

Replying to [comment:2 neteler]:
> Replying to [comment:1 wenzeslaus]:
> > I'm not sure what user would expect. But you might be right.
> > External links are special and the HTML rendering capabilities
> > of the used widget are (currently) very limited.
>
> An initial improvement could be as easy as this (if technically
possible):
>
> If the link contains "http", open it with an external browser (env var
> $GRASS_HTML_BROWSER), otherwise open page as currently in the wx-
browser.

As far as I know, we are currently using "system browser" not
`$GRASS_HTML_BROWSER` in wxGUI and I'm not sure what is correct. However,
the difference is just few lines.

Here is the solution [http://wxpython-users.1045709.n5.nabble.com/Open-a
-URL-with-the-default-browser-from-an-HtmlWindow-td2326349.html Open a URL
with the default browser from an HtmlWindow?] for your suggestion.

They are using Python [https://docs.python.org/2/library/webbrowser.html
webbrowser], the alternative is
[http://docs.wxwidgets.org/2.6.3/wx_miscellany.html#wxlaunchdefaultbrowser
wxLaunchDefaultBrowser].

The button I was talking about might be even more simple, just call the
browser with current URL/file.

I would suggest to implement both.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2249#comment:3&gt;
GRASS GIS <http://grass.osgeo.org>