1<title>Technical Notes</title>
2
3<h2>What Is A "Technote"?</h2>
4
5In Fossil, a "technical note" or "technote" (formerly called an "event")
6is a special kind of [./wikitheory.wiki | wiki page]
7that is associated with a point in time rather than having a page name.
8Each technote causes a single entry to appear on the
9[/timeline?y=e | Timeline Page].
10Clicking on the timeline link will display the text of the technote.
11The wiki content, the timeline entry text, the
12time of the technote, and the timeline background color can all be edited.
13
14As with check-ins, wiki, and tickets, all technotes automatically synchronize
15to other repositories.  Hence, technotes can be viewed, created, and edited
16off-line.  And the complete edit history for technotes is maintained
17for auditing purposes.
18
19Possible uses for technotes include:
20
21  *  <b>Milestones</b>.  Project milestones, such as releases or beta-test
22      cycles, can be recorded as technotes.  The timeline entry for the technote
23      can be something simple like "Version 1.2.3" perhaps with a bright
24      color background to draw attention to the entry and the wiki content
25      can contain release notes, for example.
26
27  *  <b>Blog Entries</b>.  Blog entries from developers describing the current
28     state of a project, or rationale for various design decisions, or
29     roadmaps for future development, can be entered as technotes.
30
31  *  <b>Process Checkpoints</b>.  For projects that have a formal process,
32     technotes can be used to record the completion or the initiation of
33     various process steps.  For example, a technote can be used to record
34     the successful completion of a long-running test, perhaps with
35     performance results and details of where the test was run and who
36     ran it recorded in the wiki content. The technote can be added
37     from a script.
38
39  *  <b>News Articles</b>.  Significant occurrences in the life cycle of
40     a project can be recorded as news articles using technotes.  Perhaps the
41     domain name of the canonical website for a project changes, or new
42     server hardware is obtained.  Such happenings are appropriate for
43     reporting as news.
44
45  *  <b>Announcements</b>.  Changes to the composition of the development
46     team or acquisition of new project sponsors can be communicated as
47     announcements which can be implemented as technotes.
48
49  *  <b>Signed Checksums</b>.  Technotes containing cryptographically signed
50     checksums can be linked to repository artifacts, thereby creating a
51     traceable, auditable chain so that users can readily verify the integrity
52     and authenticity of project deliverables. And the command line interface
53     to technotes enables embedding such processes in scripts.
54
55No project is required to use technotes.  But technotes can help many projects
56stay better organized and provide a better historical record of the
57development progress.
58
59<h2>Viewing Technotes</h2>
60
61Because technotes are considered a special kind of wiki,
62users must have permission to read wiki in order read technotes.
63Enable the "j" permission under the /Setup/Users menu in order
64to give specific users or user classes the ability to view wiki
65and technotes.
66
67Technotes show up on the timeline.  Click on the hyperlink beside the
68technote title to see the complete text.
69
70<h2>Creating, Editing and Viewing Technotes</h2>
71
72There is a hyperlink under the /wikihelp menu that can be used to create
73new technotes.  And there is a submenu hyperlink on technote displays for
74editing existing technotes.
75
76Technotes can also be created using the <b>wiki create</b> command:
77
78<blockquote>
79<b>
80fossil wiki create TestTechnote -t now --technote-bgcolor lightgreen technote.md<br>
81<tt>Created new tech note 2021-03-15 13:05:56</tt><br>
82</b>
83</blockquote>
84
85This command inserts a light green technote in the timeline at 2021-03-15 13:05:56, with
86the contents of file <b>technote.md</b> and comment "TestTechnote". Specifying a different time using
87<b>-t DATETIME</b> will insert the technote at the specified timestamp location in the timeline.
88Different technotes can have the same timestamp.
89
90The first argument to create, <b>TECHNOTE-COMMENT</b>, is the title text for the technote
91that appears in the timeline.
92
93To view all technotes, use the <b>wiki ls</b> command:
94
95<blockquote>
96<b>
97fossil wiki ls --technote --show-technote-ids<br>
98<tt>z739263a134bf0da1d28e939f4c4367f51ef4c51 2020-12-19 13:20:19</tt><br>
99<tt>e15a918a8bed71c2ac091d74dc397b8d3340d5e1 2018-09-22 17:40:10</tt><br>
100</b>
101</blockquote>
102
103A technote ID is the UUID of the technote.
104
105To view an individual technote, use the <b>wiki export</b> command:
106
107<blockquote>
108<b>
109fossil wiki export --technote version-2.16<br>
110Release Notes 2021-07-02
111
112This note describes changes in the Fossil snapshot for ...
113</b>
114</blockquote>
115
116The <b>-t|--technote</b> option to the <b>export</b> subcommand takes one of
117three identifiers: <b>DATETIME</b>; <b>TECHNOTE-ID</b>; and <b>TAG</b>.
118See the [/help?cmd=wiki | wiki help] for specifics.
119
120Users must have check-in privileges (permission "i") in order to
121create or edit technotes.  In addition, users must have create-wiki
122privilege (permission "f") to create new technotes and edit-wiki
123privilege (permission "k") in order to edit existing technotes.
124
125Technote content may be formatted as [/wiki_rules | Fossil wiki],
126[/md_rules | Markdown], or a plain text.
127