Fossil SCM

Add documentation about the backoffice.

drh 2018-08-08 01:51 UTC trunk
Commit c6522a0fe01c11c0f1a7071d63ea18e44fe13192ba0d1f84ff366dbcbf47171d
--- a/www/backoffice.md
+++ b/www/backoffice.md
@@ -0,0 +1,77 @@
1
+?cmd=r for "[fosil sync](/help/sync)?cmd=clone)" commands which are implemented as
2
+web requests - albeit requests that the human user never sees.
3
+Web requests can arrive at the Fossil server via direct TCP/IP (for example
4
+when Fossil is started using commands ?cmd=ike "[fossil server
5
+c)?cmd=clone)" commands which are(./server/any/scgi.md) or via SSH.
6
+A backoffice process might be started regardless of t be started regardless of the origin of the/doc/trunk/www/server.wiki
7
+
8
+The backoffice is not a daemon. Each backoffice process runs for a short
9
+while and then exits. This helps keep Fossil easy to manage, since there
10
+are no daemons to start and stop. To upgrade Fossil to a new version,
11
+you simply replace the older "fossil" executable with the newer one, and
12
+the backoffice processes will (within a minute or so) start using the new
13
+one. (Upgrading the executable on Windows is more complicated, since on
14
+Windows it is not possible to replace an executable file that is in active
15
+use. But Windows users probably already know this.)
16
+
17
+The backoenBSD in particular. We still do not understand why
18
+this is. (If you have insights, please share them on the
19
+[Fossil Forum](https://fossil-scm.org/forum) so that we can perhaps
20
+fix the problem.) For now, the backoffice must be run manually
21
+on OpenBSD systems.
22
+
23
+To set up nBSD systems.
24
+
25
+To set up a fully-manual backoffice, first disable the automatic backoffice
26
+using the "[backoffice-disable](/help?cmd= The "bacint out a decoded copy of the current backoffice lease using
27
+this command:
28
+
29
+ fossil test-backoffice-lease -R _REPOSITORY_
30
+
31
+If a system has been idle for a long time, then there will be no
32
+backoffice processes. (Either the process id entries in the lease
33
+will be zero, or there will exist no process associated with the
34
+process id.) When a new web request comes in, the system
35
+sees ?cmd=for itselfthe system
36
+sees that no backoffic/doc/trunk/www/server.wiki) or
37
+[SCGprocess to run backoffice.
38
+
39
+The new backoffice proess becomes the "current">nning, if there is anrent" process. It sets a
40
+l-Rlease expiration time for itself to be 60 seconds in the future.
41
+Then it does the backoffice processing and exits. Note that usually
42
+the backoffice process will exit long before its lease expires. That
43
+is ok. The lease is there to limit the rate at which backoffice processes
44
+run.
45
+
46
+If a new backoffice process starts up and sees that the "current" lease has
47
+yet to expire, the new process"backoffice.c he backoffice processes will (within a minute or so) start using the new
48
+on e. (Upgrading the executable on Windows is more complicated, since on
49
+Windows it is not possible to replace an executable file that is in active
50
+use. But Windows users probably already know this.)
51
+
52
+The backoenBSD in particular. We still do not understand why
53
+this is. (If you have insights, please share them on the
54
+[Fossil Forum](https://fossil-scm.org/forum) so that we can perhaps
55
+fix th e problem.) For now, the backoffice must be run manually
56
+on OpenBSD systems.
57
+
58
+To set up nBSD systems.
59
+
60
+To set up a fully-manual backoffice, first disable the automatic backoffice
61
+using the "[backoffice-disable](/help?cmd= The "bacint out a decoded copy of the current backoffice lease using
62
+this command:
63
+
64
+ fossil test-backoffice-lease -R _REPOSITORY_
65
+
66
+If a system has been idle for a long time, then there will be no
67
+backoffice processes. (Either the process id entries in the lease
68
+will be zero, or there will exist no process associated with the
69
+process id.) When a new web request comes in, the system
70
+sees ?cmd=for itselfthe system
71
+sees that no backoffic/doc/trunk/www/server.wiki) or
72
+[SCGprocess to run backoffice.
73
+
74
+The new backoffice proess becomes the "current">nning, if there is anrent" process. It sets a
75
+l-Rlease expiration time for itself to be
76
+
77
+The twoff and
--- a/www/backoffice.md
+++ b/www/backoffice.md
@@ -0,0 +1,77 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--- a/www/backoffice.md
+++ b/www/backoffice.md
@@ -0,0 +1,77 @@
1 ?cmd=r for "[fosil sync](/help/sync)?cmd=clone)" commands which are implemented as
2 web requests - albeit requests that the human user never sees.
3 Web requests can arrive at the Fossil server via direct TCP/IP (for example
4 when Fossil is started using commands ?cmd=ike "[fossil server
5 c)?cmd=clone)" commands which are(./server/any/scgi.md) or via SSH.
6 A backoffice process might be started regardless of t be started regardless of the origin of the/doc/trunk/www/server.wiki
7
8 The backoffice is not a daemon. Each backoffice process runs for a short
9 while and then exits. This helps keep Fossil easy to manage, since there
10 are no daemons to start and stop. To upgrade Fossil to a new version,
11 you simply replace the older "fossil" executable with the newer one, and
12 the backoffice processes will (within a minute or so) start using the new
13 one. (Upgrading the executable on Windows is more complicated, since on
14 Windows it is not possible to replace an executable file that is in active
15 use. But Windows users probably already know this.)
16
17 The backoenBSD in particular. We still do not understand why
18 this is. (If you have insights, please share them on the
19 [Fossil Forum](https://fossil-scm.org/forum) so that we can perhaps
20 fix the problem.) For now, the backoffice must be run manually
21 on OpenBSD systems.
22
23 To set up nBSD systems.
24
25 To set up a fully-manual backoffice, first disable the automatic backoffice
26 using the "[backoffice-disable](/help?cmd= The "bacint out a decoded copy of the current backoffice lease using
27 this command:
28
29 fossil test-backoffice-lease -R _REPOSITORY_
30
31 If a system has been idle for a long time, then there will be no
32 backoffice processes. (Either the process id entries in the lease
33 will be zero, or there will exist no process associated with the
34 process id.) When a new web request comes in, the system
35 sees ?cmd=for itselfthe system
36 sees that no backoffic/doc/trunk/www/server.wiki) or
37 [SCGprocess to run backoffice.
38
39 The new backoffice proess becomes the "current">nning, if there is anrent" process. It sets a
40 l-Rlease expiration time for itself to be 60 seconds in the future.
41 Then it does the backoffice processing and exits. Note that usually
42 the backoffice process will exit long before its lease expires. That
43 is ok. The lease is there to limit the rate at which backoffice processes
44 run.
45
46 If a new backoffice process starts up and sees that the "current" lease has
47 yet to expire, the new process"backoffice.c he backoffice processes will (within a minute or so) start using the new
48 on e. (Upgrading the executable on Windows is more complicated, since on
49 Windows it is not possible to replace an executable file that is in active
50 use. But Windows users probably already know this.)
51
52 The backoenBSD in particular. We still do not understand why
53 this is. (If you have insights, please share them on the
54 [Fossil Forum](https://fossil-scm.org/forum) so that we can perhaps
55 fix th e problem.) For now, the backoffice must be run manually
56 on OpenBSD systems.
57
58 To set up nBSD systems.
59
60 To set up a fully-manual backoffice, first disable the automatic backoffice
61 using the "[backoffice-disable](/help?cmd= The "bacint out a decoded copy of the current backoffice lease using
62 this command:
63
64 fossil test-backoffice-lease -R _REPOSITORY_
65
66 If a system has been idle for a long time, then there will be no
67 backoffice processes. (Either the process id entries in the lease
68 will be zero, or there will exist no process associated with the
69 process id.) When a new web request comes in, the system
70 sees ?cmd=for itselfthe system
71 sees that no backoffic/doc/trunk/www/server.wiki) or
72 [SCGprocess to run backoffice.
73
74 The new backoffice proess becomes the "current">nning, if there is anrent" process. It sets a
75 l-Rlease expiration time for itself to be
76
77 The twoff and
--- www/hacker-howto.wiki
+++ www/hacker-howto.wiki
@@ -11,5 +11,6 @@
1111
* [./contribute.wiki|Contributing Code Or Enhancements To The Fossil Project]
1212
* [./fileformat.wiki|Fossil Artifact File Format]
1313
* [./style.wiki | Coding Style Guidelines]
1414
* [./checkin.wiki | Pre-checkin Checklist]
1515
* [../test/release-checklist.wiki | Release Checklist]
16
+ * [./backoffice.md | The "backoffice" subsystem]
1617
--- www/hacker-howto.wiki
+++ www/hacker-howto.wiki
@@ -11,5 +11,6 @@
11 * [./contribute.wiki|Contributing Code Or Enhancements To The Fossil Project]
12 * [./fileformat.wiki|Fossil Artifact File Format]
13 * [./style.wiki | Coding Style Guidelines]
14 * [./checkin.wiki | Pre-checkin Checklist]
15 * [../test/release-checklist.wiki | Release Checklist]
 
16
--- www/hacker-howto.wiki
+++ www/hacker-howto.wiki
@@ -11,5 +11,6 @@
11 * [./contribute.wiki|Contributing Code Or Enhancements To The Fossil Project]
12 * [./fileformat.wiki|Fossil Artifact File Format]
13 * [./style.wiki | Coding Style Guidelines]
14 * [./checkin.wiki | Pre-checkin Checklist]
15 * [../test/release-checklist.wiki | Release Checklist]
16 * [./backoffice.md | The "backoffice" subsystem]
17
--- www/mkindex.tcl
+++ www/mkindex.tcl
@@ -10,10 +10,11 @@
1010
aboutcgi.wiki {How CGI Works In Fossil}
1111
aboutdownload.wiki {How The Download Page Works}
1212
adding_code.wiki {Adding New Features To Fossil}
1313
adding_code.wiki {Hacking Fossil}
1414
antibot.wiki {Defense against Spiders and Bots}
15
+ backoffice.md {The "Backoffice" mechanism of Fossil}
1516
blame.wiki {The Annotate/Blame Algorithm Of Fossil}
1617
branching.wiki {Branching, Forking, Merging, and Tagging}
1718
bugtheory.wiki {Bug Tracking In Fossil}
1819
build.wiki {Compiling and Installing Fossil}
1920
changes.wiki {Fossil Changelog}
2021
--- www/mkindex.tcl
+++ www/mkindex.tcl
@@ -10,10 +10,11 @@
10 aboutcgi.wiki {How CGI Works In Fossil}
11 aboutdownload.wiki {How The Download Page Works}
12 adding_code.wiki {Adding New Features To Fossil}
13 adding_code.wiki {Hacking Fossil}
14 antibot.wiki {Defense against Spiders and Bots}
 
15 blame.wiki {The Annotate/Blame Algorithm Of Fossil}
16 branching.wiki {Branching, Forking, Merging, and Tagging}
17 bugtheory.wiki {Bug Tracking In Fossil}
18 build.wiki {Compiling and Installing Fossil}
19 changes.wiki {Fossil Changelog}
20
--- www/mkindex.tcl
+++ www/mkindex.tcl
@@ -10,10 +10,11 @@
10 aboutcgi.wiki {How CGI Works In Fossil}
11 aboutdownload.wiki {How The Download Page Works}
12 adding_code.wiki {Adding New Features To Fossil}
13 adding_code.wiki {Hacking Fossil}
14 antibot.wiki {Defense against Spiders and Bots}
15 backoffice.md {The "Backoffice" mechanism of Fossil}
16 blame.wiki {The Annotate/Blame Algorithm Of Fossil}
17 branching.wiki {Branching, Forking, Merging, and Tagging}
18 bugtheory.wiki {Bug Tracking In Fossil}
19 build.wiki {Compiling and Installing Fossil}
20 changes.wiki {Fossil Changelog}
21
--- www/permutedindex.html
+++ www/permutedindex.html
@@ -29,10 +29,11 @@
2929
<li><a href="blame.wiki">Algorithm Of Fossil &mdash; The Annotate/Blame</a></li>
3030
<li><a href="blame.wiki">Annotate/Blame Algorithm Of Fossil &mdash; The</a></li>
3131
<li><a href="customskin.md">Appearance of Web Pages &mdash; Theming: Customizing The</a></li>
3232
<li><a href="faq.wiki">Asked Questions &mdash; Frequently</a></li>
3333
<li><a href="password.wiki">Authentication &mdash; Password Management And</a></li>
34
+<li><a href="backoffice.md">Backoffice mechanism of Fossil &mdash; The</a></li>
3435
<li><a href="whyusefossil.wiki"><b>Benefits Of Version Control</b></a></li>
3536
<li><a href="hashpolicy.wiki">Between SHA1 and SHA3-256 &mdash; Hash Policy: Choosing</a></li>
3637
<li><a href="antibot.wiki">Bots &mdash; Defense against Spiders and</a></li>
3738
<li><a href="private.wiki">Branches &mdash; Creating, Syncing, and Deleting Private</a></li>
3839
<li><a href="branching.wiki"><b>Branching, Forking, Merging, and Tagging</b></a></li>
@@ -140,10 +141,11 @@
140141
<li><a href="copyright-release.html">License Agreement &mdash; Contributor</a></li>
141142
<li><a href="../../../help"><b>Lists of Commands and Webpages</b></a></li>
142143
<li><a href="password.wiki">Management And Authentication &mdash; Password</a></li>
143144
<li><a href="../../../sitemap">Map &mdash; Site</a></li>
144145
<li><a href="../../../md_rules"><b>Markdown Formatting Rules</b></a></li>
146
+<li><a href="backoffice.md">mechanism of Fossil &mdash; The Backoffice</a></li>
145147
<li><a href="branching.wiki">Merging, and Tagging &mdash; Branching, Forking,</a></li>
146148
<li><a href="fossil-from-msvc.wiki">Microsoft Express 2010 IDE &mdash; Integrating Fossil in the</a></li>
147149
<li><a href="fiveminutes.wiki">Minutes as a Single User &mdash; Up and Running in 5</a></li>
148150
<li><a href="globs.md">Name Glob Patterns &mdash; File</a></li>
149151
<li><a href="checkin_names.wiki">Names &mdash; Check-in And Version</a></li>
@@ -207,10 +209,11 @@
207209
<li><a href="tickets.wiki">System &mdash; The Fossil Ticket</a></li>
208210
<li><a href="branching.wiki">Tagging &mdash; Branching, Forking, Merging, and</a></li>
209211
<li><a href="tech_overview.wiki">Technical Overview Of The Design And Implementation Of Fossil &mdash; A</a></li>
210212
<li><a href="../test/release-checklist.wiki">Testing Checklist &mdash; Pre-Release</a></li>
211213
<li><a href="th1.md">TH1 Scripting Language &mdash; The</a></li>
214
+<li><a href="backoffice.md"><b>The "Backoffice" mechanism of Fossil</b></a></li>
212215
<li><a href="blame.wiki"><b>The Annotate/Blame Algorithm Of Fossil</b></a></li>
213216
<li><a href="makefile.wiki"><b>The Fossil Build Process</b></a></li>
214217
<li><a href="sync.wiki"><b>The Fossil Sync Protocol</b></a></li>
215218
<li><a href="tickets.wiki"><b>The Fossil Ticket System</b></a></li>
216219
<li><a href="webui.wiki"><b>The Fossil Web Interface</b></a></li>
217220
--- www/permutedindex.html
+++ www/permutedindex.html
@@ -29,10 +29,11 @@
29 <li><a href="blame.wiki">Algorithm Of Fossil &mdash; The Annotate/Blame</a></li>
30 <li><a href="blame.wiki">Annotate/Blame Algorithm Of Fossil &mdash; The</a></li>
31 <li><a href="customskin.md">Appearance of Web Pages &mdash; Theming: Customizing The</a></li>
32 <li><a href="faq.wiki">Asked Questions &mdash; Frequently</a></li>
33 <li><a href="password.wiki">Authentication &mdash; Password Management And</a></li>
 
34 <li><a href="whyusefossil.wiki"><b>Benefits Of Version Control</b></a></li>
35 <li><a href="hashpolicy.wiki">Between SHA1 and SHA3-256 &mdash; Hash Policy: Choosing</a></li>
36 <li><a href="antibot.wiki">Bots &mdash; Defense against Spiders and</a></li>
37 <li><a href="private.wiki">Branches &mdash; Creating, Syncing, and Deleting Private</a></li>
38 <li><a href="branching.wiki"><b>Branching, Forking, Merging, and Tagging</b></a></li>
@@ -140,10 +141,11 @@
140 <li><a href="copyright-release.html">License Agreement &mdash; Contributor</a></li>
141 <li><a href="../../../help"><b>Lists of Commands and Webpages</b></a></li>
142 <li><a href="password.wiki">Management And Authentication &mdash; Password</a></li>
143 <li><a href="../../../sitemap">Map &mdash; Site</a></li>
144 <li><a href="../../../md_rules"><b>Markdown Formatting Rules</b></a></li>
 
145 <li><a href="branching.wiki">Merging, and Tagging &mdash; Branching, Forking,</a></li>
146 <li><a href="fossil-from-msvc.wiki">Microsoft Express 2010 IDE &mdash; Integrating Fossil in the</a></li>
147 <li><a href="fiveminutes.wiki">Minutes as a Single User &mdash; Up and Running in 5</a></li>
148 <li><a href="globs.md">Name Glob Patterns &mdash; File</a></li>
149 <li><a href="checkin_names.wiki">Names &mdash; Check-in And Version</a></li>
@@ -207,10 +209,11 @@
207 <li><a href="tickets.wiki">System &mdash; The Fossil Ticket</a></li>
208 <li><a href="branching.wiki">Tagging &mdash; Branching, Forking, Merging, and</a></li>
209 <li><a href="tech_overview.wiki">Technical Overview Of The Design And Implementation Of Fossil &mdash; A</a></li>
210 <li><a href="../test/release-checklist.wiki">Testing Checklist &mdash; Pre-Release</a></li>
211 <li><a href="th1.md">TH1 Scripting Language &mdash; The</a></li>
 
212 <li><a href="blame.wiki"><b>The Annotate/Blame Algorithm Of Fossil</b></a></li>
213 <li><a href="makefile.wiki"><b>The Fossil Build Process</b></a></li>
214 <li><a href="sync.wiki"><b>The Fossil Sync Protocol</b></a></li>
215 <li><a href="tickets.wiki"><b>The Fossil Ticket System</b></a></li>
216 <li><a href="webui.wiki"><b>The Fossil Web Interface</b></a></li>
217
--- www/permutedindex.html
+++ www/permutedindex.html
@@ -29,10 +29,11 @@
29 <li><a href="blame.wiki">Algorithm Of Fossil &mdash; The Annotate/Blame</a></li>
30 <li><a href="blame.wiki">Annotate/Blame Algorithm Of Fossil &mdash; The</a></li>
31 <li><a href="customskin.md">Appearance of Web Pages &mdash; Theming: Customizing The</a></li>
32 <li><a href="faq.wiki">Asked Questions &mdash; Frequently</a></li>
33 <li><a href="password.wiki">Authentication &mdash; Password Management And</a></li>
34 <li><a href="backoffice.md">Backoffice mechanism of Fossil &mdash; The</a></li>
35 <li><a href="whyusefossil.wiki"><b>Benefits Of Version Control</b></a></li>
36 <li><a href="hashpolicy.wiki">Between SHA1 and SHA3-256 &mdash; Hash Policy: Choosing</a></li>
37 <li><a href="antibot.wiki">Bots &mdash; Defense against Spiders and</a></li>
38 <li><a href="private.wiki">Branches &mdash; Creating, Syncing, and Deleting Private</a></li>
39 <li><a href="branching.wiki"><b>Branching, Forking, Merging, and Tagging</b></a></li>
@@ -140,10 +141,11 @@
141 <li><a href="copyright-release.html">License Agreement &mdash; Contributor</a></li>
142 <li><a href="../../../help"><b>Lists of Commands and Webpages</b></a></li>
143 <li><a href="password.wiki">Management And Authentication &mdash; Password</a></li>
144 <li><a href="../../../sitemap">Map &mdash; Site</a></li>
145 <li><a href="../../../md_rules"><b>Markdown Formatting Rules</b></a></li>
146 <li><a href="backoffice.md">mechanism of Fossil &mdash; The Backoffice</a></li>
147 <li><a href="branching.wiki">Merging, and Tagging &mdash; Branching, Forking,</a></li>
148 <li><a href="fossil-from-msvc.wiki">Microsoft Express 2010 IDE &mdash; Integrating Fossil in the</a></li>
149 <li><a href="fiveminutes.wiki">Minutes as a Single User &mdash; Up and Running in 5</a></li>
150 <li><a href="globs.md">Name Glob Patterns &mdash; File</a></li>
151 <li><a href="checkin_names.wiki">Names &mdash; Check-in And Version</a></li>
@@ -207,10 +209,11 @@
209 <li><a href="tickets.wiki">System &mdash; The Fossil Ticket</a></li>
210 <li><a href="branching.wiki">Tagging &mdash; Branching, Forking, Merging, and</a></li>
211 <li><a href="tech_overview.wiki">Technical Overview Of The Design And Implementation Of Fossil &mdash; A</a></li>
212 <li><a href="../test/release-checklist.wiki">Testing Checklist &mdash; Pre-Release</a></li>
213 <li><a href="th1.md">TH1 Scripting Language &mdash; The</a></li>
214 <li><a href="backoffice.md"><b>The "Backoffice" mechanism of Fossil</b></a></li>
215 <li><a href="blame.wiki"><b>The Annotate/Blame Algorithm Of Fossil</b></a></li>
216 <li><a href="makefile.wiki"><b>The Fossil Build Process</b></a></li>
217 <li><a href="sync.wiki"><b>The Fossil Sync Protocol</b></a></li>
218 <li><a href="tickets.wiki"><b>The Fossil Ticket System</b></a></li>
219 <li><a href="webui.wiki"><b>The Fossil Web Interface</b></a></li>
220

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button