Commit graph

114 commits

Author SHA1 Message Date
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
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
5ba860b8de
TASK: Add new test covering new feature 2017-11-29 20:00:10 +01:00
e3151e802c
TASK: Fix broken unit tests
Adjust tests to match new queries built with multiple fields.
2017-11-29 19:52:10 +01:00
b7b783a7fe
TASK: Use Code Sniffer at travis
This way we need no external service.
Each developer can fully run all tests and cgl on local environment.
Also this integrated better into IDEs and editors.
2017-11-11 16:52:02 +01:00
689d8f0c53
Merge pull request #96 from Codappix/feature/refactor-dataprocessing
!!!|FEATURE: Make data processing available to all indexer
2017-11-10 22:05:49 +01:00
7472cab660
Merge pull request #98 from Codappix/feature/provide-form-finisher
FEATURE: Provide form finisher for integration into form extension
2017-11-10 22:05:34 +01:00
a3a46f5cb5
FEATURE: Provide command to delete whole index
This is necessary, e.g. for complete re-indexing.
2017-11-10 13:22:15 +01:00
31202f8882
FEATURE: Provide form finisher for integration into form extension
Provide a finisher, working as a proxy, to internal data handler, which
is already used for Hooks in TYPO3 backend.
2017-11-10 12:31:06 +01:00
e1a14b2f04
!!!|FEATURE: Make data processing available to all indexer
Before data processing was applied for TCA only, through tca table
service.
Now it's applied much later in process and in abstract indexer.
Therefore all indexer will run data processing if configured.
2017-11-08 21:05:53 +01:00
379dddf8ac
BUGFIX: Also remove fields containing "null" 2017-11-08 20:36:04 +01:00
0159315183
FEATURE: Add data processor to remove fields for indexing
Add a new processor, with docs and tests, to allow removal of fields
before sending them to search service like elasticsearch.

