Bug 106574 - [NEWHELP] Create a navigation history snippet.
Summary: [NEWHELP] Create a navigation history snippet.
Status: RESOLVED WONTFIX
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Documentation (show other bugs)
Version:
(earliest affected)
unspecified
Hardware: All All
: medium enhancement
Assignee: Not Assigned
QA Contact:
URL:
Whiteboard: target:5.4.0
Keywords:
Depends on:
Blocks: 97745
  Show dependency treegraph
 
Reported: 2017-03-16 14:05 UTC by Olivier Hallot
Modified: 2017-09-16 18:25 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Olivier Hallot 2017-03-16 14:05:39 UTC
The current state of New Help pick a XHP file and transform it (with a XLST) into a displayable page with the help of a javascript snipped "help.js".

A navigation history snippet for the displayed pages is needed to improve user experience.

Users can't use browser navigation buttons because the page is fixed in /index.html

A navigation snippet of say 10 FIFO links, (5 links displayed) in the top right of the help page is demanded.

The javascript to develop will need to memorize the XHP pages displayed. The navigation links must display the node <title> of the XHP page.
Comment 1 Olivier Hallot 2017-03-16 14:17:28 UTC
The issue can be seen at

http://vm173.docuementfoundation.org
Comment 2 Afroz Ahamad 2017-03-16 15:16:06 UTC
@Olivier
I am looking for the specific code and I won't mind if you lead me directly to the code :-P . It will save some time.
Comment 3 Afroz Ahamad 2017-03-16 15:22:43 UTC
I have understood the issue. The url of the page doesn't change and hence browser based navigation isn't possible. 

Should it be FIFO or LIFO? Please direct me to the code so that I can start working as soon as possible. Meanwhile I am trying to replicate the page locally.
Comment 4 Olivier Hallot 2017-03-16 15:32:51 UTC
Perfectly.

For this specific task you need only the helpcontent2 submodule

Donwload the full code (takes a bit of time)
$ git clone git://anongit.freedesktop.org/libreoffice/core libreoffice

cd libreoffice/helpcontent2

The code is under source/

You can open index.html directly on the browser and work in it

Further reading of submodules

https://wiki.documentfoundation.org/Development/Submodules

If the development goes beyond this simple task, you will need the full build of LibreOffice:

https://wiki.documentfoundation.org/Development/BuildingOnLinux

The best channel for talking on development is IRC  #libreoffice-dev  on freenode.net
Comment 5 Jan Holesovsky 2017-03-16 17:32:06 UTC
I'd recommend not to use submodules :-) - please just clone the 'help' repo directly, and work there, that should be enough for this task I hope:

git clone git://gerrit.libreoffice.org/help

Wrt. the work itself, we talked with Afroz on the IRC, and I think it would be worth trying to add a param denoting the page, so that we can use the normal browser's history - because the other possibility is to use a cooking; and I fear that'll lead to confusion when the user is brought to the page from LibreOffice.

Olivier: Anything against having something like index.html?page=... that would be stored as the history?  Or have you tried already, and it was problematic?
Comment 6 Jan Holesovsky 2017-03-16 17:33:19 UTC
Heh - cookie, not cooking, of course :-)
Comment 7 Olivier Hallot 2017-03-16 18:07:57 UTC
> 
> Olivier: Anything against having something like index.html?page=... that
> would be stored as the history?  Or have you tried already, and it was
> problematic?

No problematic. It works. I tested with 2 pages:

http://vm173.documentfoundation.org/index.html?page=swriter/guide/wrap.xhp
http://vm173.documentfoundation.org/index.html?page=swriter/guide/tablemode.xhp

The navigation buttons of the browser works.

Which means that the internal links of the XHP pages (and the left pane index) should resolve to the full URL in the form protocol://<...>/index.html?page=....

Am I right?

hint: look at online_transform.xsl
Comment 8 Fabio Biocchetti 2017-03-26 21:25:12 UTC
Hi everybody! (:

This is my initial commit for this case: https://gerrit.libreoffice.org/#/c/35728

With this commit, I changed the HTML/CSS layout in order to add the navigation history section in the top right area.

The navigation history is almost finished, it only has two problems to be fixed:
- After switching the module section using the top left menu, the navigation history erases.
- After switching the module section and selecting new bookmarks from the left list, the navigation history stores the last clicked value twice.

However I hope this to be a good starting point, this approach is actually working and it allows the navigation history elements to be clickable.

You can start from here and fix those two small issues in order to complete this task for the help tooling.
Comment 9 Commit Notification 2017-03-29 17:20:22 UTC
Css16 committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/help/commit/?id=cf790c30c572ccf4ab5d0378733d673d437e42e1

tdf#106574 JavaScript navigation history with links added, CSS improvements
Comment 10 Olivier Hallot 2017-09-16 18:25:59 UTC
I am closing this issue because the development of the help online went into another direction. 

Now we have HTML pages generated at build time, and no more use of XSLT call on line. Therefore, the navigation  and page bookmarking is fully handled by browser.

see http://helponline.libreoffice.org