SASGIS

Веб-картография и навигация


View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0002087SAS.Планета[All Projects] Хотелкаpublic13-08-2013 07:1614-04-2020 06:38
Reportervdemidov 
Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
StatusconfirmedResolutionopen 
PlatformOSOS Version
Product Version121010 
Target Version24xxxxFixed in Version 
Summary0002087: Добавить в zmp тип скрипта для получения актуальной версии карты
DescriptionЭто нужно, чтобы можно было делать автообновляемые карты для некоторых сервисов.

Нужно добавить новый файл со скриптом в Zmp, который будет возвращать строку текущей версии, и кнопку в параметры карты, по которой будет выполняться этот скрипт и обновляться версия в параметрах карты.
TagsNo tags attached.
Attached Files

- Relationships
related to 0002085closedvdemidov PascalScript: разрешить изменять версию карты из скрипта 
related to 0003652new Версия карты не сохраняется в базу данных в версионном кеше 

-  Notes
(0012365)
Papazol (reporter)
13-08-2013 18:29

А если нужно качнуть предыдущую версию?
(0012366)
vdemidov (manager)
13-08-2013 19:45

Просто укажет вручную эту версию и не будет нажимать кнопочку "Получить актуальную версию"
(0012372)
vasketsov (manager)
14-08-2013 09:40

Необходимо будет решить ещё казус с тем, что одна версия используется как для закачки, так и для отображения карты. Получение актуальной версии должно влиять на версию для закачки. Тогда как версия для отображения карты по результатам обновления версии для закачки обновляться не должна (глупо смотреть на пустую карту, не говоря уже о возможности переключить версию и работать с нужной, пока качается новое*, и чтобы автообновление не пыжилось и автопроверка не долбила). Сохранять в zmp достаточно одну (для отображения), версию для закачки достаточно сохранять только в maps.ini, а при чтении параметров соответственно если второй нет - инициализировать значением первой.
--------
*) это не то же самое, что фиксирование версии закачки в начале закачки, это скорее инициализация версии закачки не по версии отображения карты, а по версии закачки карты.
(0012373)
vdemidov (manager)
14-08-2013 09:50

Ну вполне возможно, что стоит разделить версию для закачки и активную для сохранения. Я уже думал об этом. Плюс, возможно,дополнить какой-то настройкой типа "Использовать ту же версию для закачки, что и для сохранения"
(0012375)
zed (manager)
14-08-2013 09:57

> для сохранения
При чём тут "сохранение"? Речь же про закачку и отображение (чтение из кэша для вывода на экран).
(0012376)
vdemidov (manager)
14-08-2013 10:05

Ну, отображение и сохранение это одна версия, а построение запросов на закачку другая.
(0012377)
zed (manager)
14-08-2013 10:07

Ничего подобного. Сохраняет тайлы качалка, у которой должна быть своя версия.
(0012378)
vdemidov (manager)
14-08-2013 10:13

Ну а сохранять должно в ту что активна для отображения и сохранения. Иначе будет еще хуже чем сейчас: качалка чего-то качает, а в видимой области тайлов не появляется.
(0012379)
zed (manager)
14-08-2013 10:14

Ты хочешь принудительно изменять версию у скачанных тайлов на ту, что выбрал пользователь для отображения? Да это же БРЕД!!!
(0012380)
vdemidov (manager)
14-08-2013 10:17

С чего бы это, например я хочу что бы у меня в тайлохранилище версии были по дате появления, поэтому я ставлю для отображения и сохранения версию "20130814", а для закачки ставлю версию которую хочет получить гугл "134". Что тут бредового?
(0012381)
vasketsov (manager)
14-08-2013 10:23

>отображение и сохранение это одна версия
Значит уже 3 разных версии )))))).
Потому что у меня например версия тайла при сохранении та, что прилетела из качалки (не всегда = версии для отображения).

>версии были по дате появления
Вообще говоря странное желание... а если несколько разных версий будут в течение одного дня? Например, если картосервис поддерживает прямое указание версии для закачки (гугл или dg) - разные тайлы разных реальных версий будут падать в одну версию 20130814?
зы. Кстати, сейчас такое возможно, но только фактически если Version не участвует в построении запроса.
(0012382)
zed (manager)
14-08-2013 10:27

>Что тут бредового?
А то, что у тебя в кэше может получиться смесь из разных версий, которые буду значится как-будто это одна версия. И причём ты это хочешь сделать дефолтным поведением (а если версия для отображения = версии для сохранения то так и будет). Это плохое поведение. И если уж по какой-то причине тебе нужно такое получить, то делать это надо через ручную смену версии в кэше (через операцию с выделенной областью, к примеру), но ни коим образом, не делать такое поведение дефолтным!
(0012383)
vdemidov (manager)
14-08-2013 10:28

