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
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
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
372cd48471
FEATURE: Allow to copy a single field with CopyToProcessor
2018-03-20 15:43:09 +01:00
8fe42789ba
Merge remote-tracking branch 'origin/develop' into feature/112-prevent-issue-with-non-uids
2018-03-20 14:18:00 +01:00
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
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
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
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
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
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
b2a63e9cb0
TASK: Make extension compatible with CMS 7.6
2018-03-13 20:34:56 +01:00
0122dd88e4
TASK: Fix call to non existing method
2018-03-13 12:19:54 +01:00
6d7199ccf2
TASK: Provide already used logger
...
As we use the logger, we should inject it.
2018-03-13 12:19:30 +01:00
9e80574361
TASK: Provide compatible TypoScriptService for both TYPO3 versions
2018-03-13 12:19:04 +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
09cd655a7a
TASK: Remove whitespace in return type annotation
2018-03-08 11:20:23 +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
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
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
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
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
fa2b11f276
Merge pull request #123 from Codappix/feature/118-dataprocessor-adapter
...
FEATURE: 118 dataprocessor adapter
2018-03-06 14:02:10 +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
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
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
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
c38f7b9d6a
TASK: Move configuration logic into own class
...
Also add tests for new code.
2017-10-29 13:44:17 +01:00
bf91c4a5ba
TASK: Allow fields and sorting to contain a condition
...
This way integrators can configure when the sorting and fields should be
added.
2017-10-29 12:25:25 +01:00
d937266bf5
Merge remote-tracking branch 'origin/develop' into feature/geo-search
2017-10-29 11:41:43 +01:00
86d02f7b8d
TASK: Allow integrators to use GET with minimal overhead
...
Allow to map search request even if no trusted properties exist.
Also cache initial call to plugin.
This allows to use GET as submit for forms with minimal arguments in
URL.
2017-10-26 10:05:32 +02:00
07a4fec622
WIP|FEATURE: Allow fields and sorting to be configurable
2017-10-23 16:35:38 +02:00
b1f81c0d3b
WIP|FEATURE: Add field and sorting
...
Sort result by distance and provide distance to result items.
2017-10-22 17:51:04 +02:00
8d343ee97f
FEATURE: Finish filter configuration for geo_search
2017-10-22 17:34:48 +02:00
636ef78a14
WIP|TASK: Remove sort and add filter
...
As we filter for distance and do not sort.
2017-10-22 11:23:28 +02:00
e1764dca13
FEATURE: Add GeoPoint Processor
...
Document data processors.
Add test for new data processor.
2017-10-20 16:36:26 +02:00
3f1c3db2a2
Merge remote-tracking branch 'origin/develop' into feature/geo-search
...
Conflicts:
Classes/DataProcessing/ProcessorInterface.php
Classes/Domain/Index/TcaIndexer/TcaTableService.php
2017-10-20 09:20:04 +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
fafa919f37
WIP|FEATURE: Basic hardcoded implementation
2017-09-16 20:50:03 +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
4de1828905
FIX: Fix phpcs issues with annotations
2017-09-15 21:36:52 +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
b31f315ec4
BUGFIX: Allow iteration / pagination of result items
...
Implement necessary logic based on mapped result items, not elastica
result items.
2017-09-06 22:45:17 +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
efc2fb7da6
BUGFIX: Remove pr issue
2017-08-25 11:46:46 +02:00
3bb875d99a
Merge pull request #81 from Codappix/feature/support-timing-inheritance-for-pages
...
FEATURE: Respect inherited start- and endtime for pages
2017-08-25 11:44:20 +02:00
fe754964fe
BUGFIX: Fetch record to update
2017-08-21 12:10:34 +02:00
9617733826
BUGFIX: Fix accessing non existing property
2017-08-15 09:36:25 +02:00
8b28d5eda6
Merge remote-tracking branch 'origin/develop' into feature/cms-8-support
...
Conflicts:
Configuration/TypoScript/constants.txt
2017-08-15 09:35:05 +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
f311357d0e
TASK: Fix indentation
2017-08-15 08:30:49 +02:00
bd8ed737e2
Merge remote-tracking branch 'origin/develop' into feature/add-pagination
...
Conflicts:
Classes/Domain/Search/QueryFactory.php
2017-08-15 08:29:48 +02:00