Выпуск программы для управления фотографиями digiKam 5.0.0
Состоялся релиз программы для управления коллекцией фотографий digiKam 5.0.0, который подвёл итог нескольким годам работы по переводу приложения на Qt 5 и KDE Framework 5. Начиная с нового выпуска проект также перешёл на новый сокращённый цикл подготовки релизов, подразумевающий более оперативную доставку обновлений.
В новом выпуске заменён весь код, связанный с Qt4 и KDE4, переписаны многие подсистемы, существенно сокращено число зависимостей — удалено около 80% зависимостей от компонентов KDE, 10% зависимостей переведены в разряд опциональных и только 10% пока оставлены в качестве обязательных. В процессе работы по сокращению зависимостей обработчик KIO-slaves заменён на системные средства обеспечения многопоточности, сокращено использование DBus, прекращено использование KIO в инструментах Kipi.
Следствием сокращения внешних зависимостей стало упрощение портирования digiKam на платформы, отличные от Linux, и возможность подготовки бинарных установщиков. Порт для Windows собран в Linux с использованием MinGW, без применения для сборки Windows/MSVC. Подготовлены 32- и 64-разрядные установщики. Порт для macOS пока требует для сборки компьютера Apple с Macports, но сам процесс компиляции значительно упрощён.
Другие улучшения:
- Добавлена виртуальная «корзина», заменившая собой использование штатной корзины KDE, которая не могла быть портирована на macOS и Windows. Новая реализация основана на перемещении удалённых элементов в скрытые поддиректории, создаваемые внутри каждой основной коллекции фотографий и отображаемые при древовидном просмотре альбома;
- Реализована возможность Lazy Synchronization для синхронизации метаданных фотографий с содержимым БД, что позволяет отложить применение к файлам изменений метаданных, внесённых через интерфейс digiKam — правки вносятся только в БД, и лишь затем единовременно переносятся на реальные файлы c изображениями, что позволяет в любой момент отменить выполненную операцию. Число ожидающих применения операций отражается в строке состояния.
- Добавлена новая панель для корректирвки тегов Exif/IPTC/XMP и отражения в тегах данных из БД, таких как дата, комментарии, ключевые слова и рейтинг. Имеется возможность определения какие теги будут обновлены в процессе синхронизации при применении инструмента Lazy Synchronization;
- В процессе портирования плагинов kipi на Qt5 проведена чистка от дубликатов кода. Возвращены к жизни старые плагины, давно оставшиеся без сопровождающих. Для взаимодействия с внешними web-сервисами теперь не применяется KIO API, что повысило переносимость и решило многие проблемы со стабильностью;
- Переработан код, связанный с ведением базы данных. В ядро digiKam интегрирована БД для распознавания лиц, которая теперь хранится в SQLite или MySQL. Приведён в порядок код для поддержки MySQL, переписаны схемы хранения данных в MySQL. Переработана панель для настройки БД;
- При первом запуске добавлена возможность настройки применения MySQL в качестве хранилища БД, вместо SQLite. Предлагается два варианта конфигурации MySQL — локальный сервер для замены локальной БД в SQLite и внешний сервер для ведения БД, совместно используемой на нескольких компьютерах. MySQL предпочтителен при наличии больших коллекций, насчитывающих более 100 тысяч элементов.
© OpenNet