Connections - Journaling
As the user
connects with themselves or other contacts, they will
journal those connections. This is located in ./work/[id]/journal
where [id]
is the identifier of the user
or contact
.
File Format
The file is saved as [YYYY-mm-dd]_[event_name_identifier].wrk
where the first part is the date of the connection
and the second part is the event name where spaces and other odd characters are converted into underscores.
Fields
event
- (Required) A block which includes details of theevent
, detailed below.observations
- (Optional, unlesssentiment
andcomments
are present) The factual elements of the connection. This should be descriptive of just the facts. -String
sentiment
- (Optional) How the user felt about the event. Choices includenegative
,neutral
, orpositive
-Identifier
comments
- (Optional) the textual reaction of the user, their feelings about the situation -String
event
name
- (Required) The name of the eventdate
- (Required) The date the connection occurred -String
inYYYY-MM-DD
formatrecurrence
- (Optional) when this event repeats, detailed below
recurrence
starting
- (Required) the date that the recurrence starts repeating -String
inYYYY-MM-DD
formatrepeats
- (Required) a recurrence string describing the schedule during which the event repeats.
repeats
has two main sections:
- Frequency and Interval. When interval is 1, the number can be omitted.
Examples:
daily
,weekly
,monthly
,yearly
,every 2 weeks
,every 3 days
- Predicate, which is specific to the type of frequency:
daily
For daily
there is no predicate.
Examples:
daily
every 3 days
weekly
For weekly
the predicate is the day of the week: on Friday
, on Saturday and Sunday
, on Monday, Wednesday and Friday
. If this is missing, the system
will assume that the schedule will repeat on the day of the week that the
starting date falls on.
Examples:
weekly
every 2 weeks
every 2 weeks on Friday
every 4 weeks on Monday, Wednesday and Friday
monthly
For monthly
the predicate can either list out the day of month or specify the position within the month that repeats.
For repeating on specific days of the month, list them out: 1st
, 1st and 15th
, 1st, 3rd and 10th
. This is optional and if it's
omitted the day of month is assumed to be the same day of month that the
starting date falls on.
For repeating on the position within the month, use an ordinal expression, which
has two parts: (1) The ordinal: first
, second
, third
, fourth
, fifth
,
next to last
, last
and the day specification, which is a day of the week
(Sunday
, Monday
) or one of day
, weekday
, or weekend day
.
Examples:
Specific days of the month:
monthly on the 1st and 15th
every 2 months on the 1st
Position within the month:
monthly on the first Sunday
monthly on the last day
every 3 months on the first Friday
yearly
For yearly
the predicate lists out the months as above, with in
as a
preposition: in January
, in January and February
, in January, February and March
. Just as above, if the month is not there the system assumes that the
month is the same month the starting date falls within.
The yearly also can have the ordinal predicate, as specified above.
Examples:
yearly
yearly in January
yearly in May and November
yearly on the last Sunday
yearly in May on the last day
every 3 years
every 4 years on the first Tuesday
Examples
Upcoming
// located in ./work/tara_johnson/journal/2025-01-23_lunch.wrk
// Alex (the user) will have lunch with Tara on January 23, 2025.
// After the lunch he'll come back and write his observations and reactions
// about the upcoming connection.
event: {
name: "Lunch"
date: "2025-01-23"
}
Recurring
event: {
name: "Lunch"
date: "2025-01-23"
recurring: {
starting: "2025-01-23"
repeats: "every 2 weeks"
}
}
Journaled
// located in ./work/tara_johnson/journal/2025-01-23_lunch.wrk
// Alex (the user) had lunch with Tara on January 23, 2025.
// He wrote down the important facts of their interaction
// He also wrote down his feelings about the ineraction
event: {
name: "Lunch"
date: "2025-01-23"
}
observations: """
Talked about Project Gravy which is late
Tara has helped Kevin deliver on the containers feature.
"""
sentiment: positive
comments: """
Tara does struggle with some things but I'm impressed by her being
a team player, especially with Kevin.
"""