История программы FBLibrarian

Материал из FictionBook
Перейти к: навигация, поиск

История от TaciturnMan

Версия 1.4.3.0 (07.04.2009):

  • В сканер добавлено еще один статус обработки: "дубль (автор/название отличается)". Статус присваивается, если добавляемая книга найдена в библиотеке по ID, но автор или название отличается.
  • Исправлен баг: в режиме "Файловая система" в случае обновления книги старые версии книг не резервировались в папку OLD.
  • Исправлен баг: в режиме "Файловая система" в случае обновления книги старый файл не удалялся.
  • В шаблон именования файлов добавлены макросы *SI2* и *SI3* для подстановки номеров книг в серии, дополненных слева нулями до длины 2 и 3 символа соответственно.
  • В шаблон именования файлов добавлен макрос *ID* для подстановки уникального идентификатора книги из базы данных библиотеки.


Версия 1.4.2.5 (6.03.2009):

  • Мелкие исправления.


Версия 1.4.2.1 (15.10.2007):

  • PageControl в главной форме заменен на TcxPageControl.


Версия 1.4.1.0 (14.09.2007):

  • Добавлена возможность указывать в настройках относительные пути к папкам и файлам.

Допускаются следующие переменные:

  • PROGRAMROOT* - корневая папка программы (в которой находится FBLibrary.exe)
  • LIBRARYROOT* - корневая папка библиотеки (в которой находится база данных *.FBD).
  • TEMPFOLDER* - папка, на которую указывают переменные окружения TEMP или TMP.

Внимание! Переменные чувствительны к регистру. Внимание! Если указать в качестве папки для временных файлов значение "*TEMPFOLDER*\" и установлен чекбокс "Удалять временные файлы при выходе", то программа при закрытии попытается удалить ВСЕ файлы в этой папке. Поэтому, лучше указывать подпапку, например "*TEMPFOLDER*\fb2librarian". Например, если записать библиотеку (с файловым способом хранения книг) на DVD, можно указать путь к точке монтирования как "*LIBRARYROOT*\Books", т.е. в папке Book, которая находится в папке с файлом Library.fbd.

  • В файл fb2library.ini добавлен параметр ReadOnlyMode. Если он равен 1, то программа

не записывает установки в ini-файлы. Аналогично, если параметр SaveGeometry равен 1, то изменения не записываются в файл fb2props.ini.


Версия 1.4.0.0 (05.09.2007): RELEASE

  • Устранены некоторые баги, внесенные в процессе оптимизации работы с жанрами.
  • Усовершенствована обработка шаблона именования файлов книг.


Версия 1.3.9.0 (03.09.2007):

  • В шаблон именования файлов добавлены макросы *NA* (name abbreviation), *GNR* (genre name russian), *GNE* (genre name english) для подстановки первой буквы фамилии первого автора, названия жанра по-русски и по-английски соответственно.
  • Мелкие исправления в интерфейсе (оценки и т.д.).
  • Оптимизации в процедурах работы с жанрами.


Версия 1.3.8.0 (27.08.2007):

  • Исправлена ошибка формирования имени файлов в процедуре изменения способа хранения книг.


Версия 1.3.7.0 (09.08.2007):

  • Добавлена возможность настройки подчеркивания шрифта в указателе авторов.
  • Добавлена возможность отображения указателя авторов в две строки (PDV). Для этого

замените файл Abc.txt файлом Abc_example_2rows.txt.

  • В сканере отключена проверка правильности кодирования обложки в формате base64 (!).
  • В сканере отключена проверка наличия у книги хотя бы одного жанра (!).
  • В справочнике жанров исправлена опечатка: prose_rus_classsic -> prose_rus_classic (требуется обновление БД)


Версия 1.3.6.0 (30.07.2007): RELEASE

  • Устранен баг с загрузкой обложки при описании новой книги в сканере.
  • Исправлено формирование расширения имени файла для расширений длиной больше 3 символов.
  • Операции с файлами книг теперь выполняются в рамках транзакций базы данных.


Версия 1.3.5.0 (25.07.2007): RELEASE

  • Устранен баг с некорректной подстановкой *SI* в шаблоне именования файлов
  • Добавлен макрос *SA* (sequence abbreviation) для подстановки аббревиатуры названия серии в шаблоне именования файлов.


Версия 1.3.4.0 (24.07.2007):


Версия 1.3.3.0 (23.07.2007):


Версия 1.3.2.0 (18.07.2007): RELEASE

  • Добавлены настройки для типов (расширений) файлов книг, читаемых подключенным ридером. Книги

