Commit graph

197 commits

Author SHA1 Message Date
Justus Moroni 6c46a20160 TASK: Make multiple plugins with flexform settings possible
Remove the specified pluginName in the
ConfigurationContainer so the correct settings for the
context can be fetched.

Resolves: #170
2018-11-06 17:40:48 +01:00
Daniel Siepmann 9cc5e45409
BUGFIX: Allow to define zero as valid filter value via TypoScript
The configured filter is no longer filtered, it's up to the integrator
to provide proper configuration. Therefore `0` is now a valid and
respected filter value.

Resolves: #163
2018-09-26 17:07:34 +02:00
Daniel Siepmann 244b0d9b12
TASK: Refactor column value in own method
This allows to replace this single part of code in own implementations.
2018-09-05 13:42:13 +02:00
Justus Moroni 2b56d4c2d5 Merge branch 'develop' into feature/75-make-index-configurable
# Conflicts:
#	Documentation/source/configuration/connections.rst
#	Documentation/source/connections.rst
2018-05-17 23:51:55 +02:00
Justus Moroni a15b78ff45 FEATURE: Provide new feature to configure the index
This enables you to configure the index which elastic
will use.

Related: #75
2018-05-17 23:42:13 +02:00
Daniel Siepmann dfb3f897e7
!!!|FEATURE: Extract relation resolver to data processor
Instead of hardcoding and tight coupling of relation resolving, we now
provide a dataprocessor instead.

Therefore you need to configure resolving for each indexed type.

This resolves #149 and #147.
2018-04-24 11:00:29 +02:00
Daniel Siepmann 0d57374f25
Merge remote-tracking branch 'origin/develop' into feature/147-handle-rendertype-inputDateTime
Conflicts:
    Tests/Unit/Domain/Index/TcaIndexer/RelationResolverTest.php
2018-04-19 17:08:13 +02:00
Daniel Siepmann 82d397c428
FEATURE: Keep sys_language_uid while indexing
Before this change, sys_language_uid was indexed as an empty string, due
to internal used TYPO3 API.
We now skip the configure field which defines language uid. This way you
can build filter based on current language.

Resolves #148
2018-04-12 12:03:02 +02:00
Daniel Siepmann c1d1e6ed68
BUGFIX: Do not resolve inputDateTime as relation
Add test which checks this behaviour.
Exclude inputDateTime from relation resolving.

Resolves #147
2018-04-12 12:01:07 +02:00
Daniel Siepmann eb1c988f6d
Merge pull request #145 from Codappix/feature/add-type-to-resultitem
FEATURE: Provide type of result item
2018-03-22 13:40:27 +01:00
Daniel Siepmann c8dc95c4d3
FEATURE: Provide type of result item
In order to make further usage easier, we provide the type for each
result item.

This makes it possible to call {f:render(section: resultItem.type)}.
2018-03-20 16:07:28 +01:00
Daniel Siepmann 372cd48471
FEATURE: Allow to copy a single field with CopyToProcessor 2018-03-20 15:43:09 +01:00
Daniel Siepmann 8fe42789ba Merge remote-tracking branch 'origin/develop' into feature/112-prevent-issue-with-non-uids 2018-03-20 14:18:00 +01:00
Daniel Siepmann 4bffa33401
Merge pull request #138 from Codappix/feature/134-allow-header-element-to-be-indexed
FEATURE: Make content fields configurable
2018-03-20 11:31:10 +01:00
Daniel Siepmann 979db75ef8
Merge pull request #141 from Codappix/hotfix/allow-multiple-instances
BUGFIX: Allow multiple instances with different configurations
2018-03-20 11:27:25 +01:00
Daniel Siepmann 203b5d7adf
TASK: Prevent issue When hook is called with non uid
If some issues occur outside of our extension, we might not get a valid
uid inside of our hooks. We will therefore add additional checks and
prevent any further execution.

Resolves: #112
2018-03-20 11:25:51 +01:00
Daniel Siepmann 32df6ff8ec
BUGFIX: Allow multiple instances with different configurations
In order to use the plugin with different configurations on same site,
we can not use ConfigurationContainerInterface as a Singleton.
This would prevents us from using different configuration setups.
2018-03-20 10:21:03 +01:00
Daniel Siepmann bb10f4f5d6 Merge remote-tracking branch 'origin/develop' into feature/134-allow-header-element-to-be-indexed 2018-03-16 17:28:56 +01:00
Daniel Siepmann 81b210b3b7 Merge remote-tracking branch 'origin/develop' into hotfix/135-limit-page-indexing 2018-03-15 16:03:30 +01:00
Daniel Siepmann 9c25f1560b Merge remote-tracking branch 'origin/develop' into feature/134-allow-header-element-to-be-indexed 2018-03-15 16:03:20 +01:00
Daniel Siepmann 2b78ffbe96
BUGFIX: Workaround doctrine limitation
Doctrine will not implode our array, so we have to do
2018-03-15 14:42:41 +01:00
Daniel Siepmann f3e8dacd4e
TASK: Keep language information for all TYPO3 Versions
Keep code consistent. Fetch language field for both TYPO3 versions.
To make sure we do not mess up, add test case.
2018-03-15 13:59:47 +01:00
Daniel Siepmann 403fd47df0
TASK: Add necessary phpdoc for extbase
As extbase does not reflect PHP source but phpdoc, we have to define the
type to use for mapping as phpdoc.
2018-03-15 11:29:29 +01:00
Daniel Siepmann 218d8d7289
FEATURE: Make content fields configurable
Allows integrators to configure which fields should be used to produce
field "content" for indexed pages.

Before only "bodytext" was used. This is now configurable and "header"
was added to defaults.

