You are here

Future of Gramps Portable

Submitted by Bart.S on May 5, 2011 - 11:58am

Dear users, does anyone want or need more dependencies bundled by default?
Gramps Portable includes:

  • Python, GTK, pygtk, pygobject, pycairo (since 3.2.5)
  • pyGoocanvas and Goocanvas (required for Graph View addon) [+1.5 MB] (added as from 3.3.0-1)
  • pyexiv (required for Image Metadata Gramplet) [+6.5 MB] (added as from 3.3.0-1)
  • PyICU (better Unicode support) [+7.8 MB] (added as from 3.4.3)

These packages could be added (Gramps Portable 3.4.7 or later):

  • OpenCV and numpy (required for automatic detection of faces) [+ ? MB]
  • ... (other suggestions)

These packages won't be added to an official release in the near future:

  • pyenchant and PyGTKSpell (required for spell-checking):
    enchant interferes with other local or portable apps
  • python-osmgpsmap and osm-gps-map (required for Geography view):
    Offline map cache uses up free disk space fast.

Feedback is very welcome, maybe we could improve the user experience for all Gramps Portable users.

Thanks Smile

Comments

The official website recommends for upgrading Gramps:

Before you upgrade, make sure your family tree data is secure. The best way to do this is:

  1. Start Gramps
  2. Open your family tree
  3. Export the family tree to the gramps xml format or the gramps xml package format (which includes your photographs and other media files associated with your family tree data). Export your tree via menu Family Trees->Export, making sure you export all data with no filters applied.
  4. Close this family tree and repeat the above steps for any other family trees you have
  5. Keep the resulting file(s) in a safe place

After properly safeguarding your data, proceed to install/upgrade Gramps. After you upgrade Gramps, you can open your existing family trees and continue working. In case of problems (e.g., after a complete system upgrade), use the backup file(s) created above to recreate your family tree(s).

What should we do with the portable version?

  • disable auto-updating
  • put a message box to the installer: "Hey, are you sure you want to upgrade? Really? Ok, but on your own risk. ;-)"
  • nothing and see what happends
  • something else
John T. Haller's picture

Are these instructions specific to this version upgrade or do they apply to all of them? If all of them, then we should make note on the app page that it could break at any time and encourage backups... and if it's all of them, that's a bit odd. If this specific one, we could backup userdata just for this upgrade.

Sometimes, the impossible can become possible, if you're awesome!

to be on the safe side. Smile
I don't know how often it corrupts the database (Windows isn't officially supported). But I plan to upgrade to Python 2.7.1, GTK 2.22.0 as well now.

There is also this warning:

Once you open a family tree in a newer version of Gramps or using a newer operating system, you generally should not try to open that database using an older version again. As always, the gramps xml format is the format to use for the interchange of your data in such cases. There are tools to repair broken databases, but they are for expert users, so avoid needing them by following the steps above before you upgrade your OS or Gramps.

John T. Haller's picture

In that case, we should probably let the user know with a note, etc. If it's a consistently (possibly) unstable/unreliable app, the user should be forewarned. Though, honestly, I haven't heard any reports of issues from our users.

How big are the files? Are the generally in Data? If small and in Data, we could automatically keep a few backups around just in case.

Sometimes, the impossible can become possible, if you're awesome!

It wouldn't help to backup Data. Gramps uses BSDDB databases. If you upgrade Gramps and/or its dependencies, it could be possible that Gramps can't open them. Restoring Data wouldn't help (because that Data could only be opened with the previous version).
And that's why the developers recommend an export to xml files before upgrading, just to be safe. The xml files could be imported easily if necessary.

I really appreciate the efforts of Gramps developers in general, and those of Bart S. in making it available for PortableApps.com. However, I am still at a loss as to how to install the required GraphViz and pygoocanvas, or better yet, some indication as to when they might be available as Gramps Portable for PortableApps.

Thanks,

Murray

Welcome at PortableApps.com.

  1. pyGoocancas is included in Gramps Portable. See above.
  2. Graphviz won't be included (license).

