Forum OpenACS Q&A: Adding field to main schema.
Can I make a pitch to add a field to the Person object? It looks
like the Persons table is the place where a user/party/person's first
and last names are stored, I would like to add a "Salutation"
or "Greeting" field to this table, to contain traditional titles
like "Mr.", "Mrs.", "Dr.", "Sr.", etc.
I think this would be helpful because there isn't any other place
really to keep this data, and it seems wasteful to create a table
just for this field.
I could probably make a case for a "Suffix" as well (e.g. Jr., II,
III), but in the project I am currently working on this is less
The whole persons/party etc is leftover cruft from the original hack in ACS prior to any versions. It is not even close to being usable for anything except what it was designed for i.e. community membership etc. You really should create new tables that do the right thing and "inherit" from persions
Then you add your other fields. This way you get the important info and if you want to change the first_names, last_name in your new table you could do that also (via a trigger in your table or some code changes in the core).
Don't change the core unless you need to and I for one say it isn't needed. When you change the core you break things. It is very easy to create the tables you need and inherit from that.
If you use HR-XML standards you can even make it a package to be ADDED to openacs. In fact I already have that module done in my contact manager package and will try to find time to make it stand alone. Notice I said try, that said I think acs-person is needed and I will add it to my list.