StoryCLM.js - это библиотека, предоставляющая доступ к системным функциям (API) платформы StoryCLM. Библиотека должна использоваться в HTML5 приложениях для StoryCLM. В других CLM системах, а так же без StoryCLM данная библиотека работать не будет.
StoryCLM позволяет разработчикам создавать полноценные приложения, использую веб-технологии, такие как HTML, CSS, и JavaScript. Приложения для StoryCLM - это Web приложения, выступающие в роли пользовательского интерфейса, запускаемых на WebView устройства и взаимодействуют с клиентским приложением по средствам вызова нативноего кода. За вызов нативного кода отвечает мост.
Мост - это прослойка между нативным кодом и Web приложением на стороне нативного кода, которая умеет принимать команды от WebView, находить и запускать модули-обработчики и возвращать результат работы обратно в WebView. Мост может самостоятельно посылать команды в WebView, вызывая код в Web приложении. Мост отвечает за взаимодействие на стороне нативного кода и явлется частью клиентского приложения. Под каждую операционную систему мост имеет разные реализации и встроен в клиентское приложение по умолчанию.
На стороне Web приложения за взаимодействие с мостом отвечает StoryCLM.JS. StoryCLM.JS - это библиотека которая позволяет вызывать нативный код клиентского приложения через стандартный WebView устройства. Web приложение вызывает методы библиотеки, которая в свою очередь создает команду и посылает в мост, после выполнения, клиентское приложение, используя мост, отправляет результат (команду) в WebView, где эту команду и данные перехватывает библиотека, которая в свою очередь вызывает callback. Таким образом, результат работы нативного кода возвращается в Web приложение. Web приложению не важно какой операционной системе принадлежит WebView, оно просто оперирует методами библиотеки. Тем самым приложение может одинаково работать на всех клиентах StoryCLM назависимо от операционной системы. Библиотека отвечает за взаимодействие на стороне Web приложения и является его частью. Библиотека имееют единую реализацю под все операционные системы.
Принципиальная схема работы:
Текущая версия документации актуальна для StoryCLM.js (2.1.2) и для версии клиентского приложения 1.0.0 и выше.
<script src="js/storyclm-2.1.2.js"></script>
В каждую функцию, которая имеет аргумент callback, как результат выполненой операции, передается объект msg:
{
"status":"Success",
"errorCode":200,
"errorMessage":"",
"data":{}
}
- status - статус операции. Если "Success", то операция прошла успешно. Иначе нужно смотреть код ошибки и сообщение об ошибке;
- errorCode - 200, если операция прошла успешно;
- errorMessage - сообщение об ошибке;
- data - данные, которые вернула функция, если операция прошла успешно. Результат выполнения функции;
В репозитории, в каталое presentation лежит тестовая презентация, которая демонстрирует все стандартные модули моста.
Библиотека состоит из шести разделов:
- Base - функции связанные общими сведениями об устройстве, пользователе и навигации;
- Presentation - функции для манипуляций с презентациями и их содержимым;
- UI - настройка отображения системных контроллов в приложении;
- Http - доступ к внешним HTTP ресурсам;
- Sessions - работа с сессиями;
- CustomEvents - кастомные события;
- Mediafiles - работа с медиафайлами;
- Map - структура презентации.