Развитие: пункт 6

Голосование в теме http://lib.rus.ec/node/275617 выявило лидера:

Цитата:
6. Создание в бд и интерфейсе сущности "произведение", объединяющей разные версии и переводы одной книги http://lib.rus.ec/w

Пора решить, что этот пункт означает и как оно вообще должно выглядеть.
Ваши предложения?
Аватар пользователя Mylnicoff

А еще я вопросик добавлю: на каком языке оно, это самое произведение, будет. То есть все версии Animal Farm Оруэлла на разных языках - они по-русски вообще-то под разными названиями выходили - "Скотный двор", "Скотский хутор", еще как-то... Вот когда эти версии будут вместе собраны, они как будут называться? На языке оригинала? Прекрасный вариант. Если мы на варианты арабской книги не наткнемся или японской.

Mylnicoff написал:
А еще я вопросик добавлю: на каком языке оно, это самое произведение, будет. То есть все версии Animal Farm Оруэлла на разных языках - они по-русски вообще-то под разными названиями выходили - "Скотный двор", "Скотский хутор", еще как-то... Вот когда эти версии будут вместе собраны, они как будут называться? На языке оригинала? Прекрасный вариант. Если мы на варианты арабской книги не наткнемся или японской.

по идее должна быть иерархия Произведение - Версии (издание 1700, издание 1740 исправленное, журнальный вариант, и т.п.) - Переводы (на разные языки, разными переводчиками) - Файлы (в разных форматах, с картинками/без) - Версии файлов (это уже есть)
У каждого слоя может быть свой набор авторов в разных ролях, наследуемый сверху вниз.
Только пока не понял, как это обинтерфейсить удобнее. Очень уж развесисто пулучается, и избыточно в большинстве случаев.
Ненужные уровни должны автоматически схлопываться, нужные проявляться.
Названия Произведения и Версии должны быть на языке оригинала, очевидно. Названия переводов должны быть видны на той же странице, видимо. Если есть переводы.

2 larin
1)смотрите в сторону fantlab.ru как сделано там, очень грамотно все,

только у нас будет еще сложнее,
к 2 урояням произведение -> издание добавится еще один:
произведение -> издание -> файл,
или еще сложнее: произведение -> язык -> издание -> файл

2)уровень "произведение" так же может предполагать наличие библиографии всех написанных автором текстов и не просто перечисление в статье о авторе

3) уровень издание -> файл в библиотеке уже реализован
4) основные трудозатраты при реализации сущности "произведение" в БД ,будут идти на проставление алиасов между книгами имеющими разные варианты заглавия или издания на других языках, соотв. в названии "произведение" все эти варианты должны указываться (опять смотрим на fantlab.ru)

4) пока не очень представляю себе как такая структура будет реализована для сборника стихов или рассказов

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

6) в файле не указаны выходные данные - невозможно установить из какого издания он взят

Bill_G написал:
2 larin
1)смотрите в сторону fantlab.ru как сделано там, очень грамотно все,

У них идут пары, оригинал - русский перевод
У нас некоторые книги имеют пяток переводов на разные языки, + тройку разных на русский + разные версии файлов, с картинками/без и т.п.
А так их страничка автора похожа на нашу текущую. Хочется улучшить.

Bill_G написал:

4) пока не очень представляю себе как такая структура будет реализована для сборника стихов или рассказов

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

Bill_G написал:
5) зачастую у книги может быть с сотню разных изданий, а текст везде абсолютно одинаков - будет раздувание базы

База выдержит. Файлы дублировать не хотелось бы.
Да и не хочется завязываться на издания. Автор - Произведение - Версия - Перевод - Файл. Никаких изданий нам не нужно.

Bill_G написал:
6) в файле не указаны выходные данные - невозможно установить из какого издания он взят

И не надо.

larin написал:
Файлы дублировать не хотелось бы.
"Сам не хочу" (L). Но издания даже при идентичном тексте могут отличаться иллюстрациями, и уж обязательно будут отличаться publish-info'й. :-(
larin написал:

не хочется завязываться на издания. Автор - Произведение - Версия - Перевод - Файл. Никаких изданий нам не нужно.
Не понял: "версия" - это не то же самое, что издание? В смысле - "текст приводится по изданию такому-то", от такого-то года (для изначально э-книг - полная дата плюс уточнение "авторский/издательский"?

ИМХО в простейшем случае цепочка будет так:
ФИО <<-->> Автор <<-->> Произведение <-->> Издание/версия <-->> Файл <-->> Версия файла
(автор м.б. коллективным - Кузьма Прутков, Братья Стругацкие, Кукрыниксы; и наоборот: Чартхишвили - это не только Акунин, но и ещё кто-то).
С переводом сложнее: перевод пойдёт не от произведения, а от издания (в т.ч. и от ещё чьёго-то перевода на какой-то язык), является ещё и тоже произведением, имеет ещё и переводчиков и издания/версии.
Про иллюстрации я вообще молчу: иллюстратор - тоже автор, но уже конкретного издания, а не произведения.
В линейную цепочку не строится, ща разрисую - примерно так:

larin написал:
Видимо придётся добавить третий вид сериала, помимо авторского и издателького.
Давно пора.
И чётко разграничить виды серий:
1. сборник
2. подсериал\сериал
3. издательская серия
4. журнальная\газетная серия (периодика).

Цитата:
Названия Произведения и Версии должны быть на языке оригинала, очевидно. Названия переводов должны быть видны на той же странице, видимо. Если есть переводы.

Тут Руская библиотека. Значить, сущность "произведение" должна быть на Руском языке. В каноничном названии. Для вышеприведенного примера с Оруэллом это должно быть "Скотный двор". Потому что для какого-нибудь Конан Дойля среднестатический юзер будет долго ломать голову, прежде чем сообразит, что же все-таки за книжка скрывается под названием "A study in scarlet".

Старый опер написал:
Потому что для какого-нибудь Конан Дойля среднестатический юзер будет долго ломать голову, прежде чем сообразит, что же все-таки за книжка скрывается под названием "A study in scarlet".

не будет ломать, а увидев список произведений, найдет правильный ответ и перейдет в ранг переводчиков )
А серьезно: согласен. Русское название (Оридженал Наме), а потом список.
Аватар пользователя Ronja_Rovardotter

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

Ronja_Rovardotter написал:
Надо ли на странице автора отражать оригинальное название - вопрос.
В виде всплывающей подсказки на названии перевода - было бы удобно.
А вот что точно надо - это на странице книги показывать имя автора на языке книги. Простейший способ - показывать так, как записано в description'е, а не брать из базы. А то был прен-цен-дент, когда один хохлосрачер перевязывал цепочки алиасов украинским авторам...
Аватар пользователя Captain Scarlett

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

Иерархия мне видится так: произведение - язык (русский, язык оригинала, остальные языки) - перевод (разные переводчики) - версия (разные издания) - файл. Язык и перевод можно объединить.

Я представляю это так:

в базе заводится таблица для книги. У неё будут примерно такие поля:
id_book автоинкриментное поле с идентификатором книги
id_author идентификатор автора

Ну и поля для связки серий.

в базе заводится запись для файла
id_file автоинкриментный идентификатор файла
id_book идентификатор книги. Это позволит привязывать несколько файлов, к одной книге.
lang идентификатор языка
title название книги
anotation анотация
image изображение
format формат книги
comment короткая запись поясняющая особенности файла

Настранице автора, когда отключены фильтры, будет выводится книга на языке совпадающем с пользовательским. Т.е. тем самым, который юзэр выставил в своём браузере. Если такого языка нет, то по нисходящей.
Скажем, у меня первым выставлен руский, а потом английский. И если есть файл на русском, то мне его и надо показывать. А если русского нет, то на английском. Ну а ежели нет и такого, то мне уже всё равно, что китайский, что французкий. Всё равно не пойму.

Но уже на странице самой книги, надо дать возможность сменить язык. А вдруг я такой извращенец, и хочу поржать и почитать "ночной дозор", на украинском.

С форматом, чуток проще, всё те же старые добрые фильтры, на страничке автора.

Eric-S написал:

Настранице автора, когда отключены фильтры, будет выводится книга на языке совпадающем с пользовательским. Т.е. тем самым, который юзэр выставил в своём браузере. Если такого языка нет, то по нисходящей.
Скажем, у меня первым выставлен руский, а потом английский. И если есть файл на русском, то мне его и надо показывать. А если русского нет, то на английском. Ну а ежели нет и такого, то мне уже всё равно, что китайский, что французкий. Всё равно не пойму.

Кстати да, поддерживаю. Давно уже пора делать какие-то шаги в сторону локализации (и глобализации) интерфейса, особенно в тех случаях, когда такие шаги почти ничего не стоят. Не только русскоязычный мир стонет под пятой копирайта.
Аватар пользователя Captain Scarlett

Страница автора -> страница произведения -> страница файла (нынешняя страница книги)
На странице произведения файлы отсортированы в таком порядке:

  • Язык 1.
    • Переводчик 1
      • Версия 1
      • Версия 2
    • Переводчик 2
      • Версия 1
  • Язык 2
    • Версия 1
    • Версия 2

На странице произведения можно добавить аннотацию, поставить оценки и написать отзыв.

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

Аватар пользователя Captain Scarlett

По сборникам. Рассказ - произведение, сборник (антология, журнал и т.д.) - тоже произведение. Между ними перекрестные ссылки типа "в состав сборника входят следующие рассказы" и "рассказ входит в состав такого-то и такого-то сборников".

