8000 Releases · TYPO3-Solr/ext-solr · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Releases: TYPO3-Solr/ext-solr

7.0.1 - Maintenance release

15 Aug 08:12
Compare
Choose a tag to compare

Apache Solr for TYPO3 version 7.0.1

This release is a bugfix only release.

Html tag of pagination is rendered in output

To prevent the html tag from rendering of the final output, the attribute data-namespace-typo3-fluid="true" was added to the template.

#1548

Contributors

Like always this release would not have been possible without the help from our
awesome community. Here are the contributors for this release.

(patches, comments, bug reports, reviews, ... in alphabetical order)

  • Sascha Egerer

Also a big thanks to our partners that have joined the EB2017 program:

  • .hausformat
  • AGENTUR FRONTAG AG
  • amarantus - media design & conding Mario Drengner & Enrico Nemack GbR
  • Amedick & Sommer Neue Medien GmbH
  • Andrea Pausch
  • Animate Agentur für interaktive Medien GmbH
  • artig GmbH & Co. KG
  • b:dreizehn GmbH
  • BIBUS AG Group
  • Bitmotion GmbH
  • cab services ag
  • Causal Sarl
  • CHIARI GmbH
  • Citkomm services GmbH
  • clickstorm GmbH
  • Connecta AG
  • Creative360
  • cron IT GmbH
  • CYBERhouse Agentur für interaktive Kommukation GmbH
  • cyperfection GmbH
  • data-graphis GmbH
  • Deutsche Welthungerhilfe e.V.
  • Deutscher Ärzteverlag
  • Deutscher Volkshochschul-Verband
  • Die Medialen GmbH
  • die_schnittsteller gmbh
  • Dörfer engineering services
  • E-Magineurs
  • EYE Communications AG
  • Fachhochschule für öffentliche Verwaltung NRW Zentralverwaltung Gelsenkirchen
  • familie redlich AG
  • Fork Unstable Media GmbH
  • hauptsache.net GmbH
  • Havas Düsseldorf GmbH
  • Hirsch & Wölfl GmbH
  • Hochschule Furtwangen - IMZ Online Services
  • Hochschule Konstanz
  • Institut der deutschen Wirtschaft Köln Medien GmbH
  • iresults gmbh
  • ITK Rheinland
  • itl Institut für technische Literatur AG
  • jweiland.net
  • Kassenärztliche Vereinigung Rheinland-Pfalz
  • Kerstin Nägler Web & Social Media Beratung
  • Landesinstitut für Schule und Medien Berlin-Brandenburg
  • Leibniz Universität IT Services
  • Libéo
  • Lime Flavour GbR
  • LINGNER CONSULTING NEW MEDIA GMBH
  • LOUIS INTERNET
  • Maximilian Walter
  • MEDIA:ESSENZ
  • mehrwert intermediäre kommunikation GmbH
  • Mercedes-AMG GmbH
  • mlm media process management GmbH
  • n@work Internet Informationssystems GmbH
  • Netcreators
  • netz-haut GmbH
  • neuwerk interactive
  • Nintendo of Europe GmbH
  • Onedrop Solutions GmbH
  • Open New Media GmbH
  • Paints Multimedia GmbG
  • pixelcreation GmbH
  • plan2net
  • Pluswerk AG
  • polargold GmbH
  • punkt.de GmbH
  • Raiffeisen OnLine GmbH
  • ruhmesmeile GmbH
  • Rundfunk und Telekom Regulierung GmbH
  • Schweizer Alpen-Club SAC
  • sitegeist media solutions GmbH
  • Star Finanz-Software Entwicklung und Vertriebs GmbH
  • Stefan Galinski Internetdienstleistungen
  • Stratis - Toulon
  • Studio Mitte Digital Media GmbH
  • Studio 9 GmbH
  • Systime A/S
  • SYZYGY Deutschland GmbH
  • takomat Agentur GbR
  • THE BRETTINGHAMS GmbH
  • TOUMORO
  • Triplesense Reply GmbH
  • Typoheads GmbH
  • unternehmen online GmbH & Co. KG
  • Universität Bremen
  • VERDURE Medienteam GmbH
  • WACON Internet GmbH
  • webedit AG
  • Webstore GmbH
  • Webtech AG
  • wegewerk GmbH
  • Wohnungsbau- und Verwaltungsgesellschaft mbH Greifswald
  • XIMA MEDIA GmbH
  • zdreicom GmbH
  • zimmer7 GmbH

Thanks to everyone who helped in creating this release!

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 Request 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 in 2017 by becoming an EB partner:

http://www.typo3-solr.com/en/contact/

or call:

+49 (0)69 - 2475218 0

7.0.0 - Powerful templates with FLUID and Apache Solr for TYPO3

09 Aug 15:35
Compare
Choose a tag to compare

Apache Solr for TYPO3 7.0.0

We are happy to release EXT:solr 7.0.0. This release brings several smaller and some bigger changes

New in this release

FLUID Templating

One and a half years ago we started to implement FLUID templating for EXT:solr. This project was initially started as the addon solrfluid. Solrfuid was only available for our partners.

With EXT:solr 7.0.0 the new templating is the default templating in EXT:solr. A lot of code was added and several old stuff was removed. Since some things are conceptional different in FLUID and you also have a lot of possibilities we also dropped some parts, that can be build with fluid itself or do not make sence to do them before rendering the result in the view.

Most of the things just work like before but in the following parts we made conceptional changes (for good reasons):

  • No css or javascript will be added to the page automatically with the page renderer! Because the integrator wants to have control on that and TYPO3 allows to add this with TypoScript we propose to add these things via typoscript. EXT:solr offers a lot of example typoscript templates e.g. to add the default css or to add the javascript for a range facet.

The following typoscript settings have been removed because they can be implemented with FLUID:

  • plugin.tx_solr.search.faceting.facetLinkATagParams You can add them in your project partials. If you need it just for one facet, please overwrite the render partial with facet.partialName and render the attributes different there

  • plugin.tx_solr.search.faceting.[facetName].facetLinkATagParams You can add them in your project partials. If you need it just for one facet, please overwrite the render partial with facet.partialName and render the attributes different there

  • plugin.tx_solr.search.faceting.facets.[facetName].selectingSelectedFacetOptionRemovesFilter
    This can be implemented with FLUID logic. Please check the example "Search - (Example) Options with on/off toggle" that implements that (by using the partial Facets/OptionsToggle.html)

  • plugin.tx_solr.search.results.fieldRenderingInstructions Please use custom ViewHelpers or the cObject ViewHelper for that.

  • plugin.tx_solr.search.results.fieldProcessingInstructions Please use custom ViewHelpers or the cObject ViewHelper for that.

Important: The support of fluid templating would not have been possible without the financial support of all partners! If you want to support us with the implementation of features like this, please think about to join the EB 2017 or 2018. Special thanks also to Frans Saris and beech.it for working on solrfluid together!

Backend Modules Restructured

In EXT:solr 7.0.0 the backend modules are structured into multiple backend modules. This makes the user experience in the TYPO3 backend more consistent and allows you, to give different permissions on each module.

When you login into the backend, you now have the following modules available:

  • Info: Gives information of your Solr system, index fields and search usage.

  • Core Optimization: This module can be used to maintain the synonyms and stopwords in the Apache Solr server.

  • Index Queue: Gives an overview on indexed records and can be used to requeue records for indexing.

  • Index Administration: This module can be used for administrator tasks on your solr system (clear index, index queue or reload a core)

  • #1300

Add excludeValues for Facets

If you want to exclude an optionValue from the facets when they get retrieved, you can configure this now:

   plugin.tx_solr.search.faceting.facets.colors_stringM.excludeValues = red

The example below will exclude th 8000 e option "red" from the results when it is in the response.

Allow to configure custom entry Template

In previous EXT:solr versions it was possible to set a custom entry templating using:

   plugin.tx_solr.templateFiles.search = EXT:solr/Resources/Templates/PiSearch/search.htm

This configuration could be overwritten with a text value in the flexform.

