Skip to main content

shopinvader app for e-commerce business

 Shopinvader app for e-commerce business


Steps:


Install elasticsearch docker image

Install Odoo 16


clone these repositories from OCA in GitHub:

connector
queue
rest-framework
sale-workflow
search-engine
server-env
server-tools
sale-channel
web-api
reporting-engine
server-auth
product-attribute
delivery-carrier
sale-promotion
brand
storage
e-commerce


clone these repositories from shopinvader in GitHub:

shopinvader
odoo-shopinvader-carrier
odoo-shopinvader-payment

add these directories in the odoo config. file


create config index record for products with a value for Body Str:

{"settings": {"analysis": {"char_filter": {"replace": {"type": "mapping", "mappings": ["&=> and "]}}, "filter": {"word_delimiter": {"type": "word_delimiter", "split_on_numerics": false, "split_on_case_change": true, "generate_word_parts": true, "generate_number_parts": true, "catenate_all": true, "preserve_original": true, "catenate_numbers": true}}, "analyzer": {"default": {"type": "custom", "char_filter": ["html_strip", "replace"], "tokenizer": "whitespace", "filter": ["lowercase", "word_delimiter"]}}, "index": {"sort.field": ["main", "id"], "sort.order": ["desc", "asc"]}}}, "mappings": {"properties": {"hierarchicalCategories": {"type": "nested", "properties": {"ancestors": {"type": "keyword"}, "order": {"type": "integer"}, "value": {"type": "keyword"}, "level": {"type": "integer"}}}, "url_key": {"type": "keyword"}, "variant_attributes": {"properties": {"color": {"type": "text", "fielddata": true}}}, "main": {"type": "boolean"}, "id": {"type": "integer"}, "redirect_url_key": {"type": "keyword"}}}}

create config index record for categories with a value for Body Str:

{"settings": {"index": {"sort.field": ["id"], "sort.order": ["asc"]}}, "mappings": {"properties": {"url_key": {"type": "keyword"}, "redirect_url_key": {"type": "keyword"}, "id": {"type": "integer"}}}}

create search engine record and test it


create a sale channel and connect it with search engine


add the channel to the products and categories that you like


reindex the search engine


test fetching in the elasticsearch by running this command:


 curl -u elastic:your_elastic_password -X GET "http://localhost:9200/_cat/indices?v"


Comments

Popular posts from this blog

Highlights on my contributions to Odoo Community Association

 Highlights on my contributions to Odoo Community Association For me as a developer working on odoo community and providing services to the customers using the community version of Odoo. Sometimes the solution is available in a module published by OCA that could be an older version of Odoo. As a result, I decided to put my upgraded modules on their repositories as a contributor, and I asked to join them on the mailing list. For them, before I start to make a pull request, I need to sign their ICLA document. ICLA means Odoo Community Association Individual Contributor License Agreement. To upgrade a module to version 17.0 I had to follow the instructions stated on: https://github.com/OCA/maintainer-tools/wiki/Migration-to-version-17.0 Firstly this section: https://github.com/OCA/maintainer-tools/wiki/Migration-to-version-17.0#before-migrating Which needs you to: (1)      Subscribe to OCA mailing list (2)     Sign ICLA as stated above (3)     I...

How to dynamically load a JS file in JavaScript

How to dynamically load a JS file in JavaScript   https://www.educative.io/answers/how-to-dynamically-load-a-js-file-in-javascript function  loadJS ( FILE_URL ,   async   =   true )   {    let  scriptEle  =  document . createElement ( "script" );   scriptEle . setAttribute ( "src" ,   FILE_URL );   scriptEle . setAttribute ( "type" ,   "text/javascript" );   scriptEle . setAttribute ( "async" ,   async );   document . body . appendChild ( scriptEle );    // success event    scriptEle . addEventListener ( "load" ,   ()   =>   {     console . log ( "File loaded" )    });     // error event   scriptEle . addEventListener ( "error" ,   ( ev )   =>   {     console . log ( "Error on loading file" ,  ev ); ...

Create mail alias in odoo

 Create a mail alias in odoo  to solve that error: Explainn in log "create an appopriate mail.alias or force the destination model" Settings  >  Email  >  Aliases  >  add alias email to your domain name Settings >Technical > System Parameters > key: mail.bounce.alias, value: bounce Settings >Technical > System Parameters > key: mail.catchall.alias, value: catchall Settings >Technical > System Parameters > key: mail.catchall.domain, value: example.com