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