Server-tools: [RFC] base_elasticsearch

์— ๋งŒ๋“  2016๋…„ 12์›” 02์ผ  ยท  20์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: OCA/server-tools

์ด ๋ชจ๋“ˆ์€ elasticsearch-py ๋ชจ๋“ˆ์„ ํ†ตํ•ด Elasticsearch ํด๋Ÿฌ์Šคํ„ฐ ๋ฐ ๊ธฐ๋ณธ ๋…ธ๋“œ์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ชจ๋“ˆ์˜ ์š”๊ตฌ ์‚ฌํ•ญ์€ connector ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์‚ฌ์šฉ์„ ๋ฐฐ์ œํ•˜๋Š” LGPL ๋ผ์ด์„ ์Šค์ž…๋‹ˆ๋‹ค.

Elasticsearch ์ธ๋ฑ์Šค ๋ฐ ๋ฌธ์„œ์—์„œ CRUD๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ชฉํ‘œ๋Š” ์ด ๋ชจ๋“ˆ์˜ ์ผ๋ถ€๋กœ Odoo ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํด๋Ÿฌ์Šคํ„ฐ ์—ฐ๊ฒฐ ๋ฐ์ดํ„ฐ ๋ฐ ๋…ธ๋“œ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ์™ธ์—๋Š” ์•„๋ฌด๊ฒƒ๋„ ์ง€์†ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•„ํ‚คํ…์ฒ˜ ์ œํ•œ ์‚ฌํ•ญ์— ๋”ฐ๋ผ ์ธ๋ฑ์Šค์™€ ๋ฌธ์„œ ์œ ํ˜•์„ ์ €์žฅํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ TransientModel์— ์ €์žฅํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ œ๊ณต๋˜๋Š” ์œ ์ผํ•œ ๋ณด๊ธฐ๋Š” ํด๋Ÿฌ์Šคํ„ฐ/๋…ธ๋“œ ๋ฉ”ํƒ€์˜ ์„ค์ • ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Odoo Recordset์„ ๋งค๋„๋Ÿฝ๊ฒŒ ์—๋ฎฌ๋ ˆ์ด์…˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ์ข‹๊ฒ ์ง€๋งŒ Elasticsearch ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š๊ณ  ๋ง์ด์ฃ . ์ด๊ฒƒ์€ ์ผ๋ถ€ ์ฐฝ์˜์ ์ธ ๋ฉ”์„œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ์œผ๋กœ ๊ฐ€๋Šฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Recordset ์—๋ฎฌ๋ ˆ์ด์…˜์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ์ถ”์ƒ ๋ฌธ์„œ ๋ณด๊ธฐ๊ฐ€ ์ œ๊ณต๋˜๋Š” ๊ฒƒ๋„ ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ผญ ํ•„์š”ํ•œ ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ Odoo๊ฐ€ ์œ„๊ธฐ์— ์ฒ˜ํ–ˆ์„ ๋•Œ Elastic ๊ฒฐ๊ณผ๋ฅผ ์ง์ ‘ ์ฟผ๋ฆฌํ•˜๊ณ  ๋ณด๋Š” ๊ฒƒ์ด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ด์™€ ๊ฐ™์€ ๊ฒƒ์„ ์ถ”๊ตฌํ–ˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ์ž„์‹œ ์ €์žฅ์†Œ๋งŒ ์‚ฌ์šฉํ•˜์—ฌ Recordset์„ ์›ํ™œํ•˜๊ฒŒ ์—๋ฎฌ๋ ˆ์ดํŠธํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จํ•˜์—ฌ์š”?

question

๋ชจ๋“  20 ๋Œ“๊ธ€

