christophlehmann / pagetreefilter Goto Github PK
View Code? Open in Web Editor NEWTYPO3 Extension for highlighting pages with records and content elements in the pagetree
License: GNU General Public License v3.0
TYPO3 Extension for highlighting pages with records and content elements in the pagetree
License: GNU General Public License v3.0
If constraint has large result set, fetching pagetree takes much longer than without constraints and may result in errors.
I am assuming the extension may be fetching too many results. In the core - to handle the previous performance problems in the page tree - not the entire pagetree is fetched - only the expanded part. (After several changes in the pagetree mechanism).
If I fetch with this extension "pagetreefilter" using a constraint with a large result set I get one of:
I still find the extension very nice and quite useful. The editors on our site will most likely not get this problem as they see only a much smaller subset of pages (due to the mount points used).
I am not using this yet in production, it might be nice to be able to find a way to solve these problems. Will upgrade to v11 soon.
I am using
site has about 40 000 pages.
select count(*) from pages where sys_language_uid=0 and not deleted;
+----------+
| count(*) |
+----------+
| 40932 |
+----------+
Watching the result times in the Network tab of developer tools, I also see long response times for the filterData requests, e.g. - 29s
Browser console:
PageTree.js?bust=1648368554:486 Uncaught SyntaxError: Unexpected token < in JSON at position 0
at JSON.parse (<anonymous>)
at Object.<anonymous> (d3.js?bust=1648368554:8:28915)
at XMLHttpRequest.c (d3.js?bust=1648368554:6:16638)
No message in TYPO3 log (log file with ERROR log level).
This may be related to these core issues:
It might be a possible solution to get number of results first and if too large reject the constraint and fall back to original behaviour of TYPO3 or abort the current filter with an error message ("result set too large"). (Have not really thought this through though, just tossing out ideas. Difficulty is not just detemining what kind of result set is "too large").
1/1) #1476107295 TYPO3\CMS\Core\Error\Exception
PHP Warning: Invalid argument supplied for foreach() in /var/www/site-uol11/htdocs/typo3conf/ext/pagetreefilter/Classes/Controller/WizardController.php line 162
WizardController:: keepOnlyListTypeAndCTypeInDefaultValues
When debugging this, I have an array $wizards with one entry which only contains a 'header' entry. I am not sure if this is (configuration) problem on my end. The problem did not occur when testing this extension with TYPO3 v10. I am now testing with v11.
$wizards = [
'common' => [
'header' => 'Typical page element'
],
// ....
]
pagetreefilter: 1.5.0 or main
TYPO3 core 11.5.16
By their keys and localized labels
Return value of Lemming\PageTreeFilter\Utility\ConfigurationUtility::isWizardEnabled() must be of the type bool, string returned
in /var/www/site-uol/htdocs/typo3conf/ext/pagetreefilter/Classes/Utility/ConfigurationUtility.php line 24
}
$isEnabledForNormalUser = $backendUser->getTSConfig()['tx_pagetreefilter.']['enable'] ?? 0 == 1;
return $isEnabledForNormalUser;
}
public static function getPageId()
{
Problem happens if you set tx_pagetreefilter.enable = 1
in group TSconfig and then switch to user. If $backendUser->getTSConfig()['tx_pagetreefilter.']['enable']
is true, the value of this will be returned which is a string.
I like this extension, will probably test some more
I get an error running the extension in TYPO3 11 with PHP 8:
Core: Exception handler (WEB): Uncaught TYPO3 Exception: #1476107295: PHP Warning: Undefined array key "hideTable" in /var/www/html/src/private/typo3conf/ext/pagetreefilter/Classes/Controller/NewContentElementController.php line 63
The adminOnly setting might also need an isset check before accessing it.
I'm not sure which branch to target the issue to, NewContentElementController does not exist in master anymore.
Also add dialog to ask if the filter should be applied.
I like to see, which pages are/not in the Solr Index Queue. Ideally i see all pages with different colors for each state.
TYPO3 10.4.21
PHP 7.3.25
EXT:pagetreefilter 0.1.0
Installation is not based on composer
error message:
Core: Exception handler (WEB): Uncaught TYPO3 Exception: Call to undefined method Doctrine\DBAL\Driver\Mysqli\MysqliStatement::fetchAllAssociative() | Error thrown in file /....../...../typo3conf/ext/pagetreefilter/Classes/Controller/NewContentElementController.php in line 120. Requested URL: https://www.........de/typo3/index.php?route=%%2Fajax%%2Fpagetreefilter%%2Ffetchfilter&token=--AnonymizedToken--
Be able to filter in the subtree of a given page
https://review.typo3.org/c/Packages/TYPO3.CMS/+/77983 need to be streamlined
TYPO3 has the possibility for mass editing records, but you have to change the fields for every single record.
Based on a filter like "table=pages foo=1" this extension could provide links for mass editing filtered records. Steps could be
It is fixed in 11.5, but exist in 10.4.
In Build/Sources/TypeScript/backend/Resources/Public/TypeScript/Modal.ts:461 the await in the append() seems to be the reason for it.
Currently =
is the only supported operator. Support also!=
For example uid
Depending on how long it takes, it can be realized as an option (checkbox in wizard or via TsConfig option)
Filter: table=pages sys_language_uid=205
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.