Just read through this properly and it sounds like a step into the future 
(or present). 

The part about cloudifying/centralizing @settings would be friggin 
fantastic. sFTP might be nice to have for people behind restrictive 
firewalls.

Great job, thank you for your contributions.

On Sunday, September 24, 2017 at 4:41:02 PM UTC-4, Terry Brown wrote:
>
> The new leo_cloud plugin allows subtrees within a .leo file to be 
> stored in the cloud.  It should be possible to support various cloud 
> platforms, currently git is supported (i.e. you can use GitLab or 
> GitHub or your own remote git server). 
>
> A leo_cloud subtree has a top node with a headline that starts with 
> '@leo_cloud'.  The rest of the headline is ignored.  The body of this 
> top node is used to describe the cloud service, e.g.: 
>
> type: Git 
> remote: g...@gitlab.com:tnbrown/leo_cloud_storage.git 
> local: ~/.leo/leo_cloud/gitlab_leo_cloud_storage 
> ID: shortcuts 
> read_on_load: ask 
> write_on_save: ask 
>
> The first three lines can be repeated with different IDs to store 
> different subtrees at the same remote cloud location. 
>
> read_on_load: / write_on_save: can be yes, no, or ask.  If it's not one 
> of those three, there's a warning dialog. 
>
> There's also a file system backend, which would look like this: 
>
> type: FileSystem 
> root: ~/DropBox/leo_cloud 
> ID: my_notes 
> read_on_load: ask 
> write_on_save: ask 
>
> The FileSystem backend was meant to be for development, but of course 
> if you map it into a folder that is sync'ed externally, as shown above, 
> it can serve as a cloud adapter too. 
>
> In addition to the Git and FileSystem cloud types it should be possible 
> to add many others - Google Drive, OneDrive, DropBox, AWS, WebDAV, 
> sFTP, whatever. 
>
> Note: https://gitlab.com/ gives you free private repos., in case you 
> didn't know. 
>
> The data stored is basically headline, body, and uA (unknown 
> attributes).  The caveat is that it must be JSON serializable, this is 
> to avoid pickle flavor issues.  I don't think this will cause problems 
> except for legacy datetime objects from the todo.py plugin and set()s 
> in the tags plugin.  I think both can be fixed easily - a custom JSON 
> writer can write datetime as iso string time and sets as lists, and the 
> tags plugin can coerce lists to sets.  I think the todo.py plugin 
> already reads iso string time values. 
>
> My intended use was a common synchronized todo list across machines, 
> which this achieves.  (note to self, make sure todo icons are refreshed 
> properly). 
>
> An unintended bonus is that you can use it to sync. your settings 
> across machines easily too.  Because Leo is brilliant ;-), this: 
>
> @settings 
>   @keys 
>     @leo_cloud 
>       @shortcuts 
>
> "just works", so now your shortcuts etc. can be stored on a central 
> server. 
>
> Lightly tested, but seems to work - testing and other feedback 
> appreciated. 
>
> Cheers -Terry 
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to leo-editor+unsubscr...@googlegroups.com.
To post to this group, send email to leo-editor@googlegroups.com.
Visit this group at https://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.

Reply via email to