понедельник, 19 марта 2012 г.

Метаданные и индексы

Добавляем метаданные
Вкладка Настройки, Типы метаданных, вторичное меню:Создание новых.
Заполняем:
  1. Имя - латинскими буквами, например, upload_date, это внутреннее имя python
  2. Название - можно по-русски, например, Дата загрузки, это видимое пользователю системы имя.
  3. По умолчанию - значение, используемое по умолчанию, можно использовать функции Python, например, current_date()
  4. Поиск - оставляем пустым, я  пока не разобрался
Жмём кнопку [Выполнить]

Добавляем индекс
Вкладка Настройки, Индексы, вторичное меню: Создать индекс
Заполняем:
  1. Имя - латинскими буквами, например, DateTree, это внутреннее имя python
  2. Название - можно по-русски, например, Даты, это видимое пользователю системы имя.
  3. Разрешено - должна стоять галочка.
Жмём кнопку [Выполнить]

Редактируем Шаблон дерева
В списке индексов переходим по ссылке "Шаблон дерева", соответствующей созданному нами индексу "Даты"
На уровне root переходим по ссылке "Новый дочерний узел"
Заполняем:
  1. Выражение индексации - metadata.upload_date[6:], это выражение извлекает год из даты в формате дд.мм.гггг
  2. Разрешено - должна стоять галочка
  3. Связать документы - не должна стоять галочка
Жмём кнопку [Выполнить]
На уровне metadata.upload_date[6:] переходим по ссылке "Новый дочерний узел"
Заполняем:
  1. Выражение индексации - metadata.upload_date[3:5], это выражение извлекает месяц из даты в формате дд.мм.гггг
  2. Разрешено - должна стоять галочка
  3. Связать документы - не должна стоять галочка
Жмём кнопку [Выполнить]
На уровне metadata.upload_date[3:5] переходим по ссылке "Новый дочерний узел"
Заполняем:
  1. Выражение индексации - metadata.upload_date[0:2], это выражение извлекает день из даты в формате дд.мм.гггг
  2. Разрешено - должна стоять галочка
  3. Связать документы - должна стоять галочка
Жмём кнопку [Выполнить]
Теперь если нужно перестроить индексы идём Инструменты-Техническое обслуживание-Восстановление индексов и соглашаемся c перестройкой индексов.
После всех этих движений мы получаем деревовидный индекс с распределением документов по дате загрузки.

среда, 29 февраля 2012 г.

0.12

Новая версия Mayan EDMS - 0.12. Три месяца работы с выхода предыдущей версии и год с начала проекта.
Реализовано:
* контроль доступа к документам, папкам и меткам
* вход для анонимных пользователей
* само-собой обновлён в некоторых местах мой корявый перевод и замечательные итальянский и частично замечательный польский :)
* улучшены виджеты (делаю вид, что понял:)
* возможность загружать несколько документов одним zip-файлом
* настраиваемые каталоги GPG, для дистрибутивов не имеющих таковых по умолчанию
* утилиты командной строки для массовой загрузки документов и учётных записей
* пересмотрена индексация, теперь возможны множественные автоматические индексы
* улучшено качество кода и документации

Поздравляем Роберто с новым рубежом!

вторник, 13 декабря 2011 г.

О названии.

Я задал вопрос по поводу названия автору программы и он ответил следующее:

