I have a need to add several fields to the user information. I can't decide what the best method to acomplish this is. I need for these fields to be visible only to the user, and the teachers of any courses they are enrolled in. This information is institution specific. I considered just hacking it into Moodle's user code, but this seems to be a bad idea in consideration of future upgrade difficulty. Is there a good way to extend the user information to accomplish my goal?
I would extend the user code that exists if I thought it might be included future releases. I need to basically have the ability for a user to have 2 addresses in the system, as well as a student id, that is assigned by the institution, as well as a few other fields, like job title, and state/province, and zip code. I would say the best way to handle an arbitrary number of addresses would be to create a table of address with a foriegn key for the Moodle user id. I would like for the job title choices to be added by the site admin, and just have a drop down list populated from the database. I could also create a table to hold other abitrary info by having a table that contains a name field, a description field, and a foriegn key for the user id. Then admins can add fields as needed to suit their institution.
I considered creating an activity module, but have since decided that may not be the best way. I look forward to hearing from people with ideas, I'm a fairly new Moodle developer, and I have been amazed by the amount of support people get on these forums.