Ядро ELiS работает на базе Drupal, что подразумевает использование отдельного сайта для библиотеки. Сайт на Drupal готов к созданию очень сложных и насыщенных веб-систем, но часто возникает задача встраивания функциональных возможностей электронной библиотеки в существующие сайты.
Ранее был код для встраивания документов библиотеки в сторонние сайты на базе oEmbedder, но он использовался именно для отдельных документов, а не библиотеки целиком. Для решения проблемы встраивания библиотеки в любой сторонний сайт в альфа-тестировании появился функционал ELiS WebApps.
ELiS WebApps решает задачи:
- Встраивание ELiS в мобильные приложений
- Встраивание ELiS в сторонние сайты
- Встраивание ELiS в социальные сети
Содержание
Встраивание в мобильные приложения[править]
Многие библиотеки задумываются про собственные мобильные приложения для постоянных читателей. Учитывая стоимость разработки порядка 1 тыс. руб. за час разработчика, стоимость создания приложения с поддержкой электронных книг может оказаться очень значительной.
ELiS WebApps позволяет существенно снизить затраты на встраивание электронной библиотеки в мобильные приложения за счет использования уже загруженных в ELiS книг и ее каталога. В некоторых случаях встраивание электронной библиотеки потребует от разработчика мобильного приложения написать всего одну строчку кода. Например, такую:
<WebView Source="https://k.psu.ru/library/app/catalog"></WebView>
Технология ELiS WebApps совместима с Apache Cordova, а приложения на данной технологии можно легко создавать в IDE Intel XDK, Android Studio, Microsoft Visual Studio, что позволяет легко скомпилировать приложения под iOS, Android, Windows Phone 8, Windows 10...
Для быстрого старта подготовлен проект в Microsoft Visual Studio с примером использования ELiS WebApps: http://elibsystem.ru/sites/default/files/docs/apps/webapps/examples/ELiSExample_VisualStudio_Cordova.zip
Напомню, Visual Studio 2015 Community Edition бесплатна и позволяет компилировать приложения под Windows (сразу) и Android (требуется бесплатно сгенерировать ключ). Для сборки iOS проекта необходим компьютер с Mac OS X.
Загрузка приложения в магазины потребует приобретения соответствующего доступа.
ELiS WebApps может использоваться не только в мобильных приложениях, но и в десктопных.
Документация по встраиванию ELiS в приложения.
Встраивание в сторонние сайты[править]
Модуль oEmbedder теперь поддерживает встраивание не только документов (книг, видео и прочее), но и каталогов, включая основной каталог ELiS. Как и ранее, для этого достаточно использовать простой ссылки на ноду каталога: {{ oembedder: http://example.com/node/12345.
Впрочем, при использовании oEmbedder есть одна особенность: при встраивании документов ELiS, высота встроенного документа меняется автоматически. В случае каталога такой подход не годится, т.к. каталог ELiS с самого начала является скроллируемым (в отличие от, скажем, книги, высота страниц которой вполне фиксирована). Поэтому ELiS не может корректно поменять высоту каталога после встраивания т.к. единственный характерный параметр на который можно ориентироваться - это размер экрана браузера.
Эта проблема решается следующим образом: ELiS задает высоту каталога как 75% от вертикального размера экрана браузера. Такого запаса должно быть достаточно, чтобы оставить места для заголовка (шапки) сайта и вместить каталог ELiS на сайте без сокрытия его части (и появления нежелательной вертикальной прокрутки).
Примеры встраивания с помощью oEmbedder[править]
http://elis-demo.blogspot.ru/2015/12/catalog.oembedder.html
http://wordpress.elibsystem.ru/?p=27 (для эффективного встраивания каталога, тема не должна быть слишком узкой).
Самостоятельное задание высоты каталога в стороннем сайте[править]
Если подобранная высота oEmbedder вас не удовлетворяет и вы хотите самостоятельно управлять высотой каталога, вместо использования oEmbedder можно просто встроить iframe и адаптировать размер встроенного каталога под экран пользователя с помощью JavaScript на стороне встраивающего сайта.
Встраивание в социальные сети[править]
Встраивание каталога ELiS в социальные сети является частным случаем встраивания в сайты. Социальные сети не дают внедрять в себя JavaScript для непосредственного управления высотой встроенного приложения, поэтому модуль oEmbedder использовать не получится. Высотой приложения будут управлять сами социальные сети.
В случае с ВКонтактом, высоту придется жестко указать при настройке приложения. Обращаю внимание, что 30% интернет-посетителей имеют разрешение экрана 1366x768.
Фейсбук автоматически подбирает высоту и ширину приложения под размер экрана с небольшим запасом.