Drupal requires only a username and password by default.

In COD, we may need to add fields to support some of the features in other areas of the site.

For example, the Attendees list (/community) displays first name, last name, organization, job title, and interests. User profiles need to have those fields in order for this feature to be supported.

Another feature under discussion (http://drupal.org/node/1672922) is an opt-out feature for this list. Users should be able to opt-out and this data should be stored as a field in their profile.

Based on the features I'm familiar with, I propose the following as required fields during the user registration process:

1. Username
2. Password
3. Email address
4. Opt-in of all public lists (Boolean value)

In addition, the following fields should be optional:

4. Given name
5. Family name
6. Organization
7. Job Title
8. Interests
9. Photo
10. Accessibility requirements
11. Dietary requirements
12. Website or blog URL
13. Contact phone number

And some nice to have fields that allow for social media integration and funky displays but would require extra modules:

14. Twitter/Facebook/Google+ account
15. Geographic location

And finally, fields accessible to admins/organisers only, for notes. This field should not be visible to delegates. Ever.

16. Admin notes.

Once we decide the fields which will be used, this related issue will become a blocker. We still need agreement about a base system for user profiles: http://drupal.org/node/1597460

Please feel free to add any fields or other thoughts to this list!

Comments

sheldonkreger’s picture

Although many of these fields already exist in the user profile, we need to decide which will be asked for during the initial user registration process, as well. I believe all that is required now is a username and password.

The opportunities for prompting the user for this info are during initial site registration and during event registration. Many of these fields will never be filled in because users are never asked to fill them out.

twardnw’s picture

They are asked for their First and Last names during account creation, nothing else at this time.

sheldonkreger’s picture

Status: Needs review » Active
twardnw’s picture

Issue tags: +da_drupalcon

tagging

sheldonkreger’s picture

Note: I added an opt-in field for public display of name on the attendees list on this issue: http://drupal.org/node/1672922

cafuego’s picture

Updated the summary, added email as mandatory (cannot communicate with delegate otherwise!) and added an optional field that I as a delegate usually expect (website) and ones that as conference organiser I would require (phone, accessibility, dietary).

(Cell/Mobile) phone is mostly important for presenters. It's valuable to be able to call them if they haven't turned up half an hour before they're scheduled to talk.

I also propose to rename 'first name' and 'last name' to 'given name' and 'family name' for easier cross-culture acceptance.

cafuego’s picture

Issue summary: View changes

Updated issue summary.

cafuego’s picture

Status: Active » Needs review
StatusFileSize
new14.43 KB

Attached is a patch that adds a few basic fields and sorts them into fieldgroups:

Admin: Administrative comments
Public: First name, surname, organisation, job title, website, picture
Private: Opt-In, dietary requirements, accessibility needs

I expect some might need to go into cod_base (eg: the admin one) and some into cod_community (the blog one) before we're done, but it's a start. This patch introduces a dependency on the link module.

This patch should apply happily *after*:

primerg’s picture

Status: Needs review » Needs work

when i try to register or create a new account via the admin, i do not see the following fields:
6. Organization
7. Job Title
8. Interests
9. Photo
13. Contact phone number

When I edit, I do not see the following (even as an admin):
9. Photo
13. Contact phone number

cafuego’s picture

Ah yes, they'll all be set as 'site admin' I reckon. Will reroll the patch after I get rid of that :-)

cafuego’s picture

Status: Needs work » Needs review
StatusFileSize
new16.31 KB
primerg’s picture

reviewing but found a problem with the dev im using. please see my comment and if anyone can answer http://drupal.org/node/1672922#comment-6262996 my mistake!

primerg’s picture

Status: Needs review » Needs work

Using the sandbox and applying the requested patched, I'm getting this error:
error: cod_community/cod_community.field_group.inc: No such file or directory

primerg’s picture

Status: Needs work » Needs review
StatusFileSize
new20.18 KB

combining patch 7 and 10 and enabled photos

It's not clear in the discussion if we want to ask in the initial registration the following fields:
6. Organization
7. Job Title
8. Interests
9. Photo

sheldonkreger’s picture

Status: Needs review » Reviewed & tested by the community

Patch is clean against the current da_drupalcon sandbox. Form validation is thorough and all of the fields are working in both the admin area and for anon users creating their own account.

Let's leave the fields discussed in #13 out of the initial registration process. IMO, users prefer not to be asked too many questions upfront.

sheldonkreger’s picture

Status: Reviewed & tested by the community » Needs review
StatusFileSize
new20.05 KB

It looks like the Feature for cod_community was displaying "needs review" but everything was default inside of it. I just rebuilt the Feature and re-rolled the patch in #13. Now everything is default again. So, this should be identical to #13. **grumble Features grumble grumble**

twardnw’s picture

Status: Needs review » Needs work

This patch applies clean, the fields are on the profile.

The one field I don't think should be there is 'dietary needs'. IMO this should be collected as part of the registration process, on the profile it implies that all events will have food ;)

sheldonkreger’s picture

Assigned: Unassigned » sheldonkreger

I'm all over it . . . good call.

sheldonkreger’s picture

Status: Needs work » Needs review
StatusFileSize
new20.05 KB

This patch hides the meal preferences field from the registration form by default. cod_community Feature status is default.

twardnw’s picture

StatusFileSize
new13.66 KB

Think your patch missed something, that field was still showing for me. Try this one on.

sheldonkreger’s picture

19 is clean and *successfully* removes the dietary needs field . . . and cod_community Feature is default. One more set of eyes here would be nice!

cafuego’s picture

StatusFileSize
new12.87 KB
new76.62 KB
new75.48 KB
new70.77 KB
new57.73 KB
new72.87 KB

19 applied cleanly and the feature came up as defaults. The dietary requirements field is gone. The fields show up when they need to, screenshots attached.

12 suggests the fieldgroups I created never made it into my patch. So do we want to have fieldgroups for admin fields, potentially public fields and private fields? Or not bother?

I have moved the admin field to the top of the field list (not shown in the screenshots) as a conference administrator is more likely to want to see that first than the other fields. (Patch 21) This patch also removes the dependency on fieldgroup.

In theory the empty text on the attendee view could be changed, as there may be lots of signups, but they may all want to be anonymous. I don't think that's a major bug though :-)

