PDA

Bekijk de volledige versie : Создание мобильной версии веб-интерфейса роутера для iPhone/iPad



dlukanidin
22-03-2011, 15:53
ничего нового в последних 10-15 постах нет.
Пробуем сделать шаг вперёд.
Вот попробовал реализовать на Вашем шаблоне страничку настройки модема.
Это промежуточный результат. Выкладываю, чтобы получить рекомендации и замечания.

rss
22-03-2011, 18:54
Пробуем сделать шаг вперёд.
Вот попробовал реализовать на Вашем шаблоне страничку настройки модема.
Это промежуточный результат. Выкладываю, чтобы получить рекомендации и замечания.

Для начала - замечательно.
Только не надо забывать про обязательность кодировки UTF-8 для русских букв в general.js, если уж это указано в index.html.

jQuery лучше сразу взять минимизированную версию.

Дальше надо думать об обменном формате с сервером. Либо плоское отображение всех нынешних параметров, либо дерево параметров по группам, сответствующим префиксам. + использование средств jQuery и, возможно, https://github.com/douglascrockford/JSON-js .

$.post("json/set", myJSONObject.toJSONString(),
function(data){
alert(data);
});


В любом случае надо стремиться к тому, чтобы веб-интерфейс можно было максимально отлаживать без наличия веб-сервера (например с функциями заглушками, блокирующими передачу данных).

И еще, с т.з. минизации действий браузера в js. Строки лучше делать максимально длинными, но не выполнять лишних конкатенаций.

dlukanidin
22-03-2011, 22:20
Для начала - замечательно.
Только не надо забывать про обязательность кодировки UTF-8 для русских букв в general.js, если уж это указано в index.html.

Честно говоря даже не посмотрел. Редактировал в Dreamweawer, а там с ходу даже не нашёл где поменять. Уйти что ли на SharePoint.


jQuery лучше сразу взять минимизированную версию.

Это не удобно для отладки. Поменять никогда не поздно при переходе к варианту на роутере.


Дальше надо думать об обменном формате с сервером. Либо плоское отображение всех нынешних параметров, либо дерево параметров по группам, сответствующим префиксам. + использование средств jQuery и, возможно, https://github.com/douglascrockford/JSON-js .

$.post("json/set", myJSONObject.toJSONString(),
function(data){
alert(data);
});


Я бы предложил так:
1. чтение - получаем срез nvram по набору префиксов типа
getNVRAM(['wan_modem','wan_proto','conf'])
или
var nvram="<%nvram_get_y("['wan_modem','wan_proto','conf']")%>"
2. запись - одна переменная типа {'name':'value',...}
Но в любом случае не дерево, чтобы не заниматься разбором.
Возьмите пожалуйста решение на себя.


В любом случае надо стремиться к тому, чтобы веб-интерфейс можно было максимально отлаживать без наличия веб-сервера (например с функциями заглушками, блокирующими передачу данных).

Я правда с локальным сервером отлаживаюсь, но в том варианте в котором выложено можно по моему и напрямую править.


И еще, с т.з. минизации действий браузера в js. Строки лучше делать максимально длинными, но не выполнять лишних конкатенаций.
Принимается. После получения всех отзывов внесу правки.
Сейчас занимаюсь доработкой мелочей, в ближайшее время выложу более полный вариант, практически с полным функционалом, кроме собственно работы с nvram.
Открытый вопрос - как сделать адресацию страниц.

rss
23-03-2011, 10:30
Честно говоря даже не посмотрел. Редактировал в Dreamweawer, а там с ходу даже не нашёл где поменять. Уйти что ли на SharePoint.
Поддерживаю Notepad++. Для js можно Eclipse.



Это не удобно для отладки. Поменять никогда не поздно при переходе к варианту на роутере.

Я бы предложил так:
1. чтение - получаем срез nvram по набору префиксов типа
getNVRAM(['wan_modem','wan_proto','conf'])
или
var nvram="<%nvram_get_y("['wan_modem','wan_proto','conf']")%>"
2. запись - одна переменная типа {'name':'value',...}
Но в любом случае не дерево, чтобы не заниматься разбором.
Возьмите пожалуйста решение на себя. Вариант httpd под JSON я уже выкладывал. Для отладки можно взять откомпилированную версию. Там как раз реализуется плоский вариант и только на чтение. Для записи надо думать как делать обработчики, чтобы можно было менять состояние маршрутизатора без его перезагрузки.



Открытый вопрос - как сделать адресацию страниц.
Для интерфейса как такового адрес страницы вторичен. Для того, чтобы можно было сохранить ссылку - как вариант искусственный параметр-идентификатор, по которому js-интерфейс раскрывает то, что нужно. Значением этого идентификатора можно, например, сделать имя нынешних страниц без ".asp".

Общая схема работы следующая. Запрос значений сохраненных параметров с сервера по всем страницам однократно. Далее средствами AJAX опрос только изменяющихся параметров. Т.е. при изменении страницы с сервера ничего не запрашивается и никакой лишней перезагрузки страниц нет. Сохранение значений - в момент нажатия кнопки.

capau
23-03-2011, 13:40
может часы перенести куда-нибудь под лого, а то тут целая дискуссия была по поводу шапки и особенно её высоты, а тут нате ))))
и DOCTYPE наверное лучше использовать не xhtml
+ я изначально взял форму и верстку самого контента из нынешней прошивки, но в таком виде она слишком расточительна к экранному пространству, нужно переверстывать не в таблицах, а блоками и делать компактней. поэтому возможно придется табличную часть в скриптах переписать
рад прогрессу ))

dlukanidin
23-03-2011, 15:24
может часы перенести куда-нибудь под лого, а то тут целая дискуссия была по поводу шапки и особенно её высоты, а тут нате ))))
и DOCTYPE наверное лучше использовать не xhtml
+ я изначально взял форму и верстку самого контента из нынешней прошивки, но в таком виде она слишком расточительна к экранному пространству, нужно переверстывать не в таблицах, а блоками и делать компактней. поэтому возможно придется табличную часть в скриптах переписать
рад прогрессу ))
1. Часы - см. коммент, делал только для себя, чтобы ночью не заиграться.
2. Верстка - делайте рабочий шаблон, если получим ОК от ЛПР, переделаю, не проблема.
3. Скорректировал в соответствии с замечаниями Rss.
4. Вставил простейшую (прямую) навигацию по страницам. Добавил реальные данные для редактирования. Выкладываю.

theMIROn
23-03-2011, 16:24
Хорошо выглядит.
На мой взгляд теряется куча места над меню, его можно поднять в самый верх, иначе приходится листать. Если есть возражения - возражаем.
Дальше, слишком большие отступы (по 10px) - приходится листать меню, чтобы попасть в System Log например.
Чтобы не листать - стоит добавить submenu3 | sumbenu1 | submenu3 выше табов.

