-
Notifications
You must be signed in to change notification settings - Fork 22
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Overhaul documentation after TW merge
- Loading branch information
Showing
11 changed files
with
117 additions
and
107 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,15 @@ | ||
# Summary | ||
|
||
- [Installation](./installation.md) | ||
* [Running the Sync Server](./running-sync-server.md) | ||
- [Introduction](./introduction.md) | ||
- [Usage](./usage.md) | ||
- [Task Model](./tasks.md) | ||
- [Synchronization and the Sync Server](./sync.md) | ||
* [Synchronization Model](./sync-model.md) | ||
* [Snapshots](./snapshots.md) | ||
* [Server-Replica Protocol](./sync-protocol.md) | ||
* [Encryption](./encryption.md) | ||
* [HTTP Implementation](./http.md) | ||
* [Object-Store Implementation](./object-store.md) | ||
- [Internal Details](./internals.md) | ||
* [Data Model](./data-model.md) | ||
* [Replica Storage](./storage.md) | ||
* [Task Database](./taskdb.md) | ||
* [Tasks](./tasks.md) | ||
* [Synchronization and the Sync Server](./sync.md) | ||
* [Synchronization Model](./sync-model.md) | ||
* [Snapshots](./snapshots.md) | ||
* [Server-Replica Protocol](./sync-protocol.md) | ||
* [Encryption](./encryption.md) | ||
* [HTTP Implementation](./http.md) | ||
* [Object-Store Implementation](./object-store.md) | ||
* [Planned Functionality](./plans.md) | ||
* [Replica Storage](./storage.md) | ||
* [Task Database](./taskdb.md) |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# TaskChampion | ||
|
||
TaskChampion implements the task storage and synchronization behind Taskwarrior. | ||
It includes an implementation with Rust and C APIs, allowing any application to maintain and manipulate its own replica. | ||
It also includes a specification for tasks and how they are synchronized, inviting alternative implementations of replicas or task servers. | ||
|
||
## Relationship with Taskwarrior | ||
|
||
TaskChampion was originally developed as a project "inspired by" Taskwarrior, and later incorporated into Taskwarrior in its 3.0 release. | ||
Taskwarrior embeds TaskChampion, but does not have any kind of privileged access to its implementation details. | ||
Any other application can also embed TaskChampion and implement similar functionality, and even interoperate with Taskwarrior either in the same replica or via sync. |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
# Usage | ||
|
||
## Conceptual Overview | ||
|
||
The following provide a brief overview of the core concepts in TaskChampion. | ||
Subsequent chapters, and API documentation, provide more detail. | ||
|
||
### Replica | ||
|
||
A TaskChampion replica is a local copy of a user’s task data. | ||
As the name suggests, several replicas of the same data can exist (such as on a user’s laptop and on their phone) and can synchronize with one another. | ||
|
||
A replica contains a collection of tasks, indexed by UUID. | ||
It also stores a working set, and ancillary information to support synchronization. | ||
|
||
### Task | ||
|
||
A task is the unit of work that TaskChampion tracks. | ||
A task is represented as a map of strings to strings. | ||
The meaning of those strings are given in the [task model](./tasks.md). | ||
|
||
### Working Set | ||
|
||
A working set contains, roughly, the tasks that are currently pending. | ||
It assigns a short, integer identifier to each such task, which is easier for users to remember and type. | ||
The working set can be "rebuilt" as the task list changes, updating the identifiers for some tasks. | ||
|
||
### Storage | ||
|
||
Storage defines where and how tasks are stored. | ||
|
||
### Server | ||
|
||
A server supports synchronizing tasks among several replicas. | ||
This may refer to an instance of `taskchampion-sync-server` or a number of other options. | ||
|
||
## APIs | ||
|
||
### Rust | ||
|
||
TaskChampion is implemented in Rust, and implementation represents its primary public API. | ||
It is documented at [docs.rs/taskchampion](https://docs.rs/taskchampion/latest/taskchampion/). | ||
|
||
### C | ||
|
||
The C API contains a rough mapping of Rust types to opaque C structures, and Rust methods to C functions. | ||
|
||
The `taskchampion-lib` crate generates libraries suitable for use from C (or any C-compatible language). | ||
It is a "normal" Cargo crate that happens to export a number of `extern "C"` symbols, and also contains a [`taskchampion.h`](https://github.com/GothenburgBitFactory/taskchampion/blob/main/lib/taskchampion.h) defining those symbols. | ||
The primary documentation for the C API is in the header file. | ||
|
||
*WARNING: the C API is not yet stable!* | ||
Please consult with the TaskChampion developers before relying on this API. |