View Issue Details

IDProjectCategoryView StatusLast Update
0000609Cinelerra-GGFeaturepublic2022-04-01 18:57
Reportersge Assigned ToPhyllisSmith  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Summary0000609: Configurable context help driver
DescriptionThe Cinelerra Context Help feature is driven by the Perl script doc/ContextManual.pl. The user could modify this script, for example, to adjust the web browser executable, or to use some special browser options, or something else. But:
a) As soon as one updates the Cinelerra package, the edited script is overwritten by that from the new version of the package, and the user's modifications will disappear.
b) If the user starts Cinelerra from AppImage, he gets a fresh unmodified instance of the script on each new start.
The supplied patch addresses this problem.
On pressing Alt-h the Cinelerra binary executes its doc/ContextManual.pl (system-wide). The script checks, if there exists the script with the same name in the user's config directory $CIN_CONFIG (usually ~/.bcast5). If not, the script copies itself into $CIN_CONFIG and then calls it with the same hep keyphrase.
Then the user can modify his copy of ContextManual in his .bcast5. Pressing Alt-h will trigger calling his adjusted script.
Should the structure of the HTML manual change in some incompatible way, the Cinelerra maintainer increments the variable $cin_cm_api = 1; to 2, 3,... etc. The system-wide script doc/ContextManual.pl will detect that his API version differs from that in .bcast5. The user's script in .bcast5 will be renamed to the corresponding .bak-file, and the system-wide version will be actualized into .bcast5 again (and then the user can modify it again consulting with his old backed up version).
I hope, such a concept should work from AppImages too.
TagsNo tags attached.
Attached Files

Activities

PhyllisSmith

2022-03-22 22:12

manager   ~0005251

Testing today.

sge

2022-03-23 17:32

reporter   ~0005253

When the patch is applied, tested and accepted for check-in, the following changes should be made in the CGG manual.

Section B.11.1 Manual Maintenance is now Tightly Coupled with the Program Code, the very last paragraph at at the end of the section ("More about ContextManual.pl file?"):
We can add after this very last paragraph some description like:

After the first invocation of context help the system-wide script bin/doc/ContextManual.pl copies itself into the user's config directory, $HOME/.bcast5. If the user needs to modify ContextManual.pl, it should be done on that copy from .bcast5 rather than the system-wide one. On all the subsequent context help requests this (possibly modified) .bcast5 version of the script will be called.
If later the CinelerraGG package gets upgraded, containing a newer, not 100% compatible version of ContextManual.pl script, and/or not compatible structure of the HTML manual itself, the new system-wide version of the script will be copied into .bcast5 again to ensure context help functionality. The older version of the script will be backed up (with the .bak suffix) as a reference of the modifications done by the user.

Section C.3 Details about .bcast5 Files, add somewhere inside:

ContextManual.pl the user's configurable version of the Perl script which drives the Context Help feature.

PhyllisSmith

2022-03-23 20:20

manager   ~0005255

This is a very useful enhancement for users of alternative Browsers. It has been successfully tested with CinGG builds and AppImages and both the code and manual changes have been checked into GIT. They will be included in the next March 31 release. (This is the first time I took advantage of the addition of the "fake browser for debugging").

PhyllisSmith

2022-03-31 22:57

manager   ~0005256

This is now in the March 31 release and this BT will be closed in a couple of days.

Issue History

Date Modified Username Field Change
2022-03-22 18:12 sge New Issue
2022-03-22 18:12 sge File Added: ContextManual-config.diff.gz
2022-03-22 22:12 PhyllisSmith Assigned To => PhyllisSmith
2022-03-22 22:12 PhyllisSmith Status new => acknowledged
2022-03-22 22:12 PhyllisSmith Note Added: 0005251
2022-03-23 17:32 sge Note Added: 0005253
2022-03-23 20:20 PhyllisSmith Status acknowledged => confirmed
2022-03-23 20:20 PhyllisSmith Note Added: 0005255
2022-03-31 22:57 PhyllisSmith Status confirmed => resolved
2022-03-31 22:57 PhyllisSmith Resolution open => fixed
2022-03-31 22:57 PhyllisSmith Note Added: 0005256
2022-04-01 18:57 PhyllisSmith Status resolved => closed