LibRusLib
Пятница, 19.04.2024, 01:35
Приветствую Вас Гость | RSS
 
Главная ФорумРегистрацияВход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » MultiLib - Библиотекарь » Version 1.x » Обсуждение работы программы (Баги, проблемы, решения)
Обсуждение работы программы
drserjДата: Суббота, 27.05.2017, 13:23 | Сообщение # 1471
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата lordkor ()
Арбайтен, арбайтен унд арбайтен

За арбайтен мани платят, так что это хобби smile

Цитата lordkor ()
Благородный дон хочет нас убедить, что он не знаком с не менее благородным искусством оптимизации кода?
вот именно по этому и тысячи, ибо кавырнадцать раз перепишешь smile
Цитата lordkor ()
Как я уже сказал, галочка в опциях - и пользователь сам решает, принимать ли ему этот подарок или посылать медведа с преведом
в данном случае галочкой не отделаешься... реально много прийдется переписывать, там же и лабелы разного класса и обработчики, и всё это генерится в онлайне... Точно не пол-пинка... В принципе, конечно можно, но не думаю что это первостатейная проблема.

И, да, в юнилибе новинок, как таковых не будет smile Закладки: Авторы, серии, жанры, группы, поиск.


drSerj
 
lordkorДата: Суббота, 27.05.2017, 13:36 | Сообщение # 1472
Лейтенант
Группа: Друзья
Сообщений: 56
Репутация: 0
Статус: Offline
Цитата drserj ()
в данном случае галочкой не отделаешься... реально много прийдется переписывать
Галочка - это уже для пользователя, полезна или вредна ему эта фича. А вот что для этого в коде сделать надо - это уже основной вопрос.

Цитата drserj ()
там же и лабелы разного класса и обработчики, и всё это генерится в онлайне
Мнэ... не понял. По идее это все должно делаться в соответствующей закладке. Тут нам надо просто отработать последовательность действий пользователя "клик на закладку "жанры", раскрыть родительский жанр для переданного аргументом selectedGenreID, фокус на жанре selectedGenreID" - и дальше уже вызывается соответствующая процедура формирования и вывода таблицы, как это происходит в ручном режиме перехода. Или клик по автору/серии в описании сейчас мудренее реализован?

Цитата drserj ()
не думаю что это первостатейная проблема
Ни разу smile

Цитата drserj ()
в юнилибе новинок, как таковых не будет Закладки: Авторы, серии, жанры, группы, поиск
Оп-па, джигурда... А как их тогда отслеживать? Опять руками в поиске по дате импорта "больше или равно"?
 
drserjДата: Суббота, 27.05.2017, 14:27 | Сообщение # 1473
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата lordkor ()
Или клик по автору/серии в описании сейчас мудренее реализован?
значительно smile

Цитата lordkor ()
Опять руками в поиске по дате импорта "больше или равно"?
Дело, наверно, в том, что юнилиб - это приватная библиотека, куда ты добавляешь книги сам, предварительно их отобрав. В отличие от онлайн библиотеки, где ты качаешь базу, в которой ежедневно добавляются сотни книг, и где реально нет возможности и времени всё это разгрести. Вряд ли ежедневно будут огромные поступления. Стоит ли городить такой механизм автоматики ради нескольких книг? Это и лишнее время, лишняя память, лишнее место на диске. Как альтернативный вариант - действительно задействовать механизм поиска, только несколько облагородив smile Если есть какие-то идеи - жду, готов к диалогу smile


drSerj
 
lordkorДата: Суббота, 27.05.2017, 15:09 | Сообщение # 1474
Лейтенант
Группа: Друзья
Сообщений: 56
Репутация: 0
Статус: Offline
Цитата drserj ()
значительно
Ой... А оно точно так надо? smile Ибо сказано "нефиг плодить сущности сверх меры" smile

Цитата drserj ()
юнилиб - это приватная библиотека, куда ты добавляешь книги сам, предварительно их отобрав. В отличие от онлайн библиотеки, где ты качаешь базу, в которой ежедневно добавляются сотни книг, и где реально нет возможности и времени всё это разгрести.
В моих сценариях принципиальной разницы нет.
Если я загружаю в локальную либу пачку книг (да хоть и одну), мне ее надо увидеть сразу после импорта. Допустим, я помню автора (авторОВ) - и иду в соответствующую вкладку, нахожу нужного автора, листаю список - плодовитый, однако - а новой книги там нет - ну, ручки кривые у того, кто файл делал: имя с фамилией местами перепутал, а то и не вписал ненароком. И куда эту книжку занесло - а фиг его знает. И лезем опять в поиск, спрашивая - а чегось у нас тута свеженького привалило-та за последний день, ась?
То есть, по-хорошему, последние новинки должны быть четко видны в любой вкладке среди любой выборки, а также сами по себе отдельной кучей с такими же новинками для единомоментной разборки.

Цитата drserj ()
лишнее время, лишняя память, лишнее место на диске
Мнэ... А зачем "лишнее"? Всего-то хранить в отдельном регулярно обновляемом конфиге дату последнего обновления локальной базы - и сравнивать с ним дату добавления книги. В том же конфиге и текущие статусы вкладок. Все остальное у нас так и останется.

