BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 28 апр 2024, 01:08

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: Динамический код в клиенте.
СообщениеДобавлено: 01 фев 2013, 15:48 
Не в сети
Клиент

Зарегистрирован: 20 мар 2008, 20:20
Сообщения: 676
Откуда: Россия, Иваново
Карма: 36
Ув. разработчики, возможно ли теоретически реализовать возможность использовать дин. код в клиенте и подменять стандартные классы на свои из дин. кода?

На Ваш любимый вопрос "Зачем?" сразу отвечу :)

Подобный функционал позволил бы нам изменять интерфейс клиента и добавлять свои пункты в меню.
Например мы могли бы решить, много раз поднимаемый, вопрос с поиском.
Вы бы избавили себя от необходимости решать вопросы типа "хочу круглую кнопочку вместо квадратной".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамический код в клиенте.
СообщениеДобавлено: 01 фев 2013, 15:54 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
теоретически можно но не всё так просто. «подменять» не очень понятно как вы собрались. или добавлять пункты в меню.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамический код в клиенте.
СообщениеДобавлено: 01 фев 2013, 16:09 
Не в сети
Клиент

Зарегистрирован: 20 мар 2008, 20:20
Сообщения: 676
Откуда: Россия, Иваново
Карма: 36
dimOn писал(а):
теоретически можно но не всё так просто. «подменять» не очень понятно как вы собрались. или добавлять пункты в меню.


Как подменять:
В конфиге сервера пишу, что то типа:
dynclient:bitel.billing.module.contract.ActionOpenContract=ru.lda.ActionOpenContract
т.е. я подменяю Ваш поиск на мой.

Или же например для модуля IPN.
В типе шлюза указано: user_rule.editor.class=bitel.billing.module.services.ipn.editor.MikrotikContractRuleEditor
А я переделаю интерфейс и укажу свой: user_rule.editor.class=ru.lda.MikrotikContractRuleEditor



Как добавлять пункты в меню:
Я пишу свое "окошко" ru.lda.MyWindow.
И добавляю его в замечательный файлик BGBillingServer/data/menu.xml
Код:
...
    <menu title="Договор" id="contract">
...
        <menuItem id="new" className="ru.lda.MyWindow" title="Мое окошко"/>
...
    </menu>
...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамический код в клиенте.
СообщениеДобавлено: 01 фев 2013, 22:05 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
lda писал(а):
возможно ли теоретически реализовать возможность использовать дин. код в клиенте и подменять стандартные классы на свои из дин. кода?

dimOn писал(а):
теоретически можно

Теоретически может так случится, что следующий пост будет копипастой ;)
dimOn писал(а):
хелпдеск => доработка => профит


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамический код в клиенте.
СообщениеДобавлено: 02 фев 2013, 00:41 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
Динамичский код храниться в БД и выполняется на сервере....
Как его передавать на клиента и где его там хранить не понятно....
Прописать свой пункт в menu.xml и подложить в клиента свою jar-ку можно и без дин. кода и других доработок.
В принципе, ни что, не мешает подменить наш интерфейс поиска своим, только придеться реализовывать весь функционал самостоятельно, обернуть наши классы как в случае акшенов навряд ли получиться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамический код в клиенте.
СообщениеДобавлено: 02 фев 2013, 22:23 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Цитата:
Как подменять:
В конфиге сервера пишу, что то типа:
dynclient:bitel.billing.module.contract.ActionOpenContract=ru.lda.ActionOpenContract
т.е. я подменяю Ваш поиск на мой.
Ну и как это реализовать? Писать КлассЛоадер свой чоле, который может читать конфиг этот? Ну да, опять же, очень теоретически это можно сделать.
Дин скрипты как раз с сервера без проблем получать то можно, но выполнять конечно на клиенте придётся их. А значит тащить сюда средства разработки, JDK итд.
Теоретически можно, ок. Но это большие изменения с неочевидной важностью функционал. Как выше верно сказано, в принципе как раз это можно сделать несложно своим обычным явакодом + правкой хмл-ки меню. Будет так же совершенно с точки зрения удобства разработки.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамический код в клиенте.
СообщениеДобавлено: 04 фев 2013, 11:14 
Не в сети
Клиент

