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 писал(а): ну если тока оформить как модуль/плагин. но возникает вопрос с лицензиями, которые мы пока не придумали как решать. Дайте мне генератор я буду генерировать для всех кто захочет свой плагин дописать ![]() |
Автор: | 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/ |