How to store a text with citations and media?

I agree John, that’s why I’m using Gramps and not a commercial offering. Some that were operating when I started this are already bought up and gone. Now I have to learn what “markdown” means, but it should be easier than “markup.”

If at any point you wish to send a pdf to someone, you can generate them at that time. However, images don’t have a text format. Well, I guess they do, but it’s pretty unwieldy.

I have to keep everything in digital form because that is the only thing I can conveniently and inexpensively store off-site someplace beyond the hurricane belt. So, jpg or jpeg (you chose) it will be. Hopefully this format will never be unreadable.

I would like to know if it is possible to create only one link to an item of media and have it show up in a plurality of objects such as people and places by referencing the Citation that includes the link to the media.

For example, I would like to have the photo of a tombstone of James Parks show in the gallery of both James Parks and the Uniondale Cemetery. I’m happy having both link to the same citation, but if I move the photo, I only want to fix one broken link.


@John I agree, and in fact I would like to keep it entirely inside Gramps to avoid any dependence on external files, this is why I want to use Gramps notes as much as possible.

Yes, you can generate a citation (manually, not in the notes edit window) and then add a link to that citation.

But you can also directly link to the media object from multiple locations without having a Citation object. Note that this will be represented in the database as gramps://media/xyz... where xyz... is the database handle of the media object. This will stay the same even if you move the file, as long as you keep the media object up to date. This is the approach I will take.

I think I have to directly link to the media object to get the image to show in the gallery of the Person. It is possible to see the image by chasing up the citation, but only the citation shows up in the person record no image in the gallery. Sad.

I guess I will create a media object and then a citation for it, and point everything to the media object. That doesn’t sound like unnecessary work, just as long as people know to chase the image for a citation.

Hi @CareyP, I’m a bit confused now whether you are talking about links, citations or media references. Just to avoid mistunderstandings:

  • (Internal) Links: those are just hyperlinks in a note that can point to any arbitrary Gramps object, but they are not “objects” of their own - just hyperlinks.
  • Citations: they typically link sources to objects. They can have media objects associated with them (e.g. a scan of the page from the source where the cited information is contained)
  • Media references: they link media objects to other objects. Every time you add a media object (e.g. an image) to a person, it will create a media references from the person to the media object. This media reference is distinct from the media object: e.g., it can contain a bounding box highlighting a specific person.

As an example for the media reference, when I add a marriage photo of a couple, I add this to the marriage event, but then also add it (the same media object!) to the broom and bride person objects. But since they have separate media references, I can e.g. highlight them in the photo (OK, pretty pointless for a marriage photo, but very useful for a big family picture).

So what it is you actually want to achieve?

You can create a media record of any file that is outside of Gramps.

c:\...\media\grave\tombstone-james parks.jpg

becomes the Gramps Media object with the path grave\tombstone-james parks.jpg and the Title: “Tombstone Marker: James Parks”

Once you have this Gramps media record, it can be added to any other Gramps object that has a Gallery tab. If the tombstone included the wife, you add the same media record to one of her Gallery tabs.

You do not have to create an internal Gramps Note “Link”. This discussion started out with a very specific citation need. But if you want to just share a picture, create the media object, copy it to the Gramps clipboard, then share it with any and all records you feel it is appropriate.

And the same principle holds for all objects. You can create an object in almost every area of Gramps and then copy it into any other record that accepts them. Create a citation, then copy it to any other record that accepts citations.

@DavidMStraub alluded to tagging a photo. If you share a picture with more than one person, you can crop the photo for the person so just their head is isolated from a group photo. Or in the shared tombstone photo you can isolate that person’s portion. To be clear, you only have the one photo in a Gramps record but when sharing it with other records, you can isolate a portion of the image that is relevant.

1 Like

As you can see, I am a bit confused as well. This time around I decided I was going to not create any people, places or things without having a citation so I could tell somebody where found the information.

I thought I would create a media object, let’s say photo, and then create a citation that explains where it came from. I was hoping to connect the citation to the Person, and see the photo in the gallery. That doesn’t seem to happen. So I add a link from the media to the gallery. Now I see the photo. but now there are two citations!


I admit that I don’t consistently follow my own advice, but I like to think that a photo is just another source, which can be cited for whatever information it may contain, and the media object exists for convenience. So rather than my media objects containing citations, they are used in the gallery of other citations (or sometimes sources).

As you are learning (or relearning) only the images in a person’s galley are easily seen. Photo’s that are attached to events, citations, etc do not show in all reports even though those locations are the best spot for those images.

Lets use the Tombstone picture.

You add the picture to the Media view list.

You create a source /citation indicating where you got the picture.

  • Source:
  • Citation: Memorial No:99999999
  • Citation note: http://… Type: Html code

