[TASK] Make "Check TCA in ext_tables.php" install tool wizard more helpful 91/61591/5
authorTymoteusz Motylewski <t.motylewski@gmail.com>
Mon, 2 Sep 2019 20:06:50 +0000 (22:06 +0200)
committerRichard Haeser <richard@maxserv.com>
Thu, 5 Sep 2019 10:55:37 +0000 (12:55 +0200)
Add information about how user can fix the issue.

Releases: master, 9.5
Resolves: #89065
Change-Id: I4110e38ba69fbe277f5f1c08fb25fbbdd52d1fcc
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61591
Tested-by: Benjamin Franzke <bfr@qbus.de>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Oliver Bartsch <bo@cedev.de>
Tested-by: Richard Haeser <richard@maxserv.com>
Reviewed-by: Benjamin Franzke <bfr@qbus.de>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Richard Haeser <richard@maxserv.com>
Build/Sources/TypeScript/install/Resources/Public/TypeScript/Module/Upgrade/TcaExtTablesCheck.ts
typo3/sysext/install/Resources/Private/Templates/Upgrade/TcaExtTablesCheck.html
typo3/sysext/install/Resources/Public/JavaScript/Module/Upgrade/TcaExtTablesCheck.js

index 3af4c80..2dd9d89 100644 (file)
@@ -51,8 +51,8 @@ class TcaExtTablesCheck extends AbstractInteractableModule {
           if (data.status.length > 0) {
             const aMessage: any = InfoBox.render(
               Severity.warning,
-              'Extensions change TCA in ext_tables.php',
-              'Check for ExtensionManagementUtility and $GLOBALS["TCA"]',
+              'Following extensions change TCA in ext_tables.php',
+              'Check ext_tables.php files, look for ExtensionManagementUtility calls and $GLOBALS[\'TCA\'] modifications',
             );
             modalContent.find(this.selectorOutputContainer).append(aMessage);
             data.status.forEach((element: any): void => {
index 092718a..add0138 100644 (file)
@@ -1,7 +1,22 @@
 <html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
 
 <p>
-    Check if an extension still changes $GLOBALS['TCA'] in ext_tables.php.
+    Identify any extensions that are modifying the Table Control Array (TCA) in ext_tables.php.
+    Changes made to the TCA in ext_tables.php can result in performance drawbacks.
+</p>
+<p>
+    Since TYPO3 CMS 6.2 changes to $GLOBALS['TCA']
+    must be stored inside a folder called Configuration/TCA/Overrides with one file per modified table.
+    <br>
+    These files are named along the pattern &lt;tablename&gt;.php.
+</p>
+<p>
+    Thus if you want to customize the TCA of tx_foo_domain_model_bar,
+    you’d create the file Configuration/TCA/Overrides/tx_foo_domain_model_bar.php.
+</p>
+<p>
+    The advantage of this method is that all such changes are incorporated into
+    $GLOBALS['TCA'] before it is cached. This is thus far more efficient.
 </p>
 <div class="t3js-tcaExtTablesCheck-output"></div>
 
index 8bc20db..5c91f0d 100644 (file)
@@ -10,4 +10,4 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-define(["require","exports","../AbstractInteractableModule","jquery","../../Router","../../Renderable/ProgressBar","../../Renderable/Severity","../../Renderable/InfoBox","TYPO3/CMS/Backend/Modal","TYPO3/CMS/Backend/Notification"],function(e,t,r,n,s,a,o,c,i,l){"use strict";return new class extends r.AbstractInteractableModule{constructor(){super(...arguments),this.selectorCheckTrigger=".t3js-tcaExtTablesCheck-check",this.selectorOutputContainer=".t3js-tcaExtTablesCheck-output"}initialize(e){this.currentModal=e,this.check(),e.on("click",this.selectorCheckTrigger,e=>{e.preventDefault(),this.check()})}check(){const e=this.getModalBody(),t=n(this.selectorOutputContainer),r=a.render(o.loading,"Loading...","");t.empty().html(r),n.ajax({url:s.getUrl("tcaExtTablesCheck"),cache:!1,success:r=>{if(e.empty().append(r.html),i.setButtons(r.buttons),!0===r.success&&Array.isArray(r.status))if(r.status.length>0){const n=c.render(o.warning,"Extensions change TCA in ext_tables.php",'Check for ExtensionManagementUtility and $GLOBALS["TCA"]');e.find(this.selectorOutputContainer).append(n),r.status.forEach(r=>{const n=c.render(r.severity,r.title,r.message);t.append(n),e.append(n)})}else{const t=c.render(o.ok,"No TCA changes in ext_tables.php files. Good job!","");e.find(this.selectorOutputContainer).append(t)}else l.error("Something went wrong",'Use "Check for broken extensions"')},error:t=>{s.handleAjaxError(t,e)}})}}});
\ No newline at end of file
+define(["require","exports","../AbstractInteractableModule","jquery","../../Router","../../Renderable/ProgressBar","../../Renderable/Severity","../../Renderable/InfoBox","TYPO3/CMS/Backend/Modal","TYPO3/CMS/Backend/Notification"],function(e,t,s,n,r,a,o,c,i,l){"use strict";return new class extends s.AbstractInteractableModule{constructor(){super(...arguments),this.selectorCheckTrigger=".t3js-tcaExtTablesCheck-check",this.selectorOutputContainer=".t3js-tcaExtTablesCheck-output"}initialize(e){this.currentModal=e,this.check(),e.on("click",this.selectorCheckTrigger,e=>{e.preventDefault(),this.check()})}check(){const e=this.getModalBody(),t=n(this.selectorOutputContainer),s=a.render(o.loading,"Loading...","");t.empty().html(s),n.ajax({url:r.getUrl("tcaExtTablesCheck"),cache:!1,success:s=>{if(e.empty().append(s.html),i.setButtons(s.buttons),!0===s.success&&Array.isArray(s.status))if(s.status.length>0){const n=c.render(o.warning,"Following extensions change TCA in ext_tables.php","Check ext_tables.php files, look for ExtensionManagementUtility calls and $GLOBALS['TCA'] modifications");e.find(this.selectorOutputContainer).append(n),s.status.forEach(s=>{const n=c.render(s.severity,s.title,s.message);t.append(n),e.append(n)})}else{const t=c.render(o.ok,"No TCA changes in ext_tables.php files. Good job!","");e.find(this.selectorOutputContainer).append(t)}else l.error("Something went wrong",'Use "Check for broken extensions"')},error:t=>{r.handleAjaxError(t,e)}})}}});
\ No newline at end of file