Цитата drserj ()
Если есть какие-то идеи - жду, готов к диалогу
На мой взгляд, за основу вполне можно взять нынешнюю систему МультиЛиба, слегка ее доработав.
1. Выделение шрифтом "последние поступления" работает не только в "новинках", но и во всех остальных вкладках - еще немного удобства, которое не помешает, и вроде не должно быть сильно сложным в реализации (хотя, в последнем уже не уверен :))
2. Вкладка "Новинки" для всех новинок, функционал слегка расширить:
2.1. Добавить категорию "Все", где, соответственно, показываются абсолютно все добавленные за последние импорты книги. Эта категория не редактируется в плане условий отбора.
2.2. Добавить настройку "возраст новинок" в днях - во всех категориях вкладки "Новинки" показываются книги, добавленные не раньше, чем указанный возраст. Если стоит "0", то начинаем со второго успешного добавления (на первом у нас загружается полностью вся текущая база с нуля, поэтому этот момент имеет смысл взять за нулевой отсчет).
3. Добавляем переключатель "только последние поступления" по аналогии с "только скачанное" - либо показываем все книги в выбранной вкладке и категории/группе/авторе/и т.д. с выделенными самыми новыми, или показываем только самые новые. Кстати, весьма удобно будет в таком режиме работать с вкладкой "авторы" - в списке будут только те авторы, у кого появились новые книжки.

По крайней мере, лично я каждый раз при добавлении новых книжек думаю, что именно этого мне не хватает. И для онлайн, и для локальных библиотек.
 
drserjДата: Суббота, 27.05.2017, 17:45 | Сообщение # 1475
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата lordkor ()
Ой... А оно точно так надо?
Ой, таки не знаю, лично я - обойдусь, а остальные - пусть высказываются.

Цитата lordkor ()
И лезем опять в поиск
Дык мы и так лезем smile

Цитата lordkor ()
То есть, по-хорошему, последние новинки должны быть четко видны в любой вкладке среди любой выборки, а также сами по себе отдельной кучей с такими же новинками для единомоментной разборки.
в любой вкладке? как по мне - перебор... по ID всегда видно, что последнее добавлялось. Отдельной кучей... А всегда это надо, или только в случае кривости книги? Если последнее - вполне достаточно поиска, если вообще - даже не знаю.

Как вариант, смотри, если ты рассматривал алгоритм - там имеется пользовательский фильтр. После его прохождения книга попадает или не попадает в базу. Почему бы, как одним из действий фильтра, не сделать добавление в указанную группу? Т.е не лепить новинки, как отдельный фильтр поиска, а создавать новинки, как группу. Причем, можно на каждый импорт создавать либо отдельную группу по дате, либо каждая группа - отдельный сеанс импорта? Новинки - это группа, в которую автоматом добавляются новые книги. Вот только давай подумаем, нужны ли разбивки по критериям, или валить всё в одну кучу. 

Цитата lordkor ()
Мнэ... А зачем "лишнее"? Всего-то хранить в отдельном регулярно обновляемом конфиге дату последнего обновления локальной базы - и сравнивать с ним дату добавления книги. В том же конфиге и текущие статусы вкладок. Все остальное у нас так и останется.

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

Цитата lordkor ()
за основу вполне можно взять нынешнюю систему МультиЛиба

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

Я пока не буду комментировать доработки, подумай над предложением, которое я дал выше. То что предлагаешь - это костыли, к которым привык при работе с мультилибом. Абстрагируйся от этой программы, подумай, что и как реально хотелось бы видеть, а не то, как можно исправить старое. 
Лично я вижу 90% - это именно те самые пользовательские скрипты при импорте, которые анализируют и совершают определенные действия как в базе так и с контентом. И сейчас основное - определиться с перечнем этих действий.


drSerj
 
lordkorДата: Суббота, 27.05.2017, 18:52 | Сообщение # 1476
Лейтенант
Группа: Друзья
Сообщений: 56
Репутация: 0
Статус: Offline
Цитата drserj ()
лично я - обойдусь
Я вообще-то имел ввиду сложную реализацию клика по автору/серии в описании книги... smile

Цитата drserj ()
Дык мы и так лезем
Вот-вот, а мы хотим, чтобы можно было туда не лезть smile

Цитата drserj ()
в любой вкладке? как по мне - перебор... по ID всегда видно, что последнее добавлялось
Почему? Заходим к автору или в жанр/серию - и сразу наглядно визуально выделяются и бросаются в глаза последние новинки.
У меня группировка везде стоит "автор - серия" и сортировка по "номер в серии" - смотреть на bookID тут вообще ни разу не удобно.

