Forum OpenACS Q&A: acknowledgement module available?
I believe the lawyers told them it wasn't required and thus it was never built.
Some interesting requirements came out of the discussion. For instance it maybe important for legal reasons to record the IP address and current password of the user at the moment they click.
It would be smart to implement it so it could be applied to a whole site, a subsite, or to specific programmer specified funcitonality within a package. (e.g. you don't need to "sign" to view data on but you do need to to upload your own data).
The new authentication stuff has a provision for checking whether an account is open or not.
Look in acs-authentication/tcl/authentication-procs.tcl
At first i have thought about making a singleton package that allows assigning an acknowledgement to the whole site or to a specific openacs-group. But it would also be possible to create the package as a multiple mountable package that gets its "context" via the nearest subsite/community. That is probably the most flexible solution.
could you explain what you mean by "programmer specified funcitonality" in more detail? What kind of data could be useful to upload for an acknowledgement?
For the signing process i thought about several modes. The acknowledgment module could ask users to mark a checkbox, enter a phrase (something like "YES") or to enter their password.
that´s a really good idea. right now i was checking how i could stop the users from using the system if they do not sign the acknowledgement in time :) but probably this should only apply to "whole-site" acknowledgements.
Publishing Personal Data
A school decides they need a legal authorization before they can show a student's photo graph on the web. Thus the authroization form should pop up just before the student uploads thier photo.
A company sets up a file storage area and anyone with access can post a file thier. However, if you want to see a file you have to sign thier non-disclosure agreement first.
I'm thinking that your package could supply a tcl API like:
ad_mayberedirect_for_agreement -form "Blah-nondisclosure"
Another possible feature:
Ability to rerequire people to sign.
For instance there is a court case and the lawyer tells your company that they're old agreements are meaningless must reword all thier aggreements and get all new signatures. They need to be able to upload a new version and reset all the users agreed_p to 'f'.
On the other hand someone finds a typo, you need to upload a new version but not reset agreed_p.