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

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

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

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

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

Структура модуля импорта
 
drserjДата: Воскресенье, 11.06.2017, 17:26 | Сообщение # 316
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Так, 
выдалось время заняться программой. Кой-че переписал наново, кой че добавил. Пока писал - возник ряд вопросов. В основном, касаемо вопросов PFN, но касается всех.

Итак, согласно схеме сначала берем файл, получаем мд5, при необходимости исключаем как дубль, далее всё грустно. Будем разгребать по очереди.

1. Дубликаты. 
Какие критерии дубликатов (не МД5)? Толком так ответа не получил. Что с ними делать - тоже не понятно. Если по названию (ну, автор еще) - то вопрос интересный, и даже не один. Во-первых, название может не совсем соответствовать, может не соответствовать вообще, может в описании иметь другого автора (об этом отдельная песня). Во-вторых, даже если каким-то счастливым образом удалось определить дубликат, можно ли автоматом определить, какой экземпляр лучше? Какой оставлять? 
Моё личное мнение - дубликат - это только совпадение по МД5, всё остальное добавлять и при необходимости чистить ручками с удалением файла.

2. Авторы.
О, это целая симфония вопросов! Но, начнем с основного.
Итак, Будем ли считать ФИО достаточным и уникальным, несмотря на то, что под это ФИО могут попасть несколько авторов? Или два разных Иванова Ивана Ивановича будут иметь разные ID?
Далее. Я не считаю, что будет корректным автоматически присваивать книги авторам, идентификация которых имеет разночтения. Т.е. Я считаю, что нельзя присваивать автору Иванову Ивану Ивановичу книги Иванова И.И. Иванова Ивана и т.д., ибо гарантии, что это один и тот же автор - нет никакой. Тем более, если два Иванова Ивана Ивановича в базе. 
У меня лично по этому поводу раздрайв полный. Жду Ваши предложения. Как минимум - предлагаю добавлять автора как есть, затем руками, при необходимости указывать, что все книги этого автора перенести уже существующему, или этот автор - псевдоним другого. Вопрос с двумя одинаковыми авторами открытый.
Тут же вопрос про биографию/доп.инфу по автору. Кто-то хочет, кто-то нет.

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

4. Пользовательский фильтр.
Опять-таки, кроме языка и формата больше идей не услышал. Как вариант, нарвавшись на ситуацию с архивами, в которые "доброжелатели" добавили свой инфо-файл (типа readme.info и иже с ними) появилось желание ввести черный (а может и белый) список для отсева ненужного мусора. Иначе этот файл пойдет как отдельная книга (ну а какая разница, тоже файл). Фильтр хотелось бы на регулярных выражениях, но вот вопрос - сколько из пользователей их освоят? smile

5. Файлы.
Тут тоже много вопросов. Основной - форматы и перепаковка. Сейчас, согласно схеме, имеем следующее: fb2, fb2 zip, nonfb2 zip, nonfb2, zip с кучей файлов (тысячник, дейли и т. д.). Все остальные считаются одиночным файлом (rar, 7z b прочие архивы не разбираем).
При экспорте предлагаю ввести возможность импортировать все файлы, в том числе без описаний, загоняя в "Автор неизвестен" жанр "Прочее". Выигрываем в универсальности, можем затем или удалить, или исправить информацию.

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


drSerj
 
1_абрамДата: Среда, 14.06.2017, 20:41 | Сообщение # 317
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Цитата drserj ()
Моё личное мнение - дубликат - это только совпадение по МД5, всё остальное добавлять и при необходимости чистить ручками с удалением файла.


+1

Добавлено (14.06.2017, 18:41)
---------------------------------------------

Цитата drserj ()
Или два разных Иванова Ивана Ивановича будут иметь разные ID?



Естественно, так.
 
drserjДата: Среда, 14.06.2017, 20:55 | Сообщение # 318
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата 1_абрам ()
Естественно, так.
А тогда вопрос - как автоматом определить, какому из нескольких ивановых принадлежит данная книга?


drSerj
 
PFNДата: Среда, 14.06.2017, 21:19 | Сообщение # 319
Генерал-майор
Группа: Друзья
Сообщений: 206
Репутация: 0
Статус: Offline
Цитата drserj ()
1. Дубликаты.
 
Да, вариантов отбора по названию/автору может быть бесчисленное множество... И окончательное решение удалять или оставлять придется принимать пользователю, т.к. автоматом здесь отбора не получится.
Поэтому, на мой взгляд, максимум, что можно сделать, облегчив жизнь пользователю - это отсортировать всю базу по названию и вывести в отдельную таблицу, сгруппировав похожие. А дальше - ручками... smile

