Index: modules/field_ui/field_ui.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/field_ui/field_ui.module,v
retrieving revision 1.23
diff -u -r1.23 field_ui.module
--- modules/field_ui/field_ui.module	30 Jan 2010 04:14:17 -0000	1.23
+++ modules/field_ui/field_ui.module	2 Feb 2010 21:39:17 -0000
@@ -14,13 +14,31 @@
     case 'admin/help#field_ui':
       $output = '';
       $output .= '<h3>' . t('About') . '</h3>';
-      $output .= '<p>' . t('The Field UI module provides an administrative user interface (UI) for adding custom fields to content types, users, comments, and other types of data. The field types are defined by other modules, and collected and managed by the <a href="@field">Field module</a>. For more information, see the online handbook entry for <a href="@field-ui">Field UI module</a>.', array('@field-ui' => 'http://drupal.org/handbook/modules/field-ui', '@field' => url('admin/help/field'))) . '</p>';
+      $output .= '<p>' . t('The Field UI module provides an administrative user interface (UI) for attaching and managing custom fields on content types, taxonomy vocabularies, user accounts, comments, and other data. Fields can store various types of data, and the each type of data has a field type associated with it. Field types are defined by other modules, and collected and managed by the <a href="@field">Field module</a>. For more information, see the online handbook entry for <a href="@field_ui" target="_blank">Field UI module</a>.', array('@field' => url('admin/help/field'), '@field_ui' => 'http://drupal.org/handbook/modules/field-ui')) . '</p>';
       $output .= '<h3>' . t('Uses') . '</h3>';
       $output .= '<dl>';
-      $output .= '<dt>' . t('Defining custom fields') . '</dt>';
-      $output .= '<dd>' . t('When adding a custom field, you need to determine whether the field type will contain text, numbers, lists, etc., as well as how it will be input (as a text field, text area, select box, checkboxes, radio buttons, etc.). A field may have a single value or multiple values. For example, an employee field might have a single employee identification number, whereas a phone number field might have multiple phone numbers.') . '</dd>';
+      $output .= '<dt>' . t('Planning a new custom field') . '</dt>';
+      $output .= '<dd>' . t('There are several decisions you will need to make before creating a custom field:') . '<dl>';
+      $output .= '<dt>' . t('What the field will be called') . '</dt>';
+      $output .= '<dd>' . t('A field has a <em>label</em> (the name displayed in the user interface) and a <em>machine name</em> (the name stored in the database). The label can be changed after you create the field, if needed, but the machine name cannot be changed after you have created the field.') . '</li>';
+      $output .= '<dt>' . t('What type of data the field will store') . '</dt>';
+      $output .= '<dd>' . t('Each field can store one type of data (text, number, file, etc.). When you define a field, you choose a particular <em>field type</em>, which corresponds to the type of data you want to store. The field type cannot be changed after you have created the field.') . '</dd>';
+      $output .= '<dt>' . t('How the data will be input and displayed') . '</dt>';
+      $output .= '<dd>' . t('Each field type has one or more available <em>widgets</em> associated with it; each widget provides a mechanism for data input when you are editing (text box, select list, file upload, etc.). Each field type also has one or more available <em>display formatters</em>, which determine how the field is displayed to site visitors. The widget and display formatter can be changed after you have created the field.') . '</dd>';
+      $output .= '<dt>' . t('How many values the field will store') . '</dt>';
+      $output .= '<dd>' . t('You can store one value, a specific number of values, or an unlimited number of values in each field. For example, an employee identification number field might store a single number, whereas a phone number field might store multiple phone numbers. This setting can be changed after you have created the field, but if you reduce the number of values, you may lose information.') . '</dd>';
+      $output .= '</dl>';
+      $output .= '<dt>' . t('Reusing custom fields') . '</dt>';
+      $output .= '<dd>' . t('Once you have created a custom field, you can reuse it. For example, if you create a custom image field on one content type, and you need to have an image field with the same parameters on another content type, you can add the same field you have already created to the second content type. You can also add this field to a taxonomy vocabulary, comments, user accounts, etc.') . '</dd>';
+      $output .= '<dd>' . t('Some settings of a reused field are unique to each use of the field; others are shared across all places you use the field. For example, the label of a text field is unique to each use, while the setting for the number of values is shared.') . '</dd>';
       $output .= '<dt>' . t('Adding fields to content types') . '</dt>';
-      $output .= '<dd>' . t("Some fields are provided by default when you create a content type, such as the Title and Body fields. The Field UI module lets administrators edit or delete the default fields attached to content, as well as create new fields for storing any additional information. Field configuration is accessible through tabs on each specific content type's configuration page, listed on the <a href='@content-types'>Content types administration page</a>. See the <a href='@node-help'>Node module help page</a> for more information about content types.", array('@content-types' => url('admin/structure/types'), '@node-help' => url('admin/help/node'))) . '</dd>';
+      $output .= '<dd>' . t('Manage the fields of a content type on the <em>Manage fields</em> tab of the content type edit page, which you can reach from the <a href="@types">Content types page</a>. When you add a field to a content type, each content item of that type you create will have that field. Some fields, such as the Title and Body, are provided for you when you create a content type, or are provided on content types created by your installation profile.', array('@types' => url('admin/structure/types'))) . '</dd>';
+      $output .= '<dt>' . t('Adding fields to taxonomy vocabularies') . '</dt>';
+      $output .= '<dd>' . t('Manage the fields of a taxonomy vocabulary on the <em>Manage fields</em> tab of the vocabulary edit page, which you can reach from the <a href="@taxonomy">Taxonomy page</a>. When you add a field to a vocabulary, each term in that vocabulary will have that field. For example, you could add an image field to a vocabulary to store an icon with each term.', array('@taxonomy' => url('admin/structure/taxonomy'))) . '</dd>';
+      $output .= '<dt>' . t('Adding fields to user accounts') . '</dt>';
+      $output .= '<dd>' . t('Manage the fields for users on the <a href="@fields">Manage fields tab</a> of the <a href="@accounts">Account settings</a> page. When you add a field to user accounts, each user account will have that field. For example, you could add a long text field to allow users to include a biography.', array('@fields' => url('admin/config/people/accounts/fields'), '@accounts' => url('admin/config/people/accounts'))) . '</dd>';
+      $output .= '<dt>' . t('Adding fields to comments') . '</dt>';
+      $output .= '<dd>' . t('Manage the fields for comments associated with a particular content type on the <em>Comment fields</em> tab of the content type edit page (you can edit content types using links on the <a href="@types">Content types page</a>). The comment fields for each content type are managed separately. When you add a field to comments on a particular content type, each comment on a content item of that type will have that field. For example, you could add a website field to the comments on forum posts, to allow forum commenters to add a link to their website.', array('@types' => url('admin/structure/types'))) . '</dd>';
       $output .= '</dl>';
       return $output;
 
