Editor online

La vista editor online permette di modificare il codice fonte delle tue build da un browser web. Inoltre, ti permette di aprire terminali, console Python, console Odoo shell e Jupyter Notebooks.

Panoramica dell'editor online

Puoi accedere all’editor da una build attraverso la scheda rami, tramite il menu a discesa delle build oppure aggiungendo /odoo-sh/editor all’URL della build (ad es., https://odoo-addons-master-1.dev.odoo.com/odoo-sh/editor).

Modificare il codice fonte

La directory funzionante è fatta così:

.
├── 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

È possibile modificare il codice fonte (file sotto /src) delle build di sviluppo e staging. Per le build di produzione, il codice fonte è di sola lettura, perché l’applicazione di modifiche locali su un server di produzione non è una buona pratica.

Nota

Per aprire un file nell’editor, fai doppio clic nel pannello di visualizzazione dei file e poi potrai modificarlo. Per salvare le modifiche, vai su File ‣ Salva oppure utilizza la scorciatoia Ctrl+S.

Se salvi un file Python nel percorso di componenti aggiuntivi del tuo server Odoo, Odoo lo individuerà automaticamente e quindi le modifiche saranno visibili immediatamente.

Immagine in movimento di una modifica in un file Python immediatamente visibile

Tuttavia, se le modifiche vengono salvate nel database, come l’etichetta di un campo o una vista, è necessario aggiornare il modulo correlato per applicare le modifiche. Per aggiornare il modulo del file aperto attualmente, vai su Odoo ‣ Aggiorna modulo attuale.

Immagine che mostra come aggiornare il modulo attuale tramite l'editor

Suggerimento

Puoi anche eseguire il seguente comando in un terminale per aggiornare un modulo:

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

Confermare e inviare modifiche

Per confermare e inviare delle modifiche al repository GitHub:

  • apri un terminale andando su File ‣ Nuovo ‣ Terminale

  • modifica il directory in ~/src/user

    cd ~/src/user
    
  • indica la tua identità

    git config --global user.email "you@example.com" && git config --global user.name "Your Name"
    
  • prepara le modifiche

    git add
    
  • esegui il commit delle modifiche

    git commit
    
  • applica le modifiche.

    git push https HEAD:<branch>
    

    In questo comando:

    • https è il nome del tuo repository Github remoto HTTPS Github (ad es. https://github.com/username/repository.git)

    • HEAD è il riferimento all’ultima versione di cui è stato eseguito il commit

    • <branch> deve essere sostituito dal nome del ramo per il quale vuoi eseguire il push delle modifiche, molto probabilmente il ramo corrente, se si lavora in una build di sviluppo.

Ti verrà richiesto di inserire il tuo nome utente e password GitHub. Dopo aver inserito le credenziali, fai clic su Invio.

I comandi per eseguire il commit e applicare le modifiche

Suggerimento

Se attivi l’autenticazione a due fattori per il tuo account GitHub, puoi creare un token di accesso personale e utilizzarlo come password. È sufficiente dare accesso al repository.

Nota

  • Non è possibile autenticarti usando SSH, in quanto la tua chiave SSH privata non è ospitata nei contenitori della tua build per motivi di sicurezza e non verrà inviata tramite un agente SSH in quanto stai accedendo all’editor tramite browser web.

  • La cartella di origine ~/src/user non viene associata a un ramo ma a una revisione indipendente. Questo succede perché le build lavorano su revisioni specifiche e non su rami, il che significa che puoi avere più build nello stesso ramo ma in revisioni diverse.

Una volta inviate le modifiche, secondo il comportamento dell’invio di rami, viene creata una nuova build. Puoi continuare a lavorare nell’editor da cui hai inviato le modifiche in quanto avrà la stessa revisione della nuova build appena creata. Tuttavia, assicurati sempre di essere nell’editor di una build usando l’ultima revisione del ramo.

Console

Puoi aprire le console Python, che sono shell interattive di IPython. L’utilizzo delle console Python (rispetto alle shell IPython in un terminale) ti permette di utilizzare le ricche capacità di visualizzazione per mostrare oggetti in HTML.

Example

La classe Pretty mostra gli elenchi in forma leggibile.

Esempio di classe Pretty

Suggerimento

Grazie a pandas puoi visualizzare:

  • celle di un file CSV

    Esempio CSV pandas
  • Grafici

    Esempio grafico pandas

Puoi aprire la console Odoo shell per sperimentare con il registro di Odoo e con i metodi dei modelli del database. Inoltre, puoi leggere o scrivere direttamente nei record.

Avvertimento

In una console Odoo shell, le transazioni vengono confermate automaticamente. Questo significa che le modifiche effettuate ai record vengono applicate nel database. Ad esempio, se modifichi il nome dell’utente, verrà aggiornato anche nel database. Usa la console Odoo shell con attenzione nei database di produzione.

Puoi utilizzare env per richiamare i modelli del registro del database, ad es. env['res.users'].

env['res.users'].search_read([], ['name', 'email', 'login'])
[{'id': 2,
'login': 'admin',
'name': 'Administrator',
'email': 'admin@example.com'}]