Подождите ...

[Сообщения об ошибках][Сообщите об ошибке в программе LibaBook]
Клоны и Обложки


Версия LibaBook:___2.00.5<br>Версия Windows:___7 Max SP1<br><br>Укажите шаги для воспроизведения ошибки:<br>1) Запустить LibaBook.<br>2) Добавить книгу<br>3) В пункте кол-во карточек выбрать 10 шт. (например)<br>4) Далее, при попытке изменения обложки в одной из этих карточек автоматически меняются обложки в других 9 карточках. <br>5) Встретился с этой особенностью программы при изменении таких 10 одинаковых карточек на 10 уникальных

Если у вас такая же ошибка, напишите пожалуйста в комметрарии версию LibaBook и Windows.


29.09.2017 19:00
Rinoren
PREMIUM
70 444

Клоны и Обложки



Версия LibaBook:___2.00.5
Версия Windows:___7 Max SP1

Укажите шаги для воспроизведения ошибки:
1) Запустить LibaBook.
2) Добавить книгу
3) В пункте кол-во карточек выбрать 10 шт. (например)
4) Далее, при попытке изменения обложки в одной из этих карточек автоматически меняются обложки в других 9 карточках.
5) Встретился с этой особенностью программы при изменении таких 10 одинаковых карточек на 10 уникальных
100
+100
-0
Реализовано
29.09.2017 19:08
# Rinoren  PREMIUM  70 444 +0
Результат моих экспериментов с обложками, удивителен. Из базы "вылетели". 2 книги введенные сегодня. Т.е. именно исчезли. они вновь появились после перезагрузки программы 
29.09.2017 20:38
# FreeMind  Модератор  633 368 +0
На самом деле, всё работает так как и должно.

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

Если кратко, то "клонирование" - это не "копирование", оно используется ТОЛЬКО для создания нескольких экземпляров одной книги, именно поэтому для каждой карточки не хранится отдельно файл с картинкой, а используется 1 общий.

Немного процитирую, подробнее описано в окне по кнопке "?".

Клонирование карточек:
Клонирование позволяет создавать несколько одинаковых карточек связанных с исходной карточкой (на основании которой выполнялось клонирование). У клонированной карточки все значения атрибутов кроме id-карточки (который всегда уникален) копируются из исходной, при этом атрибуты с типом «Картинка» у таких карточек связаны. Если в одной из клонированных карточек изменить картинку, то она изменится для всех клонированных и исходной карточки. Другие типы атрибутов не связаны, т.е. если изменить атрибут в одной из клонированных карточек, то он изменится только в ней, в остальных карточках изменений не будет (это сделано для того, что бы можно было для каждой карточки отдельно например изменять атрибут "Состояние книги" и т.п...).
29.09.2017 22:53
# Rinoren  PREMIUM  70 444 +0
Функция клонирования - невероятно полезная. Нет слов. Я сейчас обезоружен другим - безвыходностью. Получается полученные через клонрование карточки книг не равны остальным. Т.е. в базе теперь два типа данных: клоны и стандартные. Например, через полгода, захотев изменить обложку у одной из сорока книг я изменю обложки у всех 39. Это будет мягко говоря неприятно ). Обложка - это главный визуальный ориентир программы. В своей практике я часто переписываю карточку книги на абсолютно другую (когда меняю утерянную книгу на предоставленную взамен). Сейчас я это сделать не могу, поэтому эти особенности клона я и называю ошибкой. Возможно ли сделать зависимость клона от картинки не такой жёсткой? Допустить возможность изменения только одной карточки? Only?
29.09.2017 23:24
# FreeMind  Модератор  633 368 +0
x-------x
5) Встретился с этой особенностью программы при изменении таких 10 одинаковых карточек на 10 уникальных
x-------x
На самом деле сейчас в LibaBook нет возможности сделать ранее клонированную карточку уникальной. Т.е. если был создан клон карточки, то оригинальная и все клоны будут всегда использовать одну общую картинку (если удалить картинку - она удалится у всех, если потом добавить/изменить картинку - тоже будет для всех). В принципе, возможность "разрывать связь с клонами" добавить можно, вопрос только насколько это необходимо...

