온라인 편집기¶
전체보기¶
온라인 편집기를 사용하면 웹 브라우저에서 빌드의 소스 코드를 편집할 수 있습니다. 또한 터미널, 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 Github 원격 기능은 보안상의 이유로 사용되지 않습니다. 빌드 컨테이너에 SSH 개인 키가 없거나(명백한 보안 상의 이유인 경우) SSH 에이전트를 통해 전달되지 않는 경우(웹 브라우저를 통해 이 편집기에 액세스하는 경우)가 이런 경우에 해당하며, 이에 따라 SSH를 통한 Github에 인증이 불가합니다. 변경 사항을 푸시하려면 Git 리포지토리의 HTTPS 원격 기능을 사용해야 하며, 이러한 경우 자동으로 Git 원격 제목이 https 로 지정됩니다. 여기에서 Github 사용자 이름과 비밀번호를 입력하라는 메시지가 표시됩니다. Github에서 2단계 인증을 활성화한 경우 개인 액세스 토큰 을 생성하여 비밀번호로 사용할 수 있습니다. 리포지토리
권한만 부여하면 됩니다.
참고
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 를 사용하여 그래프를 표시할 수도 있습니다.
