Skip to main content

Module write

Module write 

Source
Expand description

The tools that write, on this computer only: a task added or marked done, an event added, a note written, a draft saved, two things tied. Nothing is sent from here. A task or an event changed goes to its server with the next sync, as what you change in the window does; a draft waits in Drafts until you read and send it. Nothing is deleted or overwritten.

What an agent writes may come from mail it read, so it is checked as mail is: a title, a place, a subject on one line; an address one address; a tie to Sioul’s own things or a web page only; a note inside the notes.

Nothing is written into a project closed to agents, nor outside projects while those are closed (access); a thing kept from agents is not tied to, nor answered: each refusal says so plainly.

Constants§

LONGEST_ADDRESS 🔒
The longest address taken: a link, not a document.

Functions§

add_event
add_note
add_task
complete_task
draft_body 🔒
A draft’s text: needed, and in Markdown.
draft_message
draft_reply
draft_saved 🔒
A draft saved, said as the window says it, with what it holds. Saved under a name no other draft has: never over another one.
file_title 🔒
The title a note’s file is named after: at most 120 bytes of it (a file name holds 255, and a number may follow), and never a name Windows keeps.
free_draft 🔒
A new draft’s own name, one no draft has yet.
free_item 🔒
A new item’s file, under a name no other file has: never over another one.
inside_notes 🔒
Whether a folder of the notes is reached without a link: a symbolic link or a junction on its way would take the note out of the notes.
known 🔒
An address as Sioul writes it, of something it knows: a message kept here, a task, a note…; or a web page (https://…). It is written into a task, an event or a note’s front matter as it is, so it is one line of visible characters; and the window opens it when the person clicks it, so it is never a file of this computer (file:) nor another program’s scheme (smb:, ms-…:). A thing kept from agents is refused: it is not tied to, whatever ties it.
known_all 🔒
Addresses checked, each once.
link
may_write 🔒
Whether something new in these projects may be written for an agent: each open; in none, while things outside projects are open.
notes_folder 🔒
The folder new notes go into: the configuration’s, else “notes” (as the window does).
notes_folder_asked 🔒
The folder an agent asked for, as a folder of the notes: relative, inside, each name one that every system can hold (no drive as “C:”, no device as “CON”, no name ending with a dot or a space), no hidden folder.
projects_among 🔒
The projects named among addresses (sioul:project/…, or sioul:case/… as written before).
recipient 🔒
A recipient as the agent wrote it, checked: one address (“jane@example.org”, or “Jane jane@example.org”), and a name that can neither hold another address nor pass for one, nor break a header.
reserved 🔒
A name Windows keeps for a device, whatever comes after its first dot (“CON”, “nul.md”, “COM1”): a file or a folder of that name is no file there.
rewrite 🔒
Writes what makes a tie: a note through the notes, a task or an event as an item of its collection.
sender 🔒
The account a message goes out from: the one asked or the message’s, else the first by priority, among those Sioul sends from.
target_list 🔒
The list a new task goes into: the one named (“account/id”), else the first made for tasks.
tie_in_task 🔒
A tie held by a new task, as Loaded::tie writes one in a task: its people as CONTACT, its projects as REFID, a note as what describes it, the rest as LINK.