le Wed, Jul 07, 2004 at 11:33:34PM +0100 par Dr. D. R. Newman :
> I needed, for several Tikiwiki sites, to collect extra information
> when people register. On http://www.tikiwiki.org we want to be able to
> contact people who register in particular constituencies, and
> invite them to local meetings. On sites set up for my students,
- no, http://www.tikiwiki.org don't want to do such things, I prefer it's
clear that what you talk about is a possible example of need, and not
a marketing plan for the future :)
> I want to know which modules they are studying. None of this is
> found in the standard user registration data.
>
> The solution I implemented is to link registration to a tracker.
>
> 1. From the login admin page I can select a tracker.
> 2. From the tracker field admin page I can select particular
> fields to be presented on the registration form.
> 3. Then when someone goes to register, they see the standard
> registration fields, followed by the selected fields from the
> selected tracker.
> 4. When the registration is accepted, the values they completed
> for the extra fields is stored in the tracker. (If your tracker
> includes fields called 'name' or 'email', the chosen username
> or e-mail address is stored in the tracker as well as the
> users table.)
- Actually I got exactly the same idea and implemented it in 1.9 since
january. It's not following exactly the same logics but it's not far.
It's not obvious so I feel the need to be a little verbose on how it
works (someone else asked me about it recently).
1. in admingroup you select a tracker for extra group information and
extra user information if they are in that group. The field used to
match the login is setup there too.
2. in trackers the fields scheme includes a password clear field, in
more than the login field, plus email address, and all the extra
information I need. And also 1 buttons to automate the registration
by the moderator. There is also the need for a user-type
field with option 1 to specify it's an author field. that field is
used to grant write access to the user only to his tracker file.
The auto-inclusion in the group could be more easy, to solve it I
added a second action field, that means that moderation of accounts is
not a one-click operation yet (but should be, if I implement the
"multi-action field type").
3. I put on a wiki page a plugin Tracker that will then display the
form of account request, replacing the register page.
4. user tracker items are configured as pending at creation, then
admin has to review accounts requests in the tracker and when an
account is okey to click on the action button. The action field type
in 1.9 adds the possibility to use all the fields in the current
tracker item to build a post or a get request to another page. I used
it there for egistering accounts but it could be used fore many other
things.
5. When the user account is created, his usertracker id follow him,
and a new tab in user-information page displays the extra informations
extracted from tracker item.
>
> I also added the ability to set passcodes per group. So you can
> send out a promotion inviting people to enter a special
> passcode on registration. When they use the passcode, they
> are immediately made a member of that group.
- in my case that is solved by using different pages with different
params to the tracker plugin.
>
> I made the modifications on tikiwiki 1.8.3 (as I'm going to
> put them into use on a production system). I've zipped up
> all the changed files, and uploaded them to the Patches
> section on Sourceforge. There are also some database
> changes needed:
>
> # adding field for group passcode feature
> ALTER TABLE `users_groups` ADD `groupPass` VARCHAR( 64 );
> # adding data for linking registration to a tracker
> ALTER TABLE `tiki_tracker_fields` ADD `isRegister` CHAR(1);
> INSERT INTO `tiki_preferences` (name, value) VALUES
> ('registerTrackerId', '0');
- your system sounds good, simple and not heavy. Mine is already
integrated in 1.9 and required huge patching, with adding a special
perms scheme for tracker items depending on author field (which is
quite new in tiki, as we usually use the perms system rather than
direct from-object permissions).
I documented it extensively, but in french, thinking that translators
could help porting it on doc.tw.o. : http://fr.tikiwiki.org/Formulaires
and more specificaly http://fr.tikiwiki.org/tiki-index.php?page_ref_id=34
for the topic we are talking about.
Well, translating that doc should be a focus for the 1.9 final. Anyone
can help ?
cheers,
mose
|