bonsai icon indicating copy to clipboard operation
bonsai copied to clipboard

Export/import

Open impworks opened this issue 7 years ago • 7 comments

It would be nice to have import/export to popular genealogy data formats, such as GEDCOM.

impworks avatar Aug 29 '18 18:08 impworks

@impworks привет) Есть ли шансы, что эта фича поедет в работу в обозримом будущем?

Astromis avatar Jan 13 '25 10:01 Astromis

@Astromis, здравствуйте! Фича была записана в очень абстрактном виде, пока даже исследовать не начинал. Расскажите, пожалуйста, что конкретно для вас важно - импорт, экспорт, какие данные, какой порядок объема и т.д.

impworks avatar Jan 13 '25 10:01 impworks

@impworks для меня важен экспорт в первую очередь. Очень нравится ваше приложение, как и писал здесь раньше, но каждый раз останавливает то, что если вдруг поддержка прекратится, то данные нельзя будет вытащить. Ну точнее можно, но будет сопряжен с очень сильной болью, потому что я не net разработчик)

Касательно каких данных: условно вся информация в тексте: кто, когда родился, кому кем приходится и т.д. В целом, всё, что покрывается форматом gedcom. Я полагаю, что у вас реализовано гораздо больше, но я думаю, у вас нет ничего такого, чегоня нельзя привести к формату гедкома.

Я готов оказать посильную помочь, вот только, как я сказал, я не .net-разраб)

Astromis avatar Jan 13 '25 11:01 Astromis

Мне кажется, что вытащить данные должно быть очень просто, если вы хотя бы слегка знакомы с SQL. Вас интересуют всего 3 таблицы - Pages, Relations и Media. Можете взглянуть на них и оценить, насколько сложной для понимания вам кажется структура. Типы связей перечислены в RelationType.cs (с нуля по порядку), типы страниц - в PageType.cs.

Я не нашел готовых поддерживаемых библиотек для формирования GEDCOM-файлов на C#. Можно сделать это самому по спецификации формата, но это займет приличное время. И, должен признаться, импорт данных кажется мне более важным, нежели экспорт, чтобы новый пользователь мог сразу закинуть свои данные из другого места и посмотреть их отображение.

Итого - в 2025 вряд ли будет сделано.

impworks avatar Jan 13 '25 12:01 impworks

@impworks позвольте спросить, я же правильно понимаю, что описание тех трех таблиц находится в соответствующих .cs файлах?

Astromis avatar Jan 13 '25 12:01 Astromis

Правильно, но там много неинтересного. Например, все что имеет тип ICollection<...> - это данные из других таблиц, подбираемые по FK. А LivingBeingOverview - кешированая информация из фактов для быстрого отображения, ценности не представляет. И так далее.

Сами факты хранятся в виде сериализованного JSON в поле Page.Facts. Существующие типы фактов и конкретный формат каждого из них можно посмотреть, начиная с FactDefinitions.cs - даже если вы не C#-разработчик, но (судя по проектам) знаете C++, никакой хитрой логики в них нет, только декларативное описание.

impworks avatar Jan 13 '25 12:01 impworks

Ага, понял вас. Действительно, понять могу, потому и спрашиваю, куда смотреть в первую очередь) Спасибо большое за обратную связь. Неустанно посылаю лучи поддержки вам и вашему проекту.

Astromis avatar Jan 13 '25 12:01 Astromis

Только отсутствие импорта останавливает меня от использования :( Пока продолжаю в "Дерево жизни", но очень нужна версия с web сервером для доступа других родственников. Может стоить открыть сбор средств на наем программиста кто реализует модуль импорт/экспорт из/в формата GEDCOM?

XBaX01 avatar Jul 24 '25 13:07 XBaX01

Пожалуйста, сделайте в "Дереве жизни" небольшой проект-пример, допустим 5 человек с различными данными, выгрузите его и приложите сюда. Так можно будет хотя бы проэкспериментировать с существующими библиотеками и оценить, насколько они справляются.

Особо интересно, что будет с фотками. Насколько я понимаю, GEDCOM их не хранит внутри и будет содержать пути, т.к. помимо самого файла нужен будет архив с остальными файлами

impworks avatar Jul 25 '25 07:07 impworks

Пожалуйста, сделайте в "Дереве жизни" небольшой проект-пример, допустим 5 человек с различными данными, выгрузите его и приложите сюда. Так можно будет хотя бы проэкспериментировать с существующими библиотеками и оценить, насколько они справляются.

Особо интересно, что будет с фотками. Насколько я понимаю, GEDCOM их не хранит внутри и будет содержать пути, т.к. помимо самого файла нужен будет архив с остальными файлами

Архив.zip

Вот небольшой кусочек экспортированный в формате. Фото он положил в папку рядом.

XBaX01 avatar Jul 25 '25 07:07 XBaX01

Спасибо, посмотрю что вытаскивается

impworks avatar Jul 25 '25 08:07 impworks