A multiplicity of filepaths

I was just looking at the PortableApps Gramps modifications. (Hoping to start sharing Gramps research with a couple sibs & cousins who won’t install ANYthing) And some of what I learned was worth sharing with the Linux & macOS developers.

The PortableApp tool INI files have noted each hardcoded filepath that might have to be rewritten every time the application is started. (This is because a USB device may be assigned a different logical drive each time it is plugged in OR the whole folder might have been dragged to a new folder. So the paths have to revalidated & tweaked each time BEFORE launch.)

Might this information present an opportunity to make USB friendly versions versions of the Linux and macOS Gramps? Maybe it would be possible to have all three OS versions on a USB thumbdrive. With a sublauncher that recognizes the OS and calls the right installation but uses a common Tree database and media collection.

Given GrampsPortable folder is installed at the top level of a USB drive assigned the letter ‘G:’

G:\GrampsPortable\App\AppInfo\Launcher\GrampsPortable.ini

[Launch]
ProgramExecutable=Gramps\grampsw.exe
WorkingDirectory=%PAL:AppDir%\Gramps
DirectoryMoveOK=yes
SupportsUNC=yes
SplashTime=12500

[Environment]
PATH="%PAL:AppDir%\Gramps";%PATH%
GRAMPSHOME=%PAL:DataDir%\settings
GRAMPSDIR=%PAL:AppDir%\Gramps
LANG=%PAL:LanguageCustom%.UTF-8
LANGUAGE=%PAL:LanguageCustom%.UTF-8

[FilesMove]
settings\recently-used.xbel=%LOCALAPPDATA%

[Language]
Base=%PortableApps.comLocaleglibc%
CheckIfExists=%PAL:AppDir%\Gramps\share\locale\%PAL:LanguageCustom%\*.*
DefaultIfNotExists=en_US

[LanguageFile]
Type=INI
File=%PAL:DataDir%\settings\GrampsPortableSettings.ini
Section=GrampsPortableSettings
Key=Language

[FileWrite1]
Type=Replace
File=%PAL:DataDir%\settings\gramps\gramps51\gramps.ini
Find=%PAL:LastDrive%%PAL:LastPackagePartialDir:DoubleBackslash%\\
Replace=%PAL:Drive%%PAL:PackagePartialDir:DoubleBackslash%\\

[FileWrite2]
Type=Replace
File=%PAL:DataDir%\settings\gramps\gramps51\gramps.ini
Find=%PAL:LastDrive%%PAL:LastPortableAppsBaseDir:DoubleBackslash%\\
Replace=%PAL:Drive%%PAL:PortableAppsBaseDir:DoubleBackslash%\\

[FileWrite3]
Type=Replace
File=%PAL:DataDir%\settings\gramps\gramps51\gramps.ini
Find=%PAL:LastDrive%\\
Replace=%PAL:Drive%\\

[FileWrite4]
Type=Replace
File=%PAL:DataDir%\settings\gramps\recent-files-gramps.xml
Find=%PAL:LastDrive%%PAL:LastPackagePartialDir%\
Replace=%PAL:Drive%%PAL:PackagePartialDir%\

[FileWrite5]
Type=Replace
File=%PAL:DataDir%\settings\gramps\recent-files-gramps.xml
Find=%PAL:LastDrive%%PAL:LastPortableAppsBaseDir%\
Replace=%PAL:Drive%%PAL:PortableAppsBaseDir%\

[FileWrite6]
Type=Replace
File=%PAL:DataDir%\settings\gramps\recent-files-gramps.xml
Find=%PAL:LastDrive%\
Replace=%PAL:Drive%\

[FileWrite7]
Type=Replace
File=%PAL:DataDir%\settings\gramps\report_options.xml
Find=%PAL:LastDrive%%PAL:LastPackagePartialDir%\
Replace=%PAL:Drive%%PAL:PackagePartialDir%\

[FileWrite8]
Type=Replace
File=%PAL:DataDir%\settings\gramps\report_options.xml
Find=%PAL:LastDrive%%PAL:LastPortableAppsBaseDir%\
Replace=%PAL:Drive%%PAL:PortableAppsBaseDir%\

