ویرایشگر آنلاین

نمای کلی

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

../../../_images/interface-editor.png

شما می‌توانید از طریق زبانه‌های شاخه‌ها، منوی کشویی بیلدها یا با اضافه کردن /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) را در نسخه‌های توسعه و آزمایشی ویرایش کنید.

توجه

تغییرات شما به یک نسخه جدید منتقل نخواهند شد، اگر می‌خواهید آنها را دائمی کنید، باید آنها را در کد منبع خود اعمال کنید.

برای نسخه‌های تولیدی، کد منبع فقط قابل خواندن است، زیرا اعمال تغییرات محلی روی سرور تولید یک روش مناسب نیست.

برای باز کردن یک فایل در ویرایشگر، کافی است روی آن در پنل مرورگر فایل در سمت چپ دوبار کلیک کنید.

../../../_images/interface-editor-open-file.png

سپس می‌توانید تغییرات خود را آغاز کنید. می‌توانید تغییرات خود را با استفاده از منوی فایل ‣ ذخیره .. فایل ذخیره کنید یا با استفاده از میانبر Ctrl+S این کار را انجام دهید.

../../../_images/interface-editor-save-file.png

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

../../../_images/interface-editor-automaticreload.gif

با این حال، اگر تغییر مربوط به داده‌ای باشد که در پایگاه داده ذخیره شده است، مانند برچسب یک فیلد یا یک نما، باید ماژول مربوطه را به‌روزرسانی کنید تا تغییر اعمال شود. می‌توانید ماژول فایل فعلی باز شده را با استفاده از منوی Odoo ‣ Update current module به‌روزرسانی کنید. توجه داشته باشید که فایلی که به عنوان فایل فعلی باز شده در نظر گرفته می‌شود، فایلی است که در ویرایشگر متن متمرکز شده است، نه فایلی که در مرورگر فایل برجسته شده است.

../../../_images/interface-editor-update-current-module.png

شما همچنین می‌توانید یک ترمینال باز کرده و دستور زیر را اجرا کنید:

$ 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> باید با نام شاخه‌ای که می‌خواهید تغییرات را به آن ارسال کنید جایگزین شود، به احتمال زیاد شاخه فعلی اگر در یک نسخه توسعه کار می‌کنید.

../../../_images/interface-editor-commit-push.png

توجه

ریموت SSH گیت‌هاب استفاده نمی‌شود زیرا کلید خصوصی SSH شما در کانتینرهای ساخت شما میزبانی نشده است (به دلایل واضح امنیتی) و از طریق یک عامل SSH نیز منتقل نمی‌شود (زیرا شما از طریق مرورگر وب به این ویرایشگر دسترسی دارید) و بنابراین نمی‌توانید با استفاده از SSH خود را به گیت‌هاب احراز هویت کنید. شما باید از ریموت HTTPS مخزن گیت‌هاب خود برای ارسال تغییرات استفاده کنید، که به‌طور خودکار با نام https در ریموت‌های گیت شما اضافه می‌شود. از شما خواسته می‌شود نام کاربری و رمز عبور گیت‌هاب خود را وارد کنید. اگر احراز هویت دو مرحله‌ای را در گیت‌هاب فعال کرده‌اید، می‌توانید یک توکن دسترسی شخصی ایجاد کنید و از آن به‌عنوان رمز عبور استفاده کنید. اعطای مجوز repo کافی است.

توجه

پوشه منبع Git ~/src/user روی یک شاخه بررسی نشده است، بلکه روی یک بازبینی جداگانه قرار دارد: این به این دلیل است که ساخت‌ها بر روی بازبینی‌های خاص کار می‌کنند نه شاخه‌ها. به عبارت دیگر، این بدان معناست که می‌توانید چندین ساخت در یک شاخه داشته باشید، اما روی بازبینی‌های مختلف.

هنگامی که تغییرات خود را ارسال کردید، بر اساس رفتار ارسال شاخه، ممکن است یک ساخت جدید ایجاد شود. شما می‌توانید به کار در ویرایشگری که از آن ارسال کرده‌اید ادامه دهید، زیرا این ویرایشگر همان نسخه‌ای را خواهد داشت که ساخت جدید ایجاد شده دارد، اما همیشه مطمئن شوید که در ویرایشگری از یک ساخت با آخرین نسخه شاخه خود کار می‌کنید.

کنسول‌ها

شما می‌توانید کنسول‌های پایتون را باز کنید که شامل پوسته‌های تعاملی IPython هستند. یکی از جذاب‌ترین ویژگی‌ها برای استفاده از کنسول پایتون به جای یک پوسته IPython در یک ترمینال، قابلیت‌های نمایش غنی است. به لطف این قابلیت، شما قادر خواهید بود اشیاء را به صورت HTML نمایش دهید.

شما می‌توانید به عنوان مثال سلول‌های یک فایل CSV را با استفاده از pandas نمایش دهید.

../../../_images/interface-editor-console-python-read-csv.png

شما همچنین می‌توانید یک کنسول 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 به شما این امکان را می‌دهد که به‌راحتی لیست‌ها و دیکشنری‌ها را به شکلی زیبا نمایش دهید، با استفاده از نمایش غنی که در بالا ذکر شد.

../../../_images/interface-editor-console-odoo-pretty.png

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

../../../_images/interface-editor-console-odoo-graph.png