Skip to content
This repository has been archived by the owner on Mar 20, 2024. It is now read-only.

[FEATURE] Elastic 6.x support #167

Open
wants to merge 75 commits into
base: develop
Choose a base branch
from

Conversation

bmoex
Copy link

@bmoex bmoex commented Oct 26, 2018

  • Removed multiple documents from indexation
  • Added specific deletion from same index
  • Bugfixed the Generator loop when loop was not finished but has no results in the 50 items
  • Added a new Functional test for deleteDocuments
  • Added typolink to indexation
  • Seperated form & list plugin for flexible usage
  • Added frontend access lookup for searching in hidden/public pages

Justus Moroni and others added 18 commits September 27, 2018 17:36
+ Updated version pointer
+ Replaces deprecated ArrayUtility for Core utility
Multiple types are not allowed any more in ES6. Refactored to use document type and custom
identifier to still create different 'types'.

See: https://www.elastic.co/guide/en/elasticsearch/reference/6.x/removal-of-types.html
@bmoex bmoex changed the base branch from master to develop October 26, 2018 08:39
@DanielSiepmann DanielSiepmann self-requested a review October 26, 2018 08:42
@DanielSiepmann DanielSiepmann self-assigned this Oct 26, 2018
@DanielSiepmann
Copy link
Contributor

Thanks for this amazing work @bmoex. Can you check the broken tests and fix them?

I need to check when I've time to review all these changes.

@bmoex bmoex force-pushed the feature/elastic-upgrade branch from 672c21e to 7b5a003 Compare October 26, 2018 12:04
Otherwise user input is saved and re displayed to foreign visitors.

If someone is in need for an cached version, he can create a plugin
inside his sitepackage with a different plugin signature but same
action.

If that does not work, we might add another action for caching.

Also keep old action name to be non breaking.
As this didn't work on first use. Also no tests are available for this
feature yet.

As we remove the whole feature in a single commit, we can revert this
commit later. This way we can upgrade Elasticsearch and provide this
feature later on.
Use latest stable 6.x releases, for elasticsearch and used library.
* Add missing throws annotation.
* Remove useless comments.
* Import namespaces used in comments.
With V6 of elasticsearch the meaning / handling of index and type has
changed, and it will change further in the future.

We therefore move code to own classes and adjust / refactor calling
code.
* Do not use variable, instead provide result to method call.
* Do not provide public method which is not part of API. Otherwise one
  might use it in custom PHP code and switch connection later on. Then the
  method call will no longer work.
As we have the same flow in some more places, we refactor this part to
follow this conventions.
Do not provide unnecessary Constants or Setup.

Fluid paths are there out of the box and integrators have all freedom
without the provided constants.
@DanielSiepmann DanielSiepmann force-pushed the feature/elastic-upgrade branch from 8c862bc to 5662a06 Compare December 29, 2018 17:48
* Add some missing documentation.
* Adjust some documentation due to breaking changes.
* Adjust structure of documentation for easier changelog rendering and
  browsing.
Otherwise the interface is no big benefit. Also it might crash under
some circumstances.
We replace the "flush" and "delete" by "delete" and "deletedocuments"
logic. This makes it more obvious what will happen, without reading the
docs.

Also we kept the logic to always provide the index name, as
we will need them in the future. Due to elasticsearch v6 changes no
types are allowed in the same index in the future. Therefore we need to
make it possible to use different indexes in the future, leading to the
need to provide the document type all the time.
@DanielSiepmann DanielSiepmann force-pushed the feature/elastic-upgrade branch from 5662a06 to 689f293 Compare December 30, 2018 12:46
Instead of only adding a new class for one static method, we extend the
existing class to only import a single class.

This way we extend the original array utility function collection.
E.g. use statement and injected object manager.
As it does not use TYPO3 caching framework but custom feature.
@DanielSiepmann
Copy link
Contributor

@bmoex I've updated the code and documentation.
I've also tested the current state with one of our projects.

Would you like to test my changes with your project and provide feedback? There were some changes that might need updates in your project.

DanielSiepmann
DanielSiepmann previously approved these changes Dec 30, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants