Fossil SCM
Added (Names) to the "Capability Reference" section of capabilities.md so the reference can be used while reading C source code, which uses these names instead of the capability characters in all code past the login handler.
Commit
d48dff8fd715bf41079713a0ef33bd0cf3953f1367f058704289f1e1fcc1b621
Parent
ba88f4f2a7ba879…
1 file changed
+57
-45
+57
-45
| --- www/capabilities.md | ||
| +++ www/capabilities.md | ||
| @@ -327,13 +327,15 @@ | ||
| 327 | 327 | |
| 328 | 328 | ## <a name="ref"></a>Capability Reference |
| 329 | 329 | |
| 330 | 330 | This section documents each currently-defined user capability character |
| 331 | 331 | in more detail than the brief summary on the [user capability “key” |
| 332 | -page](/setup_ucap_list). | |
| 332 | +page](/setup_ucap_list). Each entry begins with the capability letter | |
| 333 | +used in the Fossil user editor followed by the C code’s name for that | |
| 334 | +cap within the `FossilUserPerms` object. | |
| 333 | 335 | |
| 334 | -* <a name="a"></a>**a** — Admin users have all of the capabilities | |
| 336 | +* <a name="a"></a>**a (Admin)** — Admin users have *all* of the capabilities | |
| 335 | 337 | below except for [setup](#s): they can create new users, change user |
| 336 | 338 | capability assignments, and use about half of the functions on the |
| 337 | 339 | Admin screen in Fossil UI. (And that is why that screen is now |
| 338 | 340 | called “Admin,” not “Setup,” as it was in old versions of Fossil!) |
| 339 | 341 | |
| @@ -359,148 +361,158 @@ | ||
| 359 | 361 | For a much deeper dive into this topic, see the [Admin vs. Setup |
| 360 | 362 | article][avs]. |
| 361 | 363 | |
| 362 | 364 | Mnemonic: **a**dministrate. |
| 363 | 365 | |
| 364 | -* <a name="b"></a>**b** — Add attachments to wiki articles or tickets. | |
| 366 | +* <a name="b"></a>**b (Attach)** — Add attachments to wiki articles or tickets. | |
| 365 | 367 | Mnemonics: **b**ind, **b**utton, **b**ond, or **b**olt. |
| 366 | 368 | |
| 367 | -* <a name="c"></a>**c** — Append comments to existing tickets. | |
| 369 | +* <a name="c"></a>**c (ApndTkt)** — Append comments to existing tickets. | |
| 368 | 370 | Mnemonic: **c**omment. |
| 369 | 371 | |
| 370 | -* <a name="d"></a>**d** — Delete wiki articles or tickets. Mnemonic: | |
| 372 | +* <a name="d"></a>**d (Delete)** — Delete wiki articles or tickets. Mnemonic: | |
| 371 | 373 | **d**elete. |
| 372 | 374 | |
| 373 | -* <a name="e"></a>**e** — View [personal identifying information][pii] | |
| 375 | +* <a name="e"></a>**e (RdAddr)** — View [personal identifying information][pii] | |
| 374 | 376 | (PII) about other users such as email addresses. Mnemonics: show |
| 375 | 377 | **e**mail addresses; or **E**urope, home of [GDPR][gdpr]. |
| 376 | 378 | |
| 377 | -* <a name="f"></a>**f** — Create new wiki articles. Mnemonic: | |
| 379 | +* <a name="f"></a>**f (NewWiki)** — Create new wiki articles. Mnemonic: | |
| 378 | 380 | **f**ast, English translation of the Hawaiian word [*wiki*][wnh]. |
| 379 | 381 | |
| 380 | -* <a name="g"></a>**g** — Clone the repository. Note that this is | |
| 382 | +* <a name="g"></a>**g (Clone)** — Clone the repository. Note that this is | |
| 381 | 383 | distinct from [check-out capability, **o**](#o). Mnemonic: **g**et. |
| 382 | 384 | |
| 383 | -* <a name="h"></a>**h** — Get hyperlinks in generated HTML which link | |
| 385 | +* <a name="h"></a>**h (Hyperlink)** — Get hyperlinks in generated HTML which link | |
| 384 | 386 | you to other parts of the repository. This capability exists and is |
| 385 | 387 | disabled by default for the “nobody” category to [prevent bots from |
| 386 | 388 | wandering around aimlessly][bot] in the site’s hyperlink web, |
| 387 | 389 | chewing up server resources to little good purpose. Mnemonic: |
| 388 | 390 | **h**yperlink. |
| 389 | 391 | |
| 390 | -* <a name="i"></a>**i** — Check changes into the repository. Note that | |
| 392 | +* <a name="i"></a>**i (Write)** — Check changes into the repository. Note that | |
| 391 | 393 | a lack of this capability does not prevent you from checking changes |
| 392 | 394 | into your local clone, only from syncing those changes up to the |
| 393 | - parent repo, and then [only over HTTP](#fssync). Mnemonic: check | |
| 394 | - **i**n changes. | |
| 395 | + parent repo, and then [only over HTTP](#fssync). Granting this | |
| 396 | + capability also grants **o (Read)**. Mnemonic: check **i**n | |
| 397 | + changes. | |
| 395 | 398 | |
| 396 | -* <a name="j"></a>**j** — View wiki articles. Mnemonic: in**j**est | |
| 399 | +* <a name="j"></a>**j (RdWiki)** — View wiki articles. Mnemonic: in**j**est | |
| 397 | 400 | page content. (All right, you critics, you do better, then.) |
| 398 | 401 | |
| 399 | -* <a name="k"></a>**k** — Edit wiki articles. Mnemonic: | |
| 400 | - **k**ontribute. | |
| 402 | +* <a name="k"></a>**k (WrWiki)** — Edit wiki articles. Granting this | |
| 403 | + capability also grants **j (RdWiki)** and **m (ApndWiki)**, but it | |
| 404 | + does *not* grant **f (NewWiki)**! Mnemonic: **k**ontribute. | |
| 401 | 405 | |
| 402 | -* <a name="l"></a>**l** — Moderate [wiki article appends](#m). Appends | |
| 406 | +* <a name="l"></a>**l (ModWiki)** — Moderate [wiki article appends](#m). Appends | |
| 403 | 407 | do not get saved permamently to the receiving repo’s block chain |
| 404 | 408 | until some user (one with this cap or [Setup cap](#s)) approves it. |
| 405 | 409 | Mnemonic: a**l**low. |
| 406 | 410 | |
| 407 | -* <a name="m"></a>**m** — Append content to existing wiki articles. | |
| 411 | +* <a name="m"></a>**m (ApndWiki)** — Append content to existing wiki articles. | |
| 408 | 412 | Mmnemonics: a**m**end or **m**odify. |
| 409 | 413 | |
| 410 | -* <a name="n"></a>**n** — File new tickets. Mnemonic: **n**ew ticket. | |
| 414 | +* <a name="n"></a>**n (NewTkt)** — File new tickets. Mnemonic: **n**ew ticket. | |
| 411 | 415 | |
| 412 | -* <a name="o"></a>**o** — Check data out from Fossil. This capability | |
| 416 | +* <a name="o"></a>**o (Read)** — Check data out from Fossil. This capability | |
| 413 | 417 | has nothing to do with the ability to “open” a local repo clone or |
| 414 | 418 | switch branches in that clone. It only controls whether similar |
| 415 | 419 | operations over HTTP to a remote repo are allowed. You must have |
| 416 | 420 | this capability to view [embedded documentation][edoc], for example, |
| 417 | 421 | since that basically amounts to opening a file in the remote repo. |
| 418 | 422 | This capability also controls the [`/artifact`][au], [`/file`][fu], |
| 419 | 423 | and [`/raw`][ru] URLs. Mnemonic: check **o**ut file. |
| 420 | 424 | |
| 421 | -* <a name="p"></a>**p** — Change one’s own password. Mnemonic: | |
| 425 | +* <a name="p"></a>**p (Password)** — Change one’s own password. Mnemonic: | |
| 422 | 426 | **p**assword. |
| 423 | 427 | |
| 424 | -* <a name="q"></a>**q** — Moderate tickets: comments appended to | |
| 428 | +* <a name="q"></a>**q (ModTkt)** — Moderate tickets: comments appended to | |
| 425 | 429 | tickets can be deleted by users with this capability. Mnemonic: |
| 426 | 430 | **q**uash noise commentary. |
| 427 | 431 | |
| 428 | -* <a name="r"></a>**r** — View existing tickets. Mnemonic: **r**ead | |
| 432 | +* <a name="r"></a>**r (RdTkt)** — View existing tickets. Mnemonic: **r**ead | |
| 429 | 433 | tickets. |
| 430 | 434 | |
| 431 | -* <a name="s"></a>**s** — The [all-powerful Setup user](#apsu). | |
| 435 | +* <a name="s"></a>**s (Setup)** — The [all-powerful Setup user](#apsu). | |
| 432 | 436 | Mnemonics: **s**etup or **s**uperuser. |
| 433 | 437 | |
| 434 | -* <a name="t"></a>**t** — Create new ticket report formats. Note that | |
| 438 | +* <a name="t"></a>**t (TktFmt)** — Create new ticket report formats. Note that | |
| 435 | 439 | although this allows the user to provide SQL code to be run in the |
| 436 | 440 | server’s context, and this capability is given to the untrusted |
| 437 | 441 | “anonymous” user category by default, this is a safe capability to |
| 438 | 442 | give to users because it is internally restricted to read-only |
| 439 | 443 | queries on the tickets table only. (This restriction is done with a |
| 440 | 444 | SQLite authorization hook, not by any method so weak as SQL text |
| 441 | 445 | filtering.) Mnemonic: new **t**icket report. |
| 442 | 446 | |
| 443 | 447 | * <a name="u"></a>**u** — Inherit all capabilities of the “reader” |
| 444 | - user category. Mnemonic: **u**ser, per [naming suggestion | |
| 448 | + user category; does not have a dedicated flag internally within | |
| 449 | + Fossil. Mnemonic: **u**ser, per [naming suggestion | |
| 445 | 450 | above](#cat). |
| 446 | 451 | |
| 447 | 452 | * <a name="v"></a>**v** — Inheheit all capabilities of the “developer” |
| 448 | - user category. Mnemonic: de**v**eloper. | |
| 453 | + user category; does not have a dedicated flag internally within | |
| 454 | + Fossil. Mnemonic: de**v**eloper. | |
| 449 | 455 | |
| 450 | -* <a name="w"></a>**w** — Edit existing tickets. Mnemonic: **w**rite | |
| 451 | - to ticket. | |
| 456 | +* <a name="w"></a>**w (WrTkt)** — Edit existing tickets. Granting this | |
| 457 | + capability also grants **r (RdTkt)**, **c (ApndTkt)**, and **n | |
| 458 | + (NewTkt)**. Mnemonic: **w**rite to ticket. | |
| 452 | 459 | |
| 453 | -* <a name="x"></a>**x** — Push or pull [private branches][pb]. | |
| 460 | +* <a name="x"></a>**x (Private)** — Push or pull [private branches][pb]. | |
| 454 | 461 | Mnemonic: e**x**clusivity; “x” connotes unknown material in many |
| 455 | 462 | Western languages due to its [traditional use in mathematics][lgrd] |
| 456 | 463 | |
| 457 | -* <a name="y"></a>**y** — Push [unversioned content][uv]. Mnemonic: | |
| 464 | +* <a name="y"></a>**y (WrUnver)** — Push [unversioned content][uv]. Mnemonic: | |
| 458 | 465 | **y**ield, [sense 4][ywik]: “hand over.” |
| 459 | 466 | |
| 460 | -* <a name="z"></a>**z** — Pull archives of particular repository | |
| 467 | +* <a name="z"></a>**z (Zip)** — Pull archives of particular repository | |
| 461 | 468 | versions via [`/zip`][zu], [`/tarball`][tbu], and [`/sqlar`][sau] |
| 462 | 469 | URLs. This is an expensive capability to assign, because creating |
| 463 | 470 | such archives can put a large load on [a Fossil server][svr], which |
| 464 | 471 | you may then need to [manage][load]. Mnemonic: **z**ip file |
| 465 | 472 | download. |
| 466 | 473 | |
| 467 | -* <a name="2"></a>**2** — Read [forum posts][for] by other users. | |
| 474 | +* <a name="2"></a>**2 (RdForum)** — Read [forum posts][for] by other users. | |
| 468 | 475 | Mnemonic: from thee **2** me. |
| 469 | 476 | |
| 470 | -* <a name="3"></a>**3** — Create new forum threads, reply to threads | |
| 477 | +* <a name="3"></a>**3 (WrForum)** — Create new forum threads, reply to threads | |
| 471 | 478 | created by others, and edit one’s own posts. New posts are held for |
| 472 | 479 | [moderation][fmod], and they are marked to prevent them from being |
| 473 | - included in clone and sync operations. Mnemonic: post for **3** | |
| 480 | + included in clone and sync operations. Granting this capability also | |
| 481 | + grants **2 (RdForum)**. Mnemonic: post for **3** | |
| 474 | 482 | audiences: me, [the mods](#5), and [the Man][man]. |
| 475 | 483 | |
| 476 | -* <a name="4"></a>**4** — Same as [**3**](#3) except that forum | |
| 477 | - updates bypass the [moderation and private artifact | |
| 478 | - restrictions][fmod]. Mnemonic: post 4 immediate release. | |
| 484 | +* <a name="4"></a>**4 (WrTForum)** — Extends cap [**3**](#3) so that | |
| 485 | + forum updates bypass the [moderation and private artifact | |
| 486 | + restrictions][fmod]. Granting this capability also grants **2 | |
| 487 | + (RdForum)**. Mnemonic: post 4 immediate release. | |
| 479 | 488 | |
| 480 | -* <a name="5"></a>**5** — [Moderate][fmod] forum posts. Note that this | |
| 489 | +* <a name="5"></a>**5 (ModForum)** — [Moderate][fmod] forum posts. Note that this | |
| 481 | 490 | capabilitty does not automatically grant [**4**](#4), so it is |
| 482 | 491 | possible to have a user that can create a new post via capability |
| 483 | 492 | [**3**](#3) and then approve that post immediately themselves with |
| 484 | - *this* capability! Mnemonic: “May I have **5** seconds of your time, | |
| 485 | - honored Gatekeeper?” | |
| 493 | + *this* capability! Granting this capability also grants caps **4 | |
| 494 | + (WrTForum)** and **2 (RdForum)**. Mnemonic: “May I have **5** | |
| 495 | + seconds of your time, honored Gatekeeper?” | |
| 486 | 496 | |
| 487 | -* <a name="6"></a>**6** — Users with this capability see a checkbox on | |
| 497 | +* <a name="6"></a>**6 (AdminForum)** — Users with this capability see a checkbox on | |
| 488 | 498 | un-moderated forum posts labeled “Trust user X so that future posts |
| 489 | 499 | by user X do not require moderation.” Checking that box and then |
| 490 | 500 | clicking the moderator-only “Approve” button on that post grants |
| 491 | 501 | capability [**4**](#4) to that post’s author. There is currently no |
| 492 | 502 | UI for a user with capability **6** to remove trust from a user once |
| 493 | - it is granted. Mnemonic: “I’m six of hitting Approve on your posts!” | |
| 503 | + it is granted. Granting this capability also grants cap **5 | |
| 504 | + (ModForum)** and those it in turn grants. | |
| 505 | + Mnemonic: “I’m six of hitting Approve on your posts!” | |
| 494 | 506 | |
| 495 | -* <a name="7"></a>**7** — Sign up for [email alerts][ale]. Mnemonic: | |
| 507 | +* <a name="7"></a>**7 (EmailAlert)** — Sign up for [email alerts][ale]. Mnemonic: | |
| 496 | 508 | [Seven can wait][scw], I’ve got email to read now. |
| 497 | 509 | |
| 498 | -* <a name="A"></a>**A** — Send email announcements to users | |
| 510 | +* <a name="A"></a>**A (Announce)** — Send email announcements to users | |
| 499 | 511 | [signed up to receive them](#7). Mnemonic: **a**nnounce. |
| 500 | 512 | |
| 501 | -* <a name="D"></a>**D** — Enable debugging features. Mnemonic: | |
| 513 | +* <a name="D"></a>**D (Debug)** — Enable debugging features. Mnemonic: | |
| 502 | 514 | **d**ebug. |
| 503 | 515 | |
| 504 | 516 | |
| 505 | 517 | [ale]: ./alerts.md |
| 506 | 518 | [au]: /help?cmd=/artifact |
| 507 | 519 |
| --- www/capabilities.md | |
| +++ www/capabilities.md | |
| @@ -327,13 +327,15 @@ | |
| 327 | |
| 328 | ## <a name="ref"></a>Capability Reference |
| 329 | |
| 330 | This section documents each currently-defined user capability character |
| 331 | in more detail than the brief summary on the [user capability “key” |
| 332 | page](/setup_ucap_list). |
| 333 | |
| 334 | * <a name="a"></a>**a** — Admin users have all of the capabilities |
| 335 | below except for [setup](#s): they can create new users, change user |
| 336 | capability assignments, and use about half of the functions on the |
| 337 | Admin screen in Fossil UI. (And that is why that screen is now |
| 338 | called “Admin,” not “Setup,” as it was in old versions of Fossil!) |
| 339 | |
| @@ -359,148 +361,158 @@ | |
| 359 | For a much deeper dive into this topic, see the [Admin vs. Setup |
| 360 | article][avs]. |
| 361 | |
| 362 | Mnemonic: **a**dministrate. |
| 363 | |
| 364 | * <a name="b"></a>**b** — Add attachments to wiki articles or tickets. |
| 365 | Mnemonics: **b**ind, **b**utton, **b**ond, or **b**olt. |
| 366 | |
| 367 | * <a name="c"></a>**c** — Append comments to existing tickets. |
| 368 | Mnemonic: **c**omment. |
| 369 | |
| 370 | * <a name="d"></a>**d** — Delete wiki articles or tickets. Mnemonic: |
| 371 | **d**elete. |
| 372 | |
| 373 | * <a name="e"></a>**e** — View [personal identifying information][pii] |
| 374 | (PII) about other users such as email addresses. Mnemonics: show |
| 375 | **e**mail addresses; or **E**urope, home of [GDPR][gdpr]. |
| 376 | |
| 377 | * <a name="f"></a>**f** — Create new wiki articles. Mnemonic: |
| 378 | **f**ast, English translation of the Hawaiian word [*wiki*][wnh]. |
| 379 | |
| 380 | * <a name="g"></a>**g** — Clone the repository. Note that this is |
| 381 | distinct from [check-out capability, **o**](#o). Mnemonic: **g**et. |
| 382 | |
| 383 | * <a name="h"></a>**h** — Get hyperlinks in generated HTML which link |
| 384 | you to other parts of the repository. This capability exists and is |
| 385 | disabled by default for the “nobody” category to [prevent bots from |
| 386 | wandering around aimlessly][bot] in the site’s hyperlink web, |
| 387 | chewing up server resources to little good purpose. Mnemonic: |
| 388 | **h**yperlink. |
| 389 | |
| 390 | * <a name="i"></a>**i** — Check changes into the repository. Note that |
| 391 | a lack of this capability does not prevent you from checking changes |
| 392 | into your local clone, only from syncing those changes up to the |
| 393 | parent repo, and then [only over HTTP](#fssync). Mnemonic: check |
| 394 | **i**n changes. |
| 395 | |
| 396 | * <a name="j"></a>**j** — View wiki articles. Mnemonic: in**j**est |
| 397 | page content. (All right, you critics, you do better, then.) |
| 398 | |
| 399 | * <a name="k"></a>**k** — Edit wiki articles. Mnemonic: |
| 400 | **k**ontribute. |
| 401 | |
| 402 | * <a name="l"></a>**l** — Moderate [wiki article appends](#m). Appends |
| 403 | do not get saved permamently to the receiving repo’s block chain |
| 404 | until some user (one with this cap or [Setup cap](#s)) approves it. |
| 405 | Mnemonic: a**l**low. |
| 406 | |
| 407 | * <a name="m"></a>**m** — Append content to existing wiki articles. |
| 408 | Mmnemonics: a**m**end or **m**odify. |
| 409 | |
| 410 | * <a name="n"></a>**n** — File new tickets. Mnemonic: **n**ew ticket. |
| 411 | |
| 412 | * <a name="o"></a>**o** — Check data out from Fossil. This capability |
| 413 | has nothing to do with the ability to “open” a local repo clone or |
| 414 | switch branches in that clone. It only controls whether similar |
| 415 | operations over HTTP to a remote repo are allowed. You must have |
| 416 | this capability to view [embedded documentation][edoc], for example, |
| 417 | since that basically amounts to opening a file in the remote repo. |
| 418 | This capability also controls the [`/artifact`][au], [`/file`][fu], |
| 419 | and [`/raw`][ru] URLs. Mnemonic: check **o**ut file. |
| 420 | |
| 421 | * <a name="p"></a>**p** — Change one’s own password. Mnemonic: |
| 422 | **p**assword. |
| 423 | |
| 424 | * <a name="q"></a>**q** — Moderate tickets: comments appended to |
| 425 | tickets can be deleted by users with this capability. Mnemonic: |
| 426 | **q**uash noise commentary. |
| 427 | |
| 428 | * <a name="r"></a>**r** — View existing tickets. Mnemonic: **r**ead |
| 429 | tickets. |
| 430 | |
| 431 | * <a name="s"></a>**s** — The [all-powerful Setup user](#apsu). |
| 432 | Mnemonics: **s**etup or **s**uperuser. |
| 433 | |
| 434 | * <a name="t"></a>**t** — Create new ticket report formats. Note that |
| 435 | although this allows the user to provide SQL code to be run in the |
| 436 | server’s context, and this capability is given to the untrusted |
| 437 | “anonymous” user category by default, this is a safe capability to |
| 438 | give to users because it is internally restricted to read-only |
| 439 | queries on the tickets table only. (This restriction is done with a |
| 440 | SQLite authorization hook, not by any method so weak as SQL text |
| 441 | filtering.) Mnemonic: new **t**icket report. |
| 442 | |
| 443 | * <a name="u"></a>**u** — Inherit all capabilities of the “reader” |
| 444 | user category. Mnemonic: **u**ser, per [naming suggestion |
| 445 | above](#cat). |
| 446 | |
| 447 | * <a name="v"></a>**v** — Inheheit all capabilities of the “developer” |
| 448 | user category. Mnemonic: de**v**eloper. |
| 449 | |
| 450 | * <a name="w"></a>**w** — Edit existing tickets. Mnemonic: **w**rite |
| 451 | to ticket. |
| 452 | |
| 453 | * <a name="x"></a>**x** — Push or pull [private branches][pb]. |
| 454 | Mnemonic: e**x**clusivity; “x” connotes unknown material in many |
| 455 | Western languages due to its [traditional use in mathematics][lgrd] |
| 456 | |
| 457 | * <a name="y"></a>**y** — Push [unversioned content][uv]. Mnemonic: |
| 458 | **y**ield, [sense 4][ywik]: “hand over.” |
| 459 | |
| 460 | * <a name="z"></a>**z** — Pull archives of particular repository |
| 461 | versions via [`/zip`][zu], [`/tarball`][tbu], and [`/sqlar`][sau] |
| 462 | URLs. This is an expensive capability to assign, because creating |
| 463 | such archives can put a large load on [a Fossil server][svr], which |
| 464 | you may then need to [manage][load]. Mnemonic: **z**ip file |
| 465 | download. |
| 466 | |
| 467 | * <a name="2"></a>**2** — Read [forum posts][for] by other users. |
| 468 | Mnemonic: from thee **2** me. |
| 469 | |
| 470 | * <a name="3"></a>**3** — Create new forum threads, reply to threads |
| 471 | created by others, and edit one’s own posts. New posts are held for |
| 472 | [moderation][fmod], and they are marked to prevent them from being |
| 473 | included in clone and sync operations. Mnemonic: post for **3** |
| 474 | audiences: me, [the mods](#5), and [the Man][man]. |
| 475 | |
| 476 | * <a name="4"></a>**4** — Same as [**3**](#3) except that forum |
| 477 | updates bypass the [moderation and private artifact |
| 478 | restrictions][fmod]. Mnemonic: post 4 immediate release. |
| 479 | |
| 480 | * <a name="5"></a>**5** — [Moderate][fmod] forum posts. Note that this |
| 481 | capabilitty does not automatically grant [**4**](#4), so it is |
| 482 | possible to have a user that can create a new post via capability |
| 483 | [**3**](#3) and then approve that post immediately themselves with |
| 484 | *this* capability! Mnemonic: “May I have **5** seconds of your time, |
| 485 | honored Gatekeeper?” |
| 486 | |
| 487 | * <a name="6"></a>**6** — Users with this capability see a checkbox on |
| 488 | un-moderated forum posts labeled “Trust user X so that future posts |
| 489 | by user X do not require moderation.” Checking that box and then |
| 490 | clicking the moderator-only “Approve” button on that post grants |
| 491 | capability [**4**](#4) to that post’s author. There is currently no |
| 492 | UI for a user with capability **6** to remove trust from a user once |
| 493 | it is granted. Mnemonic: “I’m six of hitting Approve on your posts!” |
| 494 | |
| 495 | * <a name="7"></a>**7** — Sign up for [email alerts][ale]. Mnemonic: |
| 496 | [Seven can wait][scw], I’ve got email to read now. |
| 497 | |
| 498 | * <a name="A"></a>**A** — Send email announcements to users |
| 499 | [signed up to receive them](#7). Mnemonic: **a**nnounce. |
| 500 | |
| 501 | * <a name="D"></a>**D** — Enable debugging features. Mnemonic: |
| 502 | **d**ebug. |
| 503 | |
| 504 | |
| 505 | [ale]: ./alerts.md |
| 506 | [au]: /help?cmd=/artifact |
| 507 |
| --- www/capabilities.md | |
| +++ www/capabilities.md | |
| @@ -327,13 +327,15 @@ | |
| 327 | |
| 328 | ## <a name="ref"></a>Capability Reference |
| 329 | |
| 330 | This section documents each currently-defined user capability character |
| 331 | in more detail than the brief summary on the [user capability “key” |
| 332 | page](/setup_ucap_list). Each entry begins with the capability letter |
| 333 | used in the Fossil user editor followed by the C code’s name for that |
| 334 | cap within the `FossilUserPerms` object. |
| 335 | |
| 336 | * <a name="a"></a>**a (Admin)** — Admin users have *all* of the capabilities |
| 337 | below except for [setup](#s): they can create new users, change user |
| 338 | capability assignments, and use about half of the functions on the |
| 339 | Admin screen in Fossil UI. (And that is why that screen is now |
| 340 | called “Admin,” not “Setup,” as it was in old versions of Fossil!) |
| 341 | |
| @@ -359,148 +361,158 @@ | |
| 361 | For a much deeper dive into this topic, see the [Admin vs. Setup |
| 362 | article][avs]. |
| 363 | |
| 364 | Mnemonic: **a**dministrate. |
| 365 | |
| 366 | * <a name="b"></a>**b (Attach)** — Add attachments to wiki articles or tickets. |
| 367 | Mnemonics: **b**ind, **b**utton, **b**ond, or **b**olt. |
| 368 | |
| 369 | * <a name="c"></a>**c (ApndTkt)** — Append comments to existing tickets. |
| 370 | Mnemonic: **c**omment. |
| 371 | |
| 372 | * <a name="d"></a>**d (Delete)** — Delete wiki articles or tickets. Mnemonic: |
| 373 | **d**elete. |
| 374 | |
| 375 | * <a name="e"></a>**e (RdAddr)** — View [personal identifying information][pii] |
| 376 | (PII) about other users such as email addresses. Mnemonics: show |
| 377 | **e**mail addresses; or **E**urope, home of [GDPR][gdpr]. |
| 378 | |
| 379 | * <a name="f"></a>**f (NewWiki)** — Create new wiki articles. Mnemonic: |
| 380 | **f**ast, English translation of the Hawaiian word [*wiki*][wnh]. |
| 381 | |
| 382 | * <a name="g"></a>**g (Clone)** — Clone the repository. Note that this is |
| 383 | distinct from [check-out capability, **o**](#o). Mnemonic: **g**et. |
| 384 | |
| 385 | * <a name="h"></a>**h (Hyperlink)** — Get hyperlinks in generated HTML which link |
| 386 | you to other parts of the repository. This capability exists and is |
| 387 | disabled by default for the “nobody” category to [prevent bots from |
| 388 | wandering around aimlessly][bot] in the site’s hyperlink web, |
| 389 | chewing up server resources to little good purpose. Mnemonic: |
| 390 | **h**yperlink. |
| 391 | |
| 392 | * <a name="i"></a>**i (Write)** — Check changes into the repository. Note that |
| 393 | a lack of this capability does not prevent you from checking changes |
| 394 | into your local clone, only from syncing those changes up to the |
| 395 | parent repo, and then [only over HTTP](#fssync). Granting this |
| 396 | capability also grants **o (Read)**. Mnemonic: check **i**n |
| 397 | changes. |
| 398 | |
| 399 | * <a name="j"></a>**j (RdWiki)** — View wiki articles. Mnemonic: in**j**est |
| 400 | page content. (All right, you critics, you do better, then.) |
| 401 | |
| 402 | * <a name="k"></a>**k (WrWiki)** — Edit wiki articles. Granting this |
| 403 | capability also grants **j (RdWiki)** and **m (ApndWiki)**, but it |
| 404 | does *not* grant **f (NewWiki)**! Mnemonic: **k**ontribute. |
| 405 | |
| 406 | * <a name="l"></a>**l (ModWiki)** — Moderate [wiki article appends](#m). Appends |
| 407 | do not get saved permamently to the receiving repo’s block chain |
| 408 | until some user (one with this cap or [Setup cap](#s)) approves it. |
| 409 | Mnemonic: a**l**low. |
| 410 | |
| 411 | * <a name="m"></a>**m (ApndWiki)** — Append content to existing wiki articles. |
| 412 | Mmnemonics: a**m**end or **m**odify. |
| 413 | |
| 414 | * <a name="n"></a>**n (NewTkt)** — File new tickets. Mnemonic: **n**ew ticket. |
| 415 | |
| 416 | * <a name="o"></a>**o (Read)** — Check data out from Fossil. This capability |
| 417 | has nothing to do with the ability to “open” a local repo clone or |
| 418 | switch branches in that clone. It only controls whether similar |
| 419 | operations over HTTP to a remote repo are allowed. You must have |
| 420 | this capability to view [embedded documentation][edoc], for example, |
| 421 | since that basically amounts to opening a file in the remote repo. |
| 422 | This capability also controls the [`/artifact`][au], [`/file`][fu], |
| 423 | and [`/raw`][ru] URLs. Mnemonic: check **o**ut file. |
| 424 | |
| 425 | * <a name="p"></a>**p (Password)** — Change one’s own password. Mnemonic: |
| 426 | **p**assword. |
| 427 | |
| 428 | * <a name="q"></a>**q (ModTkt)** — Moderate tickets: comments appended to |
| 429 | tickets can be deleted by users with this capability. Mnemonic: |
| 430 | **q**uash noise commentary. |
| 431 | |
| 432 | * <a name="r"></a>**r (RdTkt)** — View existing tickets. Mnemonic: **r**ead |
| 433 | tickets. |
| 434 | |
| 435 | * <a name="s"></a>**s (Setup)** — The [all-powerful Setup user](#apsu). |
| 436 | Mnemonics: **s**etup or **s**uperuser. |
| 437 | |
| 438 | * <a name="t"></a>**t (TktFmt)** — Create new ticket report formats. Note that |
| 439 | although this allows the user to provide SQL code to be run in the |
| 440 | server’s context, and this capability is given to the untrusted |
| 441 | “anonymous” user category by default, this is a safe capability to |
| 442 | give to users because it is internally restricted to read-only |
| 443 | queries on the tickets table only. (This restriction is done with a |
| 444 | SQLite authorization hook, not by any method so weak as SQL text |
| 445 | filtering.) Mnemonic: new **t**icket report. |
| 446 | |
| 447 | * <a name="u"></a>**u** — Inherit all capabilities of the “reader” |
| 448 | user category; does not have a dedicated flag internally within |
| 449 | Fossil. Mnemonic: **u**ser, per [naming suggestion |
| 450 | above](#cat). |
| 451 | |
| 452 | * <a name="v"></a>**v** — Inheheit all capabilities of the “developer” |
| 453 | user category; does not have a dedicated flag internally within |
| 454 | Fossil. Mnemonic: de**v**eloper. |
| 455 | |
| 456 | * <a name="w"></a>**w (WrTkt)** — Edit existing tickets. Granting this |
| 457 | capability also grants **r (RdTkt)**, **c (ApndTkt)**, and **n |
| 458 | (NewTkt)**. Mnemonic: **w**rite to ticket. |
| 459 | |
| 460 | * <a name="x"></a>**x (Private)** — Push or pull [private branches][pb]. |
| 461 | Mnemonic: e**x**clusivity; “x” connotes unknown material in many |
| 462 | Western languages due to its [traditional use in mathematics][lgrd] |
| 463 | |
| 464 | * <a name="y"></a>**y (WrUnver)** — Push [unversioned content][uv]. Mnemonic: |
| 465 | **y**ield, [sense 4][ywik]: “hand over.” |
| 466 | |
| 467 | * <a name="z"></a>**z (Zip)** — Pull archives of particular repository |
| 468 | versions via [`/zip`][zu], [`/tarball`][tbu], and [`/sqlar`][sau] |
| 469 | URLs. This is an expensive capability to assign, because creating |
| 470 | such archives can put a large load on [a Fossil server][svr], which |
| 471 | you may then need to [manage][load]. Mnemonic: **z**ip file |
| 472 | download. |
| 473 | |
| 474 | * <a name="2"></a>**2 (RdForum)** — Read [forum posts][for] by other users. |
| 475 | Mnemonic: from thee **2** me. |
| 476 | |
| 477 | * <a name="3"></a>**3 (WrForum)** — Create new forum threads, reply to threads |
| 478 | created by others, and edit one’s own posts. New posts are held for |
| 479 | [moderation][fmod], and they are marked to prevent them from being |
| 480 | included in clone and sync operations. Granting this capability also |
| 481 | grants **2 (RdForum)**. Mnemonic: post for **3** |
| 482 | audiences: me, [the mods](#5), and [the Man][man]. |
| 483 | |
| 484 | * <a name="4"></a>**4 (WrTForum)** — Extends cap [**3**](#3) so that |
| 485 | forum updates bypass the [moderation and private artifact |
| 486 | restrictions][fmod]. Granting this capability also grants **2 |
| 487 | (RdForum)**. Mnemonic: post 4 immediate release. |
| 488 | |
| 489 | * <a name="5"></a>**5 (ModForum)** — [Moderate][fmod] forum posts. Note that this |
| 490 | capabilitty does not automatically grant [**4**](#4), so it is |
| 491 | possible to have a user that can create a new post via capability |
| 492 | [**3**](#3) and then approve that post immediately themselves with |
| 493 | *this* capability! Granting this capability also grants caps **4 |
| 494 | (WrTForum)** and **2 (RdForum)**. Mnemonic: “May I have **5** |
| 495 | seconds of your time, honored Gatekeeper?” |
| 496 | |
| 497 | * <a name="6"></a>**6 (AdminForum)** — Users with this capability see a checkbox on |
| 498 | un-moderated forum posts labeled “Trust user X so that future posts |
| 499 | by user X do not require moderation.” Checking that box and then |
| 500 | clicking the moderator-only “Approve” button on that post grants |
| 501 | capability [**4**](#4) to that post’s author. There is currently no |
| 502 | UI for a user with capability **6** to remove trust from a user once |
| 503 | it is granted. Granting this capability also grants cap **5 |
| 504 | (ModForum)** and those it in turn grants. |
| 505 | Mnemonic: “I’m six of hitting Approve on your posts!” |
| 506 | |
| 507 | * <a name="7"></a>**7 (EmailAlert)** — Sign up for [email alerts][ale]. Mnemonic: |
| 508 | [Seven can wait][scw], I’ve got email to read now. |
| 509 | |
| 510 | * <a name="A"></a>**A (Announce)** — Send email announcements to users |
| 511 | [signed up to receive them](#7). Mnemonic: **a**nnounce. |
| 512 | |
| 513 | * <a name="D"></a>**D (Debug)** — Enable debugging features. Mnemonic: |
| 514 | **d**ebug. |
| 515 | |
| 516 | |
| 517 | [ale]: ./alerts.md |
| 518 | [au]: /help?cmd=/artifact |
| 519 |