E.g. remove sensitive information that should not be available.
2017-11-08 20:20:37 +01:00
43ec410eb5
Merge pull request #93 from Codappix/hotfix/allow-empty-filter
BUGFIX: Do not remove submitted filter if configured one is empty
2017-11-02 22:41:20 +01:00
8206a1ec59
BUGFIX: Do not remove submitted filter if configured one is empty
This will be the case if you add a flexform to the plugin with no value.
Then an empty filter is configured and you will not be able to submit a
value for this filter.
2017-10-29 17:08:33 +01:00
b5225b943c
TASK: Add tests for new query factory code 2017-10-29 14:16:16 +01:00
c38f7b9d6a
TASK: Move configuration logic into own class
Also add tests for new code.
2017-10-29 13:44:17 +01:00
85bfb86f5f
TASK: Fix broken tests for query factory 2017-10-29 13:03:58 +01:00
7a5bea687e
TASK: Add new tests for filter setting on model 2017-10-29 13:03:42 +01:00
e1764dca13
FEATURE: Add GeoPoint Processor
Document data processors.
Add test for new data processor.
2017-10-20 16:36:26 +02:00
e321c424b4 Merge pull request #88 from Codappix/bugfix/do-not-fetch-non-existing-db-fields
BUGFIX: Do not add non existing db columns to fields array
2017-10-14 16:01:39 +02:00
5d960910f7 Merge pull request #89 from Codappix/bugfix/typos
BUGFIX: Fix typos in method name and php doc
2017-10-14 15:59:41 +02:00
5026de0acd
Merge remote-tracking branch 'origin/develop' into bugfix/do-not-fetch-non-existing-db-fields 2017-10-14 15:41:21 +02:00
67a43e64a5
BUGFIX: Fix typos in method name and php doc 2017-10-14 15:28:50 +02:00
2c466854b2
BUGFIX: Do not add non existing db columns to fields array
As TCA might contain columns which do not exist in DB, filter them out.
2017-10-14 15:23:13 +02:00
6c01abe5a5
BUGFIX: Also handle data processor without configuration 2017-10-14 13:35:44 +02:00
efeb5d1e07
FEATURE: Add data processing to extension
Allow integrators / developer to apply data processing concept known
from FLUIDTEMPLATE to indexing.
2017-10-14 13:02:48 +02:00
306f5bef84
BUGFIX: Keep existing arguments in filter mode
E.g. to support paginate widget arguments.
2017-09-15 23:47:34 +02:00
9a0d73f1c7
FEATURE: Allow to switch from search to filter mode 2017-09-15 22:26:52 +02:00
13004e86f2
FEATURE: Allow filter mode by not forcing a search term 2017-09-15 21:54:47 +02:00
be75248517
FEATURE: Allow configured filters
Add new feature to allow pre configured filters. The filters will be
applied to all requests.
2017-09-15 21:35:52 +02:00
d45d231585
Merge remote-tracking branch 'origin/develop' into feature/cms-8-support 2017-09-05 19:26:09 +02:00
51863c9e5d
TASK: Cleanup PR issues 2017-08-10 08:59:48 +02:00
f7e1bd1cdf
FEATURE: Implement necessary logic to support PaginateViewHelper 2017-08-08 17:19:50 +02:00
31937d2d6f
BUGFIX: Fix broken test 2017-07-28 11:58:24 +02:00
d59173ec9a Merge remote-tracking branch 'origin/develop' into feature/cms-8-support 2017-07-28 11:45:09 +02:00
36777c700b
Merge remote-tracking branch 'origin/develop' into feature/switch-from-ttcontent-to-pages 2017-07-27 16:26:24 +02:00
3973d981d4 Merge pull request #71 from Codappix/feature/boosting
FEATURE: Add possibility to boost certain fields
2017-07-27 16:05:03 +02:00
0f4186048c
Merge branch 'develop' into feature/boosting 2017-07-27 14:48:43 +02:00
3771e6f8f9
Merge branch 'develop' into feature/configure-result-size 2017-07-27 14:41:30 +02:00
f436a02f55
FEATURE: Add field_value_factor support through configuration 2017-07-27 14:20:37 +02:00
f138cd9034
FEATURE: Add possibility to boost certain fields
Allow configuration via TS to boost certain fields during searching.
2017-07-25 15:38:40 +02:00
c1cc16efa5
BUGFIX: Fix nun working options due to miss match of ts and es
As TypoScript does not provide a way to configure key less options, we
use a comma separated list and explode them to stay compatible with
elasticsearch.
2017-07-25 15:00:25 +02:00
6462052c9b
FEATURE: Add ngram
Provide configuration for index.
Provide minimum_should_match configuration.
2017-07-25 09:52:17 +02:00
1030e8d5cf
FEATURE: Make number of search results to fetch configurable 2017-07-18 10:44:39 +02:00
cf902dde83
TASK: Make extension more compatible
Migrate sql to doctrine.
Migrate relation resolver to use new API.
2017-07-07 14:44:32 +02:00
fc3c12fa96
BUGFIX: Allow tests to run without database connection
Ad TYPO3 Core now makes use of Doctrine, a connection is required to
build system where. Therefore we move it to an own method to exchange
the execution inside of tests.
2017-07-07 12:19:35 +02:00
705e3be85a
TASK: Migrate dev dependencies
As testing framework is used, we can prefer dist again to speed up
composer installation.
2017-07-07 12:19:25 +02:00
c58e13cdf6
TASK: Rename vendor
As we move it from private repo to codappix.
2017-07-06 23:48:47 +02:00
05f846a1cf
Update existing unit tests
Make existing unit tests work with new code base.
Also add new tests for new code to existing tests.
2017-07-06 13:53:29 +02:00
432335c80d
FEATURE: Allow custom indexer
Adjust code to use defined indexer as FQCN, to allow any class to be
used as indexer. Also classes defined by user.
2017-07-04 12:12:36 +02:00
03a953c13f
TASK: Add unit test covering configuration option
Add test to cover option to configure user defined
additionalWhereClause.
2017-07-04 10:27:03 +02:00
fde592f2e3
TASK: Adjust configuration for indexing
* Adjust used configuration in command.
2017-06-29 09:18:31 +02:00
aa8d7e36e6
TASK: Add test covering index command
* To enable testing new configuration structure.
2017-06-29 09:13:39 +02:00
f453592b39
TASK: Add further tests and cast search input
* Map user input to string in any case.
* Add tests to check whether filter is added to query.
* Add test to check whether input is casted to string.
2017-06-08 08:38:14 +02:00
1a41c5e237
FEATURE: Add filter to search
* Allow to filter results by field values.
2017-06-06 13:53:08 +02:00
541c6db53a
FEATURE: Allow to configure tables to be processed
* Add typoscript option which TYPO3 tables should be processed and which
  should not be processed.
* Respect new optiion in hook.
* Also add necessary tests.
* Remove old no longer needed tests for hook.
2016-12-15 14:04:26 +01:00
98affa8f69
TASK: Resolve first review results
* Also remove coverage output on stdout, as it won't help anyone.
2016-12-15 09:17:58 +01:00
62ce197406 FEATURE: Added tests for hook and implemented logic (#8)
* FEATURE: Added tests for hook and implemented logic

* To enable updating search index on modifications through TYPO3 API.

* BUGFIX: Fix path for unit test coverage report

* To fix failing delivery to scrutinizer.
2016-12-12 13:33:07 +01:00
070e901dbb FEATURE: Add code coverage for tests to travis and scrutinizer (#6)
* FEATURE: Add code coverage for tests to travis and scrutinizer

* To detect which parts still need to be tested

* BUGFIX: Fix broken TYPO3 installation for tests

* We need the source, otherwise a base test file will be missing
2016-12-10 14:59:48 +01:00
e75f24092e Feature/improve scrutinizer (#3)
* TASK: Fix scrutinizer issues

* TASK: Add library dependency

* FIX: Adjust php and TYPO3 requirements

* TASK: Adjust test
2016-12-09 14:07:38 +01:00
b079dd8125 TASK: Migrate existing code (#2) 2016-12-09 13:19:35 +01:00
224f945d82 FEATURE: Add first code and tests to integrate travis ci 2016-12-09 11:47:28 +01:00