форматов, не входящих в список читаемых, запускаются для чтения с помощью ассоциированной программы.

  • Изменен формат хранения пользовательского меню. Теперь хранится в файле Usermenu.ini. Имеющиеся в

прежних версиях пункты меню (в файле params.txt) нужно заново ввести вручную через интерфейс программы.

  • Добавлен новый режим (INDEX-ONLY) работы программы, при котором книги хранятся в файловой системе,

их расположение не меняется программой, перепаковка не производится. Программа только индексирует их метаданные для включения в каталог библиотеки.


Версия 1.3.1.0 (10.07.2007):

  • Значительно переделаны процедуры добавления книг в сканере.
  • В сканере добавлена возможность интерактивно вводить описание книги. Доступ - через команду

"Ввести описание книги и обработать еще раз" контексного меню на записи со статусом "Требуется описание книги".

  • Старые версии книг при переписывании сканером резервируются в отдельную папку.
  • Сканер теперь обрабатывает RAR-архивы. Требуется библиотека unrar3.dll, расположенная в папке программы

или по одному из путей, перечисленных в переменной PATH.


Версия 1.3.0.0 (04.07.2007):

  • Библиотека может теперь хранить книги в файлах различных форматов!

Сканер ищет в качестве описания книги: если обрабатывается архив - файл с любым именем и расширением FBD внутри архива, затем файл рядом с архивом с именем архива и расширеним FBD; если обрабатывается неупакованный файл - файл с таким же именем, но с расширением FBD, в той же папке. Формат файла FBD - такой же, как у FB2, но секция BODY необязательна (пустая или отсутствует). Секция DESCRIPTION может содержать ссылку на обложку из секции BINARY, как в обычном FB2-файле. В процессе загрузки файла в библиотеку, файл FBD включается в архив вместе с книгой в любом формате. Это позволяет передавать такой архив с книгой и легко включать его в другую библиотеку.

//====================== Внимание! Если в сканере при обработке некоторых файлов иногда возникает ошибка распаковки архива c сообщением "Operation aborted". В этом случае попробуйте, обработать файл еще раз. Причины ошибок выясняются. //======================

Версия 1.2.5.0 (22.06.2007):

  • Исправлены баги в настройках алфавитного указателя авторов.
  • В сканере: добавлена проверка по ID на наличие идентичной книги в библиотеке.
  • В сканере: отображение информации о переводчиках книги
  • Добавлена возможность копировать текст из полей автор, название, серия, жанры в буфер обмена.
  • Добавлена возможность при файловом способе хранения книг настроить шаблон для имен файлов и папок.

Шаблон настраивается через диалог "Настройки", вкладка "Прочее". В шаблоне используется синтаксис, сходный с таковым в программе FBLibraryFileRename (автор Сергей Чернышов (sach)), но имеются и некоторые различия.

По умолчанию используется такой шаблон:

  • NL*_*NF*[_*NM*][_*NN*]\*NL*_*BN*[(*SN*-*SI*)]{_}{T}

который сформирует такое имя папки и файла: Akunin_Boris\Akunin_Altyn-Tolobas(Priklyucheniya_Nikolasa_Fandorina-1).zip

Шаблон чувствителен к регистру использованных символов! Шаблон должен содержать в себе хотя бы один символ "\" (для разделения имен папки и файла). В шаблоне могут быть использованы следующие переменные:

*NL* - фамилия первого автора
*NF* - имя первого автора
*NM* - отчество первого автора
*NN* - ник первого автора
*GN* - название первого жанра книги
*BN* - название книги
*SN* - серия книги
*SI* - номер книги в серии

Все прочие символы будут выводиться в имя папки и файла, как есть. Части шаблона, ограниченные квадратными скобками, не будут использоваться, если ВСЕ включенные в них переменные оказываются пустыми. Кроме переменных, в шаблоне могут быть модификаторы, которые представляют собой выражения в фигурных скобках. Модификаторы задают дополнительные операции, которые выполняются после формирования имен папки и файла. {U} - перевод всего результата в верхний регистр {L} - перевод всего результата в нижний регистр {T} - транслитерация результата {x} - символьное выражение внутри фигурных скобок, на которое заменяются все пробельные символы в имени. Если выражение пустое (т.е. "{}"), пробелы удаляются. Если модификатор не присутствует в шаблоне, по-умолчанию используется "{_}" (подчеркивание). Чтобы оставить пробелы, нужно указать "{ }" (один пробел в фигурных скобках).