Отдельной кучей... А всегда это надо, или только в случае кривости книги? Если последнее - вполне достаточно поиска, если вообще - даже не знаю.
Цитата drserj ()
Отдельной кучей... А всегда это надо, или только в случае кривости книги? Если последнее - вполне достаточно поиска, если вообще - даже не знаю.
Поиск - это "на фига нам интернет-магазин с доставкой, если можно с утречка пораньше из дома выйти и за день все магазины пешком спокойно обойти". То есть, инструмент гибкий, но для замены постоянно выполняемого действия "показать последние поступления" ни фига не подходящий.
КАЖДЫЙ раз искать нужный bookID, открывать настройки фильтра и вставлять в него руками новый bookID - когда все то же самое может сделать сама программа с МИНИМАЛЬНЫМИ доработками - ну, я не знаю...

Цитата drserj ()
если ты рассматривал алгоритм
Не, не видел - пальцем ткнешь?

Цитата drserj ()
создавать новинки, как группу
Мнэ... не понял... А на фига ТАК заморачиваться? "Новинки" в моем понимании - это просто прямой переход на вкладку с выборкой по автоматически подставляемой дате. То есть, это просто поиск с фиксированным критерием. Ничего нигде сохранять не надо - список новинок генерится при открытии вкладки. Это выборка записей с полем "дата загрузки" больше чем текущая минус "возраст" в настройках. А при выводе сравниваем "дата загрузки" с датой предыдущего импорта из конфига - и применяем шрифт, если она больше. И все. А дальше этот запрос уже можно модифицировать различными критериями, как сейчас категории. Их бы тоже оставить, если мы говорим про универсальность - отслеживать появления новых книг избранных авторов, жанров, серий и т.п.

Цитата drserj ()
нужны ли разбивки по критериям, или валить всё в одну кучу.
Нужны однозначно. Копаться в "братской могиле" крайне неудобно - долго, муторно, да и проглядеть нужное легко.

Цитата drserj ()
и плюс к тому данные о всех группах, о всех критериях, книги во всех группах и т д.
 Я бы разделил. Все, что касается структуры базы, на мой взгляд лучше хранить в соответствующих SQL-таблицах, связанных с обновляемой базой книг и справочников. В отдельном разделе реестра или ини-файле настройки самой программы - они меняются редко. А состояние сессии хранить в собственном конфиг-файле.

Цитата drserj ()
нельзя, совсем другая идеология
Идеология та же самая - загрузить в базу информацию о файле с книгой и его содержимом и предоставить эту информацию пользователю в удобном для него виде вместе с доступом к самому содержимому файла, а также обеспечить пользователю возможность удобного для него варианта каталогизации получаемой библиотеки с различными пометками относительно книги. Вся разница в том, что локальная библиотека подразумевает ручное копирование файлов в отведенные места, а онлайн - доступ к онлайн-хранилищу файлов с аналогично организованной пользователем каталогизацией. Соответственно, для пользователя нет ни малейшей разнице при работе с программой, как был получен файл - сам он его скопировал или же поставил в список закачки, найдя в каталоге онлайн-библиотеки. Работа с новинками онлайн-библиотеки для пользователя по сути аналогично тому, что он сунул кучу файлов в локальную и теперь через каталог решает, что оставить, а что удалить - только для онлайн выбор будет "скачать/не трогать". В общем, с точки зрения пользователя МультиЛиба/УниЛиба идеология абсолютно одна и та же - просто внутри чуть по-разному идет обработка и выполняются действия.

Цитата drserj ()
Абстрагируйся от этой программы, подумай, что и как реально хотелось бы видеть
Так я как раз и говорю, что Я хочу иметь smile Я понятия не имею, как внутри устроен МультиЛиб, и как именно он работает - я смотрю на то, как организована работа с библиотекой с точки зрения пользователя. Я пытаюсь рассуждать с точки зрения, как мне удобно было бы пользоваться, и как бы я сам это реализовывал, если бы делал аналогичную программу для себя и для других.

Цитата drserj ()
Лично я вижу 90% - это именно те самые пользовательские скрипты при импорте, которые анализируют и совершают определенные действия как в базе так и с контентом.
Скрипты должны выполнять сами только абсолютно однозначные действия. Во всех остальных случаях они должны давать пользователю возможность корректировки. То есть, вывести список новых файлов скрипт может и должен сам - это действие абсолютно однозначное на стабильно работающей системе. А вот сортировка в БАЗЕ по каким-либо критериям - это уже должен делать сам пользователь по предварительно подготовленной скриптом информации. То есть, если у нас есть группа "ЛитРПГ", мы никак не можем ее формировать скриптами - именно потому, что нет никаких гарантий, что скрипт получит необходимый, не говоря уже о достаточном, набор данных для правильной сортировки. Да, он может отобрать туда все книги с жанром "ЛитРПГ" - но куча книг идет без указания этого жанра, то есть их надо будет все равно вносить в группу вручную. Если мы знаем, что какой-то автор часто пишет в этом жанре, мы можем указать его скрипту для отбора в предварительную группу - но окончательное решение о включении в группу данной книги будет принимать сам пользователь. Куча книг жанра "ЛитРПГ" будет иметь жанром "Киберпанк" - но этот жанр будет и у чистого киберпанка - опять надо отобрать и дать пользователю для принятия ИМ решения на основе индивидуального ручного анализа. И так далее. То есть, задача скрипта - упростить пользователю работу с книгами, сделав за него ту часть, которую ОН МОЖЕТ СДЕЛАТЬ САМ. подготовить для пользователя полуфабрикат, из которого, к примеру, можно просто убрать все лишнее и оставшееся сунуть пакетом в нужное место.
 
