In the following I will use the term 'dotlrn roles' for the different user types that can occur in dotlrn, of which there are currently these 4 as far as I understand: student, professor, admin and external. Please correct me if there are more or if dotlrn role is the wrong term for that.
I wonder if and how it would be possible to add new such dotlrn roles, or remove existing ones.
For each dotlrn role creation, there seem to be 4 sql scripts:
student-profile-provider-create.sql
students-create.sql
students-init.sql
students-package-create.sql
Imagine I want to add an additional role 'alumni', would it be safe to assume that it could be achieved by adding 4 files like this with the appropriate replacements of the word 'student' by 'alumni', or are there other places in the code where dotlrn roles are defined, apart from hardcoded special behaviour that depends on role membership?
Likewise, if I want to remove the 'professor' role from appearing in my installation, could I just run all the associated drop scripts, or remove the create scripts and re-install? (Yes I know I should try that myself, will do so soon but maybe someone has tried it before).
Anyone has experiences, general thoughts or hints concerning such modifications of dotlrn roles?
And one more question about the profile-provider: for example in student-profile-provider-create.sql function calls like dotlrn_student_profile_provider::prettyName are registered, but I can't find where they are defined - what is getting executed when this implementation is called?