Примеры:

  • GN*\*NL*, *NF*[ *NM*][(*NN*)]\*NL* - *BN*[(*SN*-*SI*)]{ } = жанр\автор\книга (регистр без изменений, пробелы остаются, без транслитерации)

-> det_history\Акунин, Борис\Акунин - Алтын-Толобас(Приключения Николаса Фандорина-1).zip

  • GN*\*NL*_*NF*[_*NM*][_*NN*]\*NL*_*BN*[(*SN*-*SI*)]{_}{L}{T} = жанр\автор\книга (имена в нижнем регистре, с транслитерацией)

-> det_history\akunin_boris\akunin_altyn-tolobas(priklyucheniya_nikolasa_fandorina-1).zip

  • NL*_*NF*[_*NM*][_*NN*]\*NL*_[(*SN*-*SI*)_]*BN*{-}{U}{T} = автор\книга (имена в верхнем регистре, пробелы на дефисы, транслитерация)

-> AKUNIN_BORIS\AKUNIN_(PRIKLYUCHENIYA-NIKOLASA-FANDORINA-1)_ALTYN-TOLOBAS.ZIP

и т.д


Версия 1.2.2.0 (20.03.2007): RELEASE UPDATE

  • Исправлен баг, когда при смене обложки старая картинка в FB2-файле оставалась наряду с новой, если имя старой картинки отличалось от "cover.jpg".
  • Добавлена функция сохранения списка прочитанных книг в файл формата HTML, CSV, TSV или TXT (по правому клику в списке прочитанных книг).
  • Исправлен баг, из-за которого не отображалась информация в столбце "Версия".


Версия 1.2.1.0 (15.03.2007): RELEASE UPDATE

  • Исправлены баги с кнопкой Refresh на вкладках "Жанры" и "Запланировано к прочтению".
  • Подключено пользователькое меню для книг во вкладке "Запланировано к прочтению".
  • Исправлен баг с форматом версии документа в форме "Информация о книге".


Версия 1.2.0.0 (13.03.2007): RELEASE

  • Множество мелких и крупных исправлений.


Версия 1.1.8.0 (12.03.2007):

  • База данных: столбцы таблицы DOCINFO перенесены в таблицу BOOK. Перенос данных выполняется

автоматически после изменения структуры таблицы. Таблица DOCINFO удаляется также автоматически после успешного обновления.

ВНИМАНИЕ! Убедитесь перед запуском обновления, что на диске с библиотекой имеется достаточно свободного пространства (не менее 20-30Мб).

ВНИМАНИЕ! После изменения структуры база данных будет несовместима с предыдущими версиями программы! Настоятельно рекомендуется сделать копию базы данных перед обновлением версии.


Версия 1.1.5.0 (03.03.2007):

  • Добавлена возможность устанавливать для отдельных синонимов авторов флаг "Показывать в

списке авторов". В списке авторов синонимы выделяются другим цветом.

  • Добавлена возможность при редактировании информации о книге выбирать синоним, который

отмечен флагом "Показывать в списке авторов" в качестве автора книги.

  • Исправлена ошибка Access Violation, возникающая при Ctrl-Click на Hint при MultiSelect в гриде,

если содержимое не помещается в ячейке (Mike Sinkovsky).


Версия 1.1.4.0 (03.03.2007):

  • Исправлена ошибка при создании синонима из автора, который сам имеет синонимы. Теперь

синонимы автора, который сам становится синонимом, станут синонимами "нового" автора.

  • Добавлена возможность изменять списки авторов электронного документа и переводчиков книги.


Версия 1.1.1.0 (01.03.2007): RELEASE UPDATE

  • Усовершенствована процедура внесения изменений в FB2-файл, которая могла при определенных обстоятельствах приводить к созданию XML, не соответствующего схеме FictionBook.xsd в полной мере.


Версия 1.1.0.1 (27.02.2007): RELEASE UPDATE

  • Исправлена ошибка, из-за которой в режиме файлового хранения программа могла удалить файл книги в момент сохранения изменений в диалоге "Редактировать информацию о книге..."


Версия 1.1.0.0 (26.02.2007): RELEASE

  • Мелкие усовершенствования в интерфейсе.


Версия 1.0.0.76 (21.02.2007):

  • Исправлены ошибки в поиске по всем библиотекам.
  • Усовершенствована процедура для авторов "Добавить как синоним".


Версия 1.0.0.74 (20.02.2007):

  • Исправлена ошибка, приводящая к невозможности добавить книгу в избранное, если она отмечена как прочитанная (Stepochka).
  • Исправлена ошибка, возникающая в сканере при удалении успешно обработанных записей.
  • Исправлена ошибка, возникающая в сканере при обработке нескольких записей, если включен автофильтр.


