2.4.0 • Published 5 years ago

omegatv v2.4.0

Weekly downloads
2
License
ISC
Repository
github
Last release
5 years ago

Stalker/Mag Develop Guide

Распаковка проекта и подготовка к запуску

Выкачиваем репозиторий проекта с ГитХаба по ссылке: https://github.com/OmegaTV/stalker_classic Теперь необходимо запустить докер-контейнер с выкачанным проектом. Для этого открываем командную строку (Win + R), и прописываем следующую команду: docker run -v d:\Stalker\dest:/usr/share/nginx/html -p 8090:80 -d nginx где d:\Stalker\dest - путь к файлу .html, а 8090 - номер порта (менять нельзя)

Подготовка консоли для дебага

Для нормального дебага приложухи необходимо проделать следующие пункты: 1) скачать node-модуль weinre (открываем отдельную консоль -> npm install weinre --save-dev) 2) развернуть эту консоль локально (заходим в папку node_modules, куда установили тот самый модуль, далее в подпапку weinre, оттуда открываем консоль. прописываем в консоли node weinre --boundHost 192.168.13.185). Видим что сервер запущен по конкретному адресу. Копируем этот адресс и открываем в Гугл Хроме. Тут и будет выводится аналог браузерной консоли при запуске нашего проекта. Важно! Сервер для дебага запущен, консоль после этого не закрываем (и никакие процессы там не выключаем) вплоть до окончания выполнения своих задач. В противном случае дебажить не сможем. В открытом адрессе в Хроме выбираем пункт "debug client user interface": ScreenShot Тут и будет выводится аналог браузерной консоли при запуске нашего проекта. Всё сделано правильно, если на экране видим что-то типа такого: ScreenShot 3) Находим точку входа в проект (index.html в папке dest), в шапке видим закомментированную строку <script src="http://192.168.13.185:8080/target/target-script-min.js#anonymous"></script>. Раскомментируем её. Теперь при запуске приложения эта строка будет посылать данные для дебага в нашу вкладку в Хроме. Важно! Номер порта в этой строке должен совпадать с номером порта, в открытой вкладке Хрома. Важно!!! По окончании работы не забудьте заново закомментировать этот кусок кода. В случае если оставить его открытым, запушить в гит и забилдать аплликуху в прод - у конечных клиентов приложение будет запускаться около минуты, так как приставка сперва будет стараться достучатся до адресса, прописанного в этой строке (а по этому адрессу уже ничего нет, сервер с корнсолью вы наверняка уже закрыли), и лишь потом уже начнет выполнение нужных скриптов и рендера.

Запуск приложения

Подрубаем к приставке провод от интернета, питание и подключаем приставку к телевизору через кабель HDMI. Запускать вручную её не надо, она сама это делает как только будет подсоединена к розетке. Если попали в меню, где видим установленные ранее приложения, виджеты, время и тд - всё хорошо. Если же нет - читаем сперва пункт "Работа с порталами". Нам необходимо теперь получить айпишник приставки. Для этого заходим в настройки, состояние сети. Запоминаем Айпи. Открываем консоль, и пишем следующее: ssh root@192.168.13.176 где после знака @ прописываем IP приставки. Далее консоль затребует пароль - пишем 930920. Если для запуска используется модель Mag-250 или Mag-254 то далее пишем kill-stbapp. И после этого /usr/share/qt-4.6.0/stbapp -qws -display directfb http://magdev.hls.tv/stalker_portal/c/?debug Если используется модель Mag-256 то : ../start http://magdev.hls.tv/stalker_portal/c/?debug Наблюдаем как запускается портал. В запущенном портале ищем приложение с названием "OMEGATV_DEV". Оно из себя представляет какраз таки развернутый у нас на локалке проект, название прописывается в настройках сервера, с фронта не меняется никак. Запускаем данное приложение, а также открываем ту самую вкладку в Хроме и видим хтмл-разметку, стили и код из нашего запущенного приложения. Всё готово!

Перезапуск приложения

Если что-то поменяли в своём коде и хотим посмотреть изменения то в виндовс-консольке жмем сперва Ctrl+C, тем самым отменяя выполнение прошлого запуска, и заново прописываем команду /usr/share/qt-4.6.0/stbapp -qws -display directfb http://magdev.hls.tv/stalker_portal/c/?debug

Работа с порталами, их админка, установка/обновления приложений

