|
|
Строка 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
| |
− |
| |
− | Начальная версия
| |
| | | |
| == Ошибки == | | == Ошибки == |