primerg’s picture

@cafuego, sorry, didn't mean to overwrite your work.
Regarding the public/private grouping, I think it will help if users know which info are publicly available and only for organizers. I personally would not want to post my phone number but I would be willing to give it to the organizers if they need to contact me.

cafuego’s picture

's not your fault if I managed to make a patch that lacked a file :-)

I'll reroll it shortly.

cafuego’s picture

StatusFileSize
new17.42 KB

Updated patch attached.

twardnw’s picture

Patch applies clean, love the new organization, makes things more clear. Thanks!

primerg’s picture

clean and it works as described

sheldonkreger’s picture

Status: Needs review » Reviewed & tested by the community

24 is clean and has no annoying overrides!

twardnw’s picture

ok, applied to sandbox

twardnw’s picture

Status: Reviewed & tested by the community » Needs work

can we get:

  • location
  • twitter
  • linkedin
  • facebook
  • Google+

?

cafuego’s picture

Yes we can, but I think it would be really nice to use specific modules for those that provide API integration as well, so you're not just collecting a string in a text field.

I reckon that rather than adding extra dependencies on all the modules that provide that functionality on cod_community, it may be a good idea to add a cod_community_bonus (or something like that) feature that provides this integration with external social media services.

sheldonkreger’s picture

#24 no longer applies after CODZILLA commit. This needs to be reworked.

As far as the fields in #29 are concerned, the only field which has a community module to handle it is Twitter. The rest will have to be text strings based on my perusing of related modules.

sheldonkreger’s picture

Component: cod_base » cod_community

I'm working on this; all the changes should live inside cod_community, since we're collecting this data to feed the views created by cod_community.

sheldonkreger’s picture

Status: Needs work » Needs review
StatusFileSize
new43.77 KB

Here's the patch.

I added the following fields to the user profile:

-Opt-in
-Given name
-Family name
-Accessibility requirements
-Dietary requirements
-Website/Blog URL
-Phone
-Location
-Twitter
-Facebook
-LinkedIn
-Google +

It also modifies the attendees view in cod_community to only list those who opt-in.

I added the dependency for field_groups, since there the user should know which data will be displayed publicly on their profile, and which should not.

None of the fields such as Facebook or Twitter are using any custom modules - just plain text. Trying to keep it simple.

There were some minor changes to cod_base because I re-arranged some fields in the user profile. Those are here as well.

twardnw’s picture

Status: Needs review » Needs work

Family Name and Given Name are just alternates for last and first (more global friendly)

Check the order of fields over ;) you've got first name, picture, last name...

sheldonkreger’s picture

Status: Needs work » Needs review
StatusFileSize
new30.87 KB

Ok I re-arranged the fields and removed the extra name fields.

twardnw’s picture

Status: Needs review » Needs work

lost the field groupings, and the attendees list field

sheldonkreger’s picture

Status: Needs work » Needs review
StatusFileSize
new41.12 KB

Alright, I'm hoping features has cooperated this time. I had to modify some of the files by hand.

twardnw’s picture

Status: Needs review » Needs work

big ole' PDO exception when I try and enable cod_base after applying your patch ;)

