Notes |
|
|
А если нужно качнуть предыдущую версию? |
|
|
|
Просто укажет вручную эту версию и не будет нажимать кнопочку "Получить актуальную версию" |
|
|
|
Необходимо будет решить ещё казус с тем, что одна версия используется как для закачки, так и для отображения карты. Получение актуальной версии должно влиять на версию для закачки. Тогда как версия для отображения карты по результатам обновления версии для закачки обновляться не должна (глупо смотреть на пустую карту, не говоря уже о возможности переключить версию и работать с нужной, пока качается новое*, и чтобы автообновление не пыжилось и автопроверка не долбила). Сохранять в zmp достаточно одну (для отображения), версию для закачки достаточно сохранять только в maps.ini, а при чтении параметров соответственно если второй нет - инициализировать значением первой.
--------
*) это не то же самое, что фиксирование версии закачки в начале закачки, это скорее инициализация версии закачки не по версии отображения карты, а по версии закачки карты. |
|
|
|
Ну вполне возможно, что стоит разделить версию для закачки и активную для сохранения. Я уже думал об этом. Плюс, возможно,дополнить какой-то настройкой типа "Использовать ту же версию для закачки, что и для сохранения" |
|
|
(0012375)
|
zed
|
14-08-2013 09:57
|
|
> для сохранения
При чём тут "сохранение"? Речь же про закачку и отображение (чтение из кэша для вывода на экран). |
|
|
|
Ну, отображение и сохранение это одна версия, а построение запросов на закачку другая. |
|
|
(0012377)
|
zed
|
14-08-2013 10:07
|
|
Ничего подобного. Сохраняет тайлы качалка, у которой должна быть своя версия. |
|
|
|
Ну а сохранять должно в ту что активна для отображения и сохранения. Иначе будет еще хуже чем сейчас: качалка чего-то качает, а в видимой области тайлов не появляется. |
|
|
(0012379)
|
zed
|
14-08-2013 10:14
|
|
Ты хочешь принудительно изменять версию у скачанных тайлов на ту, что выбрал пользователь для отображения? Да это же БРЕД!!! |
|
|
|
С чего бы это, например я хочу что бы у меня в тайлохранилище версии были по дате появления, поэтому я ставлю для отображения и сохранения версию "20130814", а для закачки ставлю версию которую хочет получить гугл "134". Что тут бредового? |
|
|
|
>отображение и сохранение это одна версия
Значит уже 3 разных версии )))))).
Потому что у меня например версия тайла при сохранении та, что прилетела из качалки (не всегда = версии для отображения).
>версии были по дате появления
Вообще говоря странное желание... а если несколько разных версий будут в течение одного дня? Например, если картосервис поддерживает прямое указание версии для закачки (гугл или dg) - разные тайлы разных реальных версий будут падать в одну версию 20130814?
зы. Кстати, сейчас такое возможно, но только фактически если Version не участвует в построении запроса. |
|
|
(0012382)
|
zed
|
14-08-2013 10:27
|
|
>Что тут бредового?
А то, что у тебя в кэше может получиться смесь из разных версий, которые буду значится как-будто это одна версия. И причём ты это хочешь сделать дефолтным поведением (а если версия для отображения = версии для сохранения то так и будет). Это плохое поведение. И если уж по какой-то причине тебе нужно такое получить, то делать это надо через ручную смену версии в кэше (через операцию с выделенной областью, к примеру), но ни коим образом, не делать такое поведение дефолтным! |
|
|
|
А третья зачем? Одна для генерации урлов, другая для отображения и сохранения. Плюс, возможно, при закачке добавить поле с версией в которую сохранять скачанные тайлы. |
|
|
|
>А то, что у тебя в кэше может получиться смесь из разных версий, которые буду значится как-будто это одна версия.
95% пользователей и мне в том числе глубоко пофиг на это. Им нужно видеть свежую версию без лишней мороки. |
|
|
(0012385)
|
zed
|
14-08-2013 10:33
|
|
>А третья зачем? Одна для генерации урлов, другая для отображения и сохранения.
1. Генерация url
2. Отображение
3. Сохранение
Причём, по дефолту, версия 3 должна получаться из 1, чтобы тайлы сохранялись под той версией, что загрузились, если пользователь не указал иного. |
|
|
|
Ну еще альтернативный вариант сделать отдельно версию для отображения и если там заданно что-то не совпадающее с версией для закачки и не пустая строка, то вообще отключать закачку. |
|
|
(0012387)
|
zed
|
14-08-2013 10:38
|
|
>Им нужно видеть свежую версию без лишней мороки.
Это в тикет 0002085 - решается "адским костылём", без извращений с тремя версиями сохранения/отображение/генерации.
>то вообще отключать закачку
Ещё лучше. Каким боком вообще отображение к закачке? Это же независимые задачи. |
|
|
|
>Это в тикет 0002085 - решается "адским костылём", без извращений с тремя версиями сохранения/отображение/генерации.
Это решается простым скриптом получения версии без всяких костылей. Три версии это твоя идея.
>>то вообще отключать закачку
>Ещё лучше. Каким боком вообще отображение к закачке? Это же независимые задачи.
Речь про закачку видимой области, а что закачивать если стоит версия для загрузки "134", а для отображения "100"? А если что-то закачивать, то в какую версию сохранять? |
|
|
|
>А третья зачем? Одна для генерации урлов, другая для отображения и сохранения
Ну, это же тебе зачем-то отдельная версия для сохранения понадобилась, или какой то признак, сохранять с версией для отображения или с оригинальной версией при закачке? )))
Мне достаточно 2 версии:
1. Для просмотра карты, построения карты заполнения, выполнения всех прочих операций, кроме закачки (разве что возможно надо потайловую скачку по Insert+Click тоже инициализировать этой версией).
2. Версия для инициализации версии закачки (которая потому будет использована для сохранения закаченного тайла в тайлохранилище), возможно кроме инициализации потайловой скачки по Insert+Click.
И я реально не понимаю, каким образом версия тайла, заданная в момент начала закачки, на основании которой (и всех прочих фиксированных параметров), может зависеть от того, что после начала скачки мы передёрнули версию карты, чтобы поглядеть другой участок. Для этого и делалась фиксация версии в момента начала выполнения операции с выделенной областью, чтобы не иметь таких неопределённостей, как переход через 00:00:00 часов или смена версии для просмотра карты в гуе.
>сделать отдельно версию для отображения и если там заданно что-то не совпадающее с версией для закачки и не пустая строка, то вообще отключать закачку
НИ в коем случае такое нельзя делать. Ибо некоторые картосервисы понимают указание версии в УРЛе и скачку любоу версии, а смотреть можно в это время что угодно из старого или нового. |
|
|
|
Еще раз подчеркиваю что речь про закачку видимой области. При закачке по области отдельным потоком, просто фиксировать версию для угла и для сохранения, по-умолчанию одинаковые. |
|
|
|
>Речь про закачку видимой области
Всё что касается видимой области (OneTileUI, закачка на лету и т.п.) - надо инициализировать первой версией (для отображения). Закачки по выделенной области - второй версией.
>если стоит версия для загрузки "134", а для отображения "100"?
Значит 100 и ССЗБ.
>если что-то закачивать, то в какую версию сохранять
В версию, которая запрашивалась при закачке (ну или вернулас после закачки, если версия может определяться по скачанному тайлу). |
|
|
|
>Всё что касается видимой области (OneTileUI, закачка на лету и т.п.) - надо инициализировать первой версией (для отображения). Закачки по выделенной области - второй версией.
Зачем тогда вообще вторая версия? Достаточно добавить настройку в форму запуска закачки по выделенной области. |
|
|
|
>Зачем тогда вообще вторая версия?
Потому что именно её надо обновлять при проверке наличия новых версий. Ибо изначально новые версии предполагается скачивать.
>Достаточно добавить настройку в форму запуска закачки по выделенной области
Если мы говорим про автообновлялку версии картосервиса, то недостаточно. Или ты предлагаешь при каждом показе формы закачки по области выполнять проверку наличия обновлений и инициализировать это поле полученным значением?
Вся соль - в том, на основании чего инициализируется версия закачки. Если ты предлагаешь брать эту версию из поля в форме, то вопрос просто переформулируется: на основании чего инциализировать это поле )))
Я уже попытался описать, как представляю себе это. Что конкретно тебя в этом не устривает?
1. Две версии (условно, Version и DownloaderVersion).
2. Сохранение всегда с той версией, которая использовалась для закачки (с учётом возможного определения версии по тайлу или прочему ответу сервера).
3. Автообновлялка версий работает по DownloaderVersion. Синхронизация значения Version опциональная. Опционально автообновлялка работает по max(Version, DownloaderVersion), если версии сравнимы (операция max имеет смысл), или по паре версий Version и DownloaderVersion, если версии не сравнимы.
4. Закачка по области выделения инициализируется значением DownloaderVersion (через поле в форме или напрямую - неважно, через поле наверное даже веселее будет).
5. Закачка на основании видимого экрана (автозасос или пальцем по тайлу) инициализируется значением Version. |
|
|
|
В первую очередь автообновление нужно именно для отображаемой версии, а уже настройка в форме запуска закачки по области инициализируется отображаемой версией по-умолчанию. Ибо чаще всего скачать нужно именно ту версию что сейчас смотришь. |
|
|
|
>автообновление нужно именно для отображаемой версии
Чтобы показать пустую карту?
Чтобы спросить юзера "переключить карту на новую версию N+1" и при ответе "да" слить ему экран тайлов (возможно даже не изменившихся, потому что изменений по стране нет), а при ответе "нет", например, больше об этом не напомнить, но залить экран старой версией и новыми тайлами, потому что картосервис всё равно отдаст версию N+1? Ну неудобное же.
>чаще всего скачать нужно именно ту версию что сейчас смотришь
Это очень странное предположение, которое означает, что скачиваемое смотрится только один раз. У меня ровно обратная статистика: я смотрю давно скачанное много раз, при этом качаю новое. И хотелось бы качать новое (и возможно даже проверять обновления версии картосервиса) независимо от того, какую старую версию я разглядываю. И я реально не понимаю, какое отношение имеет разглядываемая (не обязательно новая) версия к закачке нового по новой версии.
Если исходить из того, что по умолчанию сас работает в режиме автоскачки, то конечно можно сделать по умолчанию и автосинхронизацию Version по DownloaderVersion. Но вообще говоря это будет неудобно, если работа касается и старых версий, так как при работе с конкретной областью карты придётся отключать автообновлялку. Хотя казалось бы оснований для такого отключения нет. |
|
|
|
На мой дилетантский взгляд, можно было бы просто сделать проверку текущей версии, наподобие наличия снимков в данном месте. А с полученным значением пользователь волен поступать как хочет: может скопировать в URL, может забить. На худой конец, можно при несовпадении номера версии в zmp (или в maps.ini) с полученным свежайшим выдавать сообщение об этом факте. И больше ничего не делать! |
|
|
|
Именно это я и предлагаю. Просто кнопка в параметрах карты рядом с полем версия, которая получит актуальную версию и предложит установить ее в качестве текущей. |
|
|
(0012411)
|
zed
|
14-08-2013 12:19
|
|
>И больше ничего не делать!
И чего вы так переживаете, что вам насильно кто-то будет что-то там менять. |
|
|
|
Как же не переживать? Если некоторые функции программы, которыми я не пользуюсь совсем, я даже и не пытаюсь изучать, то сабж - одна из основополагающих вещей, без неё вообще кранты. Особенно остро вопрос стоит при использовании версионного кэша. Так как для каждой версии (в смысле в хранилище) нужно не забывать подставлять нужный номер в URL, если нужно и можно что-то скачать. Тут никакая автоматика не годится. Вот если бы при переходе на другую версию хранилища URL менялся в соответствии с указанным при создании этой версии - было бы хорошо. Но это несколько другая хотелка. |
|