[GRASS-dev] Final reports for Mini project 2024: Easy command history navigation through the History browser panel
Linda Karlovská
linda.karlovska at seznam.cz
Mon May 13 11:03:14 PDT 2024
Hello everyone,
I am sending the short report for weeks 7-9 and the final report of the Mini
Project devoted to improving GUI, particularly the History browser pane. The
goal of this project was to provide a user with a better command history
navigation and I think it was quite successful :-), you can have a look at
screenshots here: [1]
What did I complete during weeks 7-9?
I completed the PR (https://github.com/OSGeo/grass/pull/3421)[2]
implementing time node branching in the history tree. Moreover, I also added
a button to update the current region based on the region used during
command execution (PR (https://github.com/OSGeo/grass/pull/3679)[3]).
Besides that, I introduced icons representing command status (success,
failed, running, aborted, unknown) and added them in front of history
entries (PR (https://github.com/OSGeo/grass/pull/3679)[4]).
Thanks Anna Petrasova for the valuable comments in the reviews!
Final report
Abstract
This project builds upon the work initiated during the OSGeo sprint in
Prague in the summer of 2023, which focused on creating a new History
Browser panel to facilitate access to the command history. Although the new
History Browser panel became available in the GRASS development version
starting December 8th (refer to the PR [5]), initially it provided only a
basic, single-level display of commands from the history log, with the
capability to relaunch commands but lacking detailed command information.
This project aims to enhance the basic functionality by incorporating
several improvements.
The state of the art BEFORE the start of the Mini project:
The History Browser panel displayed a simple tree of command entries loaded
from a plain-text history log. It had only the capability to relaunch
commands.
The state of the art AFTER Mini project:
Implemented changes include:
* Transitioning the plain text format of the history log (.wxgui_history)
to JSON format, allowing more information to be stored for each executed
command. Newly, the log stores information about the timestamp, command
status, runtime duration, region settings, and mask usage.
* Instead of implementing the initially planned context option "Show
Info" and displaying a small dialog with process information, the history
pane was redesigned into two sections. The upper part features the
history tree, while the lower part includes two static boxes presenting
information stored in the history log. The first box contains general
details, and the second box displays the computational region during
command execution.
* Adding a symbol in front of each command in the tree based on the
command's status.
* Branching the tree based on the date of command execution - tree is
branched into days and sorted from the Today node to older nodes. Command
nodes are sorted from the oldest to the newest.
The task of filtering commands based on status was not addressed during the
project due to higher-priority issues that emerged:
* Adding the "Update current region" button, which dynamically updates
the region based on the executed command and its information stored in
the JSON-formatted history log.
* Introducing a new Delete option in the command tree
* Rearranging the Export History button
Next Steps:
Possible improvements for the History browser pane:
* Fixing of command status for nonsense entries (already noted here:
[6]):
* Sorting the commands in the history tree from the newest to oldest
(seems more logical)
* Implementing efficient refresh methods (currently all nodes are
refreshed when adding a command)
* Showing the complete error text if a command fails. (Now there is a “
failed” status written but no clue what actually happened).
* Adding the new combo box restricting the filtering based on the command
status
* Adding the Copy context menu option to command nodes
Permanent links to GitHub PRs and screenshots of the improved History
Browser pane can be found at [7] and [1].
[1] https://trac.osgeo.org/grass/wiki/wxGUIDevelopment/
EasyCommandHistoryNavigation#ScreenshotsofHistoryBrowserimprovements
(https://trac.osgeo.org/grass/wiki/wxGUIDevelopment/EasyCommandHistoryNavigation#ScreenshotsofHistoryBrowserimprovements)
[2] https://github.com/OSGeo/grass/pull/3622
(https://github.com/OSGeo/grass/pull/3622)
[3] https://github.com/OSGeo/grass/pull/3421
(https://github.com/OSGeo/grass/pull/3421)
[4] https://github.com/OSGeo/grass/pull/3679
(https://github.com/OSGeo/grass/pull/3679)
[5] https://github.com/OSGeo/grass/pull/3234
(https://github.com/OSGeo/grass/pull/3234https:/github.com/OSGeo/grass/pull/3234)
[6] https://github.com/OSGeo/grass/issues/3698
(https://github.com/OSGeo/grass/issues/3698)
[7] https://trac.osgeo.org/grass/wiki/wxGUIDevelopment/
EasyCommandHistoryNavigation#FinalReport
(https://trac.osgeo.org/grass/wiki/wxGUIDevelopment/EasyCommandHistoryNavigation#FinalReport)
Have a nice week.
Linda
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20240513/fbf4c121/attachment.htm>
More information about the grass-dev
mailing list