Обсуждение плагинных интерфейсов на примере карты покрытия

Форум для обсуждения деталей разработки программы SAS.Планета

Модераторы: vdemidov, Tolik

Обсуждение плагинных интерфейсов на примере карты покрытия

Сообщение GDragon » 19 июн 2011, 22:50

обсуждение по тикету http://sasgis.org/mantis/view.php?id=808
Можете пока на форуме высказать соображения, какие данные потребуются такому плагину от основной программы и как вообще будет происходить их взаимодействие.

от основной программы плагину потребуется только позиция gps
т.к. приёмник может использоваться только одной программой одновременно
а вот плагин должен возвращать несколько вещей
1. ssid сети (в случае с WiMax только наличие, или если найдётся способ различать mts|yota|ещёчтото то имя) в случае отсутствия ssid - возвращать "скрыт"
2. силу сигнала. Для возможности "расцветки" трека и упрощения визуального определения мест с наивысшим уровнем сигнала
3. тип шифрования - опять таки для возможности отметки в треке (опционально)


всё указанное есть по отдельности в разных программах
и пройдя по цепочке (пройти с gps и включенным wifi, преобразовать трек в другой формат, скормить его третьей софтине которая наложит на карту) можно получить карту с отображенными wi-fi сетями
но было бы удобнее all in one как говорится :)
GDragon
Новичок
 
Сообщения: 23
Зарегистрирован: 13 июн 2011, 01:39
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.

Re: Обсуждение плагинных интерфейсов на примере карты покрытия

Сообщение gpsMax » 20 июн 2011, 03:38

(для ясности - я не разработчик, но слабые места уже вижу)

САС отдаёт плагину координаты. Это хорошо и понятно. Центра экрана, кстати? Или позицию курсора, или какие-то другие координаты? Нужно всё-всё-всё прорабатывать же.

А обратно передаётся какой-то поток сознания. Что предполагается программе делать с ssid сети, скажите пожалуйста? Только не надо говорить, что она должна сделать что-то сложное - нее, этим должен заниматься как раз плагин.

Как первое приближение: В ответ плагин возвращает строку, которую он составляет из ssid и прочих параметров. Обычная строка - это уже понятнее. Только что с ней, опять же, дальше делать? Давайте, включайте фантазию :-) Только по минимуму затрагивайте основную программу, почти всё должно быть в плагине. В результате должна получиться схема интерфейса для плагина - то есть, какие данные отдавать плагину, какие получать обратно, и как на них реагировать.

За это сообщение автора gpsMax поблагодарил:
vdemidov (20 июн 2011, 10:23)
gpsMax
Постигающий Дао
 
Сообщения: 142
Зарегистрирован: 02 апр 2010, 23:58
Благодарил (а): 44 раз.
Поблагодарили: 9 раз.

Re: Обсуждение плагинных интерфейсов на примере карты покрытия

Сообщение GDragon » 20 июн 2011, 11:12

координаты gps :)
плагин может и сам рисовать на карте то что нужно (просто в программе уже есть функционал которым треки рисуются)
в результате мы должны получить что то вроде
Изображение
GDragon
Новичок
 
Сообщения: 23
Зарегистрирован: 13 июн 2011, 01:39
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.

Re: Обсуждение плагинных интерфейсов на примере карты покрытия

Сообщение vasketsov » 20 июн 2011, 11:33

gpsMax писал(а):Центра экрана, кстати? Или позицию курсора, или какие-то другие координаты?

Судя по всему имеется в виду именно координата с подключенного приёмника gps. Ведь SSID-ы нюхаются не по абстрактной координате центра экрана саса, а физически вокруг приёника wifi (будем предполагать, что приёмники wifi и gps находятся близко друг от друга).

gpsMax писал(а):А обратно передаётся какой-то поток сознания

Это конечно верно, что поток сознания.
Но тут есть интересная особенность именно в контексте gps.
Если пишется трек в формате gpx - плагин просто может сказать программе - на тебе этот текст и запиши его в текущую точку трека как информацию. И таких плагинов, пишущих в gpx, может быть много всяких самых разных.

А вот подсветку трека на основании уровня сигнала, имхо, делать не стоит. Слишком много проблем. Либо это реализация дополнительной посветки (кроме подстветки по скоростям) по произвольным параметрам точки, либо сам плагин должен генерить цвета для подстветки, что приведёт к невозможности изменения подсветки после генерации трека. В обоих случаях фигня-с.
vasketsov
Специалист
 
Сообщения: 901
Зарегистрирован: 25 июл 2009, 21:15
Благодарил (а): 0 раз.
Поблагодарили: 193 раз.

Re: Обсуждение плагинных интерфейсов на примере карты покрытия

Сообщение GDragon » 20 июн 2011, 13:29

(будем предполагать, что приёмники wifi и gps находятся близко друг от друга)

ну всяко не дальше чем 1-2 метра, а это несущественно.

(кроме подстветки по скоростям)
а это зачем? скорость и так понятна из списка будет :)

А подсветку трека в зависимости от уровня сигнала можно сделать типом линии, чем реже пунктир тем слабее сигнал
главное чтобы при наведении на трек показывалась корректная информация о конкретном месте
GDragon
Новичок
 
Сообщения: 23
Зарегистрирован: 13 июн 2011, 01:39
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.

Re: Обсуждение плагинных интерфейсов на примере карты покрытия

Сообщение gpsMax » 20 июн 2011, 13:54

Ну, со входными данными полная ясность - координаты с gps. Теперь бы еще с результатами определиться.