but you know this

cafuego’s picture

Assigned: sheldonkreger » cafuego

Will reroll this as fresh patch that should happily apply *after* "CODZILLA".

cafuego’s picture

Status: Needs work » Needs review
StatusFileSize
new31.5 KB

Reroll.

Location field uses the addressfield module (new depend).
I've slightly reworded the opt-in checkbox label.
Fields are back in their groups.

Applies to CODZILLA; patch created after applying #1279928: Features Extra support for date_formats to features (though no date formats are included, so that ought not matter).

cafuego’s picture

[deleted double-submitted description without attached patch]

dsdeiz’s picture

StatusFileSize
new30.49 KB

Works on my end. Not sure if I'm missing anything but I think there's a bit of inconsistency.

cafuego’s picture

Yeah I was wondering about doing a twitter URL instead, but then I thought that if you want to put that field on a badge (generally more likely than the facebook, linkedin or G+ username) having a URL field for it is poo. I reckon as-is it can be themed to a link and still be helpful for badge data.

I'll check the grouping - I thought I'd put them near eachother :-/

cafuego’s picture

StatusFileSize
new62.79 KB
new33.35 KB
new33.17 KB
new33.15 KB

Odd. Attached is the layout on the site used to create the feature.

Also attached is an updated patch; I've visually inspected the field weights *and* added groups to the hidden fields. What I see now is in fields-admin-display.png.

dsdeiz’s picture

StatusFileSize
new121.77 KB

Maybe its somehow "random" because two elements have the same #weight. dpm'ing field_profile_facebook and summary, I see the same value for #weight in both elements.

Edit: Oh, #44 patch applies cleanly as well.

dsdeiz’s picture

StatusFileSize
new9.47 KB

I've changed the weight for "Facebook URL" up to "Twitter Username".

saltednut’s picture

#46 applies cleanly but, when I enabled cod_base and cod_community I get a Notice and a PDOException:

Notice: Undefined index: create field_profile_admin_comments in user_role_grant_permissions() (line 3032 of /modules/user/user.module).
PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'module' cannot be null: INSERT INTO {role_permission} (rid, permission, module) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2); Array ( [:db_insert_placeholder_0] => 1 [:db_insert_placeholder_1] => create field_profile_admin_comments [:db_insert_placeholder_2] => ) in user_role_grant_permissions() (line 3034 of /modules/user/user.module).

Is there a patch I need to apply before using #46?

saltednut’s picture

Status: Needs review » Needs work
dsdeiz’s picture

Status: Needs work » Needs review
StatusFileSize
new33.35 KB

Sorry, missed to add files.

mjonesdinero’s picture

StatusFileSize
new11.35 KB

#49 patch applies cleanly and the urls are now below the member for:

attached is the image of the page that has the right display now

saltednut’s picture

Assigned: cafuego » Unassigned
Status: Needs review » Reviewed & tested by the community
StatusFileSize
new44.22 KB

#49 applies cleanly. cod_community is default when enabled. I've tested this and it works showing the fields in a consistent order.

rootwork’s picture

Don't want to derail this if it's really RTBC, but it'd be great to have a formatter that automatically linked the Twitter username to http[s]://twitter.com/...

I agree with making the Twitter username on its own rather than a link for badge and other purposes, but it would be nice to be able to click on it from the profile page anyway.

But if this is 99% done otherwise I don't want to stand in the way.

cafuego’s picture

Lets leave it RTBC, get it committed and revisit it if needed/wanted.

japerry’s picture

Hi rootwork, lets take the extended fields (twitter) out of this feature. I'd actually like to put fields as something users would customize (and remove from cod_community eventually)

but for now I think this is a good upgrade path, and it needs to be committed. It tests properly from #49 to the latest git branch for cod and cod_support (Nov 5 2012) so pending Ezra's review, I think we're good to go.

rootwork’s picture

I'm fine with that. Hooray for progress!

japerry’s picture

Status: Reviewed & tested by the community » Needs work

Okay after talking to Ezra, we would like to refactor this into the commons profile module, which has many of the same fields. Marking as needs work until we get that integrated. It should just extend the fields that already exist for commons into this module instead of duplicating the common ones.

ezra-g’s picture

The specific modules here are http://drupal.org/project/commons_profile_base and http://drupal.org/project/commons_profile_social.

A benefit of using those modules is that by aligning the profile fields between distributions, COD can get profile-related functionality built for Commons for free. For example, Facebook sign-in.

It also reduces code duplication between the projects.

rootwork’s picture

Just curious if there had been progress on this at the recent sprints. Is integrating these two modules part of the near future, or just a "nice to have" goal for sometime ahead?

rootwork’s picture

Issue summary: View changes

Updated issue summary.