There are several options for you:

  • request Graphviz Portable
  • install a local Graphviz
  • copy Graphviz binaries to GrampsPortable\App\Graphviz
  • disable the Gramps plugins which require Graphviz

Hi Bart. Thanks for the releases of GrampsPortable.

Just to let you know... that the 5.1.6 update to Gramps was released at the end of June 2023. (This should be the final release in the 5.1.x series. It was intended to integrate all the bug fixes that had already been rolled into the 5.2 development fork. The 5.2 fork is scheduled to start beta around 31 July with optimistic final release in late August.)

There has not been a 32bit All-In-One Windows installer built yet. Do you need that to build an update to GrampsPortable ?

I was sorrowful to read that a GrampsPortable of the Beta is not something you would build. The 5.2 will be first public beta of Gramps... ever. I was hoping to pursue as many 1st impressions as possible so that we can tweak the example files.

Thanks again

Brian

John T. Haller's picture

I'm the maintainer of Gramps Portable now and have been for a little over 2 years. Like most of our apps, Gramps Portable is released as a 32-bit only app. We only do 32-bit and 64-bit together when there is a requirement (system driver) or a large performance advantage (close to 10% for things like 7-Zip). We do 64-bit only when apps are 64-bit only from their publisher. We generally don't do beta releases as it adds build time and most apps are maintained just by me. Gramps Portable 5.1.6 is waiting on the 32-bit release as noted in the Outdated Apps Thread. If the publisher is no longer supporting 32-bit Windows, please point us towards an announcement to that effect and I'll switch the build over.

Sometimes, the impossible can become possible, if you're awesome!

Hi John. Thanks for taking over maintaining GrampPortable!

I've asked the AIO package maintainer about doing a 32bit version. And I'll ask if the 32bit support is being discontinued, to do so at 5.2 and (hopefully) continue 32bit though 5.1.6.

Brian

John,

Gramps architect, Nick Hall, has confirmed that there will no longer be 32-bit All-In-One installers generated for Gramps. 5.1.5 is the final 32-bit AIO for Windows. The 5.1.6 release is expected to be the tombstone version for the 5.1.x cycle -- and there is no 32-bit version of it.

Also, the AIO 64-bit installer build now uses a script to accelerate publication after a (Linux) Source Code release announcement. It started being a standard tool with the 5.2.0 version of Gramps. The AIO script has been expanded to include PIP. This package manager (optionally via checkbox option in the Addon Manager) assists in installation of prerequisite Python Modules for Gramps demanded by Add-On (addons) plug-ins. PIP is not currently packaged with the Linux or macOS installers.

Please see the discussion at: https://github.com/gramps-project/gramps/pull/1444

Brian

John T. Haller's picture

I switched our Gramps Portable builds to 64-bit with the 5.1.6 release. A Legacy 32-bit 5.1.5 release is also available. Gramps 5.2.0 drops support for Windows 7, so a Legacy Win7x64 5.1.6 build is available as well. The PortableApps.com Platform's App Store automatically shows Gramps Portable 5.2.0 to Windows 8-11 64-bit users, Gramps Portable Legacy 5.1.6 to Windows 7 64-bit users, and Gramps Portable Legacy 32-bit 5.1.5 to Windows 7-10 32-bit users so all users of modern and semi-modern Windows have access to the latest available. Legacy 3.4.9 is also available from the app homepage and from the PortableApps.com Platform when 'Advanced' apps are selected to be shown for users who need access to the 3.x builds to deal with older databases.

Sometimes, the impossible can become possible, if you're awesome!

I realized you had done that. -- and Thank You! But noticed that I hadn't followed up with a posting that the change was officially confirmed and permanent.