capau
24-03-2011, 13:19
Пробуем сделать шаг вперёд.
Вот попробовал реализовать на Вашем шаблоне страничку настройки модема.


пропала плавность движения меню.
я могу исходник свой выложить если нужно

dlukanidin
24-03-2011, 14:20
пропала плавность движения меню.
я могу исходник свой выложить если нужно
Так я его и так вижу, зачем выкладывать. С плавностью ничего не делал, изменения в Ваши функции вносил минимальные, animate не трогал. Просто сейчас переход по ссылкам сделан, может быть из-за этого. Переход этот сделан во вре'менном исполнении, т.к. для меня самого не очень пока понятно, как сделать правильно и красиво.
Сейчас доделаю часть касающуюся nvram и перезагрузки (как я это вижу), сделаю ещё одну страничку более или менее реальную и вернусь к меню.

А вообще - структуру меню оставляем такой , или она будет изменена? Самое время решить этот вопрос.
Потом было предложение поднять меню и изменить его форматирование на более компактное. Сделаете ? а то у меня красивая вёрстка не получается.

P.S. Если нужно, для проверки сгенерированного html, могу его подцепить и выложить.
P.P.S Насчёт часов - ещё раз, выкладываю свой тестовый вариант. В окончательном их, по крайней мере на этом месте, не будет. Не сочтите за труд, кому мешается, выкинуть одну строчку из кода.

capau
24-03-2011, 14:42
Так я его и так вижу, зачем выкладывать. С плавностью ничего не делал, изменения в Ваши функции вносил минимальные, animate не трогал. Просто сейчас переход по ссылкам сделан, может быть из-за этого. Переход этот сделан во вре'менном исполнении, т.к. для меня самого не очень пока понятно, как сделать правильно и красиво.
Сейчас доделаю часть касающуюся nvram и перезагрузки (как я это вижу), сделаю ещё одну страничку более или менее реальную и вернусь к меню.

А вообще - структуру меню оставляем такой , или она будет изменена? Самое время решить этот вопрос.
Потом было предложение поднять меню и изменить его форматирование на более компактное. Сделаете ? а то у меня красивая вёрстка не получается.

P.S. Если нужно, для проверки сгенерированного html, могу его подцепить и выложить.
P.P.S Насчёт часов - ещё раз, выкладываю свой тестовый вариант. В окончательном их, по крайней мере на этом месте, не будет. Не сочтите за труд, кому мешается, выкинуть одну строчку из кода.

структура меню -- больной вопрос ))) нужно собирать консилиум и решать как реорганизовывать меню и настройки.
внешний вид переделаю, будет чуть короче и чуть выше, это все через CSS делается, думаю проблем не возникнет
насчет компактности: версталось не только под курсор мыши. но и под пальцы, если делать расстояние между кнопками меню меньше (как в нынешней) не очень удобно с телефона/планшета тыкать, т.е. так хоть какая то универсальность.

еще такой вопрос: может сделать страницу авторизации, не как сейчас запрос пароль\логин при входе, а именно страница и на ней тогда можно будет разместить некоторые ссылки, например на фтп-шар

dlukanidin
24-03-2011, 15:01
еще такой вопрос: может сделать страницу авторизации, не как сейчас запрос пароль\логин при входе, а именно страница и на ней тогда можно будет разместить некоторые ссылки, например на фтп-шар
У нас сейчас практически вся обработка делается на стороне клиента. Я не совсем понимаю, как это будет реализовано. Давайте попробуем и посмотрим, что получится.

rss
24-03-2011, 15:50
структура меню -- больной вопрос ))) нужно собирать консилиум и решать как реорганизовывать меню и настройки.

Как только появляется динамическое построение страниц, можно думать о том, как сделать минимальные (только необходимые параметры, а остальное по-умолчанию) и полноценные режимы отображения параметров с переключателем режима.

+ неплохо, когда имеется подсказка по каждому параметру (в идеале с примерами) и вовсе не в виде всплывающего окна, как это сделано сейчас.

dlukanidin
25-03-2011, 11:44
Вариант с подготовленными для сохранения данными и подготовленной логикой для ребута.

Вопрос - скорее к гуру, чем для обсуждения, имеет ли смысл хранить варианты настроек (как config1,2,3 из примера) предназначенные только для морды непосредственно в JSON, типа
nvram set conf1="{'abc1':'def1','abc2':'def2','abc3':'def3','abc4': 'def5'}"
?

-- добавлено --


Как только появляется динамическое построение страниц, можно думать о том, как сделать минимальные (только необходимые параметры, а остальное по-умолчанию) и полноценные режимы отображения параметров с переключателем режима.


Сделал возможность отображения страниц в режиме 'expert'. Отображаются только вкладки и секции у которых нет атрибута 'expert'.
При этом предполагается, что этот атрибут устанавливается в nvram и действует для всей морды. Теперь нужно, чтобы кто-то придумал для этого атрибута web интерфейс - как и где его устанавливать.
Соответствующие изменения выложу со следующей версией.

lavrikvorcuta
25-03-2011, 14:36
посмотрел веб морду.
скажу так смотрится лучше чем старя, но большие отступы есть их бы уменьшить.
а так зачетно.

dlukanidin
27-03-2011, 00:22
Внёс изменения и дополнения. Добавил страничку статуса модема.
Весь список изменений внутри в файле change.log. Там же и некоторые открытые вопросы по уже сделанным изменениям.
В целом - б' ольшая часть типов полей ввода уже реализована. Чтобы идти дальше необходимо принимать рабочие решения:

1. Обмен с сервером. В основном запись результатов.
2. Структура меню и навигация - с фреймами, как сейчас или что-то ещё.

Кроме этого кто-то должен будет подключиться к написанию страниц. Простые (типа статуса) я могу сделать сам, но что касается настроек отдельных компонентов - ИМХО должны писать люди разбирающиеся в тонкостях.
Я думаю, если человек 10 гуру подключатся, то быстро появится новая морда. :)


большие отступы есть их бы уменьшить.
Нет возражений, редактируйте файл стилей, выкладывайте Ваш вариант, с удовольствием посмотрим.

theMIROn
27-03-2011, 00:41
dlukanidin
если названия меню задаются в массиве, то header должен содержать именно это, чтобы не было нужны прописывать что то дополнительное в самой странице

dlukanidin
27-03-2011, 09:43
dlukanidin
если названия меню задаются в массиве, то header должен содержать именно это, чтобы не было нужны прописывать что то дополнительное в самой странице
Вы не могли бы уточнить свою мысль.
В настоящее время имеются 2 массива - для описания заголовка и описания меню. Оба они определяются в общем скрипте и не прописываются на странице. На странице вызываются только 3 функции инициализации

setMenuFunctions();
setTabFunctions();
setPageFunctions();
И эти вызовы конечно можно убрать в общий скрипт, но я пока их оставил, т.к. предполагал возможность пользователя, что- то поменять в инициализации.
Также вызывается выбор текущего пунка меню