Зарегистрирован: 20 мар 2008, 20:20
Сообщения: 676
Откуда: Россия, Иваново
Карма: 36
Согласен, что дин. код в данном случае не самое хорошее решение.

Получается так что сейчас я могу добавить свой пункт в меню, написать библиотеку для клиента.

Подскажите пожалуйста, а как мне эту библиотеку обновлять?
Можно ли как то использовать стандартный механизм обновления клиента?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамический код в клиенте.
СообщениеДобавлено: 04 фев 2013, 11:20 
Не в сети
Клиент

Зарегистрирован: 20 мар 2008, 20:20
Сообщения: 676
Откуда: Россия, Иваново
Карма: 36
dimOn писал(а):
Ну и как это реализовать? Писать КлассЛоадер свой чоле, который может читать конфиг этот?


Я и не прошу Вас это реализовывать. Я просто размышляю в слух. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамический код в клиенте.
СообщениеДобавлено: 04 фев 2013, 11:23 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
lda писал(а):
Согласен, что дин. код в данном случае не самое хорошее решение.

Получается так что сейчас я могу добавить свой пункт в меню, написать библиотеку для клиента.

Подскажите пожалуйста, а как мне эту библиотеку обновлять?
Можно ли как то использовать стандартный механизм обновления клиента?


так ваша же библиотека , зачем нас спрашивать как ее обновлять ? Отдельная jar - ка пусть лежит и перетирайте ее когда хотите .


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамический код в клиенте.
СообщениеДобавлено: 04 фев 2013, 11:31 
Не в сети
Клиент

Зарегистрирован: 20 мар 2008, 20:20
Сообщения: 676
Откуда: Россия, Иваново
Карма: 36
stark писал(а):
так ваша же библиотека , зачем нас спрашивать как ее обновлять ? Отдельная jar - ка пусть лежит и перетирайте ее когда хотите .


Вы наверное меня не поняли.

Я написал библиотеку и мне надо обновить ее на всех клиентах.
Могу ли я использовать для этих целей механизм обновления клиента.
т.е. я кидаю ее на сервер, а клиент при "Принудительном обновлении клиента", забирает ее с сервера.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамический код в клиенте.
СообщениеДобавлено: 04 фев 2013, 14:55 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
ну если тока оформить как модуль/плагин. но возникает вопрос с лицензиями, которые мы пока не придумали как решать.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамический код в клиенте.
СообщениеДобавлено: 04 фев 2013, 15:10 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
dimOn писал(а):
ну если тока оформить как модуль/плагин. но возникает вопрос с лицензиями, которые мы пока не придумали как решать.

Дайте мне генератор я буду генерировать для всех кто захочет свой плагин дописать :umnik:

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамический код в клиенте.
СообщениеДобавлено: 04 фев 2013, 15:22 
Не в сети
Клиент

Зарегистрирован: 20 мар 2008, 20:20
Сообщения: 676
Откуда: Россия, Иваново
Карма: 36
dimOn писал(а):
ну если тока оформить как модуль/плагин. но возникает вопрос с лицензиями, которые мы пока не придумали как решать.

Ну можно наверное написать свой модуль/плагин и запросить у Вас для него лицензию. Надеюсь бесплатно :)

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамический код в клиенте.
СообщениеДобавлено: 04 фев 2013, 15:35 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
не получится :)

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамический код в клиенте.
СообщениеДобавлено: 04 фев 2013, 15:54 
Не в сети
Клиент

Зарегистрирован: 20 мар 2008, 20:20
Сообщения: 676
Откуда: Россия, Иваново
Карма: 36
dimOn писал(а):
не получится :)

Жаль.

Может быть skn что нибудь придумает?
У него обычно получается решать нерешаемые задачи. :)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.084s | 49 Queries | GZIP : On ]