Stickies
« Synchronize to cloud service (Goggle,Dropbox, etc) »

Welcome Guest. Please Login or Register.
Jan 20th, 2018, 8:32pm


Click for the

Zhorn Software Web Site

Search Knowledge Base:

Search:
  All terms Any terms  

« Previous Topic | Next Topic »
Pages: 1  Notify Send Topic Print
 thread  Author  Topic: Synchronize to cloud service (Goggle,Dropbox, etc)  (Read 319 times)
houston
New Member
Image


member is offline

Avatar




PM


Posts: 4
question Synchronize to cloud service (Goggle,Dropbox, etc)
« Thread started on: Dec 15th, 2017, 06:42am »

Hello,

I am a long time user of stickies on my notebook, since I usually work on that device.
Now I thought about installing it to my desktop too, but I would like to have the possibility to synchronize both machines without using a Usb stick, restarting the app, etc. (Read a few threads about syncing on this forum)

I already thought about putting the files in the Google-Drive folder, that get synced automatically.
But this would be the "restart app" method.
Since I am not that into coding and stuff, I would think, it is the easiest way to create a remote DB file.
I already looked in the data folder off stickies and saw the stickes are stored within a db file.
The stickies.ini only stores which stickie is shown or deleted (if I understand it right)
- I don't know if this interfere with my idea...

In my scenario this file would remain in its place and is the local database.
But every now and then stickies would check the remote file, that can be saved within a synchronized folder for Dropbox, Google, Mega, etc pp., for any new stickies.
The stickies should have a hashed key (generated from content) to determine their "first state" after creating and saving the first time to the remote-db.
Also their should be a possibility for stickies to check the date and time of the last change, maybe even a counter that states the "version" of this one note.
And of course the content, formatting, sender/last editor.
Also every stickie should be manually marked as a synchronized stickie by pressing a sync-button.

Scenario:
PC A:
- Note is created and filled with content by PC A.
- Stickes checks after x minutes (or on clicking a "sync this note" button, etc) if the hashkey is present in the remote-db.
----> Not present: Saving the Note to the remote-db.
----- Sync-mode is running: Stickies is checking for any other not synced hash-keys.
------->Not present: Loading the note into local-db.
------->Present: Compare Version of local copy to determine if sync is needed. (Last Change, Counter, etc)
----- Sync-mode ends if local-DB is up to date
- Stickies has synced the new note to remote DB and received maybe new ones (new ones could have a temporary color to mark them new, maybe showing the last editor)

PC B:
- Stickies on PC B is not used right now.
- After x min stickies is checking remote-DB, searching for present hashkeys and new ones.
---> Present: Check version
---> Not Present: Load new note to local-DB
- Sync is ended if all entries are checked.

All the syncing of the remote-DB would be done by a client-app per user wishes. Could even be a nextcloud client, a network-drive, etc.
Only database-work is needed and no other software apis are called.
DB can be encoded by a defined password within settings.
This method would be future proof, since it does not relay on a particular software version of a third party.
And it should be easy to make, if one know how to work with databases and since stickies is already using databases, it should be possible.

Other things that could be saved:
- versions history that can be called with the local client to make sure it is the latest version.
- deleting notes is not incl. in scenario, but remote-db could contain hashkeys in a "deleted" group to move local notes to recycle bin (not deleting completely, breaking sync until commanded otherwise). The remote-db would not contain any more content to any deleted stickie, only the hashkey, the stickie will remain local until deleted completely.
- Logging should be done incl. user notifications for new/changed/deleted stickies.
- Images by embedding the "image-code" inside the stickie. (con: significant size increase)

Settings could contain:
--- Hands-free-mode: All syncing is done automatically. (Deleting, changing, creating)
--- Confirmations-mode: Before deleting, creating and changing local notes, the user will be asked (Notification system?)(Settings individually for creating, deleting and changing)
--- Changing: Confirm changes within a popup containing old/new content, author, date
--- Sync-All-Notes: Sync all notes automatically, without pressing the sync-button.
--- Snyc-Intervall: Every xx min check for DB-changes (file-date), manually
--- DB-File or Remote-DB: Since this method is using a db structure, it should not be a problem to provide a possibility to connect to a existing database on a private server.

If the file remain small, there is even the possibility to sync to a mobile device over mobile data connection.

The only contra I can think of this way...
For every sync the whole remote-db file is synced between all clients.
But, if using google drive, the sync-client is only syncing on filechange.
Using a private db would help here, since then it could only sync the necessary entrys.


I hope this (or any other syncing method) will be implemented in near future :)
Thanks for your time
br
houston