drserjДата: Суббота, 27.05.2017, 19:05 | Сообщение # 1477
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата lordkor ()
"Новинки" в моем понимании - это просто прямой переход на вкладку с выборкой по автоматически подставляемой дате.
Цитата lordkor ()
Нужны однозначно. Копаться в "братской могиле" крайне неудобно - долго, муторно, да и проглядеть нужное легко.
 ихде логика? smile

Цитата lordkor ()
Скрипты должны выполнять сами только абсолютно однозначные действия. Во всех остальных случаях они должны давать пользователю возможность корректировки.
и опять противоречим - как же лень и желание всё одной кнопкой? smile

Цитата lordkor ()
Вся разница в том, что локальная библиотека подразумевает ручное копирование файлов в отведенные места, а онлайн - доступ к онлайн-хранилищу файлов с аналогично организованной пользователем каталогизацией.
А вот и нет... Разница в том, что онлайн-библиотека предоставляет тебе готовую базу, корректировать которую нет смысла из-за ее перезаписываемости, а приватная - только твоя со всеми вытекающими (правка, доп. информация, группировки и т.д.). А то, что книги лежат на ПК или в сети - это роли не играет.

Я всё-таки считаю, что не надо плодить сущности и выделять в отдельные категории Новинки. Это обычная группа, в которой те же книги, просто книги в нее добавляются автоматически а не ручками. Вот скажи, есть ли разница в том, что грид в отдельной закладке или имеется Группа с тем же гридом в закладке "Группы"? smile


drSerj
 
lordkorДата: Суббота, 27.05.2017, 20:31 | Сообщение # 1478
Лейтенант
Группа: Друзья
Сообщений: 56
Репутация: 0
Статус: Offline
Цитата drserj ()
ихде логика
В настройке сортировке вывода и настраиваемых критериев отбора по группам. 
Сначала отсматриваем наиболее строгие фильтры, затем все более крупные, а в конце уже самые крупные. У меня что сейчас в "Новинках", что в поиске в МайХоумЛибе самая крупная выборка - фантастика. причем, не весь жанр, а исчерпывающий список интересующих меня поджанров. все остальное я даже не вижу. А для уменьшения "мусора" мне как раз и нужно переключение "все новинки/последние поступления" smile Так что, все абсолютно логично smile

Цитата drserj ()
и опять противоречим - как же лень и желание всё одной кнопкой?
Опять же ни малейшего противоречия - "лень" как раз и требует, чтобы комп сам проделал всю предварительную работу, оставив ленивому пользователю только "да/нет" smile А если на этом этапе полностью положиться на комп, потом придется выискивать нужное среди ВСЕГО объема мусора smile Так что, как раз лень во главе угла smile

Цитата drserj ()
Разница в том, что онлайн-библиотека предоставляет тебе готовую базу, корректировать которую нет смысла из-за ее перезаписываемости, а приватная - только твоя со всеми вытекающими (правка, доп. информация, группировки и т.д.).
С моей точки зрения как пользователя эти принципиально неверный подход. Для меня онлайн-библиотека - это интернет-магазин, в котором я могу посмотреть каталог имеющихся товаров и их описание, а потом купить нужное с доставкой на дом - а дальше пользоваться покупкой точно так же, как и купленным в обычном магазине. В обоих случаях я пользуюсь тем, что у меня в наличии дома - а купил я это, увидев в магазине и принеся домой в сумке, или же, увидев на сайте и впустив курьера - с точки зрения использования разницы абсолютно никакой.
Онлайн-библиотека - это по сути большая свалка файлов, в которой мы можем найти нужное и забрать себе. Нет никакой разницы, скачать файл с сайта или скопировать его на флэшку у друга или получить от него по почте - в любом случае каталогизатор будет работать в итоге с тем, у тебя на компе.
На мой взгляд задача каталогизатора книг как клиента онлайн-библиотеки - помогать мне как читателю формировать собственную приватную библиотеку из книг, доступных в онлайн-библиотеке, обновляя устаревшие книги и показывая новые. То есть, онлайн-библиотека - это все равно МОЯ ЛОКАЛЬНАЯ БИБЛИОТЕКА плюс удобный механизм ее обновления. Поэтому я считаю, что принципиально разделять локальную и "онлайновую" пользовательские библиотеки категорически нельзя.

