koreec
Немного истории
Рылся в закромах и нашел свою программку, которая послужила прототипом интерфейса MyHomeLib. Называется это чудо просто и незатейливо - Каталог. Было сделано 3 года назад по заказу одного СТО для автоматизации процесса подготовки счетов:
1.5 бета
Объективная реальность
Такова, что шансы на появление работоспособной "двойки" в обозримом будущем равны нулю. Слишком много нужно сделать, и слишком много нерешенных проблем, особенно с движком БД. "Птица" ведет себя значительно хуже, чем я себе представлял. Есть проблемы со скоростью - на небольших выборках работает в разы медленнее, чем AbsoluteDB...
C другой стороны, возникла насущная проблема добавить в MyHomeLib некоторые вещи "здесь и сейчас". Вот так и появилась ветка 1.5. Движок отсался тот же - AbsoluteDB, структура БД была изменена для реализации новых фич. Фактически, сейчас мы имеем гибрид ветки 1.4 (по функцоналу) и ранней альфы 2.0 (той, котрая на абсолюте) минус поддержа скинов.
В данный момент реализовано все, что было в обоих ветках плюс добавились новые возможности - настраиваемый формат импорта из inpx, поддержка информации о языке и ключевые слова. Пока что 1.5 в статусе "альфа", но в ближайшее время перейдет в "бету".
Самое главное, что в последнем релизе 1.4.1 была добавлена возможность экспорта пользовательских данных для последующего переноса в 1.5. Реализация, возможно, не самая удобная для пользователей (нужно делать экспорт для каждой из коллекции), но с другой строны достаточно простая для меня. Можно было бы чего-нибудь более навороченное придумать, но тогда это заняло бы неопределенное время, и выход "полторашки" пришлось бы отложить на неопределенное время.
Новый движок БД
После длительного обсуждения было решено движок все-таки сменить. Остановились на Firebird Embedded. Плюсов много - работает быстрее (вроде-бы), размер базы существенно меньше (80 метров против 320) ну и возможности существенно шире. Без минусов, конечно, тоже не обошлось. Основной - нужно все переделывать. Legion как раз этим сейчас и занимается. Надеюсь, в ближайшее время удастся выложить первую альфу с базовым функционалом (librusec + librusec online).
Внимательнее надо быть...
Под Вистой обнаружился странный косяк - синхронизация файлов онлайн-коллекции вылетала после первых 500 просканированных книг. При этом в той же Висте, но под отладчиком все работало "на ура". В Win XP этот баг вообще никак не проявлялся. Прям какой-то полтергейст...
В результате почти детективного расследования проблема была найдена, причем находилась она совсем в другом месте. При создании таблиц длина поля Title для книги устанавливалась в 100 символов, а делее по тексту везде было 255. И как только обнаруживалась книга с названием длинее 100 символов, падал индекс. Найти такую книги среди 115 тысяч методом тыка практически не реально, ну а синхронизация - это единственное место, где читаются все записи без исключения.
Самое непонятное в этой истории то, что проявлялось это безобразие исключительно в Висте, ХРюша на такие мелочи внимания не обращает.