Skip to content

Latest commit

 

History

History
438 lines (396 loc) · 19.2 KB

TODO

File metadata and controls

438 lines (396 loc) · 19.2 KB

Pedigree View

Change vertical spacing => display broken on Safari

See the following for fan colors suggestions

https://gedtree.com/

Persona page

Speed up sending data

For all assertions, the “p1” field is superfluous and is always the person. Not used in javascript.

For persona 16, we have one Birth event with multiple sources

Only one of these sources is shown as hyper link for the even, we need to expend to see the others.

Missing display of groups and “same person”

Source view

Source 165 has plenty of media

Use a markdown editor (npm has one)

Handling error during uploads

Editing comments for representations

In particular annotating group photos to identify people

Editing media type (see source 16)

Editing assertions

Error in /source/199

Import

Use download form

Do not mark the gedcom file as a source, but with a special mark so that

we can also undo an import.

Groups

Creating a dummy group:

insert into “group” values (1, 8, NULL, “passengers on a famous boat”, “1850-01-01”, “All passengers on the boat that went to United Kingdom”, “1850-01-01”); insert into “assertion” values (9999, 0, 0, NULL, “because I think so”, 0, “2016-01-01”); insert into group_type_role values (1, 8, “one passenger”, 1); insert into “p2g” values (9999, 1408, 1, 1); – persona 1408

Bugs

Source page

select new medium, fill information and use the browser’s completion:

AngularJS does not detect a change, and does not update the title’s value. Only characters typed explicitly are taken into account

Edit citation, save => need to hide the Save button or provide feedback

Database

Create indexes in database:

Assertion.subject1 Assertion.subject2 (Assertion.subject1, Assertion.value) ??? (Assertion.subject2, Assertion.value) ??? Assertion.Value should point into a table rather than be a text

Investigate storing trees more efficiently

See for instance http://articles.sitepoint.com/print/hierarchical-data-database and http://code.google.com/p/django-mptt/

Trees

Look at H-Trees for efficient visualization

http://www.tco.utah.edu/NEWSLETTER/2011June/featured-article.php http://rootstech.org/schedule/saturday/TD044

Gedcom import

Import all missing GEDCOM information (reported by ./manage.py import)

share NOTE, PLAC and SOUR in the database

At least when they are shared in Gedcom, and if possible more

some INDI end up with a non-empty description, which is a xref to a NOTE.

We should create a proper note instead (but not clear how this is done in GENTECH)

Option to capitalize last names, instead of preserving capitals from some

gedcoms.

See invalid tags list

http://www.beholdgenealogy.com/blog/?p=876

In GenTech, occupation is a characteristic, not an event (since it doesn’t

involve other persons or roles).

Testing

http://timforsythe.com/blog/gedcom-import-testing-introduction/ http://heiner-eichmann.de/gedcom/gedcom.htm http://gedcomindex.com/gedcoms.html https://reactjs.org/docs/testing-recipes.html?no-cache=1

Father might not be present at birth. How to store the info? Maybe not

have him at the event and use a characteristic is father of. Same for godfather and baptism. Or just a note

Removing import: we can’t remove events and places created as part of

this import. Maybe have a ’ first seen in’ field, and we remove entities with that field that are not used anywhere else

Pedigree View

Dnd on Pedigree icon should display the pedigree for that person

When showing children, show the name of the matching spouse

Support for multiple parents (foster parents, ambiguities,…)

Make pedigree configurable:

