title: How to add Tooltips to a Flexform Plugin Configuration?
body: <p>I guess its quite Simple as soon as you know it once, but I am searching on this Topic now for 4+ Hours. So maybe someone can help me out, with a push to the right direction.</p>
  
  <p>I develop an Extension for TYPO3 6.2 with Extbase.
  The Plugin Configuration is done with a FlexForm.
  To increase Usabillity I want to add Tooltips (helptexts or CSH) to my FlexForm.</p>
  
  <p><strong>Approach 1:</strong>
  I tryed it with the Tag </p>
  
  <pre><code>&lt;cshFile&gt;
  </code></pre>
  
  <p>and adding the corresponding XML to the Extension Files.
  As many Forums and Blogs suggest, this is deprecated, so I tought lets try the other Approach.</p>
  
  <p><strong>Approach 2:</strong> 
  Adding the "locallang_csh_flexforms.xml" to the Plugin within the ext_tables.php.
  This seems more Logical, also its suggested as the new way to do it. 
  Also this Method somehow gets used by the tx_news Extension, which overall has a solid code.</p>
  
  <p>However this doesnt seem to Work for me, I tryed to replace all deprecated Classes (used by tx_news) and cloned the Implementation to my Plugin. The FlexForm is shown, but still no Tooltip available. 
  I will now post some Code Snippets of my current State. Its the attempt to do what is done in "tx_news".</p>
  
  <p>These are the Files I mostly worked with, if I didnt forgett any.
  If something else is of Interest, please let me know, I will add it.</p>
  
  <p><strong>Functionality in tx_news</strong>
  <img src="https://i.stack.imgur.com/ZdOZH.jpg" alt="enter image description here"></p>
  
  <p><strong>ext_tables.php</strong></p>
  
  <pre><code>if (!defined('TYPO3_MODE')) {
      die ('Access denied.');
  }
  \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr(
      'tt_content.pi_flexform.psc_disqus_sso_sso.list', 'EXT:' . $_EXTKEY . '/Resources    /Private/Language/locallang_csh_flexforms.xml');
  
  \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
      $_EXTKEY,
      'Sso',
      'Psc Disqus'
  );
  
  \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY,     'Configuration/TypoScript', 'Psc Disqus SSO');
  
  //flexforms
  $extensionName = \TYPO3\CMS\Core\Utility    \GeneralUtility::underscoredToUpperCamelCase($_EXTKEY);
  $pluginSignature = strtolower($extensionName) . '_sso';
  
  $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist'][$pluginSignature] = 'layout,recursive,select_key,pages';
  $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature] =     'pi_flexform';
  
  \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($pluginSignature,     'FILE:EXT:'.$_EXTKEY.'/Configuration/FlexForms/SsoSession.xml');
  </code></pre>
  
  <p><strong>locallang_csh_flexforms.xml</strong></p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8" standalone="yes" ?&gt;
  &lt;T3locallang&gt;
  &lt;meta type="array"&gt;
      &lt;description&gt;CSH for flexforms&lt;/description&gt;
      &lt;type&gt;CSH&lt;/type&gt;
      &lt;fileId&gt;EXT:psc_disqus_sso/locallang_csh_flexforms.xml&lt;/fileId&gt;
      &lt;labelContext type="array"&gt;&lt;/labelContext&gt;
  &lt;/meta&gt;
  &lt;data type="array"&gt;
      &lt;languageKey index="default" type="array"&gt;
          &lt;label index="settings.useSSO.description"&gt;Check to Use SSO Functionality&lt;/label&gt;
  
          &lt;label index="settings.disqus.general.shortName.description"&gt;Tells the Disqus service your forum's shortname, which is the unique identifier for your website as registered on Disqus. If undefined, the Disqus embed will not load.&lt;/label&gt;
          &lt;label index="settings.disqus.general.title.description"&gt;Tells the Disqus service the title of the current page. This is used when creating the thread on Disqus for the first time. If undefined, Disqus will use the &lt;title&gt; attribute of the page. If that attribute could not be used, Disqus will use the URL of the page.&lt;/label&gt;
          &lt;label index="settings.disqus.general.categoryId.description"&gt;Tells the Disqus service the category to be used for the current page. This is used when creating the thread on Disqus for the first time.&lt;/label&gt;
          &lt;label index="settings.disqus.general.disableMobile.description"&gt;Tells the Disqus service to never use the mobile optimized version of Disqus.&lt;/label&gt;
  
  ...(just some more labels and closing tags)...
  </code></pre>
  
  <p><strong>SsoSession.xml</strong></p>
  
  <pre><code>&lt;T3DataStructure&gt;
  &lt;meta&gt;
      &lt;langDisable&gt;1&lt;/langDisable&gt;
  &lt;/meta&gt;
   &lt;sheets&gt;
    &lt;sDEF&gt;
     &lt;ROOT&gt;
       &lt;TCEforms&gt;
          &lt;sheetTitle&gt;SSO Settings&lt;/sheetTitle&gt;
       &lt;/TCEforms&gt;
       &lt;type&gt;array&lt;/type&gt;
       &lt;el&gt;
          &lt;settings.useSSO&gt;
              &lt;TCEforms&gt;
                  &lt;label&gt;Activate Disqus Single Sign On&lt;/label&gt;
                  &lt;config&gt;
                      &lt;type&gt;check&lt;/type&gt;
                  &lt;/config&gt;
                  &lt;onChange&gt;reload&lt;/onChange&gt;
              &lt;/TCEforms&gt;      
          &lt;/settings.useSSO&gt;
           &lt;settings.disqus.sso.name&gt;
              &lt;TCEforms&gt;
                  &lt;label&gt;Website name (Your site's name. Disqus will display it in the Post As window.)&lt;/label&gt;
                  &lt;config&gt;
                      &lt;type&gt;input&lt;/type&gt;
                      &lt;size&gt;30&lt;/size&gt;
                      &lt;default&gt;Website&lt;/default&gt;
                  &lt;/config&gt;
                  &lt;displayCond&gt;FIELD:settings.useSSO:REQ:true&lt;/displayCond&gt;
              &lt;/TCEforms&gt;      
          &lt;/settings.disqus.sso.name&gt;
          &lt;settings.disqus.sso.loginButton&gt;
              &lt;TCEforms&gt;
                  &lt;label&gt;Login Button (optional)&lt;/label&gt;
                  &lt;config&gt;
                      &lt;type&gt;group&lt;/type&gt;
                      &lt;internal_type&gt;file&lt;/internal_type&gt;
                      &lt;allowed&gt;jpg,gif,png&lt;/allowed&gt;
                      &lt;max_size&gt;2000&lt;/max_size&gt;
                      &lt;uploadfolder&gt;uploads/tx_pscdisqussso/loginButton&lt;/uploadfolder&gt;
                      &lt;show_thumbs&gt;1&lt;/show_thumbs&gt;
                      &lt;size&gt;1&lt;/size&gt;
                      &lt;minitems&gt;0&lt;/minitems&gt;
                      &lt;maxitems&gt;1&lt;/maxitems&gt;
                  &lt;/config&gt;
                  &lt;displayCond&gt;FIELD:settings.useSSO:REQ:true&lt;/displayCond&gt;
              &lt;/TCEforms&gt;      
          &lt;/settings.disqus.sso.loginButton&gt;
          &lt;settings.disqus.sso.favIcon&gt;
              &lt;TCEforms&gt;
                  &lt;label&gt;Icon (optional)&lt;/label&gt;
                  &lt;config&gt;
                      &lt;type&gt;group&lt;/type&gt;
                      &lt;internal_type&gt;file&lt;/internal_type&gt;
                      &lt;allowed&gt;jpg,gif,png&lt;/allowed&gt;
                      &lt;max_size&gt;2000&lt;/max_size&gt;
                      &lt;uploadfolder&gt;uploads/tx_pscdisqussso/loginButton&lt;/uploadfolder&gt;
                      &lt;show_thumbs&gt;1&lt;/show_thumbs&gt;
                      &lt;size&gt;1&lt;/size&gt;
                      &lt;minitems&gt;0&lt;/minitems&gt;
                      &lt;maxitems&gt;1&lt;/maxitems&gt;
                  &lt;/config&gt;
                  &lt;displayCond&gt;FIELD:settings.useSSO:REQ:true&lt;/displayCond&gt;
              &lt;/TCEforms&gt;      
          &lt;/settings.disqus.sso.favIcon&gt;
          &lt;settings.disqus.sso.loginPage&gt;
              &lt;TCEforms&gt;
                  &lt;label&gt;Login Page&lt;/label&gt;
                  &lt;config&gt;
                      &lt;type&gt;group&lt;/type&gt;
                      &lt;internal_type&gt;db&lt;/internal_type&gt;
                      &lt;allowed&gt;pages&lt;/allowed&gt;
                      &lt;size&gt;1&lt;/size&gt;
                      &lt;maxitems&gt;1&lt;/maxitems&gt;
                      &lt;minitems&gt;0&lt;/minitems&gt;
                      &lt;show_thumbs&gt;1&lt;/show_thumbs&gt;
                  &lt;/config&gt;
                  &lt;displayCond&gt;FIELD:settings.useSSO:REQ:true&lt;/displayCond&gt;
              &lt;/TCEforms&gt;      
          &lt;/settings.disqus.sso.loginPage&gt;
          &lt;settings.disqus.sso.loginHeight&gt;
              &lt;TCEforms&gt;
                  &lt;label&gt;Login Window Height&lt;/label&gt;
                  &lt;config&gt;
                      &lt;type&gt;input&lt;/type&gt;
                      &lt;size&gt;20&lt;/size&gt;
                      &lt;max&gt;30&lt;/max&gt;
                      &lt;default&gt;800&lt;/default&gt;
                      &lt;eval&gt;int&lt;/eval&gt;
                  &lt;/config&gt;
                  &lt;displayCond&gt;FIELD:settings.useSSO:REQ:true&lt;/displayCond&gt;
              &lt;/TCEforms&gt;      
          &lt;/settings.disqus.sso.loginHeight&gt;
          &lt;settings.disqus.sso.loginWidth&gt;
              &lt;TCEforms&gt;
                  &lt;label&gt;Login Window Width&lt;/label&gt;
                  &lt;config&gt;
                      &lt;type&gt;input&lt;/type&gt;
                      &lt;size&gt;20&lt;/size&gt;
                      &lt;max&gt;30&lt;/max&gt;
                      &lt;default&gt;400&lt;/default&gt;
                      &lt;eval&gt;int&lt;/eval&gt;
                  &lt;/config&gt;
                  &lt;displayCond&gt;FIELD:settings.useSSO:REQ:true&lt;/displayCond&gt;
              &lt;/TCEforms&gt;      
          &lt;/settings.disqus.sso.loginWidth&gt;
       &lt;/el&gt;
     &lt;/ROOT&gt;
    &lt;/sDEF&gt;
    &lt;disqusConfigurationGeneral&gt;
     &lt;ROOT&gt;
       &lt;TCEforms&gt;
        &lt;sheetTitle&gt;Disqus Settings&lt;/sheetTitle&gt;
       &lt;/TCEforms&gt;
       &lt;type&gt;array&lt;/type&gt;
       &lt;el&gt;
          &lt;settings.disqus.general.shortName&gt;
              &lt;TCEforms&gt;
                  &lt;label&gt;Disqus Shortname&lt;/label&gt;
                  &lt;config&gt;
                      &lt;type&gt;input&lt;/type&gt;
                      &lt;size&gt;30&lt;/size&gt;
                      &lt;eval&gt;required&lt;/eval&gt;
                  &lt;/config&gt;
              &lt;/TCEforms&gt;      
          &lt;/settings.disqus.general.shortName&gt;
          &lt;settings.disqus.general.title&gt;
              &lt;TCEforms&gt;
                  &lt;label&gt;Title (Tells the Disqus service the title of the current page. This is used when creating the thread on Disqus for the first time. If undefined, Disqus will use the &amp;lt;title&amp;gt; attribute of the page. If that attribute could not be used, Disqus will use the URL of the page.)&lt;/label&gt;
                  &lt;config&gt;
                      &lt;type&gt;input&lt;/type&gt;
                      &lt;size&gt;30&lt;/size&gt;
                  &lt;/config&gt;
              &lt;/TCEforms&gt;      
          &lt;/settings.disqus.general.title&gt;
          &lt;settings.disqus.general.categoryId&gt;
              &lt;TCEforms&gt;
                  &lt;label&gt;Disqus Category (see documentation)&lt;/label&gt;
                  &lt;config&gt;
                      &lt;type&gt;input&lt;/type&gt;
                      &lt;size&gt;30&lt;/size&gt;
                  &lt;/config&gt;
              &lt;/TCEforms&gt;      
          &lt;/settings.disqus.general.categoryId&gt;
          &lt;settings.disqus.general.disableMobile&gt;
              &lt;TCEforms&gt;
                  &lt;label&gt;Disable Disqus Mobile Optimization (see documentation)&lt;/label&gt;
                  &lt;config&gt;
                      &lt;type&gt;check&lt;/type&gt;
                  &lt;/config&gt;
              &lt;/TCEforms&gt;      
          &lt;/settings.disqus.general.disableMobile&gt;
          &lt;settings.disqus.general.disableMobile&gt;
              &lt;TCEforms&gt;
                  &lt;label&gt;Disable Disqus Mobile Optimization (see documentation)&lt;/label&gt;
                  &lt;config&gt;
                      &lt;type&gt;check&lt;/type&gt;
                  &lt;/config&gt;
              &lt;/TCEforms&gt;
          &lt;/settings.disqus.general.disableMobile&gt;
       &lt;/el&gt;
     &lt;/ROOT&gt;
    &lt;/disqusConfigurationGeneral&gt;
   &lt;/sheets&gt;
  &lt;/T3DataStructure&gt;
  </code></pre>