Есть возможность создать сразу несколько уникальных карточек, для этого можно использовать 2 варианта:

1. При создании НОВОЙ карточки указать нужное кол-во экземпляров, но атрибуты с типом "Картинка" сделать пустыми.
Тогда можно заполнять их позже, отдельно для каждой карточки, т.е. картинки будут не связаны.
Это работает только при создании НОВОЙ карточки, если мы будем клонировать существующую, то там редактирование картинок запрещено.

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

В принципе, добавить отдельную ф-цию именно "Копирования" существующей карточки, как новой уникальной, в программу тоже можно, вопрос только для чего?

Если мы купили 10 точно таких же книг, которая уже есть в БД, то мы клонируем существующую.

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

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

Если все-таки, у нас появилось желание создать новую книгу, например содержащую половину описания из 1й книги в БД, а вторую половину описания из 2й книги в БД, то мы просто запускаем второй экземпляр LibaBook с нашей БД и открываем там сначала 1ю книгу и копируем нужное описание из нее в нашу форму создания новой карточки, затем копируем описание из 2й. Всё наша форма заполнена, жмем "Сохранить".

P.S.
Надо не забывать, что при изменении БД из другого запущенного экземляра программы LibaBook необходимо использовать кнопку "Обновить" (справа вверху таблицы).

Тоже самое, если мы изменили картинку в одной из клонированных карточек, чтобы увидеть изменения в остальных надо нажать кнопку "Обновить".
29.09.2017 23:36
# Rinoren  PREMIUM  70 444 +0
Пишу со смартфона, случайно поставил дизлайк одному из ответов )


Дело в том, что у меня в библиотеке может быть создано 100 клонов учебников. Если нажатием на кнопку в карточке, можно разорвать связь с остальными клонами и сделать её уникальной, то Пожалуйста сделайте это! Так при предоставлении замены я смогу изменить описание утерянной книги
30.09.2017 01:10
# FreeMind  Модератор  633 368 +0
Вынес новую возможность на голосование.
Можете написать там замечания/комментарии,

По поводу
x-------x
Так при предоставлении замены я смогу изменить описание утерянной книги
x-------x
Так делать не рекомендую, подробнее описано в п.3. плюсов новой возможности.
30.09.2017 19:20
# Rinoren  PREMIUM  70 444 +0
Можно узнать, почему не рекомендуется? Чем это чревато для меня? Какими ошибками? У меня в базе уже с десяток другой таких книг.
01.10.2017 02:15
# FreeMind  Модератор  633 368 +0
Ошибок никаких не будет - вы просто редактируете карточку.

Смысл в том, что при таком подходе нет возможности вести статистику, например, для учета кол-ва утерянных книг в год, или кол-ва утерь по читателям и т.п, типа рейтинг "растерях" по курсам или группам :) 

Если же использовать тот подход, который описан выше по ссылке, т.е. для старой книги при возврате читателем в карточке ставить флаг "утеряна", а для новой книги на замену создавать новую карточку и связывать её с утерянной по какому-нибудь атрибуту, то такая теоретическая возможность для ведения статистики появляется. Это логично, каждой уникальной книге, соответствует её уникальная карточка с уникальным id, когда вы под одним и тем же id начинаете хранить информацию о разных книгах, нарушается гармония и красота системы :) что приводит к невозможности в будущем выполнять статистический анализ... если он конечно, кому-то будет интересен.
01.10.2017 09:44
# Rinoren  PREMIUM  70 444 +0
Статистика не просто нужна, она должна быть в любой библиотеке учебного заведения. Это нормативным актом МОНРФ регулируется. Поэтому я и жду появление функции Корзины - в которую будут улетать все книги отмеченные как "Утерянная". А эта история с обложками как раз и появилась из-за того, что мне захотеллось сохранить "красоту нумерации каталога" и id соответствовали бы кол-ву введенных книг. Вобщем, я не хотел чтобы в моей базе был разрыв в 30id.
01.10.2017 23:06
# FreeMind  Модератор  633 368 +0
x-------x
сохранить "красоту нумерации каталога"
x-------x
:) Согласен, когда все карточки идут по порядку это красиво. Но это, скажем так, "эстетическая" красота, которая на работу программы не влияет, еще на старом форуме обсуждалась тема следования всех карточек по порядку, это скажем так "человеческое чувство прекрасного", но по факту, если бы просто удалили те 30 лишних карточек, ничего бы не изменилось, да подряд бы карточки не шли, но это никак бы на функции поиска / сортировки / статистики не повлияло, а кол-во книг в БД всегда видно на панели счетчика.

