org-manual: Rewrite Org Mobile section

* doc/org-manual.org (Org Mobile): Rewritten from "MobileOrg" section.
  Remove all references to non-free software.
This commit is contained in:
Nicolas Goaziou 2018-09-29 16:20:29 +02:00
parent 591c63dd57
commit b929e5d774
1 changed files with 77 additions and 73 deletions

View File

@ -19279,35 +19279,28 @@ can operate on the reports with the following keys:
| {{{kbd(i)}}} | Also remove them from all subsequent checks | | {{{kbd(i)}}} | Also remove them from all subsequent checks |
| {{{kbd(S)}}} | Sort reports by the column at point | | {{{kbd(S)}}} | Sort reports by the column at point |
* MobileOrg * Org Mobile
:PROPERTIES: :PROPERTIES:
:DESCRIPTION: Viewing and capture on a mobile device. :DESCRIPTION: Viewing and capture on a mobile device.
:APPENDIX: t :APPENDIX: t
:END: :END:
#+cindex: iPhone
#+cindex: smartphone #+cindex: smartphone
#+cindex: android
#+cindex: MobileOrg
MobileOrg is a companion mobile app that runs on iOS and Android Org Mobile is a protocol for synchronizing Org files between Emacs and
devices. MobileOrg enables offline-views and capture support for an other applications, e.g., on mobile devices. It enables offline-views
Org mode system that is rooted on a "real" computer. MobileOrg can and capture support for an Org mode system that is rooted on a "real"
record changes to existing entries. computer. The external application can also record changes to
existing entries.
The [[https://github.com/MobileOrg/][iOS implementation]] for the /iPhone/iPod Touch/iPad/ series of
devices, was started by Richard Moreland and is now in the hands of
Sean Escriva. Android users should check out [[http://wiki.github.com/matburt/mobileorg-android/][MobileOrg Android]] by
Matt Jones. Though the two implementations are not identical, they
offer similar features.
This appendix describes Org's support for agenda view formats This appendix describes Org's support for agenda view formats
compatible with MobileOrg. It also describes synchronizing changes, compatible with Org Mobile. It also describes synchronizing changes,
such as to notes, between MobileOrg and the computer. such as to notes, between the mobile application and the computer.
To change tags and TODO states in MobileOrg, first customize the To change tags and TODO states in the mobile application, first
variables ~org-todo-keywords~ and ~org-tag-alist~. These should cover customize the variables ~org-todo-keywords~ and ~org-tag-alist~.
all the important tags and TODO keywords, even if Org files use only These should cover all the important tags and TODO keywords, even if
some of them. Though MobileOrg has in-buffer settings, it understands Org files use only some of them. Though the mobile application is
expected to support in-buffer settings, it is required to understand
TODO states /sets/ (see [[*Setting up keywords for individual files]]) and TODO states /sets/ (see [[*Setting up keywords for individual files]]) and
/mutually exclusive/ tags (see [[*Setting Tags]]) only for those set in /mutually exclusive/ tags (see [[*Setting Tags]]) only for those set in
these variables. these variables.
@ -19317,80 +19310,92 @@ these variables.
:DESCRIPTION: For the mobile device. :DESCRIPTION: For the mobile device.
:END: :END:
MobileOrg needs access to a file directory on a server to interact #+vindex: org-mobile-directory
with Emacs. With a public server, consider encrypting the files. The mobile application needs access to a file directory on
MobileOrg version 1.5 supports encryption for the iPhone. Org also a server[fn:147] to interact with Emacs. Pass its location through
requires =openssl= installed on the local computer. To turn on the ~org-mobile-directory~ variable. If you can mount that directory
encryption, set the same password in MobileOrg and in Emacs. Set the locally just set the variable to point to that directory:
password in the variable ~org-mobile-use-encryption~[fn:147]. Note
that even after MobileOrg encrypts the file contents, the file name
remains visible on the file systems of the local computer, the server,
and the mobile device.
For a server to host files, consider options like [[http://dropbox.com][Dropbox.com]]
account[fn:148]. On first connection, MobileOrg creates a directory
=MobileOrg= on Dropbox. Pass its location to Emacs through an
initialisation file variable as follows:
#+begin_src emacs-lisp #+begin_src emacs-lisp
(setq org-mobile-directory "~/Dropbox/MobileOrg") (setq org-mobile-directory "~/orgmobile/")
#+end_src #+end_src
Org copies files to the above directory for MobileOrg. Org also uses #+texinfo: @noindent
the same directory for sharing notes between Org and MobileOrg. Alternatively, by using TRAMP (see [[info:tramp][TRAMP User Manual]]),
~org-mobile-directory~ may point to a remote directory accessible
through, for example, SSH and SCP:
** Pushing to MobileOrg #+begin_src emacs-lisp
(setq org-mobile-directory "/scpc:user@remote.host:org/webdav/")
#+end_src
#+vindex: org-mobile-encryption
With a public server, consider encrypting the files. Org also
requires OpenSSL installed on the local computer. To turn on
encryption, set the same password in the mobile application and in
Emacs. Set the password in the variable
~org-mobile-use-encryption~[fn:148]. Note that even after the mobile
application encrypts the file contents, the file name remains visible
on the file systems of the local computer, the server, and the mobile
device.
** Pushing to the mobile application
:PROPERTIES: :PROPERTIES:
:DESCRIPTION: Uploading Org files and agendas. :DESCRIPTION: Uploading Org files and agendas.
:END: :END:
#+findex: org-mobile-push
#+vindex: org-mobile-files #+vindex: org-mobile-files
#+vindex: org-directory The command ~org-mobile-push~ copies files listed in
Org pushes files listed in ~org-mobile-files~ to ~org-mobile-files~ into the staging area. Files include agenda files
~org-mobile-directory~. Files include agenda files (as listed in (as listed in ~org-agenda-files~). Customize ~org-mobile-files~ to
~org-agenda-files~). Customize ~org-mobile-files~ to add other files. add other files. File names are staged with paths relative to
File names are staged with paths relative to ~org-directory~, so all ~org-directory~, so all files should be inside this directory[fn:149].
files should be inside this directory[fn:149].
Push creates a special Org file =agendas.org= with custom agenda views Push creates a special Org file =agendas.org= with custom agenda views
defined by the user[fn:150]. defined by the user[fn:150].
Finally, Org writes the file =index.org=, containing links to other Finally, Org writes the file =index.org=, containing links to other
files. MobileOrg reads this file first from the server to determine files. The mobile application reads this file first from the server
what other files to download for agendas. For faster downloads, to determine what other files to download for agendas. For faster
MobileOrg only reads files whose checksums[fn:151] have changed. downloads, it is expected to only read files whose checksums[fn:151]
have changed.
** Pulling from MobileOrg ** Pulling from the mobile application
:PROPERTIES: :PROPERTIES:
:DESCRIPTION: Integrating captured and flagged items. :DESCRIPTION: Integrating captured and flagged items.
:END: :END:
When MobileOrg synchronizes with the server, it pulls the Org files #+findex: org-mobile-pull
for viewing. It then appends to the file =mobileorg.org= on the The command ~org-mobile-pull~ synchronizes changes with the server.
server the captured entries, pointers to flagged and changed entries. More specifically, it first pulls the Org files for viewing. It then
Org integrates its data in an inbox file format. appends captured entries and pointers to flagged or changed entries to
the file =mobileorg.org= on the server. Org ultimately integrates its
data in an inbox file format, through the following steps:
1. 1.
#+vindex: org-mobile-inbox-for-pull #+vindex: org-mobile-inbox-for-pull
Org moves all entries found in =mobileorg.org=[fn:152] and appends Org moves all entries found in =mobileorg.org=[fn:152] and appends
them to the file pointed to by the variable them to the file pointed to by the variable
~org-mobile-inbox-for-pull~. Each captured entry and each editing ~org-mobile-inbox-for-pull~. It should reside neither in the
event is a top-level entry in the inbox file. staging area nor on the server. Each captured entry and each
editing event is a top-level entry in the inbox file.
2. After moving the entries, Org attempts changes to MobileOrg. Some 2.
changes are applied directly and without user interaction. #+cindex: @samp{FLAGGED}, tag
Examples include changes to tags, TODO state, headline and body After moving the entries, Org processes changes to the shared
text. Entries for further action are tagged as =FLAGGED=. Org files. Some of them are applied directly and without user
marks entries with problems with an error message in the inbox. interaction. Examples include changes to tags, TODO state,
They have to be resolved manually. headline and body text. Entries requiring further action are
tagged as =FLAGGED=. Org marks entries with problems with an error
message in the inbox. They have to be resolved manually.
3. Org generates an agenda view for flagged entries for user 3. Org generates an agenda view for flagged entries for user
intervention to clean up. For notes stored in flagged entries, intervention to clean up. For notes stored in flagged entries, Org
MobileOrg displays them in the echo area when point is on the displays them in the echo area when point is on the corresponding
corresponding agenda item. agenda item.
- {{{kbd(?)}}} :: - {{{kbd(?)}}} ::
#+kindex: ?
Pressing {{{kbd(?)}}} displays the entire flagged note in Pressing {{{kbd(?)}}} displays the entire flagged note in
another window. Org also pushes it to the kill ring. To another window. Org also pushes it to the kill ring. To
@ -19403,9 +19408,9 @@ Org integrates its data in an inbox file format.
#+kindex: ? @r{(Agenda dispatcher)} #+kindex: ? @r{(Agenda dispatcher)}
From the agenda dispatcher, {{{kbd(?)}}} returns to the view to finish From the agenda dispatcher, {{{kbd(?)}}} returns to the view to finish
processing flagged entries. Note that these entries may not be the processing flagged entries. Note that these entries may not be the
most recent since MobileOrg searches files that were last pulled. To most recent since the mobile application searches files that were last
get an updated agenda view with changes since the last pull, pull pulled. To get an updated agenda view with changes since the last
again. pull, pull again.
* Hacking * Hacking
:PROPERTIES: :PROPERTIES:
@ -21418,13 +21423,12 @@ through ~word-wrap~.
[fn:146] Because =LEVEL=2= has 3 stars, =LEVEL=3= has 4 stars, and so [fn:146] Because =LEVEL=2= has 3 stars, =LEVEL=3= has 4 stars, and so
on. on.
[fn:147] If Emacs is configured for safe storing of passwords, then [fn:147] For a server to host files, consider using a WebDAV server,
configure the variable, ~org-mobile-encryption-password~; please read such as [[https://nextcloud.com][Nextcloud]]. Additional help is at this [[https://orgmode.org/worg/org-faq.html#mobileorg_webdav][FAQ entry]].
the docstring of that variable.
[fn:148] An alternative is to use a WebDAV server. MobileOrg [fn:148] If Emacs is configured for safe storing of passwords, then
documentation has details of WebDAV server configuration. Additional configure the variable ~org-mobile-encryption-password~; please read
help is at this [[https://orgmode.org/worg/org-faq.html#mobileorg_webdav][FAQ entry]]. the docstring of that variable.
[fn:149] Symbolic links in ~org-directory~ need to have the same name [fn:149] Symbolic links in ~org-directory~ need to have the same name
as their targets. as their targets.