Eigene Demodaten für odoo

Die eigene Testumgebung

Benjamin Bachmann

Demo Daten für Odoo

Daten/Demodaten sind meist records die verschiedene Einträge in Die Datenbank integrieren und Felder logisch verknüpfen. 

Durch das anlegen von Demodaten kann man einen Server starten wo dann schon Vordefinierte Users, Produkte, Saleorders vorhabenden sind und man eine live Ähnliche Umgebung hat. 

Normale odoo Demodaten werde über die XML Dateien die unter der __openerp__.py. unter dem key demo gelistet werden eingebunden. Diese Daten werden nur dann eingespielt wenn der Benutzer beim dem erstellen der Datenbank den Hacken mit demo Daten angeklickt hatte.

Die normalen Daten xml sind Daten die immer bei der installation mit der Datenbank hinzugefügt werden. Solange sie nicht mit dem „noupdate“ Flag (<data noupdate=„1">) gesetzt sind, dann werden die Demo Daten nur bei der Installation einmalig dem System hinzugefügt. Ohne diesen Tag werden die Daten immer auf den ursprünglichen wert zurück gesetzt. Dies bietet ein optimal Testumgebung, da wenn man was geändert hat was man testen wollte, man dies einfach durch ein update wiederherstellen kann. 

Beispiel eines respartners für odoo

xml Datei

<?xml version="1.0" encoding="utf-8"?>

<openerp>

    <data noupdate="1">

        <record model="res.partner" id="res_partner_1">

            <field name=„name">Max Mustermann</field>

            <field name="company_id" ref="base.main_company" />

            <field name="parent_id" ref="base.main_partner" />

            <field name="use_parent_address" eval="True" />

            <field name="type">contact</field>

            <field name="customer" eval="False" />

            <field name="supplier" eval="False" />

            <field name="is_company" eval="False" />

            <field name="agent" eval="False" />

            <field name=„zip“>12345</field>

            <field name=„city“>Neustadt</field>

            <field name=„street“>Musterstrasse 1</field>

            <field name=„phone“>123456789</field>

        </record>

    </data>

</openerp>

Wie man hier sieht wird durch die data.xml ein res.partner der Datenbank hinzugefügt beim installieren dieses Add-ons. Durch den noupdate=„1" Flag wird dies auch nur ein einziges mal Gemacht und nicht jedesmal wenn man Dieses Add-on updaten.

Es gibt noch eine andere Art Daten in die Datenbank zu schreiben und zwar indem wir über odoo auch direct CSV Datein einlesen. Dies ist besonders bei großen mengen von Vorteil. Aber csv Daten haben auch Nachteile und nicht die rechte haben gewisse Sachen zu machen. Mir war es nicht möglich user über ein cvs Datei einen User zu erstellen.

cvs Datei

Wir fügen den unseren res.partner über ein cvs Datei der Datenbank hinzu.

„id“,“name“,“company_id“,“parent_id","use_parent_address",type","customer","supplier","is_company","agent","zip","city","street","phone"

„res_partner_1","Max Mustermann“,“base.main_company“,"base.main_partner","True","contact","False","False","False","False","12345","Neustadt","Musterstrasse 1","123456789",

In der CSV wird in der Ersten Zeile dem System gesagt wan welche position wir die Informationen in der Datenbank schreiben wollen, in den darauffolgenden Zeilen werden die Informationen dann aufgeführt. Wichtig ist das in odoo die cvs den Namen des Models Trägt in welche man die Daten schreiben möchte. In unserm Fall res.partner.csv. 

CSV Datein besitzen keinen „noupdate“ Flag und werden jedes mal beim update überschrieben. 

yaml Datei

Nun den res.partner anhand einer Yama Datei.

-

  !record {model: res.partner, id: res_partner_1}:

     name: Max Mustermann    

    company_id: base.main_company

    parent_id: base.main_partner

    use_parent_address: True

    type: contact

    customer: False

    supplier: False

    is_company: False

    agent: False“

    zip: 12345

    city: Neustadt

    street: Musterstrasse 1

    phone: 123456789

Der Haupt Vorteil von Demo Daten über Yaml ist das die Daten nur flüchtige Daten in der Datenbank sind wenn man sie für einen Test benötigt. Sie werden dann für den Test angelegt und nach dem Test wieder aus der Datenbank gelöscht. Man kann sie aber natürlich auch als normal demo Dateien benutzen. indem man sie in der __openerp__.py des Add-ons im Bereich 'data': [] hinzufügt.

Zusammenfassung

In XML Datein kann man Berechtigungen und Funktionen in ein Demo Datei integrieren. 

CSV sind ideal für große mengen von Daten, da man sie auch leicht erstellen kann oder aus der Datenbank extrahieren kann. 

Yaml Dateien Sind ideal für Tests, da man so Situation und Einträge in der Datenbank kurzerhand für einen Test erzeugen kann. 

Eine große Überschrift

Ein guter Untertitel

Eine gute Geschichte ist eine hervorragende Möglichkeit, um die Aufmerksamkeit Ihrer Besucher zu gewinnen. Alles, was Sie in Textform schreiben, sollte auch als Geschichte erzählt werden können.

Herausragende Geschichten mit persönlicher Ansprache. Sie sollten eine schöne und persönlich ansprechende Geschichte schreiben. Das Schreiben einer selbst erlebten Erfahrung hilft dabei eine persönliche Beziehung aufzubauen. Dies zeigt sich u.a. in kleinen spezifischen Macken bei der Wort- oder Phrasenwahl. Schreiben Sie am Besten aus Ihrer persönlichen Ich-Erzählperspektive.

Hervorragende Geschichten sind von generellem Interesse, selbst wenn sie nur für eine Person geschrieben wurde. Wenn Sie eine allgemeine Nachricht an eine große Zielgruppe im Hinterkopf haben, wird diese Story nicht ausreichend wahrgenommen. Schreiben Sie aus der Ich-Erzählperspektive, um eine höhere Aufmerksamkeit zu generieren.

About Benjamin Bachmann

The Mac expert and code maniac/ Recently started his path into the python and Odoo world/ Likes his coffee cold, but we love him anyway.