์•ˆ๋…•ํ•˜์„ธ์š” @lasley at Akretion ์šฐ๋ฆฌ๋Š” ์•„๋งˆ๋„ ๋‹น์‹ ์ด ํ•„์š”๋กœ ํ•˜๋Š” ๊ฒƒ์„ ์‹œ์ž‘ํ–ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค:
https://github.com/akretion/connector-nosql
solr ๋ถ„๊ธฐ๋„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. https://github.com/akretion/connector-nosql/tree/9.0-solr
cc @sebastienbeau
์ด ์ž‘์—…์„ ํ•จ๊ป˜ ํ•ด์ฃผ์„ธ์š”. ์šฐ๋ฆฌ๋Š” ์ด๋ฏธ Odoo๋ฅผ Solr ๋ฐ Algolia NoSQL ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ์™€ ํ†ตํ•ฉํ•œ ๊ฒฝํ—˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ข‹์€, ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค @rvalyi - ์ •๋ง๋กœ ๋‹น์‹ ์ด ๋‚ด๊ฐ€ ํ•„์š”ํ•œ ๊ฒƒ์„ ์‹œ์ž‘ํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ถˆํ–‰ํžˆ๋„ ๋‚ด ํ”„๋กœ์ ํŠธ์˜ ์š”๊ตฌ ์‚ฌํ•ญ ์ค‘ ํ•˜๋‚˜๋Š” LGPL์ด์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚˜์ค‘์— RFC์—์„œ ์–ธ๊ธ‰ํ–ˆ์–ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค(ํฌํ•จํ•˜๋„๋ก ํŽธ์ง‘๋จ). LGPL ์š”๊ตฌ ์‚ฌํ•ญ์€ connector ์˜ ์‚ฌ์šฉ์„ ๋ฐฐ์ œํ•˜๊ณ  ์ด ๋…ผ๋ฆฌ๋ฅผ base_external_dbsource ํฌํ•จํ•˜๋Š” ๊ฒƒ๋„ ๋ฐฐ์ œํ•ฉ๋‹ˆ๋‹ค. ์ด ์š”๊ตฌ ์‚ฌํ•ญ์€ ์ด ๋ชจ๋“ˆ์„ ํ•ต์‹ฌ SaaS ์ฒญ๊ตฌ ์ธํ”„๋ผ์˜ ์ผ๋ถ€๋กœ ์‚ฌ์šฉํ•  ๊ณ„ํš ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—์„œ ๋งŽ์€ ๋‚ด๋ณด๋‚ด๊ธฐ ๋…ผ๋ฆฌ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ธฐ ์œ„ํ•œ ๊ฒƒ์€ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ ํ‰๊ฐ€์—์„œ ๋‚ด๊ฐ€ ์˜ณ์Šต๋‹ˆ๊นŒ?

Odoo์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ด์•ผ ํ•˜๋Š” ํ•„์š”์„ฑ์„ ์–ด๋–ป๊ฒŒ ์šฐํšŒํ–ˆ์Šต๋‹ˆ๊นŒ?

@lasley ์ €๋Š” base_external_dbsource ๋…ผ๋ฆฌ์˜ ์ €์ž์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ์—ญ์‚ฌ๋ฅผ ๋ณด์•˜๊ณ  ์œ ์ผํ•œ ๋‹ค๋ฅธ ๋…์ฐฝ์  ์ธ ๊ธฐ์—ฌ๋Š” Firebird DB ์—ฐ๊ฒฐ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ค‘์š”ํ•˜๋‹ค๋ฉด ํ•ด๋‹น ๋ชจ๋“ˆ์„ LGPL๋กœ ์žฌ๋ผ์ด์„ผ์Šคํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์‚ฌ์‹ค, ๊ทธ๊ฒƒ๋“ค์€ ๋‹จ์ง€ ๊ธฐ์ˆ ์ ์ธ ๋„๊ตฌ์ด๊ธฐ ๋•Œ๋ฌธ์—, ๋‚˜๋Š” server-tools repo๊ฐ€ โ€‹โ€‹๊ฐ€๋Šฅํ•œ ํ•œ ๋งŽ์€ LGPL์ด ๋˜๋Š” ๋ฌธ์ œ๋ฅผ ๋ณด์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@dreispt - ์žฌ๋ผ์ด์„ผ์Šค์— ๋Šฅ์ˆ™ํ•˜๋‹ค๋ฉด ๊ธฐ์กด ๋ชจ๋“ˆ์— ๋กœ์ง์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด ๊ธฐ๋ฐ˜์„ ๋ฉ”ํŠธ๋ฆญ ์ˆ˜์ง‘ ๋ฐ ๋‚ด SaaS ์ œํ’ˆ์˜ ํ›„์† ์ฒญ๊ตฌ์— ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋ฏ€๋กœ AGPL์ด ์—ฌ๊ธฐ์— ์นจํˆฌํ•˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์€ ์ ˆ๋Œ€์ ์ธ ์ฐจ๋‹จ์ž…๋‹ˆ๋‹ค.

