ext-solr icon indicating copy to clipboard operation
ext-solr copied to clipboard

Epic [TASK] Make EXT:solr TYPO3 11 LTS compatible

Open dkd-kaehm opened this issue 2 years ago • 8 comments

This task contains all the sub task to get EXT:solr woking within TYPO3 11 LTS: Note: The compatibility to TYPO3 10 LTS MUST NOT be assured.

  • [x] Adapt namespaces
  • [x] Tabs in backend modules have no functionality
  • [x] Info module / Index Documents Tab does not show documents
  • [x] #3089
  • [x] Let PHP 8.0 Job allow to fail temporarily, so EXT:solr runs at least on PHP 7.4
  • [x] Re-enable and fix frontend/searching tests
  • [x] #3092
  • [x] #3087 Index Queue module: "Clear Index Queue" does not work. After click on "Confirm" in "Are you sure you want to clear the Index Queue?" modal, nothing happens. Source of trouble is the route to the controllers actions, because the action goes in to the alien/other controller. See: https://github.com/TYPO3-Solr/ext-solr/blob/b8a800265fade592444b2eea6094c084004b864f/Resources/Private/Templates/Backend/Search/IndexQueueModule/Index.html#L132-L137
  • [x] #3088 Call to a member function set() on null after click on "Index Queue" -> "index now" in in /var/www/html/public/typo3/sysext/core/Classes/Authentication/AbstractUserAuthentication.php line 1104
  • [x] #3116
  • [x] #3121
  • [x] #3130
  • [x] #3141
  • [x] #3145
  • [x] #3161
  • [x] Make frontend/search tests working again
  • [x] #3138
  • [x] #3165
  • [x] #3158
  • [x] #3140
    • [x] [TASK] Upgrade to Apache Solr 8.11.1
    • [x] ~Optional & by situation: [TASK] Upgrade to Apache Solr 9.0(if released)~
  • [x] [TASK:11.5] Make PHP 8.1 compatible
    • [x] #3182 https://github.com/solariumphp/solarium/releases/tag/6.2.2
  • [x] #3153
  • [x] #3112
  • [x] #3170
  • [x] #3167
  • [x] #3225
  • [x] #3173
  • [x] #3091
    • [x] #3150
  • [x] #3233
  • [x] #3232
  • [x] #3220
  • [x] #3166
  • [x] ~~#3160~~
  • [x] #3169
    	stopOnError="true"
    stopOnFailure="true"
    
  • [ ] #3246
    • [ ] #3326
  • [ ] #2828
  • [x] #3306

Current state of TYPO3 11 LTS support on Mo. 29 Nov:

The indexing and almost all Backend-Module-Actions are functional, the search partially.

A huge changes, which were possible by refactored and isolated TSFE in EXT:solr:

[FEATURE] Get "free content mode" working
[BUGFIX] TypoScript configuration for "Hide default language" sites

Next steps:

  • Focus on search part of EXT:solr
    • GroupItemPaginateViewHelper to new API
    • Bootstrap 5
  • Make frontend/search tests working again

Current state of TYPO3 11 LTS support today on Mo. 22 Nov:

The indexing and almost all Backend-Module-Actions are functional, the search not yet.

A huge change!:

The usage of Context, ServerRequest, language and co. are now isolated from whole TYPO3 API. They are aggregated/capsuled in TypoScriptFrontendController objects, which are initialized in ApacheSolrForTypo3\Solr\FrontendEnvironment\Tsfe. The ApacheSolrForTypo3\Solr\FrontendEnvironment\Tsfe is a container/factory for TypoScriptFrontendController objects. The isolated TypoScriptFrontendController objects and its properties are propagated to the EXT:solr indexing stack objects, so almost all usages of $GLOBAL-s could be removed from EXT:solrs indexing context. Therefore there are no side-effects on original TYPO3 objects like following anymore:

  • "switch-language" or
  • "change/set something in Context" or
  • "Reset global ServerRequest".
  • etc.

So, there are no needs for hacking the running context of TYPO3 original request and language.

