ऑनलाइन एडिटर

ऑनलाइन एडिटर व्यू से आप वेब ब्राउज़र से अपने बिल्ड के सोर्स कोड को एडिट कर सकते हैं। यह आपको टर्मिनल, 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 के अंदर की फ़ाइलों) को एडिट कर सकते हैं। प्रॉडक्शन बिल्ड के लिए सोर्स कोड रीड-ओनली होता है, क्योंकि प्रॉडक्शन सर्वर पर लोकल बदलाव लागू करना अच्छी प्रैक्टिस नहीं है।

टिप्पणी

एडिटर में कोई फ़ाइल खोलने के लिए फ़ाइल ब्राउज़र पैनल में उस पर डबल-क्लिक करें। फिर आप फ़ाइल को एडिट कर सकते हैं। अपने बदलाव सेव करने के लिए File ‣ Save पर जाएं या Ctrl+S कीबोर्ड शॉर्टकट इस्तेमाल करें।

अगर आप अपने Odoo सर्वर के ऐडऑन पाथ में कोई Python फ़ाइल सेव करते हैं तो Odoo उसे डिटेक्ट करके ऑटोमैटिकली रीलोड कर देगा, यानी आपके बदलाव तुरंत दिखाई देंगे।

Python फ़ाइल में बदलाव तुरंत दिखाई देना

लेकिन अगर आपके बदलाव डेटाबेस में स्टोर किए गए हैं, जैसे कि फ़ील्ड का लेबल या कोई व्यू, तो बदलाव लागू करने के लिए संबंधित मॉड्यूल को अपडेट करना ज़रूरी है। फ़िलहाल खुली फ़ाइल के मॉड्यूल को अपडेट करने के लिए Odoo ‣ Update current module पर जाएं।

एडिटर का इस्तेमाल करके मौजूदा मॉड्यूल अपडेट करना

सलाह

किसी मॉड्यूल को अपडेट करने के लिए आप टर्मिनल में यह कमांड भी चला सकते हैं:

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 क्लास सूचियों को पठनीय तरीके से डिस्प्ले करती है।

Pretty क्लास उदाहरण

सलाह

<https://pandas.pydata.org/pandas-docs/stable/getting_started/tutorials.html> pandas का इस्तेमाल करके आप निम्न प्रदर्शित कर सकते हैं:

  • CSV फ़ाइल की सेल्स

    pandas CSV उदाहरण
  • ग्राफ़

    pandas ग्राफ़ उदाहरण

आप अपने डेटाबेस की 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'}]