Locus Map - cloud/sync server

Started by Menion, September 08, 2020, 13:06:05

0 Members and 1 Guest are viewing this topic.

michaelbechtold

TXs Janaton, for your explanation. As I am in Comp.Science since 40 years, I exactly understand your message.
Yet, what I propose is a UUID based on a hash of the whole record (all point or track data, no device specifics inluded!). As we are not fighting off NSA here, it can be a "cheap" one.
Then all those special cases are gone, right ?
If the hash is identical across devices, your existing algorithm will automatically do the right thing - ignore. If not, sync.
And I still do not understand what is complex about careful handling of deletions (flagging, detailed sync history, user triggered cleanup).
TXs and cheers
Michael


  •  
    The following users thanked this post: janaton

janaton

@michaelbechtold, thanks a lot for your idea regarding generating UUID based on the object hash. This won't work in all cases (e.g. object modified on one device) but should be good enough solution for most cases :). We will definitely discuss it with @Menion during this week.

I can not tell you details about complexity on the client because I am implementing only server side. Keeping older versions in the cloud was my initial idea. I wanted to have periodical job cleaning old object versions but I was convinced by team not to do it. Several reasons (I probably do not remember all of them):

  • Main concern -  we could accidentally mess up versions and expose something obsolete
  • Additional complexity - clean up made asynchronously (implement task manager, cleanup logic located away from sync code)
  • Increased storage requirements that you need to handle history
  • We agreed that we don't want to offer versioning functionality to user thus keeping history would be more or less for support and emergency situations (something would go terribly wrong).
.

If you have some thoughts why we should reconsider current logic (not keeping history), please, share it with us. I am sure we will have some time to open this discussion within the team once more :).
  •  

michaelbechtold

TXs for your nightly response, Janaton.
Let me go through the points one by one:
1) Main concern -  we could accidentally mess up versions and expose something obsolete
Much more serious is a sloppy delete - from user side as well as on your side. A code that deletes ONLY if there is a specific flag set in a DB row if very straight forward and can be verified. A "free" delete as today is more risky in any regard. Risk x (# users ...)

2) Additional complexity - clean up made asynchronously (implement task manager, cleanup logic located away from sync code)
Yes, there is some more complexity. But one more daemon running on the server does not make a huge difference. And again, cleanup logic is very simple.

3) Increased storage requirements that you need to handle history
If you want to stay in control of this, then drop my idea to have users trigger the cleanup (and yes, users may forget forever ...), but rather establish a rule like "Restore up to one week from deletion". This limits the additional storage, and lets you stay in control. A restore (triggered by a user) is a simple removal of the deleted flag, followed by a sync.

4) We agreed that we don't want to offer versioning functionality to user thus keeping history would be more or less for support and emergency situations (something would go terribly wrong).
I do NOT propose any versioning, but only a limited safeguard against accidental deletions. Big difference!

Regards to the whole team.
Michael

  •  
    The following users thanked this post: Tapio

Tapio

#48
Someone else mentioned it, on an otherwise working sync I see an intermediate exclamation mark on Locus main hamburger menu.

Quote from: Frivold on September 14, 2020, 14:09:18
I have tested the new version now, and i like it very much! But one thing is missing, when I tap on a point in map, then I don't get the context-menu, that I am used to. (Fex guide too, detail etc).
Same what I saw? I missed the ... menu on embedded waypoints in tracks. No easy way to delete embedded WP.
Tapiola MFV4+ theme for OAM Maps:
Discuss - Releases - DL latest - Install latest
  •  

Frivold

I now understand that this thread is meant for cloud/sync, but i will tell that the "problem" suddenly works fine! Now i get a menu-line at bottom when I show points. I really like this version of Locus, and look forward to release. Do you have an idea when it is ready?

By the way, i see that many phrases in the app is in English, but the Norwegian translation is 100%. Is it something wrong, or haven't you put the strings into translation yet?
  •  

Frivold

#50
Quote from: Frivold on September 16, 2020, 10:08:09
I now understand that this thread is meant for cloud/sync, but i will tell that the "problem" suddenly works fine! Now i get a menu-line at bottom when I show points. I really like this version of Locus, and look forward to release. Do you have an idea when it is ready?

By the way, i see that many phrases in the app is in English, but the Norwegian translation is 100%. Is it something wrong, or haven't you put the strings into translation yet?