Версия 1.0.0.73 (16.02.2007):

  • Усовершенствование сканера с целью удобного отображения отличий при сравнении файлов.

Изменение структуры таблиц в файле FBScanner.fdb. ВНИМАНИЕ! Удалите файл FBScanner.fdb в корневой папке программы перед запуском новой версии программы.


Версия 1.0.0.71 (16.02.2007):

  • С целью ускорения загрузки программы изменен механизм многоязыковой поддержки.


Версия 1.0.0.69 (15.02.2007):

  • Создание процедуры для изменения порядка следования имени и фамилии авторов в базе

(пункт меню "Инструменты"/"Переписать списки авторов книг").


Версия 1.0.0.67 (14.02.2007):

  • Замена Font.Charset на RUSSIAN_CHARSET для главной формы программы (для тестирования).
  • Добавлено восстановление позиций в списках авторов и книг, которые были активны перед закрытием

программы.


Версия 1.0.0.65 (13.02.2007):

  • Во вкладку "Новинки" добавлена возможность поиска по году издания книги.
  • Изменение в сканере порядка следования имен и фамилий авторов на "Lastname, Firstname".


Версия 1.0.0.64 (12.02.2007):

  • Усовершенствование интерфейса, контексных меню авторов и книг.
  • Теперь возможно выполнять основные операции для нескольких отмеченных книг одновременно.
  • Исправлены хранимые процедуры для работы со списками прочитанных, запланированных к прочтению, избранных.

ВНИМАНИЕ! Рекомендуется удалить файл fb2props.ini в корневой папке программы перед запуском новой версии программы для возврата к начальным настройкам параметров окон, панелей и меню программы.


Версия 1.0.0.62 (09.02.2007):

  • Исправлены процедуры вызова приложений через пользовательское меню.


Версия 1.0.0.60 (07.02.2007):

  • Добавлена настройки колонок в списке авторов, на вкладках "Серии", "Жанры".
  • Во вкладку "Новинки" добавлена возможность поиска по языку документа, исходному языку книги и признаку "Только непрочитанные".


Версия 1.0.0.59 (06.02.2007):

  • Добавлена возможность индивидуальной настройки кнопок тулбара и колонок в гридах (PDV). Сохранение настроек в ini-файле (PDV).

Версия 1.0.0.58 (05.02.2007):

  • Исправлена ошибка, возникающая при входе в настройки, если программа запущена с расшаренной сетевой папки (Stepochka). Однако, база данных с библиотекой по прежнему должна находиться либо на локальном диске, либо быть доступной через сервер Firebird, но не на разделяемом ресурсе: http://www.ibase.ru/ibfaq.htm#share
  • Устранены ошибки при подсчете статистики в сканере (FBAdmin).
  • Устранена ошибка, возникающая при добавлении книги в избранное из списка запланированных к чтению книг (Stepochka).

Версия 1.0.0.56 (01.02.2007):

  • Исправлена ошибка с аннотацией на вкладке "Жанры".
  • Устранена ошибка, возникающая после регистрации пользователя при активной вкладке "Новинки".
  • Востановлено контекстное меню в списке проектов, найденных с помощью поиска в текущей библиотеке.

Контекстное меню в списке проектов, найденных с помощью поиска во всех библиотеках, отключено.

Версия 1.0.0.54 (31.01.2007):

  • Устранен баг с пустыми именами в списке авторов.
  • Усовершенствован механизм автоматического обновления структуры базы данных

Версия 1.0.0.52 (30.01.2007):

  • Устранен баг с обрезанием имен и фамилий авторов в форме редактирования информации о книге.
  • Изменено представление списка авторов

Статусы обработки добавляемого документа:

Ready for process=Отмечен для обработки

Successfully added=Успешно добавлен

Updated=Обновлено

Bad archive=Поврежденный архив

Parsing error=Ошибка разбора

Duplicate (identical)=Дубликат (идентичный)

Duplicate (older)=Дубликат (старее)

Duplicate (IDs differ)=Дубликат (ID отличается)

Duplicate=Дубликат

Error updating database=Ошибка обновления базы


Алгоритм анализа сканером добавляемого документа:

1. Сканер ищет подобный документ по идентификатору, созданному из названия книги и авторов в алфавитном порядке. Если документ с таким идентификатором не найден в базе, создается новый документ (статус "Успешно добавлен").

