Index: modules/forum/forum.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/forum/forum.module,v
retrieving revision 1.425
diff -u -r1.425 forum.module
--- modules/forum/forum.module	25 Oct 2007 15:32:55 -0000	1.425
+++ modules/forum/forum.module	20 Nov 2007 10:29:12 -0000
@@ -354,11 +354,11 @@
       );
       $form['nodes']['#required'] = TRUE;
       $form['hierarchy'] = array('#type' => 'value', '#value' => 1);
-      unset($form['relations']);
-      unset($form['tags']);
-      unset($form['multiple']);
+      unset($form['settings']['relations']);
+      unset($form['settings']['tags']);
+      unset($form['settings']['multiple']);
       unset($form['delete']);
-      $form['required'] = array('#type' => 'value', '#value' => 1);
+      $form['settings']['required'] = array('#type' => 'value', '#value' => 1);
     }
   }
 }
Index: modules/taxonomy/taxonomy.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/taxonomy/taxonomy.admin.inc,v
retrieving revision 1.7
diff -u -r1.7 taxonomy.admin.inc
--- modules/taxonomy/taxonomy.admin.inc	12 Nov 2007 19:06:33 -0000	1.7
+++ modules/taxonomy/taxonomy.admin.inc	20 Nov 2007 10:35:10 -0000
@@ -52,60 +52,73 @@
     'required' => 0,
     'weight' => 0,
   );
