forum.bitel.ru
http://forum.bitel.ru/

Динамический код в клиенте.
http://forum.bitel.ru/viewtopic.php?f=1&t=7666
Страница 1 из 1

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

Ув. разработчики, возможно ли теоретически реализовать возможность использовать дин. код в клиенте и подменять стандартные классы на свои из дин. кода?

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

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

Автор:  dimOn [ 01 фев 2013, 15:54 ]
Заголовок сообщения:  Re: Динамический код в клиенте.

теоретически можно но не всё так просто. «подменять» не очень понятно как вы собрались. или добавлять пункты в меню.

Автор:  lda [ 01 фев 2013, 16:09 ]
Заголовок сообщения:  Re: Динамический код в клиенте.

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>
...

Автор:  snark [ 01 фев 2013, 22:05 ]
Заголовок сообщения:  Re: Динамический код в клиенте.

lda писал(а):
возможно ли теоретически реализовать возможность использовать дин. код в клиенте и подменять стандартные классы на свои из дин. кода?

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

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

Автор:  skn [ 02 фев 2013, 00:41 ]
Заголовок сообщения:  Re: Динамический код в клиенте.

Динамичский код храниться в БД и выполняется на сервере....
Как его передавать на клиента и где его там хранить не понятно....
Прописать свой пункт в menu.xml и подложить в клиента свою jar-ку можно и без дин. кода и других доработок.
В принципе, ни что, не мешает подменить наш интерфейс поиска своим, только придеться реализовывать весь функционал самостоятельно, обернуть наши классы как в случае акшенов навряд ли получиться.

Автор:  dimOn [ 02 фев 2013, 22:23 ]
Заголовок сообщения:  Re: Динамический код в клиенте.

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

Автор:  lda [ 04 фев 2013, 11:14 ]
Заголовок сообщения:  Re: Динамический код в клиенте.

Согласен, что дин. код в данном случае не самое хорошее решение.

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

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

Автор:  lda [ 04 фев 2013, 11:20 ]
Заголовок сообщения:  Re: Динамический код в клиенте.

dimOn писал(а):
Ну и как это реализовать? Писать КлассЛоадер свой чоле, который может читать конфиг этот?


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

Автор:  stark [ 04 фев 2013, 11:23 ]
Заголовок сообщения:  Re: Динамический код в клиенте.

lda писал(а):
Согласен, что дин. код в данном случае не самое хорошее решение.

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

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


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

Автор:  lda [ 04 фев 2013, 11:31 ]
Заголовок сообщения:  Re: Динамический код в клиенте.

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


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

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

Автор:  dimOn [ 04 фев 2013, 14:55 ]
Заголовок сообщения:  Re: Динамический код в клиенте.

ну если тока оформить как модуль/плагин. но возникает вопрос с лицензиями, которые мы пока не придумали как решать.

Автор:  Phricker [ 04 фев 2013, 15:10 ]
Заголовок сообщения:  Re: Динамический код в клиенте.

dimOn писал(а):
ну если тока оформить как модуль/плагин. но возникает вопрос с лицензиями, которые мы пока не придумали как решать.

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

Автор:  lda [ 04 фев 2013, 15:22 ]
Заголовок сообщения:  Re: Динамический код в клиенте.

dimOn писал(а):
ну если тока оформить как модуль/плагин. но возникает вопрос с лицензиями, которые мы пока не придумали как решать.

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

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

Автор:  dimOn [ 04 фев 2013, 15:35 ]
Заголовок сообщения:  Re: Динамический код в клиенте.

не получится :)

Автор:  lda [ 04 фев 2013, 15:54 ]
Заголовок сообщения:  Re: Динамический код в клиенте.

dimOn писал(а):
не получится :)

Жаль.

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

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/