Forum OpenACS Q&A: extending user's profile information

Posted by Vince T on
I would like to extend the user's profile information to include
things like contact information. What would the best way to go about
this. Should I be looking to create tables, alter existing tables, or
should I be using some built in functinality to add attributes.

Any suggestions would be appreciated.


Posted by Don Baccus on
Take a look at the profile-provider and user-profile packages that are
now in the OpenACS 4 development branch (if you're using OpenACS 4,
that is).
Posted by Vince T on
Hi Don,

Thanks for the help, I'm kinda new and a bit of retard getting around oacs, cvs, etc. I'm using oacs-4-5b1. So I just checked out a copy of the devel branch as per one of your posts using this command:

cvs checkout -d openacs-4-devel openacs-4

Is this the correct branch? Anyway, I was looking through the packages and couldn't find the profile-provider and user-profile packages you were referring to. Am I even looking at the right place for this (I assume it would be in the packages directory)?

Thanks again.

Posted by Arjun Sanyal on

I tried the same command and all the packages refused to be downloaded. Ug. It appears that there is a bug in cvs when (somtimes?) using the "-d" command with "checkout".

The development tree is actually not a branch, but simply the most current version of the trunk (aka HEAD in cvs-speak). cd to a temp directory and issue:

1. "cvs -d login"

2. hit return for the password

3. "cvs -z3 -d checkout openacs-4"

And you will get the HEAD version. Then move/rename the "openacs-4" directory.

Posted by Roger Williams on
I am not familiar with the profiler stuff but, ...

I just created a table with user_id (or maybe party_id) as the foreign key, then modified the save personal info screen (accessible from the workspace) to save and restore the additional fields to the new table I created.


Posted by Cathy Sarisky on
Just a note from my experience with 3.2.5.  Changes to the user table (at least in 3.x) such as adding additional columns are a BAD idea.  Certain parts of the code do a 'select * from users' and then union/intersect.  I added an extra column at one point to the users table and found that other modules broke in interesting and non-obvious ways.  Then I got to have the fun of dropping and recreating the users table.  It was ugly, and of course I hadn't backed up recently enough. :(

This is not to say that you CANNOT add a column, just that you should be aware that adding a column can cause undesired consequences in modules you've never looked at.

I'm still working with 3.2.5, having not enough time/energy to upgrade my mind to 4.5.  Things are pretty snarly in there in spots.  Changes to the core data model are probably not a good idea.

Posted by Vince T on

Thanks, I downloaded the HEAD but still could not find the profile-provider or user-profile packages.

Don, should it be located in packages/?

Anyway, I'll probably stick to what Roger suggested. Just was wondering what these packages had in it.

Thanks again...

Posted by Reuven Lerner on
Hmm, I just posted a note an hour or so ago asking about user-specific attributes (as in OpenACS 3.x), rather than group-specific attributes (as seems to be the default in OpenACS 4.x).  It sounds from this discussion as though the user-profile and/or profile-provider packages are the way to go.

Unfortunately, I also don't see either of these when I check out the latest CVS version.  I'm sure that I'm missing something obvious here, but a clear explanation of where to find these packages would be greatly appreciated.

Posted by Tilmann Singer on
The packages user-profile and profile-provider are in the dotlrn cvs tree, not in openacs-4. Are they supposed to be integrated in OpenACS?
Posted by Rafael Calvo on
Is there any documentation for user-profile or profile-provider?
only the data models? who is writting this?