You create the Burial event for the person.

You got the information from the same source/citation from above. You share this citation to the event. You put the media record in the event gallery (if you want. I do.).

You have indicated that you want the media record shared with the Cemetery’s place record. You share the media record with that record.

The new question, do you share the same media record in the Burial event with the Person’s main Gallery. I do not. You absolutely can.

And maybe the wife is included on the same tombstone as the husband.

Her Source/citation is

  • Source:
  • Citation: Memorial No:10000000
  • Citation note: http://… Type: Html code

You place this citation in her Burial event record. You share the same media record from the husband with the wife’s Burial event record.

Because her tombstone picture is the same as her husband’s, you add her source/citation to that media record. It now has two citations.

And if you have added the media record to the husband’s main galley tab, you add the media record to the wife’s.


In the end, you develop a work flow that works for yourself. My only major recommendation is to be consistent in how you handle your records.

For instance, I do not put the citation on the image. The citation is on the event which also contains the image. I feel I have adequately sourced the event and the image. Others my and will disagree. I just try to minimize what I call citation clutter. My main reporting to others is through the Narrative web which does include images wherever they may be in a person’s record so I do not add all the images to the main person gallery.

Thank you Dave, I guess I am struggling with the open flexibility of Gramps to let one do whatever one wishes when one does not understand the ramifications of their decisions until well down stream.

Is there any documentation that describes several ways of doing things and the pros and cons of each? The trick with Gramps seems to be knowing what to ignore. If you try to fill in every box you end up with a circular mess.

I last spent time with Gramps 3.x in 2013 previous to a trip to Ireland. I was just using it to contain all the stuff I was finding, some conflicting of course. I did not have time to document were everything came from, or the apparent quality of the information. I didn’t really care then, I was looking for where the family lived so I could go stand there.

Now, people are quizzing me on where I got this or that piece of data, and I wish I had been diligent with citations. But I am not to hard on my previous self because there’s only so much time in a day.

This time, I’m trying to go through everything I collected and/or read and create a new tree. I see why you don’t put a citation on an image having a citation and an image on an event gets the job done.

There’s probably not a good reason for me to do anything different than you propose. Less typing is better and no redundant typing is best.

In the current grave marker case, I took the photo, and it’s repository is Google Photos as well as a downloaded version on my computer that I point the Media object to. So the event that generated the photo was my visit, not the burial. Granted the burial did set up the conditions I found when I visited. Could/should I make a Visit event type? Kinda sounds like more typing for no real gain. The date of the visit would be on the media object.

Could you comment on how you would handle photos from a modern visit? I suspect a photo of the marker is a photo of them buried so who cares if its been 130 years?

Now, here’s a db questions. Looking at the first three lines below, the first has a citation but no reference, the second has a reference from the family object (I was experimenting to see what it would do.) , and the third has no citation, but a reference from a citation - the same citation I added (+) in the first row.

So are these three media objects? They have unique IDs.

I guess I’ll take your approach and cite events and not media and see if I can get one media object and three references - James, Mary and the Family. I’m standing between the two markers.

Thanks for your time, it really is a help the talk this out vs. just try things because it’s hard to see what happens!

PDF is an open standard now and has been for a long time.

Words DOCX format is an open XML format, just like ODF.

Markdown are a good format for some thing, but it is limited in regarding i.e. text formatting and lay-out. Its ment for online publishing of reports, not for printed reports and books
LaTeX is a great, but difficult format for most people to understand…

So I disagree with you… PDF is great for it’s use, just as Postscript/Ghostscript

1 Like

Reporting progress - I started over again, added media without anything but a date when I took the photos. Then I added the two people who’s markers are in the photos. I created Birth and Death events for both of them, without certs that I intend to add ASAP. I added the appropriate media to the Gallery of the Death event.

The media list still looks right, one copy of each. One image has both markers in it so I added it to both Death events Gallery. There are to References for the one Media object as one would hope.

So, I’m off and running.

Thanks Dave!

1 Like

As you add media, set the Base path for relative media paths: in Preferences. This is the main folder that will contain all your media objects.

When you add a new media object make sure that the “Convert to a relative path” is checked. This will store just the file name and any sub-folders you create. Gramps will strip out the information from the path set in preferences. This will make it easier to move this folder in the future. All you would need to do is enter the new base media path in Preferences.

  1. Yes, PDF is open (though I didn’t say anything about that), but it’s crap for text storage, vs display, which is what it was designed for. It has no concept of layout, so once you put the text in, you’re looking at a lot of work to reformat it later.
  2. Again, sure, it’s “open”, but Microsoft is notorious for changing and abandoning formats.
  3. No, layout is not markdown’s thing, but the original request didn’t describe a need for complicated documents. Also pandoc turns markdown into a fairly good format even for complicated documents. I do scholarly articles in it and some people even write books. It has the advantage that it’s easy to read and plaintext isn’t going anywhere.

