# About Gramps usage and organization to store and research

**URL:** <https://gramps.discourse.group/t/about-gramps-usage-and-organization-to-store-and-research/921>\
**Category:** Help\
**Created:** [November 10, 2020, 11:35am UTC](https://gramps.discourse.group/t/about-gramps-usage-and-organization-to-store-and-research/921 "2020-11-10T11:35:45Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![PLegoux](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/plegoux/32/413_2.png) [@PLegoux](https://gramps.discourse.group/u/PLegoux)\
**Post date:** [November 10, 2020, 11:35am UTC](https://gramps.discourse.group/t/about-gramps-usage-and-organization-to-store-and-research/921/1 "2020-11-10T11:35:45Z")

</div>

> [@Do i need more than one tree for this?](https://gramps.discourse.group/t/do-i-need-more-than-one-tree-for-this/915/7):
>
> As I noted, Gramps isn’t really set up at the moment to do reports that are helpful for analysis. But you _can_ do the data storage.

Not totaly related to the “Do i need more than one tree for this?” thread (but a little bit anyway) so I open this new one, and regardless of reports, I think gramps needs us to define our usage of it, our workflows, take how to notes of our own usage, define what tags are used for, define how to use user defined attributes or events or… Gramps is a set of tools everyone can use in its own way but to be powerful using it in an advanced manner we have to standardize things -researches attributes, tags, filters, …- and take notes, describe, what we want and what we have to do to get them working that way.

I think too there are at least three data flows to record and one set of tools to define to work on with them:  
Data flows:

- Genealogical data : Gramps is made for, we just have to store these data into all gramps predefined objects
- Informations about genealogical data: stored into standard gramps objects or into user defined objects based on standard ones (non standard attribute or event name/type, non standard family relationship type, etc)
- Hypotheses informations : fully stored into user defined objects (research notes, research attributes and tags, …) may be with something special to recognize them (some prefix like RESEARCH or something like that → needs naming conventions)

Work flow:

- tools to make it possible to match/to work with the previous data ; fully user defined using previous objects, standard ones or user defined ones. Uses a lot of filters which needs to be standardized too (naming conventions…)

I tend to think that tags are to be used to follows worflows (birth found/to be searched, …) and data container quality (name normalization/convention, etc), attributes to contribute to them and why not some special user defined events we can use to join them to multiple other objects (persons, …) to store researches in them, more than in a simple note. Then we can apply some filters to follow what we have to do, to correct something or to work on our genealogy.  
There is some lacks too. Filters don’t fully permit to research everything we need (i.e attributes into top part of events or medias, media filters can’t search using persons filters, etc.)

I don’t know if I need or not two databases, one to store researches, another one to publish (for the moment I’ve made the choice to have only one database and to publish everything, even researches state, hypotheses, notes…)

I’ve to use external tools to manage more efficiently my researches, so I need to include them in my workflow description so that the information that I need or that I have found passes from one tool to another (data flow)

I’m not fully organized that way but I think it is the way to go for me. I’m doing all of this description work then I apply it to my objects in Gramps.

And you, what do you think about that? What is your own organization to use Gramps? Do you have to take notes of it? Does something miss you, reports as this post began or filters or something else (like working with external tools) to make Gramps a fully genealogical researches tool?

---

<div class="post-metadata">

**Author:** ![philhoward](https://avatars.discourse-cdn.com/v4/letter/p/f04885/32.png) [@philhoward](https://gramps.discourse.group/u/philhoward)\
**Post date:** [November 10, 2020, 5:54pm UTC](https://gramps.discourse.group/t/about-gramps-usage-and-organization-to-store-and-research/921/3 "2020-11-10T17:54:50Z")

</div>

> [@StoltHD](#):
>
> and for Gramps not to be bloated, it would be much better if there was interchangeeble formats for import/export to work with…

i’ve been thinking about an idea for a kind of report. i won’t go into it right now. but, it only needs to read, data, and lots of it. an interchange format could make things much simpler.

---

<div class="post-metadata">

**Author:** ![philhoward](https://avatars.discourse-cdn.com/v4/letter/p/f04885/32.png) [@philhoward](https://gramps.discourse.group/u/philhoward)\
**Post date:** [November 10, 2020, 11:53pm UTC](https://gramps.discourse.group/t/about-gramps-usage-and-organization-to-store-and-research/921/5 "2020-11-10T23:53:08Z")

</div>

my code for that report would most likely be made in Python. if some part ends up being too computationally heavy, that part would be done in C.

---

<div class="post-metadata">

**Author:** ![SNoiraud](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/snoiraud/32/72_2.png) [@SNoiraud](https://gramps.discourse.group/u/SNoiraud)\
**Post date:** [November 11, 2020, 7:00am UTC](https://gramps.discourse.group/t/about-gramps-usage-and-organization-to-store-and-research/921/6 "2020-11-11T07:00:33Z")

</div>

> [@philhoward](#):
>
> if some part ends up being too computationally heavy, that part would be done in C.

No compiled languages in gramps. How do you manage the different CPUs when downloading ?

---

<div class="post-metadata">

**Author:** ![StoltHD](https://avatars.discourse-cdn.com/v4/letter/s/db5fbb/32.png) [@StoltHD](https://gramps.discourse.group/u/StoltHD)\
**Post date:** [November 11, 2020, 11:20am UTC](https://gramps.discourse.group/t/about-gramps-usage-and-organization-to-store-and-research/921/7 "2020-11-11T11:20:41Z")

</div>

> [@SNoiraud](#):
>
> How do you manage the different CPUs when downloading

Python has “built-in” support for multithreading and multiprosessing…

> **[multiprocessing — Process-based parallelism](https://docs.python.org/3/library/multiprocessing.html)**
>
> Source code: Lib/multiprocessing/ Availability: not Emscripten, not WASI. This module does not work or is not available on WebAssembly platforms wasm32-emscripten and wasm32-wasi. See WebAssembly p...

Here is one short article about it:

> **[Multi-Core and Distributed Programming in Python -](https://www.praetorian.com/blog/multi-core-and-distributed-programming-in-python/)**
>
> Python multi-core and distributed programming can be tricky. Scripts may only run in a single process, and therefore only fully utilize a single core.

---

<div class="post-metadata">

**Author:** ![SNoiraud](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/snoiraud/32/72_2.png) [@SNoiraud](https://gramps.discourse.group/u/SNoiraud)\
**Post date:** [November 11, 2020, 1:55pm UTC](https://gramps.discourse.group/t/about-gramps-usage-and-organization-to-store-and-research/921/8 "2020-11-11T13:55:49Z")

</div>

> [@StoltHD](#):
>
> Python has “built-in” support for multithreading and multiprosessing…

I know that. The question I asked was: If this is a gramps addon module, how do you manage the different architectures when downloading this addon ?  
If this is not a gramps addon, you can do what you want, but you’ll need to have a download per architecture (intel, motorola, arm, …). Not always PC use intel x86 architecture.

---

<div class="post-metadata">

**Author:** ![Mihle](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/mihle/32/612_2.png) [@Mihle](https://gramps.discourse.group/u/Mihle)\
**Post date:** [November 11, 2020, 2:59pm UTC](https://gramps.discourse.group/t/about-gramps-usage-and-organization-to-store-and-research/921/9 "2020-11-11T14:59:23Z")

</div>

As far as I know Gramps itself don’t run on anything other than x86 32 and 64 bit?

And the only really other that might matter is ARM, when Apple start using it. (Or if you run Gramps in a server?)

Motorola made CPUs? When? 30 years ago?

---

<div class="post-metadata">

**Author:** ![SNoiraud](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/snoiraud/32/72_2.png) [@SNoiraud](https://gramps.discourse.group/u/SNoiraud)\
**Post date:** [November 11, 2020, 5:04pm UTC](https://gramps.discourse.group/t/about-gramps-usage-and-organization-to-store-and-research/921/11 "2020-11-11T17:04:23Z")

</div>

> [@Mihle](#):
>
> As far as I know Gramps itself don’t run on anything other than x86 32 and 64 bit?

I used it on PowerPC with AIX

---

<div class="post-metadata">

**Author:** ![SNoiraud](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/snoiraud/32/72_2.png) [@SNoiraud](https://gramps.discourse.group/u/SNoiraud)\
**Post date:** [November 11, 2020, 5:13pm UTC](https://gramps.discourse.group/t/about-gramps-usage-and-organization-to-store-and-research/921/12 "2020-11-11T17:13:38Z")

</div>

You are Windows users, so you think only windows users use gramps. But there are others operating systems and architecture than x86 even if they are minority.  
As a freeware, the reflection should not focus on an x86 architecture. So, for me all binary is to be avoided with gramps.

---

<div class="post-metadata">

**Author:** ![SNoiraud](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/snoiraud/32/72_2.png) [@SNoiraud](https://gramps.discourse.group/u/SNoiraud)\
**Post date:** [November 11, 2020, 5:38pm UTC](https://gramps.discourse.group/t/about-gramps-usage-and-organization-to-store-and-research/921/14 "2020-11-11T17:38:54Z")

</div>

You have linux on others architectures too: Android is a linux kernel  
Linux works on IBM S390, x86, arm, arm64, powerpc, motorola, pa-risc, mips, …  
See: [The linux architectures](https://en.wikipedia.org/wiki/List_of_Linux-supported_computer_architectures)  
I used a machine with 10000 processors using linux.

---

<div class="post-metadata">

**Author:** ![StoltHD](https://avatars.discourse-cdn.com/v4/letter/s/db5fbb/32.png) [@StoltHD](https://gramps.discourse.group/u/StoltHD)\
**Post date:** [November 11, 2020, 5:56pm UTC](https://gramps.discourse.group/t/about-gramps-usage-and-organization-to-store-and-research/921/15 "2020-11-11T17:56:19Z")

</div>

All I wrote was that Linux was created/built as a x86 system, it’s great that it has evolved, but still, it is a x86 system.

If you don’t like Windows, it’s your choice, a lot of users depend on it, and would like to use Gramps as a tool…

You have to let those people also be allowed to ask for feature without telling them to “fork it and do it yourself”.

---

<div class="post-metadata">

**Author:** ![SNoiraud](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/snoiraud/32/72_2.png) [@SNoiraud](https://gramps.discourse.group/u/SNoiraud)\
**Post date:** [November 11, 2020, 6:52pm UTC](https://gramps.discourse.group/t/about-gramps-usage-and-organization-to-store-and-research/921/16 "2020-11-11T18:52:00Z")

</div>

> [@StoltHD](#):
>
> If you don’t like Windows, it’s your choice, a lot of users depend on it

Do they have the choice? Only windows are offered on the standard PC.  
It is as if you are buying a car and the compulsory insurance is insurance X regardless of the car you buy.

> [@StoltHD](#):
>
> to ask for feature without telling them to “fork it and do it yourself”.

I didn’t say that. I only said we shouldn’t have addons with binaries.

---

<div class="post-metadata">

**Author:** ![Mihle](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/mihle/32/612_2.png) [@Mihle](https://gramps.discourse.group/u/Mihle)\
**Post date:** [November 11, 2020, 7:00pm UTC](https://gramps.discourse.group/t/about-gramps-usage-and-organization-to-store-and-research/921/18 "2020-11-11T19:00:53Z")

</div>

> [@SNoiraud](#):
>
> I used it on PowerPC with AIX

Yeah, but do Gramps 5.1 run on it or is it only older version? I ask because I am courious, I havent red anywhere that it does, even tried to google it and only found version 3 that do.  
Also, I understand 15 year old stuff, but is anyone really still using 30 year old PCs?

> [@SNoiraud](#):
>
> You are Windows users, so you think only windows users use gramps.

That is so wrong. Dont make assumption like that. You have so many assumtions about windows users that I think you should stop with.  
I wouldnt have mentioned ARM if I did.

---

<div class="post-metadata">

**Author:** ![Mihle](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/mihle/32/612_2.png) [@Mihle](https://gramps.discourse.group/u/Mihle)\
**Post date:** [November 11, 2020, 7:05pm UTC](https://gramps.discourse.group/t/about-gramps-usage-and-organization-to-store-and-research/921/19 "2020-11-11T19:05:49Z")

</div>

> [@SNoiraud](#):
>
> You have linux on others architectures too: Android is a linux kernel  
> Linux works on IBM S390, x86, arm, arm64, powerpc, motorola, pa-risc, mips, …  
> See: [The linux architectures](https://en.wikipedia.org/wiki/List_of_Linux-supported_computer_architectures)  
> I used a machine with 10000 processors using linux.

Yeah, but are those really exist still and if they do, are any of them running Gramps?  
If no you shouldnt care about it, even if Linux itself support it. Many of them is so old.  
I mean, I can see PowerPC maybe but not the other ones that is old. (Aka ARM is not old)

---

<div class="post-metadata">

**Author:** ![Mihle](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/mihle/32/612_2.png) [@Mihle](https://gramps.discourse.group/u/Mihle)\
**Post date:** [November 11, 2020, 7:33pm UTC](https://gramps.discourse.group/t/about-gramps-usage-and-organization-to-store-and-research/921/21 "2020-11-11T19:33:29Z")

</div>

Please do not make this in to another Windows VS Linux thread

---

<div class="post-metadata">

**Author:** ![StoltHD](https://avatars.discourse-cdn.com/v4/letter/s/db5fbb/32.png) [@StoltHD](https://gramps.discourse.group/u/StoltHD)\
**Post date:** [November 11, 2020, 8:08pm UTC](https://gramps.discourse.group/t/about-gramps-usage-and-organization-to-store-and-research/921/22 "2020-11-11T20:08:27Z")

</div>

I have nothing against Linux, I run multiple servers with it… just saying that its not a easy start for most users, including those who want to use Gramps.

I don’t have anything against MAC either… just don’t use it…

---

<div class="post-metadata">

**Author:** ![PLegoux](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/plegoux/32/413_2.png) [@PLegoux](https://gramps.discourse.group/u/PLegoux)\
**Post date:** [November 11, 2020, 8:24pm UTC](https://gramps.discourse.group/t/about-gramps-usage-and-organization-to-store-and-research/921/23 "2020-11-11T20:24:50Z")

</div>

> [@Mihle](#):
>
> Please do not make this in to another Windows VS Linux thread

Yes, it’s a little bit far my original post ^^

---

<div class="post-metadata">

**Author:** ![philhoward](https://avatars.discourse-cdn.com/v4/letter/p/f04885/32.png) [@philhoward](https://gramps.discourse.group/u/philhoward)\
**Post date:** [November 11, 2020, 8:44pm UTC](https://gramps.discourse.group/t/about-gramps-usage-and-organization-to-store-and-research/921/24 "2020-11-11T20:44:06Z")

</div>

> [@SNoiraud](#):
>
> How do you manage the different CPUs when downloading ?

i have done this in the past as a source download.

---

<div class="post-metadata">

**Author:** ![GeorgeWilmes](https://avatars.discourse-cdn.com/v4/letter/g/c57346/32.png) [@GeorgeWilmes](https://gramps.discourse.group/u/GeorgeWilmes)\
**Post date:** [November 11, 2020, 9:55pm UTC](https://gramps.discourse.group/t/about-gramps-usage-and-organization-to-store-and-research/921/25 "2020-11-11T21:55:55Z")

</div>

Getting back to the original topic of this discussion:

> [@PLegoux](#):
>
> I think gramps needs us to define our usage of it, our workflows, take how to notes of our own usage, define what tags are used for, define how to use user defined attributes or events or… Gramps is a set of tools everyone can use in its own way but to be powerful using it in an advanced manner we have to standardize things -researches attributes, tags, filters, …- and take notes, describe, what we want and what we have to do to get them working that way.

I agree. When I started using Gramps, I created a “style guide” which I am continually updating. It is not a formal document, just my scribbled notes about how I want to organize places, how “deep” vs. “wide” I want my source/citation references to be, what I want to store in attributes and notes, how I want to use tags, etc.

> [@PLegoux](#):
>
> I tend to think that tags are to be used to follows worflows (birth found/to be searched, …) and data container quality (name normalization/convention, etc), attributes to contribute to them and why not some special user defined events we can use to join them to multiple other objects (persons, …) to store researches in them, more than in a simple note.

Additionally, I think of tags as temporary and attributes as permanent. For example, at first I used a tag to indicate people who were twins, then I switched to using an attribute for that.

> [@PLegoux](#):
>
> There is some lacks too. Filters don’t fully permit to research everything we need (i.e attributes into top part of events or medias, media filters can’t search using persons filters, etc.)

Are there any open feature requests for that? I would like to monitor them, and maybe add to them.

> [@PLegoux](#):
>
> I don’t know if I need or not two databases, one to store researches, another one to publish (for the moment I’ve made the choice to have only one database and to publish everything, even researches state, hypotheses, notes…)

Currently I use only one database for my data. I also have a copy of the Gramps “example” database which is helpful when I’m looking at examples in the wiki, or when I want to tell how to reproduce an error for a bug report. And I have a “sandbox” database that I use when I want to experiment with merging or other things, before I make significant changes in my database.

> [@PLegoux](#):
>
> Does something miss you, reports as this post began or filters or something else (like working with external tools) to make Gramps a fully genealogical researches tool?

Yes, and whenever I think of something, I create a feature request if it is specific enough, or else I create a discussion here. For me, one of the most valuable things about Gramps is the help and inspiration that I get from the community.

---

<div class="post-metadata">

**Author:** ![StoltHD](https://avatars.discourse-cdn.com/v4/letter/s/db5fbb/32.png) [@StoltHD](https://gramps.discourse.group/u/StoltHD)\
**Post date:** [November 13, 2020, 3:34pm UTC](https://gramps.discourse.group/t/about-gramps-usage-and-organization-to-store-and-research/921/26 "2020-11-13T15:34:20Z")

</div>

> [@SNoiraud](#):
>
> Do they have the choice? Only windows are offered on the standard PC.

No one deny you to reformat you storage and install Linux on a PC that comes with Windows…

And there are multiple brands that comes with both Linux PC’s and Linux Workstations, problem is… very few people buy them.

And for anyone that do as me, buying parts and build myself, Linux would have been a great alternative, if it was easier to learn and easier to install software and libraries on.

* * *

Why is it a problem with binaries? all the Gramps packages are binaries, the AIO ere compiled…  
As long as the source code are open source and confirm to the license rules of Gramps, anyone could do what ever they like with the source code, while the compiled binary files would run smooth on the system they was made for, regardless of if it was Linux for x86, 32/64 bit, Linux for ARM, Mac, OS2, reactOS or Windows…

* * *

But back to your topic, as I wrote before I deleted my answers!  
_ **I agree with you in all of the points you make.** _

* * *

And the easy way to do a few of those things, until someone **with something to say, and that can actually do make the features** , is if someone could create some export/import modules to one or two interchangeable file formats.  
For example:

- OWL RDS/XML or JSON-LD that are used in many web enabled research tools and web services
- Graphml, gefx or gml, that are some kind of defacto interchangeable formats in the world of Network Graph tools.

[Next page](https://gramps.discourse.group/t/about-gramps-usage-and-organization-to-store-and-research/921.md?page=2)
