bonsai
bonsai copied to clipboard
Export/import
It would be nice to have import/export to popular genealogy data formats, such as GEDCOM.
@impworks привет) Есть ли шансы, что эта фича поедет в работу в обозримом будущем?
@Astromis, здравствуйте! Фича была записана в очень абстрактном виде, пока даже исследовать не начинал. Расскажите, пожалуйста, что конкретно для вас важно - импорт, экспорт, какие данные, какой порядок объема и т.д.
@impworks для меня важен экспорт в первую очередь. Очень нравится ваше приложение, как и писал здесь раньше, но каждый раз останавливает то, что если вдруг поддержка прекратится, то данные нельзя будет вытащить. Ну точнее можно, но будет сопряжен с очень сильной болью, потому что я не net разработчик)
Касательно каких данных: условно вся информация в тексте: кто, когда родился, кому кем приходится и т.д. В целом, всё, что покрывается форматом gedcom. Я полагаю, что у вас реализовано гораздо больше, но я думаю, у вас нет ничего такого, чегоня нельзя привести к формату гедкома.
Я готов оказать посильную помочь, вот только, как я сказал, я не .net-разраб)
Мне кажется, что вытащить данные должно быть очень просто, если вы хотя бы слегка знакомы с SQL. Вас интересуют всего 3 таблицы - Pages, Relations и Media. Можете взглянуть на них и оценить, насколько сложной для понимания вам кажется структура. Типы связей перечислены в RelationType.cs (с нуля по порядку), типы страниц - в PageType.cs.
Я не нашел готовых поддерживаемых библиотек для формирования GEDCOM-файлов на C#. Можно сделать это самому по спецификации формата, но это займет приличное время. И, должен признаться, импорт данных кажется мне более важным, нежели экспорт, чтобы новый пользователь мог сразу закинуть свои данные из другого места и посмотреть их отображение.
Итого - в 2025 вряд ли будет сделано.
@impworks позвольте спросить, я же правильно понимаю, что описание тех трех таблиц находится в соответствующих .cs файлах?
Правильно, но там много неинтересного. Например, все что имеет тип ICollection<...> - это данные из других таблиц, подбираемые по FK. А LivingBeingOverview - кешированая информация из фактов для быстрого отображения, ценности не представляет. И так далее.
Сами факты хранятся в виде сериализованного JSON в поле Page.Facts. Существующие типы фактов и конкретный формат каждого из них можно посмотреть, начиная с FactDefinitions.cs - даже если вы не C#-разработчик, но (судя по проектам) знаете C++, никакой хитрой логики в них нет, только декларативное описание.
Ага, понял вас. Действительно, понять могу, потому и спрашиваю, куда смотреть в первую очередь) Спасибо большое за обратную связь. Неустанно посылаю лучи поддержки вам и вашему проекту.
Только отсутствие импорта останавливает меня от использования :( Пока продолжаю в "Дерево жизни", но очень нужна версия с web сервером для доступа других родственников. Может стоить открыть сбор средств на наем программиста кто реализует модуль импорт/экспорт из/в формата GEDCOM?
Пожалуйста, сделайте в "Дереве жизни" небольшой проект-пример, допустим 5 человек с различными данными, выгрузите его и приложите сюда. Так можно будет хотя бы проэкспериментировать с существующими библиотеками и оценить, насколько они справляются.
Особо интересно, что будет с фотками. Насколько я понимаю, GEDCOM их не хранит внутри и будет содержать пути, т.к. помимо самого файла нужен будет архив с остальными файлами
Пожалуйста, сделайте в "Дереве жизни" небольшой проект-пример, допустим 5 человек с различными данными, выгрузите его и приложите сюда. Так можно будет хотя бы проэкспериментировать с существующими библиотеками и оценить, насколько они справляются.
Особо интересно, что будет с фотками. Насколько я понимаю, GEDCOM их не хранит внутри и будет содержать пути, т.к. помимо самого файла нужен будет архив с остальными файлами
Вот небольшой кусочек экспортированный в формате. Фото он положил в папку рядом.
Спасибо, посмотрю что вытаскивается