Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUGFIX:BP:11.5] handle localizations with un-available tsfe more gracefully #3832

Merged
merged 1 commit into from
Oct 13, 2023

Conversation

dkd-kaehm
Copy link
Collaborator

Given the following scenario:

  • non-localized root page for multi-language site
  • below this root page is a localized folder
  • inside that localized folder are localized record to index

Since TypoScriptFrontendController is not initialized for sys_folder page records, it'll walk up to the parent page and try to initialize TypoScriptFrontendController for it. However, this isn't possible in the given scenario because the page isn't localized into all languages. Tsfe::getTsfeByPageIdAndLanguageId() returns null in this case, which triggers a NullPointerException when getLanguageOverlay() is called on it. When the NPE is thrown none of the localizations of the item will be indexed, even though some could have been successfully indexed.

This change checks aborts the operation when the specific TypoScriptFrontendController for the item is null, which causes queue items for which TypoScriptFrontendController could not be initialized to not get indexed.

Ports: #3737

Given the following scenario:
- non-localized root page for multi-language site
- below this root page is a localized folder
- inside that localized folder are localized record to index

Since TypoScriptFrontendController is not initialized for sys_folder
page records, it'll walk up to the parent page and try to initialize
TypoScriptFrontendController for it. However, this isn't possible in
the given scenario because the page isn't localized into all languages.
Tsfe::getTsfeByPageIdAndLanguageId() returns null in this case, which
triggers a NullPointerException when getLanguageOverlay() is called on
it. When the NPE is thrown none of the localizations of the item will
be indexed, even though some could have been successfully indexed.

This change checks aborts the operation when the specific
TypoScriptFrontendController for the item is null, which causes queue
items for which TypoScriptFrontendController could not be initialized
to not get indexed.

Ports: TYPO3-Solr#3737
@dkd-kaehm dkd-kaehm merged commit f65c184 into TYPO3-Solr:release-11.5.x Oct 13, 2023
8 checks passed
@dkd-kaehm dkd-kaehm deleted the port/3737_to_11.5 branch October 13, 2023 16:14
@dkd-kaehm dkd-kaehm changed the title [BUGFIX] handle localizations with un-available tsfe more gracefully [BUGFIX:BP:11.5] handle localizations with un-available tsfe more gracefully Oct 13, 2023
dkd-friedrich added a commit to dkd-friedrich/ext-solr that referenced this pull request Nov 6, 2023
This is a maintenance release for TYPO3 11.5 that contains the folling changes:

- [TASK] Fix CI 2023.09.11 on release-11.5.x by @dkd-kaehm in TYPO3-Solr#3777
- [BUGFIX:BP:11.5] Fix EXT:solr route enhancer by @dkd-friedrich in TYPO3-Solr#3743
- [BUG] Fix detection of "draft records" in workspaces by @baschny in TYPO3-Solr#3642
- [BUGFIX] Do not index translations on default language in languages free mode by @dkd-kaehm in TYPO3-Solr#3786
- [BUGFIX:BP:11.5] Retry Uri Building after exception by @dkd-friedrich in TYPO3-Solr#3789
- [BUGFIX] Delete index documents without available site by @dkd-kaehm in TYPO3-Solr#3778
- [TASK:BP:11.5] Ensure recursive page update on page movement by @dkd-friedrich in TYPO3-Solr#3771
- [FEATURE:BP:11.5] Add index queue indices by @dkd-friedrich in TYPO3-Solr#3791
- [TASK:BP:11.5] Migrate top.fsMod by @dkd-friedrich in TYPO3-Solr#3795
- [BUGFIX:BP:11.5] Return value getPageItemChangedTime() must be of the type int by @dkd-kaehm in TYPO3-Solr#3813
- [TASK:BP:11.5] Remove duplicate withHeader() by @dkd-kaehm in TYPO3-Solr#3626
- [BUGFIX:BP:11.5] Do not list cores twice in Index Inspector by @dkd-kaehm in TYPO3-Solr#3818
- [BUGFIX] Fixes multiple sortings by @BastiLu in TYPO3-Solr#3762
- [BUGFIX:BP:11.5] Fix missing frontend.typoscript request attribute while indexing by @dkd-kaehm in TYPO3-Solr#3822
- [BUGFIX] Prevent indexing error on missing 'foreignLabelField' by @kitzberger in TYPO3-Solr#3740
- [BUGFIX:BP:11.5] Force score to float by @dkd-kaehm in TYPO3-Solr#3824
- [BUGFIX:BP:11.5] Fix possible notice by @dkd-kaehm in TYPO3-Solr#3825
- [DOC:BP:11.5] Add FAQ how to generate URLs to restricted pages by @dkd-kaehm in TYPO3-Solr#3826
- [BUGFIX:BP:11.5] Handle float values in options facet parser by @dkd-kaehm in TYPO3-Solr#3827
- [BUGFIX:BP:11.5] handle localizations with un-available tsfe more gracefully by @dkd-kaehm in TYPO3-Solr#3832
- [TASK] Update the version matrix by @dkd-friedrich in TYPO3-Solr#3859

