SitePoint Sponsor

User Tag List

Results 1 to 6 of 6
  1. #1
    SitePoint Wizard Wolf_22's Avatar
    Join Date
    Jul 2005
    Posts
    1,711
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question Drupal 6.x Profiles and Multi-value Fields?

    I need to allow users of a Drupal 6.x site to edit their own profiles in a way that makes profiles actually useful: to allow them to edit rows of values where each column can be an input of some sort, essentially creating field-rows of data which can then be mined later on through reports, etc. I have no clue how to do this because I need something like the CCK functionality you get when you have an input that can support unlimited values.

    Generic Visual Example:
    Product Number Product Type Number Available Year Acquired Reason
    00001 Monitor 2 2001 Development and Testing
    00002 Keyboard 1 2000 Basic Use
    00003 Laser Mouse 1 2000 Basic Use
    00004 Extra Ram 2 2002 Testing
    00005 Kim Kardashian Mousepad 1 2011 To Stab, Relieve Stress, and Eliminate those lonely nights we all have from time-to-time. ;.)
    ...
    Each column in this example might have the following input types:
    Numeric Single Line Text Numeric Date Multi-line Text

    But when you go to edit your profile to edit a group, you could do so by either editing the actual fields or else use the "Add Another Item" to add a value to the group of values already present... (Like with CCK fields that use the "unlimited values" setting.)

    Does anything like this exist for Drupal 6.x?

  2. #2
    SitePoint Wizard bronze trophy
    Join Date
    Jul 2006
    Location
    Augusta, Georgia, United States
    Posts
    4,151
    Mentioned
    16 Post(s)
    Tagged
    3 Thread(s)
    Search yielded this: http://groups.drupal.org/node/12350

    Looks like the consensus is to create a node with a user reference so that fields can be attached using cck. Pretty damn dirty if you ask me. Otherwise though you would be writing a lot of custom code to alter the profile form not to mention managing db table schema for data.
    The only code I hate more than my own is everyone else's.

  3. #3
    SitePoint Wizard Wolf_22's Avatar
    Join Date
    Jul 2005
    Posts
    1,711
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks for the info, oddz. I'll keep looking... I tried the "Content Profile" module and I thought that might work, but really all it does is just create a new content type. I'm actually surprised this hasn't been implemented... Seems like something someone would've thought of (unless I'm just blind or can't Google worth a damn).

  4. #4
    SitePoint Wizard bronze trophy
    Join Date
    Oct 2001
    Location
    Vancouver BC Canada
    Posts
    2,030
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    What are the actual fields you want to add about? I'm having a hard time trying to understand how a grid is better than a series of fields. In D6 (in Core-Optional) you have the Profile module that lets you add and configure fields and field groups. I'm sure you're familiar with it; it lets you add CCK-like fields to your profiles but more importantly it lets you add field groups that you can use to organize your fields with. I'm not sure it that's going to be useful though...

    I think, if you're in serious need of the ability to gather and use data you might want to start looking at the realm of CRM's to make this happen. There are a few for Drupal. Drupal 7 is better equipped than Drupal 6 but civiCRM is a heavyweight in this sort of thing and you can create custom profile fields and expose them to the user editing panel. On the reporting side, it has very powerful data crunching and reporting tools and with some configuration, views can be used to pull and display CRM contact data. It's a big undertaking though so make sure you have the time and budget (if it's a client) to take it on.
    Andrew Wasson | www.lunadesign.org
    Principal / Internet Development

  5. #5
    SitePoint Wizard Wolf_22's Avatar
    Join Date
    Jul 2005
    Posts
    1,711
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by awasson View Post
    What are the actual fields you want to add about? I'm having a hard time trying to understand how a grid is better than a series of fields.
    The fields I need are represent items which our team needs to inventory, which can be of variable amounts. Do you understand what I mean by this? Whether it's a grid or not is beside the point: I need a field capability that can allow users to add unlimited values in fields. That's really all this is about... Storing unlimited values in profile fields. Let me know if this still doesn't make sense.

    (I think I'm going to be forced to manually develop this because there just doesn't seem to be anything like this already created for Drupal 6.)

  6. #6
    SitePoint Wizard bronze trophy
    Join Date
    Oct 2001
    Location
    Vancouver BC Canada
    Posts
    2,030
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    Ok, so is this sort of a way to assign tasks to individuals? It's a bit like project/team management from the sounds of things?

    Have you looked at Open Atrium or Drupal Commons for ideas? They are much more complex that what you want but they may have elements of what you have in mind....

    I think you're right though and that is that you'll need to create this yourself. I can't really think of anything offhand that you can leverage to do this. There are plenty of modules that add/relate data to user profiles but they're all pretty complex so digging in their internals for inspiration will be frustrating.

    I'm thinking that maybe some things to look at for inspiration might be Organic Groups, To Do List, List, Maybe Nodequeue (Smart Queue Per User).

    This might be a tough one...
    Andrew Wasson | www.lunadesign.org
    Principal / Internet Development


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •