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.

Descripción general del editor online

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

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 Archivo ‣ Guardar 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.

Cambio en un archivo Python visible 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 Odoo ‣ Actualizar módulo actual.

Usar el editor para actualizar el módulo actual

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 Archivo ‣ Nuevo ‣ Terminal.

  • Cambia el directorio a ~/src/user.

    cd ~/src/user
    
  • Declara 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:

    • https es el nombre de tu repositorio remoto de GitHub HTTPS (p. ej., https://github.com/username/repository.git).

    • HEAD es 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.

Los comandos para confirmar y subir cambios

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/user no 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.

Ejemplo de la clase Pretty

Truco

Usando pandas puedes mostrar:

  • Celdas de un archivo CSV

    Ejemplo CSV de pandas
  • Gráficos

    ejemplo de gráfico de pandas

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