gedcom x - familysearch developers conference 2014

29
© 2013 by Intellectual Reserve, Inc. All rights reserved. Ryan Heaton GEDCOM X

Upload: ryan-heaton

Post on 14-Jun-2015

125 views

Category:

Technology


2 download

DESCRIPTION

An introduction to the GEDCOM X project.

TRANSCRIPT

Page 1: GEDCOM X - FamilySearch Developers Conference 2014

1© 2013 by Intellectual Reserve, Inc. All rights reserved.

Ryan Heaton

GEDCOM X

Page 2: GEDCOM X - FamilySearch Developers Conference 2014

2© 2013 by Intellectual Reserve, Inc. All rights reserved.

The Idea,The Guts,

The Penetration,And You.

GEDCOM X

Page 3: GEDCOM X - FamilySearch Developers Conference 2014

GEDCOM X

The Idea

Page 4: GEDCOM X - FamilySearch Developers Conference 2014

GEDCOM XMedia Types

and APIsfor GenealogicalData Exchange

Page 5: GEDCOM X - FamilySearch Developers Conference 2014

Media Typesand APIs

for GenealogicalData Exchange

application/xmlapplication/pdfapplication/jsonaudio/mpegimage/jpegimage/pngimage/gifmultipart/mixedtext/csvtext/csstext/htmltext/plainvideo/mp4application/vnd.ms-excel

Page 6: GEDCOM X - FamilySearch Developers Conference 2014

Media Typesand APIs

for GenealogicalData Exchange

text/html

Page 7: GEDCOM X - FamilySearch Developers Conference 2014

Documents

Fonts and Styles

Tables

Bullet Lists

Images

Scriptstext/html

Page 8: GEDCOM X - FamilySearch Developers Conference 2014

Sources

Persons

Evidence

Relationships

Places

Analysis

GEDCOM X

Page 9: GEDCOM X - FamilySearch Developers Conference 2014

GEDCOM XMedia Types

and APIsfor GenealogicalData Exchange

Page 10: GEDCOM X - FamilySearch Developers Conference 2014

Media TypesAPIs

for GenealogicalData Exchange

Page 11: GEDCOM X - FamilySearch Developers Conference 2014

Media TypesAPIs

for GenealogicalData Exchange

createreadupdatedelete

personsrelationshipssourcesetc.

bulk data feed*

GEDCOM X RS

resources

operations

Page 12: GEDCOM X - FamilySearch Developers Conference 2014

● The Specification Set– Date Model

– Conceptual Model

– XML Format

– JSON Format

– File Format

– RS

– Record Extension

– Bibliographic Metadata*

*Under Development

The Guts

Page 13: GEDCOM X - FamilySearch Developers Conference 2014

Date Description Encoding Type

January 18, 1752 at 10:14 p.m.

+1752-01-18T22:14 Simple Date

From April 13, 1825 to November 26, 1825

+1825-04-13/+1825-11-26 Date Range

Until May, 1887 /+1887-03 Open-ended Date Range

About 1680 A+1680 Approximate Date

Sometime between April 13, 1825 and November 26, 1825

A+1825-04-13/+1825-11-26 Approximate Date Range

GEDCOM X Date Format

Page 14: GEDCOM X - FamilySearch Developers Conference 2014

<gedcomx xmlns=”http://gedcomx.org/v1”>

<person id=”P1”> <source description=”#SD1”/> <name>...</name> </person>

<person id=”P2”> <source description=”#SD2”/> <name>...</name> </person>

<relationship> <person1 resouce=”#P1”/> <person2 resource=”#P2”/> </relationship>

<sourceDescription id=”SD1”> <citation>...</citation> </sourceDescription>

<sourceDescription id=”SD2”> <citation>...</citation> </sourceDescription>

</gedcomx>

GEDCOM X XML

Page 15: GEDCOM X - FamilySearch Developers Conference 2014