PS: any thoughts about this?
« Last Edit: Dec 15th, 2017, 06:43am by houston » User IP Logged

SPOOK
Full Member
ImageImageImage


member is offline

Avatar




PM


Posts: 135
question Re: Synchronize to cloud service (Goggle,Dropbox,
« Reply #1 on: Dec 16th, 2017, 06:39am »

Untill then - Synchronize to cloud service (Goggle,Dropbox, etc):

x:\...\transfer.ini

----------------------------
Options/General/Use transfer fie / 'x:\...\transfer.ini'

Send to file
Copy to file

Import from file
----------------------------
END
« Last Edit: Dec 16th, 2017, 06:58am by SPOOK » User IP Logged

houston
New Member
Image


member is offline

Avatar




PM


Posts: 4
question Re: Synchronize to cloud service (Goggle,Dropbox,
« Reply #2 on: Dec 16th, 2017, 08:52am »

Oh, already heard about this transfer file, but thought it would be the whole data dictionary that would be synced.
I will definitely try this asap!
Thanks for mentioning
User IP Logged

SPOOK
Full Member
ImageImageImage


member is offline

Avatar




PM


Posts: 135
question Re: Synchronize to cloud service (Goggle,Dropbox,
« Reply #3 on: Dec 16th, 2017, 09:05am »

Ya, its just the Stickies you chose to Send/Copy.

You my need to grab the Directory to get the 'transfer.ini' and the Stickies you have Sent or Copied.

My Pleasure.

RLD
« Last Edit: Dec 16th, 2017, 09:11am by SPOOK » User IP Logged

SPOOK
Full Member
ImageImageImage


member is offline

Avatar




PM


Posts: 135
question Re: Synchronize to cloud service (Goggle,Dropbox,
« Reply #4 on: Dec 17th, 2017, 05:30am »

'You my need to grab the Directory', More specifically:

x:\...\Data Transfer\transfer.ini
« Last Edit: Dec 17th, 2017, 05:31am by SPOOK » User IP Logged

houston
New Member
Image


member is offline

Avatar




PM


Posts: 4
question Re: Synchronize to cloud service (Goggle,Dropbox,
« Reply #5 on: Dec 17th, 2017, 07:31am »

Just tried it.
Have to say, it is not what I meant to du with my syncing method.
The transfer.ini will contain the sticky completely, the sticky will not be available on PC A anymore, after transferring.
Sure, it can be read again, but there is no real sync but just a one direction transfer.

Would the transfer.ini remain in the destination folder and the sticky won't disappear on PC A after transferring, it would be more like what I need.
Just found the "copy to file" button.
Still this means I have to be aware of editing it only on one machine at a time.

Another thing is, because of the nature of the transfer.ini, it won't be unattended.

But right now it is better than noting.
If I don't forget it, I can move the file on GDrive and if I need it, I can load it from there...
Best possible solution right now.
User IP Logged

SPOOK
Full Member
ImageImageImage


member is offline

Avatar




PM


Posts: 135
question Re: Synchronize to cloud service (Goggle,Dropbox,
« Reply #6 on: Dec 17th, 2017, 10:15pm »

Addressesing some parts of your reply #5.

Note: The 'Transfer file' (transfer.ini) is in my Folder called 'Data Transfer' and I will be using this nomenclature as the Example.

The thing that needs to be 'Synchronize to cloud service (Goggle,Dropbox, etc)' is the 'Data Transfer' Folder.

If you just recently discovered the "Copy to file" button it seems reasonable that you may have some more things to discover about the 'Data Transfer' Folder, and the content and structure thereof, and some Technics utilizing the "Copy to file" button.

I.e. If you have 'Copy to file' a Stickie and then add or change the content of the original, just go ahead and 'Copy to file' the changed original again. You will now have two in the 'Data Transfer' Folder, one old and one new. When you 'Import from file' you will get both, then just compare the 'Modified Date' on each and 'Close' the old one and keep the new one. (Or add '2' or '3' or whatever in the title for the newer ones before you 'Copy to file'.)

(Note: Changing the 'Title' does not change the 'Modified Date'.)

Another part of the discovery process might involve when you 'Import from file' many Stickies. When many Stickies have been 'Import from file' some or many will be stacked on top of each other because they return to the position they were at when 'Copy to file'. I just grab each one and Snap them each together lining them up vertically for display, then 'Close' old dups and move or insert whats left into the 'Stacks' I desire them to be in or whatever.

EXAMPLE of my Directories: (I now run 24 v9 Stickies.exe)

Stickies 0 Data Transfer (My Main Stream 'Transfer file' Folder)
Stickies 1 RLD
Stickies 1 RLD FAMILY
Stickies 2 COMPUTERS
Stickies 2 COMPUTERS APPS
(Continued)

(Note that I have only one 'Data Transfer' Folder for all 24 v9 Stickies.exe that I run.)

Now, if I 'Send to file' or 'Copy to file' 4 Stickies - there will be at least 5 files in my 'Data Transfer' Folder.

I.e.

1215725C1FE81AE8.rtf
1215725C1FE81AEA.rtf
1215725C1FE81AEC.rtf
1215725C1FE81AEE.rtf
transfer.ini

or a combination of .rtf and .png - totaling 5 files. (one 'transfer.ini')
----------------------------------------
As for the remaining parts of your reply #5 I am not smart enough to figure out what you mean.
========================================
END
« Last Edit: Dec 24th, 2017, 06:12am by SPOOK » User IP Logged

Tom Revell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM

Gender: Male
Posts: 3588
question Re: Synchronize to cloud service (Goggle,Dropbox,
« Reply #7 on: Jan 2nd, 2018, 1:37pm »

I've given sync code a fair bit of thought over the years, and even started to write it a few times. Never finished it, though.

I think that in order to sync two sides, for each note you need a unique ID, the "last modified" date, and finally you need to know the date of the last successful sync. With that info, you could perform a hands-free sync, with the one proviso of when a note has been modified on both sides. At that point though, the sync code should probably create two instances, rather than overwrite anything.

Part of what's stopped by coding is stored notes. I know that were I to release anything, it would need to be the full solution - I've learned in the past that putting out half-baked ideas isn't a good idea. See check boxes in the app :/

This means I'd need to also include sync for stored notes, as well as desktop/sleeping/recurring/attached/stacked/closed notes. That makes the task more complex again.

Finally, although the "dropbox/onedrive" method would work OK for some people, these days sync is really an online thing - Stickies /should/ be syncing with an online service. Something which listens to HTTPS requests, and uses a REST API or the like. However, that's a business I actively want to avoid - as soon as I wrote something like that, I'd move into the online security world, as my server would hold other people's data. That adds complexity, security, backup, reliability, and therefore subscription. I'm happy to keep it low key, and that's not what I'm looking to get into...

Tom
User IP Logged

SPOOK
Full Member
ImageImageImage


member is offline

Avatar




PM


Posts: 135
question Re: Synchronize to cloud service (Goggle,Dropbox,
« Reply #8 on: Jan 10th, 2018, 5:33pm »

----------------------------------------------------------

Tried it - It Works Flipping Perfect!

----------------------------------------------------------

Logged into: GOOGLE DRIVE: Backup and Sync from Google

SEE: https://www.youtube.com/watch?v=_hi7fuAOExA (Do what it says)

C:\Users\RLD\Google Drive (I am RLD)

PROPERTIES/SHARE
Network Path:
\\RLD-VISTA-DV7\Googe Drive (RLD-VISTA-DV7 = My Computer name)

Advanced Sharing
Share this folder (Checked)
Settings
Share name: Google Drive
Limit the number of simultaneous users to: 1 (Just for you 'Houston', At home or at work. not both at same time)

COMPUTER
Map Network Drive
PRESENTS AS: 'Google Drive (\\RLD-VISTA-DV7\Users\RLD) (Y:)' Y = MY SET DRIVE LETTER

(Copy the UNC path to Transfer Folder and add '\transfer.ini')

STICKIES/OPTIONS/GENERAL/USE TRANSFER FILE
'\\RLD-VISTA-DV7\Users\RLD\Google Drive\Stickies 0 GD Data Transfer\transfer.ini'
(Stickies 0 GD Data Transfer = MY 'GOOGLE DRIVE' FOLDER NOTATION)
====================================
END

NOTE: No HTTPS requests!

« Last Edit: Jan 10th, 2018, 6:57pm by SPOOK » User IP Logged

houston
New Member
Image


member is offline

Avatar




PM


Posts: 4
question Re: Synchronize to cloud service (Goggle,Dropbox,
« Reply #9 on: Jan 12th, 2018, 03:09am »

I don't completely understand what you are saying, but I will try to follow your tutorial in 2-3 weeks... Right now I am in preparations for my exams.
Especially the "one user/time" is promising.
Thanks for trying nevertheless.
User IP Logged

Pages: 1  Notify Send Topic Print
« Previous Topic | Next Topic »

Donate $6.99 for 50,000 Ad-Free Pageviews!

| |

This forum powered for FREE by Conforums ©
Sign up for your own Free Message Board today!
Terms of Service | Privacy Policy | Conforums Support | Parental Controls