(BLOCK (PARA (TEXT "A zettel can be marked as read-only, if it contains a metadata value for key") (SOFT) (LINK-ZETTEL () "00001006020000#read-only" (LITERAL-INPUT () "read-only")) (TEXT ".") (SOFT) (TEXT "If user authentication is ") (LINK-ZETTEL () "00001010040100" (TEXT "enabled")) (TEXT ", it is possible to allow some users to change the zettel,") (SOFT) (TEXT "depending on their ") (LINK-ZETTEL () "00001010070300" (TEXT "user role")) (TEXT ".") (SOFT) (TEXT "Otherwise, the read-only mark is just a binary value.")) (HEADING 1 () "no-authentication" "no-authentication" (TEXT "No authentication")) (PARA (TEXT "If there is no metadata value for key ") (LITERAL-INPUT () "read-only") (TEXT " or if its ") (LINK-ZETTEL () "00001006030500" (TEXT "boolean value")) (SOFT) (TEXT "is interpreted as ") (FORMAT-QUOTE () (TEXT "false")) (TEXT ", anybody can modify the zettel.")) (PARA (TEXT "If the metadata value is something else (the value ") (FORMAT-QUOTE () (TEXT "true")) (TEXT " is recommended),") (SOFT) (TEXT "the user cannot modify the zettel through the ") (LINK-ZETTEL () "00001014000000" (TEXT "web user interface")) (TEXT ".") (SOFT) (TEXT "However, if the zettel is stored as a file in a ") (LINK-ZETTEL () "00001004011400" (TEXT "directory box")) (TEXT ",") (SOFT) (TEXT "the zettel could be modified using an external editor.")) (HEADING 1 () "authentication-enabled" "authentication-enabled" (TEXT "Authentication enabled")) (PARA (TEXT "If there is no metadata value for key ") (LITERAL-INPUT () "read-only") (TEXT " or if its ") (LINK-ZETTEL () "00001006030500" (TEXT "boolean value")) (SOFT) (TEXT "is interpreted as ") (FORMAT-QUOTE () (TEXT "false")) (TEXT ", anybody can modify the zettel.")) (PARA (TEXT "If the metadata value is the same as an explicit ") (LINK-ZETTEL () "00001010070300" (TEXT "user role")) (TEXT ",") (SOFT) (TEXT "users with that role (or a role with lower rights) are not allowed to modify the zettel.")) (DESCRIPTION ((FORMAT-QUOTE () (TEXT "reader"))) (BLOCK (BLOCK (PARA (TEXT "Neither an unauthenticated user nor a user with role ") (FORMAT-QUOTE () (TEXT "reader")) (TEXT " is allowed to modify the zettel.") (SOFT) (TEXT "Users with role ") (FORMAT-QUOTE () (TEXT "writer")) (TEXT " or the owner itself still can modify the zettel.")))) ((FORMAT-QUOTE () (TEXT "writer"))) (BLOCK (BLOCK (PARA (TEXT "Neither an unauthenticated user, nor users with roles ") (FORMAT-QUOTE () (TEXT "reader")) (TEXT " or ") (FORMAT-QUOTE () (TEXT "writer")) (TEXT " are allowed to modify the zettel.") (SOFT) (TEXT "Only the owner of the Zettelstore can modify the zettel."))))) (PARA (TEXT "If the metadata value is something else (one of the values ") (FORMAT-QUOTE () (TEXT "true")) (TEXT " or ") (FORMAT-QUOTE () (TEXT "owner")) (TEXT " is recommended),") (SOFT) (TEXT "no user is allowed modify the zettel through the ") (LINK-ZETTEL () "00001014000000" (TEXT "web user interface")) (TEXT ".") (SOFT) (TEXT "However, if the zettel is accessible as a file in a ") (LINK-ZETTEL () "00001004011400" (TEXT "directory box")) (TEXT ",") (SOFT) (TEXT "the zettel could be modified using an external editor.") (SOFT) (TEXT "Typically the owner of a Zettelstore have such an access.")))