Hi everyone,

I'm embarking on an endeavour to make the most complex site of my 2+ year Drupal career: a site where dj's and regular users can register, create profiles and upload their own and other dj's mixes.

Before posting this thread, I've been trying almost two weeks to do this on my own and have (sort of) figured out a taxonomy system in conjuction with CCK and views to make this happen.

Basically, what I want to do is the following:

(a) give any user the ability to create a profile and upload mixes
(b) allow users to specify whether the mix is their own or someone else's. I'd like it to be possible to list their uploaded mixes under their profile.

Here is my challenge:

(a) Users make errors. Someone may list a mix as being by 'Paul Oakenfold' or 'Paul Okenfold' or 'Paul Okanfold'. Ideally, there should be a dropdown list containing dj names however there are many many dj's out there and I don't want to be updating the taxonomy myself. Is there a way that the taxonomy can be updated when the user submits a mix?

Or, should I have them create a dj listing first, which would update the taxonomy, which would then appear in the field for when they submit a mix?

I think I'll stop there for now. I appreciate any advice, with many thanks.

Comments

kasha_x’s picture

in case anyone wants to check out what I got so far, you can go here: http://mixxx.x-gr.net/x/

username: test_profile
password: test

On the left hand menu you'll see 5 links. The one to check out (as the others are in limbo) is 'Submit Mix'

you'll see the following fields:

Name:
DJ:
Add DJ:
Genres:
Tags:
etc...

What I'm concerned about is the DJ and add DJ fields. The 'DJ' field already is populated from the DJ taxonomy (existing dj profiles). The 'add dj' is necessary in case the dj is not found in the dropdown list.

What that field does is populate the DJ vocabulary, which is a free-tagging vocabulary.

The problem with this is that you can input values into BOTH fields and this isn't right. What can I do?

kasha_x’s picture

I forgot to mention how 'existing dj profiles' find their way into their vocabulary....that's through the 'Submit dj profile' content type. When someone enters a value in the 'DJ Name' field it updates the vocabulary.

In case you're wondering why there's no title, it's because I used a module that generates automatic node titles, and then hid that field.

And the problem with THAT is that it allows duplicate entries. I really appreciate any advice here...maybe a free-tagging vocabulary isn't the way to go?

matkeane’s picture

Hi,

Just so you don't get fed up talking to yourself! There is a module - Taxonomy Other - which allows visitors to add an entry to a taxonomy vocab if the entry is missing from the list. If a user selects 'other', a text-field appears where they can add an entry, and there are options to moderate user submissions before they are shown to other users, but I don't think there's anything to stop me from adding a duplicate (with different spelling) if I don't spot an existing entry in the list.

The other thing I've found is that, once your database gets bigger, the pulldown menus get very long and difficult to use, so I tend to use a node-reference field with autocomplete - that way, your users only have to start typing 'oak...' to see matching suggestions. There are also some modules to handle adding new nodes from the autocomplete fields when no match is found, but the names escape me at the moment... try searching for 'autocomplete node add reference' and you should find something!

kasha_x’s picture

Thanks! This is just the kind of guidance I need.

Once I download and experiment with those modules, I'll carry on this convo with myself about the new challenges I have with this site ;-)

matkeane’s picture

Hi,

If you have a look at some of my past comments - http://drupal.org/user/198280/track - there are some posts in there about node auto-creation, and also a longish discussion about pulling together a discography site. Might be some useful stuff in there, but I've got to shoot off now, so I don't have time to find the relevant posts, sorry.

As a general rule, I tend to reserve Taxonomy for things that are just used for classifying things (categories, really) and use nodes for things which require more information. So I would probably see a DJ as a 'thing' node with extra fields of information, but I would probably use a 'genre' taxonomy to group DJs together. It's not an exact science, and depends on the site's needs. For example, on a site I'm working on now, I have a taxonomy vocab for all the countries in the world. One could argue that the countries could be stored as nodes with more detail, but I just want to use them to classify my other content-types. Although as somebody pointed out on a similar post, in D7, you can add fields to taxonomy terms and have the best of both worlds.

Anyway, sometimes I find that just writing things down or thinking out loud helps (swearing and banging head on the keyboard optional!).