Check-in [0dc70df2e7]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Added a couple of FAQ's about using Morg.
Timelines: family | ancestors | descendants | both | dev
Files: files | file ages | folders
SHA1: 0dc70df2e729ee9f7165692068b9a4f333001b26
User & Date: mvnathan 2014-09-20 23:26:08.290
Context
2014-09-20
23:27
Looks like we're ready to release version 0.2.0... check-in: 24981c6c57 user: mvnathan tags: dev
23:26
Added a couple of FAQ's about using Morg. check-in: 0dc70df2e7 user: mvnathan tags: dev
21:48
Since completions logic was being applied in several different places, refactored it into a separate function, which makes the call sites much more compact and readable. check-in: acba4497fc user: mvnathan tags: dev
Changes
Unified Diff Ignore Whitespace Patch
Changes to wiki/faq.wiki.
1
2
3
4
5
6
7
8
9
10



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<title>FAQ</title>

<h1>Frequently Asked Questions</h1>

[#general-questions|About Morg]
  #  [#what-is-morg|What is Morg?]
  #  [#why-yatlm|Why write yet another TODO list manager?]
  #  [#why-named-morg|Why is it called "Morg?"]

[#config-questions|Using Morg]




[#dev-questions|Design and Implementation]
  #  [#why-fossil|Why Fossil instead of git or mercurial?]

<hr>

<a name="general-questions"></a>
<h2>About Morg</h2>

<a name="what-is-morg"></a>
<h3>What is Morg?</h3>

Morg is a TODO list manager that:

  *  Allows you to create tasks to any level of nesting
  *  Allows you to associate tasks with any number of properties
  *  Define custom properties, tailoring your time management to your tastes
  *  Stores its data in an SQLite database
  *  Syncs your TODO list across devices without a third-party server
  *  Can encrypt your TODO list so it's only readable by you
  *  Has a command-line interface as well as a GUI

<hr>

<a name="why-yatlm"></a>
<h3>Why write yet another TODO list manager?</h3>

Because I couldn't find any others that quite fit the bill. Every one of
the others I tried were either too complicated, too limited, or too tied
in to a particular methodology. Furthermore, most seemed to need an
Internet connection in order to work and relied on a third-party server
for syncing. I tend to be leery of such an arrangement.







|



>
>
>












|

|
|


|
|




|
|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<title>FAQ</title>

<h1>Frequently Asked Questions</h1>

[#general-questions|About Morg]
  #  [#what-is-morg|What is Morg?]
  #  [#why-yalm|Why write yet another list manager?]
  #  [#why-named-morg|Why is it called "Morg?"]

[#config-questions|Using Morg]
  #  [#dependencies|What all do I need to be able to run Morg?]
  #  [#installation|How do I install Morg?]
  #  [#basic-usage-info|How do I use Morg?]

[#dev-questions|Design and Implementation]
  #  [#why-fossil|Why Fossil instead of git or mercurial?]

<hr>

<a name="general-questions"></a>
<h2>About Morg</h2>

<a name="what-is-morg"></a>
<h3>What is Morg?</h3>

Morg is a list manager that:

  *  Allows you to create arbitrary lists of items to any level of nesting
  *  Allows you to associate items with any number of properties
  *  Define custom properties, tailoring your time management to your tastes
  *  Stores its data in an SQLite database
  *  Syncs your lists across devices without a third-party server
  *  Can encrypt your lists so they're readable only by you
  *  Has a command-line interface as well as a GUI

<hr>

<a name="why-yalm"></a>
<h3>Why write yet another list manager?</h3>

Because I couldn't find any others that quite fit the bill. Every one of
the others I tried were either too complicated, too limited, or too tied
in to a particular methodology. Furthermore, most seemed to need an
Internet connection in order to work and relied on a third-party server
for syncing. I tend to be leery of such an arrangement.

60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75




































































76
77
78
79
80
81
82
"Mnorg" is pronounced the same as "mnemonic," i.e., a silent "M").

In the end, I just dropped the "n." Think of it as a contraction of
"morgue," which gives the program a fitting, albeit cheesy, tag line:

<center>
<em>
Morg: Helping you stay on top of all the things you need to get done
before you end up in the morgue...
</em>
</center>

<hr>

<a name="config-questions"></a>
<h2>Using Morg</h2>





































































<hr>

<a name="dev-questions"></a>
<h2>Design and Implementation</h2>

<a name="why-fossil"></a>







|
|







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
"Mnorg" is pronounced the same as "mnemonic," i.e., a silent "M").

In the end, I just dropped the "n." Think of it as a contraction of
"morgue," which gives the program a fitting, albeit cheesy, tag line:

<center>
<em>
Morg: Helping you stay on top of all the things you need to get and get
done before you end up in the morgue...
</em>
</center>

<hr>

<a name="config-questions"></a>
<h2>Using Morg</h2>

<a name="dependencies"></a>
<h3>What all do I need to be able to run Morg?</h3>

You will need the following packages installed on your system:

  *  Fossil
  *  Python 2.7
  *  SQLite 3
  *  APSW

<hr>

<a name="installation"></a>
<h3>How do I install Morg?</h3>

For now, there is no neat package that you can install. Instead, you have
to check-out the source code, which requires Fossil to be installed on
your system.

First, create directories for storing the Fossil repository and Morg
source code:

<verbatim>
    cd
    mkdir fossil morg
</verbatim>

Now, you can clone the Morg repository and check-out the sources:

<verbatim>
    fossil clone http://chiselapp.com/user/morgdude/repository/morg \
                 ~/fossil/morg.fossil
    cd ~/morg
    fossil open ~/fossil/morg.fossil
    fossil update rel
</verbatim>

At this point, you should have the Morg sources in <tt>~/morg</tt>. Under
that will be a subdirectory named <tt>py</tt>, which has the main
program, viz., <tt>morg.py</tt>.

That's it: Morg is now installed and you can use it by running
<tt>~/morg/py/morg.py</tt>.

<hr>

<a name="basic-usage-info"></a>
<h3>How do I use Morg?</h3>

At this time, Morg only sports a command-line interface. You can launch
it by running the <tt>morg.py</tt> program. Use the <tt>--help</tt>
option to get usage information. In particular, without any arguments,
Morg will drop you into interactive mode, prompting you to type in
commands until you exit the program.

You can use the <tt>help</tt> command to get a list of available
commands. Passing the name of one of the available commands to the
<tt>help</tt> command will print details about that command.

As these are early days, the only real command you can run is
<tt>new</tt>, which allows you to create new items and properties.

Eventually, Morg will have commands to search the database, edit items,
and to remove items and properties. Eventually, we will also build a
spiffy GUI for the application so you don't have to deal with the cryptic
command-line interface unless you want to run a quick query without
having to fire up the GUI.

<hr>

<a name="dev-questions"></a>
<h2>Design and Implementation</h2>

<a name="why-fossil"></a>