So lets assume you are building a site, where you need to place an node in a category(term) pretty common right? So lets also assume you are a beginner, in Drupal 6 your line of thinking is:
- Figure out that Taxonomy is about categories
- Create a Vocabulary (probally after finding tags isnt what you want)
- Assign the vocabulary to a content type
- Done!
So lets do the same thing for Drupal 7? New version, should be easier or atleast the same right?
- Figure out that Taxonomy is about categories
- Create a vocabulary
- Understand the field concept
- Go to content types, manage fields
- Create a new field (understand that you need term reference)
- Select the vocabulary(nice)
- Configure basic page settings
- Done!
Since it seems kinda late to fix this in Drupal 7,so I made this for Drupal 8.
| Comment | File | Size | Author |
|---|---|---|---|
| #17 | add_vocab_to.png | 20.55 KB | xjm |
Comments
Comment #2
marcingy commentedNot really a bug more a task.
Comment #3
joachim commented+1.
The UI for taxonomy took a big step back with D7, albeit for considerably more power.
Comment #4
Bojhan commentedThis is definitly a bug, we made something less usable? How can that not be a bug.
Comment #5
catchSorry but this isn't a bug in the sense of a straight regression from Drupal 6.
If we'd tried to make taxonomy vocabulary forms simpler but ended up making them worse it would be, but instead what we did was replace that part of the form entirely with a generic UI - i.e. field UI.
That means there's the following actionable responses to this issue:
1. Remove field UI from core.
2. Add back a custom taxonomy UI in addition to the field UI (IMO this would be a regression from 7 since it would be less learnable/consistent with the rest of core - if you want to do that I as taxonomy module maintainer would consider it won't fix).
3. Add form builder to core so the workflow can be inverted (you add term reference fields to a node form, possibly creating vocabularies in-line).
4. #28480: Create generalized relationship module - although that makes this even more generic, although in combination with #3 it might end up being a net improvement from a usability point of view (it'd definitely unify a lot of code).
Comment #6
joachim commented...really?
That looks rather over the top.
Surely all you'd need is:
- set of ticky boxes for node types in the taxonomy vocab edit form
- on submit, automatically create/update a termref field called field_taxonomy_VOCABNAME, and add instances of that to those node types
There's no need to rip anything out at all.
Even to someone coming to Drupal fresh on D7, you have to admin that applying a vocabulary to a node type is a really long-winded process.
Comment #7
catchThat's option #2. What happens when that same user visits the field UI and sees a completely different UI for doing exactly the same thing?
Comment #8
catchNo different to creating a node type that's going to be used in a node reference field though is it?
Comment #9
Bojhan commentedComment #10
franzsubscribing
Comment #11
joachim commented> No different to creating a node type that's going to be used in a node reference field though is it?
True. But that wasn't a workflow in core in D6 -- and for that matter, nor is it on D7!
What's happened here could be termed a usability regression. (And perhaps we should think of a way to fix it that also works for improving the workflow for other reference fields in contrib.)
Comment #12
franzIf #28480: Create generalized relationship module gets in core in D8, then it will be important to have a UI solution that covers all relationships
Comment #13
joachim commentedGiven it really doesn't look like this will get fixed in D7, I made this: http://drupal.org/project/field_tools.
Comment #14
webchick#1347448: [META] Taxonomy admin usability Improvements looks to be a more holistic look at the entire taxonomy administrative experience, so I'm marking this one as a duplicate.
Comment #15
joachim commentedOk in that case let's make this a sub-issue of that one and sharpen it :)
Comment #16
webchickThat's cool, but then this is no longer major. The other task is.
Comment #17
xjmI'm actually thinking that the thing to do would be to put a dropbutton operation for creating a field at
admin/structure/taxonomy. Brainstorming some possible labels for the operation:Following #631038: Add Manage Fields and Manage Display links to the vocab dropbutton and #1340500: Merge "list terms" page into "edit vocabulary" page, this would look something like:

Then:
Comment #18
xjmFiled #1963340: Change field UI so that adding a field is a separate task.
Comment #19
xjmRelated: #1956134: Provide helpful editing links on "admin/structure/block" for deriver blocks (menu, views, block content, etc.)
Comment #20
Bojhan commentedI am not really sure about this practice of "Add tags to..", I think this is going to spawm up a lot of usability issues. You place fields from the entity, whether thats comments, nodes, terms etc. you will go to that UI to add fields to it. You do not really crossover, the main reason for this is because knowing where to go instead of being all over the place is crucial to a good IA, if you want something on that "thing/entity" you know that you do not need to be in other UI's to do this.
The act of adding something to an entity, is ideally one you do during setup a few times and after that don't revisit 95% of the time. The rest of the time you are configuring the fields and their display, not adding new ones. So I am not sure about this cross over, it introduces multiple entry points and with that different workflows, for a usecase that hopefully isn't all to big after the initial setup and introduces a rather ambiguous pattern that will be hard to transfer to other entities.
I think the solution to this is multi tier:
1) We need to educate about fields earlier in the process, e.g. through the use age of tour.
2) The cross over can happen, but it shouldn't happen in the contextual link, where it can happen is on the vocabulary edit page - where it used to be anyway. This could mean a multi-step workflow, but that requires just the same amount of work as explained above.
3) Manage fields / Manage display now happens on a higher level, therefor people will be better able to connect the dots that this is a fieldable thing.
4) Perhaps the vocabulary page, should have something in its description that explains you can add it to "entities" on the edit page.
Comment #21
klonosWouldn't #394482: Users should be able to enable a vocabularly from the content type configuration page render this redundant? ...well, unless we want to enable people to do the same thing from two different places I guess. Is that desirable?
If we decide to go with one, I favor #394482: Users should be able to enable a vocabularly from the content type configuration page over this one here.
Comment #22
xjmI disagree, I add new fields about as often as I configure them and their display.
Part of the goal here is to resolve the problem of "I made this thing, now where does it go?" like we also have for things like menu blocks.
Hmm, not really... The conceptual problem--and the reason I struggled with a good name for this operation--is that this is both fieldable and also supplies a field. "Manage fields" for the taxonomy vocabulary is managing fields that appear on the form when creating taxonomy terms in that vocabulary. This option is an option to apply a field to a different entity/bundle, like a content type.
The problem with #394482: Users should be able to enable a vocabularly from the content type configuration page is that it special-cases a specific kind of field on the content creation form, circumventing the field UI, and it also special-cases a particular entity type (nodes) when taxonomy fields can be added to any fieldable entity. Maybe we decide that that is worthwhile, but I'm personally a bit uncomfortable with it, especially since it wasn't there in D7.
This solution, on the other hand, is generic, so I'd prefer to do something like this to "close the loop" and to make entity reference fields less baffling by skipping past unneeded complexity that most of the time the user does not care about. Sort of analogous to the Views Wizard vs. the full Views UI. But the goal is to help the user get from the process of creating a vocabulary to the step of adding it to something else.
Edit: If it's too confusing to have multiple entry points, or too confusing to handle both fielding for this and making this a field for something else from the same point, that's fine. But in the past we've discussed multiple entry points as one solution to the underlying problem.
Comment #23
joachim commentedI would maybe want to tweak some small details, like maybe "Apply 'Tags' to..." rather than "Add Tags to...", but generally I think this is a very good proposal.
Comment #24
xjmOoh, "Apply" is a good word, because it's clearly distinct from any of the CRUD terminology.
Comment #25
yoroy commentedComment #26
joachim commentedI've made a proof of concept of this as a sandbox project: https://www.drupal.org/sandbox/joachim/2728879
Comment #41
smustgrave commentedThis still a valid task?