Aaah! Now i know why it s suddenly working! When I have screen in full modus, the menu at bottom dont appear, when showing a point. But i turned full screen off at a moment yesterday, and then the menu work. So it is a little bug there...

Edit: The menu is there actually also in full screen, but just some pixels height, so we cant see the buttons.
  •  

slarti76

Hi there
Already a little late to the party here ;), was on holiday. Didn't get to trying out the Beta yet, but being a big supporter of the sync feature for years (and personally responsible for several naggings of Menion, I remember), I like what I read.
Some posts on the previous page reminded my of one of my proposals for sync, which I'm repeating here, in the hope you either have it already in your list, or hopefully add it: Selective sync
The basic idea is that, for every device, you can choose which folders to sync (points and tracks). This would provide an easy way to solve two of the main problems brought forward:

  • Huge database: Only sync what you need on a daily basis, keep the rest on the server (and perhaps on one device for personal backup)
  • Deletion There could be a generic "Trash" folder where deleted items are moved and which is not synced by default. Then you could either choose to sync the folder to be able to restore or purge tems, or do it on the web.
I would be OK with doing it based on groups instead of folders, too - just leaves the question how to handle root folders (without group): Always sync or always local?

What do you think?
  •  

freischneider

I would be for it if you can only choose groups but also only a single folder. In general, I would treat folders and groups the same way.
For the future:
I would get rid of groups and replace them with a folder. In all systems I know there are folders and sub-folders. I understood why Locus introduced groups.
Poco F5, Android 13 / Xiaomi Redmi Note 10 Pro, Android 13
Locus Map 4 Gold (always latest version or Beta)
LM4 User-ID: 11cec7cb5  (Devices-ID poco F5)
  •  

Menion

@tapio
may you please explain in detail, which menu and where you miss? Thanks

@Frivold
Release date ... we all still believe till end of year. But web planner will be most probably feature, that took most of time and it's not clear if ...

Translations: it is possible. Not all texts are final so not yet uploaded for translation.

Full-screen mode ... I need some polishing, I'm aware of it  :-\

@slarti76
the idea to select the only a portion of the database for sync is already on my "think about it soon" list (last not yet solved main think about sync system). I understand this point, but I still do not see a simple solution, that will work correctly and won't be confusing. So I can't promise it will be in the first version, but I can promise, that I'll think about it soon!
- Official help (ideas, questions, problems): help.locusmap.eu
- Advanced topics, sharing of knowledges: you're here!
- LM 4 Beta download, LM 4 Release download
  •  

jonny.blue

Just started with sync on my two devices ... and that's really a great improvement. 😎

The only thing I detected with first tries ...:
when I create points (geocaches) on one device .... synchronization works  👍but the new points are unvisible on the second device.🙄
I manually have to find them and switch visibility state.
  •  

jonny.blue

#55
Today in field LM tried to sync despite my settings only allows that with active wifi connection ...
  •  

Menion

Hi guys,
in new 3.48.2.3 Beta version, quite a lot of changes in UI and also in background was done. So who is interested, please give it a try.

Current known limitations
- missing sync for attachments
- missing notification on other devices that there is something new (needs to do it manually)
- Official help (ideas, questions, problems): help.locusmap.eu
- Advanced topics, sharing of knowledges: you're here!
- LM 4 Beta download, LM 4 Release download
  •  

jonny.blue

Can't see any download file (google drive link in first post) 🤔
  •  

jonny.blue

Downloaded new version ... but the visibility problem is still there 🙄

Just to describe what I do and why it's important for me:

on tablet I prepare my geocaches in different folders. Some caches I hide (deactivate visibility) to see only those caches I want to solve when I'm outdoor with my mobile.
At the moment sync works good for folders and points ... but all caches on my later synced mobile are invisible.

Anyone any idea?
Is there anything I do wrong or is it just a bug (or maybe a feature 😁)
  •  

Menion

Hi Jonny,
sorry, but this is intended behavior.
Sync system currently sync data, but not it's visibility state.
Because we will keep data up-to-date across all devices and also the web portal, we decided not to transfer visibility state to allow a unique set of visible items on every unique device.
- Official help (ideas, questions, problems): help.locusmap.eu
- Advanced topics, sharing of knowledges: you're here!
- LM 4 Beta download, LM 4 Release download
  •