With the move to FLUID we improved this part and made it more editor friendly:

  • Since the view related settings are located in the section we've move the template configuration there as well.
  • You can now set a Templatename only (e.g. MySearch) to benefit from FLUID fallbacks (while setting a full path is still supported.
  • You can configure availableTemplates that can be selected by the editor in the flexform.

The following example shows, how you can load your own partials and provide different entry templates for the editor:

   plugin.tx_solr {
       view {
           templateRootPaths.100 = EXT:your_config_extension/Resources/Private/Templates/
           partialRootPaths.100 = EXT:your_config_extension/Resources/Private/Partials/
           layoutRootPaths.100 = EXT:your_config_extension/Resources/Private/Layouts/
           templateFiles {
               results = Results
               results.availableTemplates {
                   default {
                       label = Default Searchresults Template
                       file = Results
                   }
                   products {
                       label = Products Template
                       file = ProductResults
                   }
               }
           }
       }
   }

With the prevision configuration the editor can switch from "Default Searchresults Template" to "Products Template".

Refactoring of Query API

The Query class is one of the biggest classes in EXT:solr and grown over time. This class has now been splitted into several classes.
Along with that a concept of "ParameterBuilder" has been introduced. A ParameterBuilder is responsible to build a parameter part of the query.
E.g. the Grouping ParameterBuilder is responsible to build all parameters of the solr query for the grouping.

Move FilterEncoder and FacetBuilder to Facet Package

In Solrfluid there was one folder for each facet, that contains the facet class and a parser that parsers the solr response into the facet object.
The opposite part(parse the url, build the solr query) was previously done in EXT:solr, with a FilterEncoder that was registered in the FacetRendererFactory.

Now because solrfluid and solr have been merged, this logic can also be streamlined. Every facet is now structured in a FacetPackage.

A FacetPackage describes:

  • Which parser should be used to parse the solr response
  • Which url decoder should be used to parse the EXT:solr query data
  • Which query builder should be used to build the faceting query part

You can also implement custom facet types by registering an on FacetPackage with the FacetRegistry.

Migration:

When you have implemented an own FacetParser for solrfluid, you should add a FacetPackage, that references a UrlDecoder and QueryBuilder.
If you have used a custom FacetParser without registring a custom facet type in EXT:solr (ApacheSolrForTypo3\Solr\Facet\FacetRendererFactory::registerFacetType) you can just reference DefaultUrlDecorder and DefaultFacerQueryBuilder in your FacetPackage.

Custom plugin namespace - Multiple Instances

Before solrfluid was merged there were several parts in EXT:solr where the data was read using GeneralUtility::_GET. The drawback of this approach is that the structure of the urls is hard to change and it is not possible to have custom namespaces for each instance of a plugin.

With solrfuid a SearchRequest object was introduced. This object holds all data from the user request. Now this object is used, whenever data from the user action is read. This allows us to make the request namespace changeable. You can now add your custom plugin namespace to a search plugin instance.

Doctrine Migration

As an ongoing task, we started with the migration of database queries to doctrine. Since the database is used in many parts of the extension there are still many parts open.
If you want to work on that, your help is very welcome.

Add --rootpageid to CLI command

If you want or need to limit the initialization of solr connections to a special rootpage, you can now do this by adding the argument --rootpageid.

Respect Setting includeInAvailableFacets and includeInUsedFacets

This setting was not evaluated in EXT:solrfluid before and is now available also with FLUID rendering.

Respect requirements facet setting with fluid

This setting was not evaluated in EXT:solrfluid before and is now available also with the FLUID rendering.

Respect setting searchUsingSpellCheckerSuggestion with fluid

This setting was not evaluated in EXT:solrfluid before and is now available also with the FLUID rendering.

Get rid of dependency to sys_domain record

By now EXT:solr had the dependency on an existing domain record. This can be a problem, when you domain is dynamic or
you need to be able to generate it.

Now you can configure a domain by the rootPageId in the TYPO3_CONF_VARS, the do...

Read more

6.1.3 - Maintenance release

09 Aug 13:44
Compare
Choose a tag to compare

Apache Solr for TYPO3 version 6.1.3 released

This release is a bugfix only release.

Optimize composer.json

This change:

  • Removes "minimum-stability": "alpha" from the composer.json
  • Removes "optimize-autoloader": true from the composer.json
  • Adds "extension-key": "solr" to the composer json.

#1527

Escape output of ScoreCalculation

Applies htmlspecialchars on the output of the ScoreCalculation.
#1528

Escape output of SiteSelector

Applies htmlspecialchars on the output of the SiteSelector.

#1533

Relation handler should handle pages overlays correctly

The relation handler did not handle page overlays correctly before.
This pr provides a fix to handle the translation of pages correctly.

#1535

Contributors

Like always this release would not have been possible without the help from our
awesome community. Here are the contributors for this release.

(patches, comments, bug reports, reviews, ... in alphabetical order)

  • Frans Saris
  • Georg Ringer
  • Rafael Kähm
  • Timo Hund

Also a big thanks to our partners that have joined the EB2017 program:

  • .hausformat
  • AGENTUR FRONTAG AG
  • amarantus - media design & conding Mario Drengner & Enrico Nemack GbR
  • Amedick & Sommer Neue Medien GmbH
  • Andrea Pausch
  • Animate Agentur für interaktive Medien GmbH
  • artig GmbH & Co. KG
  • b:dreizehn GmbH
  • BIBUS AG Group
  • Bitmotion GmbH
  • cab services ag
  • Causal Sarl
  • Citkomm services GmbH
  • clickstorm GmbH
  • Creative360
  • cron IT GmbH
  • CYBERhouse Agentur für interaktive Kommukation GmbH
  • data-graphis GmbH
  • Deutscher Ärzteverlag
  • Deutscher Volkshochschul-Verband
  • Die Medialen GmbH
  • die_schnittsteller gmbh
  • Dörfer engineering services
  • E-Magineurs
  • EYE Communications AG
  • Fachhochschule für öffentliche Verwaltung NRW Zentralverwaltung Gelsenkirchen
  • familie redlich AG
  • Fork Unstable Media GmbH
  • hauptsache.net GmbH
  • Havas Düsseldorf GmbH
  • Hirsch & Wölfl GmbH
  • Hochschule Furtwangen - IMZ Online Services
  • Hochschule Konstanz
  • Institut der deutschen Wirtschaft Köln Medien GmbH
  • iresults gmbh
  • ITK Rheinland
  • itl Institut für technische Literatur AG
  • jweiland.net
  • Kassenärztliche Vereinigung Rheinland-Pfalz
  • Kerstin Nägler Web & Social Media Beratung
  • Landesinstitut für Schule und Medien Berlin-Brandenburg
  • Leibniz Universität IT Services
  • Lime Flavour GbR
  • LOUIS INTERNET
  • Maximilian Walter
  • MEDIA:ESSENZ
  • mehrwert intermediäre kommunikation GmbH
  • Mercedes-AMG GmbH
  • mlm media process management GmbH
  • n@work Internet Informationssystems GmbH
  • Netcreators
  • netz-haut GmbH
  • neuwerk interactive
  • Nintendo of Europe GmbH
  • Onedrop Solutions GmbH
  • Paints Multimedia GmbG
  • pixelcreation GmbH
  • plan2net
  • Pluswerk AG
  • polargold GmbH
  • punkt.de GmbH
  • Raiffeisen OnLine GmbH
  • ruhmesmeile GmbH
  • Rundfunk und Telekom Regulierung GmbH
  • Schweizer Alpen-Club SAC
  • sitegeist media solutions GmbH
  • Star Finanz-Software Entwicklung und Vertriebs GmbH
  • Stefan Galinski Internetdienstleistungen
  • Stratis - Toulon
  • Studio 9 GmbH
  • Systime A/S
  • SYZYGY Deutschland GmbH
  • takomat Agentur GbR
  • THE BRETTINGHAMS GmbH
  • TOUMORO
  • Triplesense Reply GmbH
  • Typoheads GmbH
  • Universität Bremen
  • VERDURE Medienteam GmbH
  • WACON Internet GmbH
  • webedit AG
  • Webstore GmbH
  • Webtech AG
  • wegewerk GmbH
  • Wohnungsbau- und Verwaltungsgesellschaft mbH Greifswald
  • XIMA MEDIA GmbH
  • zdreicom GmbH
  • zimmer7 GmbH

Thanks to everyone who helped in creating this release!

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 Request 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 in 2017 by becoming an EB partner:

http://www.typo3-solr.com/en/contact/

or call:

+49 (0)69 - 2475218 0

6.1.2 - Maintenance release

20 Jul 08:58
Compare
Choose a tag to compare

6.1.2 - Maintenance release

Apache Solr for TYPO3 version 6.1.2 released

This release is a bugfix only release.

Missing parameter type in FrequentSearches::postInitializeTemplateEngine

This missing parameter type leads to a warning in PHP7.

#1386

Enable zero-configuration use of Docker image

Creates the datafolder before giving the permissions and allows to use the Dockerfile without further configuration.

#1278

Allow 'hide default translation of page' on root page

If the root page is set to 'hide default translation of page' this causes a 404 in TypoScriptFrontendController with initializing the TSFE. To avoid this a language uid has to be thrown to the initialize function.

#1414

Language is lost for link in custom record with sys_language_mode = content_fallback

A cache in getFullItemRecord avoids the correct initialization of the TSFE. Since Util::initializeTsfe is cached anyways, this cache could be removed and makes sure that a proper TSFE is initialized.

Contributors

Like always this release would not have been possible without the help from our
awesome community. Here are the contributors for this release.

(patches, comments, bug reports, reviews, ... in alphabetical order)

  • Hannes Lau
  • Markus Friedrich
  • Patrick Schriner
  • Sebastian Hofer
  • Timo Hund

Also a big thanks to our partners that have joined the EB2017 program:

  • .hausformat
  • AGENTUR FRONTAG AG
  • amarantus - media design & conding Mario Drengner & Enrico Nemack GbR
  • Amedick & Sommer Neue Medien GmbH
  • Andrea Pausch
  • Animate Agentur für interaktive Medien GmbH
  • artig GmbH & Co. KG
  • b:dreizehn GmbH
  • BIBUS AG Group
  • Bitmotion GmbH
  • cab services ag
  • Causal Sarl
  • Citkomm services GmbH
  • clickstorm GmbH
  • Creative360
  • cron IT GmbH
  • CYBERhouse Agentur für interaktive Kommukation GmbH
  • data-graphis GmbH
  • Deutscher Ärzteverlag
  • Deutscher Volkshochschul-Verband
  • Die Medialen GmbH
  • die_schnittsteller gmbh
  • Dörfer engineering services
  • E-Magineurs
  • EYE Communications AG
  • Fachhochschule für öffentliche Verwaltung NRW Zentralverwaltung Gelsenkirchen
  • familie redlich AG
  • Fork Unstable Media GmbH
  • hauptsache.net GmbH
  • Havas Düsseldorf GmbH
  • Hirsch & Wölfl GmbH
  • Hochschule Furtwangen - IMZ Online Services
  • Hochschule Konstanz
  • Institut der deutschen Wirtschaft Köln Medien GmbH
  • iresults gmbh
  • ITK Rheinland
  • itl Institut für technische Literatur AG
  • jweiland.net
  • Kassenärztliche Vereinigung Rheinland-Pfalz
  • Kerstin Nägler Web & Social Media Beratung
  • Landesinstitut für Schule und Medien Berlin-Brandenburg
  • Leibniz Universität IT Services
  • Lime Flavour GbR
  • LOUIS INTERNET
  • Maximilian Walter
  • MEDIA:ESSENZ
  • mehrwert intermediäre kommunikation GmbH
  • Mercedes-AMG GmbH
  • mlm media process management GmbH
  • n@work Internet Informationssystems GmbH
  • Netcreators
  • netz-haut GmbH
  • neuwerk interactive
  • Nintendo of Europe GmbH
  • Onedrop Solutions GmbH
  • Paints Multimedia GmbG
  • pixelcreation GmbH
  • plan2net
  • Pluswerk AG
  • polargold GmbH
  • punkt.de GmbH
  • Raiffeisen OnLine GmbH
  • ruhmesmeile GmbH
  • Rundfunk und Telekom Regulierung GmbH
  • Schweizer Alpen-Club SAC
  • sitegeist media solutions GmbH
  • Star Finanz-Software Entwicklung und Vertriebs GmbH
  • Stefan Galinski Internetdienstleistungen
  • Stratis - Toulon
  • Studio 9 GmbH
  • Systime A/S
  • SYZYGY Deutschland GmbH
  • takomat Agentur GbR
  • THE BRETTINGHAMS GmbH
  • TOUMORO
  • Triplesense Reply GmbH
  • Typoheads GmbH
  • Universität Bremen
  • VERDURE Medienteam GmbH
  • WACON Internet GmbH
  • webedit AG
  • Webstore GmbH
  • Webtech AG
  • wegewerk GmbH
  • Wohnungsbau- und Verwaltungsgesellschaft mbH Greifswald
  • XIMA MEDIA GmbH
  • zdreicom GmbH
  • zimmer7 GmbH

Thanks to everyone who helped in creating this release!

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 Request 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 in 2017 by becoming an EB partner:

http://www.typo3-solr.com/en/contact/

or call:

+49 (0)69 - 2475218 0

6.1.1 - Maintenance release

22 Jun 08:47
Compare
Choose a tag to compare

Apache Solr for TYPO3 version 6.1.1 released

This release is a bugfix only release.

Ignore workspaces in RootPageResolver

When the rootPage resolver was called with $pageId = -1 it tried to check if this is really a rootPage.
Since we know that this is a workspace page, the RootPageResolver returns false now.

Allow to limit the solr:updateConnections command to a rootpageid

To be able to initialize only a few connections the option --rootpageid was added.

Indexing records outside the rootline throws Exception

The Indexer uses the item record page to resolve the configuration. This can lead to problems when the records is outside a siteroot because the configuration is not present there.

This fix uses the configuration of the siteroot when no configuration is present as fallback to have an indexing configuration available.

Tracking changes in records of other siteroots is not working as expected

The following scenario is given:

  • Site a
  • Site b

Site a references record from site b in additionalPageIds. When a change is done in the record we expect that the index queue item for both sites is created, since it is referenced in both sides. By now the tracking of the record outside the siteroot is only working when the referenced record does not belong to another site.

Contributors

Like always this release would not have been possible without the help from our
awesome community. Here are the contributors for this release.

(patches, comments, bug reports, reviews, ... in alphabetical order)

  • Andreas Lappe
  • Markus Friedrich
  • Rafael Kähm
  • Rémy Daniel
  • Timo Hund

Also a big thanks to our partners that have joined the EB2017 program:

  • Amedick & Sommer
  • amarantus - media design & coding Mario Drengner & Enrico Nemack GbR
  • Animate Agentur für interaktive Medien GmbH
  • artif GmbH & Co. KG
  • AVM Computersysteme Vertriebs GmbH
  • b:dreizehn GmbH
  • Bitmotion GmbH
  • cab services ag
  • Causal Sàrl
  • Creative360
  • cron IT GmbH
  • data-graphics GmbH
  • Deutscher Ärzteverlag GmbH
  • Deutscher Volkshochschul-Verband
  • Die Medialen GmbH
  • dörler engineering services
  • hauptsache.net
  • Havas Düsseldorf GmbH
  • itl AG
  • jweiland.net
  • KEMWEB GmbH & Co. KG
  • Leibniz Universität IT Services, Hannover
  • Lime Flavour GbR
  • LOUIS INTERNET
  • Maximillian Walter
  • Mercedes-AMG GmbH
  • mpm media process management GmbH
  • n@work Internet Informationssysteme GmbH
  • Netcreators BV (Netherlands)
  • NetSpring s.r.l.
  • netz-haut GmbH
  • polar gold
  • punkt.de
  • sitegeist media solutions GmbH
  • Star Finanz GmbH
  • Studio 9 GmbH
  • stratis
  • systime
  • takomat Agentur GbR
  • Triplesense Reply
  • Typoheads GmbH
  • UEBERBIT GmbH
  • WACON Internet GmbH
  • Universität Bremen
  • webconsulting business services gmbh
  • zdreicom AG
  • zimmer7 GmbH

Thanks to everyone who helped in creating this release!

How to Get Involved

< 8000 p>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 Request 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 in 2017 by becoming an EB partner:

http://www.typo3-solr.com/en/contact/

or call:

+49 (0)69 - 2475218 0

6.1.0 - Ready for TYPO3 8 LTS

06 Apr 09:42
Compare
Choose a tag to compare

We are ready for TYPO3 8 LTS - EXT:solr 6.1 has been released

Close to the release of TYPO3 8 LTS we are happy to announce EXT:solr 6.1 that is compatible with TYPO3 8 LTS.

New in this Release

In this release we've merged over 160 pull requests! With these pull requests several new features and bugfixes were added.

Compatible with TYPO3 8 LTS and PHP 7.1 ready

EXT:solr 6.1 is ready for TYPO3 8 LTS and php 7.1 while keeping the compatibility to TYPO3 7.6 LTS and PHP 5.5 and 5.6.

Backend Performance Improvements

During the development of version 6.1 there have been a lot of smaller and bigger performance improvements.
The following changes might be interesting.

Allow to use the closest configuration in the page tree

When a record is saved in the backend by now the whole typoscript configuration is evaluated for the page where the record is located. In many setups it is enough to just use the closest template in the rootline to parse the configuration.
Since there are cases, where this method does not work (e.g. when you use conditions based on page ids) you need to switch this behaviour explicitly on, by enable "useConfigurationFromClosestTemplate".

Add caching when record monitor is used

To optimize the performance the RecordMonitor and GarbageCollector class have been splitted into several components. These components use the TYPO3 caching framework to cache result that do not need to be retrieved multiple times.

Add a global list of monitored tables

If a record is relevant can only be decided in the context of a solr site because the typoscript configuration defines the indexing configuration.

When you want to tweek the backend performance you can define a global list of monitoredTables. Other tables will then be ignored and also the parsing of the typoscript configuration is not needed then.

New Index Inspector

Since extjs will be removed more and more from the TYPO3 core we decided to migrate the index inspector to fluid.
You can use the index inspector as usual from "Web > Info > Search Index Inspector" to analyze which documents are in the
solr server for a specific page.

Related Issues:

Allow to monitor records outside the siteroot

When the property "additionalPageIds" is configured for an indexing configuration this configuration is now taken into account in the record monitor to re-queue these elements when a change in the backend is done.

Since this is an expensive operation, you can disable this feature by configuring the extension setting (useConfigurationTrackRecordsOutsideSiteroot) in the extension manager.

Related Issues:

Use TYPO3 logging framework instead of devlog

By now the devLog from TYPO3 was used to log messages in the extension. Since several years there is a more flexible logging framework available in the TYPO3 core.
In EXT:solr 6.1 we make use of this and use the TYPO3 logging framework to write the logs.

Related Issues:

Use ::class and shorten array syntax

The minimum php version (PHP 5.5) allows us to benefit from PHP language features that make the code more readable:

  • Short array syntax: We replaced the parts in the code where [] can be used instead of array()
  • ::class: By using ::class all places where classes get instanciated with GeneralUtility::makeInstance can be simplyfied

Related Issues:

Support partial matches with N-Gram and Edge N-Gram

For some search use cases it makes sence to support partial matches e.g. when you search for "boch" and want to mach a field with the content "bochum".

EXT:solr 6.1.0 shippes new dynamic field types that make "N-Gram" and "Edge N-Gram" processed fields available:

  • Edge N-Gram Singlevalue: \*_textEdgeNgramS Edge Ngram (hello => hello, hell..)
  • Edge N-Gram Multivalue: \*_textEdgeNgramM Edge Ngram (hello => hello, hell..)
  • N-Gram Singlevalue: \*_textNgramS Ngram (hello => he,ll,lo,hel,llo)
  • N-Gram Multivalue: \*_textNgramM Ngram (hello => he,ll,lo,hel,llo)

See also:

https://cuiborails.wordpress.com/2012/07/13/apache-solr-ngramedgengram/

Related Issues:

Allow to disable siteHash check by using allowedSites = *

The siteHash is unique for a solr site in the TYPO3 system. When solr does a query the allowedSites setting can be used to control the set of documents that are queried in a solr core.
This is useful when you want to split the content from multiple sites in a single solr core. In some cases it is useful to disable this limitation.

E.g. when:

  • You have data in solr that comes from another system
  • When you want to search across multiple sites

Before the extension "solr_disablesitehash" was required to turn this sitehash check off. With solr 6.1.0 we've changed the meaning of the allowedSites:

  • Before: * was the same as __all, which means all sites in the system
  • After: __all is still handled as __all sites in the system, but * now means every site (same as no check at all)

Migration: When you are using * for query.allowedSites change the setting to __all.

Related Issues:

Update jQuery version

In this release we have updated the shipped jQuery and jQueryUi components to the following versions:

  • jQuery: v3.1.1
  • jQuery UI: v1.12.1

Related Issues:

Fix scrutinizer issues

A lot of issues (formatting, small bugs, documentation,...) reported by scrutinizer have been resolved in this release.

Related Issues:

Add solr access filter plugin 2.0.0

The solr access filter plugin has been optimized to use a solr post filter. By using a post filter the performance of this plugin is much better, because less documents need to be evaluated.
In this release we ship this new version 2.0.0 of the access filter with the default configSet and in our docker container.

Related Issues:

Preparation for Doctrine migration

In the next release we will drop the support of TYPO3 7 LTS and only support 8 LTS. Since in the TYPO3 core the database access was migrated to Doctrine, we will use Doctrine as well.

To simplify this, we have centralized a lot of database queries in this release and also dropped duplicate queries to reduce to amount of work that needs to be done for this in the next releaese.

Related Issues:

Allow self signed ssl certificates

Not every project can use officially signed SSL certificates for all stages. Because of that we allowed for the page indexing to index a host, with a self signed certificate.

You can enable this feature by configuring the extension setting (allowSelfSignedCertificates) in the extension manager to true.

Related Issues:

Add cObject support for solr settings

When you use EXT:solr in a deployment scenario (e.g. platform.sh) you maybe want to define the solr endpoints by environment variables or from variables in TYPO3_CONF_VARS. Both approaches are supported by the typoscript TEXT object.
Therefore it makes sence for the solr endpoint settings in plugin.tx_solr.solr to support the usage of cObjects there. This allows you to define connections like this:

Addition to AdditionalConfiguration.php:

$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['solr']['host'] = 'mysolrserver.de';

Usage in Typoscript:

plugin.tx_solr.solr {
    host = TEXT
    host {
        value = localhost
        override.data = global:TYPO3_CONF_VARS|EXTCONF|solr|host
    }
}

Related Issues:

Deprecated code

For the continues improvement of the codestructure and preparation for upcoming tasks, the following methods have been marked as deprecated and will be removed in EXT:solr 7.0 (next release):

  • GarbageCollector::cleanIndex
  • Query::addSortField
  • Query::getSortingFields
  • SolrService::getSchemaName
  • Util::timestampToIso
  • Util::isoToTimestamp
  • Util::timestampToUtcIso
  • Util::utcIsoToTimestamp
  • Util::getRootPageId
  • Util::isRootPage
  • Util::getSiteHashForDomain
  • Util::resolveSiteHashAllowedSites
  • Item::updateIndexedTime
  • Queue::getIndexingConfigurationByItem
  • Queue::getIndexingConfigurationsByItem
  • Queue::getItemsCountBySite
  • Queue::getRemainingItemsCountBySite
  • TypoScriptConfiguration::getIndexQueuePagesAllowedPageTypesArray
  • QueryTest::canAddSortField
  • Site::getLanguages
  • Site::getFirstAvailableSite
  • Site::getAvailableSites
  • Site::getAvailableSitesSelector

Please check your deprecation log and replace the usages in your code.

Breaking changes

...

Read more

6.0.1 - Maintenance release

30 Mar 11:24
Compare
Choose a tag to compare

Apache Solr for TYPO3 version 6.0.1 released

This release is a bugfix only release.

Empty username or password lead to authentication with empty credentials

When no username of password was configured an authentication with empty credentials was done.

#1182

Error when solr path consists of more then two segments

When the solr path has more then two segments (e.g. /solr/core) a core reload failed.

#1211

6.0.0 - Support of Apache Solr 6.3 / Docker Images & Performance Tuning

14 Dec 09:22
Compare
Choose a tag to compare

Dia dhuit - Hello "Apache Solr for TYPO3" 6.0

We're happy to announce the release of Apache Solr for TYPO3 (EXT:solr) version 6.0.0.
With this release we ship support for Apache Solr 6.3 and provide a Docker file, that
can be used to spin up a Solr server configured and ready to run within a few steps.
Besides that the release contains many other features and bugfixes.

New in This Release

In this release we've merged over 120 pull requests!
With these pull requests several new features and bugfixes were added.

Apache Solr 6.3 Support

The focus of this release was adding support for the latest version of Apache Solr
and making setup easier. Configuration of Apache Solr is now provided via configSets.
A configSet contains everything you need - solrconfig.xml, schema.xml & custom
access filter jar files - to configure and run a Solr server for use with TYPO3.

Related PRs:

Access Filter Support for multi-value Access Fields

The next release of EXT:solrfal will allow merging of duplicates into one document.
The implementation of this feature requires that the permissions are stored in a multi-value
field because different references to a file can have different permissions.
Thus the access field is now a multi-value field and the access filter plugin
is able to evaluate multiple access values.

Related PRs:

#675

Fluid Templates for System Status Reports

By using the Fluid standalone views we have adapted the status reports
to use these views and create better output.

Related PRs:

#740

Support for New Languages (Irish, Serbian and Latvian)

With the new Apache Solr version we have added languages Irish, Serbian, and Latvian.
You can now use them to index sites in these languages by creating a Solr core using the
configuration provided by the extension.

Related PRs:

#779

Use Extbase Command Controller to Update Connections

The old cli commands have been replaced with an Extbase command controller.

Please use the following commands to update Solr connections through cli:

php ./typo3/cli_dispatch.phpsh extbase solr:updateConnections

Related PRs:

#694

Closer to 8 LTS

Our goal is to be able to support TYPO3 CMS v8 as soon as version 8 LTS will be released.
Many patches from the community have been merged to improve the compatibility for version 8 already.
Thanks to everyone who worked on that and provided contributions!

Related PRs:

Performance Improvements

Avoid schema retrieval:

Until now the Solr sch 8000 ema was fetched in the frontend even when it was not needed.
Now we only fetch the schema in the backend when it's really needed (when updating stopswords or synonyms).

Reduce ping requests:

The amount of ping requests has been reduced to only do one ping when the plugin is rendered.

Improved configuration caching:

Configuration object, are now cached in an in memory cache. This gives an improvement when pages in the backend are copied.

Related PRs:

Allow Solr Server-Side Facet Option Limits

Until now you could only limit the facet options shown when they get rendered in the frontend.
Sometimes however you want to reduce the available facet options at an earlier time when
retrieving them from Solr.

The following setting now allows you to configure this limit:

plugin.tx_solr.search.faceting.facetLimit = 50

Related PRs:

Improved Code Quality With Scrutinizer

To ensure changes don't reduce the quality of the code we have introduced Scrutinizer-CI to
provide feedback on code quality. After adding Scrutinizer-CI we also started to resolve
initial issues reported step by step and to increase the coverage of automated tests.

You can have a look at the results of the inspections and see the impact there:

https://scrutinizer-ci.com/g/TYPO3-Solr/ext-solr/statistics/

A couple pull requests have been merged to introduce Scrutinizer and to fix several issues:

Related PRs:

Our goal is to improve the code step by step and don't get worse.

Use of Compound Index Format

To avoid an error in Apache Solr with "too many open files", it is possible
to use the compound index format. Apache Solr is then writting to only one
index file instead of many. The downside however, is that the performance may
be slightly reduced but should not be significant for most projects.
We decided to change the default configuration here to use a more robust setting.
If you have very high performance requirements you can still change this behavior
by setting <useCompoundFile>false</useCompoundFile> in your solrconfig.xml.

Related PRs:

Added Schema Field for Exact Matches

We've added a new data type "textExact" to the solr schema. Beside that copyFields have been added for the following fields:

  • titleExact
  • contentExact
  • tagsH1Exact
  • tagsH2H3Exact
  • tagsH4H5H6Exact
  • tagsInlineExact

Beside that this type is also available as dynamic fields with the following suffixes:

  • _textExactS
  • _textExactM

Related PRs:

Username and Password for Solr Connection

Username and password can now be configured for the solr connection:

plugin.tx_solr.solr.username = username
plugin.tx_solr.solr.password = password

Related PRs:

Timeout for Solr Connection

A timeout for the solr connection can now be configured:

plugin.tx_solr.solr.timeout = 20

Related PRs:

Rendering Instruction for DateFormatting

The following rendering instruction can be used, when you want to format a date as option facet and store it as date or timestamp.

plugin.tx_solr.search.faceting.facets.created {
   field = created
   label = Created
   sortBy = alpha
   reverseOrder = 1
   renderingInstruction = TEXT
   renderingInstruction {
      field = optionValue
      postUserFunc = ApacheSolrForTypo3\Solr\Domain\Search\ResultSet\Facets\RenderingInstructions\FormatDate->format
   }
}

Related PRs:

Breaking Changes

Updating from version 5.1.1 or earlier there are some breaking changes that
your need to keep in mind when updating.

Apache Solr 6 and Access Filter

Since version 6 Apache Solr comes with an embedded Jetty server which completely
changes the setup compared to Apache Solr 4.10. It is now required to install a
new instance of Apache Solr Server. This can be done with our install script for
development or you can use our Docker image to start a new Solr server as a container.
Both approaches are described in our documentation. The embedded Solr Jetty server also uses a new default port (8983) to serve connections.

Migration to Command Controllers for CLI

We are now using a command controller to update the Solr server connections.
Please use the following command to update your connections:

php ./typo3/cli_dispatch.phpsh extbase solr:updateConnections

Bugfixes

The following bugs have been fixed in this release.

  • Page is not added to queue when page_language_overlay record changed
    #768
  • Use TypoScript configuration object for plugin baseWrap
    #697
  • Fixed group by and statement in statistics
    #722
  • Make definition of cookie in tx_solr_statistics compatible with ses_id in fe_sessions
    #713
  • Fix recursive value resolution in SOLR_RELATION
    #692
  • Use styled fields for the scheduler tasks
    #672
  • Have index updated when using frontend editing
    #648
  • Make suggest working when variants are used
    #627

Outlook

In the next release (6.1) our focus will be to prepare support for TYPO3 CMS
version 8 LTS as well as possible. The next release (6.1) will also be the
last release for TYPO3 CMS version 7.6 LTS.

Contributors

Like always this release would not have been possible without the help from our
awesome community. Here are the contributors for this release.

(patches, comments, bug reports, reviews, ... in alphabetical order)

  • Anjey
  • Claus Due
  • Daniel Siepmann
  • Dominique Kreemers
  • Georg Ringer
  • Hendrik Putzek
  • Ingo Renner
  • Josef Glatz
  • Markus Friedrich
  • Markus Kasten
  • Michiel Roos
  • Olivier Dobberkau
  • Patrick Oberdorf
  • Peter Kraume
  • Philipp Gampe
  • Pierrick Caillon
  • Sascha Egerer
  • Thomas Hohn
  • Timo Hund
  • Tomas Norre Mikkelsen

Also a big thanks to our partners that have joined the EB2016 program:

  • Arrabiata Solutions GmbH & Co. KG
  • a...
Read more

5.1.1 - Maintenance release

01 Nov 13:45
Compare
Choose a tag to compare

Apache Solr for TYPO3 version 5.1.1 released

This release is a bugfix only release.

SOLR_RELATION: Recursive value resolution

By using the SOLR_RELATION option enableRecursiveValueResolution relations can be resolved recursive if the given foreignLabelField is a relation too. The bugfix resolves this issue and adapts the integration test to check if this feature is working.

Details: #690

5.1.0 document variants / ux improvements / be statistics

19 Aug 07:46
Compare
Choose a tag to compare

Apache Solr for TYPO3 version 5.1.0 released

We're happy to announce the release of Apache Solr for TYPO3 (EXT:solr) version 5.1.0. This release ships a few bugfixes and smaller features

New in this Release

The focus of this release was to provide the new features from the codesprint and bugfixes from the issue tracker. Beside that, we've added a variants feature that could be used together with the upcomming solrfal release as one approach to avoid duplicated files in the search frontend.

Document Variants

This feature adds a new optional field variantId that is filled with type/uid and can be used for collapsing by default.

The following example shows the required typoscript configuration that is needed:

plugin.tx_solr.search {
    variants = 0
    variants {
        expand = 1
        variantField = variantId
        limit = 10
    }
}

The collapsing can be used to collapse on numeric and string fields, text fields are not supported for collapsing by Solr.

Note: You need to update your solrconfig and schema to use the new field variantId. When you include the TS Template "Everything on", variants are active. You need to reindex in this case to make sure that the field is filled correctly.

Details: #550

Improved Documentation

During the transition from forge to github, we've moved the rest of the documentation to our rst documentation.

Details: #547

Backend statistics

During the codesprint in Frankfurt a new statistics module was added for that backend that allows you to get some usefull insights
of your search installation.

  • Which terms are the most frequent search terms?
  • Which terms are frequently searched but deliver no result?

UX Improvements

During the codesprint several UX improvements in the backend module have been done:

Replace content element wizard icon with svg icon:

  • Replace content element wizard icon with svg icon

Detail: #581

Make init connections icon use SVG:

  • Adds new SVG icon for init connection

Details: #566

Backend module layout fixes

  • Makes sure everything is aligned properly
  • Removes some whitespace, giving the module content more room

Details: #575

Bugfix: absRefPrefix auto in cli mode with webroot different from PATH_site

When you are using absRefPrefix auto and index in cli mode and you webroot differs from PATH_site you have the possibility to configure a
webroot in the scheduler task to make absRefPrefix=auto work in this case

Details: #495

Bugfix: Keep selected site in scheduler task

When a site in the scheduler task was selected the selection could get lost.

Details: #557

Outlook

In the next release (6.0) we will focus on the integration of the latest Apache Solr Version (currently 6.1.0)

Contributors

Like always this release would not have been possible without the help from our
awesome community. These are the contributors for this release.

(patches, comments, bug reports, review, ... in alphabetical order)

  • Daniel Siepmann
  • Ingo Renner
  • Sascha Nowak
  • Steffen Ritter
  • Timo Hund
  • Thomas Hohn
  • Thomas Scholze

Also a big thanks to our partners that have joined the EB2016 program:

  • Bank CIC AG
  • Bitmotion GmbH
  • Citkomm services GmbH
  • CS2 AG
  • Cosmoblonde GmbH
  • Daniz online markting
  • datenwerk innovationsagentur gmbh
  • die_schnittsteller GmbH
  • E-magineurs
  • Fernando Hernáez Lopez
  • Future Connection AG
  • Gernot Leitgab
  • Hirsch & Wölfl GmbH
  • hs-digital GmbH
  • IHK Neubrandenburg
  • L.N. Schaffrath DigitalMedien GmbH
  • mehrwert intermediale kommunikation GmbH
  • netlogix GmbH & Co. KG
  • pixolith GmbH & Co. KG
  • Q3i GmbH & Co. KG
  • RUAG Corporate Services AG
  • ST3 Elkartea
  • Star Finanz-Software Entwicklung und Vertriebs GmbH
  • Stefan Galinski Interndienstleistungen
  • Systime A/S
  • SYZYGY Deutschland GmbH
  • web-vision GmbH
  • websedit AG - Internetagentur
  • Webstobe GmbH
  • WIND Internet

Thanks to everyone who helped in creating this release!

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 answering questions in our Slack channel
  • Provide patches through Pull Request 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
0