Resolves: #134
2018-03-15 09:15:26 +01:00
Daniel Siepmann a232ae0b36
BUGFIX: Respect page uid of content records
Do not index content records of all pages while indexing pages in CMS
8.x.

We add same logic as for CMS 7.x, we extend the query to only fetch
records from current page.

Resolves: #135
2018-03-15 08:08:47 +01:00
Daniel Siepmann 835924a8d8
Merge remote-tracking branch 'origin/develop' into feature/support-typo3-7-to-8
Conflicts:
    Tests/Functional/Hooks/DataHandler/ProcessesAllowedTablesTest.php
    Tests/Unit/Domain/Index/TcaIndexer/TcaTableServiceTest.php
2018-03-14 20:13:03 +01:00
Daniel Siepmann 4d2c8f79ca
TASK: Use imported interface 2018-03-14 20:08:53 +01:00
Daniel Siepmann b5b0acdc62
TASK: Provide sys_language_uid
Fetch sys_language_uid from database.
Until now we did not fetch system related fields from database. As there
is now a RemoveProcessor, integrators are able to remove fields.
Also providing this field enables basic multi language support.

Relates: #25
2018-03-14 19:56:03 +01:00
Daniel Siepmann 20513400de
FEATURE: Index page if cache was cleared
We use the cache clear hook to index pages whenever the cache was
cleared.
This makes it possible to cover some cases like changing content on a
page. But also if an integrator configures to clear additional pages.

This is limited as we can not handle cache tags at the moment.

Resolves: #131
2018-03-13 21:52:50 +01:00
Daniel Siepmann b2a63e9cb0
TASK: Make extension compatible with CMS 7.6 2018-03-13 20:34:56 +01:00
Daniel Siepmann 0122dd88e4
TASK: Fix call to non existing method 2018-03-13 12:19:54 +01:00
Daniel Siepmann 6d7199ccf2
TASK: Provide already used logger
As we use the logger, we should inject it.
2018-03-13 12:19:30 +01:00
Daniel Siepmann 9e80574361
TASK: Provide compatible TypoScriptService for both TYPO3 versions 2018-03-13 12:19:04 +01:00
Daniel Siepmann 75335e2bc1
TASK: Do not import unnecessary namespace
As imported class is on same level as we are, we do not need to import
the class.
2018-03-13 11:03:57 +01:00
Daniel Siepmann ba19537f4e
TASK: Migrate existing 7.6 features
We had some features in 7.6 support which we didn't merge up yet.
Mostly very small bug fixes or more helpful logging and processing of
elasticsearch options.

But also adding images of content elements while indexing pages.
2018-03-13 11:02:29 +01:00
Daniel Siepmann a469f63aa6
TASK: Cleanup differences
We have some small differences between develop and support/76 branch.
This differences are just CGL and should not exist.
2018-03-13 10:51:59 +01:00
Daniel Siepmann 09cd655a7a
TASK: Remove whitespace in return type annotation 2018-03-08 11:20:23 +01:00
Daniel Siepmann fc8017fdf4
TASK: Fix further issues reported by phan 2018-03-08 11:09:28 +01:00
Daniel Siepmann 4da9e86540
TASK: Remove unused use statements 2018-03-08 11:09:07 +01:00
Daniel Siepmann 89065305c4
Merge branch 'feature/add-display-name-to-facet' into feature/cleanup
Conflicts:
    Classes/Connection/Elasticsearch/FacetOption.php
    Classes/Connection/FacetOptionInterface.php
2018-03-08 07:51:44 +01:00
Daniel Siepmann 8d930448e0
TASK: Fix scurtinizer issues 2018-03-06 17:58:19 +01:00
Daniel Siepmann 560597dcff
TASK: Cleanup type annotations and phpstan issues 2018-03-06 17:40:49 +01:00
Daniel Siepmann 88f301f228
FEATURE: Allow range queries for elasticsearch
Allow "raw" configuration and support "range" type.

Also prevent adding boosts if no search term was submitted which can be
boosted.

Resolves: #119
2018-03-06 16:42:22 +01:00
Daniel Siepmann 6544ec07d3
FEATURE: Support display name for facet option
As some search services, like elasticsearch, allow generation of a
string that should be displayed in frontend, we provide a new getter for
that.
The old existing name can be a fallback in custom implementations.
2018-03-06 16:41:54 +01:00
Daniel Siepmann 3731bcf474
TASK: Fix CGL 2018-03-06 16:39:07 +01:00
Daniel Siepmann 6ac2680211
Merge pull request #101 from Codappix/feature/phpcs-travis
Feature: Run phpcs on travis
2018-03-06 15:11:46 +01:00
Daniel Siepmann fa2b11f276
Merge pull request #123 from Codappix/feature/118-dataprocessor-adapter
FEATURE: 118 dataprocessor adapter
2018-03-06 14:02:10 +01:00
Daniel Siepmann 951edf3871
Merge pull request #122 from Codappix/feature/116-execute-dataprocessor-on-result
FEATURE: 116 execute dataprocessor on result
2018-03-06 13:47:35 +01:00
Daniel Siepmann ae51de9041
Merge remote-tracking branch 'origin/develop' into feature/phpcs-travis
Conflicts:
    Classes/Hook/DataHandler.php
2018-03-06 13:17:29 +01:00
Daniel Siepmann 5d1e7c41bc
!!!|FEATURE: Pass facet configuration to search service
Do not limit integrator in possibilities to configure.

Therefore previously configure facets for a field need to be adjusted to
contain full configuration for elasticsearch. See changelog.

Resolves: #120
2018-03-06 12:05:32 +01:00