2. Если документ с таким идентификатором найден, проверяется, совпадает ли в них поле ID. Если поле ID совпадает, проверяется версия (поле VERSION) добавляемого документа. Если версия больше, чем версия документа в библиотеке, документ заменяет аналогичный документ в библиотеке (статус "Обновлено"). Если поля ID не совпадают, документу присваивается статус "Дубликат (ID отличается)".

3. Если версии не отличаются, проверяется соответствие размеров и дат последней модификации двух документов. Если размеры файлов и их даты последней модификации совпадают, документ приобретает статус "Дубликат (идентичный)". Если версия добавляемого документа меньше или дата последней модификации меньше при равных версиях, присваивается статус "Дубликат (старее)". Иначе присваивается статус "Дубликат" (т.е., когда версии равны, но добавляемый документ новее (?) по дате последней модификации).

4. Если в процессе обработки в базе (после распаковки, парсинга, и упаковки) возникает любая непредвиденная ошибка, документ приобретает статус "Ошибка обновления базы".


Версия 1.0.0.50 (25.01.2007):

  • В сканере добавлена возможность выбрать несколько записей и обработать одной командой
  • Устранено несколько мелких недочетов в сканере и форме редактирования информации о книге.

Версия 1.0.0.49 (25.01.2007):

  • Исправлена ошибка, возникающая при импорте сканером книг с длинными названиями жанров

в старом формате.

  • Много мелких усовершенствований и баг-фиксов

Версия 1.0.0.46 (24.01.2007):

  • В сканере в левой части убран "лишний" столбец с датой поиска файла, а в правой --

отменена группировка по-умолчанию по дате обработки.

  • В списках книг установлена сортировка по-умолчанию: серия, номер, название книги.
  • Служебный файл сканера переименован с FBLIBRARY.FDB в FBSCANNER.FDB (предложено faiber).

Файл со старым именем будет переименован автоматически при старте программы.

Версия 1.0.0.45 (23.01.2007):

  • Переписана форма "Информация о книге" и процедуры внесения изменений в FB2-файл.

ВНИМАНИЕ! Нужно учитывать, что для минимизации возможных искажений исходного FB2-файла в нем переписываются только те реквизиты, которые были изменены в форме редактирования. В то же время, в случае переписывания многострочных текстовых полей для форматирования текста будет использовано только простое разбиение на параграфы с помощью тега <p>.

Т.е., например, если аннотация не изменялась, то в FB2-файле останется узел <annotation>, который полностью совпадает в исходным. ОДНАКО, если текст в поле "Аннотация" изменялся, то узел <annotation> в FB2-файле будет переписан заново, используя простое разбиение текста на параграфы при помощи тега <p>, и при этом потеряется сложное форматирование аннотации (тегами <poem>, <cite>, <subtitle>, <table>, <empty-line/>).

Одним словом, без надобности не редактируйте поля "Аннотация", "История", "Прочее".

Версия 1.0.0.42 (16.01.2007):

  • Добавлена функция поиска по зарегистрированным в портале библиотекам (автор: PDV)
  • В сканере расширен список статусов, сигнализирующих о результатах обработки файла
  • Добавлена проверка прав доступа для редактирования информации об авторах и синонимах

(предложено Stepochka).

Версия 1.0.0.37 (12.01.2007):

  • База данных: поле "Имя" (автора, переводчика) расширено со 20 до 40 символов
  • База данных: поле "Отчество" (автора, переводчика) расширено со 30 до 40 символов
  • База данных: тип поля "DocInfo.FileDate" изменен с DATE на TIMESTAMP.

Версия 1.0.0.35 (22.12.2006):

  • С целью оптимизации переписаны процедуры парсинга и импорта книги в сканером

Версия 1.0.0.34 (21.12.2006):

  • Исправлена очередная ошибка, возникающая при сохранении информации о книге.

Версия 1.0.0.33 (20.12.2006):

  • Исправлена ошибка, возникающая при сохранении информации о книге.
  • В сканере исправлена процедура для замещения книги другой версией (при различающихся ID книг).
  • В сканере добавлена возможность, в случае обнаружения дубликата, создавать новую книгу, не удаляя старой.

Версия 1.0.0.32 (18.12.2006):

  • Автоматическое обновление хранимых процедур в базе данных
  • Процедура для копирования информации об авторах, пользователях, рецензиях, цитатах, оценках, прочтениях из других баз данных (см. файл Migration.txt)
  • Мелкие усовершенствования и баг-фиксы

