Enable synchronisation of favourites #2750
Comments
|
OsmAnd doesn't delete missing favorites on purpose in order to not loose anything wanted. Full synchronization of favorites will require mechanism how user can undelete favorites and this is not discussed how to implement yet. Today it is possible to recompile osmand https://github.com/osmandapp/Osmand/blob/master/OsmAnd/src/net/osmand/plus/FavouritesDbHelper.java#L76 |
|
I had already looked at the source code to figure out what's happening. Your suggestion for another workaround is indeed possible, but then I have to root all devices as an app or user can't access the internal file without root privileges. |
|
Agree, we need to enable somekind of developer settings which will be easy to set in the app. One of that setting should be use only external storage for favorites, so it will be easy to synchronize. |
|
+1 for me, would be a great feature |
|
+1 for me too - I plan on the tablet and bike with the phone |
|
Friendly bump here (I also use it for both car driving and biking, so that would be really useful) +1 |
|
+1 for me also, have it on three devices anyhow, getting a better synchronization would be more than "nice to have" for me. |
|
Maybe the following can be helpful: See the latest new feature on https://overpass-turbo.eu ... You can store now your queries in an API by openstreetmap.org! That means: log in with your OSM account and have some storing space for small data sets. Maybe it is possible to store the favourites.gpx file there as well? |
|
Would be really interested to have this feature. Having the ability to move preferences/settings/favorites between devices will save users lots of effort with new or multiple devices. |
|
+1, this is really a missing feature. |
|
This is the weakest link in Osmand, an otherwise amazing project. A lot of us are building huge GPX datasets and rarely backing them up, let alone syncing, because of this problem. Not only "nice to have" but needed urgently. |
|
I agree, it is something that has been missing for a really long time. Optional sync of user data with cloud is almost the standard now and GPX are exactly the kind of data users need to sync and back up. It is accumulated sporadically and over long time, edited on different devices, not audited often and you usually can't predict when you will need to find that place you marked two years ago. Countless times I saved a POI just in case, long time passed, then I needed it - and of course it was on another device, lost due to device reset and/or my failure to back it up. I would see it as optionally automatic Dropbox/Google Drive synchronization. Those who want to be extra careful about not overwriting existing GPX from the cloud can leave it off and keep doing it manually. Casual users will just turn it on and forget about it. Some people will combine the approach - setting up sync but periodically exporting GPX manually after important edits. I don't think undelete functionality is really necessary to implement before cloud sync. |
|
+1, absolutely necessary for travelling |
|
+1 would like to sync as well... |
|
+1 absolutely necessary |
|
+1 transitioning between phones is a pain, and loss of trek data hurts |
|
+1 without this "favorites" are effectively tied to the device and are therefore temporary. |
|
Very important for me, too. I have over 300 favourites which I use and change constantly and there is no way to sync them on different devices and no save place to store them constantly. |
|
+1 from me |
|
PSA: Please avoid "+1" messages on GitHub issues, that's what the reactions (the "+ |
|
I tried to ask for this in #2636, but was misunderstood / didn't find the right words. All it'd take is to have seperate files for each favourite. Because these files are so small it could just be added and the favourites.gpx could be left as is. An additional folder "favourites" with subfolders of groups that would be in sync with the content of favourites.gpx and prioritized if there are conflicts. Could be an add-on "Favourite Sync Folder" or an option in the developer add-on. P.S.: I can sync favourites.gpx itself, but this doesn't handle conflicts, if both devices add a favourite without being online. |
|
any updates on this request? |
|
Yes, it is planned for 2019 |
|
Please make synchronization. |
|
Hey! Nextcloud Maps development is currently in progress. There already is a REST API to manipulate favourites. It would be great to create an OsmAnd plugin able to sync favourites with Nextcloud Maps. Being able to sync with a privacy-friendly solution as Nextcloud Maps would be a killer feature IMHO. This API has been discussed in nextcloud/maps#30 If I find time and motivation, I could do it in a few months. If someone wants to do it, feel free to ask for some changes in Maps favourites API if necessary. |
|
I also have multiple devices running OSMand and keeping the favorites synced is very labor intensive. This would be a very nice feature to have. |
Any update on this, or a roadmap we can look at? (sorry to start 2020 with a push!) |
|
Yes, it is in roadmap for 2020, for sure. We are looking to synchronize with profiles and everything. |
|
@vshcherb |
|
Sync with OsmAnd would be great! |
|
As an easy workaround you can sync the favourites.gps file with a tool like syncthing. Syncthing allows you to sync folders in your android's filesystem to your PC. and there are probably many other tools which do a similar job. |
|
Perhaps there is a misunderstanding here. As OP said:
And as @biiiep just said:
Really, that is not a workaround, that is the solution. Syncing should be left to a separate sync tool, not reinvented by Osmand. Favorites have a standard file format for data exchange: GPX. And already Osmand uses GPX for both favorites and markers. The favorites.gpx file is kept updated by Osmand, making it fine for one-way sync already. (Markers unfortunately still require manual export.) But OP seems to suggest that Osmand does not read the file, preferring an internal database. So what is needed is simply for Osmand to keep the favories.gpx file fully synced with its internal database. Then users will be able to sync the favorites.gpx file using whatever sync tool they prefer. Correct, @vshcherb ? |
It's neither a workaround nor the solution. That's what I'm doing until now, but it has too many limitations. Favourites are saved in one file. So all syncing conflicts will result in one of two changes being lost. Changing that is the whole point of this issue. To make it easily syncable, we'd need e. g. folders for favourites groups and one file for each favourite. That's what I was asking for in #2636. |
|
i agree, synchronizing files between devices is not the task of Osmand,
but keeping the content of the favoritzes.gpx in sync is.
this is not only about adding new favorites, markers or routes,,, but also
keeping track of moves and deletions.
e.g.: the deletion of a favorites on one devices has to imply that the same
fovorites will be deleted on another device
once the gpx has been transferred
e.g.: moving a fovorites on one device has to move the favorite on another
device (not just adding a new one)
this also implies that identification of favorites needs some cross device
unique ID (exact coordinates won't do)
any feedback?
br paul
…On Thu, Apr 23, 2020 at 6:23 AM Friptick ***@***.***> wrote:
Perhaps there is a misunderstanding here. As OP said:
This is not a request to implement the synchronization itself - I can
understand that it is impossible for Osmand to support all possible
solutions
And as @biiiep <https://github.com/biiiep> just said:
As an easy workaround you can sync the favourites.gps file with a tool
like syncthing.
Really, that is not a workaround, that is the solution. Syncing should be
left to a separate sync tool, not reinvented by Osmand. Favorites have a
standard file format for data exchange: GPX. And already Osmand uses GPX
for both favorites and markers. The favorites.gpx file is kept updated by
Osmand, making it fine for one-way sync already. (Markers unfortunately
still require manual export.) But OP seems to suggest that Osmand *does
not read it*, preferring an internal database.
So what is needed is simply for Osmand to keep the favories.gpx file fully
synced with its internal database. Then users will be able to sync the
favorites.gpx file with whatever sync tool they prefer.
Correct, @vshcherb <https://github.com/vshcherb> ?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#2750 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AHDZTCNGWYQCTHCGETHOEZTRN67ETANCNFSM4CH2R5NA>
.
|
|
Sorry, I can't understand the problem. |
|
I also don't see a real problem. Only in three cases there is some manual work necessary
Theese cases are not easy to handle programmatically, because it is not really clear, how the user wants this to be solved. |
Have two devices offline. Add an individual favourite on each. Go online with both. |
|
these 3 cases
- delete of one or more points
- change of a point name which leads to "semi duplicates"
- move of a point to a different group
are exactly what has to be synchronized "automatically" and it is clear
what is meant
-> do the same thing on any other device
that's what a bunch of other apps do (google earth, maps..) based on an
account,
which may be an issue for osmand, as we don't have an account in osmand
there are approaches with synchronizing to a file that has a bit more
information than just coordinates that shall be added:
- kind of an favorite ID (coordinates are not to identify a favorite)
- kind of a favorite status, e.g.: "to be deleted"
this discussion is already more than 3 years old!
not having a reasonable sync option is the biggest issue osmand has (in my
opinion)
…On Thu, Apr 23, 2020 at 11:09 AM pebogufi ***@***.***> wrote:
I also don't see a real problem. Only in three cases there is some manual
work necessary
- delete of one or more points
- change of a point name which leads to "semi duplicates"
- move of a point to a different group
Theese cases are not easy to handle programmatically, because it is not
really clear, how the user wants this to be solved.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#2750 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AHDZTCIZGZIPKWBI7BO22P3ROAATRANCNFSM4CH2R5NA>
.
|
Where is this internal file? Even on my rooted device (Android 6.0.1, osmand+) I can't find it. This would help as a workaround, as I don't have much hope any solution is going to be implemented any time soon. |
Is it possible to integrate the favorit sync as an own app? I'm unshure about the OSMAnd-API https://github.com/osmandapp/osmand-api-demo. There are a bunch of methods discribed to add and modifify favorits. This would be enough to get the Nextcloud maps favorits into OSMAnd, but I'm missing functions to get the favorits or get notified if favorits change to upload them to nextcloud. |
|
It is possible to add these API methods, I think there are methods to get favorites or probably we can introduce 2 methods - "Last time favorites has changed" + "Access to raw Favorites.gpx.gz" |
|
How diffecult would a |
|
if app is running obviously it is eaiser and should be done though 2nd periodic check on start still need to happen |
|
There is some progress made in another issue - #7690 |
|
I don't know if you are aware of it, but if/when OSMAnd will have this kind of sincronization, maybe it could be listed also in the Nextcloud appstore: https://apps.nextcloud.com/ This thaks to nextcloud/appstore#95 This would not mean that the users could install OSMAnd via the Nextcloud appstore, yet for sure it would be another way to gain new users via the awareness of OSMAnd existance and capabilities. |
|
Just a thought ... but in the interim whilst this is hopefully being sorted - |
|
I have the same issue. The internal database should update itself with respect to the changes in |
|
Might I propose a solution based on DecSync? I uses the filesystem to synchronize the favorites, like others suggested. But it is designed in such a way that there are no file conflicts. Disclaimer: I made it myself. |
|
I have now actually made a proof of concept of OsmAnd DecSync, which is an OsmAnd plugin that uses DecSync to synchronize the favorites! Note that it is a proof of concept, as it requires root and heavy manual intervention, as there is currently no way for a plugin to access the favorites. To make it work correctly, this access has to be added. It is sufficient to add a method to get the time of the latest update and a way to access Furthermore, the plugin makes use of ids to identify favorites and categories, but OsmAnd cannot store them. Is is possible to add this possibility? Currently, the plugin guesses based on the name,color etc., but storing it directly would make it simpler. |
(This request resembles #1613 but the export/import from that issue would not be sufficient)
This request: please make it possible to synchronize favorites among devices. This is not a request to implement the synchronization itself - I can understand that it is impossible for Osmand to support all possible solutions (external SD card, DropBox, OneDrive, Google Drive...). But the way Osmand handles favorites at the moment makes it very cumbersome to perform any form of synchronization, even with a third-party app. The request is to modify the Osmand behaviour to allow for easy synchronisation, and preferably allow automated synchronisation (e.g., via a third-party app).
Some background: I'm a huge fan of Osmand and I'm using it extensively on holidays. It's great to have an offline map/navigation app. I use the favourites a lot to mark the location of hotels, train stations and other points that I want to visit, have to change trains or buses etc. Especially in countries where you cannot read or understand the local language, having a map that tells you whether you are close to your target is very practical. So while traveling I tend to add, move, remove and rename favorites a lot.
I'm using Osmand on two or three devices (tablet, new phone for safe areas, old phone as backup and for less secure areas), more or less at the same time. The tablet is great for planning itineraries, the phones for navigation and ad-hoc route planning, and the tablet is also a backup in case the battery of the phone is empty. But then it should be easy to distribute changes to the favourites made on one device to the other two.
With the current Osmand version that is impossible, or at least it is a nightmare.
Exporting the favourites is possible. Go to the list of favourites and use the share option to export the file. It is possible to save the favourites.gpx to Dropbox, or to save the file to an external location (memory card/USB stick that is connected via USB). (It is not possible (on Android 5.x) to save the favourites to a file on the internal/external SD card, probably because of security issues).
The main problem is importing the favourites, because Osmand always prefers the data on favourites that is stored in its internal database. There are several ways to import the favourites.gpx:
The last one works, but it is quite cumbersome and there's plenty of room for error.
Personally, I would prefer a third-party app solution: create an app that synchronizes two versions of a favourites.gpx (allowing for changes in both versions), and updating the collection of favourites in Osmand. (I could make such an app, I've built similar software.) Such an app could automate the process, but... Osmand won't allow that. If only all favourites were writen to the favourites.gpx, then such an app could read the data without user intervention. If only Osmand would (have an option to) use the data from the external (favourites.gpx) file if it exists instead of from the internal data file, then modifications could be communicated automatically to Osmand. If only there was a way (e.g., via the Osmand api) to reinitialise the favourites from the external data, then such an app could do its work without the user having to force Osmand to stop.
The text was updated successfully, but these errors were encountered: