LibRusLib
Четверг, 28.03.2024, 15:09
Приветствую Вас Гость | RSS
 
Главная ФорумРегистрацияВход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Unilib » Проектирование и разработка » Обсуждение проекта (Обсуждение проекта)
Обсуждение проекта
drserjДата: Понедельник, 31.10.2016, 21:26 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Unilib - программа для создания локальных библиотек.

Unilib представляет собой развитый офлайновый каталогизатор локальной библиотеки с автоматизированной пакетной обработкой импортируемых книг. Программа позволяет производить автоматический отбор книг по критериям, заданным пользователем, отсеивать дубликаты и.т.д.

Особенности Unilib-а:

1) Поддержка нескольких библиотек.
2) Импорт/экспорт личных данных.
3) Возможность обмена данными с другими библиотеками Unilib.

Ориентировочная структура БД

Структура модуля импорта
 
drserjДата: Воскресенье, 09.04.2017, 16:07 | Сообщение # 61
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата PFN ()
Вопрос сложный, учитывая что издательства публикуют книги под псевдонимами авторов и только иногда указывают их подлинные имена и другие, имеющиеся у автора псевдонимы. Тем более, что использовать псевдоним - это, прежде всего, желание самого автора скрыть свое подлинное имя. Могут быть и другие мотивы: поработать в другом жанре под другим именем и т.д.
Не, ну тут как раз проблемы нет, ибо привязку псевдонима делаем мы сами при редактировании. Пока не стоит признак псевдонима - автор считается полноценным.

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

Цитата PFN ()
Поэтому придется, как ни "больно", псевдоним выводить, как полноценного автора.

Не, ну я могу и настроечку добавить... Собственно, Полноценный автор - это автор, у которого ParrentID равен нулю, а псевдоним - у которого ParrentID равен ID автора. Это как вариант. И вывести всех или только авторов, у которых ParrentID=0 - не есть проблема. Просто сейчас идет доработка формата базы. Пока еще ее можно модернизировать. Потом, когда будет написана обвязка - будет достаточно сложно что-либо изменить.

Цитата PFN ()
Если кого-то интересует инфа об авторе, то пусть пошарит по инету... корона не упадет :)))

Как бы и да, но это же программа, к инету не привязанная, да и может не быть в инете об авторе инфы...

Цитата PFN ()
И тут без правки самой книги не обойтись, т.к. корректировка информации об авторе только в базе окончательно проблемы не решит...

Хм... Я в принципе не согласен. Допускаю, что можно доработать экспорт книги с правленой информацией, но хранить исправленную... Всё-таки лучше хранить исходный материал... Почему я против правок - изменяется мд5 и соответственно может импортироваться дубликат.

По поводу Стоплиста... Как я понял, это список исключений, файлов, которые уже отработаны? Я не совсем доволен своей идеей и ее реализацией. Может появились какие-нибудь варианты как исключить обработанные файлы?

По поводу некорректности ФИО у издателей - дык редактирование для того и надоть, что бы в базу вносить изменения... т.е. ответственность за некорректность ложится на плечи пользователя. Импорт - только помощь для занесения общей массы данных, а затем - доработка напильником smile

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


drSerj
 
PFNДата: Воскресенье, 09.04.2017, 23:56 | Сообщение # 62
Генерал-майор
Группа: Друзья
Сообщений: 206
Репутация: 0
Статус: Offline
Цитата drserj ()
Книги изменять - вообще моветон. Так наплодится туева хуча псевдодубликатов с идентичным содержимым но разным описанием.

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

Согласен, для тех, кто обновляет базу программой онлайн, правка книг неприемлема... Но я со своей локальной базой правлю книги не оглядываясь на МД5, т.к. потом МД5 пересчитывается и заносится в Стоплист после правки при добавлении книги в библиотеку. Правда времени на это уходит много... Но я - это частный случай, а программа должна ориентироваться на интересы большинства... smile

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

Мне кажется, что Отсев дублей по МД5 - самый оптимальный вариант. Вот у меня при предварительном отборе из архива 5-ти тысячника сразу отсеивается порядка 2-х тысяч. Потом, при ручном отборе (только по названию) отсеивается приблизительно еще 1,5 - 2 тысячи. И оставшиеся после правок и пересчета МД5 заносятся в базу.

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

Идея интересная... Правда я смутно представляю механизм ее реализации... Во всяком случае какая-то "Доска объявлений" должна быть... А для получения искомого  придется делать что-то вроде торента или использовать Я-диск\Гугл-диск...


===============================
Приказ, который может быть понят неправильно, обязательно будет понят неправильно
 
