From 73d61bd7d4812d4ba5a94c8356ad56656972ca77 Mon Sep 17 00:00:00 2001 From: Daniel Siepmann Date: Sun, 30 Dec 2018 15:03:10 +0100 Subject: [PATCH] FEATURE: Provide more information about concept --- Documentation/source/concepts.rst | 10 +++++++++- Documentation/source/features.rst | 10 ++++++++++ Documentation/source/readme.rst | 30 ++++++++++++++++++------------ 3 files changed, 37 insertions(+), 13 deletions(-) diff --git a/Documentation/source/concepts.rst b/Documentation/source/concepts.rst index f81121b..d203f87 100644 --- a/Documentation/source/concepts.rst +++ b/Documentation/source/concepts.rst @@ -4,7 +4,8 @@ Concepts ======== The main concept is to provide a foundation where other developers can profit from, to provide -integrations into search services like Elasticsearch, Algolia, ... . +integrations into search services like Elasticsearch, Algolia, …. But also to provide +an ETL Framework. Our code contains the following concepts which should be understand: @@ -18,6 +19,9 @@ interfaces. The main purpose is to provide a stable API between TYPO3 and concre For information about implementing a new connection, take a look at :ref:`development_connection`. +These are equivalent to "Load" of ETL while "indexing", and equivalent to +"Extraction" in frontend mode. + .. _concepts_indexing: Indexing @@ -31,6 +35,8 @@ Currently :ref:`TcaIndexer` and :ref:`PagesIndexer` are provided. For information about implementing a new indexer, take a look at :ref:`development_indexer`. +This is the process of "loading" data inside the ETL. + .. _concepts_dataprocessing: DataProcessing @@ -47,3 +53,5 @@ flexible as integrators are able to configure DataProcessors and change their or Configuration is done through TypoScript, see :ref:`dataprocessors`. For information about implementing a new DataProcessor, take a look at :ref:`development_dataprocessor`. + +This is the "transforming" step of ETL. diff --git a/Documentation/source/features.rst b/Documentation/source/features.rst index 57014bd..1cb5a66 100644 --- a/Documentation/source/features.rst +++ b/Documentation/source/features.rst @@ -46,6 +46,16 @@ output. See :ref:`concepts_dataprocessing` in :ref:`concepts` section. +.. _feature_up_to_you: + +Up to you +--------- + +The following is not provided by default, but possible with custom PHP code: + +* Integrating Social Media Feed imports via custom indexer to display feed content + inside of TYPO3 or publishing via custom connections. + .. _features_planned: Planned diff --git a/Documentation/source/readme.rst b/Documentation/source/readme.rst index f4ad917..6f26c43 100644 --- a/Documentation/source/readme.rst +++ b/Documentation/source/readme.rst @@ -7,22 +7,28 @@ Introduction What does it do? ---------------- -The goal of this extension is to provide search integrations into TYPO3 CMS. The extension will -provide a convenient API to allow developers to provide concrete implementations of backends like -Elasticsearch, Algolia or Solr. +Contrary to most search solutions, search_core is an ETL (=Extract, Transform, Load) +Framework. This allows to extract data from one source, transform it, and load them +into an target system. Focusing on search solutions, but not limited to them. -The extension provides integration into TYPO3 like a frontend plugin for searches and hooks to -update search indexes on updates. Also a command line interface is provided for interactions like -re-indexing. +The provided process is to extract data from TYPO3 database storage using TCA, to +transform those data using data processors, and to load them into some search +storage like Elasticsearch. This is done via Hooks and CLI. + +Also the process is to extract data from some storage like Elasticsearch, transform +the data using data processors and to load them into the TYPO3 frontend. This is done +via a Frontend Plugin. Current state ------------- -This is still a very early beta version. More information can be taken from Github at -`current issues`_. +The basic necessary features are already implemented. Still features like workspaces +or multi language are not provided out of the box. -We are also focusing on Code Quality and Testing through `travis ci`_, ``phpcs``, ``phpunit`` and -``phpstan``. +Also only Elasticsearch is provided out of the box as a storage backend. But an +implementation for Algolia is already available via 3rd Party: +https://github.com/martinhummer/search_algolia -.. _current issues: https://github.com/Codappix/search_core/issues -.. _travis ci: https://travis-ci.org/Codappix/search_core +As the initial intend was to provide a common API and implementation for arbitrary +search implementations for TYPO3, the API is not fully implemented for ETL right now. +Also that's the reason for using "search_core" as extension name.