((META (EMPTY-STRING title "API: Encoding of Zettel Access Rights") (WORD role "manual") (TAG-SET tags ("#api" "#manual" "#reference" "#zettelstore")) (WORD syntax "zmk") (ZID-SET back ("00001012051200" "00001012051400" "00001012053200" "00001012053300" "00001012053400" "00001012054200" "00001012920528")) (ZID-SET backward ("00001012051200" "00001012051400" "00001012053200" "00001012053300" "00001012053400" "00001012054200" "00001012920528")) (WORD box-name "manual") (STRING copyright "(c) 2020-present by Detlef Stern ") (TIMESTAMP created "20220201173115") (ZID-SET forward ("00001003000000" "00001006020400" "00001010040100" "00001010040200" "00001010070200" "00001010070300")) (WORD lang "en") (EMPTY-STRING license "EUPL-1.2-or-later") (TIMESTAMP modified "20260714200809") (TIMESTAMP published "20260714200809") (WORD visibility "public")) (BLOCK (PARA (TEXT "Various API calls return a symbolic expression ") (LITERAL-INPUT () "(rights ...)") (TEXT ", where ") (LITERAL-INPUT () "...") (TEXT " is a sequence of zero or more symbols.") (SOFT) (TEXT "These symbols encode the access rights the user currently has.")) (PARA (TEXT "Valid symbols are: ") (LITERAL-INPUT () "create") (TEXT ", ") (LITERAL-INPUT () "read") (TEXT ", ") (LITERAL-INPUT () "update") (TEXT ", and ") (LITERAL-INPUT () "delete") (TEXT ".")) (TABLE () (ROW () (CELL () (TEXT "Symbol")) (CELL () (TEXT "Meaning for user"))) (ROW () (CELL () (LITERAL-INPUT () "create")) (CELL () (TEXT "May create a new zettel"))) (ROW () (CELL () (LITERAL-INPUT () "read")) (CELL () (TEXT "May read the zettel"))) (ROW () (CELL () (LITERAL-INPUT () "update")) (CELL () (TEXT "May update the zettel"))) (ROW () (CELL () (LITERAL-INPUT () "delete")) (CELL () (TEXT "May delete the zettel")))) (PARA (TEXT "In practice, not all combinations of rights occur.") (SOFT) (TEXT "A Zettelstore in ") (LINK () (ZETTEL "00001010000000#read-only") (TEXT "read-only mode")) (TEXT " always returns the symbol ") (LITERAL-INPUT () "read") (TEXT ".") (SOFT) (TEXT "A Zettelstore started by ") (LINK () (ZETTEL "00001003000000") (TEXT "double-clicking")) (TEXT " returns either the expression ") (LITERAL-INPUT () "(rights read update)") (TEXT " or the expression ") (LITERAL-INPUT () "(rights create read update delete)") (TEXT " (all operations are allowed).")) (PARA (TEXT "If you have added an additional ") (LINK () (ZETTEL "00001010040200") (TEXT "user")) (TEXT " to your Zettelstore, the returned rights may differ.") (SOFT) (TEXT "The access rights are determined by the ") (LINK () (ZETTEL "00001010040100") (TEXT "enabled authentication")) (TEXT " settings, the ") (LINK () (ZETTEL "00001010070300") (TEXT "user role")) (TEXT " of the current user, the ") (LINK () (ZETTEL "00001010070200") (TEXT "visibility rules")) (TEXT " for a given zettel, and the ") (LINK () (ZETTEL "00001006020400") (TEXT "read-only status")) (TEXT " for the zettel."))))