Welcome To Taskwarrior 2.3.0 Beta
---------------------------------

The beta release of Taskwarrior 2.3.0 is for testing the Task Server.  There are
several unaddressed bugs in this release, so proper precautions with your data
are required.


Building Taskwarrior
--------------------

You will need the following dependencies:

  cmake
  make
  g++/clang or equivalent
  libuuid
  libgnutls (devel copy, with certtools)
  libreadline


Configuring Taskwarrior as a Task Server Client
-----------------------------------------------

When a new user is added to the Task Server, a UUID key is generated, along with
an x.509 cert.  See Task Server operation document.  Before proceeding, you will
need the following items:

  <server:port>   Where Task Server is running (Default: localhost:6544)
  <org>           Name of organization (default: Public)
  <user>          User name added to server
  <password>      UUID generated by server
  <cert>          Full path to client.cert.pem generated by server
  <key>           Full path to client.key.pem generated by server

Set these configuration variables in your Taskwarrior configuration,
substituting from above:

  $ task config taskd.server <server:port>
  $ task config taskd.credentials <org>/<user>/<password>
  $ task config taskd.certificate <cert>
  $ task config taskd.key <key>

Here is an example:

  $ task config taskd.server localhost:6544
  $ task config taskd.credentials 'Public/John Doe/8ad2e3db-914d-4832-b0e6-72fa04f6e331'
  $ task config taskd.certificate ~/.task/client.cert.pem
  $ task config taskd.key ~/.task/client.key.pem


Using Self-Signed Certificates
------------------------------

If you are using self-signed certificates, you will either need a Certificate
Authority cert (CA), reference by hte configuration like this:

  $ task config taskd.ca ~/.task/ca.cert.pem

Alternatively you can bypass the certificate validation, but this is not
recommended:

  $ task config taskd.trust yes


First-Time Synchronizing
------------------------

The first sync you do should be a full sync.  Run this:

  $ task sync initialize

This performs a full upload of your pending.data file to the server, creating
the basis on which all subsequent sync commands are run, and transferring only
deltas.

Do not run 'task sync initialize' again.


General Synchronizing
---------------------

After the first-time sync, all subsequent sync commands should be like this:

  $ task sync

It is safe to run this command as often as you wish, whether or not there are
any changes to sync.

You may wish to enable sync feedback with the 'sync' verbose token.  See 'man
taskrc' for details.

---