-  $form['name'] = array('#type' => 'textfield',
+  $form['identification'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Identification'),
+    '#collapsible' => TRUE,
+  ); 
+  $form['identification']['name'] = array('#type' => 'textfield',
     '#title' => t('Vocabulary name'),
     '#default_value' => $edit['name'],
     '#maxlength' => 255,
     '#description' => t('The name for this vocabulary. Example: "Topic".'),
     '#required' => TRUE,
   );
-  $form['description'] = array('#type' => 'textarea',
+  $form['identification']['description'] = array('#type' => 'textarea',
     '#title' => t('Description'),
     '#default_value' => $edit['description'],
     '#description' => t('Description of the vocabulary; can be used by modules.'),
   );
-  $form['help'] = array('#type' => 'textfield',
+  $form['identification']['help'] = array('#type' => 'textfield',
     '#title' => t('Help text'),
     '#maxlength' => 255,
     '#default_value' => $edit['help'],
     '#description' => t('Instructions to present to the user when choosing a term.'),
   );
-  $form['nodes'] = array('#type' => 'checkboxes',
+  $form['content_types'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Content types'),
+    '#collapsible' => TRUE,
+  );
+  $form['content_types']['nodes'] = array('#type' => 'checkboxes',
     '#title' => t('Content types'),
     '#default_value' => $edit['nodes'],
     '#options' => node_get_types('names'),
-    '#description' => t('A list of content types you would like to categorize using this vocabulary.'),
+    '#description' => t('Select content types to categorize using this vocabulary.'),
   );
-  $form['hierarchy'] = array('#type' => 'radios',
-    '#title' => t('Hierarchy'),
-    '#default_value' => $edit['hierarchy'],
-    '#options' => array(t('Disabled'), t('Single'), t('Multiple')),
-    '#description' => t('Allows <a href="@help-url">a tree-like hierarchy</a> between terms of this vocabulary.', array('@help-url' => url('admin/help/taxonomy', array('absolute' => TRUE)))),
-  );
-  $form['relations'] = array('#type' => 'checkbox',
-    '#title' => t('Related terms'),
-    '#default_value' => $edit['relations'],
-    '#description' => t('Allows <a href="@help-url">related terms</a> in this vocabulary.', array('@help-url' => url('admin/help/taxonomy', array('absolute' => TRUE)))),
-  );
-  $form['tags'] = array('#type' => 'checkbox',
+  $form['settings'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Settings'),
+    '#collapsible' => TRUE,
+   );
+  $form['settings']['tags'] = array('#type' => 'checkbox',
     '#title' => t('Free tagging'),
     '#default_value' => $edit['tags'],
     '#description' => t('Content is categorized by typing terms instead of choosing from a list.'),
   );
-  $form['multiple'] = array('#type' => 'checkbox',
+  $form['settings']['multiple'] = array('#type' => 'checkbox',
     '#title' => t('Multiple select'),
     '#default_value' => $edit['multiple'],
     '#description' => t('Allows posts to have more than one term from this vocabulary (always true for free tagging).'),
   );
-  $form['required'] = array('#type' => 'checkbox',
+  $form['settings']['required'] = array('#type' => 'checkbox',
     '#title' => t('Required'),
     '#default_value' => $edit['required'],
-    '#description' => t('If enabled, every post <strong>must</strong> have at least one term in this vocabulary.'),
+    '#description' => t('At least one term in this vocabulary must be selected when submitting a post.'),
   );
-  $form['weight'] = array('#type' => 'weight',
+  $form['settings']['weight'] = array('#type' => 'weight',
     '#title' => t('Weight'),
     '#default_value' => $edit['weight'],
-    '#description' => t('In listings, the heavier vocabularies will sink and the lighter vocabularies will be positioned nearer the top.'),
+    '#description' => t('Vocabularies are displayed in ascending order by weight.'),
+  );
+  // Set the hierarchy to "multiple parents" by default. This simplifies the
+  // vocabulary form and standardizes the term form.
+  $form['hierarchy'] = array('#type' => 'value',
+    '#value' => '2',
+  );
+  // Enable "related terms" by default.
+  $form['relations'] = array('#type' => 'value',
+    '#value' => '1',
   );
 
   $form['submit'] = array('#type' => 'submit', '#value' => t('Save'));
@@ -237,52 +250,53 @@
     'tid' => NULL,
     'weight' => 0,
   );
-  $form['name'] = array(
+  $form['identification'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Identification'),
+    '#collapsible' => TRUE,
+  );
+  $form['identification']['name'] = array(
     '#type' => 'textfield',
     '#title' => t('Term name'),
     '#default_value' => $edit['name'],
     '#maxlength' => 255,
     '#description' => t('The name of this term.'),
     '#required' => TRUE);
-
-  $form['description'] = array(
+  $form['identification']['description'] = array(
     '#type' => 'textarea',
     '#title' => t('Description'),
     '#default_value' => $edit['description'],
     '#description' => t('A description of the term.'));
 
-  if ($vocabulary->hierarchy) {
-    $parent = array_keys(taxonomy_get_parents($edit['tid']));
-    $children = taxonomy_get_tree($vocabulary->vid, $edit['tid']);
-
-    // A term can't be the child of itself, nor of its children.
-    foreach ($children as $child) {
-      $exclude[] = $child->tid;
-    }
-    $exclude[] = $edit['tid'];
-
-    if ($vocabulary->hierarchy == 1) {
-      $form['parent'] = _taxonomy_term_select(t('Parent'), 'parent', $parent, $vocabulary->vid, t('Parent term') .'.', 0, '<'. t('root') .'>', $exclude);
-    }
-    elseif ($vocabulary->hierarchy == 2) {
-      $form['parent'] = _taxonomy_term_select(t('Parents'), 'parent', $parent, $vocabulary->vid, t('Parent terms') .'.', 1, '<'. t('root') .'>', $exclude);
-    }
-  }
-
-  if ($vocabulary->relations) {
-    $form['relations'] = _taxonomy_term_select(t('Related terms'), 'relations', array_keys(taxonomy_get_related($edit['tid'])), $vocabulary->vid, NULL, 1, '<'. t('none') .'>', array($edit['tid']));
-  }
-
-  $form['synonyms'] = array(
+  $form['advanced'] = array(
+    '#type' => 'fieldset',
+    '#title' => 'Advanced options',
+    '#collapsible' => TRUE,
+    '#collapsed' => TRUE,
+  );
+  
+  $parent = array_keys(taxonomy_get_parents($edit['tid']));
+  $children = taxonomy_get_tree($vocabulary->vid, $edit['tid']);
+
+  // A term can't be the child of itself, nor of its children.
+  foreach ($children as $child) {
+    $exclude[] = $child->tid;
+  }
+  $exclude[] = $edit['tid'];
+  
+  $form['advanced']['parent'] = _taxonomy_term_select(t('Parents'), 'parent', $parent, $vocabulary->vid, t('Parent terms') .'.', 1, '<'. t('root') .'>', $exclude);
+  $form['advanced']['relations'] = _taxonomy_term_select(t('Related terms'), 'relations', array_keys(taxonomy_get_related($edit['tid'])), $vocabulary->vid, NULL, 1, '<'. t('none') .'>', array($edit['tid']));
+ 
+  $form['advanced']['synonyms'] = array(
     '#type' => 'textarea',
     '#title' => t('Synonyms'),
     '#default_value' => implode("\n", taxonomy_get_synonyms($edit['tid'])),
     '#description' => t('Synonyms of this term, one synonym per line.'));
-  $form['weight'] = array(
+  $form['advanced']['weight'] = array(
     '#type' => 'weight',
     '#title' => t('Weight'),
     '#default_value' => $edit['weight'],
-    '#description' => t('In listings, the heavier terms will sink and the lighter terms will be positioned nearer the top.'));
+    '#description' => t('Vocabularies are displayed in ascending order by weight.'));
   $form['vid'] = array(
     '#type' => 'value',
     '#value' => $vocabulary->vid);
