geni / geni-gedcom Goto Github PK
View Code? Open in Web Editor NEWA GEDCOM to Geni importer using the Geni API (geni-clj-sdk).
License: Eclipse Public License 1.0
A GEDCOM to Geni importer using the Geni API (geni-clj-sdk).
License: Eclipse Public License 1.0
Depends on https://github.com/geni/geni/issues/463 -- @ss can provide the API format once it's done.
Incestual relationships are not imported correctly. For example: your mother and father both have the same father.
Might have to rewrite some other stuff anyways, so saving this until I've got all of those details sorted.
Not sure if author is still active, but after I click choose this error pops up:
Exception in thread "Thread-11" org.codehaus.jackson.JsonParseException: Unexpected character ('<' (code 60)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
at [Source: java.io.StringReader@126bc95b; line: 1, column: 2]
at org.codehaus.jackson.JsonParser._constructError(JsonParser.java:1432)
at org.codehaus.jackson.impl.JsonParserMinimalBase._reportError(JsonParserMinimalBase.java:521)
at org.codehaus.jackson.impl.JsonParserMinimalBase._reportUnexpectedChar(JsonParserMinimalBase.java:442)
at org.codehaus.jackson.impl.ReaderBasedParser._handleUnexpectedValue(ReaderBasedParser.java:1198)
at org.codehaus.jackson.impl.ReaderBasedParser.nextToken(ReaderBasedParser.java:485)
at cheshire.parse$parse.invoke(parse.clj:59)
at cheshire.core$parse_string.doInvoke(core.clj:64)
at clojure.lang.RestFn.invoke(RestFn.java:410)
at geni.core$parse.invoke(core.clj:13)
at geni.core$api.invoke(core.clj:49)
at geni.core$write.invoke(core.clj:61)
at geni.gedcom.import$import_tree.invoke(import.clj:27)
at clojure.lang.AFn.applyToHelper(AFn.java:167)
at clojure.lang.AFn.applyTo(AFn.java:151)
at clojure.core$apply.invoke(core.clj:603)
at clojure.core$partial$fn__4070.doInvoke(core.clj:2343)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.core$reductions$fn__6175.invoke(core.clj:6381)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:60)
at clojure.lang.Cons.next(Cons.java:39)
at clojure.lang.RT.next(RT.java:587)
at clojure.core$next.invoke(core.clj:64)
at geni.gedcom.web.models.api$import_records$fn__4243.invoke(api.clj:108)
at clojure.lang.AFn.run(AFn.java:24)
at java.lang.Thread.run(Thread.java:745)
Wikitree has a way to import GEDCOMs by matching each person in the GEDCOM with the big tree and letting you opt-out/merge them. Would that feature be possible in geni-gedcom to allow importing without creating duplicates?
It successfully parsed my gedcom file and I picked me, but about 5 seconds after I clicked "choose" I got the following stack trace. The tracker says:
{"progress":1,"status":"importing","profile_count":3429}
Exception in thread "Thread-12" java.lang.NullPointerException
at clojure.lang.Numbers.ops(Numbers.java:942)
at clojure.lang.Numbers.add(Numbers.java:126)
at geni.gedcom.import$import_tree.invoke(import.clj:31)
at clojure.lang.AFn.applyToHelper(AFn.java:167)
at clojure.lang.AFn.applyTo(AFn.java:151)
at clojure.core$apply.invoke(core.clj:603)
at clojure.core$partial$fn__4070.doInvoke(core.clj:2343)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.core$reductions$fn__6175.invoke(core.clj:6381)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:60)
at clojure.lang.Cons.next(Cons.java:39)
at clojure.lang.RT.next(RT.java:587)
at clojure.core$next.invoke(core.clj:64)
at geni.gedcom.web.models.api$import_records$fn__4243.invoke(api.clj:108)
at clojure.lang.AFn.run(AFn.java:24)
at java.lang.Thread.run(Unknown Source)
the spec at http://www.w3.org/TR/cors/
Currently, the Gedcom importer does not override the user's data with the data selected in the dropdown during the flow.
Let's go ahead and do the override.
I.e., we're missing the following step from the flow:
User comes to Geni and fills out start form
Profile model created with [ first, last, email ]
Gedcom file is uploaded
User selects who they are out of people
User identifies themselves as p3
Call to API to update original profile with p3's data. <---- this is the step we need
then batch import [p1, p2, p4]
Change the data returned from a .ged upload to /upload
to match:
{
'names': [ { '@I01@': {'first_name': 'John', 'middle_name': 'Anthony', 'last_name': 'Smith', dob: '3945743'} } ]
}
i.e., let's add first, middle, and last names as well as the date of birth.
Hello,
This is not an issue but I could not find another place to post. Feel free to redirect me to the right spot.
I would like to try to use your project but I'm not familiar with closure at all. Would you mind adding a section in the README with quick start steps to install the dependencies and start the app ?
Thanks,
Aurels
The user-exp. of selecting from a sorted list will be much better than a seemingly random one. Let's sort the returned names
array on first_name
Let's make /import
return immediately with a count of the progress:
{"total":11234, "complete":0}
Also add /progress
that takes a token and returns the progress for it. @briangonzalez will poll this to display progress to the user.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.