This is an old revision of the document!
A guest is basically everyone who does not have an account, i.e. no other associated role. Guests probably can't do much, but they can create an account.
Guests really don't need to see anything, just that the system “is there” and a screen to login and register. Registration is free to students and no one else needs to see anything.
createStudentAccount(ident username, ident studentId, string lastName, string firstName, string email, string password, string code) { assume not exists /account[username]; assume count(studentId, /account/student/id) = 0; insert / <account username=[username] lastName=[lastName] firstName=[firstName] email=[email] password=[password] code=[code]> <student id=[studentId] /> </account> }