PS:

Big thank on @bmack for quick reaction and fix https://review.typo3.org/c/Packages/TYPO3.CMS/+/72249

dkd-kaehm avatar Jul 14 '21 10:07 dkd-kaehm

@dkd-kaehm

  • [x] Tabs in backend modules have no functionality

sorenmalling avatar Jul 15 '21 07:07 sorenmalling

  • [x] Info module / Index Documents Tab does not show documents

This works properly if a page is in index

christophlehmann avatar Oct 27 '21 12:10 christophlehmann

@dkd-kaehm

  • [ ] Replacement for the Widget Stuff (ViewHelpers, Pagination, ...) -> #3091

typoniels avatar Oct 29 '21 14:10 typoniels

Current state today on Fr. 5 Nov: The indexing works and the tests related to indexing are green. The tests related to frontend/searching are disabled. The PHP 8.0 is currently not supported and allowed to fail in CI. See EXT:solr build Nr. 73

Next steps:

  • Re-enable and fix frontend/searching tests
  • [TASK-11.5C] Refactor Widgets to TYPO3s new Pagination API #3091

dkd-kaehm avatar Nov 05 '21 20:11 dkd-kaehm

I believe #3145 and #3141 should be also here because php 8 is a requirement for TYPO3 11 and those tickets fix issues with php 8 & solr.

dmitryd avatar Dec 28 '21 13:12 dmitryd

The new version was released as 11.5. Could you please consider adhering to semver? Updating a TYPO3 10.4 installation (TYPO3 extension and/or typo3solr/ext-solr docker image) from 11.2 to 11.5 (minor, should not be breaking) actually breaks everything.

LeoniePhiline avatar Aug 29 '22 12:08 LeoniePhiline

@LeoniePhiline There is a tag 11.5.0 for the docker image (link). It is also correct to use 11.5 there in case if you want to base your work on 11.5 and autoupdate the image when there are newer 11.5 releases. There is no problem with this. We generally use it like image: typo3solr/ext-solr:11.0 with no problem at all and we like that such tags exist.

dmitryd avatar Aug 29 '22 15:08 dmitryd

The new version was released as 11.5. Could you please consider adhering to semver? Updating a TYPO3 10.4 installation (TYPO3 extension and/or typo3solr/ext-solr docker image) from 11.2 to 11.5 (minor, should not be breaking) actually breaks everything.

@LeoniePhiline

TLDR: EXT:solr will stay "non-classic-semver".

EXT:solr 11.5.0 has composer and TER restrictions for TYPO3(11.5.14+), so the installation of EXT:solr 11.5 on TYPO3 10.4 is difficult. The first two digits of EXT:solr version must be used for docker images. So currently dockers tag "11" is equal with 11.5 and latest. (Most probably we will remove latest and single digit versions of docker, to prevent folks from errors.)

Background: We equalized the EXT:solr versions stack with TYPO3 core to simplify the things(EB-Program, discussions, referencing, etc.), therefore since now all versions of EXT:solr 11.5.0 to 11.99.99(EXT:solr add-ons 11.0.0 to 11.99.99) will be for TYPO3 11 LTS only. So EXT:solr and its add-ons from v. 12.0.0 to 12.99.99 will follow the scheme, in which the first digit of version string is the requirement for TYPO3 LTS version, the second digit is for the major features release by EXT:solr and/or Apache Solr stack incl. BCs. As well, we want to deliver features(most probably with BCs) but do not support multiple TYPO3 LTS Versions in single EXT:solr major version, so we can't follow the classic semver...

So just remember, the second digit in the version string of EXT:solr and its add-ons is always the major release and most probably has BCs. See version matrix before upgrade: https://github.com/TYPO3-Solr/ext-solr/blob/release-11.5.x/Documentation/Appendix/VersionMatrix.rst

dkd-kaehm avatar Aug 29 '22 15:08 dkd-kaehm

Closing this issue The 3 issues will be fixed as usual.

dkd-kaehm avatar Feb 10 '23 16:02 dkd-kaehm