Chose which events to show in each boxes (“birth” and “death” by default, but should fallback on “baptism” and “burial” for instance, or the user might want to see other info (if “residence”, there can be multiple of them) See also engagement instead of marriage

Tooltip to display person info

Compact layout should compute width of boxes in one generation by looking

at the maximum width to display the info.

Test infinite loops with invalid pedigree: A parent of B parent of C parent of A

descendants: should show a node for the wife(s), and link children to that.

Display timeline (ie range of date at the top of each column of boxes)

Save configuration of pedigree and fanchart in local storage, and restore it the

next time it is displayed. This configuration can also be used to detect whether we need to recompute the layout. This will also allow reloading the whole page when selecting a new decujus, which will preserve Back and Forward arrows.

Bracket View

Puzzilla

puzzilla.org

Force layout

label placement

http://bl.ocks.org/MoritzStefaner/1377729

Timestamp

http://www.cotrino.com/lifespan/

Lifelines

Dynamic “infinite” expansion

See “Interactive Visualization of Genealogical Graphs” http://www.youtube.com/watch?v=fZ1GXZ0hJPY

Highlight rules

Store them in the database

Create them graphically

Use presets

Quilts

Only show selected people

Show whole database

Bug: color highlighting horizontally sometimes extends to wrong column

Should use more relative coordinates to simplify the code

Easy navigation to parents and children (GeneaQuilts uses pie charts)

Add a way to unselect

Currently, clicking on a selected person does nothing, and the only way to undo a selection is to select something else.

Autoscale

Link to the highlight_rules.py colors

Clicking on a person should show his/her details

Geneaquilts has a timeline view

Geneaquilts automatically zooms in or out when navigating from the

overview canvas, to show the whole generation. Not sure whether this is convenient.

Implement other layout optimizations from the graphviz paper

Use local information to compute cut values, and refresh tree traversal info locally rather than recompute it from scratch every time. Also only recompute cut values for a subset of the nodes, as explained in the paper.

Trellis Charts

http://progenygenealogy.com/products/family-tree-charts/trellis.aspx

Print

Should hide unwanted parts of the page when printing

FanChart

Possibility to fold part of the fanchart to concentrate on specific

families See www.cs.utah.edu/~draperg/research/fanchart/demo/

Display SOSA number related to a given person

Not necessarily related to the current root

Display last name on a separate line to make it more readable

Tooltip to display person info

Rotation fan chart

See https://plus.google.com/u/0/115195430424417504730/posts/QrXM4z9JxrG

Half and Quarter circle view

http://www.gramps-project.org/wiki/index.php?title=GEPS_030:_New_Visualization_Techniques

Person View

Add a rounded box showing the color from highlight_rules.py

Person list view

Slow to display with big databases

If we paginate based on first letter of last name and only query those, it might be made much faster, and also easier to navigate.

Pagination

Should show first letter of name, rather than page number. Must ensure that the pagination is kept in a constant place, for easy clicking

Source View

Paginate the list of assertions

So that the page displays faster when there are lots of assertions, and so that assertions are not displayed too far from the images.

Sources

Use Bibtex as a reference for which fields are needed for the various

formats of sources. http://www.tex.ac.uk/tex-archive/biblio/bibtex

See

http://www.gramps-project.org/wiki/index.php?title=GEPS_018:_Evidence_style_sources http://jytangledweb.org/genealogy/evidencestyle/

Surety schemes

http://www.youtube.com/watch?v=l6PRflCvBCo

Citations

Repositories

In the Evidence Explained style, the repository information is already part of some of the styles, would we end up with duplicates. In fact, the repository information is part of the citation itself, including call number. If the user goes to another repository to look at the same source, it will be a different copy, so should likely be a different entry in the list of sources (for instance a lower-level source). Perhaps we should not try to handle repositories separately at all.

Hiearchical sources

http://parallax-viewpoint.blogspot.fr/2015/01/hierarchical-sources.html

Assertions are potentially related to a specific representation in a source.

Should users have to created a nested source for these? That’s heavy, since we need citation… Better to add a pointer to representation in assertion along with data like square within it Can we always point to representation instead of source? Likely not

Support for temporary disabling a source and lower level. Like an import.

Would disable all assertions and personas created from those assertions. Or show them in gray. Perhaps uses the surety scheme?

Groups

For: neighbor, friend, clergy, care-taker, and more

Graphically editing the surety scheme

This scheme is properly taken into account when displaying assertions

in the person view, but currently the user cannot edit it.

Take these custom schemes into account when importing gedcom files

Ideas for names

Geneatica, Forebears, Testimony, Testimology

GeneaProve

Histea

(HISTory-GenEAlogy), but this reads “ice-tea” in English. Why not…

Packaging

Use py2exe and py2app to provide standalone executables

Add a way to precompute (into a .js file) all the tree data for

a given person, so that we can have a demo of the program running on github

Design

Should we be using groups to store families ?

Currently, a child belongs to a family through his birth (that gives his parents). But we have to create dummy personas sometimes to preserve the information on siblings (when none or only one of the parents is known). We could instead create a group “Family” in which personas are added as “child” or “father” or “mother”. Main drawback is in the GUI, since we don’t want users to have to create such a family every time. Perhaps when entering a birth event GeneaProve could transparently create the group. Likewise, have dummy persona-to-persona relationships like “sibling”, which are saved in the group rather than as assertions in P2P.

Face detection in images

See https://github.com/jaysalvat/jquery.facedetection

Online courses

Inferential Genealogy

https://www.familysearch.org/learningcenter/lesson/inferential-genealogy/251

Gedcom replacements

Several models are proposed to replace Gedcom. Most of them share a number of characteristics with the GenTech datamodel that GeneaProve uses, but with slight differences. It would be useful to be able to export to one of those, and perhaps to even change the internal datamodel if a clear contender emerges.

Maps

dates

From W. Berry:

I did have a quick look at the dates module. I note that you have coded in the date at which France adopted the Gregorian Calendar. Great Britain did not adopt the Gregorian until 1752. Secondly, there was another complication in Britain, in that the day on which the year number changed was (“Old Style”) March 25. Therefore the day after March 24 1588 was March 25 1589. 1752 was the first year in which the year ended on 31 December. The Gregorian Calendar was adopted as from September 2 (which became September 14). See http://www.crowl.org/lawrence/time/britgreg.html

to which I replied: Basically, the intent is to leave this to the user as much as possible. The “normalized” dates should not appear on the various views (where we only want to show whatever the user has entered, i.e. presumably what was found in the original documents). The normalized dates are only used for sorting, so exact conversion is not necessarily needed, although of course it would be better to handle this correctly.

Stats

Ascendants d’un individu:

  • Nombre d’ancetres par generation, avec ou sans implexe
  • Dix noms les plus courants
  • Dix prenoms les plus courants
  • Dix professions les plus courantes (doughnut chart)

Descendants d’un individu:

  • Repartition homme/femme
  • Dix noms les plus courants
  • Dix prenoms les plus courants
  • Dix professions les plus courantes

Totalite de l’arbre:

  • 100 dernieres naissances
  • 100 dernieres unions
  • 100 derniers deces
  • Esperance de vie: les 100 plus ages encore vivants
  • 100 ayant vecu le plus longtemps
  • pyramide des ages
  • frequence des noms et prenoms
  • Statistiques sur les personnes :
    • Noms les plus courants
    • Prénoms les plus courants
    • Âge moyen au décès
    • Professions les plus courantes
    • Répartition des naissances par mois
    • Âge des parents lors des naissances (moyenne)
    • Fréquence des signes du Zodiaque
    • Influence de la lune sur les naissances
  • Statistiques sur les familles :
    • Moyenne d’âge à la première union
    • Répartition des unions par jour de la semaine
    • Répartition des unions par mois
    • Durée moyenne d’une union
    • Nombre moyen d’enfants par union
    • Temps écoulé entre deux naissances (moyenne)
    • Différence d’âge entre le premier et le dernier enfant d’un couple (moyenne)
    • Différence d’âge entre conjoints (moyenne)

web

timeline

http://www.chronozoomproject.org/ http://www.geneanet.org/blog/index.php/post/2015/03/Des-frises-chronologiques-a-creer-soi-meme.html

What are conclusions ?

http://michaelhait.wordpress.com/2012/02/26/simple-and-complex/

Evidence-based genealogy

http://timforsythe.com/blog/evidence-based-genealogy-vs-conclusion-based-genealogy/ http://www.geneamusings.com/2012/02/more-on-conclusion-based-and-evidence.html http://www.youtube.com/watch?v=7mlSV1E6saA

splatter heatmaps

http://timforsythe.com/blog/introducing-splatter-the-gedcom-population-distribution-heatmap/

Calendars

http://books.google.fr/books/about/Calendrical_Calculations.html?id=DPbx0-qgXu0C&redir_esc=y

US Census

http://factfinder2.census.gov/faces/tableservices/jsf/pages/productview.xhtml?pid=ACS_12_1YR_DP02&prodType=table Nationalities: http://factfinder2.census.gov/faces/tableservices/jsf/pages/productview.xhtml?pid=ACS_12_3YR_B04001&prodType=table

European kings

http://histfam.familysearch.org/descend.php?personID=I1891&tree=Nixon

Local history: toilets in the middle ages

http://blog.geneanet.org/index.php/post/2013/11/L-histoire-par-le-petit-bout-de-la-lorgnette-%3A-les-besoins-au-XVIIIe-siecle.html

Old maps

http://www.oldmapsonline.org/#bbox=-2.25731,47.420731,-2.032776,47.530723&q=&datefrom=1000&dateto=1745

Gallica

http://www.aupresdenosracines.com/2016/05/64-ressources-de-gallica-pour-completer-votre-genealogie.html

Caption tool

http://www.zdnet.com/article/whats-in-that-photo-google-open-sources-caption-tool-in-tensorflow-that-can-tell-you/

Matrices cadastrales

http://www.aupresdenosracines.com/2017/04/3-raisons-dutiliser-les-matrices-cadastrales.html

export to Latex

See https://ctan.org/pkg/genealogytree

EventSource vs websockets

https://sipsandbits.com/2018/05/10/you-may-not-need-websockets/

Old books

https://archive.org/search.php?query=jules%20cesar

Existing code

gedcom parsers

gedcom matching and merging

objective-c

other programs

Mac

http://blog.eogn.com/eastmans_online_genealogy/2013/03/genealogy-programs-for-macintosh.html http://blog.eogn.com/eastmans_online_genealogy/2013/05/macfamilytree-7-and-mobilefamilytree-7-released-.html http://www.macg.co/logiciels/2015/03/ohmigene-perd-son-createur-et-cherche-un-repreneur-87999 https://kinpoint.com/tour/get-started http://www.wolframalpha.com/input/?i=great+grand+mother%27s+niece

Replace icons with fonts

http://fortawesome.github.com/Font-Awesome/ This can also be used to replace the star plugin, see the above page

Django

Look at PeeWee for the ORM

Class-based views

http://ccbv.co.uk

Export to Excel

https://simpleisbetterthancomplex.com/tutorial/2016/07/29/how-to-export-to-excel.html

Refer to the current value in the database

https://simpleisbetterthancomplex.com/tips/2016/08/23/django-tip-13-f-expressions.html

Custom query sets

https://simpleisbetterthancomplex.com/tips/2016/08/16/django-tip-11-custom-manager-with-chainable-querysets.html

Password confirmation view

https://simpleisbetterthancomplex.com/tutorial/2016/08/15/how-to-create-a-password-confirmation-view.html

Custom fields

https://blogs.gnome.org/danni/2017/05/19/postgresql-date-ranges-in-django-forms/

Test number of queries

https://www.vinta.com.br/blog/2020/counting-queries-basic-performance-testing-in-django/

Bulk create manager

https://www.caktusgroup.com/blog/2019/01/09/django-bulk-inserts/

CSS

Optimize for large screen display

https://css-tricks.com/optimizing-large-scale-displays/

Designing cards

https://uxdesign.cc/design-better-cards-c0d12ab581c4#.ca78ucet9

Cards

http://labs.jensimmons.com/2017/01-009.html

Grid

https://tympanus.net/codrops/css_reference/grid/

3D Carousel

https://codepen.io/hoanghien0410/pen/MMPaqm https://codepen.io/EntropyReversed/pen/YBEwXV

Toolbar

https://codepen.io/oliviale/pen/rPjgmB

GUI

The toplevel menubar sections should match the genealogical process (collect, analyze,…)

Use consistent black-and-white icons

Toolbar

http://codepen.io/chriscoyier/pen/FAbpm

Handling of names