Commit graph

155 commits

Author SHA1 Message Date
c940ac4497
Fix CGL issues
Do not introduce unnecessary changes into pull request for TYPO3 CMS 9
update.

* Trim trailing whitespace.
* Do not introduce blank line before namespace definition with this pull
  request.
* Add posix new line at end of file.
2019-05-05 09:57:19 +02:00
Daniel Maier
fbaa555b96 [task] catch wrong exceptions when accessing configuration 2018-10-30 11:46:21 +01:00
Daniel Maier
690e6a431d [task] drop typo3 7.6 2018-10-30 11:13:21 +01:00
Daniel Maier
6a697133bb Merge branch 'feature/update-9' of github.com:bergwerk/search_core into feature/update-9
# Conflicts:
#	Classes/Configuration/ConfigurationContainer.php
2018-10-22 09:11:54 +02:00
Konstantin Sölch
0a9cdd5dce [TASK] bugfixes and error removal 2018-10-18 15:21:25 +02:00
Daniel Maier
5ea0f34632 [task] handle missing array path exceptions 2018-10-17 17:17:06 +02:00
Daniel Maier
0836c66cb3 [task] remove no longer required like method 2018-10-17 15:55:04 +02:00
Daniel Maier
50baec90ec [task] migrate array utility 2018-10-17 15:54:54 +02:00
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
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
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
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
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
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
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
bb10f4f5d6 Merge remote-tracking branch 'origin/develop' into feature/134-allow-header-element-to-be-indexed 2018-03-16 17:28:56 +01:00
81b210b3b7 Merge remote-tracking branch 'origin/develop' into hotfix/135-limit-page-indexing 2018-03-15 16:03:30 +01:00
9c25f1560b Merge remote-tracking branch 'origin/develop' into feature/134-allow-header-element-to-be-indexed 2018-03-15 16:03:20 +01:00
2b78ffbe96
BUGFIX: Workaround doctrine limitation
Doctrine will not implode our array, so we have to do
2018-03-15 14:42:41 +01:00
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
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
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
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
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
4d2c8f79ca
TASK: Use imported interface 2018-03-14 20:08:53 +01:00
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
b2a63e9cb0
TASK: Make extension compatible with CMS 7.6 2018-03-13 20:34:56 +01:00
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
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
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
fc8017fdf4
TASK: Fix further issues reported by phan 2018-03-08 11:09:28 +01:00
4da9e86540
TASK: Remove unused use statements 2018-03-08 11:09:07 +01:00
8d930448e0
TASK: Fix scurtinizer issues 2018-03-06 17:58:19 +01:00
560597dcff
TASK: Cleanup type annotations and phpstan issues 2018-03-06 17:40:49 +01:00
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
3731bcf474
TASK: Fix CGL 2018-03-06 16:39:07 +01:00
6ac2680211
Merge pull request #101 from Codappix/feature/phpcs-travis
Feature: Run phpcs on travis
2018-03-06 15:11:46 +01:00
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
ae51de9041
Merge remote-tracking branch 'origin/develop' into feature/phpcs-travis
Conflicts:
    Classes/Hook/DataHandler.php
2018-03-06 13:17:29 +01:00
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
cf91251be3
TASK :Add tests for SearchRequest
Make sure exceptions with helpful messages are thrown if one object is
missing when execute is called.

Also make sure the expected methods are called.
2018-03-06 09:36:39 +01:00
79aba3c544
TASK: Add test cases for ResultItem Model
Check whether all methods work as expected.

E.g. we can retrieve data in all ways, but not change anything.
2018-03-06 09:19:09 +01:00
769fb8237b
TASK: Add data processing to search result
Search results are now processed through data processing by search
service. The result will be a SearchResult model from our domain. Also
SearchResult will execute new queries, e.g. from paginate widget,
through SearchService to apply data processing again.

Remove duplicate stub code to trait, to keep own logic and code clean.
2018-03-06 09:04:47 +01:00
2998c43ba8
TASK: Refactor data processing
Use own service to handle data processing. Classes like indexer should
not know anything about the structure and how to process the data.

Also rename record to data, as we can process just any data in form of
an array.

Relates: #116
2018-03-01 08:03:51 +01:00
350f8a52b6
FEATURE: Use extbase for processor instantiation
This way injects will be resolved inside of processors, enabling
developers to inject dependencies.

We use inject instead of constructor as indexers mostly will change the
constructor and should not need to add the objectmanager.

Resolves: #117
2018-02-27 14:47:22 +01:00
fef2bdac89
Merge pull request #115 from Codappix/feature/112-resolve-relations-for-new-records
BUGFIX: Allow indexing of new records with their relations
2018-02-23 10:20:58 +01:00
47b3282034
BUGFIX: Allow indexing of new records with their relations
Relations were inserted by TYPO3's DataHandler after indexing and were
therefore not indexed.

We now use a later hook after DataHandler has finished everything, so we
know that we can index. As it's not relevant, we do not differentiate
between add and update anymore, as both trigger "indexDocument" internal.

Resolves: #112
2018-02-22 22:14:44 +01:00
ebaeaf4c92
TASK: Support PHP 7.0
As some (e.g. debian) do not provide PHP 7.1 and we did not use so much
features which were introduced in PHP 7.1, we add support for PHP 7.0.
2018-02-22 21:59:13 +01:00
Justus Moroni
c994a32ac1 BUGFIX: Make BackendUtility usable in frontend
BackendUtility used LanguageService which only works
in the backend.
Extend BackendUtility and use TSFE instead.
2018-01-29 22:49:29 +01:00
02ef86b67b
FEATURE: Provide new feature to configure fields to search in
This enables you to search only in some fields.
Also if some fields contain mapping, you can add them in addition to
e.g. `_all`.
2017-11-29 18:57:09 +01:00