How to best record links?

I am in the process of tidying up my source and citations links (~ n × 10k order of magnitude) and I am not sure about the “ideal” path to take.

The fact that changes occurred in the linkf motivated me to undertake this task:

  • some host names changed
    This is expected to occur.
  • paths after the host name changed after software update/replacement
    Also to be expected due to maintenance in the archive institutions
  • surprisingly, some ark: designations also changed
    ark: URI are supposed to be persistent! Looking closer, apparently, the original sources have been scanned again with new pages at the beginning (book cover, intial blank pages, …) and, effectively, this is a different source than the previous one.

Initially, my “links” were simply text notes attached to Source and Citation records. Repository records already have Url objects where the hostname (and a few other arguments) can be stored.

I started converting my text notes to some sensitive “field” so that I can jump to the reference with a click, both in Gramps and in NarrativeWeb.

I started with “HTML Code”-type notes. Fine, but it is a lot of work. After a few hundreds, I explored another path: “Link”-type notes. This is better as they appear as Link information in NarrativeWeb (instead of “Html Code” since the type is used as a heading for the notes).

But, this requires to enter some text, select it and add a link (choosing Internet Address from the drop-down menu). And maintaining/modifying the URL is not immediate because this information is “hidden” under a right-click and contextual menu.

IMHO, the ideal case would be to allow Url objects to be considered as ordinary “annotations” like Note or Tag to be attached to any other primary objects. Url records have a field for URL along with a Description to be displayed to user.

This would nicely solve the issue of creating and editing links. Patching source is relatively easy: just modify JSON object description and serialize/unserialize methods.

There is a second issue and ideas are welcome. My goal is to replace media (images) by URLs to the archive site so that I don’t copy the images and spare a lot of space on my disk.

Links for citations have an internal structure:

  • hostname can be extracted from Repository record
  • Source record can provide part of the path to the resource
    You have to be careful on the way you write this part so that it is valid both as an access to the source description and partial path for the citation.
  • Citation give the final part of the global URL to the media for the citation

Presently there is no way to dynamically generate a final URL from these 3 bits.

For now, I’m only looking for a solution in the very simple case of a single URL for repo and a single path for a source. I assume that a citation is valid only in one source; therefore there is a single source-ancestor for a citation (I think it does not make sense otherwise: a page number is rarely the same in two sources).

What would be needed to achieve this dynamic link generation? I think of something similar to name format where some %X would tell to take information for this X.

Example: in a “Link” citation note “%R/%S/daogrp/0/15” where %R references the repository URL , %S the partial path in source (assuming here it is an ark: designation) and /daogrp/0/15 is added to reference page 15 in the first digital document of the source.

With such a feature, a change is hostname is managed by changing it in the repository and it cascades down to all dependent records instead of chasing the occurrences everywhere. Similarly for modifications to source.

What do you think of it?

I have always used those for the same purpose, but recently I became aware that they are apparently intended for notes containing links to other Gramps objects.

Those both sound good to me, with a few caveats:

  • I would like a way to track any restrictions the repository imposes on using the link. To use FamilySearch as an example, viewing the images requires a user account (albeit a free one), but even then, some images are only viewable from an affiliate library and not from home. I’m more likely to remove my local copies of images that can be viewed from anywhere, but not the others.

  • For all media (not just images linked by URLs), I would like to track what permission, if any, I have to use it (whether through the terms of service of the repository, or explicit permission granted to me by the copyright holder upon my request). This hasn’t been a priority for me yet, because I haven’t published any media.

I like the idea of cascading the information rather than chasing the occurrences. Meanwhile, could there be a Tool that tests URLs (perhaps based on filter conditions, so that the test can be limited as desired) and reports on any broken ones?

1 Like

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