GenoPro Home
GenoPro Home  |  Get Started With My Genealogy Tree  |  Buy  |  Login  |  Privacy  |  Search  |  Site Map
 

GenoPro Support Forum




Author
Posted Monday, June 14, 2021 - Post #41529
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Gamma
Customers
FamilyTrees.GenoPro.com
GenoPro version: 3.0.1.2

Last Login: Tuesday, July 20, 2021
Posts: 6, Visits: 59
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.GenoMap
Essentially 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.
Posted Tuesday, June 15, 2021 - Post #41531
Grand Master

Grand MasterGrand MasterGrand MasterGrand MasterGrand MasterGrand MasterGrand MasterGrand MasterGrand Master

Customers
Important Contributors
FamilyTrees.GenoPro.com
GenoPro version: 3.1.0.0

Last Login: 10 hours ago
Posts: 1,537, Visits: 30,065
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.
Posted Tuesday, June 15, 2021 - Post #41532
Legendary Master

Legendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary Master

Administrators
Customers
Important Contributors
FamilyTrees.GenoPro.com
GenoPro version: 3.1.0.1

Last Login: Yesterday @ 2:43 AM
Posts: 3,089, Visits: 22,454
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 Unsure

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"
Posted Friday, June 18, 2021 - Post #41546
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Gamma
Customers
FamilyTrees.GenoPro.com
GenoPro version: 3.0.1.2

Last Login: Tuesday, July 20, 2021
Posts: 6, Visits: 59
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.
I'll email the contact you sent, thanks for it!

Edited: Friday, July 2, 2021 by Javier Albinarrate
Posted Saturday, June 19, 2021 - Post #41547
Grand Master

Grand MasterGrand MasterGrand MasterGrand MasterGrand MasterGrand MasterGrand MasterGrand MasterGrand Master

Customers
Important Contributors
FamilyTrees.GenoPro.com
GenoPro version: 3.1.0.0

Last Login: 10 hours ago
Posts: 1,537, Visits: 30,065
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.
Posted Saturday, June 19, 2021 - Post #41548
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Gamma
Customers
FamilyTrees.GenoPro.com
GenoPro version: 3.0.1.2

Last Login: Tuesday, July 20, 2021
Posts: 6, Visits: 59
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


Similar Topics

Click to view RSS...
Expand / Collapse

Reading This Topic

Expand / Collapse