Active
Project:
Content Profile
Version:
6.x-1.0
Component:
User registration module
Priority:
Critical
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
12 Sep 2008 at 17:54 UTC
Updated:
25 Oct 2010 at 21:12 UTC
Jump to comment: Most recent file
Comments
Comment #1
fagohm, the registration module is currently CCK only. So I don't think that's a code bug, but probably a documentation bug. I've created an issue for that: http://drupal.org/node/313962
So I set this to feature request for now. The question is how we should deal with it... We could add support for taxonomy, but then people will come and ask for the next form field of module X.
So we have imho the options to
* stay with CCK only support
* make it possible for modules to extend support for further fields
* support the whole node form by default.. We could add an option like "Other form fields" to allow hiding others, so the module runs in CCK only mode too. In this case it would make sense to treat the title as field too imho.
Comment #2
niklp commentedRight... well. Without taxonomy support, this seems kind of crazy. Taxonomy is a core module and one of the things that sets Drupal apart. Not supporting taxonomy for users will be completely crippling on most social network site projects.
The most sane option would seem to be to support the whole node form. If we can just reproduce that form verbatim, that would seem the best option. After all, we have support for field permissions etc in CCK that allow for various combinations of node forms to be displayed to different roles etc already.
I think that it might be possible to replicate what I am looking for (JUST this specific instance) by using content_taxonomy module, but I'm not sure that this is really the best approach for this - my personal feeling is that the node form should be presented "as is" to the registering user. There is of course always the option to "theme out" certain parts of the node form on a per-case basis.
Comment #3
gagarine commented+10 for taxonomy support on registration form...
Comment #4
cyberswat commentedsubscribing
Comment #5
bonobo commented@ NikLP -- how does this work with content_taxonomy? http://drupal.org/project/content_taxonomy
What about that route doesn't work? How could these issues be addressed?
Also, changing status from critical to normal.
Comment #6
niklp commentedIronically, it's likely that I will have to use content_taxonomy for another part of the project. However, if you are moving a node/add form to somewhere else, it seems to me that it should move in its whole form.
That is, the node should have all the accompanying fields with it, which includes taxonomy. Cyberswat and I have discussed this and concur. I will say that I have also discussed this with another experienced developer who reckoned it would be easy enough to overcome this by "force", but personally I think we are supposed to be moving away from the module dependency thing.
IMO, using another module should not be any kind of requirement - taxonomy should work in this context "off the bat".
Comment #7
niklp commentedBumping because this is getting ignored - this is a bug report, IMO. If I have a profile node type with taxonomy assigned to it (VERY likely) then of course I want it visible on the registration page.
This is important! :)
Comment #8
niklp commented@bonobo - re #5, I looked at using content_taxonomy, but this seems really inefficient in this case. If I just have one function within c_p to support taxonomy, that is very easy. However, in my current case, it means I have to implement a whole bunch of new CCK widgets (about TEN!)
This seems very bad to me, although I can't comment accurately on performance. It's definitely needless extra work in site building, I do need to implement content_taxonomy for one or two types, but adding it for all my many taxonomies seems like pointless busywork really.
Comment #9
fagoI tend to agree that this is the best option:
* support the whole node form by default.. We could add an option like "Other form fields" to allow hiding others, so the module runs in CCK only mode too. In this case it would make sense to treat the title as field too imho.
It's not really obvious to mix up the form, so best integrate the whole form and make it possible to hide single groups and fields. I can work on this once I've time.
Comment #10
niklp commentedThanks fago.
Also in addition to this, using the whole node form exhibits many other benefits. For example, I require newsletter signups to be integrated into the registration procedure (via simplenews_register.module) - this would be covered by implementing the entire node form in this way.
Comment #11
bonobo commentedThis is starting to feel scope-creepy.
Including a checkbox feature to enable the whole node form seems to be a cleaner solution. Having this be the default, however, seems to be overkill. The majority of the sites we have rolled out in the last 2.5 years included some type of node-based profile, and never, not once, was this needed.
An admin option, enabled via a checkbox? Yes, absolutely - this seems to be a clean middle ground.
Having this as the default option introduces a host of usability issues. This is where Bio's administrative simplicity should be replicated.
Comment #12
fagoI agree - keeping it more simple by default sounds to be a good thing.
Comment #13
niklp commentedOk so can we get anything together that says how this needs to be done? I've been needing this scenario finished on a project for months now and it's still not finished.
If necessary I will have my developer finish some of the coding at my own expense, as long as I know what needs to be done.
Comment #14
jtjones23 commentedsubscribing
Comment #15
ntt commentedsubscribing
Comment #16
fagoI agree with bonobo's comment #11, let's keep it simple and disable it by default.
>Including a checkbox feature to enable the whole node form seems to be a cleaner solution
So probably best we add an additional checkbox "Other form fields".
Comment #17
niklp commentedThat's great - now I really need to get this moving. Any pointers gladly accepted.
Q: If this option were to be enabled in the admin options, would this mean that we would have full control over field visibility etc via normal node form alterations, just like on the normal node form? i.e, would it be the "real" node form? :)
Comment #18
fagoAs like it is now, the form fields are retrieved by drupal_retrieve_form() and drupal_prepare_form() - which fires up hook_form_alter, so any alterations done there are included. Apart from that one can form_alter() the registration form directly of course, too - just watch out that your module comes after content profile.
Comment #19
niklp commentedIs there a simple way to get "everything that would be on a node add/edit page" or must all this be added manually? I ask because of course it would be extremely helpful if any modules that interfaced with/added to the page were to appear there by default. I'm thinking of things such simplenews subscribe on register etc.
Wasn't sure if just adding the taxonomy fields would be the best way to do this - seems like there might be other stuff that might get missed?
Comment #20
fagoI think it's better to get just all and provide one option for this -> 'other form fields' as I'm sure there is other stuff that is also useful to have there.
Yes we already pull the usual $node form, so we have this stuff too. The question is if we can get validation and submit right for this stuff too, but I think that's doable.
Comment #21
niklp commentedYes - I'm not just talking about the node details tho - there's other fields that are common, obviously including taxonomy. In my current case, I also require that a simplenews subscription be integrated into the registration form. This is simple enough normally, but with these modules too is slightly complicated.
Comment #22
jgraham commentedI've been investigating a method to make this happen. The problem I keep running into is the inability of the forms API (or my inability to think up a solution) to have multiple node forms built, validated, and submitted as one process.
If the structure is not as expected CCK, AHAH and other stuff just doesn't work.
From my current standpoint the real issue is the inclusion of multiple node types as a "profile" this results in the necessity to potentially add data to multiple nodes at registration time.
One way around it is to enable only one "full node" profile type at registration time. The admin UI would probably be a bit clunky do to the current method for setting content profile registration settings.
If someone knows how to have multiple complete nodes submitted as one form submit let me know and I can get this done. Short of that there will have to be a compromise in either the number of content profile node types exposed at user registration or limiting it to multiple node types with only CCK.
One other method would be a multi-step user registration submitting one node type per step in addition to the standard username etc. I personally don't really like this idea though.
Maybe I'm missing something else that could be a solution?
Comment #23
niklp commentedAh - I was actually assuming that we were all talking about one node type "per form" there - my bad.
Personally, I think that the majority of use cases can be solved by adding support for just one node type. I'm not sure that the nature of Drupal doesn't make it even higher.
In my case, I have two profile node types. They share no fields in common, hence I have been forced to create them as separate entities. Had they shared some fields, I would have been tempted to create only one node profile type, and then use field permissions to blank out the different parts based on which role/profile was being added/edited etc.
In both those cases, the whole node addition process can be achieved using only one profile type.
Does that make things easier? If it's easy to just add support for one node type per form, then *please* tell me how, I would absolutely die to get this feature in. Tomorrow is about where my client starts sharpening things.
Comment #24
fago>If the structure is not as expected CCK, AHAH and other stuff just doesn't work.
yep, I think the only possible way to do it, as pulling all stuff of $form of the node form directly in $form of the registration form.
As an affect if we have multiple node forms, some stuff which would be duplicate can exist only once: The title, the body, shared CCK fields and possible more. I think the only way to go is creating both profile nodes with the same values - so using $form for both!
Or as an alternative we allow only one node form for the main registration form activated. I'm ok with that too.
Comment #25
bonobo commentedWe're kicking some ideas around about a more structured roadmap for this feature -- either jgraham or I will post details shortly.
Comment #26
niklp commentedMy horribly overdue project is stalled because of this - is there a "simple" workaround for this that will enable me to have one type's full node form on the registration page, or is the single/multiple thing not really relevant?
Comment #27
niklp commentedUpdating status. Crying a bit. Waiting. :p
Comment #28
liliplanet commentedsubscribe
Comment #29
Charlie Sibbach commentedsubscribe
Comment #30
govindm commentedHi NikLP
have u got any solution regarding taxonomy on user registration form. please give me some suggestion regarding this. how can i approach on this way.
Comment #31
fagoI marked http://drupal.org/node/367601 as duplicate
Comment #32
rory-- commentedMultiple people are in need of a solution. This is a major feature lack. Updating to critical as this is functionality that is essential.
Comment #33
liliplanet commentedI've got taxonomy terms on my registration form.
Create a field (presuming you are using Content Profile) with a Content Taxonomy Field using Hierarchical Select.
Then created a 'group' which is then selected to show in the registration form.
Hope this helps ...
Comment #34
niklp commentedSorry, but IMO content_taxonomy is whack. It breaks my taxonomy in much the same way that this issue really breaks profile/registration for me.
I want a complete node form on my profile registration, as that should be the standard or an option at least, as we have already agreed.
If this doesn't get sorted in the next week or so I'm going to end up in serious trouble.
Comment #35
liliplanet commentedHi NikLP,
Definitely have sympathy and had the same problem for weeks, and this works for me.
Install the Content Taxonomy of HS at http://drupal.org/node/342992
In your content type, create a field-type in the drop-down 'Content Taxonomy Fields' and 'Hierarchical Select' as a form element.
Make sure you set up /admin/settings/hierarchical_select/configs' correctly.
I set up all my Content Taxonomy Fields in my content type as a 'group', and then in 'user registration' un-selected the 'group' to show in registration.
All good, oh yes, remember to set permissions for 'guest/visitor' and 'unauthenticated' to 'create/edit your content type', otherwise won't show.
Hope this helps some ..
Comment #36
not_Dries_Buytaert commentedA patch (which I haven't tested yet) is offered here: http://drupal.org/node/19014
Comment #37
Encarte commentedSubscribing. Taxonomy on registration form is a critical matter. It was the most important advantage of Node Profile.
Comment #38
sammys commentedI've just posted another issue related to content_profile_registration module. Could you all please review that and +1/-1?
#410678: Move registration form code from hook_form_alter() to hook_user()
Comment #39
niklp commentedAll the experts I've spoken to about this have said that basically using _form_alter in this module simply won't work - the problem being that you can't do two form submissions at the same time. That is, altering the profile node information into the user form won't work, because you can't save a user and a node at the same time. Or something to that effect, anyway...(!)
So this sounds like a good plan to me. Investigating, and reading the other thread...
Comment #40
aaronbauman+1 on taxonomy on reg / edit
i'm working up a quick, dirty patch now because i need this immediately.
Comment #41
aaronbaumanDon't use this patch. use the next one.
Comment #42
aaronbaumanThis patch integrates taxonomy into content_profile and content_profile_registration
Also adds toggle on the content_profile admin to enable or disable taxonomy (all or nothing toggle, no per-vocab options)
Comment #43
jweowu commentedThanks aaronbauman. Very timely for me :)
I had to make a change to get it to save the selected terms, though.
Comment #44
niklp commentedWhich version of c_p is this latest patch actually against?
Comment #45
fago@hide title: I don't think supporting required fields is a good idea, so this won't get in. Auto-nodetitle solves that though.
@taxonomy: I still think supporting the whole-form is the way to go, so we don't have to care about each field on it's own...
Comment #46
fagook, finally this got implemented.
Changes:
Added support to add all node-form elements to the registration form. It's activated by default, so check your settings if you don't need it.
Added the possibility to control whether the title field is hidden, integrating with auto nodetitle.
Added usage instructions to the README.txt
Check out the latest dev-snapshot. Thanks to NikLP for sponsoring this work.
Comment #47
fralenuvol commentedHi fago,
regarding the use of content profile with taxonomy, I installed the latest DEV version and wanted to point out this issue I had with hierarchical select on user registration:
http://drupal.org/node/374354#comment-1515148
I write also here because this issue occurs to me only with content profile module, maybe you can give a hint?
Comment #50
andrenoronha commentedsubscrib ing
Comment #51
karimansu commentedSame problem here...
So, what are we going to do?
Comment #52
franzThis doesn't work properly as it seems on 1.0
I had 2 types on registration, one with taxonomy. Both were saved with the terms, but now I have a profile that shouldn't have terms with them (and of course, they cannot be deleted within the interface either). I'll try to work out a patch for it later.
Comment #53
files32 commentedsubscribe
Comment #54
liquidcms commentedI'm confused by #43 and #46. Fago, what is it that you have implemented? I think this issue refers to having taxonomy selector that is enabled for a c profile node be able to show on the user registration form.
The patch in #43 looks as though it might do this but this patch isn't in 6.x-1.0 (or in dev). So has it been implemented in the module some other way; and how would this be enabled? I don't see any thing to enable the taxonomy selector on the registration form.