izaraya написал:
Рассказ - произведение, сборник (антология, журнал и т.д.) - тоже произведение. Между ними перекрестные ссылки типа
Э... не произведение, а издание. До фига расказов публикуются в разных сборниках в чуть-чуть разном виде.
Аватар пользователя Captain Scarlett

Рыжий Тигра написал:
izaraya написал:
Рассказ - произведение, сборник (антология, журнал и т.д.) - тоже произведение. Между ними перекрестные ссылки типа
Э... не произведение, а издание. До фига расказов публикуются в разных сборниках в чуть-чуть разном виде.

Авторский сборник и антология - точно произведения. У этих произведений могут быть разные переводы и разные редакции.

izaraya написал:
Рыжий Тигра написал:
izaraya написал:
Рассказ - произведение, сборник [...] - тоже произведение.
не произведение, а издание. До фига расказов публикуются в разных сборниках в чуть-чуть разном виде.

Авторский сборник и антология - точно произведения.
Хм. Я имел в виду, что производное произведение (сборник, перевод) базируется не на произведении, а на издании/версии первичного/ых произведения/й - не раз лично видел "перевод выполнен по изданию" или конкретные копирайты на рассказах в составе сборника. Другое дело, что в частном случае (а таких большинство) произведение, послужившее оригиналом для перевода или составной частью сборника, может иметь только одну версию.

Ну и какая проблема с рассказами? Это всё те же файлы.
А мало того, в планах развития, предлагался пункт, (не 6), как раз на счёт рассказов. Кто его поддержал? Ну, вот, а теперь сидим, и про рассказы не вспоминаем, некоторое время.

Сейчас немного перечитал посты...
На счёт названия. А что если названия, вынести в отдельную таблицу?
id_book идентификатор книги
lang идентификатор языка
title название
priority приоритет название. Оригинальное, должно быть с индексом 0. Печатные, должны быть с индексами 1, переводные, с индексом 2, а пользовательские, с индексом 3.

Ну и показывать, уже соответственно, те названия, которые нужны пользователю. А поиск будет по всем названиям.

И я, лично против, чтобы на странице автора, была целая куча книг, в разных версиях и на разных языках. Считаю, что у одной книги, должен быть один раздел, оценка, комментарии и всё такое.
А вот со страници книги, чтобы можно было скачать или читать приоритетный файл, а так же, посмотреть список всех файлов и уже открывать их карточки.

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

Ах да, на счёт версий. Если файл, является просто модификацией предыдущего файла, ну там, опечатки исправлены, пунктуация раставлена, шрифты поправлены, то это одно.
Это новый файл, который заменил устаревшую версию. И нет смысла, показывать эту старую версию в общем списке.

Аватар пользователя Isais

Уфф. Совсем запутано. Зачем усложнять??
То, что предлагала уважаемая izaraya, гораздо очевиднее:
страница "Автор", на ней перечислены все произведения с устоявшимися русскими заглавиями; оттуда переход по ссылке на страницу "Произведение";
страница "Произведение", на ней перечислены все издания этого текста, на всех языках, всех переводчиков, всех годов; на этой странице явно прописаны языки файлов, которые сейчас скрыты вплоть до страницы "исправить".

Примерная структура такой страницы:
Основное заглавие на русском(!)

английский язык:


русский язык:

язык эсперанто:

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

Поддерживаю.

В целом, предложение Isais по оформлению страницы вводимой сущности "произведение" выглядит весьма неплохо.

Учтено упорядочивание вариантов по языку, году, переводчикам\редакторам\иллюстраторам, доп. полям.
Учтена второстепенность указания авторства произведения и серии, к которой произведение относится, т.к. они обозначаются на странице произведения однократно, по ним упорядочивать перечень его вариантов не надо.

Единственно спорный вопрос - кто и как будет определять "устоявшееся русскоязычное название" произведения?

П.С. Что касается страницы автора и страницы серии, то такие сущности уже на либрусеке более-менее оформлены. Лучше не трогать пока.

Аватар пользователя Isais

Quae написал:
Единственно спорный вопрос - кто и как будет определять "устоявшееся русскоязычное название" произведения?
Не такой уж спорный. Для выяснения этого есть указатели, каталоги, энциклопедии, учебники, пособия (легко доступные, между прочим, и через Инет), в конце концов, эксперты в академических институтах и виртуальные библиографические справки.
К тому же, при равно известных заглавиях вроде "Хроника царствования Карла IX" и "Хроника времен Карла IX" движок дает возможность указать заглавие вот так:
Хроника царствования Карла IX [=Хроника времен Карла IX]
Пармская обитель [= Пармский монастырь] (кста, этого перевода в библиотеке нет).
X