drserjДата: Понедельник, 10.04.2017, 10:26 | Сообщение # 63
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата PFN ()
Мне кажется, что Отсев дублей по МД5 - самый оптимальный вариант.


Не, сам механизм отсева серьезных вопросов пока не вызывает. Вызывает вопросы механизм списка исключений обработанных файлов. Он будет разрастаться и тормозить работу программы, занимать место на диске. А инфа, зачастую, нафиг не нужна. Этот механизм востребован тогда и только тогда, если сканируется один и тот же каталог, который тупо пополняется. Т.е. если производить нормальный импорт из какого-то стороннего каталога, который потом будет опустошаться - такое отслеживание не нужно абсолютно. Так же оно не нужно, если каталог сканируется разово и больше не изменяется.
В идеале - библиотека должна иметь структуру папок контента %Z - тогда вообще большинство проблем исчезает. Но найдется часть пользователей (которых я тоже могу понять), которые не захотят менять структуру библиотеки. И вот тут-то и возникнут вопросы.

Итак, нужен всё-же механизм списка исключений, или в угоду качеству мы его (сорри за каламбурчик) исключаем?


drSerj
 
PFNДата: Понедельник, 10.04.2017, 13:04 | Сообщение # 64
Генерал-майор
Группа: Друзья
Сообщений: 206
Репутация: 0
Статус: Offline
Цитата drserj ()
Вызывает вопросы механизм списка исключений обработанных файлов. Он будет разрастаться и тормозить работу программы, занимать место на диске. А инфа, зачастую, нафиг не нужна.

Если я правильно понял, то получается, что механизм отсева дублей и механизм исключения - это не одно и то же. Выходит, что механизм исключений при попытке выбрать книгу в базе каждый раз сканирует все файлы/архивы, для исключения ненужных?
В таком виде он действительно будет выступать тормозом. 
Я считал, что инфа из таблицы skipfile используется только при проверке новых книг, пополняющих базу. А все отсеянные дубли (физические файлы) просто удаляются с диска.
Для более правильного понимания проблемы, пожалуйста, распишите подробней алгоритм работы этого механизма.


===============================
Приказ, который может быть понят неправильно, обязательно будет понят неправильно
 
drserjДата: Понедельник, 10.04.2017, 13:25 | Сообщение # 65
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата PFN ()
Для более правильного понимания проблемы, пожалуйста, распишите подробней алгоритм работы этого механизма.


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


drSerj
 
PFNДата: Понедельник, 10.04.2017, 18:29 | Сообщение # 66
Генерал-майор
Группа: Друзья
Сообщений: 206
Репутация: 0
Статус: Offline
Цитата drserj ()
При сканировании папки, просканированные файлы заносятся в список исключений. Такой механизм имеет место быть для того, что бы пользователи могли пополнять один и тот же каталог новыми книгами, но они больше не обрабатывались. Если бы пользователь разово сканировал этот каталог, или после импорта порции книг, эти файлы удалялись (переносились в другой каталог, где расположен основной контент) - проблем бы не было.

Кажется я немного неправильно представлял себе алгоритм работы программы при создании локальной библиотеки и последующим добавлением новых книг. Сейчас попробую проверить несколько моментов...


===============================
Приказ, который может быть понят неправильно, обязательно будет понят неправильно
 
drserjДата: Понедельник, 10.04.2017, 19:44 | Сообщение # 67
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
ждемс...

drSerj
 
PFNДата: Среда, 12.04.2017, 14:27 | Сообщение # 68
Генерал-майор
Группа: Друзья
Сообщений: 206
Репутация: 0
Статус: Offline
Цитата drserj ()
ждемс...

Читал и несколько раз перечитывал Help.
Попробовал 2 варианта создания локальной библиотеки и добавления в нее новых книг.
1. На диске есть файлы книг уже разложенные по папкам. См. картинку.

 
При создании библиотеки соответственно указывается путь к архивам коллекции "Е:\Книги". Этот же путь указывается и для сканирования по команде "Импортировать базу". Соответственно заполняются таблицы "Успешно добавленные" и "Список исключений"
Теперь с базой уже можно работать: править, создавать группы и т.д.
Теперь актуальным становится вопрос пополнения библиотеки, исключив при этом возможные дубликаты. Это значит, что все новые книги должны пройти проверку по МД5, уже имеющихся в "Списке исключений".
У меня новые книги располагаются на другом диске. См. картинку.