А третья зачем? Одна для генерации урлов, другая для отображения и сохранения. Плюс, возможно, при закачке добавить поле с версией в которую сохранять скачанные тайлы.
(0012384)
vdemidov (manager)
14-08-2013 10:31

>А то, что у тебя в кэше может получиться смесь из разных версий, которые буду значится как-будто это одна версия.
95% пользователей и мне в том числе глубоко пофиг на это. Им нужно видеть свежую версию без лишней мороки.
(0012385)
zed (manager)
14-08-2013 10:33

>А третья зачем? Одна для генерации урлов, другая для отображения и сохранения.
1. Генерация url
2. Отображение
3. Сохранение

Причём, по дефолту, версия 3 должна получаться из 1, чтобы тайлы сохранялись под той версией, что загрузились, если пользователь не указал иного.
(0012386)
vdemidov (manager)
14-08-2013 10:34

Ну еще альтернативный вариант сделать отдельно версию для отображения и если там заданно что-то не совпадающее с версией для закачки и не пустая строка, то вообще отключать закачку.
(0012387)
zed (manager)
14-08-2013 10:38

>Им нужно видеть свежую версию без лишней мороки.
Это в тикет 0002085 - решается "адским костылём", без извращений с тремя версиями сохранения/отображение/генерации.

>то вообще отключать закачку
Ещё лучше. Каким боком вообще отображение к закачке? Это же независимые задачи.
(0012389)
vdemidov (manager)
14-08-2013 10:42

>Это в тикет 0002085 - решается "адским костылём", без извращений с тремя версиями сохранения/отображение/генерации.
Это решается простым скриптом получения версии без всяких костылей. Три версии это твоя идея.

>>то вообще отключать закачку
>Ещё лучше. Каким боком вообще отображение к закачке? Это же независимые задачи.
Речь про закачку видимой области, а что закачивать если стоит версия для загрузки "134", а для отображения "100"? А если что-то закачивать, то в какую версию сохранять?
(0012390)
vasketsov (manager)
14-08-2013 10:51

>А третья зачем? Одна для генерации урлов, другая для отображения и сохранения
Ну, это же тебе зачем-то отдельная версия для сохранения понадобилась, или какой то признак, сохранять с версией для отображения или с оригинальной версией при закачке? )))

Мне достаточно 2 версии:
1. Для просмотра карты, построения карты заполнения, выполнения всех прочих операций, кроме закачки (разве что возможно надо потайловую скачку по Insert+Click тоже инициализировать этой версией).
2. Версия для инициализации версии закачки (которая потому будет использована для сохранения закаченного тайла в тайлохранилище), возможно кроме инициализации потайловой скачки по Insert+Click.

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

>сделать отдельно версию для отображения и если там заданно что-то не совпадающее с версией для закачки и не пустая строка, то вообще отключать закачку
НИ в коем случае такое нельзя делать. Ибо некоторые картосервисы понимают указание версии в УРЛе и скачку любоу версии, а смотреть можно в это время что угодно из старого или нового.
(0012391)
vdemidov (manager)
14-08-2013 10:54

Еще раз подчеркиваю что речь про закачку видимой области. При закачке по области отдельным потоком, просто фиксировать версию для угла и для сохранения, по-умолчанию одинаковые.
(0012392)
vasketsov (manager)
14-08-2013 10:54

>Речь про закачку видимой области
Всё что касается видимой области (OneTileUI, закачка на лету и т.п.) - надо инициализировать первой версией (для отображения). Закачки по выделенной области - второй версией.

>если стоит версия для загрузки "134", а для отображения "100"?
Значит 100 и ССЗБ.

>если что-то закачивать, то в какую версию сохранять
В версию, которая запрашивалась при закачке (ну или вернулас после закачки, если версия может определяться по скачанному тайлу).
(0012395)
vdemidov (manager)
14-08-2013 11:22

>Всё что касается видимой области (OneTileUI, закачка на лету и т.п.) - надо инициализировать первой версией (для отображения). Закачки по выделенной области - второй версией.
Зачем тогда вообще вторая версия? Достаточно добавить настройку в форму запуска закачки по выделенной области.
(0012401)
vasketsov (manager)
14-08-2013 11:43

>Зачем тогда вообще вторая версия?
Потому что именно её надо обновлять при проверке наличия новых версий. Ибо изначально новые версии предполагается скачивать.

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

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

Я уже попытался описать, как представляю себе это. Что конкретно тебя в этом не устривает?
1. Две версии (условно, Version и DownloaderVersion).
2. Сохранение всегда с той версией, которая использовалась для закачки (с учётом возможного определения версии по тайлу или прочему ответу сервера).
3. Автообновлялка версий работает по DownloaderVersion. Синхронизация значения Version опциональная. Опционально автообновлялка работает по max(Version, DownloaderVersion), если версии сравнимы (операция max имеет смысл), или по паре версий Version и DownloaderVersion, если версии не сравнимы.
4. Закачка по области выделения инициализируется значением DownloaderVersion (через поле в форме или напрямую - неважно, через поле наверное даже веселее будет).
5. Закачка на основании видимого экрана (автозасос или пальцем по тайлу) инициализируется значением Version.
(0012404)
vdemidov (manager)
14-08-2013 11:51