Версия 1.0.0.30 (08.12.2006):

  • Опция сохранения размеров и позиций окон программы
  • Настройки алфавитной панели: шрифт, размеры, интервал (PDV)
  • Много мелких усовершенствований и баг-фиксов

Версия 1.0.0.26 (01.12.2006):

  • База данных: опять без кодировки по-умолчанию!
  • База данных: построены все ограничения целостности на уровне таблиц
  • База данных: исправлены ошибки в процедурах при создании серий
  • База данных: поле "Название книги" расширено со 100 до 252 символов
  • Исправлены ошибки при импорте неархивированных FB2-файлов
  • Исправлено несколько ошибок, касающихся интерфейса.
  • Исправлена ошибка, возникающая при вводе нового пользователя (AlexArh).
  • Исправлена ошибка при импорте файлов с датами в нестандартных форматах
  • Расширены поля на форме сканера для счетчиков файлов
  • Добавлены перекрестные ссылки на автора и серию (PDV)
  • Портал (перечень доступных библиотек) теперь хранится в ini-файле вместо БД (PDV).

Версия 1.0.0.20 (22.11.2006):

  • Сканер построен по "старой" модели, которая более ориентирована на пакетное добаление книг (аналогично версии 1.0.0.12, но в одном окне).
  • Поиск в главной форме вызывается по Ctrl-F
  • После закрытия сканера сохраняется позиция в списке авторов, которая была перед открытием сканера
  • Сохраняются информация о прочтении, оценках и заметках при обновлении книги новой версией
  • Проверяются права пользователя при открытии другой базы/библиотеки
  • Базы данных перестроены в версии Firebird 1.5.3 с кодировкой по умолчанию WIN1251. Архив с программой включает в себя обновленную библиотеку gds32.dll
  • Программа ожидает файлы баз данных в кодировке WIN1251, из-за этого зависает при попытке открыть БД старого формата без указания кодировки. Пока не выяснено, почему сессия зависает, а не выдает сообщение об ошибке в момент создания.

-- Замечания и баг-репорты принимаются на <taciturnman@gmail.com>

История от Дмитрия Пустовита

Сразу отвечу на вопрос "Почему такой скачок в версиях?"

Были произведены кардинальные изменения как в программном коде, так и в структуре базы данных. Билдов (невыложенных) было очень много. Изменения, производимые в программе не фиксировал по причине банальной лени и нехватки времени.

К тому же, я думаю, что программа уже достаточно функциональна и достойна того, чтобы изменить мажорный номер версии.

В процессе работы над программой мне очень помогают замечания пользователей.

Большое количество ошибок и недочетов выявлено именно ими.

По мере возможности я постарался в данном файле указывать имена или ники (форум fictionbook.org) людей выявивших ошибку или посоветовавших внести какое-либо изменение в программу.

Большое им спасибо за помощь!

Важные (ИМХО) замечания по алгоритму работы программы:

1. Названия книг, Серий в базе данных (и соответственно в Description после редактирования) хранятся в виде ProperCase (т.е. каждое слово с заглавной буквы). Предваряя вопросы: пробовал по-разному, МНЕ ПОНРАВИЛСЯ ЭТОТ ВАРИАНТ.

3. При сохранении книги на диск, а так же в режиме работы с файловой системой имя файла книги формируется следующим образом:

Фамилия_Имя (или Имя_Фамилия) (в зависимости от режима LNFN или FNLN) ПЕРВОГО В СПИСКЕ АВТОРА

+

Название_книги

+

(Название_Серии-Номер_в_серии) Причем, в зависимости от значения ключа "Транслит" в настройках все это будет или кириллицей или латиницей.

4. При формировании имени файла заменяются на подчеркивание символы не входящие в диапазон: ['A'..'Z', 'a'..'z', '0'..'9', '-', '!', '_', 'А'..'Я', 'а'..'я', 'Ё', 'ё']

5. При сохранении в базе данных (и в книге после выгрузки из библиотеки) обложка преобразуется к JPG, независимо от того, в каком формате она была в исходном файле.

Ограничения

1. Не поддерживается отображение более 1 обложки для каждой книги

2. Размер аннотации книги ограничен 4096 байтами (я считаю, что больше - это уже предисловие). При большем размере сканер не пропустит

3. Есть ограничения по длине полей. Обычно лишнее урезается справа. Но сканер может и не пропустить (не до конца проверил).

4. Может есть еще что-то, просто на данный момент я не вспомнил.


TODO


Функционал:

  • Визуализация физического размера файла базы данных
  • Сохранение Ini-файла не в рабочем каталоге
  • Перенос/копирование из библиотеки в библиотеку
  • Добавление книг формата не FB2

