ऑनलाइन एडिटर¶
ऑनलाइन एडिटर व्यू से आप वेब ब्राउज़र से अपने बिल्ड के सोर्स कोड को एडिट कर सकते हैं। यह आपको टर्मिनल, Python कंसोल, Odoo शेल कंसोल और Jupyter Notebooks खोलने की सुविधा भी देता है।
आप ब्रांच टैब, बिल्ड ड्रॉपडाउन मेन्यू के ज़रिए या बिल्ड के यूआरएल में /odoo-sh/editor जोड़कर (जैसे https://odoo-addons-master-1.dev.odoo.com/odoo-sh/editor) बिल्ड के एडिटर को ऐक्सेस कर सकते हैं।
सोर्स कोड में बदलाव करना¶
वर्किंग डायरेक्टरी निम्नलिखित से बनी होती है:
.
├── home
│ └── odoo
│ ├── src
│ │ ├── odoo Odoo Community source code
│ │ │ └── odoo-bin Odoo server executable
│ │ ├── enterprise Odoo Enterprise source code
│ │ ├── themes Odoo Themes source code
│ │ └── user Your repository branch source code
│ ├── data
│ │ ├── filestore Database attachments, as well as the files of binary fields
│ │ └── sessions Visitors and users sessions
│ └── logs
│ ├── install.log Database installation logs
│ ├── odoo.log Running server logs
│ ├── update.log Database updates logs
│ └── pip.log Python packages installation logs
आप डेवलपमेंट और स्टेजिंग बिल्ड के सोर्स कोड (/src के अंदर की फ़ाइलों) को एडिट कर सकते हैं। प्रॉडक्शन बिल्ड के लिए सोर्स कोड रीड-ओनली होता है, क्योंकि प्रॉडक्शन सर्वर पर लोकल बदलाव लागू करना अच्छी प्रैक्टिस नहीं है।
टिप्पणी
आपके बदलाव नए बिल्ड में नहीं जाएंगे। अगर आप चाहते हैं कि वे बने रहें तो उन्हें सोर्स कोड में कमिट करना ज़रूरी है।
आपकी GitHub रिपॉज़िटरी का सोर्स कोड
/src/userके अंदर होता है।Odoo का सोर्स कोड यहां होता है:
/src/odoo(https://github.com/odoo/odoo)/src/enterprise(https://github.com/odoo/enterprise)/src/themes(https://github.com/odoo/design-themes)
एडिटर में कोई फ़ाइल खोलने के लिए फ़ाइल ब्राउज़र पैनल में उस पर डबल-क्लिक करें। फिर आप फ़ाइल को एडिट कर सकते हैं। अपने बदलाव सेव करने के लिए पर जाएं या Ctrl+S कीबोर्ड शॉर्टकट इस्तेमाल करें।
अगर आप अपने Odoo सर्वर के ऐडऑन पाथ में कोई Python फ़ाइल सेव करते हैं तो Odoo उसे डिटेक्ट करके ऑटोमैटिकली रीलोड कर देगा, यानी आपके बदलाव तुरंत दिखाई देंगे।
लेकिन अगर आपके बदलाव डेटाबेस में स्टोर किए गए हैं, जैसे कि फ़ील्ड का लेबल या कोई व्यू, तो बदलाव लागू करने के लिए संबंधित मॉड्यूल को अपडेट करना ज़रूरी है। फ़िलहाल खुली फ़ाइल के मॉड्यूल को अपडेट करने के लिए पर जाएं।
सलाह
किसी मॉड्यूल को अपडेट करने के लिए आप टर्मिनल में यह कमांड भी चला सकते हैं:
odoo-bin -u <comma-separated module names> --stop-after-init
बदलावों को कमिट और पुश करना¶
अपनी GitHub रिपॉजिटरी में बदलावों को कमिट और पुश करने के लिए:
पर जाकर टर्मिनल खोलें।
~/src/userमें डायरेक्टरी बदलें।cd ~/src/userअपनी पहचान बताएं।
git config --global user.email "you@example.com" && git config --global user.name "Your Name"
अपने बदलावों को स्टेज करें।
git add
अपने बदलावों को कमिट करें।
git commit
अपने बदलावों को पुश करें।
git push https HEAD:<branch>
इस कमांड में:
httpsआपकी HTTPS GitHub रिमोट रिपॉजिटरी का नाम है (जैसे,https://github.com/username/repository.git)।HEADआपके द्वारा कमिट किए गए नवीनतम रिवीज़न का रेफ़रेंस है।<branch>को उस ब्रांच के नाम से बदला जाना चाहिए जिसमें आप बदलावों को पुश करना चाहते हैं, संभवतः वर्तमान ब्रांच अगर आप डेवलपमेंट बिल्ड पर काम कर रहे हैं।
आपको अपना GitHub यूज़रनेम और पासवर्ड इनपुट करने के लिए कहा जाएगा। अपने क्रेडेंशियल इनपुट करने के बाद, एंटर दबाएं।
सलाह
अगर आप अपने GitHub अकाउंट के लिए टू-फैक्टर ऑथेंटिकेशन सक्रिय करते हैं, तो आप पर्सनल ऐक्सेस टोकन बना सकते हैं और इसे पासवर्ड के रूप में इस्तेमाल कर सकते हैं। रेपो परमिशन देना पर्याप्त है।
टिप्पणी
SSH का उपयोग करके खुद को ऑथेंटिकेट करना संभव नहीं है, क्योंकि सुरक्षा कारणों से आपकी प्राइवेट SSH की आपके बिल्ड कंटेनरों में होस्ट नहीं की गई है, और न ही SSH एजेंट के माध्यम से फॉरवर्ड की गई है, क्योंकि आप वेब ब्राउज़र के माध्यम से एडिटर तक पहुंचते हैं।
सोर्स फ़ोल्डर
~/src/userकिसी ब्रांच पर चेक आउट नहीं है बल्कि एक डिटैच्ड रिवीज़न पर है। ऐसा इसलिए है क्योंकि बिल्ड विशिष्ट रिवीज़न पर काम करते हैं न कि ब्रांचों पर, मतलब आप एक ही ब्रांच पर कई बिल्ड हो सकते हैं, लेकिन अलग-अलग रिवीज़न पर।
एक बार जब आपके बदलाव पुश हो जाते हैं, तो आपके ब्रांच पुश बिहेवियर के अनुसार, एक नया बिल्ड बनाया जा सकता है। आप उस एडिटर में काम करना जारी रख सकते हैं जिससे आपने पुश किया है, क्योंकि इसमें वही रिवीज़न होगा जो बनाए गए नए बिल्ड में है। हालांकि, हमेशा सुनिश्चित करें कि आप अपनी ब्रांच के नवीनतम रिवीज़न का उपयोग करने वाले बिल्ड के एडिटर में हैं।
कंसोल्स¶
आप Python कंसोल खोल सकते हैं, जो IPython इंटरैक्टिव शेल हैं। इन Python कंसोल का उपयोग करने से (टर्मिनल के भीतर IPython शेल के बजाय) आप उनकी रिच डिस्प्ले क्षमताओं का उपयोग करके ऑब्जेक्ट को HTML में डिस्प्ले कर सकते हैं।
Example
Pretty क्लास सूचियों को पठनीय तरीके से डिस्प्ले करती है।
सलाह
<https://pandas.pydata.org/pandas-docs/stable/getting_started/tutorials.html> pandas का इस्तेमाल करके आप निम्न प्रदर्शित कर सकते हैं:
CSV फ़ाइल की सेल्स
ग्राफ़
आप अपने डेटाबेस की Odoo रजिस्ट्री और मॉडल मेथड्स के साथ प्रयोग करने के लिए Odoo शेल कंसोल खोल सकते हैं। आप अपने रिकॉर्ड पर सीधे पढ़ या लिख भी सकते हैं।
चेतावनी
Odoo शेल कंसोल में ट्रांज़ैक्शन ऑटोमैटिकली कमिट हो जाते हैं। इसका मतलब है कि रिकॉर्ड में किए गए बदलाव डेटाबेस में लागू हो जाते हैं। उदाहरण के लिए, अगर आप किसी उपयोगकर्ता का नाम बदलते हैं, तो वह आपके डेटाबेस में भी अपडेट हो जाएगा। इसलिए, प्रॉडक्शन डेटाबेस पर Odoo शेल कंसोल का इस्तेमाल सावधानी से करें।
आप अपने डेटाबेस रजिस्ट्री के मॉडल को इनवोक करने के लिए env का इस्तेमाल कर सकते हैं, जैसे env['res.users']।
env['res.users'].search_read([], ['name', 'email', 'login'])
[{'id': 2,
'login': 'admin',
'name': 'Administrator',
'email': 'admin@example.com'}]