Commit graph

167 commits

Author SHA1 Message Date
04aaad12fe
FEATURE: Provide ContentObjectDataProcessorAdapterProcessor
Allow integrator to execute any existing data processor for content
objects.

Resolves: #118
2018-03-06 11:16:00 +01:00
0210110ccf
TASK: Add test for applied data processing on search result 2018-03-06 10:26:39 +01:00
45bb12cf51
TASK: Add tests for search result model 2018-03-06 09:44:26 +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
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
0006148a52
TASK: Fix broken functional tests
Add new default TypoScript to not break tests.
2017-11-29 19:43:16 +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
03d4d7493c
Merge pull request #99 from Codappix/feature/provide-index-deletion-command
FEATURE: Provide command to delete whole index
2017-11-10 22:05:02 +01:00
0815eaff6b
BUGFIX: Remove records during update if no longer available
E.g. update is to deactivate a record. In this case we will not be able
to update the record but should delete him instead.
2017-11-10 13:48:53 +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
fcaf1efc79 Merge pull request #82 from Codappix/feature/add-pagination
FEATURE: Implement necessary logic to support PaginateViewHelper
2017-08-29 09:25:32 +02:00
040206c95d
FEATURE: Respect further root line cases
Respect the following situations during indexing:
- Page is not reachable due to broken root line.
- Page is not reachable due to being below a recycler.
2017-08-15 09:21:04 +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
17eb35a92b
FEATURE: Respect inherited start- and endtime for pages
Do not index records below tables that extend their start- or endtime to
their subpages are not accessible due to timing now.
2017-08-08 12:58:01 +02:00
49a56496c6
TASK: Fix codacy issues
Break line to not exceed maximum line length.
Use imported namespace to shorten line.
2017-08-08 11:54:32 +02:00
96cfa46056
Merge remote-tracking branch 'origin/develop' into feature/cms-8-support 2017-08-04 13:01:33 +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
da7692b502
TASK: Adjust code accordingly to pr 2017-07-27 16:31:37 +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
441ac7dd84 Merge pull request #59 from Codappix/feature/add-facet-keys
TASK: Add keys for better access to Facets
2017-07-27 14:28:37 +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
a737501dac
TASK: Update existing tests to work with new pages setup 2017-07-18 15:12:24 +02:00
1030e8d5cf
FEATURE: Make number of search results to fetch configurable 2017-07-18 10:44:39 +02:00
eafed7fb11
TASK: Add keys for better access to Facets 2017-07-18 09:27:46 +02:00
299ec3af5e
TASK: Add tests covering new pages indexing
Including content and search abstract.
2017-07-13 14:54:37 +02:00
2cd5debf97
BUGFIX: Fix broken getRecord method
Also add test covering method.
2017-07-07 16:44:57 +02:00
d61a86f8fe
TASK: Finish TYPO3 CMS 8 update 2017-07-07 16:16:49 +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
3d90bad58d
Merge remote-tracking branch 'origin/develop' into feature/cms-8-support 2017-07-07 11:58:15 +02:00
c58e13cdf6
TASK: Rename vendor
As we move it from private repo to codappix.
2017-07-06 23:48:47 +02:00
3e2e889e27
TASK: Add tests for new facets
Add functional test to test facet configuration including:
    - Mapping (indexing)
    - Searching (retrieving of facets)
    - Filter (already existed, now based on facet case sensitive)
2017-07-06 15:51:29 +02:00
c6a199a7a4
BUGFIX: Fix broken functional test 2017-07-06 14:13:26 +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
9d20524706
WIP|TASK: Use new TYPO3
Use testing framework configuration.
Use new db.
Begin with replacement of old TYPO3_DB.
2017-07-04 10:12:47 +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
4c7bc8b9f5
Merge branch 'feature/filter' into feature/restructure-configuration 2017-06-29 08:45:36 +02:00
3553c443e2
FEATURE: Adjust configuration structure
* To support further configuration, specific to identifiers / tables.
* E.g. mapping and boost configuration should be possible.
* Adjust docs and settings.
* Adjust tests and code.
2017-06-27 16:51:33 +02:00
18b7f2d8b1 Merge branch 'develop' into feature/filter 2017-06-27 15:02:25 +02:00
9a482381c0
TASK: Upgrade phpunit to latest stable 5.7
* To make use of new features.
* To reduce cost of later migrations.
* Migrate deprecated calls from lower TYPO3 api.
2017-06-13 15:36:56 +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
eba74ebb93
TASK: Make test work with TYPO3 7.x
* Do not overwrite base ts setup, keep it and add test specific.
* Adjust order of labels.
2017-05-11 12:50:31 +02:00
687ba8075d
TASK: Migrate RelationResolver to FormEngine
* Replace old implementation for TYPO3 6.x with new one for rewritten
  form engine in 7.x and up.
2017-05-11 12:39:56 +02:00
c68f853b63
BUGFIX: Resolve some mysql strict mode issues
* Adjust fixtures to be strict mode compatible.
* Adjust documentation to cover requirements for development.
* Notice that strict mode is not supported by TYPO3.
* Document how to handle tests against multiple TYPO3 versions.
2016-12-22 09:45:43 +01:00
467a181567 Merge pull request #37 from DanielSiepmann/feature/test-against-more-typo3-versions
FEATURE: Add further TYPO3 versions to travis tests
2016-12-20 12:20:04 +01:00
257b23d8e6 Merge pull request #38 from DanielSiepmann/feature/17-resolve-inline-relations
FEATURE: Resolve further relations
2016-12-20 12:19:03 +01:00
10fe5763e8
BUGFIX: Add missing fields
* Necessary in newer TYPO3 versions as no default value exists anymore
2016-12-20 12:12:26 +01:00
9bf2657318
FEATURE: Resolve further relations
* Resolve static select items
* Add test for further relation resolvings

Relates: #17
2016-12-20 11:49:02 +01:00
5989b65ae0
FEATURE: Split configuration to support the concepts
* Add a further level in configurations to support multiple connections
  and indexer.

Relates: #31
2016-12-20 10:04:44 +01:00
eaa23e77ce
CLEANUP: Refactor tests to save code
* Make data sets configurable.
* Refactor same setup to abstract parent.
2016-12-15 14:28:40 +01:00
03cc77f336
CLEANUP: Fix code style issues 2016-12-15 14:28:10 +01: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
499b9d0500
FEATURE: Add new configuration to blacklist records by root line
* Allow configuration through TypoScript to exclude records for indexing
  based on their root line position. Page uids can be configured for
  exclusion and all records beneath will be excluded while indexing.
2016-12-15 11:32:41 +01:00
203b70898b
TASK: Restructure tests
* As introduces through review, the tests are working and have huge code
  coverage, but don't test what they say. Therefore we reorder them in
  new structure, to have new tests in clean structure.
2016-12-15 11:31:48 +01:00
5ad99ad8f6
Merge remote-tracking branch 'origin/feature/integrate-elasticsearch' into feature/firstReview 2016-12-15 09:21: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