Plugins:

  • Экспорт списка книг в XML,CVS,TXT,XLS
  • Экспорт заголовков (BookInfo) (plugin)
  • Построение простейшего сайта на основе БД (plugin)


Версия 1.0.0.8 RC1 (DB+File System Version)

+ Исправлена серьезная ошибка. При редактировании информации о книге менялся ID документа. Теперь он остается прежним

! Добавил возможность сортировки в таблицах щелчком по заголовку (Glassy)

+ Изменил диалог создания библиотеки. Теперь сразу можно выбрать режим хранения книг (Admin)

+ Zip-ы из TMP теперь удаляются.

+ Добавил в сканер расшифровку ошибки/деталей дубликата (Admin)

+ Исправил ошибку записи списка жанров. Не производился поиск в алтернативных названиях

! Таблица Errors перенесена в файл FBLIBRARY.FDB

! Переделана форма отображения статистики. Теперь можно увидеть количество прочитанных книг (Alex)

! Добавлена возможность выбора действия по двойному клику по книге в списке (Не помню, кто просил)

Версия 1.0.0.4 RC1 (DB+File System Version)

+ Косметические изменения

+ Перевод заголовка главной формы работает нормально

+ Убрал кнопки удалить обложку и загрузить обложку с главной формы -теперь доступны только в корректировке информации о книге

+ В комплект включена исправленная база данных

+ В сканере исправлен участок, отвечающий за замену книг в базе найденным дубликатом (теперь обновляется не только сам файл, но и информаци в базе данных)

+ Исправлена процедура изменения способа хранения (при большом количестве книг системе не хватало ресурсов, сейчас процедура работает стабильно. Проверено на 7000 книгах)

! Добавлена возможность указать папку на СЕ устройcтве при передаче файлов. (проверял на 2 устройствах Qtek 2020 и iPAQ 1915. В основную память прошло на ура в обоих случаях, на Storage Card на iPAQ скопировалось нормально, на Qtek файл сбойный. Подозреваю флешку. Проверяйте). Папка сохраняется в ini-файле.

! Положение и размер главной формы, формы просмотра обложки, формы сканера, а также положения и размеры колонок грида, положения и размеры панелей сохраняется при выходе в файле props.ini. Оборотная сторона: пришлось на данных формах отключить максимизацию и в первый раз они могут встать некрасиво на экране (свойство Position выставлено в poDesigned)


Версия 1.0 RC1 (DB+File System Version)

FB2-Сканер

! Сканер сильно переработан и перенесен из dll в основную программу

! Изменен алгоритм определения дубликатов. Теперь во внимание принимается ID из файла книги.

! Добавлена возможность отложить обработку ошибок сканирования на другой сеанс работы с программой

! Убран режим автоматического переноса файлов по папкам в процессе сканирования Это можно сделать вручную по правому клику на списке ошибок

! Теперь можно заменить книгу в библиотеке дубликатом, найденным в процессе сканирования

! При перемещении по списку ошибок в случае дубликата внизу отображается книга из библиотеки, чей дубликат был найден. Здесь же видна версия документа.

Библиотека

! Оптимизорваны запросы к базе данных. Теперь запуск программы происходит значительно быстрее

! На вкладках отображается размер архива с книгой

! Добавлена информация о количестве рецензий на книгу

! Изменена панель с алфавитными вкладками для авторов (вместо вкладок теперь надписи)

! Подписи для вкалдок вынесены в отдельный файл ABC.TXT в папке Language

! Добавлен режим хранения книг в виде файловой системы, замечания - см. выше

! Поменял движок скинов. Программа "понимает" *.msstyle

! Добавлена работа с авторами. В базе данных есть таблица синонимов автора. При работе по ней сканера производится поиск в первую очередь. При нахождении совпадения в базу попадают правильные значения данных автора (файл книги при этом не меняется)

! Добавлены кнопки часто используемых операций на панель управления

! Включено отображение всплывающих подсказок к кнопкам

! Есть возможность импорта жанров из файла genres_transfer. При этом происходит не полная замена жанров, а ОБНОВЛЕНИЕ существующих. К сожалению я не смог (пока) найти способ напрямую использовать этот файл без импорта.

! На панель инструментов выведена кнопка "Обновить". При нажатии на нее происходить переоткрытие запросов на текущей вкладке. Я отказался от автоматического обновления в пользу быстродействия

! Расширен функционал многопользовательской версии:

  • При добавлении книги теперь фиксируется, кем она добавлена
  • Добавлена возможность не отображать прочитанные книги
  • Для каждой книги можно вести "цитатник". Построен по тому же принципу, что история

и рецензии

  • - Удалять книги может либо тот, кто эту книгу внес, либо владелец

библиотеки.

  • Удалить автора может только владелец библиотеки
  • Добавлена возможность запомнить пользователя, входящего в программу по умолчанию

(если вы владелец библиотеки и работаете с чужого рабочего места НЕ ИСПОЛЬЗУЙТЕ ЭТУ ВОЗМОЖНОСТЬ (если вас интересует результат :))).

+ Устранена ошибка, когда в описание книги с отсутствующей обложкой записывалась обложка от другой, уже обработаной книги

+ Исправлено много незначительных ошибок

Версия 0.3.1.2

! Поддержка скинов (пока есть 5 встроенных) в планах - загрузка из файлов

! Удаление авторов

! Многопользовательский режим

  • Отметка о прочтении
  • Авторизация пользователя
  • Статус "Владелец библиотеки"
  • Рецензия
  • История для каждого пользователя
  • Избранное для каждого пользователя


+ Очистка временного каталога

+ Статистика после добавления книг в библиотеку

+ Добавлено несколько кнопок на панель инструментов

Сканер:

+ Изменен алгоритм декодирования обложки. Теперь это происходит намного быстрее даже на больших (порядка 1 Мб) обложках.

+ Исправил ошибку кодирования обложки (формат Base64 в конце м.б. не более 2 знаков =).

+ Подправил алгоритм распознавания MIME для обложки.

Версия 0.2.0.32

! Добавлен украинский языковый файл (Alex)

+ Не работает "переносить в зависимости от результата операции" (Stepochka)

+ Неправильно заполняется autorlist

+ Не отображается autorlist для книг с 2 и более авторами

+ После правки информации о книге частично убивается информация об авторе, в главном окне автора книги видно, а через поиск по имени/фамилии автора книга больше не находится (Stepochka)

+ Ещё, если править инфо о книге без обложки, в окне светится обложка от последней редактируемой и сохранённой (Stepochka)

+ UTF кодировка нестабильно пишется в файл

+ на PDA и при сохранении книги на диск создаётся архив с именем .fb2.zip (Stepochka)

+ Не очищается папка tmp независимо от указания в настройках (Stepochka)

+ Исправлена ошибка поиска по интервалу дат (при задании периода менее двух дней не находилось ничего)

+ Заменил гриды на главной форме для обзора большего количества информации и для введения впоследствии лучшей функциональности

+ Поставил задержку на обновление Detail датасетов при перемещении по Master Перемещение стало более комфортным (ИМХО). Detail обновляется теперь только при остановке прокрутки Master

+ Окно можно развернуть на весь экран (Stepochka)

Сканер:

! Немного оптимизировал код и изменил интерфейс

! Добавил возможность прервать сканирование (Stepochka)

! Добавил окно для вывода текущей операции

! Добавил расшифровку ошибок на каждом из этапов работы (MAX)

+ Устранил ошибку, связанную с Американскими настройками даты (yyyy.mm.dd) (спасибо за найденный глюк, MAX)


Версия 0.2.0.23

1. Заменена компонента, отвечающая за работу с ZIP. (Admin)

2. Сканер FB2 вынесен в отдельную DLL

3. Сканер теперь осуществляет реккурсивный обход папок, начиная с указанной (j0ker)

4. Изменена структура базы данных.

5. Оптимизированы запросы

6. Добавлена поддержка языковых файлов

7. Добавлена возможность регистрации нескольких библиотек (в т.ч. и находящихся на удаленном компьютере)

8. Добавлена возможность подключения программы для чтения

9. Изменено оформление интерфейса программы

10. В редактирование BookInfo добавлены недостающие поля

11. При сохранении BookInfo теперь обновляется сам файл в базе данных

12. Добавлена поддержка plugin-ов

13. Операция по сохранению базы в структуру папок вынесена в plugin

14. Исправлена ошибка с названиями, содержащими кавычки и пр. недопустимые символы

15. Исправлены ранее остававшиеся незамеченными ошибки

16. Начиная с этой версии я работаю над программой один.

Замеченные недоработки и недочеты:

1. Не всегда правильно отрабатывает "Портал" при невозможности подключения к последней открытой библиотеке.

2. При выгрузке из библиотеки на диск поддерживаются пока только UTF-8 и Win-1251. (У меня не было файлов в других кодировках - проверить остальные не смог)

Версия 0.1 beta 1

Начальная версия