Éditeur en ligne¶
La vue Éditeur en ligne permet de modifier le code source de vos builds depuis un navigateur web. Elle vous donne également la possibilité d’ouvrir des terminaux, des consoles Python, des consoles Odoo shell et des Jupyter Notebooks.
Accéder à l’éditeur d’un build via l’onglet des branches, le menu déroulant des builds, ou en ajoutant /odoo-sh/editor à l’URL du build (par ex., https://odoo-addons-master-1.dev.odoo.com/odoo-sh/editor).
Modifier le code source¶
Le répertoire de travail est composé des éléments suivants :
.
├── 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
Modifier le code source (fichiers sous /src) des builds de développement et de staging. Pour les builds de production, le code source est en lecture seule, car appliquer des modifications locales sur un serveur de production n’est pas une bonne pratique.
Note
Les modifications ne seront pas propagées aux nouveaux builds. Il est nécessaire de les committer dans le code source pour qu’elles persistent.
Le code source de votre dépôt GitHub se trouve sous
/src/user.Le code source d’Odoo se trouve sous :
/src/odoo(https://github.com/odoo/odoo)/src/enterprise(https://github.com/odoo/enterprise)/src/themes(https://github.com/odoo/design-themes)
Pour ouvrir un fichier dans l’éditeur, double-cliquer dessus dans le panneau de l’explorateur de fichiers. Modifier ensuite le fichier. Pour enregistrer les modifications, aller à ou utiliser le raccourci clavier Ctrl+S.
Si vous enregistrez un fichier Python dans le chemin des addons de votre serveur Odoo, Odoo le détectera et rechargera automatiquement, ce qui signifie que vos modifications sont immédiatement visibles.
Cependant, si vos modifications sont stockées dans la base de données, comme le libellé d’un champ ou une vue, il est nécessaire de mettre à jour le module concerné pour appliquer les modifications. Pour mettre à jour le module du fichier actuellement ouvert, aller à .
Astuce
Exécuter également la commande suivante dans un terminal pour mettre à jour un module :
odoo-bin -u <comma-separated module names> --stop-after-init
Committer et pousser les modifications¶
Pour valider et envoyer les modifications vers votre dépôt GitHub :
Ouvrir un terminal en allant dans .
Changer le répertoire vers
~/src/user.cd ~/src/userDéclarer votre identité.
git config --global user.email "you@example.com" && git config --global user.name "Your Name"
Indexer vos modifications.
git add
Valider vos modifications.
git commit
Envoyer vos modifications.
git push https HEAD:<branch>
Dans cette commande :
httpsest le nom de votre dépôt distant GitHub HTTPS (par exemple,https://github.com/username/repository.git).HEADest la référence vers la dernière révision que vous avez validée.<branch>doit être remplacé par le nom de la branche vers laquelle vous souhaitez envoyer les modifications, probablement la branche actuelle si vous travaillez sur une version de développement.
Vous serez invité à saisir votre nom d’utilisateur et mot de passe GitHub. Après avoir saisi vos identifiants, appuyer sur Entrée.
Astuce
Si vous activez l’authentification à deux facteurs pour votre compte GitHub, vous pouvez créer un jeton d’accès personnel et l’utiliser comme mot de passe. Accorder la permission repo suffit.
Note
Il n’est pas possible de vous authentifier en utilisant SSH, car votre clé SSH privée n’est pas hébergée dans vos conteneurs de build pour des raisons de sécurité, ni transmise via un agent SSH, puisque vous accédez à l’éditeur via un navigateur web.
Le dossier source
~/src/usern’est pas extrait sur une branche mais plutôt sur une révision détachée. Cela est dû au fait que les builds fonctionnent sur des révisions spécifiques plutôt que sur des branches, ce qui signifie que vous pouvez avoir plusieurs builds sur la même branche, mais sur des révisions différentes.
Une fois vos modifications envoyées, selon votre comportement d’envoi de branche, un nouveau build peut être créé. Vous pouvez continuer à travailler dans l’éditeur depuis lequel vous avez envoyé les modifications, car il aura la même révision que le nouveau build créé. Cependant, assurez-vous toujours d’être dans l’éditeur d’un build utilisant la dernière révision de votre branche.
Consoles¶
Vous pouvez ouvrir des consoles Python, qui sont des shells interactifs IPython. Utiliser ces consoles Python (plutôt que des shells IPython dans un terminal) vous permet d’exploiter leurs capacités d’affichage enrichi pour afficher des objets en HTML.
Example
La classe Pretty affiche les listes de manière lisible.
Vous pouvez ouvrir des consoles shell Odoo pour expérimenter avec le registre Odoo et les méthodes de modèle de votre base de données. Vous pouvez également lire ou écrire directement sur vos enregistrements.
Avertissement
Dans une console shell Odoo, les transactions sont automatiquement validées. Cela signifie que les modifications apportées aux enregistrements sont appliquées à la base de données. Par exemple, si vous modifiez le nom d’un utilisateur, il sera également mis à jour dans votre base de données. Par conséquent, utiliser les consoles shell Odoo avec précaution sur les bases de données de production.
Vous pouvez utiliser env pour invoquer des modèles du registre de votre base de données, par exemple env['res.users'].
env['res.users'].search_read([], ['name', 'email', 'login'])
[{'id': 2,
'login': 'admin',
'name': 'Administrator',
'email': 'admin@example.com'}]