home

Добавлена возможность темизации каталога ELiS: разные темы для контента и сериальных изданий

Библиотеки с большим количеством контента выглядят как амбары. Да, контент отсортирован и упорядочен в каталоге, но когда каталог богат контентом, возникает ощущение, что ты находишься в большом амбаре, где всё в куче.

Это ощущение может быть особенно неприятно владельцем контента, которые его в библиотеку отдают. Владельцы вкладывают усилия в контент и не хотят, чтобы он был где-то там в амбаре.

Владельцы хотят чтобы:

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

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

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

Как быть? Как быть амбаром и не быть одновременно?

Темизация в ELiS[править]

В ELiS выход найден. Выходом является темизация библиотеки под отдельные "папки" каталога или даже некоторые сущности.

В процессе темизации меняется шапка сайта, цвета фона и текста.

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

Кто может применять[править]

В настоящее время темизация включена в базовую поставку ELiS и становится бесплатно доступной для всех клиентов.

Ждите ближайшего обновления ELiS.

Как включить темизацию[править]

Появляется новое поле field_config, в котором в формате JSON хранится конфигурация. Поле может быть установлено для нод типа каталог (папок) и для термов типа "serial", т.е. у сериальных изданий.

Важно, что содержимое поля должно быть ***валидным JSON***, т.е. с двойными кавычками, отсутствием после последнего значения запятой и всем таким прочим. Некорректный JSON при считывании настроек будет проигнорирован без вывода ошибок.

Пример JSON для этого сериального издания: https://elis.psu.ru/node/571357

{
 "chromeColor":"#51255C",
 "textColor":"#FFFFFF",
 "headerUrl":"https://elis.psu.ru/epub/571551/fs/index.html",
 "isHeaderOverflow":false,
 "logoSecondaryUrl":"https://elis.psu.ru/sites/default/files/covers/psu-circle-white-logo.png"
 }

Здесь проставлен цвет фона (chromeColor), текста (textColor), ссылка на контент в шапку сайта (headerUrl), запрещено контентом перекрывать шапку сайта (isHeaderOverflow: false), указана ссылка на логотип справа в виде URL на рисунок (logoSecondaryUrl).

Кроме указанных параметров могут использоваться logoPrimaryUrl для логотипа слева, logoPrimaryHref и logoSecondaryHref в виде URL-ссылок, которыми оборачиваются левый и правый логотипы.

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

Если у текущей папки каталога поле field_config не заполнено, система выполняет рекурсивный поиск field_config у нод родительского каталога, т.е. field_config для нод каталога наследуется, если поле у текущей ноды не заполнено.

Пару слов надо сказать про headerUrl. Этот параметр хитрый: если ссылка заканчивается на jpg, png, mp4 - в шапку встраивается рисунок или видео как есть, а если ссылка заканчивается на что-то другое, то встраивается iframe с src в виде нужного url.

Логотипы из logoPrimaryUrl и logoSecondaryUrl накладываются поверх контента в headerUrl. Но если не задан параметр isHeaderOverflow: false, то контент может перекрывать содержимое iframe, а ссылки в шапке будут работать только с правой части шапки.

journal_example.png

Совместимость с подсайтами[править]

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

Этот функционал может применяться для создания подсайтов организаций-клиентов в случае издательской ЭБС. Создается некоторый домашний каталог организации и в нем размещается контент, в который у организации есть доступ. У домашнего каталога организации производится темизация путем брендирования логотипами и цветами организации и все пользователи организации будут видеть подсайт в её фирменных цветах.

Примеры брендированных подсайтов:

https://rare.elis.psu.ru/

https://jurvestnik.elis.psu.ru/

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

subsite_journal_example.png

Где хранить веб-контент для шапки сайта[править]

Вы можете использовать модуль EPUB для хранения интерактивного контента прямо в библиотеке или просто загрузить его в библиотеку куда-то внутри папки sites/default/files.

URL для веб-контента в шапке сайта может быть и на сторонних ресурсах, но если ваш сайт на HTTPS, то и веб-контент должен быть на HTTPS-URL и если в нем есть ссылки, все они должны иметь атрибут target="_blank".

Примеры веб-контента для шапки сайта[править]

Вы можете скачать примеры отсюда и переделать его под себя: https://elis.psu.ru/node/571351

В некоторых местах там используется canvas-анимация компании JetBrains, для себя которую вы можете создать здесь: https://www.jetbrains.com/goodies/code2art/