Please read the release notes:
https://github.com/TYPO3-Solr/ext-solr/releases/tag/11.5.4

---

How to Get Involved

There are many ways to get involved with Apache Solr for TYPO3:

* Submit bug reports and feature requests on GitHub
* Ask or help or answer questions in our Slack channel
* Provide patches through pull requests or review and comment on
existing pull requests
* Go to www.typo3-solr.com or call dkd to sponsor the ongoing
development of Apache Solr for TYPO3

Support us by becoming an EB partner:
https://shop.dkd.de/Produkte/Apache-Solr-fuer-TYPO3/

or call:
+49 (0)69 - 2475218 0
dkd-friedrich added a commit to dkd-friedrich/ext-solr that referenced this pull request Nov 6, 2023
This is a maintenance release for TYPO3 11.5 and the last release that supports Apache Solr 8.11. Next EXT:solr release for TYPO3 11.5 will be 11.6.0, it
will contain support for Apache Solr 9 and some breaking improvements.

11.5.4 contains the folling changes:

- [TASK] Fix CI 2023.09.11 on release-11.5.x by @dkd-kaehm in TYPO3-Solr#3777
- [BUGFIX:BP:11.5] Fix EXT:solr route enhancer by @dkd-friedrich in TYPO3-Solr#3743
- [BUG] Fix detection of "draft records" in workspaces by @baschny in TYPO3-Solr#3642
- [BUGFIX] Do not index translations on default language in languages free mode by @dkd-kaehm in TYPO3-Solr#3786
- [BUGFIX:BP:11.5] Retry Uri Building after exception by @dkd-friedrich in TYPO3-Solr#3789
- [BUGFIX] Delete index documents without available site by @dkd-kaehm in TYPO3-Solr#3778
- [TASK:BP:11.5] Ensure recursive page update on page movement by @dkd-friedrich in TYPO3-Solr#3771
- [FEATURE:BP:11.5] Add index queue indices by @dkd-friedrich in TYPO3-Solr#3791
- [TASK:BP:11.5] Migrate top.fsMod by @dkd-friedrich in TYPO3-Solr#3795
- [BUGFIX:BP:11.5] Return value getPageItemChangedTime() must be of the type int by @dkd-kaehm in TYPO3-Solr#3813
- [TASK:BP:11.5] Remove duplicate withHeader() by @dkd-kaehm in TYPO3-Solr#3626
- [BUGFIX:BP:11.5] Do not list cores twice in Index Inspector by @dkd-kaehm in TYPO3-Solr#3818
- [BUGFIX] Fixes multiple sortings by @BastiLu in TYPO3-Solr#3762
- [BUGFIX:BP:11.5] Fix missing frontend.typoscript request attribute while indexing by @dkd-kaehm in TYPO3-Solr#3822
- [BUGFIX] Prevent indexing error on missing 'foreignLabelField' by @kitzberger in TYPO3-Solr#3740
- [BUGFIX:BP:11.5] Force score to float by @dkd-kaehm in TYPO3-Solr#3824
- [BUGFIX:BP:11.5] Fix possible notice by @dkd-kaehm in TYPO3-Solr#3825
- [DOC:BP:11.5] Add FAQ how to generate URLs to restricted pages by @dkd-kaehm in TYPO3-Solr#3826
- [BUGFIX:BP:11.5] Handle float values in options facet parser by @dkd-kaehm in TYPO3-Solr#3827
- [BUGFIX:BP:11.5] handle localizations with un-available tsfe more gracefully by @dkd-kaehm in TYPO3-Solr#3832
- [TASK] Update the version matrix by @dkd-friedrich in TYPO3-Solr#3860

