(((meta (@ (content . "Visibility rules for zettel") (name . "title"))) (meta (@ (content . "manual") (name . "role"))) (meta (@ (content . "#authorization #configuration #manual #security #zettelstore") (name . "tags"))) (meta (@ (content . "zmk") (name . "syntax"))) (meta (@ (content . "00001010000000 00001010070300 00001012051200 00001012921200 00001017000000") (name . "back"))) (meta (@ (content . "00001004020000 00001006020000 00001010000000 00001010070300 00001012051200 00001012921200 00001017000000") (name . "backward"))) (meta (@ (content . "1") (name . "box-number"))) (meta (@ (content . "(c) 2020-present by Detlef Stern ") (name . "copyright"))) (meta (@ (content . "20210126175322") (name . "created"))) (meta (@ (content . "00000000000004 00000000020001 00000000040001 00001004010000 00001004020000 00001006020000 00001006030500 00001007700000 00001010040100 00001014000000") (name . "forward"))) (meta (@ (content . "en") (name . "lang"))) (meta (@ (content . "EUPL-1.2-or-later") (name . "license"))) (meta (@ (content . "20220923104643") (name . "modified"))) (meta (@ (content . "20220923104643") (name . "published"))) (meta (@ (content . "public") (name . "visibility")))) (p "For every zettel you can specify under which condition the zettel is visible to others." " " "This is controlled with the metadata key " (a (@ (href . "00001006020000#visibility")) (kbd "visibility")) "." " " "The following values are supported:") (dl (dt (a (@ (id . "public")) (@L (@H "“") "public" (@H "”")))) (dd (p "The zettel is visible to everybody, even if the user is not authenticated.")) (dt (a (@ (id . "login")) (@L (@H "“") "login" (@H "”")))) (dd (p "Only an authenticated user can access the zettel.") (p "This is the default value for " (a (@ (href . "00001004020000#default-visibility")) (kbd "default-visibility")) ".")) (dt (a (@ (id . "creator")) (@L (@H "“") "creator" (@H "”")))) (dd (p "Only an authenticated user that is allowed to create new zettel can access the zettel.")) (dt (a (@ (id . "owner")) (@L (@H "“") "owner" (@H "”")))) (dd (p "Only the owner of the Zettelstore can access the zettel.") (p "This is for zettel with sensitive content, e.g. the " (a (@ (href . "00001004020000")) "configuration zettel") " or the various zettel that contains the templates for rendering zettel in HTML.")) (dt (a (@ (id . "expert")) (@L (@H "“") "expert" (@H "”")))) (dd (p "Only the owner of the Zettelstore can access the zettel, if runtime configuration " (a (@ (href . "00001004020000#expert-mode")) (kbd "expert-mode")) " is set to a " (a (@ (href . "00001006030500")) "boolean true value") ".") (p "This is for zettel with sensitive content that might irritate the owner." " " "Computed zettel with internal runtime information are examples for such a zettel."))) (p "When you install a Zettelstore, only " (a (@ (href . "?q=visibility%3Apublic")) "some zettel") " have visibility " (@L (@H "“") "public" (@H "”")) "." " " "One is the zettel that contains " (a (@ (href . "00000000020001")) "CSS") " for displaying the " (a (@ (href . "00001014000000")) "web user interface") "." " " "This is to ensure that the web interface looks nice even for not authenticated users." " " "Another is the zettel containing the Zettelstore " (a (@ (href . "00000000000004")) "license") "." " " "The " (a (@ (href . "00000000040001")) "default image") ", used if an image reference is invalid, is also public visible.") (p "Please note: if " (a (@ (href . "00001010040100")) "authentication is not enabled") ", every user has the same rights as the owner of a Zettelstore." " " "This is also true, if the Zettelstore runs additionally in " (a (@ (href . "00001004010000#read-only-mode")) "read-only mode") "." " " "In this case, the " (a (@ (href . "00001004020000")) "runtime configuration zettel") " is shown (its visibility is " (@L (@H "“") "owner" (@H "”")) ")." " " "The " (a (@ (href . "00001004010000")) "startup configuration") " is not shown, because the associated computed zettel with identifier " (kbd "00000000000096") " is stored with the visibility " (@L (@H "“") "expert" (@H "”")) "." " " "If you want to show such a zettel, you must set " (kbd "expert-mode") " to true.") (h2 (@ (id . "examples")) "Examples") (p "By using a " (a (@ (href . "00001007700000")) "query expression") ", you can easily create a zettel list based on the " (kbd "visibility") " metadata key:") (table (tbody (tr (td "public") (td (a (@ (href . "?q=visibility%3Apublic")) "visibility:public"))) (tr (td "login") (td (a (@ (href . "?q=visibility%3Alogin")) "visibility:login"))) (tr (td "creator") (td (a (@ (href . "?q=visibility%3Acreator")) "visibility:creator"))) (tr (td "owner") (td (a (@ (href . "?q=visibility%3Aowner")) "visibility:owner"))) (tr (td "expert") (td (a (@ (href . "?q=visibility%3Aexpert")) "visibility:expert") (sup (@ (id . "fnref:1")) (a (@ (class . "zs-noteref") (href . "#fn:1") (role . "doc-noteref")) "1")))))))