์ฒ˜์Œ์—๋Š” ๊ฐ„๋‹จํ•œ Elastic ์—ฐ๊ฒฐ๋งŒ ์žˆ์œผ๋ฉด ์ถฉ๋ถ„ํ•˜๋ฏ€๋กœ base_external_dbsource ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ conn_open ๋ฐ execute ๋‚ด๋ถ€์˜ if ์ฒด์ธ์„ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด ์•ฝ๊ฐ„ ๋ฆฌํŒฉํ† ๋งํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์ฒด์ธ์€ ๋” โ€‹โ€‹๋งŽ์€ ์†Œ์Šค๊ฐ€ ์ถ”๊ฐ€๋˜๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ์ปค์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

NoSQL์€ ์ฟผ๋ฆฌ ์ธก๋ฉด์—์„œ ์•ฝ๊ฐ„ ๋‹ค๋ฅด์ง€๋งŒ ์•ฝ๊ฐ„์˜ ์ฐฝ์˜์ ์ธ ์ ์‘์œผ๋กœ execute ์ธํ„ฐํŽ˜์ด์Šค์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@lasley ์•Œ์•˜์–ด. ๋ฒ„์ „์—์„œ ์ด์‹ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ๋ชจ๋“  ๊ธฐ์—ฌ๋ฅผ ์กด์ค‘ํ•˜๊ธฐ ์œ„ํ•ด ๋ฌธ์ œ๋ฅผ ์—ด์–ด ๋ผ์ด์„ ์Šค ๋ณ€๊ฒฝ์„ ์ œ์•ˆํ•˜๊ณ  ๋…ผ์˜ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  Firebird์™€ ๊ฐ™์€ ์ถ”๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ ๋ชจ๋“ˆ๋กœ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“ˆ์„ "ํ”Œ๋Ÿฌ๊ทธ ๊ฐ€๋Šฅ"ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@dreispt ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

pluggable - ๋ฌด์—‡์„ ์—ผ๋‘์— ๋‘์…จ์Šต๋‹ˆ๊นŒ? ๋‚ด ๊ณ„ํš๋œ ๋ฆฌํŒฉํ† ๋ง์€ ์‹ค์ œ๋กœ ๋‘ ๊ฐœ์˜ ๊ฑฐ๋Œ€ํ•œ if ์‚ฌ์Šฌ์„ ๊นจ๋œจ๋ฆฌ๋Š” ๊ฒƒ์ด์—ˆ์ง€๋งŒ ๋‚ด ๊ฐœ๋ฐœ ํŒ์— ์žˆ๋Š” ๋™์•ˆ ๋‹ค๋ฅธ ๊ฐœ์„  ์‚ฌํ•ญ์— ๋Œ€ํ•ด ์—ด๋ ค ์žˆ์Šต๋‹ˆ๋‹ค.

@lasley ๋‹ค๋ฅธ ๋ชจ๋“ˆ๋กœ ์‰ฝ๊ฒŒ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ํ™•์žฅ ๋ชจ๋“ˆ์„ ํ†ตํ•ด ์ถ”๊ฐ€ db ์ง€์›์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@dreispt ์•„

๋ชจ๋“  ๋…๋ฆฝ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์†Œ์Šค๋ฅผ ์ž์ฒด ๋ชจ๋“ˆ๋กœ ์ œ๊ฑฐํ•  ์ƒ๊ฐ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์ƒ๋‹จ์— ์žˆ๋Š” ์ด ์‹œ๋„/์ œ์™ธ ํ•ญ๋ชฉ์ด ๋‹ค์†Œ ๋‹ค๋ฃจ๊ธฐ ํž˜๋“  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋™์˜ํ•˜์‹ญ๋‹ˆ๊นŒ? ์ด๊ฒƒ์€ ํ˜„์žฌ ์†”๋ฃจ์…˜ ์ด์ง€๋งŒ ์—ฌ์ „ํžˆ ๊ฐœ์„ ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์•ˆ์ •์ ์ธ ๋ฆด๋ฆฌ์Šค ๋•Œ๋ฌธ์— v11๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด ๊ต์ฒด ๋ชจ๋“ˆ๊ณผ ํ•จ๊ป˜ ์ถœ์‹œํ•ด๋„ ๋ฉ๋‹ˆ๊นŒ?