The point is that there’s no need for a format with a lot of overhead or that requires software you need to pay for, when you just need to write some notes. RTF, markdown, pick your free poison.

(Was that last line a suggestion that people write Postscript?)

First of… Its a reason why all large book printer companies ask for PDF’s.

Its no problem to get text out of a PDF

Tell me one format except the MS Works format that Microsoft has abandoned?
I can still open documents from 1996 in Word and Excel with all text formatting intact.

fourth: When you start dragging pandoc into this, you suddenly demand that “normal users” shall learn scripting and/or setting a lot of parameters for a command line tool…

I understand that you are one of those that “doesn’t like” Microsoft and Adobe, but please understand that its only a minority of PC users that actually use Linux and other open source software, and many of them still depend on formats that is actually usable without needing to learn to program or script to be able to get usable result.

Truth is, I have had more problems with ODF and keep formats between different printers, than I have with any other format… I have also more problems opening OO documents, specially Workbooks in any other software and keep the formatting set. I have also had clients that has had massive problems with keeping formatted text and tables when opening older OO documents in Libre Office

The sad thing is that very often, open source are patchwork of workarounds and libraries that has not been updated in ages…

And no, there are not for everyone to “fork it and do it yourself”.

RTF are a really buggy format an has been for decades, if you try to send a RTF to a professional printing service, you will get it back and told to get them a PDF or some other usable format.
Yes, it can be used to store unformatted text, but many people add both text formatting and images in a document that they want to add to Gramps.

The Notes Editor in Gramps would benefit from being a full featured Markdown Editor, because, as you say its a great “Notes”-format. and you can do some formatting in it.
No, the last line was just another example of a format than can be used for what it was created for…

And last, you don’t need to pay for software to open neither Microsoft Office documents nor PDF.
… and if PDF was a terrible format, why do you think the Open Source software Scribus use it as default?

We clearly disagree.

I’m not suggesting people here use pandoc, just pointing out that Markdown is usable in a high-quality publishing workflow.

And yes, I have old word files that the new version won’t open, and others where the formatting is now off because somehow a font is different.

I’ve also never had a professional publisher tell me to use PDF, but maybe we work in different areas. To the contrary, they often return PDFs for proofing because effectively you can’t edit the text in them.

PS Scribus is for DTP. That is not at all what we are talking about.

If I may add my 2 cents: yes, PDF is a perfectly suitable format for long-time storage of documents (text or not).

But even when you can extract the text from the PDF file, text-only storage (such as Gramps notes) has its advantages, e.g. when it comes to searching or filtering. You can’t search for a text string in PDFs that are media objects in Gramps. That’s the reason why I won’t use them for text-only documents (or at least but the text into a note in addition, as somebody suggested).

Concerning Markdown: I love Markdown, but compared to Gramps’ “styled text” format, it is not a superset of features, but only an intersection. In Markdown, you can to images and other things. But in Gramps styled text, you can do text color and highlighting, which you can’t in Markdown. So I don’t think it makes sense to “migrate” Gramps’ internal format to Markdown. What you could do however is to write a Markdown backend that converts Gramps styled text to Markdown - just as it is done with the HTML backend used in narrative web etc. That would be quite simple to implement, actually.

With the right “flavor” of markdown editor its not a problem to highlight text or color text, just as Gramps it support html tag (html 5)., So for me, that’s not an issue with either of the “formats”…
But I miss the possibility to add images in notes, just as I miss a Date field for notes so the Notes can be sorted chronologically, and adding Citations.
The fact that others don’t agree is just how it is, and the lack of functionality only add up in the list of reasons to look for other software solutions.
The “superset” of a good Markdown Editor is that you can use plug-ins to add functionality, just like you use Gramplets in Gramps.

And the case that you can’t search text inside PDF’s in Gramps, well, that’s just because no one has implemented that feature, and that is one of the main reason I use Zotero.
There are multiple libraries for Python that support both searching, annotation and extracting annotations from PDF’s,

I wasn’t suggesting Gramps use markdown, just that for users who are doing basic notes, it’s not a bad solution. You can pretty much read it on your own and it’s plain text, so fairly resistant to time. Plain text can also survive easily in the xml output/backups.

For my part, I’d rather programmers work on issues other than making Gramps notes into a weak word processor. (Here’s a related issue: native display of PDF media.)

I never claimed you suggested it, but @StoltHD suggested it.

It’s open source, so whoever thinks a feature is useful can work on it. I certainly won’t.

I think this thread is going way off topic.