evenos Consulting GmbH 1
Plug-In Development
Jan Thielemann
evenos Consulting GmbH 2
Inhaltsverzeichnis
 Warum sollte ich Plug-Ins benutzen?
– Der ADempiere Weg
– Der iDempiere Weg
– Gründe für die Nutzung von Plug-Ins
 Was kann man mit Plug-Ins anstellen?
– Gewöhnliche Anwendungsfälle
– Spezielle Anwendungsfälle
 Wie entwickle ich mein eigenes Plug-In?
– Erste Schritte
– Best practice
 Wie kann ich meine Plug-Ins ausliefern?
– p2 Repositories
– Installation eines Plug-Ins aus einer jar Datei via Apache Felix Web Console
 Tips und Tricks
 Fazit
evenos Consulting GmbH 3
Warum sollte ich Plug-Ins benutzen?
ADempiere Weg:
 ADempiere auschecken und den Workspace konfigurieren
 Neues Projekt für Customizations erstellen oder Core Code verändern
 Projekt bauen und customization.jar ersetllen
 Server stoppen
 Dateien ersetzen oder customization.jar installieren (via setup/silentsetup)
 Migrationsscripte ausführen
 Server starten
Nachteile:
 Unbequem für Entwickler
 Fehleranfällig
 Server muss gestoppt werden
 Ant build.xml muss ggf. angepasst werden
 Klassen in der customization.jar musen die richtige Verzeichnisstruktur aufweisen
 Änderungen können nicht einfach ein- und ausgeschaltete werden
evenos Consulting GmbH 4
Warum sollte ich Plug-Ins benutzen?
iDempiere Weg:
 iDempiere auschecken und Workspace konfigurieren
 Plug-In Projekt erstellen
 Benutzung von Extension Points oder Component Definitions um Funktionen bereit zu stellen
 Plug-In exportieren
 Installation und Start des Plug-Ins zur Laufzeit
Vorteile:
 Modulare Architekture
 Einfach zu erlernen
 Server muss nicht gestoppt werden
 Core-Klassen müssen nicht mehr geändert werden
 Dependency Management
 Einfache Erweiterbarkeit
 Einfaches Updaten des Cores ohne Verlust von Funktionalität
Nachteile:
 Modifikation der Core-Klassen nicht möglich
 Es sind möglicherweise nicht alle Funktionen „OSGi-Ready“
evenos Consulting GmbH 5
Warum sollte ich Plug-Ins benutzen?
Gründe für die Nutzung von Plug-Ins:
 Funktionen für den privaten Gebrauch entwickeln und immer noch in der Lage sein, die
