Coder Social home page Coder Social logo

oxidconnectorbundle's Introduction

OXID Connector Bundle

Warning

This bundle is work in progress in preview stage. Codebase will change rapidly with BC breaking features.

Introduction

ONGR OXIDConnector Bundle is responsible for transforming data taken from OXID database into Elasticsearch format.

https://travis-ci.org/ongr-io/OXIDConnectorBundle.svg?branch=master https://scrutinizer-ci.com/g/ongr-io/OXIDConnectorBundle/badges/quality-score.png?b=master https://scrutinizer-ci.com/g/ongr-io/OXIDConnectorBundle/badges/coverage.png?b=master https://insight.sensiolabs.com/projects/441670d4-20c2-4adc-b502-346b5143e973/mini.png

License

This bundle is under the MIT license. Please, see the complete license in the bundle LICENSE file.

oxidconnectorbundle's People

Contributors

andriusbil avatar ddpkts avatar gimikus avatar grandltu avatar gyka avatar lauriis2 avatar linasmo avatar lmikelionis avatar saimaz avatar tautrimas avatar trylika avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

oxidconnectorbundle's Issues

[doc] ES manager in installation guide

In installation guide "oxid" es manager is used, but not fully documented its configuration. Should be documented fully or changed to default manager, to make installation easier.

Documentation lacks introduction

Despite the name talks for itself, I think only installation guide is not enough. IMO at least one sentence about what this bundle does would be nice for introduction.

Add lang documentation

We need to analyze if we can set up multilanguage shops in oxid connector and write documentation for it.

Migrations seems not to be sane

hi,

i am followed the bundle with the purpose to see other connections to oxid than my own, that we created the last weeks. So i wanted to have a look into the migration. At the first view the mapping on the database cols seems to be very cool and easy, but it isn't oxid has got a lot of logic in their objects, that manipulates them. So you can't see the database tables as the entities you can work with. I will give you two examples:

Price calculation

You won't ever see the value of OXPRICE in the frontend. The value is manipulated depending on several shop settings (net/brut view, payment rules)

Translated text - Title of a product

Your mapping will work for shops with one base language. Oxid generates the translations by adding an extra col to the database table like title_1, title_2, ... So you won't be able to map the right col in your entity for the migration.

I would see two different solutions. Both base on the situation, that you need Oxid the oxid logic (means the shop it self) in between.

  1. Create a SDK
    That means the Connector would just define some interfaces and services to to update the Ongr values. So the oxid shop devs would create its own module with its own logic to connect to Ongr. They would just extend the oxArticle 's save()/delete() method and create their own mapping to the document you persist. Mostly the devs would same methods/mechanism that oxid is calling when creating the values for the frontend.
  2. Implementing that Connector and bootstrapping parts of the shop ...
    ... to call its own logic while fetching the values from the objects.

Even when i would mean to create an other package/module, i would prefere the first solution.

Bundle has a lot of unused configurations.

Seems like most of things defined here are not used anywhere

ongr_oxid:
    database_mapping:
        oxid:
            tags:
                @shop_tag: '_1'
                @lang_tag: '_1_en'
            shop_id: 0
            lang_id: 0
    entity_namespace: ONGROXIDConnectorBundle

Add overall test for data import process

Test whole process:

  • add data to the database
  • run pipeline to collect data in sync. storage
  • run pipeline to import data into elastic search
  • test results from elastic search

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.