๋˜ํ•œ ๊ธฐ๋ณธ CRUD ์œ ํ˜• ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์ง์ ‘ SQL์—์„œ ๋ฒ—์–ด๋‚˜๋Š” ๊ฒƒ์„ ์ƒ๊ฐํ•  ์ˆ˜๋„ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

IMO ํ™•์žฅ ๋ชจ๋“ˆ์ด ์ผ๋ฐ˜์ ์ธ ์ƒ๊ฐ์„ ํ•˜๋Š” ๊ฒƒ์ด ๋” ๊นจ๋—ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. base.external.dbsource ๋ชจ๋ธ์„ ์ƒ์†ํ•˜์—ฌ ๊ธฐ๋Šฅ๊ณผ ๋ชจ๋ธ์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด ๋ฒ„์ „์ด๊ธฐ ๋•Œ๋ฌธ์— 10.0์— ๋Œ€ํ•œ db ๊ณต๊ธ‰์ž๋ฅผ ์ถ”์ถœํ•˜๋Š” ๊ฒƒ์ด ํ•ฉ๋ฆฌ์ ์ด์ง€๋งŒ 9.0์—๋Š” ํ•ฉ๋ฆฌ์ ์ด์ง€ ์•Š์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์—…๋ฐ์ดํŠธํ•˜๋ฉด ๊ธฐ์กด ์„ค์น˜๊ฐ€ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค.

10.0์€ ์ด๋ฏธ ๋ฆด๋ฆฌ์Šค๋˜์—ˆ์œผ๋ฉฐ 1:1 ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ์•ˆ์ •์ ์ธ ์ถœ์‹œ ์ •์ฑ…์„ ์ค€์ˆ˜ํ•˜๋ ค๋ฉด 11์‹œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•  ๊ฒƒ ๊ฐ™์€๋ฐ์š”?

์—„๋ฐ€ํžˆ ๋งํ•˜๋ฉด ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค.
์ฆ‰, ํ˜„์žฌ ๋ชจ๋“ˆ์—์„œ ๊ธฐ๋Šฅ์„ ์ œ๊ฑฐํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

์ƒˆ ๋ชจ๋“ˆ์„ ๋” ๋‚ฎ์€ ๋ฒ„์ „์—์„œ ์ž๋™ ์„ค์น˜ํ•˜๋„๋ก ํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ๋‚ด๊ฐ€ ์—ฌ๊ธฐ์— ์žˆ๋Š” ๋™์•ˆ ๊ฒฉ๋ฆฌ๋ฅผ ํ—ˆ์šฉํ•˜๊ณ  ๋‚˜์ค‘์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์Šค์œ„์น˜๋ฅผ ์‰ฝ๊ฒŒ ๋Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์™ธ๋ถ€ ๋Œ€๋ฉด API๋Š” ๋™์ผํ•˜๋ฏ€๋กœ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์„ ๊ฒƒ ๊ฐ™์€๋ฐ์š”?

@lasley ์˜ˆ, ์ข‹์€ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”,

@lasley https://github.com/camptocamp/odoo-elasticsearch-kibana ๋ฅผ ๋ณด๊ณ  ์‹ถ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์•ˆ ์ธ์‚ฌ,

์กฐ์—˜

์œ„์—์„œ @jgrandguillaume์ด ๋ณด์—ฌ์ค€ ๊ฒƒ์— ์ด์–ด ๋ณด๊ณ  ๋ชจ๋ธ์„ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด https://github.com/OCA/reporting-engine/tree/8.0/bi_view_editor ์™€ ๊ฐ™์€ ๋„๊ตฌ๊ฐ€ ์žˆ์œผ๋ฉด ์ข‹์„ ๊ฒƒ์ด๋ผ๊ณ  ๊ทธ์™€ ๋…ผ์˜ํ–ˆ์Šต๋‹ˆ๋‹ค. Odoo์—์„œ ์ด ๋ชจ๋ธ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ElasticSearch๋กœ ๋‚ด๋ณด๋‚ด ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ์†Œ์Šค์™€ ๊ฒฐํ•ฉํ•œ ๋‹ค์Œ Kibana๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณด๊ณ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ @lasley ๊ฐ€ ์ด RFC์—์„œ