Цитата drserj ()
Я всё-таки считаю, что не надо плодить сущности и выделять в отдельные категории Новинки. Это обычная группа, в которой те же книги, просто книги в нее добавляются автоматически а не ручками. Вот скажи, есть ли разница в том, что грид в отдельной закладке или имеется Группа с тем же гридом в закладке "Группы"?
А там все равно никуда не уйти от множества сущностей. "Новинки" - это текущий статус книги, привязанный ко времени, а не группа. Я вот в принципе не понимаю смысла группы "Прочитано", потому что "прочитано" - это статус книги. Группы нужны для того, чтобы проще было искать нужную книгу (или ГРУППУ книг) по определенным фиксированным критериям. Что нам дает для поиска "прочитанность" книги - я не понимаю. И совершенно не представляю, что и как можно искать в группе прочитанных книг smile В МайХоумЛибе статус "прочитано" отмечался удобным флажком - сразу было видно, что уже читал, а что нет. В МультиЛибе такого флажка нет - вместо него мне приходится использовать звездочку рейтинга. В ICEBookReader показывался процент прочитанного, что еще удобнее - но там читалка в программу интегрирована, а здесь надо для этого лезть в папку АИРидера, если пользователь его не заменил на другую читалку.
ОК, предположим, что у нас нет новинок, а есть группа "Новинки", куда без разбора валятся ВСЕ новые книги скопом. И что с этим делать? Перерывать полторы-две-три сотни строк, пытаясь увидеть среди них нужную? запускать по-очереди один за другим различные фильтры отбора, имитируя вручную то, что легко можно сделать автоматом, но от чего хочет отказаться автора, чтобы "не плодить сущности"? Не могу сказать за других, но лично для меня это будет большой шаг назад в плане удобства использования программы. Весь мир пытается автоматизировать рутину, чтобы не делать вручную то, что можно сделать автоматически - а мы будем убирать уже работающую автоматизацию, потому что это можно сделать и вручную. Да, я сам предпочитаю в машине ручную коробку - она мне дает контроль над машиной, который не может дать автомат. И я отключая ЕСП, если собираюсь "похулиганить", потому что в этом случае ЕСП будет мне мешать. Но я не буду отключать ни усилитель руля, ни любой элемент ABS/ABD/Etc - потому что эта автоматика при всех своих известных мне недостатках все равно позволяет значительно упростить управление, оставив мне свободные ресурсы на требующие моего непосредственного контроля задачи.

В общем, автоматика должна автоматизировать, а человек контролировать и принимать решения smile
 
drserjДата: Суббота, 27.05.2017, 22:04 | Сообщение # 1479
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата lordkor ()
С моей точки зрения как пользователя эти принципиально неверный подход.
сколько людей - столько и мнений smile

Цитата lordkor ()
На мой взгляд задача каталогизатора книг как клиента онлайн-библиотеки - помогать мне как читателю формировать собственную приватную библиотеку из книг, доступных в онлайн-библиотеке, обновляя устаревшие книги и показывая новые.

Ну вот нет, только лишь как одна из функций. Мультилиб - программа, дающая доступ к онлайн-сервису, но в отличие от веб-версии - более комфортно. В принципе ВЕБ и МУЛЬТИЛИБ - это "тонкий" и "толстый" клиенты одного и того же сервиса. Точка.
Unilib - это самостоятельный, независимый библиотечный каталогизатор. Вот разница между єтими двумя программами!

Цитата lordkor ()
Поэтому я считаю, что принципиально разделять локальную и "онлайновую" пользовательские библиотеки категорически нельзя.
Каждый имеет право заблуждаться smile

Цитата lordkor ()
А там все равно никуда не уйти от множества сущностей. "Новинки" - это текущий статус книги, привязанный ко времени, а не группа.
А вот и нет! Это именно группа книг, отобранных по определенным признакам за определенный промежуток времени!
И кому лучше знать о том, является это статусом книги или группой? smile У книги, файла, записи в базе - нет такого статуса! smile

Цитата lordkor ()
"прочитано" - это статус книги.
фе... ну бред же! прочитано - группа, содержащая перечень книг а так же дату прочтения smile А соответственно это и является тем самым флажком, которого так некоторым и не хватает smile Только вместо картинки - дата. 
Цитата lordkor ()
Что нам дает для поиска "прочитанность" книги - я не понимаю.
Лично мне - много чего. Во-первых, я могу понять через какой-то промежуток времени - читал я эту книгу или нет и когда. Я не запоминаю названия smile

Цитата lordkor ()
В МультиЛибе такого флажка нет - вместо него мне приходится использовать звездочку рейтинга.

опять - таки, незнание механизма не заставляет использовать не по назначению рейтинг smile

Цитата lordkor ()
а здесь надо для этого лезть в папку АИРидера, если пользователь его не заменил на другую читалку.
тут я предоставляю минимально-разумную читалку, которая места не жрет и работает прекрасно. Кто хочет - спокойно в настройках заменит на любую другую. Это что, плохо?

Цитата lordkor ()
без разбора валятся ВСЕ новые книги скопом
я че, такое предлагал? Я сказал, что можно настроить пользовательскими фильтрами отбор (не на стадии импорта базы, нет ее тут, а на стадии импорта книги, что не есть то же самое) и формировать группы, как и в новинках. 
Фильтр работает не потом, при выборке, а при импорте! То же что и в мультилибе, но инфа не из базы, нет ее там, а из книги! Так что потом не надо 
Цитата lordkor ()
Перерывать полторы-две-три сотни строк, пытаясь увидеть среди них нужную? запускать по-очереди один за другим различные фильтры отбора, имитируя вручную то, что легко можно сделать автоматом,


