I need a bit more granularity than the either/or "administer taxonomy" checkbox in permissions. I would like to have a folksonomy where users can create categories (taxonomies) and terms, but not delete categories (taxonomies) and terms. Is there any module that helps on this front?

Comments

scoutbaker’s picture

I did a simple search on taxonomy permissions and found the Taxonomy delegate module. It doesn't allow the creation of new taxonomies, but does allow for modifying existing taxonomies based on roles.

---
"Nice to meet you Rose...run for your life." - The Doctor
My first public Drupal site - EyeOnThe503

fumbling’s picture

Thanks, I'll try Taxonomy delegate, looks like it may get me at least most of the way home on this.

vm’s picture

allowing of user created terms can be done with "tags" in core.

Terms are created by users when submitting posts by typing a comma separated list

fumbling’s picture

Thanks. I completely agree that users can add tags to posts and that these contribute to the taxonomy at the bottom level. But what I'm looking for is the capacity for users to create taxonomies/categories themselves (rather than only terms within taxonomies), and independent of posting content. I realize now this is probably easier said than done though.

vm’s picture

ah, you mean vocabularies

dnewkerk’s picture

I found Taxonomy Delegate module myself the other day too. I found that under Drupal 6, it is very important to use the Dev version of the module. The 6.x-1.3 release had various problems for me (after editing its settings, and also at seemingly random times, the module would stop working - the menu item would no longer appear, and even going manually to the page's address would not work. I fully uninstalled the module and switched to the 2008-Nov-07 dev version, which is several months newer, and it works flawlessly (aside from one small bug which you can find an easy fix for in the Issues queue, where it shows !vocab or something instead of displaying the actual name).

Since my own interest in Taxonomy Delegate is to make controlled access to taxonomy both accessible and understandable for end-users (not Drupal admins), I also augmented it with String Overrides module, to change all of Taxonomy's confusing terminology to something that requires no explanation for people who don't want/need to know about "taxonomy" :) If you'd like, save the following into a text file with a .po extension and import it into String Overrides module (this basically changes most/every instance of the word Term into Category... it also changes the real taxonomy section's wording for consistency in my scenario, but you can remove those parts if you prefer):

# String Overrides Exportmsgid "A description of the term. To be displayed on taxonomy/term pages and RSS feeds."
msgstr "A description of the category."
msgid "Add term to %vocabulary"
msgstr "Add category to %vocabulary"
msgid "add terms"
msgstr "add categories"
msgid "Add terms"
msgstr "Add categories"
msgid "Are you sure you want to delete the term %title?"
msgstr "Are you sure you want to delete the category %title?"
msgid "Created new term %term."
msgstr "Created new category %term."
msgid "Deleted term %name."
msgstr "Deleted category %name."
msgid "Deleting a term will delete all its children if there are any. This action cannot be undone."
msgstr "Deleting a category will delete all its children if there are any. This action cannot be undone."
msgid "List terms"
msgstr "List categories"
msgid "list terms"
msgstr "list categories"
msgid "Parent terms"
msgstr "Parent categories"
msgid "Related terms"
msgstr "Related categories"
msgid "Synonyms of this term, one synonym per line."
msgstr "Synonyms of this category, one synonym per line."
msgid "Taxonomy"
msgstr "Categories"
msgid "Term name"
msgstr "Category name"
msgid "Terms are displayed in ascending order by weight."
msgstr "Categories are displayed in ascending order by weight."
msgid "Terms for %vocab"
msgstr "Categories for %vocab"
msgid "Terms in %vocabulary"
msgstr "Categories in %vocabulary"
msgid "The name of this term."
msgstr "The name of this category."
msgid "The taxonomy module allows you to categorize your content using both tags and administrator defined terms. It is a flexible tool for classifying content with many advanced features. To begin, create a 'Vocabulary' to hold one set of terms or tags. You can create one free-tagging vocabulary for everything, or separate controlled vocabularies to define the various properties of your content, for example 'Countries' or 'Colors'."
msgstr ""
msgid "Updated term %term."
msgstr "Updated category %term."
msgid "Use the list below to configure and review the vocabularies defined on your site, or to list and manage the terms (tags) they contain. A vocabulary may (optionally) be tied to specific content types as shown in the <em>Type</em> column and, if so, will be displayed when creating or editing posts of that type. Multiple vocabularies tied to the same content type will be displayed in the order shown below. To change the order of a vocabulary, grab a drag-and-drop handle under the <em>Name</em> column and drag it to a new location in the list. (Grab a handle by clicking and holding the mouse while hovering over a handle icon.) Remember that your changes will not be saved until you click the <em>Save</em> button at the bottom of the page."
msgstr ""
msgid "%capital_name is a single hierarchy vocabulary. You may organize the terms in the %name vocabulary by using the handles on the left side of the table. To change the name or description of a term, click the <em>edit</em> link next to the term."
msgstr "You may organize the %name categories by using the handles on the left side of the list. To change the name or description of a category, click the <em>edit</em> link next to the category."

-- David
davidnewkerk.com | absolutecross.com
View my Drupal lessons & guides

dnewkerk’s picture

I forgot to mention that I agree with the suggestion to use Free Tagging in your scenario, as it allows the creation of terms without permitting the deletion of terms. I'm not sure if there's any way (though maybe there is) to allow users access to create whole taxonomy vocabularies though, aside from giving them the administer taxonomy permission. Off-hand I'm not sure what I'd want to ever do that for (though I'm guessing you have a good reason)... perhaps instead (if it applies to your situation) consider setting a specific vocabulary and just use its built-in hierarchy ability (terms can be the "children" of other "parent" terms).

You might also have a look at http://drupal.org/project/community_tags

-- David
davidnewkerk.com | absolutecross.com
View my Drupal lessons & guides

fumbling’s picture

Thanks, see my reply above to "very misunderstood" regarding using tagging. I like your idea of just treating tags as categories though by hiding the top level. But can users ever create tags separate from creating content those tags are attached to? In terms of what I'm trying to do, it's similar to the dmoz.org open directory project, but for micro-content, not sites. Thanks again.