{ “persons” : [ { “id” : “P1”, “sources” : [ { “description” : “#SD1” } ], “names” : [ … ], }, { “id” : “P2”, “sources” : [ { “description” : “#SD2” } ], “names” : [ … ], }, ], “relationships” : [ { “person1” : { “resource” : “#P1” }, “person2” : { “resource” : “#P1” } } ], “sourceDescriptions” : [ { “id” : “SD1”, “citation” : { … }, }, { “id” : “SD2”, “citation” : { … }, } ]}

GEDCOM X JSON

Page 16: GEDCOM X - FamilySearch Developers Conference 2014

<gedcomx xmlns=”http://gedcomx.org/v1”>

<person id=”P1”>

<link rel=”parents” href=”/path/to/parents”/> <link rel=”children” href=”/path/to/children”/> <link rel=”spouses” href=”/path/to/spouses”/>

<name>...</name> </person>

<collection id=”P1”>

<link rel=”search” template=”/path/to/search{?q}”/> <link rel=”persons” href=”/path/to/persons”/> <link rel=”artifacts” href=”/path/to/artifacts”/>

<title>...</title> </person>

</gedcomx> GEDCOM X RS

Page 17: GEDCOM X - FamilySearch Developers Conference 2014

Penetration (Internal)● The FamilySearch API

– GEDCOM X RS

● Tree Foundation● Bulk Data Delivery● Search/Match/Hinting● CDS/Records● Temple● Etc.

Page 18: GEDCOM X - FamilySearch Developers Conference 2014

Penetration (External)● Ancestry● MyHeritage● FindMyPast● FamilySearch UI Clone● Desktop Record Managers

– RootsMagic

– Ancestral Quest

– Legacy

● Online Record Managers

Page 19: GEDCOM X - FamilySearch Developers Conference 2014

Penetration (Tools)● Java SDK

– Reference Implementation

● JavaScript SDK● C# SDK*● PHP SDK*

*Under Development

Page 20: GEDCOM X - FamilySearch Developers Conference 2014

And You

Page 21: GEDCOM X - FamilySearch Developers Conference 2014

And You● Data Exchange● Domain Modeling● Database Schema● Data Presentation● Data Analysis

Page 22: GEDCOM X - FamilySearch Developers Conference 2014

And You● Data Exchange● Domain Modeling● Database Schema● Data Presentation● Data Analysis

Page 23: GEDCOM X - FamilySearch Developers Conference 2014

● But, MOM...– Too heavy.

– It's missing X and Y...

– I can do better myself.

– Tool set needs work.

And You

Page 24: GEDCOM X - FamilySearch Developers Conference 2014

● Too heavy?– HTML is heavier...

● ...would you use anything else for web pages?

– GEDCOM X is only as heavy as it needs to be to meet requirements.

– Use the elements you need.

e.g. bdo, del, isindex, kbd, samp, var

And You

Page 25: GEDCOM X - FamilySearch Developers Conference 2014

● It's missing X and Y...– Use the extension mechanism.

– Contribute to the project.

– Help us fill in the holes.

And You

Page 26: GEDCOM X - FamilySearch Developers Conference 2014

● I can do better myself.– Maybe so...

● ...you can do better than HTML too.● Can doesn't mean should.

– Remember the success factors.● Do you want to write all the docs?● Do you want to curate the specs?● Do you want to develop the tool set?

And You

Page 27: GEDCOM X - FamilySearch Developers Conference 2014

● I can do better myself.– Maybe so...

● ...you can do better than HTML too.● Can doesn't mean should.

– Do you want to write all the docs?

– Do you want to curate the specs?

– Do you want to develop the tool set?

And You

Page 28: GEDCOM X - FamilySearch Developers Conference 2014

● Tool set needs work.– Absolutely.

– Pitch in.

– Provide feedback.

And You

Page 29: GEDCOM X - FamilySearch Developers Conference 2014

GEDCOM X