Forum OpenACS Q&A: assessment and user registration integration

Changes to the code commited last month added capability to support additional registration fields using assessment. The following were done to make this work:

1. added parameters to acs-subsite (RegistrationImplName and RegistrationId)
2. added a user::registration callback to get the url of the registration page to use
3. modification of acs-subsite/lib/user-new.tcl to make use of 1 and 2 and redirect as necessary
4. added a user registration action to the assessment package which should be called in the assessment you use.

I've been testing this and all's ok until the point where you want to edit the info collected. It seems that you can't point to the original assessment as it contains the action to create the user locally.

Since the original intention was to collect additional info, would it make more sense if registration is kept to execute inside acs-subsite/lib/user-new.tcl then have the url returned by the user::registration callback be used as the value of "next_url" instead? I think that any additional requirement for user creation should be kept inside auth::registration::Register implementations such as what auth-ldap does.

Moving it to next_url would give the following:

ADVANTAGES:
1. use the same assessment for registration and update of user info
2. no need to copy registration code inside an assessment action (and make sure that they are always compatible)
3. easier to mix auth implementations with additional info collected by assessment (e.g. auth-ldap + assessment)

DISADVANTAGES:
1. a 2nd page is needed to collect the additional info

Thoughts? Suggestions?

Collapse
Posted by Jun Yamog on
Hi Deds,

I think Authentication package has a registration url for its authentication authorities. Although it seems that older login page did not use this registration url field. I am not familiar with assessment so maybe your requirement maybe different.