setActiveMenu('Status','Status_Pp');
но без него, в данной схеме адресации страниц, я считаю не обойтись.

Vitaly_k
28-03-2011, 19:39
А вообще - структуру меню оставляем такой , или она будет изменена? Самое время решить этот вопрос.


Ставится ли задача реализовать Multi-WAN?
Если ставится, то, на мой взгляд, без реорганизации не обойтись - разделить WAN и LAN, как вариант - объединить WAN c настройками модемов и пр.

dlukanidin
30-03-2011, 12:11
Ставится ли задача реализовать Multi-WAN?
Если ставится, то, на мой взгляд, без реорганизации не обойтись - разделить WAN и LAN, как вариант - объединить WAN c настройками модемов и пр.
Просьба к сообщениям прикладывать более подробное Ваше видение решения. В данном случае - как же оно должно выглядеть ???

Набросал ещё несколько страничек. Quick setup - в очень черновом варианте, только, чтобы показать, как я это вижу.
На данном этапе считаю, можно попробовать перенести уже на роутер. При этом буду придерживаться следующего:
1. Адресация страниц - оставляю так, как есть сейчас, т.к. никто не предложил другого.
2. Считывание nvram - в соответствии с предложениями от Rss. Соответственно сделаю для тестирования кастомизированную прошивку.
3. Запись nvram - делаю как в имеющейся морде, т.е. форма+поля формы+variables.c. Все названия переменных nvram естественно сохраняются.
4. Вызов скриптов - делаю как в имеющейся морде
5. Структура интерфейса - изменения чисто косметические.
6. Добавлю кнопку перезагрузки и кнопку 'показать пароли' скорее всего в верхний правый угол.

Если у кого-то есть замечания, предложения - просьба высказываться, только максимально конкретно. Т.е. что изменить и как. Извините, но абстрактные рассуждения, что неплохо было бы ... вынужден буду игнорировать.

2 capauВы вроде хотели стили подкорректировать. Если найдёте время, было бы очень своевременно.

Vitaly_k
30-03-2011, 13:51
Просьба к сообщениям прикладывать более подробное Ваше видение решения. В данном случае - как же оно должно выглядеть ???


Мое видение. Закладку WAN&LAN делим на две части.
С LAN все просто - настроки которые есть сегодня, на будущее можно дополнить VLAN-ми.
WAN - страничка с табами, похоже на то как Вы реализовали USB-модемы.
На первом табе в простейшем случае из списка выбирается активный WAN-интерфейс. В более сложных случаях - несколько интерфейсов и условия их взаимодействия. Варианты - backup-соединение (поднимать второй интерфейс при падении первого), permanent (содениение активно всегда), соеднинение "поверх" другого (VPN на работу через интернет).
Остальные табы соответсвуют номерам WAN-интерфейсов. От отдельного раздела для USB-модемов отказываемся, по максимуму используем параметры от других типов соедиения, например, логин-пароль будет использоваться как для VPN, так и для Dial-up. В качестве APN можно использовать heart-beat-server и т.д., думаю мысль понятна. Там где "аналогов" нет используем уже параметры специфичные для Dial-up (номер телефона и пр.)

UPD:
Как вариант оставить одну закладку LAN&WAN, в ней первым табом будет LAN, потом WAN где выбирается активное соединение, потом пошли WAN 1, WAN 2 и т.д. с деталями по каждому WAN-у

capau
30-03-2011, 15:05
2 capauВы вроде хотели стили подкорректировать. Если найдёте время, было бы очень своевременно.

подправил меню.
сделал у поля настроек минимальную высоту

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

rss
30-03-2011, 18:07
но мне не совсем понятен ход мыслей, изначально полагалось, что шаблон будет один, а данные в него будут подгружаться динамически. сейчас я вижу, что на каждый пункт настроек делается своя страница. т.е. мы идем к тому от чего пытались уйти. может я не так понял?

Вообще-то так и предполагается. Отдельные страницы - если только полумеры при интеграции в нынешний веб-сервер.

Если будет несколько страниц - будет мигание. Надо по-максимуму обойтись без перезагрузок.

capau
30-03-2011, 19:10
Вообще-то так и предполагается. Отдельные страницы - если только полумеры при интеграции в нынешний веб-сервер.

Если будет несколько страниц - будет мигание. Надо по-максимуму обойтись без перезагрузок.

т.е. в итоге все страницы, которые сейчас наплодили, сверстаются в одну?

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

rss
30-03-2011, 19:26
т.е. в итоге все страницы, которые сейчас наплодили, сверстаются в одну? Надо стремиться.


мы как то обсуждали что-то вроде менеджера пакетов, может сделать под это отдельный раздел в веб-морде?
Нарисовать бы внешний вид этого менеджера для начала. Только тут сразу же надо учитывать, что пакеты сами по себе установить недостаточно. Должны быть средства, позволяющие их настроить.

dlukanidin
30-03-2011, 21:09
Надо стремиться.

Как все замечательно оживились :)

Поясните пожалуйста подробнее как Вы видите решение. Я не совсем понимаю механизмы которые планируется использовать. Вопросы следующие:
1. С точки зрения разработки и поддержки описание каждой страницы с функциями обработки данных и действий пользователя ИМХО желательно хранить в отдельном файле.
2. Технически нет проблем загрузить все эти файлы разом, но это будет означать, что мы единовременно грузим всю морду в браузер. Это всё таки довольно много. Не вижу существенной экономии на размерах при этом.
3. Можно ещё конечно подгружать описания AJAX-ом, но опять же преимущества такого решения для меня сомнительны.

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

В связи с необходимостью принятия принципиальных решений, торможу свои дальнейшие действия.


Мое видение.
Идеи понятны, со многим согласен и часть описанного постараюсь сделать, но multiwan далеко выходит за рамки обсуждаемой морды и я думаю, после того как он оформится в реальное решение, мы легко сделаем доработку морды непосредственно под него.

rss
31-03-2011, 06:35
Поясните пожалуйста подробнее как Вы видите решение. Я не совсем понимаю механизмы которые планируется использовать. Вопросы следующие:
1. С точки зрения разработки и поддержки описание каждой страницы с функциями обработки данных и действий пользователя ИМХО желательно хранить в отдельном файле.
Вовсе не обязательно, но возможно. Только тогда надо принять соглашение об именовании файлов так, чтобы однозначно было понятно назначение. Желательно в более компактном стиле, чем в нынешнем интерфейсе.



2. Технически нет проблем загрузить все эти файлы разом, но это будет означать, что мы единовременно грузим всю морду в браузер. Это всё таки довольно много. Не вижу существенной экономии на размерах при этом.
Именно единовременно загружаем всё. Объем небольшой. Более того, время на загрузку одного большого файла меньше, чем кучи маленьких - нет потерь на установку соединения. Либо единовременно вгружать все js, а вот параметры подгружаем из внешних json-файлов по необходимости.

