Waarom is Odoo Studio niet de heilige graal?

Als je Odoo moet aanpassen, kun je een zelf een Odoo-app ontwikkelen, laten ontwikkelen of je kunt een app uit de Odoo Apps Store gebruiken.  Odoo-apps worden gemaakt door ontwikkelaars en de aanpassingen worden in code gedaan. Deze code is leesbaar (je kunt dus zien wat is aangepast) en geborgd met een versiebeheersysteem (GitHub).

Bij Odoo Apps uit de Odoo App Store (ook wel third party apps, of 3p-apps genoemd) zijn meerdere problemen. Hierover hebben we een ander blog geschreven.

Lees ons blog: Waarom zijn we gestopt met het gebruik van apps uit de Odoo App Store?

Odoo biedt ook de tool Odoo Studio aan. Met Odoo Studio kun je Odoo aanpassen via de interface van Odoo zelf. Je kunt velden maken, weergaven wijzigen of zelfs helemaal nieuwe functionaliteit creëren. Deze aanpassingen worden niet in code gedaan, maar deze wijzigingen worden opgeslagen in de database van Odoo.

Als je Odoo rechtstreeks vanuit Odoo zelf kunt aanpassen, waarom zou je dan een ontwikkelaar inhuren om de aanpassingen te maken? Met Odoo studio kun je het makkelijk zelf. Ja, zo lijkt het inderdaad.

Odoo Studio ziet er geweldig uit, maar het is niet de heilige graal en in deze blog leg ik uit waarom.

Je kunt niet alles met Odoo Studio

Met Odoo studio kun je best wel wat maken. Je kunt geheel nieuwe functionaliteit maken of bestaande functionaliteit uitbreiden. Het kan heel erg handig zijn, maar je kunt lang niet alles. Het maken van complete processen, waarbij data van het ene model naar het andere moet vloeien, is eigenlijk niet te doen. Odoo Studio is beperkt tot losse nieuwe functionaliteit of het aanpassen van bestaande functionaliteit, waardoor het beperkt inzetbaar is en het overzicht snel verloren gaat.

Conflicten met ander maatwerk

Odoo Studio-aanpassingen worden alleen opgeslagen in de Odoo-database. Als een ontwikkelaar een app op maat voor Odoo ontwikkelt, ontwikkelt hij deze altijd voor een standaard Odoo-versie of een versie met al het andere maatwerk dat als modules zijn gecodeerd. Een ontwikkelaar heeft de productiedatabase van de klant niet, dus hij heeft ook geen aanpassingen die in Odoo studio zijn gemaakt. Dat maakt het moeilijker voor een ontwikkelaar om een goede oplossing te maken en dit kan technische conflicten veroorzaken.

Moeilijk te onderhouden

Het (goed) schrijven van code brengt een aantal belangrijke voordelen zoals het maken van automatische testen om de functionaliteit te kunnen waarborgen na aanpassingen en het groeperen van functionaliteiten om een compleet proces bij elkaar te houden. Zoals eerder vermeld, worden aanpassingen van Odoo Studio alleen opgeslagen in de Odoo-database en niet in code. Daardoor zijn deze voordelen niet aanwezig. Wijzigingen kunnen onvoorziene gevolgen hebben op het totaalproces en het is moeilijker om een volledig overzicht te krijgen van alle aanpassingen die er zijn gemaakt. Dit maakt het Odoo systeem moeilijker te onderhouden.

Gaat stuk bij een Odoo upgrade

Wanneer Odoo wordt geüpgraded naar een nieuwe versie, probeert het Odoo-migratieplatform ook alle Odoo Studio-aanpassingen te migreren. Maar omdat elke gebruiker van Odoo zijn eigen unieke aanpassingen kan maken, is het voor het migratieplatform onmogelijk om alles goed te migreren. Je ziet dus dat meerdere Studio aanpassingen niet kunnen worden gemigreerd en na migratie opnieuw moeten worden gemaakt. 

