Библиотекарь FBLibrarian — различия между версиями

Материал из FictionBook
Перейти к: навигация, поиск
(История от Дмитрия Пустовита)
Строка 1: Строка 1:
 
[[История программы FBLibrarian]]
 
[[История программы FBLibrarian]]
  
== История от Дмитрия Пустовита==
 
  
Сразу отвечу на вопрос "Почему такой скачок в версиях?"
 
 
Были произведены кардинальные изменения как в программном коде, так и в структуре
 
базы данных. Билдов (невыложенных) было очень много. Изменения, производимые в программе
 
не фиксировал по причине банальной лени и нехватки времени.
 
 
К тому же, я думаю, что программа уже достаточно функциональна и достойна того, чтобы
 
изменить мажорный номер версии.
 
 
В процессе работы над программой мне очень помогают замечания пользователей.
 
 
Большое количество ошибок и недочетов выявлено именно ими.
 
 
По мере возможности я постарался в данном файле указывать имена или ники (форум
 
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
 
 
Начальная версия
 
  
 
== Ошибки ==
 
== Ошибки ==

Версия 11:29, 2 февраля 2007

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


Ошибки

Замечания и предложения