Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Ищу кодера из Москвы, для скромного проекта почти Just for fun.  (Прочитано 898 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Psy[H[]

  • Автор темы
  • Активист
  • *
  • Сообщений: 883
  • Маньяк. Ставлю Линух на все что попадется под руку
    • Просмотр профиля
Доброго всем времени суток!
интересует меня ниже написанное как теоретическая концепция (для собственного просвещения). А на основани этого провсещения уже возможно и как что-то более практическое.

Итак...

"ТЗ":
программа для обработки файлов и простой GUI к ней.
Назначение: создание и редактирование метаданных стандарта Dublin Core.
Объект: файл, группа файлов, файлы в каталогах рекурсивно, каталог с содержимым.
Функции:
- создание метаданных для [см. объект] (через gui, созданием и заполнением полей)
- сохранение метаданных для [см. объект] в файл-компаньон с тем же названием + расширение (например .meta) (один компаньон на один файл).
- чтение метаданных из компаньона или группы компаньонов (отображение только идентичных для всех компаньонов значений полей)
- снятие контрольной суммы для каждого файла и сохранение значения в файл-компаньон.
- проверка контрольной суммы для каждого файла.

Файл-компаньон подобен торрент-файлу, но не бинарный, а plain text, его состав:
Первой строкой идет хеш содержимого компаньона начиная со второй строки, в формате [имя_алгоритма]_[значение]_[0001]
далее метаданные Dublin Core в синтаксисе xml или rdf
Затем список путей файлов, за "/" считается файл или каталог с идентичным именем минус ".meta" Если в списке только одна строка и она "/", значит компаньон описывает файл.
Далее значения хеш-функций частей описываемого содержимого, в порядке, заданном в списке файлов выше. Длина части n. В общем, как в торренте.

Язык программирования: любой подходящий. Важно быстродействие.
среда GUI: лучше QT4.
Лицензия: GPL.

Вознаграждение: пиво, или скромное денежное.

Зачем мне это надо: иллюстрация к дипломной по архивоведению. Возможно потом более масштабный проект.
Смысл: существует огромная куча специализированных программ для каталогизации, привязанных к определенным типам файлов или типам данных в них. Архивное ПО у нас в стране - кошмар, если не считать некоторых жемчужин, например в Архиве РАН - но это исключение. Системы управления делопроизводством - коммерческие, тяжеловесные и не сильно стандартизированные.
И наконец: все ПО для каталогизации использует для хранения метаданных только централизованную базу, некоторое записывает метаданные в файлы, но только если формат файла их поддерживает. Универсального формата метаданных, подходящего к любым файлам, на техническом уровне не существует - так уж исторически сложилось. Но есть стандартизованные системы метаданных, не привязанные к форматам и конкретном синтаксису. Dublin Core, например. Реализация такого стандарта может быть самой разной.
Так вот, общий смысл затеи: хранение метаданных стандарта Dublin Core непосредственно при файлах (что означает транспортабельность каждого отдельного файла с его метаданными), независимость от типа данных, уже на основе такого массива возможность организации базы данных со всеми ее прелестями. Плюс проверка неизменности файлов.
То "ТЗ", которое описано выше - это элементарная основа на уровне отдельных файлов. И меня интересует: насколько сложно ее создать (с учетом возможного последующего расширения)? и сколько времени на это может потребоваться?

Пока разговор в теоретическом ключе.

Заранее спасибо откликнувшимся
« Последнее редактирование: 09 Марта 2009, 00:24:59 от Psy[H[] »
Я знаю только то, что ничего не знаю.
                                     

Оффлайн HoudiniWater

  • Любитель
  • *
  • Сообщений: 98
    • Просмотр профиля
может проще как плугин к emacs'у делать?

Оффлайн Psy[H[]

  • Автор темы
  • Активист
  • *
  • Сообщений: 883
  • Маньяк. Ставлю Линух на все что попадется под руку
    • Просмотр профиля
emacs не user-frendly
Если уж как плагин, то скорее к Dolphin. Если он плагины поддерживает
Я знаю только то, что ничего не знаю.
                                     

 

Страница сгенерирована за 0.018 секунд. Запросов: 21.