Editor online¶
La vista del editor online permite editar el código fuente de tus compilaciones desde un navegador web. También te da la posibilidad de abrir terminales, consolas de Python, consolas de shell de Odoo y Jupyter Notebooks.
Puedes acceder al editor de una compilación a través de la pestaña de ramas, el menú desplegable de compilaciones, o agregando /odoo-sh/editor a la URL de la compilación (por ejemplo, https://odoo-addons-master-1.dev.odoo.com/odoo-sh/editor).
Editar el código fuente¶
El directorio de trabajo está compuesto por lo siguiente:
.
├── 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
Puedes editar el código fuente (archivos bajo /src) de las compilaciones de desarrollo y staging. Para las compilaciones de producción, el código fuente es de solo lectura, porque aplicar cambios locales en un servidor de producción no es una buena práctica.
Nota
Tus cambios no se propagarán a las nuevas compilaciones. Es necesario confirmarlos en el código fuente si quieres que persistan.
El código fuente de tu repositorio de GitHub se encuentra bajo
/src/user.El código fuente de Odoo se encuentra bajo:
/src/odoo(https://github.com/odoo/odoo)/src/enterprise(https://github.com/odoo/enterprise)/src/themes(https://github.com/odoo/design-themes)
Para abrir un archivo en el editor, haz doble clic en él en el panel del navegador de archivos. Luego puedes editar el archivo. Para guardar tus cambios, ve a o usa el atajo de teclado Ctrl+S.
Si guardas un archivo Python en la ruta de addons de tu servidor Odoo, Odoo lo detectará y se recargará automáticamente, lo que significa que tus cambios son visibles de inmediato.
Sin embargo, si tus cambios están almacenados en la base de datos, como la etiqueta de un campo o una vista, es necesario actualizar el módulo relacionado para aplicar los cambios. Para actualizar el módulo del archivo actualmente abierto, ve a .
Truco
También puedes ejecutar el siguiente comando en una terminal para actualizar un módulo:
odoo-bin -u <comma-separated module names> --stop-after-init
Confirmar y enviar cambios¶
Para confirmar y enviar cambios a tu repositorio de GitHub:
Abre una terminal yendo a .
Cambia el directorio a
~/src/user.cd ~/src/userDeclara tu identidad.
git config --global user.email "you@example.com" && git config --global user.name "Your Name"
Prepara tus cambios.
git add
Confirma tus cambios.
git commit
Sube tus cambios.
git push https HEAD:<branch>
En este comando:
httpses el nombre de tu repositorio remoto de GitHub HTTPS (p. ej.,https://github.com/username/repository.git).HEADes la referencia a la última revisión que confirmaste.<branch>debe reemplazarse por el nombre de la rama a la que quieres subir los cambios, probablemente la rama actual si trabajas en una compilación de desarrollo.
Se te pedirá que ingreses tu nombre de usuario y contraseña de GitHub. Después de ingresar tus credenciales, presiona enter.
Truco
Si activas la autenticación de dos factores para tu cuenta de GitHub, puedes crear un token de acceso personal y usarlo como contraseña. Otorgar el permiso de repositorio es suficiente.
Nota
No es posible autenticarte usando SSH, ya que tu clave privada SSH no está alojada en tus contenedores de compilación por razones de seguridad, ni se reenvía a través de un agente SSH, ya que accedes al editor a través de un navegador web.
La carpeta de origen
~/src/userno está extraída en una rama sino en una revisión independiente. Esto se debe a que las compilaciones trabajan en revisiones específicas en lugar de ramas, lo que significa que puedes tener múltiples compilaciones en la misma rama, pero en diferentes revisiones.
Una vez que tus cambios se suben, según tu comportamiento de subida de rama, se puede crear una nueva compilación. Puedes continuar trabajando en el editor desde el que subiste, ya que tendrá la misma revisión que la nueva compilación creada. Sin embargo, asegúrate siempre de estar en el editor de una compilación que use la última revisión de tu rama.
Consolas¶
Puedes abrir consolas de Python, que son shells interactivos de IPython. Usar estas consolas de Python (en lugar de shells de IPython dentro de un terminal) te permite utilizar sus capacidades de visualización enriquecida para mostrar objetos en HTML.
Example
La clase Pretty muestra listas de forma legible.
Puedes abrir consolas shell de Odoo para experimentar con el registro de Odoo y los métodos de modelo de tu base de datos. También puedes leer o escribir directamente en tus registros.
Advertencia
En una consola shell de Odoo, las transacciones se confirman automáticamente. Esto significa que los cambios realizados en los registros se aplican a la base de datos. Por ejemplo, si cambias el nombre de un usuario, se actualizará también en tu base de datos. Por lo tanto, usa las consolas shell de Odoo con cuidado en bases de datos de producción.
Puedes usar env para invocar modelos del registro de tu base de datos, por ejemplo, env['res.users'].
env['res.users'].search_read([], ['name', 'email', 'login'])
[{'id': 2,
'login': 'admin',
'name': 'Administrator',
'email': 'admin@example.com'}]