온라인 편집기

입출고 현황

온라인 편집기를 사용하면 웹 브라우저에서 빌드의 소스 코드를 편집할 수 있습니다. 또한 터미널, Python 콘솔, Odoo 셸 콘솔 및 Notebooks 를 열 수 있습니다.

../../../_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 아래에 있는 파일)를 편집할 수 있습니다.

참고

변경 사항은 새 빌드에 적용되지 않습니다. 변경 사항을 유지하려면 소스 코드에서 커밋해야 합니다.

프로덕션 빌드의 경우 소스 코드는 읽기 전용이며, 프로덕션 서버에 로컬 변경 사항을 적용하는 것은 바람직한 방법이 아니기 때문입니다.

  • Github 저장소의 소스 코드는 /src/user 아래에 있습니다.

  • Odoo의 소스 코드는 다음과 같은 위치에 있습니다.

편집기에서 파일을 열려면 왼쪽의 파일 브라우저 패널에서 해당 파일을 더블 클릭합니다.

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

그런 다음 변경 작업을 시작할 수 있습니다. 파일 ‣ 저장 .. 파일 메뉴를 사용하거나 Ctrl+S 단축키를 누르면 변경 사항을 저장할 수 있습니다.

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

Odoo 서버 애드온 경로 아래에 있는 Python 파일을 저장하면 Odoo에서 이를 인식하여 자동으로 다시 로드하므로 서버를 수동으로 다시 시작할 필요 없이 변경 사항이 즉시 반영됩니다.

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

하지만 필드 또는 뷰의 레이블 변경과 같이 데이터베이스에 저장된 데이터와 관련된 수정 사항인 경우 해당 모듈을 업데이트하여 변경 사항을 구현해야 합니다. 현재 열려 있는 파일의 모듈은 메뉴 :menuselection:`Odoo –> 현재 모듈 업데이트`를 사용하여 업데이트할 수 있습니다. 현재 열려 있는 것으로 간주되는 파일은 파일 브라우저에서 강조 표시된 파일이 아니라 텍스트 편집기에서 초점이 맞춰진 파일입니다.

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

터미널을 열어서 다음 명령을 실행할 수도 있습니다.

$ odoo-bin -u <comma-separated module names> --stop-after-init

변경 사항 커밋 및 푸시

Github 저장소에 변경 사항을 커밋하고 푸시할 수 있습니다.

  • 터미널을 엽니다 (파일 ‣ 새로 만들기 ‣ 터미널),

  • cd ~/src/user 를 사용하여 디렉토리를 ~/src/user 로 변경합니다.

  • git add 를 사용하여 변경 사항을 스테이징합니다.

  • git commit 을 사용하여 변경 사항을 커밋합니다.

  • git push https HEAD: <branch> 를 사용하여 변경 사항을 푸시합니다.

마지막 명령어에서,

  • httpsHTTPS Github 원격 저장소의 이름입니다 (예: https://github.com/username/repository.git).

  • HEAD는 커밋한 최신 개정 버전의 참조입니다.

  • <branch> 반드시 변경 사항을 푸시하려는 브랜치의 이름으로 변경해야 하며, 개발 빌드에서 작업하는 경우 보통은 현재 브랜치로 변경합니다.

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

참고

보안 고려 사항으로 인해 빌드 컨테이너에 SSH 개인 키가 없거나 웹 브라우저를 통해 이 편집기에 액세스하는 경우 SSH 에이전트를 통해 전달되기 때문에 SSH Github 리모트는 사용되지 않습니다. 따라서 SSH를 사용하여 Github에 인증할 수 없습니다. 대신, 변경 사항을 푸시하려면 Git 리포지토리의 HTTPS 리모컨을 사용해야 하며, 이 리모컨은 자동으로 추가되고 Git 리모컨의 이름이 *https*로 지정됩니다. 이 과정에서 Github 사용자 이름과 비밀번호를 입력하라는 메시지가 표시됩니다. Github에서 2단계 인증을 사용 설정한 경우 개인 액세스 토큰 <https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/>`_을 생성하여 비밀번호로 사용할 있습니다. ``리포지토리` 권한을 부여하는 것이 적절합니다.

참고

Git 소스 폴더 ~/src/user 는 브랜치가 아니라 분리된 리비전에서 체크아웃됩니다. 이는 빌드가 브랜치가 아닌 특정 리비전에서 작동하기 때문입니다. 즉, 여러 개의 빌드가 동일한 브랜치에 있으나 서로 다른 리비전에 있을 수 있다는 의미입니다.

|MO| 내의 특정 작업지시서에 직접 액세스하는 경우 *작업 현장*은 작업지시서대로 수행되도록 설정된 작업장의 페이지로 기본 설정됩니다. 페이지에는 |MO| 번호, 생산할 제품 및 단위 수, 작업 주문을 완료하는 데 필요한 단계가 나타나 있는 작업지시서 카드가 표시됩니다.

콘솔

Python 콘솔을 열 수 있으며, 이는 IPython 대화형 셸 입니다. 터미널 내에서 IPython 셸 대신 Python 콘솔을 사용할 때 가장 특이한 추가 사항 중 하나는 풍부한 디스플레이 <https://ipython.readthedocs.io/en/stable/config/integrating.html#rich-display> 기능입니다. _ 능력. 이 기능 덕분에 HTML로 개체를 표시할 수 있습니다.

예를 들어 CSV 파일의 셀을 표시하는 데 pandas 를 사용할 수 있습니다.

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

또한 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'}]

Pretty 클래스는 위에서 언급한 rich display 를 사용하여 목록과 사전을 수려한 방식으로 쉽게 표시할 수 있습니다.

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

pandas 를 사용하여 그래프를 표시할 수도 있습니다.

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