drSerj
 
drserjДата: Суббота, 27.05.2017, 22:10 | Сообщение # 1480
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Так, короче, делаем - потом спорим. А то я вместо тысячи строк кода нахерачу две тысячи на форуме smile

drSerj
 
lordkorДата: Суббота, 27.05.2017, 22:36 | Сообщение # 1481
Лейтенант
Группа: Друзья
Сообщений: 56
Репутация: 0
Статус: Offline
Цитата drserj ()
сколько людей - столько и мнений
Само собой! И на это счет не может быть других мнений! smile

Цитата drserj ()
Ну вот нет, только лишь как одна из функций
Так я и говорю про функцию клиента.

Цитата drserj ()
Мультилиб - программа, дающая доступ к онлайн-сервису, но в отличие от веб-версии - более комфортно.
Совершенно верно - это его ключевая функция, отличающая от других каталогизаторов, не имеющих прямого доступа к библиотеке.

Цитата drserj ()
В принципе ВЕБ и МУЛЬТИЛИБ - это "тонкий" и "толстый" клиенты одного и того же сервиса. Точка.
Не совсем так. "ТолстыйЙ клиент - это один из функционалов МультиЛиба. Ключевой.

Цитата drserj ()
Unilib - это самостоятельный, независимый библиотечный каталогизатор. Вот разница между єтими двумя программами!
Согласен.

Цитата drserj ()
Каждый имеет право заблуждаться
Угу. Но разработчик не всегда знает, как лучше для пользователя smile

Цитата drserj ()
А вот и нет! Это именно группа книг, отобранных по определенным признакам за определенный промежуток времени!
Угу, группа, временно объединенная по статусу, который автоматически изменяется со временем smile
Уже после следующего обновления эти книги перестают быть новинками и автоматически вылетают из группы - то есть это временная группа, а не фиксированная. Чисто формально е можно назвать группой. Функционально - нет.

Цитата drserj ()
И кому лучше знать о том, является это статусом книги или группой?
С точки зрения пользователя библиотеки - это статус.

Цитата drserj ()
фе... ну бред же! прочитано - группа, содержащая перечень книг а так же дату прочтения А соответственно это и является тем самым флажком, которого так некоторым и не хватает Только вместо картинки - дата.
 Замечательно. И таки что мне это дает? Вместо реальной группы, в которую я внес книгу, там написано "прочитано". Может быть, именно поэтому я вместо группы "прочитано" использую более удобный и наглядный способ отмечать прочитанные книги ЦВЕТНОЙ звездочкой, явно выделяющейся среди остальных строк? smile 

Цитата drserj ()
Лично мне - много чего. Во-первых, я могу понять через какой-то промежуток времени - читал я эту книгу или нет и когда.
Я именно о группе "прочитанное" как элементе UI, а не отметке "прочитано" вместо названия группы в соответствующем поле.

Цитата drserj ()
опять - таки, незнание механизма не заставляет использовать не по назначению рейтинг
Рейтинг как раз используется по назначению - чтобы знать. перечитывать книгу или ну ее в баню.
А вот писать "прочитано" в поле "группа" - это действительно использовать поле не по назначению smile

Цитата drserj ()
тут я предоставляю минимально-разумную читалку, которая места не жрет и работает прекрасно. Кто хочет - спокойно в настройках заменит на любую другую. Это что, плохо?
Не-не-не, ни в коем разе, я наоборот всеми руками "за". Я другое имел ввиду - что отсутствие встроенной читалке не позволяет реализовать эту фичу. При том ее можно реализовать через доступ к сторонней программе, но только если пользователь ее не заменит на свою.

Цитата drserj ()
я че, такое предлагал? Я сказал, что можно настроить пользовательскими фильтрами отбор (не на стадии импорта базы, нет ее тут, а на стадии импорта книги, что не есть то же самое) и формировать группы, как и в новинках. Фильтр работает не потом, при выборке, а при импорте! То же что и в мультилибе, но инфа не из базы, нет ее там, а из книги!
Так, я уже совсем запутался. UniLib - это универсальный каталогер, работающий с локальной базой и имеющий функцию импорта из онлайн-библиотек, либо для онлайна остается МультиЛиб, а УниЛиб работает исключительно с оффлайном?

Без разницы, на какой стадии работают фильтры. Главное, что они либо не учтут что-то нужное, потому что это не формализовано в фильтре, или ошибка в описании книги, либо возьмут лишнее по той же причине. В любом случае надо будет вручную проверять то, что они отобрали (если фильтр слишком редкий) и все остальное, где они могли что-то пропустить.

Добавлено (27.05.2017, 20:36)
---------------------------------------------

Цитата drserj ()
Так, короче, делаем - потом спорим. А то я вместо тысячи строк кода нахерачу две тысячи на форуме
А кто говорил "сначала скажите, что вам надо, а потом уже делать начну. а то сделаю не то, и сразу критика начнется"? smile
 