That 3.4.9 has been very useful for recovering databases from early releases of Gramps and greatly appreciated. (When the database wasn't properly backed up to XML.) For instance, when relatives pull themselves far enough out of mourning to start going thought digital relics.

Brian

John T. Haller's picture

You're welcome. And that makes sense on recovering old databases. I hadn't considered that specific scenario.

Sometimes, the impossible can become possible, if you're awesome!

The publisher supports Linux source distribution only. Nothing else. The windows installers are from the community.

John,

When the 5.1.6 (or 5.2) of GrampsPortable is built, could you look at the Splash Screen? The "PortableApps.com/go/GrampsPortable" URL listed on it gives a 404 error at PortableApps.com

see a capture at https://github.com/gramps-project/gramps/pull/1439#issuecomment-1565501467

And, if at all possible, you could increase the interval that the Splash Screen is displayed for the first run of GrampsPortable? Gramps is building a lot of cache file and .ini files and takes significantly longer the first run. (Maybe it could monitor for one of the files to be added?)

Brian

John T. Haller's picture

The 404 has been fixed. The splash is only time-based and is longer than usual for Gramps due to it being slow to start. It's at 3s now. I may bump it to 5s as 6s+ is what it takes to launch secondary launches on my nvme Gen 3 at the moment. But I'll test on a faster PC before doing so.

Sometimes, the impossible can become possible, if you're awesome!

Thanks John. Checked and the URL works for me now.

The 2 biggest delays are building all the cached compiles of the Python modules on the first run. Then the speed of the storage device is the next biggest factor. SSDs start Gramps massively faster than HDDs. (I cannot believe how much faster Gramps is on a Linux box using an SSD than my Win10 box with a HDD! But I am a Linux noob too.)

Brian

John T. Haller's picture

I may distribute it with the PYCs already included to shorten install time and give a more accurate install size. It adds about 11 MBs and 1,200ish files.

Sometimes, the impossible can become possible, if you're awesome!

After nearly a month of testing the initial public beta, beta2 of Gramps 5.2 AIO was posted yesterday.
see https://gramps.discourse.group/t/gramps-v5-2-0-beta2-released/4070

There are changes that may impact the way your PortableApps version is implemented. Specifically, the way it localization choice of active language might be different. I only have English set up for my OS so I am not a good tester for that part. Perhaps you could try making a GrampsPortable of the beta2 and tell us if you need something changed.

(a Linux script to automatically build the Window 64bit AIO installer is new for this version. This is the first strong indication that the Windows fork will graduate from "community supported" to "officially supported".)

Brian

John T. Haller's picture

There is no change in the way we handle languages for 5.2. Gramps just updated how it detects the system language. It still provides no way for the user to set it via their UI. We set it via the environment variable set via the PA.c Platform or via an INI file the user can change. If neither are set, it falls back to Gramps' system detection.

Sometimes, the impossible can become possible, if you're awesome!

I have recommend PortableGramps in the past because the its implementation of language selection. It is so much easier for multi-lingual users to swap between languages.

We (not asking for you to do this) need to write up a clear page explaining those 3 layers for Gramps-Project wiki. It needs to be clear enough to make translation easy.

I am excited about the 5.2 beta and hope you will generate a beta portable. I just discovered that installing using a different OS builds the Gramps User Directory in %localappdata% instead of %appdata%. It memory serves, you override the path for the application data too. So I'd like to check it to make sure there aren't problems before the 5.2 GrampsPortable is in public release.

Brian

John T. Haller's picture

I've updated Gramps Portable to 5.1.6 and it is now 64-bit only. A legacy copy will automatically be created on 32-bit PCs and is available for download from the Gramps Portable homepage. The PYC files are now included in the download.

Sometimes, the impossible can become possible, if you're awesome!

That's wonderful! I will update the Download page on the Gramps site.

The Gramps AIO installer build began changing from a manual process to a scripted one at the beginning of August. (The manual process was a day each for the 32bit and 64bit versions) I believe this automation will be tipping point for the Windows & macOS forks being 'officially' supported OSes instead of just Linux.

A 64bit AIO Installer from the automated build generated no warnings/errors upon starting Gramps first occurred on 11 Aug. Developers are now looking at the method of adapting to the OS Language since @Bart.S complained about it earlier in this forum.

Brian

Developers are now looking at the method of adapting to the OS Language since @Bart.S complained about it earlier in this forum.
What are you talking about?

And by the way, IMHO it's scary to update from 32bit to 64bit on a minor release. Think about users with BSDDB databases.

It would have been cleaner if the 32bit AIO installers continued to be built though the tombstone release of the 5.1.x series: 5.1.6
Due to having to upgrade versions on some required packages that had reached end-of-life, it looked like retrofitting for a 32bit version was going to be a major labor investment. (The MSSYS package had dropped BSDDB entirely.) And that volunteer was already spending an entire day to get the 32bit package ready when all worked well.

One of the big changes was to switch from a manual AIO build to an automated one. Once the 64bit automation proves flexible enough to handle most configurations, maybe we can re-visit a 32bit variant. (I'd like to see it support the XP legacy boxes again. A lot of genealogists are on a fixed budget and don't upgrade hardware frivolously.)

>> since @Bart.S complained about it earlier in this forum.
> What are you talking about?
There was another posting that was critical of how Gramps changed locale information. That prompted questioning the implementation in the Gramps forums ... which led to discovering quite a few issues. The upcoming release should be a lot better with languages and more adaptive. But since PortableApps was compensating for the shortcomings, their remediation will need some changes.

Brian

it's still less stable with Python 2.7.1 and GTK 2.22.0. I think I'll keep the approved setup (at least for the official release).

About the dependecies. I think that pyGoocanvas and Goocanvas should be included. Graph View is really a must for gramps to be more friendly.
I need those right yesterday )
Is there a way to install those 2 dependencies on an installed portable version 3.3.0 not waiting for the next release???

they are coming in the next version.
You could copy the binaries into the appropriate folders and it'll work yesterday. Blum

Note: Gramps Portable uses either a local installed Graphviz or you could copy Graphviz to GrampsPortable\App\Graphviz if you want it wherever you are. This applies to Ghostscript also (GrampsPortable\App\Ghostscript of course). Smile

sorry, but im not so fast, so please, get in a little more detail
1) where do i get the binaries (i'm on http://live.gnome.org/PyGoocanvas - the binaries said to be coming soon)
2) what are appropriate folders for those binaries?
3) why are you noting about Graphviz and Ghostscript? Are they necessary too? Where do i get the those compiled for the portable version?

Sorry if the questions are dumb, but that is my current level of understanding Smile

It's not easy (to explain). Sad
See for dependencies, what they are for and where to get the Gramps wiki.
Graphviz is the program which creates the graphs on Graph View. So yes, it's necessary too. Ghostscript is needed for generating PDFs, but it's not necessary.

...for your next relaese with hope on smart guys like you

actually, i can understand, what are whose dependencies for
i just cant figure out, where to download appropriate binaries from and where to put them in the PORTABLE GRAMPS folder
i never used python or GTK separately

maybe i'll get it, when i'll compare my current 3.3.0 portable installation folder and the next on with pyGoocanvas and Goocanvas + GraphViz and Ghostscript installed

Hello,

I am a happy user of Gramps Portable 3.3.1-1 on Win XP SP3.
Thanks for producing this version.

Do you plan to update it to the current 3.4.1?

Jim

but at the moment there aren't windows binaries for 3.4.1, so we'll have to wait.

Hi Bart.S,

Happy New year.

Would you be able to create a Gramps 4.0.0-alpha2 test release for us non technical people to play around with, I would like to try out the new Fan Charts etc.

http://gramps-project.org/2013/01/gramps-4-0-0-alpha2-released/

In the comments of alpha1, Agdes mentions "Gtk3/Introspection and libs work under Windows. I do not know about Gtk3 themes under this OS…"

Thank you for considering

I won't touch alpha/beta releases of Gramps, GTK3 or a combination of it.

Let's wait till there is something stable on Windows and then we'll see if we can make it portable.

John T. Haller's picture

We generally only do Stable versions of all apps. The exception is publishers we work closely with that want it and where it serves a purpose for developers who depend on it (example: browsers so devs can tests sites and extensions).

Sometimes, the impossible can become possible, if you're awesome!