В первую очередь автообновление нужно именно для отображаемой версии, а уже настройка в форме запуска закачки по области инициализируется отображаемой версией по-умолчанию. Ибо чаще всего скачать нужно именно ту версию что сейчас смотришь.
(0012407)
vasketsov (manager)
14-08-2013 12:03

>автообновление нужно именно для отображаемой версии
Чтобы показать пустую карту?
Чтобы спросить юзера "переключить карту на новую версию N+1" и при ответе "да" слить ему экран тайлов (возможно даже не изменившихся, потому что изменений по стране нет), а при ответе "нет", например, больше об этом не напомнить, но залить экран старой версией и новыми тайлами, потому что картосервис всё равно отдаст версию N+1? Ну неудобное же.

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

Если исходить из того, что по умолчанию сас работает в режиме автоскачки, то конечно можно сделать по умолчанию и автосинхронизацию Version по DownloaderVersion. Но вообще говоря это будет неудобно, если работа касается и старых версий, так как при работе с конкретной областью карты придётся отключать автообновлялку. Хотя казалось бы оснований для такого отключения нет.
(0012408)
Papazol (reporter)
14-08-2013 12:10

На мой дилетантский взгляд, можно было бы просто сделать проверку текущей версии, наподобие наличия снимков в данном месте. А с полученным значением пользователь волен поступать как хочет: может скопировать в URL, может забить. На худой конец, можно при несовпадении номера версии в zmp (или в maps.ini) с полученным свежайшим выдавать сообщение об этом факте. И больше ничего не делать!
(0012410)
vdemidov (manager)
14-08-2013 12:19

Именно это я и предлагаю. Просто кнопка в параметрах карты рядом с полем версия, которая получит актуальную версию и предложит установить ее в качестве текущей.
(0012411)
zed (manager)
14-08-2013 12:19

>И больше ничего не делать!
И чего вы так переживаете, что вам насильно кто-то будет что-то там менять.
(0012412)
Papazol (reporter)
14-08-2013 15:57

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

- Users who viewed this issue
User List Anonymous (3307x), aflexus (4x), [email protected] (2x)
Total Views 3313
Last View 22-11-2024 04:17

- Issue History
Date Modified Username Field Change
13-08-2013 07:16 vdemidov New Issue
13-08-2013 07:16 vdemidov Status new => assigned
13-08-2013 07:16 vdemidov Assigned To => vdemidov
13-08-2013 07:16 vdemidov Issue generated from: 0002085
13-08-2013 07:16 vdemidov Relationship added related to 0002085
13-08-2013 07:16 vdemidov Assigned To vdemidov =>
13-08-2013 07:17 vdemidov Status assigned => confirmed
13-08-2013 18:29 Papazol Note Added: 0012365
13-08-2013 19:45 vdemidov Note Added: 0012366
14-08-2013 09:40 vasketsov Note Added: 0012372
14-08-2013 09:50 vdemidov Note Added: 0012373
14-08-2013 09:57 zed Note Added: 0012375
14-08-2013 10:05 vdemidov Note Added: 0012376
14-08-2013 10:07 zed Note Added: 0012377
14-08-2013 10:13 vdemidov Note Added: 0012378
14-08-2013 10:14 zed Note Added: 0012379
14-08-2013 10:17 vdemidov Note Added: 0012380
14-08-2013 10:23 vasketsov Note Added: 0012381
14-08-2013 10:27 zed Note Added: 0012382
14-08-2013 10:28 vdemidov Note Added: 0012383
14-08-2013 10:31 vdemidov Note Added: 0012384
14-08-2013 10:33 zed Note Added: 0012385
14-08-2013 10:34 vdemidov Note Added: 0012386
14-08-2013 10:38 zed Note Added: 0012387
14-08-2013 10:42 vdemidov Note Added: 0012389
14-08-2013 10:51 vasketsov Note Added: 0012390
14-08-2013 10:54 vdemidov Note Added: 0012391
14-08-2013 10:54 vasketsov Note Added: 0012392
14-08-2013 11:22 vdemidov Note Added: 0012395
14-08-2013 11:43 vasketsov Note Added: 0012401
14-08-2013 11:51 vdemidov Note Added: 0012404
14-08-2013 12:03 vasketsov Note Added: 0012407
14-08-2013 12:10 Papazol Note Added: 0012408
14-08-2013 12:19 vdemidov Note Added: 0012410
14-08-2013 12:19 zed Note Added: 0012411
14-08-2013 15:57 Papazol Note Added: 0012412
14-04-2020 06:38 zed Relationship added related to 0003652



Copyright © 2007 - 2024 SAS.Planet Team