Однозначно в виде отдельных json-файлов должны лежать локали.



3. Можно ещё конечно подгружать описания AJAX-ом, но опять же преимущества такого решения для меня сомнительны.
Преимущество в отсутствии перезагрузки страницы и мигания.

theMIROn
31-03-2011, 13:18
Именно единовременно загружаем всё. Объем небольшой. Более того, время на загрузку одного большого файла меньше, чем кучи маленьких - нет потерь на установку соединения. Либо единовременно вгружать все js, а вот параметры подгружаем из внешних json-файлов по необходимости.
Я не хочу с телефона например грузить полметра "всего". Я хочу конкретную страницу с нужными для нее скриптами и графикой.

capau
31-03-2011, 13:23
Я не хочу с телефона например грузить полметра "всего". Я хочу конкретную страницу с нужными для нее скриптами и графикой.

так вот графика тут вся на всё одна и одинаковая и скрипты в принципе то же, подгружаться, как я понял, будут только конкретные настройки из json файлов. весит все в данный момент около 300Кб, не так уж и много с учетом того что есть куда сжимать.

rss
31-03-2011, 17:49
Я не хочу с телефона например грузить полметра "всего". Я хочу конкретную страницу с нужными для нее скриптами и графикой.

Тогда лучше сразу проектировать второй упрощенный вариант исключительно на устройства с недобраузерами.

Графика вся сразу и не загрузится, а вот скрипты - придётся всё равно вгружать полностью. Иначе проект будет неуправляемый с дикой избыточностью для разных страниц.

По-моему разными стоит делать только конфигурации страниц, а они будут довольно компактными.

dlukanidin
31-03-2011, 20:02
Тогда лучше сразу проектировать второй упрощенный вариант исключительно на устройства с недобраузерами.

Это не приведёт к экономии чего бы то ни было.
Либо мы генерим упрощённый HTML на основании имеющихся описаний и это ведёт только к замене одной функции генерации на другую.
Либо делаем полностью новый интерфейс - но давайте смотреть реально, этот то двигается еле еле, а уж про новый я и говорить не буду.


Графика вся сразу и не загрузится, а вот скрипты - придётся всё равно вгружать полностью. Иначе проект будет неуправляемый с дикой избыточностью для разных страниц.

Графика тут пока вообще не грузится. Грузятся следующие вещи:
1. Описание страницы в виде объекта (индивидуально для каждой)
2. Общие скрипты jquery и jeneral (в последний также попадёт набор стандартных элементов и функции связанные с ними, например кнопки save, cancel. Refresh уже не попадает, т.к. на разных страницах она должна будет вызывать разные скрипты).
3. Скрипты индивидуальные для каждой страницы, выполняющие инициализацию переменных, реакцию на изменения и т.п.

Неуправляемым проект станет ИМХО если мы всё свалим в одну кучу. Избыточность - только заголовки страниц и текст "включите JS в браузере" - При упаковке LZW, насколько я помню его алгоритм, упакуется практически в ноль.


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

Моё мнение:
Давайте рассмотрим типичный вариант работы с мордой. Сразу оговорюсь, что начальная настройка в типичный вариант не попадает, т.к. делается чаще всего из локальной сети и один раз.
Зашли, посмотрели состояние на одной-трёх страницах (каждая обращается к серверу за своей порцией информации), что-то поправили на одной или двух страничках, сохранились - т.е. форму на сервер послали, перезагрузились или нет и так по кругу.
При такой схеме работы не вижу необходимости грузить единовременно всю морду. Более того потери времени на загрузку большего объёма ИМХО будут несравнимы с потерями переподключения. А уж если соединение глючное или медленное, то загрузка относительно большого объёма может вообще всё испортить.
Мне не сложно написать 44 инклуда индивидуальных описаний в одно место и сделать присвоение нужного описания в переменную page. Но я думаю это плохая практика.
Кроме того учитываем, что разработка по любому будет вестись минимум 5 людьми (это оптимистично, правильно 10). Пересечения по переменным, названиям функций и т.п. трудно ловимые глюки.
Также учитываем, что очень многие вместо нажатия кнопки refresh где-то внизу за экраном просто обновят станицу в браузере.

Итог - это вопрос стратегический и вопрос архитектуры. Кто-то должен директивно принять окончательное решение. Принимайте пожалуйста, а то будем топтаться на месте.

capau
31-03-2011, 20:37
продолжу типичный вариант работы с веб-мордой:
зашёл, посмотрел пару-тройку страниц, что-то поднастроил, где-то логи посмотрел, ребутнул роутер. посмотрел снова и каждый раз грузятся скрипты/графика/хтмл. даже если я вернулся на предыдущую страницу она будет тянуть все или почти все по новой.

если ужать скрипты, графику собрать в спрайт, сверстать все настройки в один хтмл, то общий объем веб-морды будет не многим более 150-200кб, даже если и 2 раза больше, это всё равно много меньше, чем то что есть сейчас. а нынешний интерфейс не так уж и тормозит если настраивать роутер с телефона. но в этом случае есть один огромный плюс - страница (вся морда) не требует перезагрузки. если посчитать время на перезагрузку и трафик который она сожрет, плюс станет еще больше.

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

theMIROn
02-04-2011, 16:45
насчет поддержки таблетов и прочих телефончиков, может сразу вот этот фреймворк использовать?
http://jquerymobile.com/

p.s сам не в теме, но размеры всего - радуют :)

dlukanidin
02-04-2011, 17:36
насчет поддержки таблетов и прочих телефончиков, может сразу вот этот фреймворк использовать?
http://jquerymobile.com/

p.s сам не в теме, но размеры всего - радуют :)
В принципе, после реализации основной части можно будет и этим заняться, но насчёт размеров ситуация наоборот сейчас jquery 70K + css 7K, а в мобильной версии jquery 59K + css 41K, причём без css это не будет иметь смысла.

theMIROn
02-04-2011, 17:42
В принципе, после реализации основной части можно будет и этим заняться, но насчёт размеров ситуация наоборот сейчас jquery 70K + css 7K, а в мобильной версии jquery 59K + css 41K, причём без css это не будет иметь смысла.

плюс минус 100кб на полноценный фреймворк - не беда.

dlukanidin
05-04-2011, 17:20
Пока решаются принципиальные вопросы нового интерфейса попробовал jquery mobile. Можно посмотреть как это могло бы выглядеть:
http://sovetic.ru/other/
У меня самого посмотреть не на чем, поэтому крайне интересны отзывы.

rss
05-04-2011, 19:01
Пока решаются принципиальные вопросы нового интерфейса попробовал jquery mobile. Можно посмотреть как это могло бы выглядеть:
http://sovetic.ru/other/
У меня самого посмотреть не на чем, поэтому крайне интересны отзывы.