[FileWrite9]
Type=Replace
File=%PAL:DataDir%\settings\gramps\report_options.xml
Find=%PAL:LastDrive%\
Replace=%PAL:Drive%\

[FileWrite10]
Type=Replace
File=%PAL:DataDir%\settings\gramps\gramps34\gramps.ini
Find=%PAL:LastDrive%%PAL:LastPackagePartialDir:DoubleBackslash%\\
Replace=%PAL:Drive%%PAL:PackagePartialDir:DoubleBackslash%\\

[FileWrite11]
Type=Replace
File=%PAL:DataDir%\settings\gramps\gramps34\gramps.ini
Find=%PAL:LastDrive%%PAL:LastPortableAppsBaseDir:DoubleBackslash%\\
Replace=%PAL:Drive%%PAL:PortableAppsBaseDir:DoubleBackslash%\\

[FileWrite12]
Type=Replace
File=%PAL:DataDir%\settings\gramps\gramps34\gramps.ini
Find=%PAL:LastDrive%\\
Replace=%PAL:Drive%\\

G:\GrampsPortable\App\AppInfo\appinfo.ini

[Format]
Type=PortableAppsFormat
Version=3.5

[Details]
Name=Gramps Portable
AppId=GrampsPortable
Publisher=AppName Team & PortableApps.com
Homepage=https://portableapps.com/apps/education/gramps_portable
Donate=https://gramps-project.org/blog/contribute/
Category=Education
Description=Genealogy
Language=Multilingual
InstallType=English

[License]
Shareable=true
OpenSource=true
Freeware=true
CommercialUse=true

[Version]
PackageVersion=5.1.3.0
DisplayVersion=5.1.3

[Control]
Icons=1
Start=GrampsPortable.exe
BaseAppID=%BASELAUNCHERPATH%\App\Gramps\grampsw.exe

G:\GrampsPortable\App\AppInfo\installer.ini

[FilesToRemove]
RemoveFile1=Data\settings\gramps\thumb\*.*

[OptionalComponents]
OptionalComponents=true
OptionalDirectory1=App\Gramps\share\locale
OptionalDirectory2=App\Gramps\share\enchant\myspell-all

It seemed like Nick was frustrated in 2020 by the lack of mentoring interest for the Summer of Code opportunity.

I hate to say it, but I’m not sure the mentors would survive such an opportunity. Not because of a lack of skills but because the onboarding process is still too much of a barrier.

The idea of a simple-to-install multiple OS portable testbed – with a reference copy and a modified copy – would break down one of the barriers. Students could eval whether they saw an opportunity to contribute without a major investment of time troubleshooting an installation and test tree.


But I think we’d might want to try to avoid some of the other barriers too.

One of the responses (Michal Maňas on Facebook) when the Gramps Wikipedia page was nominated for deletiondiscussion was:

There are about 350 [down to just 319 on 1Jun2021] scientific studies referring or mentioning GRAMPS (associated with genealogy). The only way how to prevent this, is to include those scientific articles as references. Those are rules of Wikipedia itself, so if there is possibility to use them effectively, then lets use them. But the proposing of deletion is really annoying.

Surely some of these Google Scholar results were class projects were where the Professor assigned Gramps as a framework for deliverables. So maybe we can canvas the authors of these 350 articles to see if materials have been prepared to introduce students to Gramps, Research using Gramps, or Gramps development. We might be able to collate materials to make Gramps more attractive for classroom use in those categories.

Well… THAT was lost time.there were less than 1 dozen articles of bearing. And none were where Gramps was referenced in a class project more than peripherally.

I just had to recommend a huge Norwegian Doctoral dissertation project in genealogy not to use Gramps as platform, because of the lack of an interchangeable format that was needed because of some statistic that couldn’t be extracted/viewed in Gramps, and to import the data to LibreOffice or another software from the XML or write a Python script to extract the data needed would be to much work even with use of Panda in combination with Matlib, Plotly or NetworkX.

I used a long time trying to find a way to get the data needed, since Gramps in any other aspects would have been the perfect tool… a few statistic reports stopped it, reports that could easily be made in Number on Mac if there was a full CSV export in Gramps (" Normal" users need readable data/field names).

It would have been a perfect Project/Document to Cite.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.