Цитата drserj ()
2. Авторы.

Да, вопрос с авторами полными тезками, пожалуй, самый сложный!!! Различить их можно только сравнивая биографии обоих... 
Можно, конечно если есть, использовать псевдоним (желательное поле в базе) или дату рождения, как дополнительный признак идентификации, но это очень ненадежно и зыбко...
Все равно пользователю придется самостоятельно выяснять какой из двух Ивановых Иванов Ивановичей является автором произведения.
Так что думаю особо заморачиваться с этим не стоит.. smile

Цитата drserj ()
3. Многотомные архивы.

Ничего толкового сказать не могу, поэтому скромно постою в уголке... smile

Цитата drserj ()
4. Пользовательский фильтр.

Ну, еще можно по жанрам... Кому-то Публицистика, Драматургия, Физика или другие жанры совершенно не нужны и их можно отсеивать сразу автоматом...
Но я думаю, что лучше это делать ручками, сделав соответствующую сортировку в таблице и удалив ненужное прямо с диска...

С регулярными выражениями вопрос не простой... Если создать готовые шаблоны заранее, то тогда это даст эффект...
А если каждый начнет создавать свои шаблоны... мне уже страшно... smile

Цитата drserj ()
5. Файлы.

На усмотрение автора! Согласен с любым вариантом... smile


===============================
Приказ, который может быть понят неправильно, обязательно будет понят неправильно
 
1_абрамДата: Среда, 14.06.2017, 21:20 | Сообщение # 320
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Цитата drserj ()
Далее. Я не считаю, что будет корректным автоматически присваивать книги авторам, идентификация которых имеет разночтения. Т.е. Я считаю, что нельзя присваивать автору Иванову Ивану Ивановичу книги Иванова И.И. Иванова Ивана и т.д., ибо гарантии, что это один и тот же автор - нет никакой. Тем более, если два Иванова Ивана Ивановича в базе.
У меня лично по этому поводу раздрайв полный. Жду Ваши предложения. Как минимум - предлагаю добавлять автора как есть, затем руками, при необходимости указывать, что все книги этого автора перенести уже существующему, или этот автор - псевдоним другого.


А не добавить автора не "как есть не" не получиться, ведь он берется из фб2. Кстати, если новый автор Иванов Иван Иванович, и в базе уже есть 2 Иванов Иван Иванович с разными ид, то в базу придется добавить третьего
Иванов Иван Иванович. А вот привязывать Иванова И.И. к Иванов Иван Иванович слишком сложно, имхо. Замучаешься ты писать соответствующие диалоги. Лучше это делать путем удаления книги и правкой в фб2 автора с Иванова И.И. на Иванов Иван Иванович. Правда, в этом случае непонятно, к какому Иванов Иван Иванович (если их > 1 ) привязать Иванова И.И..


Сообщение отредактировал 1_абрам - Среда, 14.06.2017, 21:24
 
PFNДата: Среда, 14.06.2017, 21:25 | Сообщение # 321
Генерал-майор
Группа: Друзья
Сообщений: 206
Репутация: 0
Статус: Offline
Цитата 1_абрам ()
А вот привязывать Иванова И.И. к Иванов Иван Иванович слишком сложно, имхо. Замучаешься ты писать соответствующие диалоги. Лучше это делать путем удаления книги и правкой в фб2 автора с Иванова И.И. на Иванов Иван Иванович.

В принципе эта процедура есть в Мультилибе (Объединение авторов)... Но вариант с правкой файла fb2 я поддерживаю, т.к. сам этим пользуюсь постоянно.


===============================
Приказ, который может быть понят неправильно, обязательно будет понят неправильно
 
1_абрамДата: Среда, 14.06.2017, 21:26 | Сообщение # 322
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Цитата drserj ()
А тогда вопрос - как автоматом определить, какому из нескольких ивановых принадлежит данная книга?


Никак.

Добавлено (14.06.2017, 19:26)
---------------------------------------------

Цитата PFN ()
принципе эта процедура есть в Мультилибе (Объединение авторов)...


Первый раз слышу, надо же.
 
PFNДата: Среда, 14.06.2017, 21:26 | Сообщение # 323
Генерал-майор
Группа: Друзья
Сообщений: 206
Репутация: 0
Статус: Offline
Ух ты!!! Меня повысили в звании... smile

===============================
Приказ, который может быть понят неправильно, обязательно будет понят неправильно
 
1_абрамДата: Четверг, 15.06.2017, 09:11 | Сообщение # 324
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Цитата 1_абрам ()
Естественно, так.


Другой вариант Иванов Иван Иванович и Иванов_1 Иван Иванович. В этом случае у каждого ФИО определяет автора однозначно.

Добавлено (14.06.2017, 19:31)
---------------------------------------------
Цитата drserj ()
Тут же вопрос про биографию/доп.инфу по автору. Кто-то хочет, кто-то нет.


Лучше, чтобы была.

Добавлено (14.06.2017, 19:38)
---------------------------------------------
Цитата PFN ()
С регулярными выражениями вопрос не простой... Если создать готовые шаблоны заранее, то тогда это даст эффект...
А если каждый начнет создавать свои шаблоны... мне уже страшно..


Я за РВ - их нужно сделать как маска файла в "Копирование на устройство". В этом случае пользователи смогут либо пользоваться готовыми фильтрами, либо напишут свои.

Добавлено (14.06.2017, 19:40)
---------------------------------------------
Цитата drserj ()
3. Многотомные архивы.


Я бы их вообще убрал. Пусть пользователь сам распакует эти архивы.

Добавлено (15.06.2017, 07:11)
---------------------------------------------

Цитата drserj ()
5. Файлы.


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


Сообщение отредактировал 1_абрам - Четверг, 15.06.2017, 09:03
 
drserjДата: Четверг, 15.06.2017, 09:13 | Сообщение # 325
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата PFN ()
Да, вопрос с авторами полными тезками, пожалуй, самый сложный
Цитата PFN ()
Так что думаю особо заморачиваться с этим не стоит..

т.е. считать всех ивановых иванов ивановичей - одним?

Цитата PFN ()
А если каждый начнет создавать свои шаблоны... мне уже страшно...

ну, неявно мы их и так используем, глянь в ini-шку smile

Цитата 1_абрам ()
А не добавить автора не "как есть не" не получиться, ведь он берется из фб2.
вооооот! очень здравая мысль...

Цитата PFN ()
Ух ты!!! Меня повысили в звании...
Хош - могу личное звание выписать? smile Я по этому поводу вообще не заморачиваюсь...

Цитата 1_абрам ()
Другой вариант Иванов Иван Иванович и Иванов_1 Иван Иванович

в фб2 ???? Нонсенс. Не, когда данные в базе - тосуй сколько и как хочешь, вопрос именно в импорте.

Цитата 1_абрам ()
Лучше, чтобы была.

не вопрос... 

Цитата 1_абрам ()
Я за РВ - их нужно сделать как маска файла в "Копирование на устройство". В этом случае пользователи смогут либо пользоваться готовыми фильтрами, либо напишут свои.

сам в это веришь? :)
Цитата 1_абрам ()
Я бы их вообще убрал. Пусть пользователь сам распакует эти архивы.

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


drSerj
 
1_абрамДата: Четверг, 15.06.2017, 09:41 | Сообщение # 326
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Цитата drserj ()
При экспорте предлагаю ввести возможность импортировать все файлы, в том числе без описаний, загоняя в "Автор неизвестен" жанр "Прочее". Выигрываем в универсальности, можем затем или удалить, или исправить информацию.


Хорошо бы при экспорте файлов без описаний связать расширение файла с fbd, создаваемым пользователем. Например, если расширение mp3 - жанр- аудиокнига.

Добавлено (15.06.2017, 07:22)
---------------------------------------------

Цитата drserj ()
а если нет возможности?


Не могу представить такой ситуации. Приведи пример.

Добавлено (15.06.2017, 07:30)
---------------------------------------------

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


Предположим есть два разных Иванов Иван Иванович. При импорте они все книги попадают к одному автору. Как исправить?

1) Книги второго Иванов Иван Иванович удаляются из базы.
2) В этих книгах (в фб2 или фбд) меняем Иванов Иван Иванович на Иванов_1 Иван Иванович
3) Снова импортируем эти книги.

Ситуация с полным совпадением довольно редкая. Перфекционисты без труда сделают 1) -3), а остальные остальные оставят как есть ( Иванов Иван Иванович со списком книг от двух разных авторов).

Добавлено (15.06.2017, 07:33)
---------------------------------------------

Цитата drserj ()
сам в это веришь? :)


Двух таких я точно знаю, а это уже не мало. Мы же поделимся своими РВ с другими и даже не заказ их можем написать.

Добавлено (15.06.2017, 07:41)
---------------------------------------------