http://www.ixbt.com/soft/google-android-sdk.shtml
http://developer.android.com/sdk/index.html

KOCTET
05-04-2011, 19:03
http://sovetic.ru/other/
У меня самого посмотреть не на чем, поэтому крайне интересны отзывы.
Попробовал, на аппарате жены, HTC Wildfire, андроид 2.2, родной браузер, в принципе работает, но тяжело :( как то все заторможено, нажимаешь на кнопку, нажимается через 1-2 сек.

capau
05-04-2011, 20:18
http://www.ixbt.com/soft/google-android-sdk.shtml
http://developer.android.com/sdk/index.html

ты предлагаешь написать приложение под андроид?

AndreyUA
05-04-2011, 20:55
ты предлагаешь написать приложение под андроид?

Я думаю, что он предлагает использовать эмулятор для отладки веб интерфейса. Не?

rss
06-04-2011, 09:53
Я думаю, что он предлагает использовать эмулятор для отладки веб интерфейса.
именно так

capau
06-04-2011, 12:26
именно так

нужно было смайлик в конце поставить. )
еще один интерфейс под мобильные устройства, это еще пара сотен килобайт в прошивке под веб-морду, смысл плодить под каждое устройство/платформу свой интерфейс?
приложение с таким же механизмом обмена данными было бы куда целесообразнее. но это всё мечты. не берите в голову ))

dlukanidin
06-04-2011, 21:01
именно так

Поставил я этот эмулятор под виртуальной машиной.
В общем таких тормозов я вообще никогда раньше не видел.
Такое впечатление, что его целиком на shell написали и он всё время процессора тратит на вызов ненужных функций и запуск ненужных процессов. Кошмар. Даже просто пройти по меню проблема. Или это андроид такой долбанутый, не знаю. Что то я даже ругаться стал под впечатлением.

theMIROn
06-04-2011, 21:04
Поставил я этот эмулятор под виртуальной машиной.
В общем таких тормозов я вообще никогда раньше не видел.
Такое впечатление, что его целиком на shell написали и он всё время процессора тратит на вызов ненужных функций и запуск ненужных процессов. Кошмар. Даже просто пройти по меню проблема. Или это андроид такой долбанутый, не знаю. Что то я даже ругаться стал под впечатлением.

а почему не нейтивный? эмуль же... впрочем да, медленный он какой то. у меня desire z в разы быстрее работает )

AndreyUA
07-04-2011, 06:27
нужно было смайлик в конце поставить. )
еще один интерфейс под мобильные устройства, это еще пара сотен килобайт в прошивке под веб-морду, смысл плодить под каждое устройство/платформу свой интерфейс?
приложение с таким же механизмом обмена данными было бы куда целесообразнее. но это всё мечты. не берите в голову ))Под каждую платформу не напишешь. А эту вебморду можно добавить в прошивку и отключить по дефолту при сборке. Кому надо - добавит. Места ведь в rt-n16 хватает. Вопрос - кто это будет делать, а если оно будет готово, то имхо почему бы и нет?

capau
07-04-2011, 11:46
Под каждую платформу не напишешь. А эту вебморду можно добавить в прошивку и отключить по дефолту при сборке. Кому надо - добавит. Места ведь в rt-n16 хватает. Вопрос - кто это будет делать, а если оно будет готово, то имхо почему бы и нет?

прошивка ставиться не только в rt-n16.
вот в том то и вопрос: что выгодней, несколько разных интерфейсов или одно/два приложения под мобильные платформы.
если в приложении реализовать ту же схему взаимодействия (обмен только файлами настроек), а интерфейс будет нативным в приложении/платформе, то результатом будет: скорость + минимум трафика (возможность использовать мобильный интернет вплоть до gprs)

AndreyUA
07-04-2011, 12:54
прошивка ставиться не только в rt-n16.


отключить по дефолту при сборке.

если в приложении реализовать ту же схему взаимодействия (обмен только файлами настроек), а интерфейс будет нативным в приложении/платформе, то результатом будет: скорость + минимум трафика (возможность использовать мобильный интернет вплоть до gprs)
Платформ много: symbian, android, win mobile, java. У того же андроида 1.6, 2.1 2.2 и т.д. Под каждую платформу приложение писать? У меня андроид 1.6 и не обновишь, а у вас 2.2, на какую платформу ориентироваться?
А браузер у всех есть.

FilimoniC
07-04-2011, 13:45
Платформ много: symbian, android, win mobile, java. У того же андроида 1.6, 2.1 2.2 и т.д. Под каждую платформу приложение писать? У меня андроид 1.6 и не обновишь, а у вас 2.2, на какую платформу ориентироваться?
А браузер у всех есть.

+1
Если кому-то очень хочется клиент для мобилы, то можно пользоваться загрузкой\выгрузкой файла конфигурации.

И, да, покажите мне того человека, который настраивает роутеры с мобильника каждый день. Вообще хоть кто-то настраивал роутер с мобильника по вынужденной причине ?

capau
07-04-2011, 14:55
а какой тогда смысл делать еще один интерфейс и поддерживать его, если то, что собирается и так работает в любом (ну почти))) браузере в том числе и на мобильных устройствах?

думаю в данный момент это спор ни о чем.

симбиана больше нет, увы но это факт, из андроидов - версия 2.2 занимает более 60 процентов от общего числа, из остальных платформ можно выделить только iOS и набирающую обороты Windows Phone 7, телефоны с джавой скоро уйдут в прошлое. при этом iOS не наша целевая аудитория (так же как и блекбери), виндовс 7 скоро вытеснит/заменит симбиан и остается в итоге 2 платформы которые можно рассматривать.

что проще, написать два независимых приложения или поддерживать несколько версий интерфейса и кто будет решать какой интерфейс включать в сборку, а какой нет?
думаю что после сборки более-менее рабочих вариантов нового интерфейса вопрос с его модификациями и приложениями решиться сам собой

FilimoniC
07-04-2011, 15:11
симбиана больше нет
Nokлa с вами не согласна. Покупайте Симбу, финские маркетологи на вас надеются.
Symbian "слава богу" больше нет, так как это было, хоть и очень крутое и навороченное, но медленно развивающееся поделие.

dlukanidin
09-04-2011, 00:02
думаю в данный момент это спор ни о чем.

Не столь важна платформа, сколь разрешение экрана устройства.
Идея jquery mobile ИМХО в том, чтобы сделать доступный интерфейс на устройствах с экзотическими разрешениями экрана в рамках ограниченного функционала браузера. Хотя если есть JS, то он есть, а если нет, то и говорить не о чем.

Посмотрев на результат вижу некоторые преимущества перед обычным браузером, только добиться этого в нашей задаче можно ИМХО более простыми средствами.
.
Сейчас пытаюсь натянуть mobile skin на описание страниц. В целом вроде можно, но только не на jquery mobile. Ребята настолько увлеклись универсальностью, что сделали очень жёсткую платформу и у меня пока не получается в рамках их модели сделать динамическую подгрузку JS. Т.е сделать то я сделал, но из за того, что их механизмы обновления страниц очень уж красивые возникают пока неразрешимые проблемы.
Может кто встречал другие пакеты?

Да и ненужна эта красота ИМХО. Важен функционал. Может кто из web дезайнеров предложит скин для мобильных устройств (Это такой тонкий намёк ддя capau :) Нужен шаблон, а функционал я добавлю) ?

А по поводу реализации, не вижу кардинальных проблем. Это всего лишь скин (включает в себя css и функции генерации HTML в рамках принятой модели описания). Где и как он будет храниться не столь важно. В rtn16 можно будет иметь несколько скинов и локейлов в одной прошивке, для старых моделей будут кастомизированые прошивки под локейл и скин. Главное, чтобы была возможность и механизм её реализации.

Если найду дырку в jquery mobile, выложу как это получается на текущем описании страниц. Но, честно говоря, уже замучался отлавливать их глюки.

P.S 2 Capau Вы не могли бы сделать вариант с подменю открывающимися не списком в рамках основного меню, а в виде второго меню в верху страницы или чего-то подобного, а то не хочется жертвовать вкладками для реализации поменю.

DemonGloom
09-04-2011, 16:41
Да и ненужна эта красота ИМХО. Важен функционал. Может кто из web дезайнеров предложит скин для мобильных устройств (Это такой тонкий намёк ддя capau :) Нужен шаблон, а функционал я добавлю) ?
На самом деле почти все телефоны вполне нормально отображают текущий web-интерфейс.. Исключением являются прокручиваемые окошки типа лога.. Соответственно и смысла делать дополнительную оболочку, имхо, нет..

dlukanidin
13-04-2011, 20:19
Добавил третью вкладку "Common status" в "Статус и логи - Состояние устройств USB"

<general.js>
выдает ошибку в строках 277 и 278

Спасибо, что заметили ошибку. Исправление было неверным, но я поправил как надо.

По поводу вкладки - не согласен по следующим причинам.
1. Не вижу смысла перечислять все устройства USB, да и средства для этого надо дописывать, а занимать место в прошивке программами не несущими функциональной нагрузки ИМХО неверно.
2. Считаю неверным опрос состояния модемов в автомате, т.к. не все модемы его поддерживают, для некоторых модемов такой опрос с неверно установленными параметрами может разорвать соединение и подвесить модем, в общем ИМХО - только по команде пользователя. Да и время такой опрос может занимать значительное.

Тем не менее добавил этот вариант под именем pages/status_pp_new.js, для задействования достаточно переименовать файлы или добавить строчку в меню.

--- Добавлено ---
Чтобы упростить разработку и тестирование новых страничек, а также чтобы разработчик не правил без необходимости jeneral.js добавил страничку Test. Для того, чтобы протестировать новую страничку Вам достаточно добавить её js описание в папку test/ и на тестовой страничке ввести имя её js файла. Она будет добавлена в меню и Вы сможете посмотреть как она вызывается. Всего можно добавить до 20 таких страничек (если точнее то только двадцать можно одновременно увидеть в меню). Их имена хранятся в cookeis. Чтобы убрать страничку из меню достаточно стереть имя файла в соответствующей строке.
Чтобы сразу можно было попробовать записал туда выше обсуждаемую status_pp_new.js

DemonGloom
14-04-2011, 08:13
dlukanidin, если вы еще занимаетесь мобильной версией - то там стоит разнести ссылки menu и reboot вверху страниц.. Ибо иногда пальцем можно попасть не в нужную ссылку и перезагрузить роутер..

dlukanidin
14-04-2011, 17:16
хотелось бы страницу Status Wireless иметь в таком виде
http://wl500g.info/showpost.php?p=221920&postcount=376
Я только за. Будем считать,что после того как основные механизмы будут реализованы, эта страница Ваша. Впрочем макет можно делать уже сейчас. Если не хватает каких то элементов интерфейса пишите их в js страницы. Если они будут востребованы где-то ещё вставим в скин.

dlukanidin, если вы еще занимаетесь мобильной версией - то там стоит разнести ссылки menu и reboot вверху страниц.. Ибо иногда пальцем можно попасть не в нужную ссылку и перезагрузить роутер..
Ещё раз о мобильной версии. Я попробовал сделать её на jquery mobile. Получилось криво. Пока просто убрал из скина jquery mobile заменив его парой элементарных функций навигации. Чтобы сделать из этого скин надо, для начала, написать работающий шаблон. Из внешних пакетов желательно ограничиться jquery. Пишите, я переработаю шаблон в скин. Либо хотя бы напишите Css. Этого может хватить, чтобы основной вид правильно реализовать.

Извините, я не дизайнер. Сам сделать не смогу.

ConstAntz
15-04-2011, 06:12
2. Считаю неверным опрос состояния модемов в автомате, т.к. не все модемы его поддерживают, для некоторых модемов такой опрос с неверно установленными параметрами может разорвать соединение и подвесить модем

Подозреваю, причина тому неверная инициализация модема системой.
(пример 12d1:1436). Да и потом, если есть исключения - их можно обойти.
Раз "Нет", значит "нет", поверю на слово.



--- Добавлено ---
Чтобы упростить разработку ... добавил страничку Test.

Полезная фича. Работа закипит ударными темпами :)

dlukanidin
15-04-2011, 21:15
Это не мое, заимствовал из чешской и не js а asp, как я понимаю, надо переписывать.
Практически вся страница формируется одним скриптом выдающем сразу HTML.
Нет проблем воткнуть это в новую морду, но будет диссонировать.
Выход из положения - переписать скрипт, чтобы он формировал JSON с нужными значениями параметров, а из него уже делать представление на страничке.

rss
18-04-2011, 19:48
--- Добавлено ---
Чтобы упростить разработку и тестирование новых страничек, а также чтобы разработчик не правил без необходимости jeneral.js добавил страничку Test. Для того, чтобы протестировать новую страничку Вам достаточно добавить её js описание в папку test/ и на тестовой страничке ввести имя её js файла. Она будет добавлена в меню и Вы сможете посмотреть как она вызывается. Всего можно добавить до 20 таких страничек (если точнее то только двадцать можно одновременно увидеть в меню). Их имена хранятся в cookeis. Чтобы убрать страничку из меню достаточно стереть имя файла в соответствующей строке.
Чтобы сразу можно было попробовать записал туда выше обсуждаемую status_pp_new.js

Измененный httpd. Добавлен обработчик set_json. В тестовых целях сделан вывод в /tmp/params.json.

dlukanidin
24-04-2011, 00:59
Измененный httpd. Добавлен обработчик set_json. В тестовых целях сделан вывод в /tmp/params.json.
Ну вот - первая реализация на роутере.
Особенности:
1. Операции по сохранению nvram и получению спец. значений (кроме nvram) из роутера пока пришлось сделать синхронными. Ну никак они у меня в асинхронную модель не ложатся.
2. Функционал пока более менее полностью сделан на home, остальные страницы из старых фрагментарно.
3. Начал потихоньку менять структуру меню. Пока только в статусе. Но это чистое ИМХО.
4. Реализована смена локали и скина.
5. На странице home любое изменение приводит к перезагрузке всего интерфейса, но только для неё т.к. изменения которые надо сделать слишком глобальны.
6. Реализована проверка вводимых пользователем значений 3-х типов - число на мин макс, список на наличие в списке, строка на шаблон.

Чтобы попробовать, надо установить последнюю прошивку с экспериментальными изменениями от Rss, распаковать архив в www и
http://192.168.1.1/new.asp

Danya0w
24-04-2011, 16:50
► Макет нового WEB интерфейса ◄
симпатичненько и шустренько - здорово!

dlukanidin
24-04-2011, 22:15
симпатичненько и шустренько - здорово!
Спасибо capau за дизайн.
У него вроде ещё идеи были, но наверное не хватает времени, а жаль.
Да и мобильный интерфейс у меня конечно в зачаточном состоянии или я бы даже сказал это просто сперматозоид :) (весна чтоли пришла, какие то сравнения странные, извиняюсь за офтоп).
Web дизайнеры активно использующие jquery АУУУ :)

---Добавлено---
Сделал весь статус.

Omega
24-07-2011, 23:53
Макет нового WEB интерфейса (http://sovetic.ru/other/desktop/)
Как там продвигаются дела с интерфейсом ? :rolleyes:

Вот здесь (http://влад74.рф/?page_id=287) тоже есть кое-что на русском языке ;)

З.Ы. И ещё темы (http://infodepot.wikia.com/wiki/Asus_RT-N16#Tomato_Themes) для разных моделей роутеров ... :D

bmenee
14-09-2011, 20:01
Нестандартное предложение - сделать первый в мире интерфейс роутера дружелюбный для мобильных устройств, взяв за основу javascript библиотеку jquery mobile (http://jquerymobile.com/) (выпуск 1.0 RC 1 запланирован на ближайшее время, есть смысл подождать).

Акутальность идеи - то что wifi чаще используются мобильными устройствами, а тут получается компьютер и не нужен будет.

Всё это будет работать и в обычном браузере.

http://jqmgallery.com/ - примеры сайтов на такой библиотеке

Подозреваю что много подводных камней, и очень боольшой объем работы, но если есть кто-то желающий поэкспериментировать - этот проект может быть интересным.

Browncoat
14-09-2011, 21:14
Мобильная версия была предусмотрена и в макете dlukanidin. Вот только дело заглохло, как и все предыдущие попытки.

rss
15-09-2011, 05:17
Мобильная версия была предусмотрена и в макете dlukanidin. Вот только дело заглохло, как и все предыдущие попытки.

Не заглохло, но движется не так быстро, как хотелось бы.

dlukanidin
22-09-2011, 09:37
Нестандартное предложение - сделать первый в мире интерфейс роутера дружелюбный для мобильных устройств, взяв за основу javascript библиотеку jquery mobile (http://jquerymobile.com/) (выпуск 1.0 RC 1 запланирован на ближайшее время, есть смысл подождать).

В рамках нового интерфейса я пробовал сделать скин на этой библиотеке. В целом даже почти получилось (примеры Вы можете найти в ранее выкладываемых мной вариантах), но там была одна неразрешимая, в рамках принятого подхода, проблема связанная с управлением динамической загрузкой js кода для подгружаемых страниц (писал об этом тоже). Как результат, проще разработать скин с нуля, чем адаптировать написанный на основе jquerymobile. Причём заглушка для этого варианта с набором основных функций предусмотрена.

xenus
16-12-2011, 20:09
Как двигается разработка новой web-морды, или процес встал на месте? В любом случае хотелось бы поучаствовать в этом деле если возможно.
ЗЫ. На wl-test последний коммит был от 21 сентября, можно сказать он единственный связаный с web-мордой...

rss
17-12-2011, 11:05
Как двигается разработка новой web-морды, или процес встал на месте?
Процесс немного продвинулся. Но не на столько, на сколько хотелось бы.


В любом случае хотелось бы поучаствовать в этом деле если возможно.
ЗЫ. На wl-test последний коммит был от 21 сентября, можно сказать он единственный связаный с web-мордой...

Поучаствовать в какой форме?

xenus
17-12-2011, 18:06
Поучаствовать в какой форме?В первую очередь в роли тестера. А так могу заняться правкой скриптов/конфигов если введете в кур дела...

rss
17-12-2011, 18:25
В первую очередь в роли тестера. А так могу заняться правкой скриптов/конфигов если введете в кур дела...

Тестировать пока нечего. А вот скрипты писать по аналогии с уже созданными страницами - сколько угодно.

PS: взялся у нас один студент доделывать, но не доделал. Последнего варианта у меня нет. Поскольку близится сессия - ближайший месяц он продолжать не сможет, но потом обещал вернуться. Если есть желание серьёзно этим заняться - надо будет забрать то, что он успел.

capau
16-03-2012, 05:27
как беленькую вебморду прикрутить?

rss
16-03-2012, 06:11
как беленькую вебморду прикрутить?

Пересобрать httpd с включеной поддержкой JSON.

PS: не спешите, скорее всего в том виде как она сейчас лежит на wl-test, развития не будет. Изменения в поддержке JSON будут сделаны в httpd в ближайшее время.

dlukanidin
30-03-2012, 23:14
Напоминает глюкавые интернет-банки, где страница из сплошного набора скриптов и почти нет нормального html.
Если Вы посмотрите интерфейс от 66-го, то увидите, что он примерно наполовину генерится динамически.

Вообще зачем такой фанатизм со скриптами и прокладка в виде json? По-моему, текущему веб-интерфейсу спокойно можно было поменять дизайн, добавить ajax и подпилить httpd, чтобы он после применения параметров перезагружал отдельные сервисы роутера и не было необходимости в полной перезагрузке.
Вообще то идея как раз и была в том, чтобы сделать максимально простым процесс обновления страниц и добавления функционала. Для этого графическое представление было отделено от содержания, ну и локализация естественно тоже. При этом генерация собственно страниц производится динамически по их описанию. Прокладка в виде json сделана для того, чтобы обмениваться с сервером структурированной информацией, собственно альтернатива это xml. К сожалению просто "поменять дизайн, добавить ajax и подпилить httpd" не получается. Это превращается в колоссальный объём работы с каждой страницей, который придётся повторять и повторять.
Кроме того, та система которая реализуется сейчас позволяет при внесении минимальных изменений в существующие страницы поменять дизайн, а разработка новых страниц может вестись по мере необходимости, ну или желания.
Ну а насчёт фанатизма со скриптами, здесь только 2 пути. Если Вы хотите обеспечить хотя бы минимальную гибкость интерфейсу, то или программируете на сервере или на js. В нашей ситуации программирование на сервере это исходный код httpd, писать в нём генерацию страниц ИМХО не лучшая идея, хотя в текущем интерфейсе она частично реализована и как результат ни шага ни влево ни вправо нельзя просто сделать.
Впрочем всё это конечно сугубо моё мнение.


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

rss
31-03-2012, 06:23
Напоминает глюкавые интернет-банки, где страница из сплошного набора скриптов и почти нет нормального html. Вообще зачем такой фанатизм со скриптами и прокладка в виде json? По-моему, текущему веб-интерфейсу спокойно можно было поменять дизайн, добавить ajax и подпилить httpd, чтобы он после применения параметров перезагружал отдельные сервисы роутера и не было необходимости в полной перезагрузке.

Этот вариант реализации следует воспринимать как переходный. AJAX как раз предполагает, что данные запрашиваются по необходимости, а код загружен постоянно. Для того и был введён обмен через json. Сейчас он выглядит как "прокладка" из-за некоторой компромисности реализации, чтобы не уходить от китайского понимания веб-приложения. Но в любом случае, логика страниц, которая сейчас будет вставлена, будет без изменения перенесена на полноценное динамическое приложение.

theMIROn
23-04-2012, 10:37
В trunk/www2 есть начало нового интерфейса.
Для него потребуется пересобрать httpd с USE_JSON=y

ryzhov_al
06-05-2012, 16:31
В trunk/www2 есть начало нового интерфейса.
Для него потребуется пересобрать httpd с USE_JSON=y
Вот такой (http://sovetic.ru/other/desktop/)?
Ну, лень перепрошваться ради посмотреть.

Omega
16-12-2013, 23:50
Тестовый веб-интерфейс: http://sovetic.ru/other/desktop/#Status#

Песочница для теста: http://code.google.com/p/wl-test/source/list



--- Добавлено ---
Чтобы упростить разработку и тестирование новых страничек, а также чтобы разработчик не правил без необходимости jeneral.js добавил страничку Test. Для того, чтобы протестировать новую страничку Вам достаточно добавить её js описание в папку test/ и на тестовой страничке ввести имя её js файла. Она будет добавлена в меню и Вы сможете посмотреть как она вызывается. Всего можно добавить до 20 таких страничек (если точнее то только двадцать можно одновременно увидеть в меню). Их имена хранятся в cookeis. Чтобы убрать страничку из меню достаточно стереть имя файла в соответствующей строке.
Чтобы сразу можно было попробовать записал туда выше обсуждаемую status_pp_new.js
Эм, а туда потом можно будет добавить эти дополнительные странички? :rolleyes:

Или народ может просто выложить здесь свои варианты дополнений и
изменений веб-интерфейса, а уже затем можно будет добавить в транк? ;)

http://code.google.com/p/wl500g/source/browse/trunk/www2/web_asus_en

Кстати, есть еще похожий вэб-интерфейс от прошивки Падавана, можно
будет посмотреть, что там используется и заимствовать необходимое :D

http://code.google.com/p/rt-n56u/source/browse/trunk/user/www/n56u_ribbon_fixed

http://files.rt-n56u.googlecode.com/git/pic/webiface3-ru.png

dlukanidin
17-12-2013, 10:22
Попробую изложить моё видение состояния дел по новому интерфейсу:
1. Веб интерфейс состоит из двух основных частей - кода http сервера который обрабатывает описание страничек, вставляет в них реальные данные о состоянии роутера и обрабатывает запросы на изменение настроек, а также собственно описания страничек.
2. Изменение только описаний страничек недостаточно для внесения существенных изменений в интерфейс таких как добавление новой информации, нового функционала управления или многоязычных версий.
3. Были сделаны собственные версии интерфейса на форках проекта. Я лично пользовался интерфейсом от Вампика, мне нравится. Но в основную прошивку это не включается, т.к. ИМХО не является законченным решением, а делать законченное - большой труд не нужный в рамках целей которые реализуются форками.
4. Была сделана попытка подготовить новую визуальную часть интерфеса в двух вариантах светленьком и копирование из новой официальной прошивки с использованием некоторых, сейчас уже полусовременных, технологий. Результат есть, но реализация во многом спорна.
5. Была сделана попытка реализовать динамический интерфейс на js с описанием страничек на json. Обработано где то процентов 40-45 имеющегося интерфейса. Но в итоге возникли спорные подходы к изменениям в веб сервере связанными в первую очередь с безопасностью системы и дальнейшая работа была заморожена.
6. Были сделаны наброски реализации веб интерфейса через busybox-httpd, но приостановлены в связи с большим объёмом работы, что не очень интересно делать в одиночку.
7. Наконец силами rss была сделана попытка создать команду по разработке на основании новых креативных подходов, но в силу естественных ограничений его работы не смогла быть реализована до конца.

Таким образом разработка частичных, но значительных изменений интерфейса возможна только на форках проекта. Разработка реально нового интерфейса возможна только силами команды как минимум из 3-х функционалов: дизайнера/верстальщика, разработчика описаний и их реализации на основе современных технологий, разработчика изменений веб сервера и согласования этих изменений с проектом в целом. Мой опыт показывает, что совмещение этого в рамках одного лица мало перспективно, по крайней мере моё лицо не смогло (очень много однотипной скучной работы, необходим современный подход к тестированию результатов, необходима адаптация под разные типы роутеров и т.д. и т.п.). Если найдётся несколько заинтересованных человек, желательно уже работающих в команде, и готовых потратить до полугода времени (в свободное от основной работы время), то можно реально пробовать и как минимум ещё пара человек вам помогут. Иначе делайте форк и творите под свои задачи и цели свободно, как и поступают остальные.

dlukanidin
28-06-2015, 19:45
Уважаемые форумчане. Я написал программу для iOS для маршрутизатора Huawei AF23. Ссылка на сайт программы в моей подписи.
Есть возможность создать что-то в этом же направлении для обсуждаемой прошивки. Соответственно вопрос нужно ли это кому нибудь? Если нужно, то какой функционал необходимо туда включить?
Сразу предупреждаю, что писать версию морды только в виде приложения во первых бессмысленно, с моей точки зрения, во вторых очень трудоёмко. Если же есть ограниченный набор функций которые надо смотреть или настраивать довольно часто и это кому то удобнее делать с гаджета, то это именно та ситуация в которой можно написать приложение.
В общем если кого то интересует, то жду комментарии и предложения. Ну а на нет, как говорится, и суда нет)))

Omega
29-06-2015, 12:28
Спасибо за интересное предложение, думаю, что это может пригодиться народу :)

Для начала можно было бы просто проверить статус и посмотреть логи роутера ;)