Все сканируется, заносятся данные в таблицы "Успешно добавленные" и "Список исключений". Теперь, чтобы увидеть новые книги в базе нужно в настройках указать новый путь к архивам. А мне нужно, чтобы новые книги разложились по имеющимся папкам авторов. 
Получается, что я должен сначала разложить все новые книги по существующим папкам авторов, а потом задать новое сканирование этих же папок. Или я чего-то не понимаю и не использую возможности программы.
Но проблема отбора дубликатов (хотя бы по МД5) остается очень актуальной. Эти дубликаты нужно не только убрать из базы, но и физически удалить с диска.
А для этого список исключений просто незаменим.
Прикрепления: 3382690.jpg (191.9 Kb) · 4815436.jpg (104.6 Kb)


===============================
Приказ, который может быть понят неправильно, обязательно будет понят неправильно
 
drserjДата: Среда, 12.04.2017, 19:41 | Сообщение # 69
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Вот именно по этому и хочется еще раз воззвать к разуму пользователя: если пользуешься программой - какая для тебя разница, как программа хранит данные? %Z - и все вышеуказанные проблемы просто исчезают. А если ты пользуешься файловой системой для поиска книги - на кой тебе программа ??? smile Как в том старом анекдоте - тебе шашечки или ехать? 
Лично у меня сейчас весь контент - в формате %Z. Этот формат я могу в любой момент превратить в любой другой. Зачем мне что-то другое? Я не пытаюсь уговаривать, я пытаюсь понять, зачем на компьютере хранить книги в столь неудобном для самого компьютера формате? "Мыши плакали, кололись, но жрали кактус", "стоя и в гамаке" - только такие ассоциации smile Я мог бы насильно (как это делает большинство программ) навязывать свой формат, и 99% пользователям это абсолютно по... , но даже для 1% я хочу понять, ЗАЧЕМ??? Ведь даже если что-то случится с базой - в архивах можно сохранять реальные имена.


drSerj
 
PFNДата: Среда, 12.04.2017, 20:30 | Сообщение # 70
Генерал-майор
Группа: Друзья
Сообщений: 206
Репутация: 0
Статус: Offline
Цитата drserj ()
Вот именно по этому и хочется еще раз воззвать к разуму пользователя: если пользуешься программой - какая для тебя разница, как программа хранит данные? %Z - и все вышеуказанные проблемы просто исчезают.

Я вот прямо сейчас попытался использовать формат %Z и... ничего у меня не получилось для локальной библиотеки. Как насчет пошаговой инструкции? smile


===============================
Приказ, который может быть понят неправильно, обязательно будет понят неправильно
 
drserjДата: Среда, 12.04.2017, 20:37 | Сообщение # 71
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата PFN ()
Как насчет пошаговой инструкции?

ммм... Ща...

1. Делаем поиск всех книг (не, ну можно и кусками, но если одним махом отмучаться - проще)
2. Выбираем все книги
3. Правой кнопкой - отправить на устройство, указываем в форме выходной каталог и маску файла %z
4. Для проверки в настройках библиотеки изменяем путь к локальной коллекции и формат
5. Если всё устраивает - давим оригиналы и при необходимости переносим архив в требуемый каталог.

Если что, я каждый день выполняю эту операцию для каждой новой порции книг скачанных с флибусты в тысячниках. Всё просто и быстро smile


drSerj
 
1_абрамДата: Четверг, 13.04.2017, 10:44 | Сообщение # 72
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Цитата drserj ()
Если что, я каждый день выполняю эту операцию для каждой новой порции книг скачанных с флибусты в тысячниках. Всё просто и быстро


Имхо, это удобнее делать рах в 2-3 месяца, используя тысячные архив с торентов.
 
drserjДата: Четверг, 13.04.2017, 10:48 | Сообщение # 73
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата 1_абрам ()
Имхо, это удобнее делать рах в 2-3 месяца, используя тысячные архив с торентов.


не... ждать месяц... зачем? smile Да и предпочитаю оригинальные архивы от флибусты, я гурман...


drSerj
 
1_абрамДата: Четверг, 13.04.2017, 13:26 | Сообщение # 74
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Цитата drserj ()
не... ждать месяц... зачем?


Так интересные книжки скачиваются сразу, но не из архивов, а непосредственно с флибусты.  Пока это возможно, к счастью.  Ну а захомячивание остального (в ожидании часа Х) удобно делать пореже.  А архивы в торрентах вроде бы собираются из оригинальные архивы от флибусты.
 
drserjДата: Четверг, 13.04.2017, 13:30 | Сообщение # 75
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата 1_абрам ()
Так интересные книжки скачиваются сразу, но не из архивов

а какая мне лично разница скачивать архивы каждый день или раз в месяц? Я всё качаю. По одной книге - нет смысла, да и не все книги качаются по одной, те которые заблокированы - только из архивов можно забрать.


drSerj
 
Форум » Unilib » Проектирование и разработка » Обсуждение проекта (Обсуждение проекта)
Поиск:

Copyright LibRusLib © 2024