Checkpoint
[pwan.org.git] / content / hints / orgmode.rst
1 #############
2 How I orgmode
3 #############
4
5 :date: 2020-07-13
6 :tags: hint, orgmode, orgzly, owncloud
7 :category: hints
8 :author: Jude N
9
10 This post covers how I'm keeping my `orgmode`_ notebooks synced between my desktop and phone. There are also some tips on how I resolve merge conflicts in my notebooks and other hints for using Orgzly.
11
12 Setup
13 =====
14
15 .. uml::
16
17 node workstation {
18 folder "orgs" as workstation_orgs
19 }
20
21
22 node laptop {
23 folder "orgs" as laptop_orgs
24 }
25
26 cloud ownCloud {
27 folder "orgs" as owncloud_orgs
28 }
29
30 node phone {
31 node Orgzly {
32 folder notebooks
33 }
34 }
35
36 workstation_orgs - owncloud_orgs
37 owncloud_orgs - notebooks
38 owncloud_orgs -- laptop_orgs
39
40 (The `Pelican PlantUML plugin`_ is pretty nice.)
41
42 Owncloud Server
43 ---------------
44
45 Set up an `owncloud`_ server somewhere where both my desktop and phone can reach it.
46
47 Desktop: Owncloud client and git repo
48 -------------------------------------
49
50 On the desktop, install the owncloud client and configured ~/owncloud to be shared with the server. Also set up an ~/owncloud/org directory and add an ~/org symlink that points to ~/owncloud/org. This is mostly to make it easier to access the org files.
51
52 Update your emacs and/or vi configs to support orgmode. I'll update the org files in the editor that's more convenient at the time, though I'll use emacs if I need to update the deadline of a task.
53
54 I've also added .git to the owncloud and did a 'git init' in the ~/owncloud/org directory. This repo will be used in the 'Handling Conflicts' section below.
55
56 Create or move your notebook files into the ~/owncloud/org directory and make sure they have a '.org' extension. Verify that the org files are being synced to the owncloud server.
57
58 Make sure your owncloud client is set to start when your desktop reboots.
59
60 Phone: Owncloud client and Orgzly
61 ---------------------------------
62
63 Install the `owncloud client`_ on your phone. Configure it to sync with the owncloud server and verify it's syncing the notebook files from the server.
64
65 Also install and configure `Orgzly`_. For the syncing the repositories `use WebDAV` with the URL https://<your-owncloud-server>/remote.php/webdav/org. I originally tried using local storage, but I couldn't get that to work.
66
67 Then for each of the notebooks, `set the link` to https://<your-owncloud-server>/remote.php/webdav/org. Update one of your notebooks with Orgzly and verify the change is synced to your desktop.
68
69
70 Day-to-day Usage
71 ================
72
73 Throughout the day, I'm usually using Orgzly, checking the Agenda tab for overdue and upcoming tasks, and adding new tasks and notes.
74
75 I'm access the Notebooks on the desktop less frequently, mostly archiving completed tasks, and adding links and notes to research tasks. I also tend to move tasks between notebooks from the desktop.
76
77
78 Handling Recurring Events
79 -------------------------
80
81 I ignore the scheduled time setting in Orgzly, and only set the deadlines with warning times. Then I treat the notification that's generated from warning time passing as the time I should start on a task.
82
83 For repeating events, I use the '++' modifier for tasks. This way if I miss a few iterations of a task it will add the next iteration in the future.
84
85 I'm also try to set an appropriate warning period when setting tasks.
86
87 It took me a while to figure out I could tap on the date itself to bring up a calender instead of being limited to the 'today', 'tomorrow', and 'next week' options. <shrug>.
88
89 Handling Conflicts
90 ------------------
91 Sometimes when I'm updating the notebooks on both my desktop and phone, orgzly will say there's a conflict.
92
93 When this happens I go to my desktop and make a checkpoint commit of any outstanding changes on the ~/owncloud/org repo. Then I push the Notebook from Orgzly (the Cloud with the 'up' arrow.
94
95 Then on the desktop, I do a 'git diff' and adjust Notebook as needed.
96
97 Usually this includes adding some new notes or adjusting some deadlines.
98
99 .. _orgmode: https://orgmode.org/
100 .. _orgzly: http://www.orgzly.com/
101 .. _owncloud: https://owncloud.org/
102 .. _owncloud client: https://owncloud.com/apps/
103 .. _set the link: http://www.orgzly.com/help#4268ee7
104 .. _use WebDAV: http://www.orgzly.com/help#sync-repo-webdav
105 .. _Pelican PlantUML plugin: https://github.com/getpelican/pelican-plugins/tree/master/plantuml