Hello! This module seems to be exactly what I need, if only I could figure out how to configure it successfully.
I am a middle school teacher, and am trying to setup the registration area of my team's website prior to the new school year in September. Both parents and students will be registering, and I would like to have them fill out different information depending on whether they are a parent or student.
I have read the "Read Me" file, but find it too difficult to follow. I am generally quite adept at installing and configuring most Drupal modules, but this one seems to be beyond me.
I have previously installed the pageroute and nodeprofile modules. I tried to figure out how to configure pageroute, but none of the content types seem to list "registration" so I don't know how to configure pageroute to work with nf_registration_mod.
Would anyone be willing to talk me through, step-by-step, how to configure this?
Basically, what I want to happen is this:
1. New registrant comes to the site to register. Clicks on Create New Account.
2. Registrant selects "Parent" or "Student" from a drop down list.
3. If Parent, they are asked to fill in information in fields "A", "B", and "C". If Student, they are asked to fill in information in fields "A", "B", "D", and "E".
4. After submitting, students are assigned the role of "student", and parents are assigned the role of "parent".
Any help would be much appreciated! Thank you!
| Comment | File | Size | Author |
|---|---|---|---|
| #13 | pageroute2.Jpg | 58.41 KB | misterlawrence |
| #12 | pageroute1.Jpg | 84.85 KB | misterlawrence |
Comments
Comment #1
rconstantine commentedI'm afraid I don't have time right now for a more detailed walkthrough. I thought the example I gave in the README was quite thorough.
Perhaps you are not understanding the nodeprofile module? You must create several content types yourself that you will use for the 'pages' of the registration process. There are no content types related to registration because you haven't made them yet. You need to get all of the CCK modules you may need and create the content types one at a time. Once you've created them, you need to follow the READMEs from the nodeprofile and pageroute modules to first make them lonely nodes and then organize them into pageroutes.
Note that until I fix the module, it looks like you have to use email verification.
Comment #2
misterlawrence commentedrconstantine,
Thanks for the reply.
If I understand you correctly, it sounds like your module doesn't use the standard registration screens that drupal serves up ordinarily.
I had used PROFILES to create my registration fields. Was this incorrect? Should I delete those fields, and instead use CCK (which I have not yet installed, but will try out shortly) to create the registration fields?
-David
Comment #3
rconstantine commentedRight. If you have read all of the docs for nodeprofile, you will see that it is making profiles out of nodes (that's why it's named nodeprofile). Nodes are made from content types. Content types are made by you and CCK. You should disable the profile module as it is a piece of crap in this case. I'm sure it is fine for many uses, but not this one. There are many tutorials available for both nodeprofile and pageroute. If you read them (but don't do them) and then read my README again, you should be able to figure this out. Having just reread the README, I'm not sure why you would think to try and use the PROFILE module in the first place. I do not list it as a requirement. I also clearly state that you must create content types, which PROFILE doesn't do.
I don't mean to get after you, but it seems you haven't read the basic materials for the modules involved.
Comment #4
misterlawrence commentedHi rconstantine,
Thanks for your followup note. You are correct: I did not read all the documentation for all of the required modules. I found your module first (it was the one that I was interested in) and then downloaded all the additional required modules. I assumed that the documentation for nf_registration_mod would cover everything I needed to know in order to get the module working. That has generally been the case for all the "simple" modules that I had installed prior to that.
nf_registration_mod is a much more complex module than the other ones I have used. I am guessing that your documentation is easier to follow once a user has a good working knowledge of all the other required modules such as nodeprofile. For me, it was kind of a "chicken-or-egg" dilemma. Which module should I try to understand first? Since your module was the one that I was really interested in using, it was the one that I tried to learn first. After that didn't work, I tried to take a stab at pageroute, but was equally flummoxed. Then I simply gave up.
I am going to give it one more try, and I'll let you know when I get stuck!
Here are your instructions, along with the steps I've taken or questions I have:
--SETUP/INSTALL--
Before you activate this module you should probably do these things:
used for global settings and user data is stored in the user's 'data' field.
So can you outline what my next steps are?
What should I use next: noteprofile or pageroute?
Any guidance would be appreciated! I think I am on my way to figuring this thing out! Thanks so much for your continued assistance!
Warmly,
David
Comment #5
rconstantine commentedFirst, yes I meant in your head or on paper for the steps you mentioned.
The next thing you would do is jump down to the USAGE section of the README and make sure all nodeprofile related settings are correct for each content type you created - this is critical so that you don't get duplicate info or confusing navigation. Then you would set up your pageroutes. You set up one for each membership type. I think that is covered, or at least mentioned in the USAGE section. It is fairly straight forward. Each added page is a lonely node .
Glad to see you are making progress.
OH!!! One thing I need to change in the USAGE section is on item 3, the line that now reads "Here, I checked the 'Integrate this node profile with user categories.' box." should read UNCHECKED.
Comment #6
misterlawrence commentedThe step 3 in the usage section of my readme file actually does say "Here, I unchecked the 'Integrate this node profile with user categories.' box." Perhaps you already fixed the copy?
I will leave the box unchecked, unless you let me know that I have misunderstood somehow.
Another quick question: you mentioned in a previous post that I should not use the Profile module. This module is required by two other modules I am using: AdSense (enabled) and Contact real name (enabled). I guess I could do without contact real name module, but I would like to keep AdSense if possible. Is it necessary to disable the Profile module?
Comment #7
misterlawrence commentedAn additional question:
In your usage section you write --
4) Next I worked on the pageroutes at admin/build/pageroute. First thing I did there was create the routes at admin/build/pageroute/add using the 'add route' tab. I named the path [What do you name the path? Can it be any name I want, such as "register"?], then deselected the workflow option [I don't see a "workflow option". I see four options in the advanced settings. Do you mean "Don't show drupal messages during this route."?], selected 'Show tab-like submit buttons above the page content.' [DONE], assigned the appropriate roles to it [I selected "unauthenticated user" since they are the only ones registering. Right?], selected one of the PAGE1's for the nodefamily head, set the 'Customized redirect' to user/!uid, and checked 'Preserve destination parameter during this route.' [I skipped this part since for now I am not using nodefamily since my needs are simpler] I recommend that you name your pages the same as the human-readable names of your content types. The reason is that this module gives a list of required pages to the user and it is nice if profile category links match pageroute submit-tab links. [Again, I skipped this part since for now I am not using nodefamily since my needs are simpler]
Thoughts?
Comment #8
rconstantine commentedThe names are arbitrary but will appear in the url path.
Perhaps the author has removed/moved the workflow option? If so, don't worry about it. I know he was planning on an entire workflow module or something.
Roles - you want authenticated users because this all happens after the regular registration (of username/password/email and email verification). They see these pages after their first login.
You skipped all of it? Only the nodefamily head part was for nodefamily. You still need the customized redirect and preserved destination of they are available.
And this last part doesn't have to do with nodefamily either. It is the names given to the pages within pageroute.
I think that's it. Good luck some more.
BTW, if you think this is complicated, you should check out my handshake module when I finish it... It allows users to selectively expose information on a per-user basis and then tracks those relationships.
Comment #9
misterlawrence commentedSorry to be so dense...I just can't seem to get this working.
OK...here is where I am at.
Page Not Found
When a new user registers, and clicks submit (or whatever it says...), they then get Page Not Found.
They still get the confirmation email, so the registration is successful, but they get the Page Not Found error at the end of the registration process. What setting is screwed up for this?
Then, when they log in for the first time, they are brought to their User page (such as user/4). I imagine they are supposed to be brought to the start of the pageroute stuff. Where should I look?
I feel so close...but so far. Maybe someday I can get this to work!
Comment #10
rconstantine commentedIIRC, the URL for the page that isn't found should show in the browser's URL field, right? What does it say? As I mentioned before, email verification MUST be used at this point as I seem to have made a mistake in getting immediate login (just after registration) working. So they should be getting an 'Access denied' screen until they verify their email and come back. Then, as you surmise, they should be presented with the pages from the page route that you required.
Since I can't see great distances, you'll probably have to either take screen shots and post them somewhere, or describe all of your settings for all modules involved so I can see what you have/haven't done. Yikes!
Comment #11
misterlawrence commentedrconstantine, you are a saint for hanging in there with me. Thank you!
Let me try this without screenshots first, and see if I can give you enough info. If not, screenshots it is...
The new password is accepted and the url remains http://team8w.com/user/5 with the message "The changes have been saved".
Off to put the kids to bed...let me know if this means anything to you!
-David
Comment #12
misterlawrence commentedOK...I have started with a cleaner installation of Drupal 5.2, on the premise that some other modules that I had previously added are causing a conflict of some sort. This new installation isn't completely virgin, but it's close enough.
A quick question:
Should the Pageroute Nodefamilies module be activated? See attached screenshot.
Comment #13
misterlawrence commentedNow that I have a clean installation, I did the following:
I next attempted to register as a new user, and was prompted to select my role (Student or Parent). So far so good! I selected Student, entered my username and email address, and clicked submit. Then I was taken to /student_path/0/3 which gave an Access Denied message.
Then I received the confirmation email, and clicked on the link, which brought me to /student_path/reg_basic. Two problems: 1) Unfortunately, I once again got the Access Denied message. 2) Shouldn't the pageroute have taken me to the first page in the route, reg_student? See the attached screenshot.
I think I'm making good progress, and may be only one setting away from getting this to work!
Let me know...
-David
Comment #14
rconstantine commentedIt sounds like you are in fact very close.
When a user returns after email verification, they will be taken to the first ALPHABETICAL, REQUIRED page in the route. If there are no required pages, I'm not sure of the behavior since I'm not looking at the code right now. So basic comes before student.
That is the main reason I have you make sure there are the page selector/submit buttons at the top of the page [i.e. you should see two buttons probably called Common Registration and Student Registration which let you submit the page you are on while selecting another].
As for the access denied message - make sure you have set your regular roles/permissions correctly for the user [not talking about membership type here]. Are you giving the users roles other than 'authenticated'? Does the role have the proper content type creation/editing permissions? It looks like the URL is finally correct. I wonder why it wasn't in the first place.
Regarding pageroute nodefamily, I don't know. It sounds like you are using a newer version of the required modules. That is why I list the versions I used. If you are familiar with CVS and finding old copies, you could grab the older files. However, if you do get this all to work with the new stuff, that would be great. I suspect you do not need to activate that module, though if it replaces the regular nodefamily module, you'll notice in my USAGE example that I did use it, though I wasn't aware if I really needed to or not.
SO - continue to try to get this to work without activating it. If we can't get it to work, then we'll try nodefamily.
Comment #15
misterlawrence commentedGetting down to the last few details...I hope.
After filling out the standard Drupal registration form, and clicking submit, a "virgin" installation takes you right back to the homepage, where everyone has authorization to view it.
In my development site, where I have tried to implement your module, the user is taken back to /student_path/0/3 (or similar path) instead. Can you point me to the setting or checkbox that is making this happen? It is crucial that they be brought back to the homepage, because they have not yet received the confirmation link, and therefore receive a Access Denied message.
Comment #16
rconstantine commentedFile this as a separate bug report. For now, change line 1091 to read
return '';
those are two single quotes.
Let me know if that works for you. Notice in the comments for that function I am wondering if it works correctly or not. Apparently it needs work.
Don't forget to file this as a bug report! Thanks.
Comment #17
misterlawrence commentedI don't have a good code editor, so I can't determine which line is 1091.
Is there text I can search for to give me a direct hit?
Otherwise, I'll have to wait until I can download a good code editor, or wait for an update on the module.
Thanks for all your help!
-David
Comment #18
misterlawrence commentedOK. I realized I had a code editor afterall.
I changed the following line 1091 in the nf_registration_mod.module file--
From:
} // function nf_registration_mod_submit_intercept()To:
return '';(those are two single quotes.)
Unfortunately, this is the error I got:
Parse error: syntax error, unexpected $end in /home/teameigw/public_html/dev/sites/all/modules/nf_registration_mod/nf_registration_mod.module on line 1287
Did I modify the wrong file?
Comment #19
rconstantine commentedI guess I added a line since the last release. It looks like in your case it will be the line just before that, 1090. So try that.
Comment #20
misterlawrence commentedBasic issue is resolved. Bug moved to a separate bug issue. Closed.
Comment #21
j.patrick1982 commentedI am in a process of developing a application using drupal and i want 2 different registration forms
1.)Basic having some fields
2.)Advance having some extra fields
basic form on the registration page with a link for advance registration page when user clicks on advance link gets the advance registration page
How to do this is there any way to do this