๋‘ ๊ฐ€์ง€ ๋ฉด์—์„œ ๋ชจ๋‘ ํฅ๋ฏธ๋กญ์Šต๋‹ˆ๋‹ค. @jgrandguillaume & @jbeficent์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

odoo-elasticsearch-kibana ๋Œ€ํ•œ ๋ชจ๋“ˆ ์ข…์†์„ฑ์œผ๋กœ ์—ฐ๊ฒฐ๋œ sql_view ์˜ ์—…๊ทธ๋ ˆ์ด๋“œ๋œ ํ˜•ํƒœ๋ฅผ @jbeficent ๊ฐ€ ์—ฐ๊ฒฐํ•œ bi_view_editor odoo-elasticsearch-kibana ์ž…๋‹ˆ๊นŒ?

๋‚˜๋Š” ์ด RFC์— ์ผ์ข…์˜ ๋‹ค๋ชฉ์  ์˜๋„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์š” ๋ชฉ์ ์€ ์—ฐ๊ฒฐ๋œ ๋‘ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ๊ฒƒ๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ Odoo์—์„œ ํ†ต๊ณ„๋ฅผ ๋‚ด๋ณด๋‚ด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์กฐ๊ธˆ ๋” ๋‚ด๋ ค๊ฐ€๋ฉด ์ผ๋ถ€ ๋ฐ์ดํ„ฐ ๊ฒฝ๋กœ๋ฅผ ๋ฐ˜๋Œ€๋กœ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Kibana๋Š” ์ €์—๊ฒŒ ํ›Œ๋ฅญํ•œ ์‹œ๊ฐํ™” ๋„๊ตฌ์ด์ง€๋งŒ ํด๋ผ์ด์–ธํŠธ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ํ†ตํ•œ ์ง์ ‘ ๋ณด๊ณ ๋ฅผ ์œ„ํ•ด Odoo์—์„œ ์ผ๋ถ€ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๊ตฌ์ถ•ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@lasley ์—ฌ๊ธฐ์—์„œ https://github.com/OCA/reporting-engine/tree/8.0/bi_view_editor. ํ˜„์žฌ odoo-elasticsearch-kibana ๋Œ€ํ•œ ์ข…์†์„ฑ์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๊ณ  ๋ชฉ์ ์œผ๋กœ Odoo ๋ชจ๋ธ์„ ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. sql_view๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ ๊ถŒํ•œ์€ ์‚ฌ์šฉ์ž์—๊ฒŒ ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋˜ํ•œ Odoo์—์„œ ํ†ต๊ณ„๋ฅผ ๋‚ด๋ณด๋‚ด๊ณ ์ž ํ•˜๋ฉฐ ๋ชฉํ‘œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ Odoo์—์„œ ๋‚ด๋ณด๋‚ด๊ณ  ์‹ถ์€ ํ†ต๊ณ„๋ฅผ ๋””์ž์ธํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ–๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์—ญ๋ฐฉํ–ฅ ๊ฒฝ๋กœ๋„ ์ข‹์Šต๋‹ˆ๋‹ค.

@jbeficent - ์ •๋ง

๋‚ด๊ฐ€ ๊ฐœ๋ฐœํ•˜์ง€ ์•Š์€ ์ธ๋ฑ์Šค ๋ถ„์„ ๊ฐœ๋…์ด ํ•„์š”ํ•œ ์ด์™€ ๊ฐ™์€ ๊ฒƒ์„ ์ง€์›ํ•˜๋ ค๋ฉด ์ธ๋ฑ์Šค์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ๋ฉ”์„œ๋“œ๋ฅผ #645์— ์ถ”๊ฐ€ํ•ด์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ด€์‹ฌ ์žˆ๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ Ping - ๋ณด๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ์ด ์žˆ์œผ๋ฉด https://github.com/OCA/server-tools/pull/660#issuecomment -273583948์— ์˜ˆ๋น„ ๋ฐ์ดํ„ฐ ๋””์ž์ธ์„ ๋„ฃ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹๋ทฐ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๋ถ€์กฑํ•˜์ง€๋งŒ ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ๋‚˜์•„๊ฐˆ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