온라인 편집기¶
전체보기¶
온라인 편집기를 사용하면 웹 브라우저에서 빌드의 소스 코드를 편집할 수 있습니다. 또한 터미널, Python 콘솔, Odoo 셸 콘솔 및 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 (odoo/odoo),
/src/enterprise (odoo/enterprise),
/src/themes (odoo/design-themes).
편집기에서 파일을 열려면 왼쪽의 파일 브라우저 패널에서 해당 파일을 더블 클릭합니다.

그런 다음 변경 작업을 시작할 수 있습니다.
메뉴를 사용하거나 Ctrl+S 단축키를 누르면 변경 사항을 저장할 수 있습니다.
Odoo 서버 애드온 경로 아래에 있는 Python 파일을 저장하면 Odoo에서 이를 인식하여 자동으로 다시 로드하므로 서버를 수동으로 다시 시작할 필요 없이 변경 사항이 즉시 반영됩니다.

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

터미널을 열어서 다음 명령을 실행할 수도 있습니다.
$ 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>
를 사용하여 변경 사항을 푸시합니다.
마지막 명령어에서,
https 는 HTTPS Github 원격 저장소의 이름입니다 (예: https://github.com/username/repository.git).
HEAD는 커밋한 최신 개정 버전의 참조입니다.
<branch> 반드시 변경 사항을 푸시하려는 브랜치의 이름으로 변경해야 하며, 개발 빌드에서 작업하는 경우 보통은 현재 브랜치로 변경합니다.

참고
보안 고려 사항으로 인해 빌드 컨테이너에 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 는 브랜치가 아니라 분리된 리비전에서 체크아웃됩니다. 이는 빌드가 브랜치가 아닌 특정 리비전에서 작동하기 때문입니다. 즉, 여러 개의 빌드가 동일한 브랜치에 있으나 서로 다른 리비전에 있을 수 있다는 의미입니다.
변경 사항이 푸시되면 브랜치 푸시 동작 에 따라 새 빌드가 생성될 수 있습니다. 생성된 새 빌드와 동일한 버전이 있는 경우에는 푸시한 편집기에서 계속 작업할 수 있으나 항상 브랜치는 최신 버전을 사용하는 빌드 편집기내에 있어야 합니다.
콘솔¶
Python 콘솔을 열 수 있으며, 이는 IPython 대화형 셸 입니다. 터미널 내에서 IPython 셸 대신 Python 콘솔을 사용할 때 가장 특이한 추가 사항 중 하나는 풍부한 디스플레이 <https://ipython.readthedocs.io/en/stable/config/integrating.html#rich-display>
기능입니다. _ 능력. 이 기능 덕분에 HTML로 개체를 표시할 수 있습니다.
예를 들어 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'}]
Pretty
클래스는 위에서 언급한 rich display 를 사용하여 목록과 사전을 수려한 방식으로 쉽게 표시할 수 있습니다.

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