Цитата drserj ()
Хош - могу личное звание выписать? smile Я по этому поводу вообще не заморачиваюсь...


В связи с этим вспомнил и не поленился найти

https://birdinflight.com/ru....mi.html
 
drserjДата: Четверг, 15.06.2017, 12:05 | Сообщение # 327
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата 1_абрам ()
Хорошо бы при экспорте файлов без описаний связать расширение файла с fbd, создаваемым пользователем.
Зачем? Если уже импортировано - смысла нет. Вариант создания FBD внутри архива с таким к-вом информации? Смысл? Вот если fbd есть - да, докинем в архив. Если мы его отредактировали - можно добавить. А пустой - зачем?

Цитата 1_абрам ()
Не могу представить такой ситуации. Приведи пример.

с внешнего носителя без копирования контента (только база, например)

Цитата 1_абрам ()
Как исправить? 1) Книги второго Иванов Иван Иванович удаляются из базы.
2) В этих книгах (в фб2 или фбд) меняем Иванов Иван Иванович на Иванов_1 Иван Иванович
3) Снова импортируем эти книги.

сам понял, что предложил? даже не комментирую.

Цитата 1_абрам ()
Двух таких я точно знаю, а это уже не мало. Мы же поделимся своими РВ с другими и даже не заказ их можем написать.

ой, помнится уже была подобная муйня с плагинами и пакетными операциями. Хоть кто-то что-то сделал и с кем-то поделился? И тут та же ... будет...


drSerj
 
drserjДата: Четверг, 15.06.2017, 12:10 | Сообщение # 328
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Короче, я правильно понял?

1. Дубликаты - только МД5
2. Авторы - один Иванов Иван Иванович, все книги лепим к нему. (как вариант - в примечаниях отмечаем какой именно Иванов). Вопрос только к биографиям и прочему. Ну, есть вариант - отправлять в отсев при наличии более одного автора, дабы вручную указать - кому... Но тут опять варианты, если автор не один... Копировать ли книги, которые рухнули в отсев...
3. Многотомники - всем по-барабану, как будет - так и будет.
4. Пользовательский фильтр: язык, формат, жанры.
5. Формат файлов - всем по-барабану.


drSerj
 
PFNДата: Четверг, 15.06.2017, 12:34 | Сообщение # 329
Генерал-майор
Группа: Друзья
Сообщений: 206
Репутация: 0
Статус: Offline
Цитата drserj ()
2. Авторы - один Иванов Иван Иванович, все книги лепим к нему. (как вариант - в примечаниях отмечаем какой именно Иванов).

Или в базе сами добавляем еще одного Иванова со своей спецотметкой и ручками добавляем ему его книги.
База моя, локальная - что хочу, то и ворочу... Даже вариант с правкой fb2 на Иванов_1 могу задействовать...:)

Все остальное - на усмотрение автора! smile


===============================
Приказ, который может быть понят неправильно, обязательно будет понят неправильно
 
1_абрамДата: Четверг, 15.06.2017, 12:48 | Сообщение # 330
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Цитата drserj ()
сам понял, что предложил? даже не комментирую.


Понял и считаю это отличным предложением, решающим проблему с "биографиям и прочему". Но это никак не относится к программе, а к технологии работы с программой. Так что можно и не обсуждать, если "Авторы - один Иванов Иван Иванович, все книги лепим к нему".

Добавлено (15.06.2017, 10:38)
---------------------------------------------

Цитата PFN ()
Или в базе сами добавляем еще одного Иванова со своей спецотметкой и ручками добавляем ему его книги.
База моя, локальная - что хочу, то и ворочу... Даже вариант с правкой fb2 на Иванов_1 могу задействовать...:)


Именно так.

Добавлено (15.06.2017, 10:45)
---------------------------------------------

Цитата drserj ()
ой, помнится уже была подобная муйня с плагинами и пакетными операциями. Хоть кто-то что-то сделал и с кем-то поделился? И тут та же ... будет...


Я написал для себя две пакетные операции и даже, по-моему, опубликовал их. Остаюсь при своем мнении по РВ. Это будет очень гибкое и правильное решение. Но тебе конечно оценивать трудоемкость реализации этой штуки.

Добавлено (15.06.2017, 10:48)
---------------------------------------------

Цитата drserj ()
с внешнего носителя без копирования контента (только база, например)


Не понял, ведь речь идет об импорте книг, при чем здесь "только база".
 
Форум » Unilib » Проектирование и разработка » Обсуждение проекта (Обсуждение проекта)
Поиск:

Copyright LibRusLib © 2024