52 lines
1.2 KiB
Markdown
52 lines
1.2 KiB
Markdown
|
# User-Ids
|
||
|
|
||
|
One important concept is to identify tasks effortlessly with recognizable, consistent alphabetical ids.
|
||
|
To distinguish them clearly from the unique ids (uuid/ulid) and potential ids of the plumber, they will henceforth be called user-ids.
|
||
|
|
||
|
These ids are always lowercase.
|
||
|
Note that they only have to unique among open tasks. Closed tasks loose their userid and will have a new one generated should they be reactivated.
|
||
|
|
||
|
1. Generate an index of the task description: An array of all uppercase letters and initials.
|
||
|
2. If there is a parent task with a user-id, take its first letter as start of the id. Remove the first letter of the index if it is identical.
|
||
|
3. Find consecutive letters (preferably among the uppercase letters) in the index that yield a unique id with a length of 2-3.
|
||
|
4. Take up to 3 letters of the description and see if they create a unique id.
|
||
|
5. Otherwise, find a random combination of 2-3 characters that isn't used yet.
|
||
|
|
||
|
Example:
|
||
|
|
||
|
Configure my ArchLinux properly
|
||
|
|
||
|
Index:
|
||
|
|
||
|
CmALp
|
||
|
|
||
|
Generated ids, in order:
|
||
|
|
||
|
ca
|
||
|
al
|
||
|
cal
|
||
|
|
||
|
cm
|
||
|
ma
|
||
|
lp
|
||
|
cma
|
||
|
mal
|
||
|
alp
|
||
|
|
||
|
co
|
||
|
con
|
||
|
|
||
|
If there is a parent with the id `c`:
|
||
|
|
||
|
ca
|
||
|
cl
|
||
|
cal
|
||
|
|
||
|
cm
|
||
|
cp
|
||
|
|
||
|
co
|
||
|
con
|
||
|
|
||
|
Taskwarrior UDA: userid
|