Community mit Bug Fixes für den Core zu versorgen (separate Projekte und Repositories)
 Einfaches und schnelles Testen neuer Funktionen mit Möglcihkeit eines einfachen Rollbacks.
 Gliederung von Funktionsbereichen in Plug-Ins (Kunde A bekommt Plug-In A und B, Kunde B nur
Plug-In B
 iDempiere Core kann stehts aktuell gehalten werden
 Funktionen lokal entwickeln und einfach auf einem produktiven System einspielen.
 Es wird kein so tiefes Verständnis für den Core benötigt um Plug-Ins zu entwickeln
 Marktplatzes für Erweiterungen
evenos Consulting GmbH 6
Was kann ich mit Plug-Ins anstellen?
Spezielle Aufgaben:
 Payment Processor
 Shipment Processor
 Attachements
 Pack In/Out
 PIPO Element Handlers
 Tabs
 Menus
Gewöhnliche Aufgaben:
 Model
 Modelvalidator
 Processes
 Callout
 Document
 Form
 Editor
 Infowindow
 Lookup
evenos Consulting GmbH 7
Wie entwickle ich mein eigenes Plug-In?
 iDempiere Source Code auschecken und Workspace konfigurieren
– Tutorials: http://www.globalqss.com/wiki/index.php/IDempiere
 Plug-In Development Tutorials im iDempiere Wiki
– http://wiki.idempiere.org/en/Category:Plug-In_Development
 Redhuan D. Oons Forum enthält auch viele nützliche Informationen
– http://red1.org/adempiere/index.php
 Von existierende Plug-Ins lernen
– iDempiere besteht aus Plug-Ins und viele von ihnen benutzen Extension Points und Component
Definitions an denen man sich orrientieren kann
 iDempiere Wiki und Google Groups
– http://wiki.idempiere.org/wiki/Main_Page
– https://groups.google.com/forum/#!forum/idempiere
 IRC Channel #idempiere (irc.freenode.net)
Erste Schritte:
evenos Consulting GmbH 8
Wie entwickle ich mein eigenes Plug-In?
Best Practice - Neues Plug-In erstellen
evenos Consulting GmbH 9
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 10
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 11
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 12
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 13
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 14
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 15
Wie entwickle ich mein eigenes Plug-In?
Best Practice – Manifest konfigurieren
evenos Consulting GmbH 16
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 17
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 18
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 19
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 20
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 21
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 22
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 23
Wie entwickle ich mein eigenes Plug-In?
Best Practice - 2Pack
evenos Consulting GmbH 24
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 25
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 26
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 27
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 28
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 29
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 30
Wie entwickle ich mein eigenes Plug-In?
Best Practice - RegisterBuddy, Extensions and
Components
evenos Consulting GmbH 31
Wie entwickle ich mein eigenes Plug-In?
RegisterBuddy
evenos Consulting GmbH 32
Wie entwickle ich mein eigenes Plug-In?
RegisterBuddy
evenos Consulting GmbH 33
Wie entwickle ich mein eigenes Plug-In?
RegisterBuddy
evenos Consulting GmbH 34
Wie entwickle ich mein eigenes Plug-In?
RegisterBuddy
evenos Consulting GmbH 35
Wie entwickle ich mein eigenes Plug-In?
Extension
evenos Consulting GmbH 36
Wie entwickle ich mein eigenes Plug-In?
Extension
evenos Consulting GmbH 37
Wie entwickle ich mein eigenes Plug-In?
Component
evenos Consulting GmbH 38
Wie entwickle ich mein eigenes Plug-In?
Component
evenos Consulting GmbH 39
Wie entwickle ich mein eigenes Plug-In?
Component
evenos Consulting GmbH 40
Wie entwickle ich mein eigenes Plug-In?
Component
evenos Consulting GmbH 41
Wie entwickle ich mein eigenes Plug-In?
Component
evenos Consulting GmbH 42
Wie entwickle ich mein eigenes Plug-In?
Component
evenos Consulting GmbH 43
Wie entwickle ich mein eigenes Plug-In?
Component
evenos Consulting GmbH 44
Wie entwickle ich mein eigenes Plug-In?
Component
evenos Consulting GmbH 45
Wie entwickle ich mein eigenes Plug-In?
Best Practice - Plug-Ins in den Client integrieren
evenos Consulting GmbH 46
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 47
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 48
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 49
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 50
Wie entwickle ich mein eigenes Plug-In?
Best practice - Export eines Plug-Ins als p2
Repositories oder als .jar
evenos Consulting GmbH 51
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 52
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 53
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 54
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 55
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 56
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 57
Wie entwickle ich mein eigenes Plug-In?
evenos Consulting GmbH 58
Wie kann ich meine Plug-Ins ausliefern?
 „The p2 project is a sub-project of Equinox that focuses on provisioning technology for OSGi-based applications.
Although p2 has specific support for installing Eclipse and Equinox-based applications, it includes a general-purpose
provisioning infrastructure that can be used as the basis for provisioning solutions for a wide variety of software
applications.“ - http://www.eclipse.org/equinox/p2/
 Kurz: Möglichkeit zum Installieren und Updateen von iDempiere und seinen Plug-Ins übers Internet
 iDempiere und Plug-Ins können in einem zentralen Repository gehostet werden
 Denkbar wäre ein iDempiere Marketplace für Plug-Ins
 Update iDempiere via Terminal:
– java -Dosgi.noShutdown=false -Dosgi.compatibility.bootdelegation=true -Dosgi.install.area=director -jar
plugins/org.eclipse.osgi_3.7.*.jar -application org.eclipse.equinox.p2.director -consoleLog -profileProperties
org.eclipse.update.install.features=true -destination $DESTINATION -repository
http://downloads.sourceforge.net/project/red1/p2/idempiere-server/ -u org.adempiere.server.product
– java -Dosgi.noShutdown=false -Dosgi.compatibility.bootdelegation=true -Dosgi.install.area=director -jar
plugins/org.eclipse.osgi_3.7.*.jar -application org.eclipse.equinox.p2.director -consoleLog -profileProperties
org.eclipse.update.install.features=true -destination $DESTINATION -repository
http://downloads.sourceforge.net/project/red1/p2/idempiere-server/ -i org.adempiere.server.product
p2 repositories:
evenos Consulting GmbH 59
Wie kann ich meine Plug-Ins ausliefern?
 Auf dem Server können Plug-Ins via Apache Felix Web Console installiert werden
– http://host:8080/osgi/system/console/bundles
 Server muss nicht gestoppt oder neu gestartet werden
 Terminal nicht notwendig
 Selbsterklärend
Apache Felix Web Console
evenos Consulting GmbH 60
●
installing/updating/removing plug-ins
evenos Consulting GmbH 61
●
installing/updating/removing plug-ins
evenos Consulting GmbH 62
Tips und Tricks
 Extending/Overriding base models
– Extend the base model and just create a new M class instead creating I, X and M classes
– Provide your model via ModelFactory
– This way, core classes can still cast your modified model
 Test plug-ins in Eclipse
– Open Run Configurations and select the application you want to run
– Switch to the Plug-ins tab and check the plug-ins you want to start
– Start the application
– Type „ss“ on the console to see the state of each plugin
– Start plug-ins with „start <nr>“
– Stop plug-ins with „stop <nr>“
– Remove plug-ins with „uninstall <nr>“
 OSGi console when starting the server via command line
– open idempiere-server.sh
– look for the number after „-console“
– to connect to the OSGi console use telnet
• e. g.: telnet localhost 12612
evenos Consulting GmbH 63
Tips und Tricks
 Wo finde ich Hilfe?
– iDempiere nahezu den selben Core wie ADempiere, daher sind die ADempiere Bücher immer
noch gut geeignet um ein tieferes Verständnis zu entwickeln
• ADempiere 3.6 Cookbook by Ajit Kumar
• ADempiere 3.4 ERP Solutions by Bayu Cahya Pamungkas
– ADempiere wiki: http://www.adempiere.com/ADempiere_ERP
– iDempiere wiki: http://wiki.idempiere.org/wiki/Main_Page
– Google group: https://groups.google.com/forum/?fromgroups#!forum/idempiere
– Redhuan D. Oon forum: http://red1.org/adempiere/index.php
– Global Quality System and Solutions wiki: http://www.globalqss.com/wiki/index.php/IDempiere
– Freenode irc: #idempiere
 Bug gefunden?
– Prüfen ob der Bug auch im iDempeire Demo System auftritt: https://demo.idempiere.com/
– Im IRC fragen, ob der Fehler auch von anderen reproduzierbar ist oder ob eventuell ein
Benutzungsfehler vorliegt
– Ticket anlegen
• Ticketsystem: http://jira.idempiere.com
evenos Consulting GmbH 64
Fazit
 iDempiere benutzt das Equinox OSGi Framework
 iDempiere erlaubt es, Funktionen einfach und schnell per Plug-In bereit zu stellen
 iDempiere lässt sich besser pflegen als ADempiere
 2Pack ist gut geeignet um Informationen zwischen zwei iDempiere Systemen auszutauschen
 iDempiere ist anfängerfreundlicher als ADempiere
 iDempiere erlaubt es, Funktionen bereit zu stellen, ohne den möglichen Source Code eines
Kunden zu kennen
 iDempiere ist sehr einfach zu erlenen, wenn man sich bereits mit ADempiere auskennt
evenos Consulting GmbH 65
Vielen Dank für eure Aufmerksamkeit
Noch Fragen? Schreib mir eine Mail an jan.thielemann@evenos.de

Präsentation plug in development

  • 1.
    evenos Consulting GmbH1 Plug-In Development Jan Thielemann
  • 2.
    evenos Consulting GmbH2 Inhaltsverzeichnis  Warum sollte ich Plug-Ins benutzen? – Der ADempiere Weg – Der iDempiere Weg – Gründe für die Nutzung von Plug-Ins  Was kann man mit Plug-Ins anstellen? – Gewöhnliche Anwendungsfälle – Spezielle Anwendungsfälle  Wie entwickle ich mein eigenes Plug-In? – Erste Schritte – Best practice  Wie kann ich meine Plug-Ins ausliefern? – p2 Repositories – Installation eines Plug-Ins aus einer jar Datei via Apache Felix Web Console  Tips und Tricks  Fazit
  • 3.
    evenos Consulting GmbH3 Warum sollte ich Plug-Ins benutzen? ADempiere Weg:  ADempiere auschecken und den Workspace konfigurieren  Neues Projekt für Customizations erstellen oder Core Code verändern  Projekt bauen und customization.jar ersetllen  Server stoppen  Dateien ersetzen oder customization.jar installieren (via setup/silentsetup)  Migrationsscripte ausführen  Server starten Nachteile:  Unbequem für Entwickler  Fehleranfällig  Server muss gestoppt werden  Ant build.xml muss ggf. angepasst werden  Klassen in der customization.jar musen die richtige Verzeichnisstruktur aufweisen  Änderungen können nicht einfach ein- und ausgeschaltete werden
  • 4.
    evenos Consulting GmbH4 Warum sollte ich Plug-Ins benutzen? iDempiere Weg:  iDempiere auschecken und Workspace konfigurieren  Plug-In Projekt erstellen  Benutzung von Extension Points oder Component Definitions um Funktionen bereit zu stellen  Plug-In exportieren  Installation und Start des Plug-Ins zur Laufzeit Vorteile:  Modulare Architekture  Einfach zu erlernen  Server muss nicht gestoppt werden  Core-Klassen müssen nicht mehr geändert werden  Dependency Management  Einfache Erweiterbarkeit  Einfaches Updaten des Cores ohne Verlust von Funktionalität Nachteile:  Modifikation der Core-Klassen nicht möglich  Es sind möglicherweise nicht alle Funktionen „OSGi-Ready“
  • 5.
    evenos Consulting GmbH5 Warum sollte ich Plug-Ins benutzen? Gründe für die Nutzung von Plug-Ins:  Funktionen für den privaten Gebrauch entwickeln und immer noch in der Lage sein, die Community mit Bug Fixes für den Core zu versorgen (separate Projekte und Repositories)  Einfaches und schnelles Testen neuer Funktionen mit Möglcihkeit eines einfachen Rollbacks.  Gliederung von Funktionsbereichen in Plug-Ins (Kunde A bekommt Plug-In A und B, Kunde B nur Plug-In B  iDempiere Core kann stehts aktuell gehalten werden  Funktionen lokal entwickeln und einfach auf einem produktiven System einspielen.  Es wird kein so tiefes Verständnis für den Core benötigt um Plug-Ins zu entwickeln  Marktplatzes für Erweiterungen
  • 6.
    evenos Consulting GmbH6 Was kann ich mit Plug-Ins anstellen? Spezielle Aufgaben:  Payment Processor  Shipment Processor  Attachements  Pack In/Out  PIPO Element Handlers  Tabs  Menus Gewöhnliche Aufgaben:  Model  Modelvalidator  Processes  Callout  Document  Form  Editor  Infowindow  Lookup
  • 7.
    evenos Consulting GmbH7 Wie entwickle ich mein eigenes Plug-In?  iDempiere Source Code auschecken und Workspace konfigurieren – Tutorials: http://www.globalqss.com/wiki/index.php/IDempiere  Plug-In Development Tutorials im iDempiere Wiki – http://wiki.idempiere.org/en/Category:Plug-In_Development  Redhuan D. Oons Forum enthält auch viele nützliche Informationen – http://red1.org/adempiere/index.php  Von existierende Plug-Ins lernen – iDempiere besteht aus Plug-Ins und viele von ihnen benutzen Extension Points und Component Definitions an denen man sich orrientieren kann  iDempiere Wiki und Google Groups – http://wiki.idempiere.org/wiki/Main_Page – https://groups.google.com/forum/#!forum/idempiere  IRC Channel #idempiere (irc.freenode.net) Erste Schritte:
  • 8.
    evenos Consulting GmbH8 Wie entwickle ich mein eigenes Plug-In? Best Practice - Neues Plug-In erstellen
  • 9.
    evenos Consulting GmbH9 Wie entwickle ich mein eigenes Plug-In?
  • 10.
    evenos Consulting GmbH10 Wie entwickle ich mein eigenes Plug-In?
  • 11.
    evenos Consulting GmbH11 Wie entwickle ich mein eigenes Plug-In?
  • 12.
    evenos Consulting GmbH12 Wie entwickle ich mein eigenes Plug-In?
  • 13.
    evenos Consulting GmbH13 Wie entwickle ich mein eigenes Plug-In?
  • 14.
    evenos Consulting GmbH14 Wie entwickle ich mein eigenes Plug-In?
  • 15.
    evenos Consulting GmbH15 Wie entwickle ich mein eigenes Plug-In? Best Practice – Manifest konfigurieren
  • 16.
    evenos Consulting GmbH16 Wie entwickle ich mein eigenes Plug-In?
  • 17.
    evenos Consulting GmbH17 Wie entwickle ich mein eigenes Plug-In?
  • 18.
    evenos Consulting GmbH18 Wie entwickle ich mein eigenes Plug-In?
  • 19.
    evenos Consulting GmbH19 Wie entwickle ich mein eigenes Plug-In?
  • 20.
    evenos Consulting GmbH20 Wie entwickle ich mein eigenes Plug-In?
  • 21.
    evenos Consulting GmbH21 Wie entwickle ich mein eigenes Plug-In?
  • 22.
    evenos Consulting GmbH22 Wie entwickle ich mein eigenes Plug-In?
  • 23.
    evenos Consulting GmbH23 Wie entwickle ich mein eigenes Plug-In? Best Practice - 2Pack
  • 24.
    evenos Consulting GmbH24 Wie entwickle ich mein eigenes Plug-In?
  • 25.
    evenos Consulting GmbH25 Wie entwickle ich mein eigenes Plug-In?
  • 26.
    evenos Consulting GmbH26 Wie entwickle ich mein eigenes Plug-In?
  • 27.
    evenos Consulting GmbH27 Wie entwickle ich mein eigenes Plug-In?
  • 28.
    evenos Consulting GmbH28 Wie entwickle ich mein eigenes Plug-In?
  • 29.
    evenos Consulting GmbH29 Wie entwickle ich mein eigenes Plug-In?
  • 30.
    evenos Consulting GmbH30 Wie entwickle ich mein eigenes Plug-In? Best Practice - RegisterBuddy, Extensions and Components
  • 31.
    evenos Consulting GmbH31 Wie entwickle ich mein eigenes Plug-In? RegisterBuddy
  • 32.
    evenos Consulting GmbH32 Wie entwickle ich mein eigenes Plug-In? RegisterBuddy
  • 33.
    evenos Consulting GmbH33 Wie entwickle ich mein eigenes Plug-In? RegisterBuddy
  • 34.
    evenos Consulting GmbH34 Wie entwickle ich mein eigenes Plug-In? RegisterBuddy
  • 35.
    evenos Consulting GmbH35 Wie entwickle ich mein eigenes Plug-In? Extension
  • 36.
    evenos Consulting GmbH36 Wie entwickle ich mein eigenes Plug-In? Extension
  • 37.
    evenos Consulting GmbH37 Wie entwickle ich mein eigenes Plug-In? Component
  • 38.
    evenos Consulting GmbH38 Wie entwickle ich mein eigenes Plug-In? Component
  • 39.
    evenos Consulting GmbH39 Wie entwickle ich mein eigenes Plug-In? Component
  • 40.
    evenos Consulting GmbH40 Wie entwickle ich mein eigenes Plug-In? Component
  • 41.
    evenos Consulting GmbH41 Wie entwickle ich mein eigenes Plug-In? Component
  • 42.
    evenos Consulting GmbH42 Wie entwickle ich mein eigenes Plug-In? Component
  • 43.
    evenos Consulting GmbH43 Wie entwickle ich mein eigenes Plug-In? Component
  • 44.
    evenos Consulting GmbH44 Wie entwickle ich mein eigenes Plug-In? Component
  • 45.
    evenos Consulting GmbH45 Wie entwickle ich mein eigenes Plug-In? Best Practice - Plug-Ins in den Client integrieren
  • 46.
    evenos Consulting GmbH46 Wie entwickle ich mein eigenes Plug-In?
  • 47.
    evenos Consulting GmbH47 Wie entwickle ich mein eigenes Plug-In?
  • 48.
    evenos Consulting GmbH48 Wie entwickle ich mein eigenes Plug-In?
  • 49.
    evenos Consulting GmbH49 Wie entwickle ich mein eigenes Plug-In?
  • 50.
    evenos Consulting GmbH50 Wie entwickle ich mein eigenes Plug-In? Best practice - Export eines Plug-Ins als p2 Repositories oder als .jar
  • 51.
    evenos Consulting GmbH51 Wie entwickle ich mein eigenes Plug-In?
  • 52.
    evenos Consulting GmbH52 Wie entwickle ich mein eigenes Plug-In?
  • 53.
    evenos Consulting GmbH53 Wie entwickle ich mein eigenes Plug-In?
  • 54.
    evenos Consulting GmbH54 Wie entwickle ich mein eigenes Plug-In?
  • 55.
    evenos Consulting GmbH55 Wie entwickle ich mein eigenes Plug-In?
  • 56.
    evenos Consulting GmbH56 Wie entwickle ich mein eigenes Plug-In?
  • 57.
    evenos Consulting GmbH57 Wie entwickle ich mein eigenes Plug-In?
  • 58.
    evenos Consulting GmbH58 Wie kann ich meine Plug-Ins ausliefern?  „The p2 project is a sub-project of Equinox that focuses on provisioning technology for OSGi-based applications. Although p2 has specific support for installing Eclipse and Equinox-based applications, it includes a general-purpose provisioning infrastructure that can be used as the basis for provisioning solutions for a wide variety of software applications.“ - http://www.eclipse.org/equinox/p2/  Kurz: Möglichkeit zum Installieren und Updateen von iDempiere und seinen Plug-Ins übers Internet  iDempiere und Plug-Ins können in einem zentralen Repository gehostet werden  Denkbar wäre ein iDempiere Marketplace für Plug-Ins  Update iDempiere via Terminal: – java -Dosgi.noShutdown=false -Dosgi.compatibility.bootdelegation=true -Dosgi.install.area=director -jar plugins/org.eclipse.osgi_3.7.*.jar -application org.eclipse.equinox.p2.director -consoleLog -profileProperties org.eclipse.update.install.features=true -destination $DESTINATION -repository http://downloads.sourceforge.net/project/red1/p2/idempiere-server/ -u org.adempiere.server.product – java -Dosgi.noShutdown=false -Dosgi.compatibility.bootdelegation=true -Dosgi.install.area=director -jar plugins/org.eclipse.osgi_3.7.*.jar -application org.eclipse.equinox.p2.director -consoleLog -profileProperties org.eclipse.update.install.features=true -destination $DESTINATION -repository http://downloads.sourceforge.net/project/red1/p2/idempiere-server/ -i org.adempiere.server.product p2 repositories:
  • 59.
    evenos Consulting GmbH59 Wie kann ich meine Plug-Ins ausliefern?  Auf dem Server können Plug-Ins via Apache Felix Web Console installiert werden – http://host:8080/osgi/system/console/bundles  Server muss nicht gestoppt oder neu gestartet werden  Terminal nicht notwendig  Selbsterklärend Apache Felix Web Console
  • 60.
    evenos Consulting GmbH60 ● installing/updating/removing plug-ins
  • 61.
    evenos Consulting GmbH61 ● installing/updating/removing plug-ins
  • 62.
    evenos Consulting GmbH62 Tips und Tricks  Extending/Overriding base models – Extend the base model and just create a new M class instead creating I, X and M classes – Provide your model via ModelFactory – This way, core classes can still cast your modified model  Test plug-ins in Eclipse – Open Run Configurations and select the application you want to run – Switch to the Plug-ins tab and check the plug-ins you want to start – Start the application – Type „ss“ on the console to see the state of each plugin – Start plug-ins with „start <nr>“ – Stop plug-ins with „stop <nr>“ – Remove plug-ins with „uninstall <nr>“  OSGi console when starting the server via command line – open idempiere-server.sh – look for the number after „-console“ – to connect to the OSGi console use telnet • e. g.: telnet localhost 12612
  • 63.
    evenos Consulting GmbH63 Tips und Tricks  Wo finde ich Hilfe? – iDempiere nahezu den selben Core wie ADempiere, daher sind die ADempiere Bücher immer noch gut geeignet um ein tieferes Verständnis zu entwickeln • ADempiere 3.6 Cookbook by Ajit Kumar • ADempiere 3.4 ERP Solutions by Bayu Cahya Pamungkas – ADempiere wiki: http://www.adempiere.com/ADempiere_ERP – iDempiere wiki: http://wiki.idempiere.org/wiki/Main_Page – Google group: https://groups.google.com/forum/?fromgroups#!forum/idempiere – Redhuan D. Oon forum: http://red1.org/adempiere/index.php – Global Quality System and Solutions wiki: http://www.globalqss.com/wiki/index.php/IDempiere – Freenode irc: #idempiere  Bug gefunden? – Prüfen ob der Bug auch im iDempeire Demo System auftritt: https://demo.idempiere.com/ – Im IRC fragen, ob der Fehler auch von anderen reproduzierbar ist oder ob eventuell ein Benutzungsfehler vorliegt – Ticket anlegen • Ticketsystem: http://jira.idempiere.com
  • 64.
    evenos Consulting GmbH64 Fazit  iDempiere benutzt das Equinox OSGi Framework  iDempiere erlaubt es, Funktionen einfach und schnell per Plug-In bereit zu stellen  iDempiere lässt sich besser pflegen als ADempiere  2Pack ist gut geeignet um Informationen zwischen zwei iDempiere Systemen auszutauschen  iDempiere ist anfängerfreundlicher als ADempiere  iDempiere erlaubt es, Funktionen bereit zu stellen, ohne den möglichen Source Code eines Kunden zu kennen  iDempiere ist sehr einfach zu erlenen, wenn man sich bereits mit ADempiere auskennt
  • 65.
    evenos Consulting GmbH65 Vielen Dank für eure Aufmerksamkeit Noch Fragen? Schreib mir eine Mail an jan.thielemann@evenos.de

Hinweis der Redaktion

  • #45 Implementation der ModelFactory
  • #47 feature.xml in org.adempiere.ui.swing-feature