Please read the release notes:
https://github.com/TYPO3-Solr/ext-solr/releases/tag/11.5.4

---

How to Get Involved

There are many ways to get involved with Apache Solr for TYPO3:

* Submit bug reports and feature requests on GitHub
* Ask or help or answer questions in our Slack channel
* Provide patches through pull requests or review and comment on
existing pull requests
* Go to www.typo3-solr.com or call dkd to sponsor the ongoing
development of Apache Solr for TYPO3

Support us by becoming an EB partner:
https://shop.dkd.de/Produkte/Apache-Solr-fuer-TYPO3/

or call:
+49 (0)69 - 2475218 0

Resolves: TYPO3-Solr#3782
dkd-friedrich added a commit to dkd-friedrich/ext-solr that referenced this pull request Nov 6, 2023
This is a maintenance release for TYPO3 11.5 and the last release that supports Apache Solr 8.11. Next EXT:solr release for TYPO3 11.5 will be 11.6.0, it
will contain support for Apache Solr 9 and some breaking improvements.

11.5.4 contains the following changes:

- [TASK] Fix CI 2023.09.11 on release-11.5.x by @dkd-kaehm in TYPO3-Solr#3777
- [BUGFIX:BP:11.5] Fix EXT:solr route enhancer by @dkd-friedrich in TYPO3-Solr#3743
- [BUG] Fix detection of "draft records" in workspaces by @baschny in TYPO3-Solr#3642
- [BUGFIX] Do not index translations on default language in languages free mode by @dkd-kaehm in TYPO3-Solr#3786
- [BUGFIX:BP:11.5] Retry Uri Building after exception by @dkd-friedrich in TYPO3-Solr#3789
- [BUGFIX] Delete index documents without available site by @dkd-kaehm in TYPO3-Solr#3778
- [TASK:BP:11.5] Ensure recursive page update on page movement by @dkd-friedrich in TYPO3-Solr#3771
- [FEATURE:BP:11.5] Add index queue indices by @dkd-friedrich in TYPO3-Solr#3791
- [TASK:BP:11.5] Migrate top.fsMod by @dkd-friedrich in TYPO3-Solr#3795
- [BUGFIX:BP:11.5] Return value getPageItemChangedTime() must be of the type int by @dkd-kaehm in TYPO3-Solr#3813
- [TASK:BP:11.5] Remove duplicate withHeader() by @dkd-kaehm in TYPO3-Solr#3626
- [BUGFIX:BP:11.5] Do not list cores twice in Index Inspector by @dkd-kaehm in TYPO3-Solr#3818
- [BUGFIX] Fixes multiple sortings by @BastiLu in TYPO3-Solr#3762
- [BUGFIX:BP:11.5] Fix missing frontend.typoscript request attribute while indexing by @dkd-kaehm in TYPO3-Solr#3822
- [BUGFIX] Prevent indexing error on missing 'foreignLabelField' by @kitzberger in TYPO3-Solr#3740
- [BUGFIX:BP:11.5] Force score to float by @dkd-kaehm in TYPO3-Solr#3824
- [BUGFIX:BP:11.5] Fix possible notice by @dkd-kaehm in TYPO3-Solr#3825
- [DOC:BP:11.5] Add FAQ how to generate URLs to restricted pages by @dkd-kaehm in TYPO3-Solr#3826
- [BUGFIX:BP:11.5] Handle float values in options facet parser by @dkd-kaehm in TYPO3-Solr#3827
- [BUGFIX:BP:11.5] handle localizations with un-available tsfe more gracefully by @dkd-kaehm in TYPO3-Solr#3832
- [TASK] Update the version matrix by @dkd-friedrich in TYPO3-Solr#3860

