ext-solr
ext-solr copied to clipboard
[BUG] Subpage of page with restricted access and extendToSubpages set is removed from index queue
Scenario:
- rootpage
- page A (with restricted access, fe_group is selected and extendToSubpages is set)
- page B (without any access restrictions set)
- page A (with restricted access, fe_group is selected and extendToSubpages is set)
When the index queue is build for the first time, both pages A+B get indexed and can be found (with proper FE access rights). If page B gets updated, it is instantly removed from index queue and also from solr index and therefore can not be found anymore.
There seems to be no way to get page B indexed again than rebuilding the index queue. But with any update to page B it is removed again, so this can not be valid workaround.
I investigated a little and found the responsible lines of code:
In FrontendEnvironment/Tsfe.php the necessary usergroups are fetched only from the current site. These groups are later used for building a tsfe and checking the access to the page. This fails in the described scenario with a page-not-found-response.
This bug is a variation of Issue 3271, although the problem here might be solved easier. From my point of view it should be sufficient to collect the usergroups from the rootline until rootpage or a page with extendToSubpages set.
Used versions:
TYPO3 Version: 11.5.25 Browser: firefox EXT:solr Version: 11.5.1 Used Apache Solr Version: 8.11.1 PHP Version: 8.1 MariaDB: 10.5
If this bug can be confirmed and the described solution is valid, I could try to fix it.
@timhorstmann the 3563 seems to be wrong in description. Please change it to the right one.
Yes, it did never work.
@timhorstmann the 3563 seems to be wrong in description. Please change it to the right one.
You're right, I updated to 3271
We confirm this bug in EXT:solr Version: 11.5.5 & TYPO3 11.5.33. Any updates on this issue?
I run into similiar issues but I don't get page B to be indexed - no matter if on 1st run or later on :(
I run into similiar issues but I don't get page B to be indexed - no matter if on 1st run or later on :(
I guess not a run, but initializing the index queue for pages.