|
|
Gamma Customers FamilyTrees.GenoPro.com GenoPro version: 3.0.1.2
Last Login: Friday, October 8, 2021
Posts: 6,
Visits: 73
|
Hello,
I am working on a custom program with a database of several million records for a local project. And it would be a huge plus to be able to EASILY copy individuals from that system and paste into GenoPro. I can code anything needed to export to the clipboard as I have full control. But obviously the big question is if there is any spec published anywhere of the format that GenoPro uses. I've been inspecting the binary data and from the several entities exported the one I am interested is format id 49792: GenoPro. GenoMapEssentially a lot of null terminated binary fields. By chance is anyone able to provide any help or hint to make the challenge easier? IMHO having this info public would be a great plus. Any help is welcomed. Note 1: Exporting to gedcom and then importing into GenoPro is not an option (more of a nightmare). That's why I made what I mention in the next note. Note 2: I know that the GNO file format is basically an XML zipped, and I am able to automatically layout and generate GNO files properly from my system, easily handling thousands of individuals and their relations, I kind of expected the clipboard to follow the same format, but I haven't figured it out yet. And operationally I do need the clipboard to make our lives easier.
|
|
|
Customers Important Contributors FamilyTrees.GenoPro.com GenoPro version: 3.1.0.1
Last Login: Yesterday @ 11:19 PM
Posts: 1,576,
Visits: 31,178
|
Some time ago I wrote a Basic program to import data in a spreadsheet into a gedcom. This was a lot easier than grappling with the full GenoPro format, which you will have seen has many simularities to gedcom. If you are interested I could dig out a BAS version of the code. From memory you can convert a group of people and the gedcom import is simple. If the people are in families then the import needs untangling on screen but the table version is normal.
|
|
|
Administrators Customers Important Contributors FamilyTrees.GenoPro.com GenoPro version: 3.1.0.1
Last Login: Yesterday @ 9:42 PM
Posts: 3,325,
Visits: 25,525
|
My experience of GenoPro internals is limited to scripting and the Report Generator SDK and some manipulation of XML via the DOM in javascript. However I believe the image copied to the clipboard and then pasted into say a Word document is in EMF (Extended Metafile Format) which has a published specification. But I presume that the clipboard also has a list of the selected GenoPro objects to allow full copying of objects, including the associated data, from one genomap to another.
Hopefully Dan at GenoPro will see this thread and respond with a more useful answer
You could also try emailing him support(at)genopro.com
'lego audio video erro ergo disco' or "I read, I listen, I watch, I make mistakes, therefore I learn"
|
|
|
Gamma Customers FamilyTrees.GenoPro.com GenoPro version: 3.0.1.2
Last Login: Friday, October 8, 2021
Posts: 6,
Visits: 73
|
Thanks appleshaw and genome for the replies.
The gedcom is not really a solution to what I want to achieve, as in fact I am already handling both gedcom and the gno (xml) formats without issues. Also using algorithms for dynamically generating the individual placements and connecting relationships. So all that is properly handled, the need is for specifically copy paste data WITH EASE, just like when you copy paste between different genomaps. Regarding the clipboard it has the EMF format mentioned by genome, as that is what you end up pasting into word, but it also has the data itself which is what genopro uses. Here is a sample The format ID in the third row is the one we're interested in. (FTR the numeric Format ID itself is dynamic, so the number will vary between loads) If you open it, you see a binary format, with a header, with null separators, which includes the version number in ASCII and then lots of binary. I honestly expected an XML there, I even checked to see if it was deflated or zipped. Getting this sorted out would be great for me.
|
|
|
Customers Important Contributors FamilyTrees.GenoPro.com GenoPro version: 3.1.0.1
Last Login: Yesterday @ 11:19 PM
Posts: 1,576,
Visits: 31,178
|
Have you tried looking from the other direction? If you select something in GenoPro and copy it then a clipboard viewer will show what GenoPro needs to paste on a new site.
|
|
|
Gamma Customers FamilyTrees.GenoPro.com GenoPro version: 3.0.1.2
Last Login: Friday, October 8, 2021
Posts: 6,
Visits: 73
|
Well, that is precisely what I have pasted above, that is the dump made with a clip viewer.I used InsideClipboard for it. So this is all what I could figure out so far. Example -- 3 . 1 . 0 . 1 -- ^^ ^^ ^^ ^^ >Binary without correlations Male 0E 19 1E DA 00 04 02 00 00 00 A1 00 33 2E 31 2E 30 2E 31 00 6E FF FF FF 71 EF ED ED EE ED 39 B8 ...Ú......¡.3.1.0.1.nÿÿÿqïííîí9¸ Female 0E 19 1E DA 00 04 02 00 00 00 41 00 33 2E 31 2E 30 2E 31 00 6D FF FF FF BE 24 22 22 52 31 22 F8 ...Ú......A.3.1.0.1.mÿÿÿ¾$""R1"øCouple 0E 19 1E DA 00 04 02 00 00 00 E1 00 33 2E 31 2E 30 2E 31 00 36 FF FF FF 6B 16 13 13 8C 13 B9 CB ...Ú......á.3.1.0.1.6ÿÿÿk...Œ.¹ËLots 0E 19 1E DA 00 04 02 00 00 00 61 00 33 2E 31 2E 30 2E 31 00 FA F9 FF FF B1 6D 63 63 9C 66 EC 5B ...Ú......a.3.1.0.1.úùÿÿ±mccœfì[ ^^ Starting here it is all binary gibberish, so most likely compressed ^^^^^^^^^^^ Somewhat static values, with a negative correlation to the binary payload length ^^^^^^^^^^^^^^^^^^^^^^^ Null terminated Genopro version ^^ Variable number, always changing even when copying the same thing twice ^^^^^^^^^^^^^^ 0402 Static, from what I see in the binary EXE I think it is a clipboard format version ^^^^^^^^^^^^^^ Static header 0E191EDA is mentioned twice in the EXE file binary so is presumably a magic number (one for encoding and another for decoding subs)The binary part seems to be compressed, because if it would not be compressed, then you should be able to see at least the names in ascii intermingled with some binary values. I tried deflate, zip, gzip. Even though it doesn't show the expected magic numbers, or headers. Neither byte order masks. Something interesting is that the "male" empty individual has 175 bytes, but the "female" empty individual has 176 bytes and the unknown (presumably empty string "") is 174. And the binaries are totally different. Thus I would imagine that the type of individual is expressed in text, that gets compressed to different lengths according to the length of the property. In short I truly believe that this is some text format (xml?) compressed with a header added. As you see, not that I have advanced very much, oh well...
Edited: Tuesday, July 6, 2021 by
Javier Albinarrate
|