Портал по сути из себя представляет некое пространство, которым мы можем управлять с помощью админки (она называется Министра). Задавать ему внешний вид, устанавливать определенные приложение, прописывать какие-то более сложные настройки и тд. Суть работы Mag/Stalker приставок состоит именно в подключении к какому-то конкретному порталу и отображении всех доступных в нём аппликух. Подключать новый портал мы можем в таком вот меню: ScreenShot В нашем случае мы имеем 2 типа портала. 1-ый дев-портал, для тестировки и разработки. Его адресс: http://magdev.hls.tv/stalker_portal/c а адресс соответсвующей ему админки: http://magdev.hls.tv/stalker_portal/server/adm/login 2-ой прод-портал, для продовой версии аппликухи. Его адресс: http://s.hls.tv/stalker_portal/c а адресс соответсвующей ему админки: http://94.158.80.151/stalker_portal/server/adm/login Разберемся теперь как добавлять приложение. Вообще приложения существуют двух типов. Первый тип - Классик, а второе - Смарт Лаунчер. Первый тип приложений подключается с помощью ссылки к его гит-репозиторию, а второй - как npm библиотека. Сейчас покажу как устанавливать первый тип, а потом в отдельном пункте расскажу про второй. Итак, заходим в админку нужного портала. В левом сайдбаре выбираем Приложения -> Приложения Classic. Открывается меню, в котором мы видим все установленные приложения в данном портале. При клике на каждый из них, при необходимости, можем обновить его (если есть обновление). ScreenShot Для добавления нового приложения жмем в правом верхнем углу "Добавить приложение по URL", где указываем ссылку на git-репозиторий проекта. (!Обязательно убрать в конце ссылки ".git"!). Добавляем приложение, и в общем меню приложух включаем его. После этого перезапускаем портал на приставке (Настройки -> Перезапуск портала), и видим новую аппку в менюшке. Готово! Если же хотим обновить приложение, то сперва заливает его в мастер-ветку гита, затем там же на гитхабе заходим в раздел "releases" и создаем новый релиз с новой версией. После этого в админке(Министре) мы увидим в списке приложений доступну эту версию и сможем обновить своё приложение

Smart launcher приложения и их установка/обновление через npm

У нас есть и второй тип приложений, который называется Smart Launcher. Для их установки сперва их необходимо залить на npmjs.com как свой собственный package. Наше приложение (как и кастомизированная версия под Максимум) уже залита там в аккаунт компании. Имя аккаунта и пароль спросить у Эда. Имя аккаунта - omegatv, а пароль - maggovno. После прохождение процедуры авторизации увидим оба приложения в списке. Выкачиваем исходник (omega_npm) c гитхаба. Переносим все файлы и папки (крмое гитовских .git .gitignore и тд) в отдельную папку. Правим наши файлы. После окончания правок необходимо залить новую версию на сервер npm. Сперва открываем package.json, где увеличиваем значение свойства version (npm не позволяет апдейтить приложение без апдейта версии, иными словами - любая малейшая правка - это новая версия). После этого открываем в корне консоль и пишем команду npm publish. Приложение апдейтнулось на npm-сервере! Теперь же разберемся как посмотреть на приставке приложения такого типа. Дело в том, что мы можем настроить свой портал чтобы он отображал лишь 1 тип приложений (то есть либо Classic либо Smart Launcher). Для переключения этого отображения заходим в админку портала, ищем в левом сайдбаре "Настройки" -> "Внешний вид". Настройка "MAG STB" какраз отвечает за переключением между этими 2мя типами. Ниже в табличке показаны какая тема соответсвует какому типу, по ней и ориентируемся какую тему выбрать. ScreenShot После выбора новой темы, сохраняем настройки, перезагружаем приставку. После подключения приставки к нужному порталу увидим что внешний вид меню изменился, список приложений слегка тоже. В конце списка будет и наше приложение.

Несколько общих правил

  • по каким-то необъяснимым причинам разработчики Магов решили прибиндить функционал возврата назад не к кнопке "Назад", а к кнопке "Домой", потому и в приложениях решили использовать такое же соответствие
  • "под капотом" у приставок этих установлен браузер Файрфокс 1.5 2007го года. Потому разрабатываем приложение и фичи с учетом этого, не используем абсолютно никакие новомодные фишки, все должно быть максимально простым
  • никакой сборки проекта сдесь не существует (галпа нет)
  • не пытатся использовать в самом приложении лишние таймеры, прозрачности, и все что связанно с дополнительным рендерингом. Рендеринг - самое проблематичное для этих приставок
  • если прийдется менять иконки приложений то делать все четко по соответсвию с текущими иконками, ничего не менять (названия, подпапки, разрешение в пикселях)
2.4.0

5 years ago

2.3.0

5 years ago

2.2.0

5 years ago

2.1.3

5 years ago

2.1.2

5 years ago

2.0.1

5 years ago

1.1.13

5 years ago

1.1.12

5 years ago

1.1.11

5 years ago

1.1.10

5 years ago

1.1.9

5 years ago

1.1.8

5 years ago

1.1.7

5 years ago

1.1.6

5 years ago

1.1.5

5 years ago

1.1.4

5 years ago

1.1.3

5 years ago