drserjДата: Суббота, 27.05.2017, 23:13 | Сообщение # 1482
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата lordkor ()
Угу. Но разработчик не всегда знает, как лучше для пользователя
за маленьким исключением - если разработчик - сам пользователь

Цитата lordkor ()
Вместо реальной группы, в которую я внес книгу, там написано "прочитано"
там дата прочтения, а это куда более информативно

Цитата lordkor ()
Уже после следующего обновления эти книги перестают быть новинками и автоматически вылетают из группы - то есть это временная группа, а не фиксированная. Чисто формально е можно назвать группой. Функционально - нет.
А ниче, что сейчас всё так и работает? И всё устраивает... А то, что я из закладки одной в другую перенесу таблицу - вряд ли что изменится...

Цитата lordkor ()
С точки зрения пользователя библиотеки - это статус.
не хочу спорить, каждый по-своему трактует. Я, как автор, трактую так. Кто-то - иначе.

Цитата lordkor ()
А вот писать "прочитано" в поле "группа" - это действительно использовать поле не по назначению
в поле группа перечисляются группы, в которые входят книги. Кто-то хочет так, кто-то иначе. Я даю возможность, пользователь может ею пользоваться, может не пользоваться. Из тысяч пользователей еще не было ни одного, кто сказал бы, что это не удобно или не логично.

Цитата lordkor ()
Так, я уже совсем запутался. UniLib - это универсальный каталогер, работающий с локальной базой
Да
Цитата lordkor ()
имеющий функцию импорта из онлайн-библиотек
Как один из вариантов, если есть такая необходимость. Функций скачки не будет как класс. Это программа, формирующая свою собственную библиотеку. Для чего импорт - да просто всё, есть у тебя на сегодня флибуста с контентом, но тебя не устраивают все эти ограничения на онлайн, хочешь сам крутить базой. Делаешь свою библиотеку, импортишь разово базу, получаешь локальную копию со всеми данными и всё. Дальше - сам добавляешь, правишь, удаляешь, распределяешь и т.д. А так, что бы в унилибе онлайн библиотеки крутились - нет. Для этого, как я не раз писал, есть мультилиб.

Цитата lordkor ()
для онлайна остается МультиЛиб, а УниЛиб работает исключительно с оффлайном?

есть варианты, но для офлайна - рекомендован унилиб, для онлайна - мультилиб. Хотя и там и там есть схожие возможности.

Цитата lordkor ()
Без разницы, на какой стадии работают фильтры. Главное, что они либо не учтут что-то нужное, потому что это не формализовано в фильтре, или ошибка в описании книги, либо возьмут лишнее по той же причине.
Опять то же самое. Откуда взяться данным? Нет их. Всё. База формируется в ходе импорта книги. База не импортируется из стороннего источника. Это ЛОКАЛЬНАЯ библиотека. Советую внимательно почитать топик, там есть и описание и схемы алгоритмов. А то мы по двадцатому кругу обсасываем один и тот же вопрос.

Цитата lordkor ()
А кто говорил "сначала скажите, что вам надо, а потом уже делать начну.
Дык имелось в виду, что сначала народ ознакомится с темой, а потом уже предложения делать будет smile А так - а давайте приделаем к проге вертикальный взлет и посадку! Тоже ведь предложение smile

То, что можно доработать в мультилибе - со временем доработаем.


drSerj
 
lordkorДата: Воскресенье, 28.05.2017, 00:45 | Сообщение # 1483
Лейтенант
Группа: Друзья
Сообщений: 56
Репутация: 0
Статус: Offline
Цитата drserj ()
за маленьким исключением - если разработчик - сам пользователь
Это не исключение - это правило для любой хорошей программы smile А вот дальше возникает один момент. Разработчик ориентируется на себя и свои потребности - что есть хорошо. Но вот насколько он при этом учитывает, что его сценарий использования - не единственный - вот тут могут начаться некоторые затыки smile

Цитата drserj ()
там дата прочтения, а это куда более информативно
Для моего сценария не несет никакой информации. Для меня важно, насколько эта книга соответствует по жанру тому, что я сейчас хочу прочитать - и вот тут замена названия группы на статус "прочитано" мне больше вредит, чем приносит пользу. Тем более, что на фоне названий групп немного отличающийся текст плохо выделяется в отличие от цветного символа. Статус "прочитано" для меня важен, потому что я предпочитаю читать и перечитывать последовательно сериями - и тут, если мне приходится перемещаться между разными авторами и сериями, при возврате я увижу, на чем я остановился - важен сам статус "прочитано", дата прочтения - первого или последнего - мне вообще ни к чему. 
Я не говорю, что это абсолютно бесполезно - я лишь поясняю. что МНЕ в моем сценарии этот подход скорее неудобен, чем удобен - поэтому я от него отказался. попробовав.
Тот самый случай, когда неправ разработчик, считающий, что его сценарий используется всеми пользователями smile

