ویرایشگر آنلاین¶
نمای کلی¶
ویرایشگر آنلاین به شما امکان میدهد کد منبع بیلدهای خود را از طریق مرورگر وب ویرایش کنید. همچنین این امکان را به شما میدهد که ترمینالها، کنسولهای پایتون، کنسولهای Odoo Shell و «دفترچهها <https://jupyterlab.readthedocs.io/en/stable/user/notebook.html>» را باز کنید.

شما میتوانید از طریق زبانههای شاخهها، منوی کشویی بیلدها یا با اضافه کردن /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) را در نسخههای توسعه و آزمایشی ویرایش کنید.
توجه
تغییرات شما به یک نسخه جدید منتقل نخواهند شد، اگر میخواهید آنها را دائمی کنید، باید آنها را در کد منبع خود اعمال کنید.
برای نسخههای تولیدی، کد منبع فقط قابل خواندن است، زیرا اعمال تغییرات محلی روی سرور تولید یک روش مناسب نیست.
کد منبع مخزن گیتهاب شما در مسیر /src/user قرار دارد.
کد منبع اودو در زیر قرار دارد
/src/odoo (odoo/odoo)
/src/enterprise (odoo/enterprise)،
/src/themes (odoo/طراحی-تمها).
برای باز کردن یک فایل در ویرایشگر، کافی است روی آن در پنل مرورگر فایل در سمت چپ دوبار کلیک کنید.

سپس میتوانید تغییرات خود را آغاز کنید. میتوانید تغییرات خود را با استفاده از منوی
ذخیره کنید یا با استفاده از میانبر Ctrl+S این کار را انجام دهید.
اگر یک فایل پایتون را که در مسیر افزونههای سرور Odoo شما قرار دارد ذخیره کنید، Odoo آن را شناسایی کرده و بهصورت خودکار بارگذاری مجدد میکند تا تغییرات شما بلافاصله اعمال شوند، بدون نیاز به راهاندازی مجدد دستی سرور.

با این حال، اگر تغییر مربوط به دادهای باشد که در پایگاه داده ذخیره شده است، مانند برچسب یک فیلد یا یک نما، باید ماژول مربوطه را بهروزرسانی کنید تا تغییر اعمال شود. میتوانید ماژول فایل فعلی باز شده را با استفاده از منوی
بهروزرسانی کنید. توجه داشته باشید که فایلی که به عنوان فایل فعلی باز شده در نظر گرفته میشود، فایلی است که در ویرایشگر متن متمرکز شده است، نه فایلی که در مرورگر فایل برجسته شده است.
شما همچنین میتوانید یک ترمینال باز کرده و دستور زیر را اجرا کنید:
$ odoo-bin -u <comma-separated module names> --stop-after-init
تعهد و ارسال تغییرات خود را انجام دهید¶
شما امکان ثبت و ارسال تغییرات خود به مخزن گیتهاب را دارید.
یک ترمینال باز کنید (
)،دایرکتوری را به ~/src/user تغییر دهید با استفاده از
cd ~/src/user
.تغییرات خود را با استفاده از
git add
مرحلهبندی کنید.تغییرات خود را با استفاده از
git commit
ثبت کنید.تغییرات خود را با استفاده از
git push https HEAD:<branch>
ارسال کنید.
در این دستور آخر،
https نام مخزن راه دور HTTPS شما در Github است (مثلاً https://github.com/username/repository.git)،
HEAD اشاره به آخرین بازبینی است که شما متعهد شدهاید،
<branch> باید با نام شاخهای که میخواهید تغییرات را به آن ارسال کنید جایگزین شود، به احتمال زیاد شاخه فعلی اگر در یک نسخه توسعه کار میکنید.

توجه
ریموت SSH گیتهاب استفاده نمیشود زیرا کلید خصوصی SSH شما در کانتینرهای ساخت شما میزبانی نشده است (به دلایل واضح امنیتی) و از طریق یک عامل SSH نیز منتقل نمیشود (زیرا شما از طریق مرورگر وب به این ویرایشگر دسترسی دارید) و بنابراین نمیتوانید با استفاده از SSH خود را به گیتهاب احراز هویت کنید. شما باید از ریموت HTTPS مخزن گیتهاب خود برای ارسال تغییرات استفاده کنید، که بهطور خودکار با نام https در ریموتهای گیت شما اضافه میشود. از شما خواسته میشود نام کاربری و رمز عبور گیتهاب خود را وارد کنید. اگر احراز هویت دو مرحلهای را در گیتهاب فعال کردهاید، میتوانید یک توکن دسترسی شخصی ایجاد کنید و از آن بهعنوان رمز عبور استفاده کنید. اعطای مجوز repo
کافی است.
توجه
پوشه منبع Git ~/src/user روی یک شاخه بررسی نشده است، بلکه روی یک بازبینی جداگانه قرار دارد: این به این دلیل است که ساختها بر روی بازبینیهای خاص کار میکنند نه شاخهها. به عبارت دیگر، این بدان معناست که میتوانید چندین ساخت در یک شاخه داشته باشید، اما روی بازبینیهای مختلف.
هنگامی که تغییرات خود را ارسال کردید، بر اساس رفتار ارسال شاخه، ممکن است یک ساخت جدید ایجاد شود. شما میتوانید به کار در ویرایشگری که از آن ارسال کردهاید ادامه دهید، زیرا این ویرایشگر همان نسخهای را خواهد داشت که ساخت جدید ایجاد شده دارد، اما همیشه مطمئن شوید که در ویرایشگری از یک ساخت با آخرین نسخه شاخه خود کار میکنید.
کنسولها¶
شما میتوانید کنسولهای پایتون را باز کنید که شامل پوستههای تعاملی IPython هستند. یکی از جذابترین ویژگیها برای استفاده از کنسول پایتون به جای یک پوسته IPython در یک ترمینال، قابلیتهای نمایش غنی است. به لطف این قابلیت، شما قادر خواهید بود اشیاء را به صورت HTML نمایش دهید.
شما میتوانید به عنوان مثال سلولهای یک فایل CSV را با استفاده از pandas نمایش دهید.

شما همچنین میتوانید یک کنسول Odoo Shell باز کنید تا با رجیستری و متدهای مدل پایگاه داده خود کار کنید. همچنین میتوانید بهصورت مستقیم رکوردهای خود را بخوانید یا روی آنها بنویسید.
هشدار
در کنسول Odoo، تراکنشها به صورت خودکار ثبت میشوند. این بدان معناست که، به عنوان مثال، تغییرات در رکوردها به طور مؤثر در پایگاه داده اعمال میشوند. اگر نام یک کاربر را تغییر دهید، نام کاربر نیز در پایگاه داده شما تغییر میکند. بنابراین باید از کنسولهای Odoo با دقت در پایگاه دادههای تولیدی استفاده کنید.
شما میتوانید از env برای فراخوانی مدلهای رجیستری پایگاه داده خود استفاده کنید، به عنوان مثال: env['res.users']
.
env['res.users'].search_read([], ['name', 'email', 'login'])
[{'id': 2,
'login': 'admin',
'name': 'Administrator',
'email': 'admin@example.com'}]
کلاس Pretty
به شما این امکان را میدهد که بهراحتی لیستها و دیکشنریها را به شکلی زیبا نمایش دهید، با استفاده از نمایش غنی که در بالا ذکر شد.

شما همچنین میتوانید از pandas برای نمایش نمودارها استفاده کنید.