Please read the release notes:
https://github.com/TYPO3-Solr/ext-solr/releases/tag/11.5.4

---

How to Get Involved

There are many ways to get involved with Apache Solr for TYPO3:

* Submit bug reports and feature requests on GitHub
* Ask or help or answer questions in our Slack channel
* Provide patches through pull requests or review and comment on
existing pull requests
* Go to www.typo3-solr.com or call dkd to sponsor the ongoing
development of Apache Solr for TYPO3

Support us by becoming an EB partner:
https://shop.dkd.de/Produkte/Apache-Solr-fuer-TYPO3/

or call:
+49 (0)69 - 2475218 0

Resolves: TYPO3-Solr#3782
dkd-friedrich added a commit that referenced this pull request Nov 6, 2023
This is a maintenance release for TYPO3 11.5 and the last release that supports Apache Solr 8.11. Next EXT:solr release for TYPO3 11.5 will be 11.6.0, it
will contain support for Apache Solr 9 and some breaking improvements.

11.5.4 contains the following changes:

- [TASK] Fix CI 2023.09.11 on release-11.5.x by @dkd-kaehm in #3777
- [BUGFIX:BP:11.5] Fix EXT:solr route enhancer by @dkd-friedrich in #3743
- [BUG] Fix detection of "draft records" in workspaces by @baschny in #3642
- [BUGFIX] Do not index translations on default language in languages free mode by @dkd-kaehm in #3786
- [BUGFIX:BP:11.5] Retry Uri Building after exception by @dkd-friedrich in #3789
- [BUGFIX] Delete index documents without available site by @dkd-kaehm in #3778
- [TASK:BP:11.5] Ensure recursive page update on page movement by @dkd-friedrich in #3771
- [FEATURE:BP:11.5] Add index queue indices by @dkd-friedrich in #3791
- [TASK:BP:11.5] Migrate top.fsMod by @dkd-friedrich in #3795
- [BUGFIX:BP:11.5] Return value getPageItemChangedTime() must be of the type int by @dkd-kaehm in #3813
- [TASK:BP:11.5] Remove duplicate withHeader() by @dkd-kaehm in #3626
- [BUGFIX:BP:11.5] Do not list cores twice in Index Inspector by @dkd-kaehm in #3818
- [BUGFIX] Fixes multiple sortings by @BastiLu in #3762
- [BUGFIX:BP:11.5] Fix missing frontend.typoscript request attribute while indexing by @dkd-kaehm in #3822
- [BUGFIX] Prevent indexing error on missing 'foreignLabelField' by @kitzberger in #3740
- [BUGFIX:BP:11.5] Force score to float by @dkd-kaehm in #3824
- [BUGFIX:BP:11.5] Fix possible notice by @dkd-kaehm in #3825
- [DOC:BP:11.5] Add FAQ how to generate URLs to restricted pages by @dkd-kaehm in #3826
- [BUGFIX:BP:11.5] Handle float values in options facet parser by @dkd-kaehm in #3827
- [BUGFIX:BP:11.5] handle localizations with un-available tsfe more gracefully by @dkd-kaehm in #3832
- [TASK] Update the version matrix by @dkd-friedrich in #3860

Please read the release notes:
https://github.com/TYPO3-Solr/ext-solr/releases/tag/11.5.4

---

How to Get Involved

There are many ways to get involved with Apache Solr for TYPO3:

* Submit bug reports and feature requests on GitHub
* Ask or help or answer questions in our Slack channel
* Provide patches through pull requests or review and comment on
existing pull requests
* Go to www.typo3-solr.com or call dkd to sponsor the ongoing
development of Apache Solr for TYPO3

Support us by becoming an EB partner:
https://shop.dkd.de/Produkte/Apache-Solr-fuer-TYPO3/

or call:
+49 (0)69 - 2475218 0

Resolves: #3782
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants