TimeLines Map addon beta testing

See Addon:Time Lines Map
from addons-source/tree/maintenance/gramps52/GeoTimeLines

image

Initial dialog. (There is a “Choose view format” item in the context menu to show these options again.)

1 Like

I downloaded and tried it. Nice piece of coding!

One major issue I had, I selected one of my grandfathers, then selected the timeline map and was offered the options to draw the map and I selected ancestors. Worked fine. But there was no way to then select another option.

And then when I selected another person, it immediately presented her ancestor timeline map with no other options. Selected another existing map option then went back to the Timeline Map and it only presented the same Ancestor map.

Closing and restarting Gramps was the only way to reset for another option.

Maybe adding a drop-down list of options before the map’s “Play” button ??

On a side note, I discovered one of my grandfather’s ancestors had the wrong GPS coordinates. Instead of 57, -2 in Scotland it had 7, -2 in Ghana.

1 Like

That bit me too. (I’ve been enjoying the exploration. It’s a nice piece of work with a lot of power and a lot of potential.)

There is a “Choose view format” item that is in the context menu.
This is a prime functionality and it need a better name. The current one is too passive.

Another thing that was non-intuitive is the Filter option in that dialog. I expected it to pop-up a People custom filter selector. Instead, it is really a “use the current Filter gramplet filter”, worse it requires that the Find to have been run. And clicking that lacks feedback. Have to do some more testing to see if it respects the other fields in the Filter gramplet, or just the Custom Filter. (May have to use the Isotammi Filter+ gramplet to export the settings. But then have to also check if Find in Filter+ can be used.)

I get a LOT of errors shown when starting Gramps from the console/terminal.

Have you tried running the animation backwards?

It is interesting playing the animation with negative years, with the home person selected, using the <Active Person> and their ancestors, and the slider all the way right.

But it desperately needs an option to NOT plot all those question mark pins. And possibly a section in the wiki about making a custom filter to find the records that would generate a Question Mark map pin. Since those records obviously have data that needs context added before they could could contribute detail to the map.

Not sure the best place to file bugs on this.

BUG 1 : Crash when initial view is Geography

Started gramps with the last used view as Geography. Geography view crashed with:

Traceback (most recent call last):
File “/Volumes/Storage/Applications/Gramps5.2.1.app/Contents/Resources/lib/python3.11/site-packages/gramps/gui/viewmanager.py”, line 911, in __create_page
page_display = page.get_display()
^^^^^^^^^^^^^^^^^^
File “/Volumes/Storage/Applications/Gramps5.2.1.app/Contents/Resources/lib/python3.11/site-packages/gramps/gui/views/pageview.py”, line 453, in get_display
self.top = self.build_interface()
^^^^^^^^^^^^^^^^^^^^^^
File “/Volumes/Storage/Applications/Gramps5.2.1.app/Contents/Resources/lib/python3.11/site-packages/gramps/gui/views/pageview.py”, line 179, in build_interface
self.widget = self.build_widget()
^^^^^^^^^^^^^^^^^^^
File “/Volumes/Storage/Applications/Gramps5.2.1.app/Contents/Resources/lib/python3.11/site-packages/gramps/plugins/lib/maps/osmgps.py”, line 165, in build_widget
self.change_map(None, config.get(“geography.map_service”))
File “/Volumes/Storage/Applications/Gramps5.2.1.app/Contents/Resources/lib/python3.11/site-packages/gramps/plugins/lib/maps/osmgps.py”, line 238, in change_map
self.goto_handle(handle=None)
File “/Users/gary/Library/Application Support/gramps/gramps52/plugins/GeoTimeLines/GeoTimeLines.py”, line 373, in goto_handle
self._createmap(None)
File “/Users/gary/Library/Application Support/gramps/gramps52/plugins/GeoTimeLines/GeoTimeLines.py”, line 764, in _createmap
self._startupdialog()
File “/Users/gary/Library/Application Support/gramps/gramps52/plugins/GeoTimeLines/GeoTimeLines.py”, line 1993, in _startupdialog
btn.set_label(f"Only "{_nd.display(self.dbstate.db.get_person_from_handle(self.uistate.get_active(‘Person’)))}"")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/Volumes/Storage/Applications/Gramps5.2.1.app/Contents/Resources/lib/python3.11/site-packages/gramps/gen/db/dummydb.py”, line 111, in wrapped
return method(*args, **keywargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File “/Volumes/Storage/Applications/Gramps5.2.1.app/Contents/Resources/lib/python3.11/site-packages/gramps/gen/db/dummydb.py”, line 800, in get_person_from_handle
raise HandleError(“Handle %s not found” % handle)
gramps.gen.errors.HandleError: Handle not found

2 Likes

BUG 2: Adding Residence event does not refresh location list

Started Geography view with no RESI events. Went to Person View and added RESI events. Geography view did not update - still saw initial view without these added locations in the timeline.

1 Like

It looks like the developer (Thomas B) is on the Gramps-devel mailing list ([Gramps-devel] GIT write access for addons-source), GitHub (PR 607), and is a WikiContributor (for Addon:Time Lines Map). But no account on Discourse for this thread.

It looks like he is monitoring the comments on the initial Pull Request:

I wonder what kind of changes should be monitored for updating the View? Any time a place, event, family or person is changed means the View data might have to update.

It only polls the Active Person, Filters and Filtered Person list when the Chose View Format dialog is open. So those kinds of signals could be monitored only then.

Here are some the callback signals that the What’s Next? gramplet montitors:

Hey, I’m the creator.

I’m glad you guys like it!

I’ll try and get the quicker fixes here addressed along with what was posted on Github soon.

I’ll add a button on the bottom control panel to show the options so you don’t need to use the context menu.

I’ll look into making the ‘active person only’ option trigger when changing individuals, and probably have the behavior determined as a configuration option.

The filter option is non-intuitive, I agree, and it isn’t how I originally wanted it to work. I’m happy that I got the filter to work in the first place when coding the plugin! I’ll have to look again into having the filtered selection immediately apply when you click the find button in the filter pane—I didn’t figure it out when I initially added the filter option.

My main machine is on Windows and I’ve not seen many errors when using the plugin, but I can try to be more observant if errors do crop up in the console.

I think that’s the “display markers for unknown ancestors” option in the configuration which by default right now is set to “If Missing Both Parents”. I should set the default option to “Do Not Show” (I honestly thought that was the default option—oops!—it’s how I typically have it).

I’ll look into it.

Clicking to a different view, then back to the geography view while keeping the same person active does not refresh the plugin’s internal list of persons/events/locations. You’d need to re-select a display option to regenerate that list.

I typically have the plugin on ‘ancestor view’ and didn’t want the plugin to have to go through the database collecting all the persons/events/locations again whenever I’d check a different view then return to geography.

I’m not sure how hard it would be to flag and select newly added persons/events etc. when returning to the geography view. Definitely not a quick fix.

6 Likes

I loaded the most current PR files (3 Oct 24) on my MacOS system.

The gramplet seg faults but I dont know how to interpret the crash dump. Somewhere in gdk is the best I can do. Guessing it is related to the Critical msg.

I cannot identify exactly the interactions, but generaly after changing the Active Person and then switching back to Geographic view.

Log of terminal:

gary$ ./Gramps

(Gramps5.2.1.app:8770): OsmGpsMap-CRITICAL **: 17:22:02.184: Map source setup called twice

zsh: segmentation fault ./Gramps

gary$

CRASH:

Date/Time: 2024-10-03 17:22:02.4775 -0700
OS Version: macOS 14.6.1 (23G93)

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libgdk-3.0.dylib 0x1071b8f9c -[GdkQuartzView updateLayer] + 136
1 libgdk-3.0.dylib 0x1071b8f7c -[GdkQuartzView updateLayer] + 104
2 AppKit 0x184357f34 _NSViewUpdateLayer + 84
3 AppKit 0x18429ea28 +[NSAppearance _performWithCurrentAppearance:usingBlock:] + 72
4 AppKit 0x1848fd328 __29-[NSViewBackingLayer display]_block_invoke + 148
5 AppKit 0x1842d2390 -[NSFocusStack performWithFocusView:inWindow:usingBlock:] + 96
6 AppKit 0x1848fcd80 -[NSViewBackingLayer display] + 280
7 QuartzCore 0x188c62e50 CA::Layer::display_if_needed(CA::Transaction*) + 744

1 Like

Thanks for the report. I have some free time Sunday so I’ll take a look at it then. I have no experience with MacOS, but I’ll see if I can break it on Windows or Linux.

1 Like

I couldn’t replicate this latest bug, but I’ve fixed your first one (crash on loading directly into the map view).

1 Like

Thanks for sharing your work. It is a nice feature!