Ha ha ha a lot of people have asked why it is called Mayan, but I don't answer because it is a small joke.  The first version of Mayan I did in February for my work was done in less than 6 days.  It was an emergency because my government has started requiring digital documents but did not provide the agencies with any document management software, and we really had no idea what to do, so based in what I learned from other DMS, I did one for our specific needs.  The day before the installation I was watching a documentary on the 'Templo de las Inscripciones' as you have noted, and I thought "Wow I don't think the Mayan never had any document management problem because they were really organized and intelligent people".  And so that's the story, it's an internal joke about how I think the Mayan are smarter than the people running the government in my country! :D
То есть ему пришлось делать эту систему в спешке для служебных целей, поскольку его правительство осчастливило всех необходимостью введения электронного документооборота не предоставив к тому ПО. Я так думаю, что он натыкался на те же грабли что и я при поиске СЭД, и в результате он сделал свою Mayan. За день до инсталляции он увидел фильм о Храме Надписей в древней столице майя Паленке - том самом храме, где на крышке саркофага К’инич Ханааб Пакаля находится изображение, которое часть граждан считает изображением космонавта и пришел к выводу, что древние майя были умнее нынешнего правительства и не имели проблем с управлением документами.
В общем столько часовых поясов между Пуэрто-Рико и Россией, а проблемы те же.

Изменения в процедуре установки 0.11 и обновление 0.11.1

При установке 0.11 после ./manage.py syncdb предлагается выполнить ./manage.py migrate для создания остальных таблиц, но эта процедура не завершается, поскольку джанго пытается создавать индексы для текстовых полей, которые требуют указания длины ключа
_mysql_exceptions.OperationalError: (1170, "BLOB/TEXT column'description' used in key specification without a key length")
Для выполнения процедуры мне пришлось удалить db_index=true для TextField из файла mayan/apps/documents/migrations/0001_initial.py, удалять все таблицы documents_*, запускать ./manage.py migrate и создавать соответствующие FULLTEXT индексы вручную.
Вышло обновление 0.11.1 исправившее ошибку при удалении документа.

четверг, 8 декабря 2011 г.

Тест 0.11

Сегодня не выдержал и забросил ремонт (я после работы с удовольствием осваиваю штукатурное дело) и испытал новую версию на соответствие моим минимальным потребностям, а именно - поддержку офисных форматов. Честно говоря, то что Майян отображает документы в виде картинок приятно, но не очень важно для меня, а вот то что теперь после отправки документа на распознавание в поле содержимого появляется текст - это уже большой плюс, поскольку уже позволяет вести поиск среди документов. Видел вкладку версий и подписей, сделал перевод к новому приложению. Предложу Роберто извлекать текст из офисных документов в процессе закачки.
 Из личных мучений сделал вывод - сейчас проще всего устанавливать Майан под Arch. Роберто постоянно обновляет свою систему и "чтобы оставаться на месте здесь нужно бежать", и вот Arch в этом смысле очень удобен, жаль что мне так и не удалось его установить в OpenVZ. Буду клянчить у начальства новый сервер под эту штуку.

upd. Роберто на мои предложения ответил, что

The option for automatic text extraction/OCR is:
OCR_AUTOMATIC_OCR = True
put this in your settings_local.py file and restart the webserver, verify that it in 'Setup' -> 'Settings'

Version .11 also tries to extract text from office documents before doing an OCR.

Thank you for the suggestions I will improve the format of the text extracted, and will try add CSV support to this.

среда, 7 декабря 2011 г.

Версия 0.11

Список изменений
Вкратце:
  1. Добавлена поддержка цифровых подписей, как внедрённых в документ, так и отдельных.
  2. Добавлена поддержка версий документов.
  3. Извлечение текста из офисных документов.
  4. Добавлены новые mime-типы офисных документов.
  5. В число требующихся программ включена система миграции баз данных South и добавлены соответствующие миграции.

понедельник, 28 ноября 2011 г.

Кодировка mysql по умолчанию

Чтобы была utf8 (спасибо, http://broderix.blogspot.com/2009/06/mysql5-default-character-collation.html)

Можно еще проще для ubuntu (10.04):
создать файл, например /etc/mysql/conf.d/mysqld_charset.cnf
с текстом:


[mysqld]
default-character-set=utf8
default-collation=utf8_general_ci
character-set-server=utf8
init-connect='SET NAMES utf8;'
collation-server=utf8_general_ci

[mysql]
default-character-set=utf8