Onbekendheid met de Odoo database

Velden toevoegen aan de database, berekende velden en/of relationele velden maken, het kan allemaal redelijk eenvoudig met Odoo. Maar als je niet weet hoe de Odoo database werkt en wat je wel kan doen in een database en wat niet, dan zul je Odoo zeker stuk maken. Om het mogelijk te maken op een generieke manier aanpassingen te maken kan Odoo onmogelijk rekening houden met de performance van individuele situaties. Het risico om vertragingen in het systeem te veroorzaken is daarom enorm en daar is geen beveiliging voor. 

Mijns inziens is het bijna onmogelijk dat een functionele Odoo gebruiker, met geen technische kennis, een juiste keuzen kan maken bij het aanmaken van complexe database velden in Odoo.

En, ik zal heel eerlijk zijn. Ik schrijf dit op, omdat ik zelf al meerdere keren deze fouten heb gemaakt... helaas 😰.

Iets maken dat al bestaat

Stel je bent naar iets op zoek, maar je kunt het niet vinden in Odoo. Betekent dit dat het niet bestaat in Odoo, of dat je een extra Odoo App moet installeren?

Check hier het overzicht van alle Odoo Apps

Of heb je misschien niet de rechten om bepaalde informatie te zien? Stel je die twee situaties voor. Hier komt Odoo Studio van pas. Je maakt de ontbrekende functionaliteit 'even' zelf, met als resultaat dat je iets hebt gemaakt wat al bestaat in Odoo. 

Dit lijkt wellicht wat overtrokken, maar geloof me, we komen het heel veel tegen.

Odoo volledig stukmaken

Ja, je kunt Odoo volledig stukmaken met Odoo Studio. Soms werkt je aanpassing in het begin goed en denk je dat er niets aan de hand is. Totdat opeens vele mensen met Odoo gaan werken.

Een voorbeeld dat ik eens heb gezien is dat een gebruiker dacht: "Het is wel handig om de aanwezige voorraad te zien op een orderregel". Het veld met de (dynamische) voorraad werd als relatieveld toegevoegd aan de orderregel en op deze wijze dat de waarde van de voorraad wordt opgeslagen op de orderregel. 

Zo gedaan en op een rustig moment in het weekend, zonder dat iemand er last van heeft. Tot de maandag iedereen ging werken met Odoo en bij iedere voorraadaanpassing Odoo alle orderregels ging bijwerken. Na een paar uur, was Odoo onhandelbaar traag geworden. Helaas legde niemand de relatie met de Studio aanpassing van de afgelopen zaterdag.

Moeilijk fouten op te sporen

Is het systeem traag? Is de data niet correct? Mist er een knop of menu? Ontbreekt er een veld? Dit kan meerdere oorzaken hebben, maar zijn ook allemaal problemen die door Studio veroorzaakt kunnen worden. Als er een code-aanpassing is gemaakt bestaan er allerlei tools om deze te checken, maar voor studio aanpassingen bestaat er geen handig log of debug tools die geraadpleegd kunnen worden. Dit zorgt ervoor dat fouten vaak lang onopgemerkt gaan en veel tijd, geld en energie kosten om te herstellen. 

Conclusie

Gebruik Odoo Studio voor het aanpassen van schermen door het toevoegen van bestaande velden of simpel nieuwe velden. Maak geen complexe velden en relationele velden aan als je niet weet wat je doet. Odoo Studio lijkt een mooie tool, maar het kan niet de kennis en kunde van een programmeur vervangen. 

Odoo is waarschijnlijk een heel belangrijk softwaresysteem in je bedrijf. Ga er verstandig mee om en als je niet weet wat je doet, vraag de hulp van een Odoo Expert. Wij staan voor je klaar.

Waarom is Odoo Studio niet de heilige graal?
Erwin van der Ploeg 24 maart 2023
Deel deze post
Labels