Я же говорю о, можно так сказать, "функциональной красоте" при соблюдении которой, мы можем использовать  статистический анализ, а при несоблюдении - не можем.

Что касается функции Корзины, то это связанные вещи с "утерей" и "списанием". Не знаю, разделяются ли данные понятия с точки зрения учета в библиотеке, но в любом случае ф-ция нужная. Когда придумаю хороший способ реализации - выложу на голосование.
07.11.2017 22:29
# FreeMind  Модератор  633 368 +0
Вынес новую возможность на голосование.
Можете написать там замечания/комментарии,
29.09.2017 20:42
# FreeMind  Модератор  633 368 -1
x-------x
Из базы "вылетели". 2 книги введенные сегодня. Т.е. именно исчезли. они вновь появились после перезагрузки программы
x-------x

А вот тут конечно странно. Укажите пожалуйста шаги для воспроизведения.
Как вариант, возможно просто у вас был включен фильтр или не нажата кнопка "показать еще...".
29.09.2017 23:19
# Rinoren  PREMIUM  70 444 +0
Ну как бы не первый год работаю с Либой :) Фильтров не было. Группировку несколько раз менял с одной на другую (у меня по умолчанию по id) показать ещё - да нажимал. Переключался между вкладками. Было так
3912
3913
3914
3915
3918
3919
Речь об id полученных во время клонирования (мне нужно было 3 а получил 30)
Т.е. два id просто пропали. Как это вышло? Действия были хаотичными. Я изменял описания по ошибке созданных клонов, затем увидел эту историю с обложками. Пытался не смотря ни на что их изменить. К этому времени id 3916 и 3917 (их описание ранее также было изменено) уже были выданы на временное хранение..... Нет, не смогу вспомнить порядок действий. Не знаю, связано ли это, но два дня назад когда я получил лишние клоны, я проверял снижает ли программа нумерацию после удаления карточки - удалил как раз два id из числа этих клонов
29.09.2017 23:39
# FreeMind  Модератор  633 368 +0
Хм) Как раз написал свой комментарий выше. Там есть рекомендации по использованию клонирования.

По факту, проблема в том, что из за того, что ввели 30 экземпляров вместо 3, потом начали использовать "клонов", как уникальные карточки, а надо было просто сразу грохнуть все лишние.

Чтобы исправить тут действительно нужна возможность "разрывать связь с клонами". Я вынесу ее на голосование, т.к. думаю она может пригодиться многим, кто начнет ошибочно использовать "Клонирование".
07.11.2017 22:36
# FreeMind  Модератор  633 368 +0
Реализовано.

Описанное поведение программы не является ошибкой.
По предложениям добавления нового функционала в программу, описанных в комментариях, создано два голосования.
29.10.2019 08:29
# Biblio  PREMIUM  140 0 +0
Добрый день ! После клонирования предмета, не могу вернуться в базу данных, только через выход из программы. Очень неудобно. Может что то делаю не так ?
30.10.2019 12:03
# FreeMind  Модератор  633 368 +0
Здравствуйте!
Поясните подробнее, пожалуйста, что означает "не могу вернуться в базу данных"?
Обратите внимание, что после клонирования, добавления и т.п.. в таблице включается фильтр и отображаются только те карточки, которые были добавлены (это сделано для удобства проверки, только что введенных данных), чтобы отобразить все карточки БД необходимо нажать кнопку "Очистить" на панели фильтра в верху окна (эта панель при активном фильтре подсвечивается жёлтым цветом).