This is an old revision of the document!
Although not a manifested role by itself, anyone having an account can most likely invoke a few procedures from User Accounts and Roles.
Parameter: Username
A user should be able to see his own account details and what rights he has, from the User Accounts and Roles section. It might also be a good idea to show all the exercises from Exercise Management and Sheets and exams from Exam Management and Grades to every user, so visibility of these basic top elements and theirs attributes is not bound to any specific role and these roles only grant more rights for individual elements.
# the current implementation also changes the username, i.e. it would need an additional parameter, # I can't support it and I would forbid it anyway. changeAttributes(ident uid, ident username, string firstName, string lastName) { assume exists /account[uid]/admin || uid = username; assume exists /account[username]; # implicitly true in OO implementations update /account[username]/firstName firstName; update /account[username]/lastName lastName; }
changePassword(ident uid, ident username, string password) { assume exists /account[uid]/admin || uid = username; assume exists /account[username]; # implicitly true in OO implementations update /account[username]/password password; }