vasketsov писал(а):Если пишется трек в формате gpx - плагин просто может сказать программе - на тебе этот текст и запиши его в текущую точку трека как информацию. И таких плагинов, пишущих в gpx, может быть много всяких самых разных.


Я не очень близко знаком с форматом gpx. Kml ковырял, wpt ковырял (хотя он не в тему - простенький), а gpx как-то не довелось. Я так понимаю, там ведь можно, как и в kml, указывать свои, кастомные xml-поля? Тогда плагину надо будет возвращать целый массив из имён параметров и их значений, причём в идеале безразмерный в смысле количества параметров. Как-то это громоздко... или нет?

Всё вышеозвученное написано в предположении, что плагин только возвращает данные, и всё, а к отрисовке трека он отношения не имеет. Программа в данной модели только тупо пишет кастомные все эти поля в gpx и тоже пока ничего не рисует.
Последний раз редактировалось gpsMax 20 июн 2011, 13:58, всего редактировалось 1 раз.
gpsMax
Постигающий Дао
 
Сообщения: 142
Зарегистрирован: 02 апр 2010, 23:58
Благодарил (а): 44 раз.
Поблагодарили: 9 раз.

Re: Обсуждение плагинных интерфейсов на примере карты покрытия

Сообщение Parasite » 20 июн 2011, 13:57

GDragon писал(а):от основной программы плагину потребуется только позиция gps
т.к. приёмник может использоваться только одной программой одновременно
а вот плагин должен возвращать несколько вещей
1. ssid сети (в случае с WiMax только наличие, или если найдётся способ различать mts|yota|ещёчтото то имя) в случае отсутствия ssid - возвращать "скрыт"
2. силу сигнала. Для возможности "расцветки" трека и упрощения визуального определения мест с наивысшим уровнем сигнала
3. тип шифрования - опять таки для возможности отметки в треке (опционально)
всё указанное есть по отдельности в разных программах
и пройдя по цепочке (пройти с gps и включенным wifi, преобразовать трек в другой формат, скормить его третьей софтине которая наложит на карту) можно получить карту с отображенными wi-fi сетями
но было бы удобнее all in one как говорится :)

А зачем это всё САСу, собссно? Наверное сейчас приходится "проходить по цепочке" ровно потому, что это никому особо и не нужно кроме топикстартера?
Имхо детсад это всё - то сотовые вышки ловим (с точностью лишь слегка менее чем никакой), теперь щас вот хотспоты (сегодня появляющиеся - а завтра пропадающие).....А корованы там грабить можно будет?
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5613
ICQ: 15819243
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 119 раз.
Поблагодарили: 439 раз.

Re: Обсуждение плагинных интерфейсов на примере карты покрытия

Сообщение gpsMax » 20 июн 2011, 14:05

Parasite писал(а): корованы там грабить можно будет?

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

Я так думаю, что будет класс плагинов, предоставляющий данные (начиная с координат, скорости, DOP), и будет класс, рисующий треки в зависимости от тех самых данных - разные цвета в зависимости от скорости etc. До второго класса пока далековато, зато первый вполне понятен.
gpsMax
Постигающий Дао
 
Сообщения: 142
Зарегистрирован: 02 апр 2010, 23:58
Благодарил (а): 44 раз.
Поблагодарили: 9 раз.

Re: Обсуждение плагинных интерфейсов на примере карты покрытия

Сообщение vasketsov » 20 июн 2011, 14:24

gpsMax писал(а):а gpx как-то не довелось. Я так понимаю, там ведь можно, как и в kml, указывать свои, кастомные xml-поля?

Ну в общем-то да, это тоже расширение xml. Спеку по gpx можно слить с их сайта, адрес сейчас сходу не вспомню, но факт тот, что он легко ищется и там это есть.
Суть в том, что это ВОЗМОЖНО, а когда реально захочется что-то такого типа забацать - тогда и поглядеть предметно.

gpsMax писал(а):Тогда плагину надо будет возвращать целый массив из имён параметров и их значений

Проще сделать так, чтобы параметр и значение был один (одна пара). Тогда при необходимости в случае чтения своих же параметров не будет этой же кучи значений.
А уж что внутри - отдать на откуп плагину. Естественно, с проверкой параметров, чтобы там никаких тэгов не было и прочих запрещённых символов, чтобы ничего не испортилось.
В итоге интерфейс взаимодействия программы и плагина будет заключаться (без очевидных подробностей) в передаче двух PChar-ов (для имени и значения).

gpsMax писал(а):а к отрисовке трека он отношения не имеет

Ну, в моём понимании настройкой отрисовки всегда должен заниматься конечный юзер, а не автор бизнес-логики. Если эти 2 человека думают одной головой и сидят на одной заднице - это исключительно случайность, на которую нельзя в общем случае полагаться.
Не говоря уже о сомнениях, надо ли вообще допускать плагины к непосредственной отрисовке чего бы то ни было.
vasketsov
Специалист
 
Сообщения: 901
Зарегистрирован: 25 июл 2009, 21:15
Благодарил (а): 0 раз.
Поблагодарили: 193 раз.

Re: Обсуждение плагинных интерфейсов на примере карты покрытия

Сообщение Parasite » 20 июн 2011, 14:33

gpsMax писал(а):
Parasite писал(а): корованы там грабить можно будет?

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

Вопрос выше был, соббсно, по вынесенной теме обсуждения ("Работа с WiFi и Wimax сетями"). Про обкатку моделей интерфейсов я ни слова не говорил. :)
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5613
ICQ: 15819243
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 119 раз.
Поблагодарили: 439 раз.

След.

Вернуться в Раздел для разработчиков программы SAS.Планета

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1