Столкнулся я давича с одной интересной проблемой. А именно - создание базы фотографий, в которой можно было бы нормально осуществлять поиск, которая была бы разбита на нужные мне разделы, причем так, чтобы одни и те же фотки могли быть видны из нескольких разных разделов одновременно. И чтоб с преферансом и куртизантками...
Первым делом, подумал найти что-нибудь подходящее среди веб-галерей. Накачал чертову прорву оных, поставил на тестовый сервер и обнаружил абсолютную неспособность ни одной из них создавать собственные теги из тех, что записаны в EXIF/IPTC. То есть где-то в каких-то данных просмотреть эти теги можно, но вод собственные механизмы тегов реализованы абсолютно в отрыве от них.
Опечалился, подумал, не расковырять ли мне какую-нибудь из цмс-галерей и реализовать сей механизм самостоятельно, как в какой-то момент осознал куда более важную проблему. А именно - чудовищное неудобство работы с изображениями через веб-интерфейс.
Фотографий у нас в отделе технических проектов тысячи, так как фотографируют детально различные агрегаты, их реализации и вообще всё, что может пригодиться. Если ты сам делал эти фотографии, то ты заходишь в нужную папку и в любимом вьюере начинаешь пролистывать фотографии пока не найдёшь нужную.
Да, конечно, можно воспользоваться каталогизатором, который отсортерует файлы по тегам, однако с одним и тем же тегом всё равно фотографий будет сотни. Пролистывать такое количество фотографий в веб-интерфейсе, пусть и весьма шустром - ад. Причем пользоваться предстоит не мне одному, а куче народу, который к тому же должен их туда пачками загружать.
Идеальным вариантом в данном случае была бы файловая система на манер той, что в MP3-плеерах типа ipod - когда отображение сразу производится по критериям описанным в тегах.
Потом я вспомнил, что доступ к плеерам в KDE осуществляется с помощью kipi-plugin, который представляет файловую систему плеера как раз в таком удобном виде. Почесав кумпол, я вспомнил о существовании FUSE, который подошёл бы для сервера.
И вот, на данный момент я занялся изучением API FUSE, дабы реализовать свои наполеоновские планы. Так как работы видимо предстоит не мало, решительно спрашиваю: может кто имел дело с этой или аналогичной подсистемой? Подсобите в том, как можно связать libexif с fuse и чтоб всё добро было видно через smb?
Любое содействие приветствуется.
среда, 21 декабря 2011 г.
Подписаться на:
Комментарии к сообщению (Atom)
Спустя год я взялся за реализацию и уже получил кое-какие результаты (пока не в production стадии).
ОтветитьУдалитьТак как теги представляют собой линейный массив строки keywords в IPTC, придумал хитрую систему - дерево строится методом поиска максимальных включений.
То есть, скажем, если тег включает все файлы, то выводится только он, на следующем уровне отбираются теги пониже, включающие другие теги и так далее, пока на файл не исчерпается линейка тегов. Если файл не имеет тега, то он отбрасывается в некий виртуальный каталог UNSORTED.
Если бы я ещё был программистом, а не инженером - уже давно бы всё нормально работало. Только я, блин, в лучшем случае математик и сейчас приходится ковыряться в perl, чтобы написать соответствующий кусок для fuse. Пока же всё работает через адовы костыли в виде shell-скриптов :(.