Цитата drserj ()
А ниче, что сейчас всё так и работает? И всё устраивает... А то, что я из закладки одной в другую перенесу таблицу - вряд ли что изменится...
Оно сейчас таки немножко иначе работает. Если говорить о вкладке "новинки" как о группе, то в ней выделены несколько фиксированных автоматически формирующихся подгрупп - сейчас они называются "категории". Если эта схема сохранится - то будет путаница, как в одной из групп выделить несколько подгрупп. Если в группе "новинки" не будет автоматически формируемых отдельных подгрупп по заданным критериям, то это уже не будет работать так, как сейчас - и некоторых, включая меня, это не будет устраивать. но сделать с этим мы ничего не сможем - только ныть и мучиться, вручную перенастраивая каждый раз "поиск".

Цитата drserj ()
не хочу спорить, каждый по-своему трактует. Я, как автор, трактую так. Кто-то - иначе.
Ну, есть понятия в рамках проекта, а есть общие smile В рамках своего проекта автор имеет полное право называть любые вещи так, как ему захочется - и никто ему возразить не сможет. Но вот применять общепринятые понятия автор пользователь тоже никак не сможет запретить - разве что забанить нафиг и забыть. перекрестившись smile

Цитата drserj ()
Я даю возможность, пользователь может ею пользоваться, может не пользоваться. Из тысяч пользователей еще не было ни одного, кто сказал бы, что это не удобно или не логично.
Так я ж и не спорю. Я говорю только про собственный опыт и подход и не требую ломать то, что есть сейчас. Кому-то удобен нынешний, кому-то хочется чего-то другого. Я вот попробовал этот вариант. он для меня неудобен, поскольку создает мне новые проблемы. а не решает имеющиеся - я от него отказался и пользуюсь для решения моей задачи совсем другой функцией, которую автор считает нецелевым использованием для данного случая. Так ведь это и хорошо, что программа позволяет решать задачи пользователя способами, которые автор для этого не предполагал - это как раз и говорит о мощи и гибкости программы. И я ратую за расширение функционала, а не за его сокращение - может быть кто-то эти новые функции будет использовать для тех задач. которые автору даже в голову не приходили - и это здорово.

Цитата drserj ()
есть варианты, но для офлайна - рекомендован унилиб, для онлайна - мультилиб. Хотя и там и там есть схожие возможности.
А, теперь понятно. Я-то так думал, что УниЛиб предполагается действительно универсальный, как дальнейшее развитие МультиЛиба. Но раз у него интеграции с онлайном не будет, то надо думать, что и как там понадобится.
Тем не менее, все вышесказанное прямо относится к следующим версиям МультиЛиба smile

Цитата drserj ()
Советую внимательно почитать топик, там есть и описание и схемы алгоритмов


Начинал, но толком не понял - там как-то с середины начинается и скачками идет. То есть, что основной упор на локал - это я понял. Но вот что онлайна не подразумевается вообще - это я никак не предполагал из обсуждения. 

Цитата drserj ()
Дык имелось в виду, что сначала народ ознакомится с темой, а потом уже предложения делать будет
Для этого надо бы где-то в одном месте четко описать суть нового проекта smile Потому как из ветки пропустившему начало ни черта не ясно smile

Цитата drserj ()
То, что можно доработать в мультилибе - со временем доработаем.
Во! Для того и болтаем smile Сделаем хорошее еще лучше - наш девиз. А торопиться не надо, все в порядке живой очереди smile Тут ведь главное - взаимопонимание! smile
 
PFNДата: Воскресенье, 28.05.2017, 14:00 | Сообщение # 1484
Генерал-майор
Группа: Друзья
Сообщений: 206
Репутация: 0
Статус: Offline
Цитата lordkor ()
Для этого надо бы где-то в одном месте четко описать суть нового проекта Потому как из ветки пропустившему начало ни черта не ясно

Суть проекта автор уже несколько раз озвучил в вашей с ним дискуссии... smile
Прежде всего это:
1. Возможность из кучи книг сформировать свою библиотеку только нужных книг.
2. Пополнять и обновлять ее только специально отобранными книгами из разных источников.
3. Возможность более эффективно бороться с дублями и прочим мусором и удаляя записи из базы сразу же удалять файлы с диска.
4. Более развитая система фильтров для отсева книг, не представляющих интереса для пользователя.
5. Ну и еще куча разных полезных примочек... smile

Посмотрите более внимательно схему предлагаемого автором алгоритма (http://libruslib.ucoz.com/forum/40-127-8503-16-1494612143) и
структуру таблиц будущей базы (http://libruslib.ucoz.com/forum/40-127-7812-16-1477981881).
Как я могу судить по Вашим постам, Вы в этом неплохо разбираетесь и можете помочь автору в улучшении проекта.


===============================
Приказ, который может быть понят неправильно, обязательно будет понят неправильно
 
1_абрамДата: Воскресенье, 28.05.2017, 16:35 | Сообщение # 1485
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Цитата PFN ()
Суть проекта


Еще в унилибе более правильная структура БД. Она не привязана к БД, сетевых библиотек.
 
Форум » MultiLib - Библиотекарь » Version 1.x » Обсуждение работы программы (Баги, проблемы, решения)
Поиск:

Copyright LibRusLib © 2024