diff --git a/.ddev/docker-compose.solr.yaml b/.ddev/docker-compose.solr.yaml index 07f601e3c69feb518ed0402b91d186d77a85c6dd..9296415be66d225c26c678317e25e1cfa1498d50 100644 --- a/.ddev/docker-compose.solr.yaml +++ b/.ddev/docker-compose.solr.yaml @@ -1,38 +1,24 @@ -# ddev apache solr recipe file -# -# To use this in your own project: Copy this file to your project's .ddev folder, -# and create the folder path .ddev/solr/conf. Then, copy the solr configuration -# files for your project to .ddev/solr/conf. E.g., using Drupal Search API Solr, -# you would copy the solr-conf/5.x/ contents into .ddev/solr/conf. The configuration -# files must be present before running `ddev start`. - version: '3.6' services: - solr: # This is the service name used when running ddev commands accepting the --service flag - container_name: ddev-${DDEV_SITENAME}-solr # This is the name of the container. It is recommended to follow the same name convention used in the main docker-compose.yml file. - image: solr:6.6.3 - restart: on-failure + solr: + image: typo3solr/ext-solr:10.0.1 + restart: always ports: - - 8983 # Solr is served from this port inside the container + - 8983 labels: - # These labels ensure this service is discoverable by ddev com.ddev.site-name: ${DDEV_SITENAME} com.ddev.approot: $DDEV_APPROOT com.ddev.app-url: $DDEV_URL environment: - - VIRTUAL_HOST=$DDEV_HOSTNAME # This defines the host name the service should be accessible from. This will be sitename.ddev.local - - HTTP_EXPOSE=8983 # This defines the port the service should be accessible from at sitename.ddev.local + - VIRTUAL_HOST=$DDEV_HOSTNAME + - HTTP_EXPOSE=8983 volumes: - - "./solr:/solr-conf" # This exposes a mount to the host system `.ddev/solr-conf` directory. - - "./solr/configsets:/opt/solr/server/solr/configsets" # ext:solr configsets linking - - "./solr/mycores:/opt/solr/server/solr/mycores" - entrypoint: - - docker-entrypoint.sh - - solr-precreate - - t3o - - /solr-conf -# This links the solr service to the web service defined in the main docker-compose.yml, allowing applications running in the web service to access the solr service at sitename.ddev.local:8983 + - "./solr:/var/solr" + - "./solr/mycores/t3o:/var/solr/data/cores/t3o" + - "./solr/solr.xml:/var/solr/data/solr.xml" + - "./solr/zoo.cfg:/var/solr/data/zoo.cfg" + - "./solr/log4j2.xml:/var/solr/log4j2.xml" web: links: - solr:$DDEV_HOSTNAME diff --git a/.ddev/solr/.gitignore b/.ddev/solr/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..8b19e70a795cdde586f0634144df7e4926dd602a --- /dev/null +++ b/.ddev/solr/.gitignore @@ -0,0 +1 @@ +mycores/t3o/data \ No newline at end of file diff --git a/.ddev/solr/log4j2.xml b/.ddev/solr/log4j2.xml new file mode 100644 index 0000000000000000000000000000000000000000..e9aad1481a04244054a87dfeac4cb9e10b3acb56 --- /dev/null +++ b/.ddev/solr/log4j2.xml @@ -0,0 +1,144 @@ + + + + + + + + + + + %maxLen{%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{1.} + %m%notEmpty{ =>%ex{short}}}{10240}%n + + + + + + + + %maxLen{%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{1.} + %m%notEmpty{ =>%ex{short}}}{10240}%n + + + + + + + + + + + + + %maxLen{%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{1.} + %m%notEmpty{ =>%ex{short}}}{10240}%n + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.ddev/solr/mycores/t3o/conf/_schema_analysis_stopwords_english.json b/.ddev/solr/mycores/t3o/conf/_schema_analysis_stopwords_english.json new file mode 100644 index 0000000000000000000000000000000000000000..ab37f400e293b82748555675d560cc54a2b1dd83 --- /dev/null +++ b/.ddev/solr/mycores/t3o/conf/_schema_analysis_stopwords_english.json @@ -0,0 +1,3 @@ +{ + "initArgs":{"ignoreCase":false}, + "managedList":[]} \ No newline at end of file diff --git a/.ddev/solr/mycores/t3o/conf/admin-extra.html b/.ddev/solr/mycores/t3o/conf/admin-extra.html new file mode 100644 index 0000000000000000000000000000000000000000..b68131ad98f0e1a55f6d85e415d4a0ef82310dae --- /dev/null +++ b/.ddev/solr/mycores/t3o/conf/admin-extra.html @@ -0,0 +1,14 @@ + diff --git a/.ddev/solr/mycores/t3o/conf/currency.xml b/.ddev/solr/mycores/t3o/conf/currency.xml new file mode 100644 index 0000000000000000000000000000000000000000..4d77aebd0acfc8260b31edfac68b9d127a3792fc --- /dev/null +++ b/.ddev/solr/mycores/t3o/conf/currency.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.ddev/solr/mycores/t3o/conf/elevate.xml b/.ddev/solr/mycores/t3o/conf/elevate.xml new file mode 100644 index 0000000000000000000000000000000000000000..7630ebe20fb91d4a6564785d01884d577a2fdc20 --- /dev/null +++ b/.ddev/solr/mycores/t3o/conf/elevate.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + diff --git a/.ddev/solr/mycores/t3o/conf/english/_schema_analysis_stopwords_english.json b/.ddev/solr/mycores/t3o/conf/english/_schema_analysis_stopwords_english.json new file mode 100644 index 0000000000000000000000000000000000000000..ffc7fbdc93521dbfef1a2b4c30e67e75b4a199e2 --- /dev/null +++ b/.ddev/solr/mycores/t3o/conf/english/_schema_analysis_stopwords_english.json @@ -0,0 +1,182 @@ +{ + "initArgs": { + "ignoreCase": true + }, + "initializedOn": "2014-04-29T23:08:58.000Z", + "managedList": [ + "i", + "me", + "my", + "myself", + "we", + "us", + "our", + "ours", + "ourselves", + "you", + "your", + "yours", + "yourself", + "yourselves", + "he", + "him", + "his", + "himself", + "she", + "her", + "hers", + "herself", + "it", + "its", + "itself", + "they", + "them", + "their", + "theirs", + "themselves", + "what", + "which", + "who", + "whom", + "this", + "that", + "these", + "those", + "am", + "is", + "are", + "was", + "were", + "be", + "been", + "being", + "have", + "has", + "had", + "having", + "do", + "does", + "did", + "doing", + "would", + "should", + "could", + "ought", + "i'm", + "you're", + "he's", + "she's", + "it's", + "we're", + "they're", + "i've", + "you've", + "we've", + "they've", + "i'd", + "you'd", + "he'd", + "she'd", + "we'd", + "they'd", + "i'll", + "you'll", + "he'll", + "she'll", + "we'll", + "they'll", + "isn't", + "aren't", + "wasn't", + "weren't", + "hasn't", + "haven't", + "hadn't", + "doesn't", + "don't", + "didn't", + "won't", + "wouldn't", + "shan't", + "shouldn't", + "can't", + "cannot", + "couldn't", + "mustn't", + "let's", + "that's", + "who's", + "what's", + "here's", + "there's", + "when's", + "where's", + "why's", + "how's", + "an", + "the", + "and", + "but", + "if", + "or", + "because", + "as", + "until", + "while", + "of", + "at", + "by", + "for", + "with", + "about", + "against", + "between", + "into", + "through", + "during", + "before", + "after", + "above", + "below", + "to", + "from", + "up", + "down", + "in", + "out", + "on", + "off", + "over", + "under", + "again", + "further", + "then", + "once", + "here", + "there", + "when", + "where", + "why", + "how", + "all", + "any", + "both", + "each", + "few", + "more", + "most", + "other", + "some", + "such", + "no", + "nor", + "not", + "only", + "own", + "same", + "so", + "than", + "too", + "very" + ] +} \ No newline at end of file diff --git a/.ddev/solr/mycores/t3o/conf/english/protwords.txt b/.ddev/solr/mycores/t3o/conf/english/protwords.txt new file mode 100644 index 0000000000000000000000000000000000000000..391c6f81cec84ccc48e5547343d9fe3159e55753 --- /dev/null +++ b/.ddev/solr/mycores/t3o/conf/english/protwords.txt @@ -0,0 +1 @@ +TYPO3 \ No newline at end of file diff --git a/.ddev/solr/mycores/t3o/conf/english/schema.xml b/.ddev/solr/mycores/t3o/conf/english/schema.xml new file mode 100644 index 0000000000000000000000000000000000000000..a7c91d93e1a661a68dc8439abef8b52fc2df6297 --- /dev/null +++ b/.ddev/solr/mycores/t3o/conf/english/schema.xml @@ -0,0 +1,187 @@ + + + + + + id + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.ddev/solr/mycores/t3o/conf/english/synonyms.txt b/.ddev/solr/mycores/t3o/conf/english/synonyms.txt new file mode 100644 index 0000000000000000000000000000000000000000..3057a583b463a25708c97983160a363c6a58f728 --- /dev/null +++ b/.ddev/solr/mycores/t3o/conf/english/synonyms.txt @@ -0,0 +1,17 @@ +aaa => aaaa +bbb => bbbb1 bbbb2 +ccc => cccc1,cccc2 +a\=>a => b\=>b +a\,a => b\,b +fooaaa,baraaa,bazaaa + +# Some synonym groups specific to this example +GB,gib,gigabyte,gigabytes +MB,mib,megabyte,megabytes +Television, Televisions, TV, TVs +#notice we use "gib" instead of "GiB" so any WordDelimiterFilter coming +#after us won't split it into two words. + +# Synonym mappings can be used for spelling correction too +pixima => pixma + diff --git a/.ddev/solr/mycores/t3o/conf/general_schema_fields.xml b/.ddev/solr/mycores/t3o/conf/general_schema_fields.xml new file mode 100644 index 0000000000000000000000000000000000000000..e8a73135dce9bc849aaf5dae14daa4077e1b0e77 --- /dev/null +++ b/.ddev/solr/mycores/t3o/conf/general_schema_fields.xml @@ -0,0 +1,273 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.ddev/solr/mycores/t3o/conf/general_schema_types.xml b/.ddev/solr/mycores/t3o/conf/general_schema_types.xml new file mode 100644 index 0000000000000000000000000000000000000000..c1bd8a94fa47a368538e368d154788a1abf66184 --- /dev/null +++ b/.ddev/solr/mycores/t3o/conf/general_schema_types.xml @@ -0,0 +1,212 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.ddev/solr/mycores/t3o/conf/solrconfig.xml b/.ddev/solr/mycores/t3o/conf/solrconfig.xml new file mode 100644 index 0000000000000000000000000000000000000000..f0adf883be00bb992c36ab75111995a0528cc964 --- /dev/null +++ b/.ddev/solr/mycores/t3o/conf/solrconfig.xml @@ -0,0 +1,524 @@ + + + 8.2.0 + + ${solr.abortOnConfigurationError:true} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + native + true + true + + + + + + + ${solr.data.dir:} + + + + 100 + 3600000 + true + + + + + 1000 + + + + + + 1024 + + + + + + + + true + + 50 + + 200 + + + + + + + + + + + + + + + false + + 5 + + + + + + + + + + + + + + + edismax + explicit + content^40.0 title^5.0 keywords^2.0 tagsH1^5.0 tagsH2H3^3.0 tagsH4H5H6^2.0 tagsInline^1.0 + content^2.0 + content + 15 + + 2<-35% + true + + title,content + 3 + true + true + + content + 200 + + false + false + false + 1 + default + wordbreak + + json + true + + + + spellcheck + elevator + + + + + + + true + json + true + + + + + + + explicit + + + velocity + + browse + layout + Solritas + + content + edismax + *:* + 10 + *,score + content^0.5 title^1.2 keywords^2.0 + content,title,keywords + 3 + + content^40.0 title^5.0 keywords^2.0 tagsH1^5.0 tagsH2H3^3.0 tagsH4H5H6^2.0 tagsInline^1.0 + + on + type + site + author + keywords + fileMimeType + appKey + 1 + + true + true + + + on + title content + html + <b> + </b> + + + spellcheck + + + + + + + content + content^0.5 title^1.2 keywords^2.0 + content,title,keywords + 1 + 1 + 3 + 15 + 20 + false + + + + + + + + + + + + + + + + + + + + + true + + + termsComponent + + + + + + + explicit + + + elevator + + + + + + solrpingquery + + + all + id + + + + + + + explicit + true + + + + + + + + + + + + + + + true + default + true + + name + id + + features + + true + + + + false + + + clusteringComponent + + + + + + + + default + org.carrot2.clustering.lingo.LingoClusteringAlgorithm + 20 + + + + stc + org.carrot2.clustering.stc.STCClusteringAlgorithm + + + + + + textSpell + + + default + spell + solr.DirectSolrSpellChecker + internal + 0.5 + 2 + 1 + 5 + 3 + 0.01 + + + + + wordbreak + solr.WordBreakSolrSpellChecker + spell + + + + + + + + + string + elevate.xml + true + + + + + + + + + + 100 + + + + + + + 70 + 0.5 + [-\w ,/\n\"']{20,200} + + + + + + + ]]> + ]]> + + + + + + + + + + + + + + + + ,, + ,, + ,, + ,, + , + ]]> + + ]]> + + + + + + + + 60 + endtime + + + + + + + + + + + + 5 + + + + + + + + + + html + + + + + + *:* + + + diff --git a/.ddev/solr/mycores/t3o/core.properties b/.ddev/solr/mycores/t3o/core.properties new file mode 100644 index 0000000000000000000000000000000000000000..2b050c12f1ab8f6b9708fdfc889091b75626c1b4 --- /dev/null +++ b/.ddev/solr/mycores/t3o/core.properties @@ -0,0 +1,6 @@ +#Written by CorePropertiesLocator +#Wed Jan 25 21:01:15 UTC 2017 +name=t3o +config=solrconfig.xml +schema=english/schema.xml +dataDir=data diff --git a/.ddev/solr/mycores/t3o/typo3lib/solr-typo3-plugin-4.0.0.jar b/.ddev/solr/mycores/t3o/typo3lib/solr-typo3-plugin-4.0.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..a476fded1d1314624948a27959afabbf0fbf454e Binary files /dev/null and b/.ddev/solr/mycores/t3o/typo3lib/solr-typo3-plugin-4.0.0.jar differ diff --git a/.ddev/solr/zoo.cfg b/.ddev/solr/zoo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..952240fca511c6de034d2eff9c7e98dc0d3adfb0 --- /dev/null +++ b/.ddev/solr/zoo.cfg @@ -0,0 +1,31 @@ +# The number of milliseconds of each tick +tickTime=2000 +# The number of ticks that the initial +# synchronization phase can take +initLimit=10 +# The number of ticks that can pass between +# sending a request and getting an acknowledgement +syncLimit=5 + +# the directory where the snapshot is stored. +# dataDir=/opt/zookeeper/data +# NOTE: Solr defaults the dataDir to /zoo_data + +# the port at which the clients will connect +# clientPort=2181 +# NOTE: Solr sets this based on zkRun / zkHost params + +# the maximum number of client connections. +# increase this if you need to handle more clients +#maxClientCnxns=60 +# +# Be sure to read the maintenance section of the +# administrator guide before turning on autopurge. +# +# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance +# +# The number of snapshots to retain in dataDir +#autopurge.snapRetainCount=3 +# Purge task interval in hours +# Set to "0" to disable auto purge feature +#autopurge.purgeInterval=1 \ No newline at end of file diff --git a/composer.json b/composer.json index efecb6d069ded9a50523e4f4ad90c0f8f212cfd6..35f7df79cd719d7a274eb5b3023c5d8bffed93aa 100644 --- a/composer.json +++ b/composer.json @@ -31,7 +31,7 @@ "t3o/ter-soap": "@dev", "t3o/ter-frontend": "@dev", "helhum/typo3-console": "^5.7", - "apache-solr-for-typo3/solr": "^9.0", + "apache-solr-for-typo3/solr": "^10.0", "t3o/t3olayout": "dev-develop-v9", "nikic/php-parser": "^4.0", "gordalina/cachetool": "^4.0", diff --git a/composer.lock b/composer.lock index 524965e203a1e4c615bea61affda689fc59beab4..d2e4da5ffd6c10ae9880d785e58bed5b6ebf1763 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "4c6fe409c4bf4ff8daf9fa85831f5504", + "content-hash": "999e2a8ffc22dbaf2f544473c3c1d5e9", "packages": [ { "name": "adoy/fastcgi-client", @@ -93,29 +93,29 @@ }, { "name": "apache-solr-for-typo3/solr", - "version": "9.0.2", + "version": "10.0.1", "source": { "type": "git", "url": "https://github.com/TYPO3-Solr/ext-solr.git", - "reference": "628b3faa22dfa95ce563caf73e8549960e9a667c" + "reference": "ac32a8846dbedf882722332494b912632c5e4db0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-Solr/ext-solr/zipball/628b3faa22dfa95ce563caf73e8549960e9a667c", - "reference": "628b3faa22dfa95ce563caf73e8549960e9a667c", + "url": "https://api.github.com/repos/TYPO3-Solr/ext-solr/zipball/ac32a8846dbedf882722332494b912632c5e4db0", + "reference": "ac32a8846dbedf882722332494b912632c5e4db0", "shasum": "" }, "require": { - "php": ">=7.0.0", + "php": ">=7.2.0", "solarium/solarium": "~4.2.0", - "typo3/cms-backend": "^8.7.0 || ^9.5.0", - "typo3/cms-core": "^8.7.0 || ^9.5.0", - "typo3/cms-extbase": "^8.7.0 || ^9.5.0", - "typo3/cms-fluid": "^8.7.0 || ^9.5.0", - "typo3/cms-frontend": "^8.7.0 || ^9.5.0", - "typo3/cms-reports": "^8.7.0 || ^9.5.0", - "typo3/cms-scheduler": "^8.7.0 || ^9.5.0", - "typo3/cms-tstemplate": "^8.7.0 || ^9.5.0" + "typo3/cms-backend": "^9.5.0", + "typo3/cms-core": "^9.5.0", + "typo3/cms-extbase": "^9.5.0", + "typo3/cms-fluid": "^9.5.0", + "typo3/cms-frontend": "^9.5.0", + "typo3/cms-reports": "^9.5.0", + "typo3/cms-scheduler": "^9.5.0", + "typo3/cms-tstemplate": "^9.5.0" }, "replace": { "apache-solr-for-typo3/solrfluid": "*", @@ -128,7 +128,7 @@ "type": "typo3-cms-extension", "extra": { "branch-alias": { - "dev-master": "9.0.x-dev" + "dev-master": "10.0.x-dev" }, "typo3/cms": { "extension-key": "solr", @@ -163,7 +163,7 @@ "solr", "typo3" ], - "time": "2019-03-06T12:19:56+00:00" + "time": "2019-10-24T07:41:59+00:00" }, { "name": "causal/ig_ldap_sso_auth", diff --git a/extensions/ter_fe2/Classes/Service/LTSVersionService.php b/extensions/ter_fe2/Classes/Service/LTSVersionService.php index 16ed9a81d9e226de660d72fae65c58f5efef9416..0d38d522a78e796c40a99b21aa6350f6fe27d7c0 100644 --- a/extensions/ter_fe2/Classes/Service/LTSVersionService.php +++ b/extensions/ter_fe2/Classes/Service/LTSVersionService.php @@ -79,10 +79,13 @@ class LTSVersionService public function getAllLTSVersions(): array { $ltsVersions = []; + $latestLts = explode('.', $this->coreData['latest_lts']); + $latestOldLts = explode('.', $this->coreData['latest_old_lts']); foreach ($this->coreData as $releaseVersion => $releaseData) { if (in_array($releaseVersion, $this->ltsVersionsWithMinorVersions) || $releaseVersion >= self::FIRST_LTS_VERSION_WITH_MAIN_VERSION_NUMBER) { $latestVersionParts = explode('.', $releaseData['latest']); - if ((int)$latestVersionParts[1] === 0) { + // check if is LTS + if ((int)$latestVersionParts[0] > (int)$latestLts[0]) { continue; } $minimumVersion = $latestVersionParts[0] . '.' . $latestVersionParts[1] . '.0';