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

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

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

GDragon
Новичок
Сообщения: 23
Зарегистрирован: 13 июн 2011, 01:39
Благодарил (а): 5 раз

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

Сообщение GDragon »

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

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


всё указанное есть по отдельности в разных программах
и пройдя по цепочке (пройти с gps и включенным wifi, преобразовать трек в другой формат, скормить его третьей софтине которая наложит на карту) можно получить карту с отображенными wi-fi сетями
но было бы удобнее all in one как говорится :)
gpsMax
Постигающий Дао
Сообщения: 142
Зарегистрирован: 02 апр 2010, 23:58
Благодарил (а): 44 раза
Поблагодарили: 9 раз

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

Сообщение gpsMax »

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

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

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

Как первое приближение: В ответ плагин возвращает строку, которую он составляет из ssid и прочих параметров. Обычная строка - это уже понятнее. Только что с ней, опять же, дальше делать? Давайте, включайте фантазию :-) Только по минимуму затрагивайте основную программу, почти всё должно быть в плагине. В результате должна получиться схема интерфейса для плагина - то есть, какие данные отдавать плагину, какие получать обратно, и как на них реагировать.
GDragon
Новичок
Сообщения: 23
Зарегистрирован: 13 июн 2011, 01:39
Благодарил (а): 5 раз

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

Сообщение GDragon »

координаты gps :)
плагин может и сам рисовать на карте то что нужно (просто в программе уже есть функционал которым треки рисуются)
в результате мы должны получить что то вроде
Изображение
vasketsov
Специалист
Сообщения: 901
Зарегистрирован: 25 июл 2009, 21:15
Поблагодарили: 193 раза

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

Сообщение vasketsov »

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

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

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

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

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

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

Сообщение GDragon »

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

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

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

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

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

Сообщение gpsMax »

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

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


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

Всё вышеозвученное написано в предположении, что плагин только возвращает данные, и всё, а к отрисовке трека он отношения не имеет. Программа в данной модели только тупо пишет кастомные все эти поля в gpx и тоже пока ничего не рисует.
Последний раз редактировалось gpsMax 20 июн 2011, 13:58, всего редактировалось 1 раз.
Аватара пользователя
Parasite
Администратор
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раза
Поблагодарили: 508 раз

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

Сообщение Parasite »

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/
Изображение
gpsMax
Постигающий Дао
Сообщения: 142
Зарегистрирован: 02 апр 2010, 23:58
Благодарил (а): 44 раза
Поблагодарили: 9 раз

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

Сообщение gpsMax »

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

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

Я так думаю, что будет класс плагинов, предоставляющий данные (начиная с координат, скорости, DOP), и будет класс, рисующий треки в зависимости от тех самых данных - разные цвета в зависимости от скорости etc. До второго класса пока далековато, зато первый вполне понятен.
vasketsov
Специалист
Сообщения: 901
Зарегистрирован: 25 июл 2009, 21:15
Поблагодарили: 193 раза

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

Сообщение vasketsov »

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

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

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

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

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

Ну, в моём понимании настройкой отрисовки всегда должен заниматься конечный юзер, а не автор бизнес-логики. Если эти 2 человека думают одной головой и сидят на одной заднице - это исключительно случайность, на которую нельзя в общем случае полагаться.
Не говоря уже о сомнениях, надо ли вообще допускать плагины к непосредственной отрисовке чего бы то ни было.
Аватара пользователя
Parasite
Администратор
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раза
Поблагодарили: 508 раз

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

Сообщение Parasite »

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

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

Вопрос выше был, соббсно, по вынесенной теме обсуждения ("Работа с WiFi и Wimax сетями"). Про обкатку моделей интерфейсов я ни слова не говорил. :)
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Ответить

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