Diskussion:Anleitung zur Migration von Modulen: Unterschied zwischen den Versionen

Aus iDempiere de
Wechseln zu:Navigation, Suche
(autom. Übersetzung des PDF)
 
(erste nachbearbeitete Passagen für die dt. Übersetzung)
Zeile 1: Zeile 1:
automatische Übersetzung von http://sourceforge.net/projects/red1/files/ADempiere%20PDFs/iDempiereMigrationGuide2.pdf/download
+
nachbearbeitete Übersetzung von http://sourceforge.net/projects/red1/files/ADempiere%20PDFs/iDempiereMigrationGuide2.pdf/download
 
am 26.12.2012 per googletranslate:
 
am 26.12.2012 per googletranslate:
  
 
+
IDEMPIERE
 
+
                                                           Open Source ERP auf OSGi-Technologie
                                                        I      D        E      M      P        I    E        R      E
+
                                         Ein Entwickler-MIGRATION PLAN
                                                           Open Source ERP on OSGi Technology
+
                                                                                         durch
                                         A DEVELOPER’S MIGRATION PLAN
 
                                                                                         by
 
 
                                                                         REDHUAN D. OON
 
                                                                         REDHUAN D. OON
                                                                     Boss of Open Source ERP Freedom
+
                                                                     Boss der Open Source ERP Freedom
 
                                                                                   Version 2.0
 
                                                                                   Version 2.0
P o s s i b l e s a f e - h o u s e s : K u a l a L u m p u r - P a r i s - Vi e n n a - B a n g k o k - B a n d u n g - M a n i l a - B o g o t a - F o r t a l e z a - D h a k a
+
P ossiblesafe - Häuser: K UALA L umpur - P aris - Vi enna - B angkok - B andung - M anila - B ogota - F Ortaleza - D haka
 
!
 
!
                                           Godfather - Final Chapter
+
                                           Godfather - Finales Kapitel
Some eight years ago there were two parts of the Godfather series: http://compiere.red1.org/XML2AD.zip
+
Etwa acht Jahren gab es zwei Teile des Godfather Serie: http://compiere.red1.org/XML2AD.zip
Today is the day the final chapter is presented here to complete a great story. But first some nostalgia.
+
Heute ist der Tag, an dem das letzte Kapitel hier vorgestellt wird, um eine große Geschichte zu vollenden. Aber zuerst etwas Nostalgie.
Open Source ERP beginning with Compiere in 2003 has inspired me deeply, providing not just the code of freedom to
+
Open Source ERP beginnend mit Compiere im Jahr 2003 hat mich tief inspiriert und erlaubt nicht nur den Code frei
modify but the community of members from all around the globe to fraternise with. I got to see quite abit outside my
+
zu ändern, sondern teilzunehmen an der Gemeinschaft der Mitglieder auf der ganzen Welt.
otherwise peaceful suburb farm living conditions.
+
 
In Dortmund having a meal with Joerg Viola’s
+
<strike>
                                              Boarding a small pirate ship in Fortaleza, Brazil Twice in Libya - 2010 / 2012. This time around,
+
Ich habe ganz abit außerhalb meines zu sehen
group. Also present was Trifon Trifonov - 2009
+
ansonsten ruhigen Vorort Bauernhof Lebensbedingungen.
                                               - 2012                                           the brother leader is gone.
+
In Dortmund eine Mahlzeit mit Jörg Viola
The Quest for Freedom
+
Einsteigen in ein kleines Piratenschiff in Fortaleza, Brasilien Zweimal in Libyen - 2010/2012. Diesmal
Coupled with this new cyber-world, it started with Marco Lombardo from Italy in 2004, where he first introduced me
+
Gruppe. Ebenfalls anwesend war Trifon Trifonov - 2009
to his XML2AD which captures Application Dictionary or AD changes for porting to another Compiere instance. This
+
                                               - 2012 der Bruder Führer ist verschwunden.
avoid repetitive work to replicate similar changes from a particular module to other companies’ ERP systems that
+
</strike>
were also using Compiere at that time.
+
 
I helped broaden his circle by writing about his effort those early years that attracted Trifon Trifonov of Bulgaria and
+
Die Herausforderung der Freiheit
particularly Robert Klein in USA who tackled the problem from another angle with what he created as 2Pack. It is
+
Zusammen mit dieser neuen Cyber-Welt, begann die Gescjhichte mit Marco Lombardo aus Italien im Jahr 2004, als er mich zuerst eingewiesen hat,
more user-friendly and it is inbuilt into the application itself allowing normal users to conduct such migration of
+
wie man mit XML2AD die Anwendung Wörterbuch oder AD-Änderungen für die Portierung zu einer anderen Compiere Instanz erfasst.  
modules without expert coder knowledge, right from the main menu itself.
+
Dies vermeidet sich wiederholende Arbeiten bei ähnlichen Veränderungen, indem ein bestimmtes Modul repliziert wird, wie dies auch bei anderen Unternehmen mit ERP-Systeme unter Verwendung von Compiere zu dieser Zeit geschehen ist.
With the passage of ADempiere from 2006-2011, and then the transition to iDempiere early 2011, based on the Equi-
+
Ich half den Kreis zu  erweitern, indem er über seine Anstrengungen diese frühen Jahre, die Trifon Trifonov Bulgarien angezogen und
nox OSGi plugin framework, the 2Pack not only remained but evolved into something remarkably powerful. The
+
besonders Robert Klein in den USA, die in Angriff genommen wurden, um das Problem aus einem anderen Blickwinkel zu lösen.
reason is that first basic idea from Marco which is a universal idea of freedom. Every implementor’s wish is to avoid
+
Dabei entstand, was er schuf, 2K. Es ist anwenderfreundlicher und versetzt damit selbst normale Benutzer in die Lage, eine Migration durchzuführen.
redundant work and enjoy the freedom to merge work freely from multiple sources and in the simplest terms. The
+
Dies wird ermöglicht über Module, die direkt über das Hauptmenü ohne Experten oder spezielles Wissen aufgerufen werden können.
OSGi adoption was first attempted by Schmidt András of Hungary in July 2008. Then Joerg Viola from Germany
+
Im Laufe der Entwicklung zu ADempiere von 2006-2011, und dann der Übergang zu iDempiere Anfang 2011 auf der Grundlage Equi-
stepped in around March, 2009 and Low Heng Sin soon after and it is Low under sponsorship of TrekGlobal (run by
+
nox OSGi Plugin-Framework, hat 2K nicht nur seinen Status Quo gehalten, sondern entwickelte sich zu einem erstaunlich mächtigen Werkzeug.  
another member of the family in USA formerly Idalica) that sees this OSGi jump completed in all its glory today.
+
Grund dafür ist, dass die erste grundlegende Inspiration von Marco, die eine universale Idee der Freiheit ist. Jeder Programentwickler wünscht sich, redundante Arbeit zu vermeiden und Sie die Freiheit bei der Code-Entwicklung zu genießen, Arbeit frei aus mehreren Quellen und in der einfachsten Form zusammenzuführen.  
Now, I have the final pleasure in this tutorial to expose step by step how you can migrate your changes in the format
+
Die Umsetzung unter OSGi wurde zuerst von Schmidt András aus Ungarn im Juli 2008 versucht. Nachfolger war Joerg Viola aus Deutschland
that is highly portable and modular. Today you can stay safe and happy in this family. But you are free to decouple. :)
+
um etwa März 2009 und bald danach Low Heng Sin.
 +
Es ist ein Verdienst von TrekGlobal (betrieben von Low, einem anderen Mitglied der Familie in den USA, früher Idalica), dass dieser
 +
Paradigmenwechsel zu OSGi in heute vollständ funktionstüchtig abgeschlossen ist.
 +
Jetzt habe ich das Vergnügen, in diesem Tutorial Schritt für Schritt aufzuzeigen, wie Sie Ihre Änderungen im 2K Format migrieren können.
 +
Das geschieht sehr portabel und modular. Mittlerweile können Sie sicher und glücklich in dieser iDempiere-Familie bleiben.  
 +
Aber Sie sind jederzeit frei, einen anderen Weg zu wählen. :)
 +
 
 
Redhuan D. Oon
 
Redhuan D. Oon
!         8.22 pm, Thursday, November 8, 2012,
+
! 08.22, Donnerstag, 8. November 2012,
!         Kuang, Selangor, Malaysia
+
! Kuang, Selangor, Malaysia
 
!
 
!
 
!
 
!
 
!
 
!
     Sponsored by
+
     Gefördert durch
   BANGLADESH
+
   BANGLADESCH
 
!
 
!
 
!
 
!
                             He who is deaf, blind and silent, lives a thousand years in peace.
+
                             Wer taub, blind und stumm ist, lebt tausend Jahre in Frieden.
 
                                                   John Gotti, 1940-2002
 
                                                   John Gotti, 1940-2002
                                   Boss of the Gambino crime family in New York City
+
                                   Boss der Gambino Mafia-Familie in New York City
DISCLAIMER:
+
 
      This tutorial is written by someone with an attitude as he undergoes great mental stress to study as it
+
Hinweis für Entwickler:
       involves thinking. As such, he will experience long lapses of insanity where his mind seeks refuge in
+
 
       ritual, escapism, denial and waste. Thus in order for him to produce (ouch!) any activity of human
+
       Der Leser sollte grundlegenden Kenntnisse im A/IDempiere Kontext haben. Dieses Tutorial erwartet
      interest (ouch! ouch!) his work (argh!) is inevitably injected with kicks and prose (ahhh nice). Mind
+
       hohe Bereitschaft, einige Hintergrundinformationen für das Projekt zu erforschen.
      you, it still does not produce sufficient anesthetic effect compounded that he is at the moment far
+
       Die erforderliche Terminologie, können Neulinge bei Google o.ä. über einen Web-Browser auf einem PC nachschlagen.  
      away from the green grassy countryside of Austria where he had aplenty last year in winter with his
+
       Es gibt ausreichende Ressourcen über unserer Werke vor allem unter www.adempiere.com und www.idempiere.org oder verstreut über viele
       buddy Didiber there, who is another mental wreck.
+
       einzelne Blogs, einschließlich www.red1.org.
      Also he is using Victorian English so you just cannot pronounce them any other way.
+
      Dieses Tutorial versucht, einen zusammenhängenden Workshop an einem einzigen Ort zu sammeln, aber nur
DEVELOPER’S NOTE:
+
       zu einem bestimmten Thema. Anfänger finden die grundlegenden Details bereits an anderen Orten beschrieben.
      The reader should be one who comes from some basic ADempiere background. This tutorial expects
+
       Wir werden die fundamentalen Prinzipien stichwortartig wiederholen, so dass auch eingerostetes Wissen wieder aufgefrischt wird.  
      some willingness, make that high degree of willingness to do some background research for project
+
       Der Rahmen meiner Arbeit vermittelt in der Regel die zu Grunde liegenden Ideen und Konzepte, und zeigt, dass
      terminology that are new to newbies which you can easily google for further reading online, via a
+
       dieses Projekt wirklich etwas Besonderes ist. Auch wenn es sich vielleicht nicht auf den ersten Blick erschließt,  
      web browser, on a PC. There are ample resources already on our works particularly in
+
       handelt es sich um einen gut funktionierenden Gesamtkomplex, vertrauen Sie mir.
       www.adempiere.com and www.idempiere.org or strewn across many individual blogs including
+
       Der Einstieg gestaltet sich mit dieser Dokumentation weniger schmerzhaft als ohne Tutorials.
       mine at www.red1.org and this tutorial is trying to put a cohesive teaching in a single place but only
+
       Die Illustrationen vermitteln einen guten Einblick und enthalten genug Verweise, um bei Bedarf Bedarf oder regelmäßig überprüft zu werden.
       about a particular topic set. It may not get into other beginner’s gory details already written else-
+
 
       where and is written like a song. Hopefully after listening to it again and again you can sing it. The
 
       context of my work is usually to do justice to the underlying ideas and concepts that makes this pro-
 
       ject truly special. Even if you don’t understand a single idea, trust me, its less painful than without
 
       such tutorials.
 
       Even its illustrations make good cue and reference enough to be revisited again and again by an eager
 
       and open mind.
 
 
!
 
!
 
!
 
!
                           TABLE OF CONTENTS
+
                           INHALTSVERZEICHNIS
   Opening comments!                         1
+
   Eröffnung Kommentare! 1
   Migrate what?!                             1
+
   Migrieren was?! 1
   How to migrate?!                          2
+
   Wie zu migrieren? 2
   A module to migrate!                       3
+
   Ein Modul zur Migration! 3
   Doing a Pack Out!                         4
+
   Doing eine Packung! 4
   Reviewing your code!                       4
+
   Prüfen Sie Ihre Code! 4
   Preparing your Eclipse!                   5
+
   Vorbereiten Ihres Eclipse! 5
   Create new plugin project!                 5
+
   Neues Plugin-Projekt! 5
   Review your plugin!                       7
+
   Überprüfen Sie Ihre Plugins! 7
   Activating your Plugin!                   8
+
   Aktivieren Sie Ihre Plugin! 8
   Closing remarks!                         10
+
   Schlusswort! 10
   Epilogue - Using Extension Points!       11
+
   Epilog - Mit Extension Points! 11
   Epilogue 2 - Deploying Plugin!           13
+
   Epilogue 2 - Bereitstellen Plugin! 13
 
!
 
!
i D e m p i e r e O p e n S o u r c e E R P o n O S G i Te c h n o l o g y!                                   A Developer ’s Migration Plan
+
iDempiere Open Source ERP mit OSGi Technik! Ein Migration-Plan für Entwickler
Opening comments
+
einleitende Kommentare
Trying to convey about something fundamental to the newcomer user implementor or developer is not easy. Like the
+
 
Holy Books, it involves giving the pieces piece by piece instead of throwing a big chunk for the believers to choke on.
+
Der Versuch, das grundlegende Wissen für die neu hinzugekommenen Benutzer oder Entwickler zu vermitteln ist nicht einfach. Wie die
So the first piece is very decisive and I been wondering what to tell first and the rest in succession at the right time. It
+
Heilige Bücher, geht es darum, die Informationen Stücke für Stück zu vermitteln, da zu viele Informationen drohen,
can begin with the right questions and answers.
+
das Interesse der Gläubigen zu ersticken.
What is an Open Source ERP System?
+
So ist der Einstieg sehr entscheidend und habe mich gefragt, was sage ich wann im ersten Teil und den restlichen folgenden Kapiteln. Es
I think this is the very first question to be asked. I would answer it that an ERP system is essentially a bunch of code
+
kann mit den richtigen Fragen und Antworten zu beginnen.
and data. But for Open Source there is something extra. It has two owners. One is the primal mover or vendor or
+
Was ist ein Open Source ERP-System?
community that is responsible to maintain its codebase as given. The other are the users themselves that will modify
+
Ich denke, dies ist die erste Frage, die gestellt werden. Würde ich antworten, dass ein ERP-System im Wesentlichen eine Reihe von Code
the code to their own content and it need not be given back to the community because it is peculiar to certain users
+
und Daten. Aber für Open Source gibt es etwas extra. Es hat zwei Eigentümer. Eine davon ist die Ur-Kraft-oder Verkäufer oder
only.
+
Gemeinschaft, die dafür verantwortlich, ihre Codebasis zu halten als gegeben ist. Die anderen sind die Nutzer selbst, die ändern wird
Now with that simplistic explanation out of the way, we then ask the million dollar question of ‘what then is the
+
Der Code, um ihre eigenen Inhalte und es muss nicht zurück in die Gemeinschaft gegeben werden, weil es die für bestimmte Anwender ist
problem?
+
nur.
Why migrate?
+
Jetzt mit dieser simplen Erklärung aus dem Weg, wir fragen dann die Millionen-Dollar-Frage: "Was ist dann die
Well, for anyone working with software the main big headache is maintenance of bugs, and upgrading the fixes or
+
Problem?
changes. What more now that the users have modified their own source and configuration model that it may conflict
+
Warum migrieren?
with the main fixes from the original owner or community behind it. An ERP is also a monster if you put everything
+
Nun, für alle, die mit Software der wichtigste große Kopfschmerzen ist wartungsfrei von Bugs, und die Verbesserung der Fixes oder
together. It makes sense for the ERP core to be a common ground for most users and minor users find their way in
+
Änderungen. Was nun, dass die Benutzer ihre eigenen Quelle und Konfigurations-Modell, dass es zu Konflikten modifiziert
using add-on modules and in iDempiere case, as plugin modules/
+
mit den wichtigsten Updates aus dem ursprünglichen Eigentümer oder Gemeinde dahinter. Ein ERP-System ist auch ein Monster, wenn man alles genommen
The challenge is to migrate safely and surely without breaking anything. The cover diagram earlier shows how there
+
zusammen. Es macht Sinn für das ERP-Kern eine gemeinsame Basis für die meisten Anwender und kleinere Anwender finden ihren Weg in
is a present day System A of end-users and they will want to get to System B which is a future system that is working
+
mit Add-on-Modulen und in iDempiere Fall als Plugins /
with latest fixes or major upgrades and they need to migrate their own customised changes over. Or consider System
+
Die Herausforderung ist sicher und sicher migrieren, ohne etwas zu zerbrechen. Die Abdeckung Diagramm früher zeigt, wie es
B as a target system which belongs to a separate do-
+
ist ein Geschenk Tag System A von Endnutzern und sie wollen auf System B zu erhalten, welche eine Zukunft, das funktioniert
main that they want to send the changes over to.
+
mit den neuesten Updates oder wichtige Upgrades und sie brauchen, um ihre eigenen migrieren kundenspezifische Änderungen über. Oder betrachten Systems
Migrate what?
+
B als Target, das an eine separate do-gehört
The next good question is what exactly is sent over?
+
wichtigsten, dass sie die Veränderungen im Laufe senden möchten.
Is it just code? Yes and No. With the Compiere family
+
Migrieren was?
which both ADempiere and iDempiere is based on,
+
Die nächste gute Frage ist, was genau gesendet wird, vorbei ist?
the changes can be both code and data. And the data
+
Ist es nur Code? Ja und Nein Mit Compiere Familie
is meta-data that configures the Application Diction-
+
die beide ADempiere und iDempiere basiert,
ary that determines the look and feel and model of
+
die Änderungen können sowohl Code und Daten sein. Und die Daten
the system such as Menus, Windows, Tabs, Tables,
+
meta-Daten, konfiguriert die Anwendung Diction-
Processes and other settings that are not hard-coded
+
ary, die das Aussehen und das Gefühl und das Modell bestimmt
but stored separately in such meta-data so to speak.
+
das System, wie Menüs, Windows, Tabs, Tabellen,
If we look again at the diagram but think of what we
+
Prozesse und andere Einstellungen, die nicht hartcodierte
just said it will look like this on the right with two
+
aber getrennt derart Metadaten gespeichert sozusagen.
terms been highlighted - AD and code.
+
Wenn wir uns wieder auf das Diagramm aber denken Sie an das, was wir
AD stands for Application Dictionary, the meta-data. What this diagram is saying is that the AD is sent over as 2Pack
+
sagte nur, es sieht wie folgt auf der rechten Seite zu sehen mit zwei
whereas the code is sent as a new plugin, developed using a developer’s tool called Eclipse.
+
Begriffe hervorgehoben worden - AD und Code.
 +
AD steht für Application Dictionary, die Meta-Daten. Was dieses Diagramm sagt, ist, dass die AD über als 2K geschickt
 +
während der Code als neues Plugin gesendet wird, unter Verwendung eines Entwicklers Tool namens Eclipse.
 
!
 
!
   Copyleft 2012 Redhuan D. Oon                                             S Y S N O VA , B a n g l a d e s h                        Page 1
+
   Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh Page 1
i D e m p i e r e O p e n S o u r c e E R P o n O S G i Te c h n o l o g y!                                   A Developer ’s Migration Plan
+
i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan
How to migrate?
+
Wie zu migrieren?
Then the next thing is to see both of that been done. The first is using 2Pack which will export the changes in the form
+
Dann wird die nächste Sache ist, beide, dass getan zu sehen. Die erste ist mit 2K, welche die Änderungen in der Form zu exportieren
of a 2Pack.zip that contains all the descriptions of the AD changes in XML format. The second is the Java code pack-
+
einer 2Pack.zip die alle Beschreibungen der AD-Änderungen im XML-Format enthält. Die zweite ist die Java-Code-Pack
ages formatted in a plugin structure. Both will be revealed later in exact details. In our diagram only the AD changes
+
Alter formatiert in einer Plugin-Struktur. Beide werden später in genauen Details enthüllt werden. In unserem Diagramm nur die AD-Änderungen
using 2Pack is illustrated well with those red arrow boxes. But the plugin module is not. It only has a simple box
+
mit 2K ist gut mit den roten Pfeil-Boxen dargestellt. Aber das Plugin-Modul ist es nicht. Es hat nur eine einfache Box
‘Eclipse’. So we like to show that by way of a new diagram expanding more of that box:
+
'Eclipse'. So möchten wir zeigen, dass durch eine neue Diagramm Ausbau mehr von dieser Box:
Here we see new boxes with new terms. On the
+
Hier sehen wir neue Boxen mit neuen Begriffen. Am
left at System A we see that the old code is
+
links am System A sehen wir, dass der alte Code ist
wrapped in the old JVM style which is closed
+
eingewickelt in der alten JVM Stil, geschlossen
and you cannot intercept it through any con-
+
und man kann nicht abfangen durch jede con-
sole. For System B you use the OSGi container
+
Sohle. Für System B verwenden Sie die OSGi-Container
which allows you to access its plugins via the
+
das Ihnen erlaubt, seine Plugins über den Zugang zu
‘ss’ command.
+
'Ss' Befehl.
The new system also has intra-plugin relation-
+
Das neue System hat auch intra-plugin Beziehung
ship defined under the MANIFEST file under
+
unter der MANIFEST-Datei unter definierten versende
the META-INF folder. In that MANIFEST file is
+
Die META-INF-Ordner. In diesem Manifest-Datei
defined its own plugin’s Activator code that
+
definiert seine eigene Plugins Activator Code,
will automatically detect any 2Pack.zip file in
+
erkennt automatisch jede 2Pack.zip Datei
that folder and Pack In into the Database.
+
, dass Ordner und Pack In der Datenbank hinzuzufügen.
We shall see actual code in the action of been
+
Wir werden eigentlichen Code in der Handlung war zu sehen
transferred. I have also made movies.
+
übertragen. Ich habe auch Filme gemacht.
Meanwhile rest your tired eyes on a screenshot
+
Inzwischen Ruhe Ihre müden Augen auf einen Screenshot
of the Eclipse environment that gives visual cue of things discussed.
+
der Eclipse-Umgebung, die visuelle Cue der Dinge diskutiert gibt.
   1. The plugin module, POS Integration. 2. The Activator called by the Manifest file (3 and blue highlight). You can see
+
   Ein. Das Plugin-Modul, POS Integration. 2. Der Activator durch die Manifest-Datei (3 und blaue Markierung) genannt. Sie können sehen,
the code snip is hardcoded to call the 2Pack.zip under the META-INF folder (4 and red highlight).
+
Die Code-Schnipsel wird codiert, um die 2Pack.zip unter dem Ordner META-INF (4 und rot markiert) nennen.
 
!
 
!
   Copyleft 2012 Redhuan D. Oon                                             S Y S N O VA , B a n g l a d e s h                        Page 2
+
   Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh Page 2
i D e m p i e r e O p e n S o u r c e E R P o n O S G i Te c h n o l o g y!                                   A Developer ’s Migration Plan
+
i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan
A module to migrate
+
Ein Modul zu wandern
Now we look at an example of a module to migrate. I have one here which is my work last year on the integration of
+
Jetzt schauen wir uns ein Beispiel für ein Modul zu migrieren. Da hab ich einen, was meine Arbeit im vergangenen Jahr auf die Integration von
Openbravo POS to ADempiere. In it I created a menu
+
Openbravo POS ADempiere. In ihm habe ich ein Menü
called POS Integration with 3 sub items which are 2 proc-
+
genannt POS Integration mit 3 Unterpunkte, die 2 sind proc-
esses called Export to Queue and Import Orders from Queue,
+
zesse als Export to Queue und Import Bestellungen aus Queue,
and 1 window called Process Imported Orders.
+
und 1 Fenster namens Prozess Importierte Aufträge.
All these are customised modification and is not part of
+
All dies sind kundenspezifische Modifikation und ist nicht Teil der
standard ADempiere nor iDempiere. There exists a number
+
Standard ADempiere noch iDempiere. Es gibt eine Zahl
of ways to bring over the changes here to iDempiere. One
+
Möglichkeiten, um über die Änderungen hier, um iDempiere. Ein
way is through the Log Migration scripts which is recorded
+
Weg ist durch die Log Migration Skripte, die aufgezeichnet
when such customisation was done. I have done that and you can take them from the link given below.
+
wenn eine solche Anpassung vorgenommen wurde. Ich habe das getan, und Sie können sie aus dem unten angegebenen Link zu nehmen.
Another way is to pack out and pack back in using 2Pack which has been around for some years within ADempiere.
+
Eine andere Möglichkeit ist es, packen aus und packen wieder mit 2K, die schon seit einigen Jahren in ADempiere wurde.
However there is now a break with the old as Low Heng Sin has refactored and improved 2Pack somewhat that in
+
Allerdings gibt es jetzt ein Bruch mit der alten als Low Heng Sin hat überarbeitet und verbesserte 2K etwas, dass in
order to use the iDempiere Pack In, it should be on the 2Packs done using iDempiere’s PackOut.
+
Um die iDempiere Pack In verwenden, sollten Sie es auf den 2Packs erfolgt über iDempiere die PackOut sein.
So thus we start off with a fresh iDempiere v1.0.a and we can use the migration scripts given below, apply them using
+
So also beginnen wir mit einem frischen iDempiere v1.0.a und wir können die Migration der Script unten angegebenen verwenden, gelten sie mit
ANT build.xml and then proceed to the Pack Out.
+
ANT build.xml und dann auf der Pack gehen Out.
 
https://sourceforge.net/p/red1/small/101/tree/trunk/POSIntegration/migration/
 
https://sourceforge.net/p/red1/small/101/tree/trunk/POSIntegration/migration/
You will find a list of SQL scripts as shown here. The next
+
Hier finden Sie eine Liste von SQL-Script wie hier gezeigt. Der nächste
thing will be the source code of the module. You can take
+
was wird der Quellcode des Moduls sein. Sie können
at one go together with the plugin, migration scripts, the
+
auf einmal zusammen mit dem Plugin, Migration Skripten, die
2Pack.zip and the Openbravo POS that goes with it! Note
+
2Pack.zip und Openbravo POS, was dazugehört! Beachten
that we are just focussing on the migration scripts and the
+
dass wir nur Fokussierung auf die Migrations-Script und die
code packages within as the customisation that we are
+
Code Pakete innerhalb als Anpassung, die wir sind
migrating with. The link below is the whole finished end-
+
Migration mit. Der Link unten ist die ganze fertig end-
product.
+
Produkt.
http://sourceforge.net/projects/red1/files/Software%20Packages/IntegratedPOSplugin.zip/download
+
http://sourceforge.net/projects/red1/files/Software% 20Packages/IntegratedPOSplugin.zip/download
Launching your iDempiere
+
Starten Sie Ihre iDempiere
If you are using Windows environment then you can install iDempiere easily on a fresh Windows PC or notebook
+
Wenn Sie Windows-Umgebung sind, dann können Sie iDempiere einfach zu installieren auf einem frischen Windows-PC oder Notebook
that has no Java nor Postgres DB with this installer :
+
das hat keine Java oder Postgres DB mit diesem Installer:
http://sourceforge.net/projects/red1/files/Software%20Packages/iDempiere1.0.a_Setup.exe/download
+
http://sourceforge.net/projects/red1/files/Software% 20Packages/iDempiere1.0.a_Setup.exe/download
If needed, refer to the guides I written to use the installer , together with an Upgrade Assistant. If you are using non-
+
Falls erforderlich, zu den Führungen habe ich geschrieben, um den Installer verwenden, beziehen, zusammen mit einem Upgrade Assistant. Wenn Sie nicht
Windows, then refer to the online resource at http://wiki.idempiere.org to get your iDempiere running. You can also
+
Windows, dann auf der Online-Ressource http://wiki.idempiere.org sich bitte an Ihren iDempiere Laufen zu bringen. Sie können auch
jump ahead by having your iDempiere source-code running from Eclipse directly which is what we are limiting to
+
springen vor, indem Sie Ihre iDempiere Source-Code, der von Eclipse direkt das ist, was wir zu begrenzen
within this tutorial.
+
in diesem Tutorial.
Once your iDempiere is running, you are ready to apply the migration scripts from your module and do a Pack Out
+
Sobald Ihr iDempiere läuft, sind Sie bereit, um die Migration der Script vom Modul gelten und machen Sie einen Pack-Out
to produce a 2Pack.zip for a new plugin module. Again refer to online help on migration scripts. Let us see now how
+
eine 2Pack.zip für ein neues Plugin-Modul zu erzeugen. Auch die Online-Hilfe über Migration Script verweisen. Lassen Sie uns jetzt sehen, wie
the Pack Out is done. Ensure your custom module has its own menu group such as the case is with my POS Integra-
+
der Pack Out durchgeführt wird. Stellen Sie sicher, Ihre benutzerdefinierten Modul hat seine eigene Menü-Gruppe wie der Fall mit meinem POS Integra-
tion case above.
+
tion obigen Fall.
 
!
 
!
   Copyleft 2012 Redhuan D. Oon                                             S Y S N O VA , B a n g l a d e s h                        Page 3
+
   Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh Page 3
i D e m p i e r e O p e n S o u r c e E R P o n O S G i Te c h n o l o g y!                                   A Developer ’s Migration Plan
+
i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan
Doing a Pack Out
+
Doing eine Packung
Login as System, and from the main menu or in the Search box type ‘Pack’ until you see the Pack Out item high-
+
Melden Sie sich als System, und aus dem Hauptmenü oder in das Suchfeld eingeben 'Pack', bis Sie die Packung Artikel zu sehen High-
lighted (1). Open its window as shown below. At the main tab give the details that you want to call your 2Pack as (2).
+
angezündet (1). Öffnen Sie das Fenster wie unten dargestellt. An der Haupt-Tab geben die Details, die Sie wollen Ihre 2Pack wie (2) nennen.
 
                                                                       2
 
                                                                       2
 
             1
 
             1
Zeile 214: Zeile 214:
 
                                                                                       4
 
                                                                                       4
 
                                                   5
 
                                                   5
In the second tab, select Application and Module so that the Menu selection pull-down appears (3). In it type the
+
In der zweiten Registerkarte, wählen Sie Anwendung und Modul, so dass die Menü-Auswahl im Pulldown-(3) erscheint. In der Eingabe der
starting word of your menu item and it should appear for you to select it. Once that is accepted in the field, return to
+
Ausgangspunkt Wort Ihrer Menüpunkt und es erscheinen soll, damit Sie es zu wählen. Sobald das im Bereich akzeptiert, um zurückzukehren
the parent tab and click on ‘Export Package’ button (4). IT will take a few seconds or so depending on how complex
+
die Muttergesellschaft Registerkarte auf "Export-Paket" Taste (4) klicken. Es dauert ein paar Sekunden oder so, je nachdem, wie komplex
is your module structure.
+
Ihr Modul-Struktur.
Then at the bottom of the window at the status bar will display the path of the zip file created (5). We will take that
+
Dann am unteren Rand des Fensters in der Statusleiste zeigt den Pfad der zip-Datei erstellt (5). Wir werden, dass
file for the new plugin later. Now we can go and look at our customised code for moving them into the new plugin
+
Datei für die neue Plugin später. Jetzt können wir gehen und schauen Sie sich unsere individuelle Code für bewegte sie in das neue Plugin
also.
+
auch.
Reviewing your code
+
Überprüfung Ihres Codes
Your code should be in packages somewhat similar to what I have here. Mine is not big for POS Integration but it
+
Ihr Code sollte in Paketen etwas ähnlich, was ich habe hier zu sein. Mine ist nicht für POS Integration groß, aber es
covers sufficient variety of the ERP core. For example I have some org.adempiere.process classes in my own process
+
deckt ausreichende Vielfalt des ERP-Kern. Zum Beispiel habe ich einige org.adempiere.process Klassen in meinem eigenen Prozess
windows, together with an org.compiere.process class which is ImportOrder.java. This one is an overloading of the
+
Fenster, zusammen mit einer Klasse, die org.compiere.process ImportOrder.java ist. Dieses ist eine Überlastung des
original class in the Base package of ADempiere.
+
Original-Klasse im Basispaket von ADempiere.
Previously in ADempiere we override that via a customization.jar but in OSGi, we do not use that anymore. We just
+
Zuvor in ADempiere wir überschreiben, dass über eine customization.jar aber in OSGi, wir wissen nicht, dass nicht mehr nutzen. Wir haben gerade
have the new code in a different plugin but declaring the same package (org.compiere.process) and activated during
+
müssen Sie den neuen Code in einem anderen Plugin, sondern erklärt das gleiche Paket (org.compiere.process) und aktiviert bei
runtime where it will be executed instead of the main base org.compiere.process package. This is basically the power
+
runtime wo es statt der Hauptbasis org.compiere.process Paket ausgeführt werden. Dieses ist im Allgemeinen die Leistung
of OSGi componentisation or modularity where we do not need to recompile the core or replace customization.jar
+
von OSGi componentisation oder Modularität, wo wir nicht brauchen, um den Kern kompilieren oder ersetzen customization.jar
 
!
 
!
   Copyleft 2012 Redhuan D. Oon                                             S Y S N O VA , B a n g l a d e s h                        Page 4
+
   Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh Page 4
i D e m p i e r e O p e n S o u r c e E R P o n O S G i Te c h n o l o g y!                                     A Developer ’s Migration Plan
+
i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan
each time we make a change. Thus we are decoupled from the core and we merely add our plugin into the stack of
+
jedes Mal, wenn wir eine Änderung vornehmen. So sind wir vom Kern entkoppelt und wir nur hinzufügen, unser Plugin in den Stapel
other plugins. This means easy debugging and troubleshooting or maintenance as when any error occurred from our
+
andere Plugins. Das bedeutet eine einfache Fehlersuche und Fehlerbehebung oder Wartung, wenn ein Fehler aufgetreten ist aus unserer
code, we merely cancel our plugin by stopping it during runtime in the OSGi console. I have tried that and it worked
+
Code, wir lediglich abzubrechen unser Plugin durch Stoppen sie während der Laufzeit in der OSGi-Konsole. Das habe ich versucht und es funktionierte
in my example plugin.
+
in meinem Beispiel Plugin.
Preparing your Eclipse
+
Vorbereiten Ihrer Eclipse
You should again refer to the online wiki or resources to setup your Eclipse with Buckminster and Mercurial function-
+
Sie sollten wieder auf den Online-Wiki oder Ressourcen finden Sie in Eclipse mit Buckminster und Mercurial Setup-Funktion-
ality. Mercurial is needed to access the online mercurial bitbucket repository of the iDempiere sourcecode. Buckmin-
+
nalität. Mercurial ist notwendig, um die Online-mercurial bitbucket Repository des iDempiere Quellcode zugreifen. Buckmin-
ster is a maven type tool that materialises the 3rd party library jars in a managed and online way into a Target Plat-
+
ster ist ein maven Art Werkzeug, das die 3rd-Party-Bibliothek Gläser in einer verwalteten und online Weise materialisiert in einem Target-Plat-
form. Once this is done as on page 2, with no red cross error marks, we are now set to create our first plugin.
+
Form. Sobald dies geschehen ist, wie auf Seite 2 durchgeführt, ohne rotes Kreuz error Marken, sind wir nun zu unserem ersten plugin erstellen.
Create new plugin project
+
Neues Plugin-Projekt
Select New > Other (1) > Plug-in Project (2) and give it the name of your intended module (3).
+
Wählen Sie Neu> Sonstige (1)> Plug-in Project (2) und geben Sie den Namen Ihres geplanten Modul (3).
 
                                                                                                               2
 
                                                                                                               2
 
                                                                 1
 
                                                                 1
 
                                     3
 
                                     3
 
                                                                                                               4
 
                                                                                                               4
Uncheck the Options > Generate an activator... (4) as we be using the ready-made AdempiereActivator.
+
Deaktivieren Sie die Optionen> generieren einen Aktivator ... (4) als wir die Verwendung werden die ready-made AdempiereActivator.
 
!
 
!
   Copyleft 2012 Redhuan D. Oon                                             S Y S N O VA , B a n g l a d e s h                          Page 5
+
   Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh Page 5
i D e m p i e r e O p e n S o u r c e E R P o n O S G i Te c h n o l o g y!                                   A Developer ’s Migration Plan
+
i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan
Under the META-INF folder, find and open the MANIFEST.MF file (1) and at the Overview tab. check the Activator
+
Unter dem META-INF-Ordner finden und öffnen Sie die Datei MANIFEST.MF (1) und an der Registerkarte Übersicht. überprüfen Sie die Activator
box and click on its browse button to look for AdempiereActivator class. You won’t be able to do that because you
+
und klicken Sie auf die Schaltfläche Durchsuchen, um für AdempiereActivator Klasse aussehen. Sie werden nicht in der Lage sein, weil du zu tun
have not defined any dependency for your plugin yet. Go to the Dependencies tab (2) and add the plugin that con-
+
haben keine Abhängigkeit für das Plugin noch nicht definiert. Zum Registerkarte Abhängigkeiten (2) und das Plugin hinzufügen, dass con-
tains it which is org.adempiere.plugins.utils (3). Also add the org.adempiere.base which is the core for
+
enthält es das ist org.adempiere.plugins.utils (3). Fügen Sie auch die org.adempiere.base die den Kern für die ist
org.adempiere.process and org.compiere.process packages which we are contributing to from our new plugin.
+
org.adempiere.process und org.compiere.process Pakete, die wir tragen von unserem neuen Plugin.
 
                                                                                                                         4
 
                                                                                                                         4
 
                           3
 
                           3
 
                                               2
 
                                               2
 
                                                                                       1
 
                                                                                       1
Note that under Imported Packages I have selected a library reference for my ActiveMQ code to work (4). Thus I
+
Beachten Sie, dass unter Importierte Packages Ich habe eine Bibliothek Referenz für meine ActiveMQ Code zu arbeiten (4) ausgewählt. So habe ich
need not carry my own library jars within my plugin.
+
müssen nicht tragen meine eigene Bibliothek Gläser in meinem Plugin.
 
                                                                                                                   3
 
                                                                                                                   3
 
                                                                                                             2
 
                                                                                                             2
 
                         1
 
                         1
Then return back to the Overview tab (1), click Browse (2) and you should be able to add the Activator class (3).
+
Dann zurück zu der Registerkarte Übersicht (1) zurückkehren, klicken Sie auf Durchsuchen (2), und Sie sollten in der Lage sein, um die Activator-Klasse (3) hinzuzufügen.
 
!
 
!
   Copyleft 2012 Redhuan D. Oon                                             S Y S N O VA , B a n g l a d e s h                        Page 6
+
   Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh Page 6
i D e m p i e r e O p e n S o u r c e E R P o n O S G i Te c h n o l o g y!                                     A Developer ’s Migration Plan
+
i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan
Review your plugin
+
Überprüfen Sie Ihre Plugins
Now we take a closer look at custom code and ensure they are put in proper packages (1) and its dependencies (2)
+
Jetzt nehmen wir einen genaueren Blick auf benutzerdefinierten Code und sicherzustellen, dass sie in der richtigen Pakete gebracht werden (1) und deren Abhängigkeiten (2)
resolved. Note that in an OSGi framework its Import of library jars are resolved by (a) TargetPlatform, (b) Other plug-
+
gelöst. Beachten Sie, dass in einem OSGi-Framework seinen Import der Bibliothek Gläser durch (a) TargetPlatform gelöst werden, (b) Sonstige Plug-
ins which are defined in the MANIFEST file (3), (c) Internal Library jars also defined in MANIFEST. Below is how my
+
Ins, die in der Manifest-Datei (3) definiert sind, (c) Interne Bibliothek Gläser auch in MANIFEST definiert. Unten ist, wie meine
plugin looks in the end.
+
plugin sieht am Ende.
 
                                                   2
 
                                                   2
 
                                         1
 
                                         1
But this is not all. Before your plugin can work, it has to be associated with the core plugin org.adempiere.base be-
+
Aber das ist noch nicht alles. Bevor Ihr Plugin funktionieren kann, muss es mit dem Kern plugin org.adempiere.base zugeordnet werden be-
cause the bundle classpath works differently in OSGi where the core plugin is already set for the common packages
+
führen das Bündel classpath funktioniert anders in OSGi, wo der Kern-Plugin ist bereits für den gemeinsamen Pakete eingestellt
calling such as org.adempiere.process. You do that by placing the Eclipse-RegisterBuddy (1) line anywhere in the
+
Aufruf wie org.adempiere.process. Sie tun das, indem Sie den Eclipse-RegisterBuddy (1) Linie überall in der
file. (Hint: copy/paste from another plugin’s manifest!) You can also export your packages under the Runtime tab (2)
+
Datei. (Tipp: copy / paste aus einem anderen Plugin-Manifest) Sie können auch exportieren Sie Ihre Pakete unter der Registerkarte Runtime (2)
so that it is visible to the other plugins that may use them. Note the Classpath panel on its right (3). That is when you
+
so dass es sichtbar ist, um den anderen Plugins sie verwenden dürfen. Beachten Sie die Classpath-Panel auf der rechten (3). Das ist, wenn Sie
need to use your own internal library jars. You then inform the MANIFEST there to authorise them.
+
müssen Ihre eigenen internen Bibliothek Gläser verwenden. Dann informieren Sie das MANIFEST da, um sie zu genehmigen.
 
                                                               1
 
                                                               1
 
                                                                                                                                         3
 
                                                                                                                                         3
 
                                                                                                               2
 
                                                                                                               2
With this done, you are quite set to go!
+
Mit dies getan haben, werden Sie ganz eingestellt, um zu gehen!
 
!
 
!
   Copyleft 2012 Redhuan D. Oon                                             S Y S N O VA , B a n g l a d e s h                          Page 7
+
   Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh Page 7
i D e m p i e r e O p e n S o u r c e E R P o n O S G i Te c h n o l o g y!                                   A Developer ’s Migration Plan
+
i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan
 
Demonstration Movies
 
Demonstration Movies
By the way, here are some movies I promised.
+
By the way, sind hier einige Filme, die ich versprochen.
This one is about creation of the 2Pack via Pack out: http://youtu.be/oZSnsfW2A2Y
+
Dieser ist über die Schöpfung des 2K über Pack-out: http://youtu.be/oZSnsfW2A2Y
This one is about creating a new Plugin: http://youtu.be/JjUgGJiXDD0
+
Dieser wird über die Schaffung eines neuen Plugin: http://youtu.be/JjUgGJiXDD0
This one is about running the new plugin to Pack In and then function as your latest module addition!:
+
Dieser wird zum Ausführen des neuen Plugin Pack in und fungieren dann als Ihre neueste Modul zusätzlich:
 
http://youtu.be/TnqizjaCEm8
 
http://youtu.be/TnqizjaCEm8
This step I will go through next.
+
Dieser Schritt werde ich über nächstes gehen.
 
                                                                                                                               1
 
                                                                                                                               1
Activating your Plugin
+
Aktivieren Sie Ihre Plugin
With everything in place and no red error Xs in
+
Mit alles an seinem Platz und keine roten Fehler Xs in
your Eclipse we are going to run the new plugin
+
Ihre Eclipse werden wir das neue Plugin laufen
from there. (Proper deployment will be covered in
+
von dort aus. (Proper-Bereitstellung in abgedeckt werden
a future tutorial exercise).
+
eine Zukunft Tutorial Übung).
First you do a RUN_ImportiDempiere (1) on your
+
Zuerst machen einen RUN_ImportiDempiere (1) auf Ihrem
system so that the database is refresh as new and
+
System so, dass die Datenbank aktualisieren wie neu ist, und
your module is not there yet and witness it exis-
+
Ihr Modul ist noch nicht da und erleben Sie es Exis-
tence after this. You can alternatively go to another
+
tenz nach diesem. Alternativ können Sie zu einem anderen gehen
separate machine or instance of iDempiere to try this magic on.
+
separaten Maschine oder Instanz iDempiere diese Magie auf zu versuchen.
Then in your Eclipse click on Run > RUN Configurations (2).
+
Dann in Ihrem Eclipse-Klick auf Ausführen> Ausführen Konfigurationen (2).
Then select swingclient.product (3). Check the box on the left of
+
Dann wählen Sie swingclient.product (3). Aktivieren Sie das Kontrollkästchen auf der linken Seite
your new plugin and set its Startup to default (4) as you will
+
Ihr neues Plugin und als Startmodus auf die Standardwerte (4) wie du willst
start this plugin via the console manually.
+
Start dieses Plugin über die Konsole manuell.
 
                                                                                                                                   2
 
                                                                                                                                   2
 
                                                                                                                 4
 
                                                                                                                 4
 
         3
 
         3
 
!
 
!
   Copyleft 2012 Redhuan D. Oon                                             S Y S N O VA , B a n g l a d e s h                        Page 8
+
   Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh Page 8
i D e m p i e r e O p e n S o u r c e E R P o n O S G i Te c h n o l o g y!                                   A Developer ’s Migration Plan
+
i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan
When the Java Client login box appears do not login as the 2Pack needs to Pack In first. If you login it will obstruct
+
Wenn die Java-Client login erscheint nicht anmelden, da die 2K muss in erster Pack. Wenn Sie sich einloggen wird behindert
the Pack In process. Go to the console tab and type in ‘ss’ (1). You will see a stack of plugins with their status dis-
+
der Pack In Prozess. Gehen Sie zur Konsole Registerkarte und geben Sie "ss" (1). Sie werden einen Stapel von Plugins mit ihren Status sehen dis-
played. ‘ss’ stands for short status.
+
gespielt. 'Ss' steht für kurze Status.
 
                                                                                                 1
 
                                                                                                 1
Scroll up to look for your plugin and note its id
+
Blättern Sie nach oben, um das Plugin zu sehen und beachten Sie seine ID
number. Mine is 2 and so I type ‘start 2’ (2) next to
+
Nummer. Meiner ist 2 und so tippe ich "Start 2" (2) neben dem
get it activated. Then you will notice the Pack In
+
bekommen es aktiviert. Dann werden Sie feststellen, das Pack In
working and you wait till it finishes with the OSGi
+
arbeiten und warten, bis es mit dem OSGi beendet
prompt appearing again at the last line (3).
+
fordert erneut erscheint in der letzten Zeile (3).
 
                                             2
 
                                             2
 
                                             3
 
                                             3
 
!
 
!
   Copyleft 2012 Redhuan D. Oon                                             S Y S N O VA , B a n g l a d e s h                        Page 9
+
   Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh Page 9
i D e m p i e r e O p e n S o u r c e E R P o n O S G i Te c h n o l o g y!                                   A Developer ’s Migration Plan
+
i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan
Now you can go to your login box and enter the application. But you need to do a Role Access Update first, and then
+
Jetzt können Sie Ihre Login-Box und geben Sie die Anwendung. Aber Sie müssen eine Rolle Zugriff Update zuerst, und dann
relogin to see that your new module is now there.
+
relogin zu sehen, dass Ihr neues Modul ist jetzt da.
You do not need to worry about your code as it is on standby in your new plugin! I tested mine in the movie and it
+
Sie müssen nicht über Ihren Code kümmern, wie es auf Standby ist in Ihrem neuen plugin! Getestet habe ich mir in dem Film und es
does work. My overriding org.compiere.process.ImportOrder which is an enhancement of the old code as it handles Lo-
+
funktioniert. Mein vorrangiges org.compiere.process.ImportOrder welche ist eine Erweiterung des alten Code, wie es Lo-Griffe
cator Name instead of ID. When I stop the bundle by typing in the console ‘stop 2’ and run my ImportOrder again, it
+
kator Namen anstelle von ID. Als ich das Bündel zu stoppen, indem Sie in der Konsole 'stop 2' und laufen meine ImportOrder wieder, es
revert to the base code. This is so amazing as I did not stop the application but merely play around with start and
+
zurück zur Basis-Code. Dies ist so erstaunlich, da ich nicht die Anwendung zu beenden, sondern nur spielen, um mit Start-und
stop commands. This proves that our ERP application has come out of the stone closet of Java and become truly dy-
+
Stopp-Befehle. Dies beweist, dass unsere ERP-Anwendung wurde aus dem Stein Kleiderschrank von Java kommen und wahrhaft dy-
namic, componentised and modular.
+
mische, componentised und modular.
Closing remarks
+
Schlusswort
Of course developing more sophisticated plugins is possible with this sparkling new OSGi framework. There is tre-
+
Selbstverständlich entwickeln komplexere Plugins ist mit diesem funkelnden neuen OSGi-Framework möglich. Es gibt tre-
mendous power from this point on for the iDempiere project. Among them can be (a) further refactoring into more
+
mendous Macht von diesem Zeitpunkt an für die iDempiere Projekt. Unter ihnen können (a) weiter in mehr sein Refactoring
granular plugins for the whole ERP such as the base plugin be broken up further into finer pieces like what is done
+
granulare Plugins für die gesamte ERP wie die Basis plugin sich weitere werden in feinere Stücke wie, was getan wird gebrochen
with callout and process plugins as well as the ui plugins, (b) functional wise as what is done with my own POS In-
+
mit Legende und Prozess-Plugins sowie die ui plugins, (b) funktionelle klug wie, was ist mit meinem eigenen POS getan In-
tegration, we could have done the same with Manufacturing and Fixed Assets or even core functions such as Invoic-
+
Integration, könnten wir das gleiche mit Fertigungs-und Anlagevermögen getan haben oder sogar Kernfunktionen wie INVOIC-
ing, Payments and Reports, (c) enormous tools and utilities from Equinox and other community projects experiences.
+
ten, Zahlungen und Reports, (c) enorme Tools und Dienstprogramme von Equinox und anderen Community-Projekten Erfahrungen.
Been part of an open source world for OSGi, iDempiere will assimilate more each day as it has done the last years.
+
Sie waren bereits Teil eines Open-Source-Welt für OSGi, wird iDempiere assimilieren mehr jeden Tag, wie es die letzten Jahre getan hat.
Whatever the future path maybe it is not letting up nor slowing down. As I was writing this tutorial, Carlos Ruiz via
+
Unabhängig von der künftigen Weg vielleicht ist es nicht lassen noch sich zu verlangsamen. Als ich dieses Tutorial geschrieben habe, Carlos Ruiz über
my Skype flashed me of more new changes to the iDempiere application as can be followed here:
+
mein Skype blitzte mich über weitere neue Änderungen an der iDempiere Anwendung wie hier verfolgt werden kann:
http://wiki.idempiere.org/en/Category:New_Features_v0.01. And he just released iDempiere alpha’s version only
+
http://wiki.idempiere.org/en/Category:New_Features_v0.01. Und er hat gerade iDempiere alpha-Version nur
days ago!
+
Tage vor!
Things are becoming fast and furious with this magic cauldron, a phrase I borrowed from Eric Raymond’s writing:
+
Die Dinge sind immer schnell und wütend mit diesem magischen Kessel, ein Satz, den ich von Eric Raymond schriftlich entlehnt:
http://www.catb.org/~esr/writings/cathedral-bazaar/magic-cauldron/index.html, a must-read for the perplexed.
+
http://www.catb.org/ ~ esr / Schriften / Dom-bazaar / magic-Kessel / index.html, eine für die ratlos must-read.
This tutorial is only meant as a can opener and a starter guide to many developers out there who can now avoid a
+
Dieses Tutorial ist nur als Dosenöffner und ein Starter Guide für viele Entwickler gibt, die jetzt zu vermeiden kann ein meinte
steep learning curve or at least shorten it greatly. This has always been my signature in my tutorials. It is both my
+
steile Lernkurve oder zumindest verkürzen erheblich. Das war schon immer meine Unterschrift in meinen Tutorials. Es ist sowohl mein
pleasure and itch to get what I learn to be out there for others to experience. It is also a legacy I wish to leave behind
+
Freude und Juckreiz zu bekommen, was ich da draußen zu sein für andere zu erleben lernen. Es ist auch ein Vermächtnis möchte ich zurücklassen
in my closing years, in years to come, God willing.
+
in meinem letzten Jahre, in den kommenden Jahren, so Gott will.
If you wish to make suggestions or just a word of thanks you can email me personally at red1@red1.org.
+
Wenn Sie Vorschläge zu machen oder einfach nur ein Wort des Dankes möchten, können Sie mich persönlich per E-Mail an red1@red1.org.
Thank you for been here, reading this, and hopefully become part of us. Peace and blessings of Allah be upon you.
+
Vielen Dank für wurden hier lesen, und hoffentlich ein Teil von uns geworden. Friede und Segen Allahs sei mit euch.
8.21 am, Saturday, November 10, 2012
+
08.21, Samstag, 10. November 2012
                                                                             - THE END -
+
                                                                             - DAS ENDE -
 
!
 
!
Copyleft 2012 Redhuan D. Oon                                               S Y S N O VA , B a n g l a d e s h                      P a g e 10
+
Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh P Alter von 10 Jahren
i D e m p i e r e O p e n S o u r c e E R P o n O S G i Te c h n o l o g y!                                     A Developer ’s Migration Plan
+
i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan
Epilogue - Using Extension Points
+
Epilog - Mit Extension Points
Our don, Low Heng Sin remarked that my use of
+
Unsere don, Low Heng Sin bemerkte, dass mein Einsatz von
Eclipse-RegisterBuddy is not recommended and to
+
Eclipse-RegisterBuddy wird nicht empfohlen und
use Extensions instead to define the processes.
+
nutzen Erweiterungen statt, um die Prozesse zu definieren.
So we get back to our Eclipse IDE below and call up
+
Also haben wir zurück zu unserem Eclipse IDE unten und rufen
the MANIFEST file. Kill the buddy (delete it) (1).
+
die Datei MANIFEST. Kill the buddy (löschen) (1).
 
                                                                                                                             1
 
                                                                                                                             1
In the Overview (2) panel, click on Extensions
+
In der Übersicht (2) Bedienfeld auf Extensions klicken
(3) for your tab to appear. Call up the Extensions
+
(3) für Ihre Registerkarte angezeigt. Rufen Sie die Extensions
tab (4).
+
Register (4).
 
                                                                                                                                     3
 
                                                                                                                                     3
                                                                                       2                       4
+
                                                                                       2 4
 
                                                                   5
 
                                                                   5
Click on the Add button and a selection win-
+
Klicken Sie auf die Schaltfläche Hinzufügen und eine Auswahl Win-
dow (5) for Extensions Points will pop-up.
+
dow (5) für Extensions Punkte werden Pop-up.
Click on org.adempiere.base.Process (6) and it
+
Klicken Sie auf org.adempiere.base.Process (6), und es
will return back to the window. Right click on
+
wieder zurück zum Fenster. Rechts klicken Sie auf
 
                                                                                                                 6
 
                                                                                                                 6
the new line and select New and Process (7).
+
die neue Linie und wählen Sie Neu-und Verfahrenstechnik (7).
 
                                                                                                                                         7
 
                                                                                                                                         7
 
!
 
!
Copyleft 2012 Redhuan D. Oon                                               S Y S N O VA , B a n g l a d e s h                        P a g e 11
+
Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh P Alter von 11 Jahren
i D e m p i e r e O p e n S o u r c e E R P o n O S G i Te c h n o l o g y!                                   A Developer ’s Migration Plan
+
i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan
A new class is defined for you
+
Eine neue Klasse wird für Sie definiert
(1) but we do not want to code
+
(1), aber wir wollen nicht zu codieren
 
                                                                                                             1
 
                                                                                                             1
anew as we already have the
+
neu, wie wir bereits die
classes. Click on the browse link
+
Klassen. Klicken Sie auf den Link Durchsuchen
 
                                                                                                                                     2
 
                                                                                                                                     2
(2) and a dialog box appears
+
(2) und ein Dialogfeld angezeigt
allowing you to choose your
+
so dass Sie Ihre Wahl
class (3).
+
Klasse (3).
 
                                                                                                                                   3
 
                                                                                                                                   3
 
                                                                                                           5
 
                                                                                                           5
 
                                                                                                                               6
 
                                                                                                                               6
 
                                                                           4
 
                                                                           4
Then you have to give an ID (5) to your class which will register that for the bundle classpath. Click back on the main
+
Dann müssen Sie eine ID (5) zu Ihrer Klasse, dass für das Bündel Klassenpfad registrieren zu geben. Klicken Sie wieder auf der Hauptstraße
line (4) if you do not see the ID input field. You can give it a label name too (6).
+
Leitung (4), wenn Sie nicht sehen, die ID-Eingabefeld. Sie können ihm eine Bezeichnung zu (6).
An additional movie showing all this is uploaded: http://youtu.be/HXTy9GvCgu8
+
Ein weiterer Film zeigt all dies wird hochgeladen: http://youtu.be/HXTy9GvCgu8
                                                                 ~ See you at Buddy’s funeral ~
+
                                                                 ~ Wir sehen uns auf Buddy Beerdigung ~
 
!
 
!
Copyleft 2012 Redhuan D. Oon                                               S Y S N O VA , B a n g l a d e s h                      P a g e 12
+
Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh P 12 Jahren
i D e m p i e r e O p e n S o u r c e E R P o n O S G i Te c h n o l o g y!                                   A Developer ’s Migration Plan
+
i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan
Epilogue 2 - Deploying Plugin
+
Epilogue 2 - Bereitstellen Plugin
Yesterday, is a special date on the calendar. It is the 12th of December, 2012. - 12/12/12, I managed to make a p2
+
Gestern ist ein besonderes Datum auf dem Kalender. Es ist der 12. Dezember 2012. - 12/12/12 gelang es mir, einen p2 machen
Headless upgrade regime working well with near zero effort for the end-user.
+
Headless Upgrade Regime arbeiten gut mit nahe Null Aufwand für den Endnutzer.
 
http://sourceforge.net/projects/red1/files/p2/
 
http://sourceforge.net/projects/red1/files/p2/
All you need to do now is to download the installer script and run it from inside your idempiere-server
+
Alles, was Sie tun müssen, ist es nun das Installationsskript herunterladen und ausführen aus Ihrem idempiere-Server
folder. The POSIntegration-installer will magically put the feature and plugin into the respective folders,
+
Ordner. Die POSIntegration-installer wird magisch legte die Funktion und Plugins in den jeweiligen Ordnern,
register itself as an extra feature for later management, and the 2Pack within it applies itself onto the
+
registrieren sich als Extra-Feature für die spätere Verwaltung und die 2K darin gilt selbst auf die
iDempiere Database! Upon launching the idempiere-server (you can remove the -console time limit figure
+
iDempiere Datenbank! Nach dem Start des idempiere-Server (Sie können entfernen Sie die Konsole Frist Figur
to see the console display longer), with ‘ss’ at the OSGi console, you can see the new POSIntegration
+
um die Konsole-Anzeige mehr), mit 'ss' an der OSGi-Konsole zu sehen, können Sie die neue POSIntegration
plugin in resolved stage. At the web browser, you can check out the menu and do a Role Access Update
+
plugin in gelöst Bühne. Auf den Web-Browser, können Sie die Speisekarte und machen eine Rolle Zugriff aktualisieren
to get it fully linked to the GardenAdmin
+
um es vollständig auf die GardenAdmin verlinkt
role, and then try out a Export to Queue
+
Rolle, und dann versuchen, eine Export to Queue
process.
+
Prozess.
 
!
 
!
Copyleft 2012 Redhuan D. Oon                                               S Y S N O VA , B a n g l a d e s h                      P a g e 13
+
Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh P Alter von 13 Jahren
i D e m p i e r e O p e n S o u r c e E R P o n O S G i Te c h n o l o g y!                                   A Developer ’s Migration Plan
+
i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan
The first step in making your plugin deployable is to export it as a feature to a p2 site. From your Eclipse
+
Der erste Schritt bei der Herstellung Ihrer plugin einsetzbar ist, um es als ein Merkmal einer p2 Website exportieren. Von Ihrem Eclipse
IDE, create a new plugin project by choosing a feature option. Take note of the Export Wizard link at the
+
IDE, erstellen Sie ein neues Plugin-Projekt, indem Sie eine Funktion Option. Beachten Sie die Export-Assistenten auf den Link
bottom right of the panel. We will use that later at the end.
+
unten rechts im Panel. Wir werden das später am Ende.
At the plugin tab, click on Add and select your plugin.
+
Am plugin Registerkarte klicken Sie auf Hinzufügen und wählen Sie Ihr Plugin.
 
!
 
!
Copyleft 2012 Redhuan D. Oon                                               S Y S N O VA , B a n g l a d e s h                      P a g e 14
+
Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh P 14 Jahren
i D e m p i e r e O p e n S o u r c e E R P o n O S G i Te c h n o l o g y!                                   A Developer ’s Migration Plan
+
i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan
At the Dependencies tab, click on Compute and it will add the needed plugins for your feature.
+
Auf der Registerkarte Abhängigkeiten auf Compute klicken und es wird die benötigten Plugins für Ihr Feature hinzuzufügen.
Back to the Overview tab, you then click on the Export Wizard link to open a new panel below.
+
Zurück zur Übersicht Registerkarte können Sie dann auf dem Export-Assistenten Link, um eine neue Platte unten öffnen.
You set it to a Directory in your local desktop. Later, we can move it to an online site for remote users.
+
Sie setzen es in ein Verzeichnis in Ihrem lokalen Desktop. Später können wir sie zu einem Online-Portal für Remote-Benutzer bewegen.
 
!
 
!
Copyleft 2012 Redhuan D. Oon                                               S Y S N O VA , B a n g l a d e s h                      P a g e 15
+
Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh P Alter von 15 Jahren
i D e m p i e r e O p e n S o u r c e E R P o n O S G i Te c h n o l o g y!                                   A Developer ’s Migration Plan
+
i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan
Under the Options tab, you must select ‘Generate metadata repository’. The other options are not impor-
+
Unter der Registerkarte Optionen, müssen Sie 'Generate Metadaten-Repository ". Die anderen Optionen sind nicht wich-
tant as this is just a plugin and not a full stand-alone product. Click Finish and the result will appear in
+
wichtig wie das nur ein Plugin und nicht um eine vollständige Stand-alone-Produkt ist. Klicken Sie auf Fertig stellen, und das Ergebnis wird in angezeigt
your folder below.
+
Ihren Ordner unten.
You can then test this in your local idempiere-server with a shell script. The example below serves as a
+
Sie können dann diesen Test in Ihrem lokalen idempiere-Server mit einem Shell-Skript. Das nachfolgende Beispiel dient als
guide.
+
leiten.
               java -Dosgi.noShutdown=false -Dosgi.compatibility.bootdelegation=true
+
               java-Dosgi.noShutdown = false-Dosgi.compatibility.bootdelegation = true
               -Dosgi.install.area=director -jar plugins/org.eclipse.osgi_3.7.*.jar -applica-
+
               -Dosgi.install.area = director-jar plugins/org.eclipse.osgi_3.7. *. Jar-Anwen-
               tion org.eclipse.equinox.p2.director -consoleLog -profile DefaultProfile -pro-
+
               tion org.eclipse.equinox.p2.director-ConsoleLog-Profil DefaultProfile-pro-
               fileProperties org.eclipse.update.install.features=true -destination
+
               FileProperties org.eclipse.update.install.features = true-Ziel
               file:/Applications/idempiere-server -repository
+
               file :/ Programme / idempiere-server-Repository
               file:/Applications/POSIntegration -i POS-Integration.feature.group
+
               file :/ Programme / POSIntegration-i POS-Integration.feature.group
 
!
 
!
Copyleft 2012 Redhuan D. Oon                                               S Y S N O VA , B a n g l a d e s h                      P a g e 16
+
Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh P 16 Jahren
i D e m p i e r e O p e n S o u r c e E R P o n O S G i Te c h n o l o g y!                                   A Developer ’s Migration Plan
+
i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan
Some explanations as to the arguments in the p2 Director launch code.
+
Einige Erklärungen zu den Argumenten in der p2 Director Start-Code.
-application org.eclipse.equinox.p2.direct
+
-Anwendung org.eclipse.equinox.p2.direct
This launches the p2 director program.
+
Dies startet den p2 Director Programm.
-consoleLog
+
-ConsoleLog
This send the progress log to the console.
+
Diese senden die Fortschritte log auf der Konsole.
-profile DefaultProfile
+
-Profile DefaultProfile
This matches the p2 profile in idempiere-server installation. It is optional.
+
Dies entspricht dem p2 Profil idempiere-Server-Installation. Es ist optional.
-profileProperties org.eclipse.update.install.features=true
+
-ProfileProperties org.eclipse.update.install.features = true
This ensures that your new feature is registered with the profile. You can then check its condition later.
+
Dadurch wird sichergestellt, dass Ihre neue Funktion mit dem Profil registriert ist. Sie können dann prüfen Sie den Zustand später.
-destination
+
Ziel-
This is also optional if you place your script inside idempiere-server. You must give it an absolute fully
+
Dies ist auch optional, wenn Sie Ihr Skript in idempiere-Server ablegen. Sie müssen ihm einen absoluten voll
qualified path.
+
qualifizierten Pfad.
-repository
+
-Repository
This is where your p2 source comes from. To install from the remote site I set up you can put this after the
+
Dies ist, wo Ihre p2 Quelle stammt. Um von der Remote-Site richte ich installieren, können Sie dies nach der Put-
argument:
+
Argument:
 
http://sourceforge.net/projects/red1/files/p2/
 
http://sourceforge.net/projects/red1/files/p2/
-i
+
-I
This is an abbreviation for -installIU which means ‘install an installable unit’. The name of the unit is then
+
Dies ist eine Abkürzung für-installIU die 'installieren eine installierbare Einheit ". Der Name des Gerätes ist dann
provided. It is important to name the unit as its feature name rather than its plugin name.
+
vorgesehen. Es ist wichtig, um das Gerät als Funktion Namen eher als sein Plugin-Namen zu nennen.
To find out what IUs you have in your /Applications/POSIntegration site, you can use this script:
+
Um herauszufinden, was IUs Sie in Ihrer / Applications / POSIntegration Website haben, können Sie dieses Skript:
               java -Dosgi.noShutdown=false -Dosgi.compatibility.bootdelegation=true
+
               java-Dosgi.noShutdown = false-Dosgi.compatibility.bootdelegation = true
               -Dosgi.install.area=director -jar plugins/org.eclipse.osgi_3.7.*.jar -applica-
+
               -Dosgi.install.area = director-jar plugins/org.eclipse.osgi_3.7. *. Jar-Anwen-
               tion org.eclipse.equinox.p2.director -consoleLog -repository
+
               tion org.eclipse.equinox.p2.director-ConsoleLog-Repository
               file:/Applications/POSIntegration/ -list
+
               file :/ Programme / POSIntegration /-Liste
It will give you something like
+
Es wird Ihnen so etwas wie
               POS-Integration.feature.group=1.0.1.201212121807
+
               POS-Integration.feature.group = 1.0.1.201212121807
               POS-Integration.feature.jar=1.0.1.201212121807
+
               POS-Integration.feature.jar = 1.0.1.201212121807
               POSIntegration=1.0.0.201212121807
+
               POSIntegration = 1.0.0.201212121807
From there you can tell which is the feature group namespace to use in your script.
+
Von dort können Sie sagen, das ist die Feature-Gruppe Namespace in Ihrem Skript verwenden.
 
!
 
!
Copyleft 2012 Redhuan D. Oon                                               S Y S N O VA , B a n g l a d e s h                      P a g e 17
+
Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh P 17 Jahren
i D e m p i e r e O p e n S o u r c e E R P o n O S G i Te c h n o l o g y!                                   A Developer ’s Migration Plan
+
i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan
In order to check what is been installed in your profile:
+
Um zu überprüfen, was in Ihrem Profil installiert:
               java -Dosgi.noShutdown=false -Dosgi.compatibility.bootdelegation=true
+
               java-Dosgi.noShutdown = false-Dosgi.compatibility.bootdelegation = true
               -Dosgi.install.area=director -jar plugins/org.eclipse.osgi_3.7.*.jar -applica-
+
               -Dosgi.install.area = director-jar plugins/org.eclipse.osgi_3.7. *. Jar-Anwen-
               tion org.eclipse.equinox.p2.director -consoleLog -repository
+
               tion org.eclipse.equinox.p2.director-ConsoleLog-Repository
               file:/Applications/POSIntegration/ -lir
+
               file :/ Programme / POSIntegration /-lir
-lir stands for List Installed Roots. It will give you something like:
+
-Lir steht für Liste Installierte Roots. Es wird Ihnen so etwas wie:
 
               org.adempiere.server.product/1.0.0
 
               org.adempiere.server.product/1.0.0
 
               org.idempiere.eclipse.platform.feature.group/1.0.0.v20121101-0030
 
               org.idempiere.eclipse.platform.feature.group/1.0.0.v20121101-0030
When you installed your new plugin, you will see it added to the display above.
+
Wenn Sie Ihr neues Plugin installiert, werden Sie sehen, es hinzugefügt, um das Display oben.
More screenshots and notes on how to deploy the plugin source into a p2 artifact resource set is shown in
+
Mehr Screenshots und Hinweise, wie Sie das Plugin-Quelle in einer p2 Artefakt Ressourcenset bereitstellen wird angezeigt
my online forum http://red1.org/adempiere/viewtopic.php?f=29&t=1723
+
meine Online-Forum http://red1.org/adempiere/viewtopic.php?f=29&t=1723
You can also pose questions, or comments at that forum thread.
+
Sie können auch Fragen stellen oder Kommentare in diesem Forum-Thread.
 
Kuang Farm
 
Kuang Farm
7.28am
+
07.28
13th December, 2012.
+
13. Dezember 2012.
 
!
 
!
Copyleft 2012 Redhuan D. Oon                                               S Y S N O VA , B a n g l a d e s h                      P a g e 18
+
Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh P 18 Jahren

Version vom 26. Dezember 2012, 19:47 Uhr

nachbearbeitete Übersetzung von http://sourceforge.net/projects/red1/files/ADempiere%20PDFs/iDempiereMigrationGuide2.pdf/download am 26.12.2012 per googletranslate:

IDEMPIERE

                                                          Open Source ERP auf OSGi-Technologie
                                        Ein Entwickler-MIGRATION PLAN
                                                                                        durch
                                                                        REDHUAN D. OON
                                                                   Boss der Open Source ERP Freedom
                                                                                  Version 2.0

P ossiblesafe - Häuser: K UALA L umpur - P aris - Vi enna - B angkok - B andung - M anila - B ogota - F Ortaleza - D haka !

                                         Godfather - Finales Kapitel

Etwa acht Jahren gab es zwei Teile des Godfather Serie: http://compiere.red1.org/XML2AD.zip Heute ist der Tag, an dem das letzte Kapitel hier vorgestellt wird, um eine große Geschichte zu vollenden. Aber zuerst etwas Nostalgie. Open Source ERP beginnend mit Compiere im Jahr 2003 hat mich tief inspiriert und erlaubt nicht nur den Code frei zu ändern, sondern teilzunehmen an der Gemeinschaft der Mitglieder auf der ganzen Welt.

Ich habe ganz abit außerhalb meines zu sehen ansonsten ruhigen Vorort Bauernhof Lebensbedingungen. In Dortmund eine Mahlzeit mit Jörg Viola Einsteigen in ein kleines Piratenschiff in Fortaleza, Brasilien Zweimal in Libyen - 2010/2012. Diesmal Gruppe. Ebenfalls anwesend war Trifon Trifonov - 2009

                                              - 2012 der Bruder Führer ist verschwunden.

Die Herausforderung der Freiheit Zusammen mit dieser neuen Cyber-Welt, begann die Gescjhichte mit Marco Lombardo aus Italien im Jahr 2004, als er mich zuerst eingewiesen hat, wie man mit XML2AD die Anwendung Wörterbuch oder AD-Änderungen für die Portierung zu einer anderen Compiere Instanz erfasst. Dies vermeidet sich wiederholende Arbeiten bei ähnlichen Veränderungen, indem ein bestimmtes Modul repliziert wird, wie dies auch bei anderen Unternehmen mit ERP-Systeme unter Verwendung von Compiere zu dieser Zeit geschehen ist. Ich half den Kreis zu erweitern, indem er über seine Anstrengungen diese frühen Jahre, die Trifon Trifonov Bulgarien angezogen und besonders Robert Klein in den USA, die in Angriff genommen wurden, um das Problem aus einem anderen Blickwinkel zu lösen. Dabei entstand, was er schuf, 2K. Es ist anwenderfreundlicher und versetzt damit selbst normale Benutzer in die Lage, eine Migration durchzuführen. Dies wird ermöglicht über Module, die direkt über das Hauptmenü ohne Experten oder spezielles Wissen aufgerufen werden können. Im Laufe der Entwicklung zu ADempiere von 2006-2011, und dann der Übergang zu iDempiere Anfang 2011 auf der Grundlage Equi- nox OSGi Plugin-Framework, hat 2K nicht nur seinen Status Quo gehalten, sondern entwickelte sich zu einem erstaunlich mächtigen Werkzeug. Grund dafür ist, dass die erste grundlegende Inspiration von Marco, die eine universale Idee der Freiheit ist. Jeder Programentwickler wünscht sich, redundante Arbeit zu vermeiden und Sie die Freiheit bei der Code-Entwicklung zu genießen, Arbeit frei aus mehreren Quellen und in der einfachsten Form zusammenzuführen. Die Umsetzung unter OSGi wurde zuerst von Schmidt András aus Ungarn im Juli 2008 versucht. Nachfolger war Joerg Viola aus Deutschland um etwa März 2009 und bald danach Low Heng Sin. Es ist ein Verdienst von TrekGlobal (betrieben von Low, einem anderen Mitglied der Familie in den USA, früher Idalica), dass dieser Paradigmenwechsel zu OSGi in heute vollständ funktionstüchtig abgeschlossen ist. Jetzt habe ich das Vergnügen, in diesem Tutorial Schritt für Schritt aufzuzeigen, wie Sie Ihre Änderungen im 2K Format migrieren können. Das geschieht sehr portabel und modular. Mittlerweile können Sie sicher und glücklich in dieser iDempiere-Familie bleiben. Aber Sie sind jederzeit frei, einen anderen Weg zu wählen. :)

Redhuan D. Oon ! 08.22, Donnerstag, 8. November 2012, ! Kuang, Selangor, Malaysia ! ! !

    Gefördert durch
 BANGLADESCH

! !

                            Wer taub, blind und stumm ist, lebt tausend Jahre in Frieden.
                                                 John Gotti, 1940-2002
                                  Boss der Gambino Mafia-Familie in New York City

Hinweis für Entwickler:

     Der Leser sollte grundlegenden Kenntnisse im A/IDempiere Kontext haben. Dieses Tutorial erwartet
     hohe Bereitschaft, einige Hintergrundinformationen für das Projekt zu erforschen.
     Die erforderliche Terminologie, können Neulinge bei Google o.ä. über einen Web-Browser auf einem PC nachschlagen. 
     Es gibt ausreichende Ressourcen über unserer Werke vor allem unter www.adempiere.com und www.idempiere.org oder verstreut über viele 
     einzelne Blogs, einschließlich www.red1.org.
     Dieses Tutorial versucht, einen zusammenhängenden Workshop an einem einzigen Ort zu sammeln, aber nur
     zu einem bestimmten Thema. Anfänger finden die grundlegenden Details bereits an anderen Orten beschrieben.
     Wir werden die fundamentalen Prinzipien stichwortartig wiederholen, so dass auch eingerostetes Wissen wieder aufgefrischt wird. 
     Der Rahmen meiner Arbeit vermittelt in der Regel die zu Grunde liegenden Ideen und Konzepte, und zeigt, dass
     dieses Projekt wirklich etwas Besonderes ist. Auch wenn es sich vielleicht nicht auf den ersten Blick erschließt, 
     handelt es sich um einen gut funktionierenden Gesamtkomplex, vertrauen Sie mir.
     Der Einstieg gestaltet sich mit dieser Dokumentation weniger schmerzhaft als ohne Tutorials.
     Die Illustrationen vermitteln einen guten Einblick und enthalten genug Verweise, um bei Bedarf Bedarf oder regelmäßig überprüft zu werden.

! !

                         INHALTSVERZEICHNIS
 Eröffnung Kommentare! 1
 Migrieren was?! 1
 Wie zu migrieren? 2
 Ein Modul zur Migration! 3
 Doing eine Packung! 4
 Prüfen Sie Ihre Code! 4
 Vorbereiten Ihres Eclipse! 5
 Neues Plugin-Projekt! 5
 Überprüfen Sie Ihre Plugins! 7
 Aktivieren Sie Ihre Plugin! 8
 Schlusswort! 10
 Epilog - Mit Extension Points! 11
 Epilogue 2 - Bereitstellen Plugin! 13

! iDempiere Open Source ERP mit OSGi Technik! Ein Migration-Plan für Entwickler einleitende Kommentare

Der Versuch, das grundlegende Wissen für die neu hinzugekommenen Benutzer oder Entwickler zu vermitteln ist nicht einfach. Wie die Heilige Bücher, geht es darum, die Informationen Stücke für Stück zu vermitteln, da zu viele Informationen drohen, das Interesse der Gläubigen zu ersticken. So ist der Einstieg sehr entscheidend und habe mich gefragt, was sage ich wann im ersten Teil und den restlichen folgenden Kapiteln. Es kann mit den richtigen Fragen und Antworten zu beginnen. Was ist ein Open Source ERP-System? Ich denke, dies ist die erste Frage, die gestellt werden. Würde ich antworten, dass ein ERP-System im Wesentlichen eine Reihe von Code und Daten. Aber für Open Source gibt es etwas extra. Es hat zwei Eigentümer. Eine davon ist die Ur-Kraft-oder Verkäufer oder Gemeinschaft, die dafür verantwortlich, ihre Codebasis zu halten als gegeben ist. Die anderen sind die Nutzer selbst, die ändern wird Der Code, um ihre eigenen Inhalte und es muss nicht zurück in die Gemeinschaft gegeben werden, weil es die für bestimmte Anwender ist nur. Jetzt mit dieser simplen Erklärung aus dem Weg, wir fragen dann die Millionen-Dollar-Frage: "Was ist dann die Problem? Warum migrieren? Nun, für alle, die mit Software der wichtigste große Kopfschmerzen ist wartungsfrei von Bugs, und die Verbesserung der Fixes oder Änderungen. Was nun, dass die Benutzer ihre eigenen Quelle und Konfigurations-Modell, dass es zu Konflikten modifiziert mit den wichtigsten Updates aus dem ursprünglichen Eigentümer oder Gemeinde dahinter. Ein ERP-System ist auch ein Monster, wenn man alles genommen zusammen. Es macht Sinn für das ERP-Kern eine gemeinsame Basis für die meisten Anwender und kleinere Anwender finden ihren Weg in mit Add-on-Modulen und in iDempiere Fall als Plugins / Die Herausforderung ist sicher und sicher migrieren, ohne etwas zu zerbrechen. Die Abdeckung Diagramm früher zeigt, wie es ist ein Geschenk Tag System A von Endnutzern und sie wollen auf System B zu erhalten, welche eine Zukunft, das funktioniert mit den neuesten Updates oder wichtige Upgrades und sie brauchen, um ihre eigenen migrieren kundenspezifische Änderungen über. Oder betrachten Systems B als Target, das an eine separate do-gehört wichtigsten, dass sie die Veränderungen im Laufe senden möchten. Migrieren was? Die nächste gute Frage ist, was genau gesendet wird, vorbei ist? Ist es nur Code? Ja und Nein Mit Compiere Familie die beide ADempiere und iDempiere basiert, die Änderungen können sowohl Code und Daten sein. Und die Daten meta-Daten, konfiguriert die Anwendung Diction- ary, die das Aussehen und das Gefühl und das Modell bestimmt das System, wie Menüs, Windows, Tabs, Tabellen, Prozesse und andere Einstellungen, die nicht hartcodierte aber getrennt derart Metadaten gespeichert sozusagen. Wenn wir uns wieder auf das Diagramm aber denken Sie an das, was wir sagte nur, es sieht wie folgt auf der rechten Seite zu sehen mit zwei Begriffe hervorgehoben worden - AD und Code. AD steht für Application Dictionary, die Meta-Daten. Was dieses Diagramm sagt, ist, dass die AD über als 2K geschickt während der Code als neues Plugin gesendet wird, unter Verwendung eines Entwicklers Tool namens Eclipse. !

 Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh Page 1

i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan Wie zu migrieren? Dann wird die nächste Sache ist, beide, dass getan zu sehen. Die erste ist mit 2K, welche die Änderungen in der Form zu exportieren einer 2Pack.zip die alle Beschreibungen der AD-Änderungen im XML-Format enthält. Die zweite ist die Java-Code-Pack Alter formatiert in einer Plugin-Struktur. Beide werden später in genauen Details enthüllt werden. In unserem Diagramm nur die AD-Änderungen mit 2K ist gut mit den roten Pfeil-Boxen dargestellt. Aber das Plugin-Modul ist es nicht. Es hat nur eine einfache Box 'Eclipse'. So möchten wir zeigen, dass durch eine neue Diagramm Ausbau mehr von dieser Box: Hier sehen wir neue Boxen mit neuen Begriffen. Am links am System A sehen wir, dass der alte Code ist eingewickelt in der alten JVM Stil, geschlossen und man kann nicht abfangen durch jede con- Sohle. Für System B verwenden Sie die OSGi-Container das Ihnen erlaubt, seine Plugins über den Zugang zu 'Ss' Befehl. Das neue System hat auch intra-plugin Beziehung unter der MANIFEST-Datei unter definierten versende Die META-INF-Ordner. In diesem Manifest-Datei definiert seine eigene Plugins Activator Code, erkennt automatisch jede 2Pack.zip Datei , dass Ordner und Pack In der Datenbank hinzuzufügen. Wir werden eigentlichen Code in der Handlung war zu sehen übertragen. Ich habe auch Filme gemacht. Inzwischen Ruhe Ihre müden Augen auf einen Screenshot der Eclipse-Umgebung, die visuelle Cue der Dinge diskutiert gibt.

 Ein. Das Plugin-Modul, POS Integration. 2. Der Activator durch die Manifest-Datei (3 und blaue Markierung) genannt. Sie können sehen,

Die Code-Schnipsel wird codiert, um die 2Pack.zip unter dem Ordner META-INF (4 und rot markiert) nennen. !

 Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh Page 2

i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan Ein Modul zu wandern Jetzt schauen wir uns ein Beispiel für ein Modul zu migrieren. Da hab ich einen, was meine Arbeit im vergangenen Jahr auf die Integration von Openbravo POS ADempiere. In ihm habe ich ein Menü genannt POS Integration mit 3 Unterpunkte, die 2 sind proc- zesse als Export to Queue und Import Bestellungen aus Queue, und 1 Fenster namens Prozess Importierte Aufträge. All dies sind kundenspezifische Modifikation und ist nicht Teil der Standard ADempiere noch iDempiere. Es gibt eine Zahl Möglichkeiten, um über die Änderungen hier, um iDempiere. Ein Weg ist durch die Log Migration Skripte, die aufgezeichnet wenn eine solche Anpassung vorgenommen wurde. Ich habe das getan, und Sie können sie aus dem unten angegebenen Link zu nehmen. Eine andere Möglichkeit ist es, packen aus und packen wieder mit 2K, die schon seit einigen Jahren in ADempiere wurde. Allerdings gibt es jetzt ein Bruch mit der alten als Low Heng Sin hat überarbeitet und verbesserte 2K etwas, dass in Um die iDempiere Pack In verwenden, sollten Sie es auf den 2Packs erfolgt über iDempiere die PackOut sein. So also beginnen wir mit einem frischen iDempiere v1.0.a und wir können die Migration der Script unten angegebenen verwenden, gelten sie mit ANT build.xml und dann auf der Pack gehen Out. https://sourceforge.net/p/red1/small/101/tree/trunk/POSIntegration/migration/ Hier finden Sie eine Liste von SQL-Script wie hier gezeigt. Der nächste was wird der Quellcode des Moduls sein. Sie können auf einmal zusammen mit dem Plugin, Migration Skripten, die 2Pack.zip und Openbravo POS, was dazugehört! Beachten dass wir nur Fokussierung auf die Migrations-Script und die Code Pakete innerhalb als Anpassung, die wir sind Migration mit. Der Link unten ist die ganze fertig end- Produkt. http://sourceforge.net/projects/red1/files/Software% 20Packages/IntegratedPOSplugin.zip/download Starten Sie Ihre iDempiere Wenn Sie Windows-Umgebung sind, dann können Sie iDempiere einfach zu installieren auf einem frischen Windows-PC oder Notebook das hat keine Java oder Postgres DB mit diesem Installer: http://sourceforge.net/projects/red1/files/Software% 20Packages/iDempiere1.0.a_Setup.exe/download Falls erforderlich, zu den Führungen habe ich geschrieben, um den Installer verwenden, beziehen, zusammen mit einem Upgrade Assistant. Wenn Sie nicht Windows, dann auf der Online-Ressource http://wiki.idempiere.org sich bitte an Ihren iDempiere Laufen zu bringen. Sie können auch springen vor, indem Sie Ihre iDempiere Source-Code, der von Eclipse direkt das ist, was wir zu begrenzen in diesem Tutorial. Sobald Ihr iDempiere läuft, sind Sie bereit, um die Migration der Script vom Modul gelten und machen Sie einen Pack-Out eine 2Pack.zip für ein neues Plugin-Modul zu erzeugen. Auch die Online-Hilfe über Migration Script verweisen. Lassen Sie uns jetzt sehen, wie der Pack Out durchgeführt wird. Stellen Sie sicher, Ihre benutzerdefinierten Modul hat seine eigene Menü-Gruppe wie der Fall mit meinem POS Integra- tion obigen Fall. !

 Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh Page 3

i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan Doing eine Packung Melden Sie sich als System, und aus dem Hauptmenü oder in das Suchfeld eingeben 'Pack', bis Sie die Packung Artikel zu sehen High- angezündet (1). Öffnen Sie das Fenster wie unten dargestellt. An der Haupt-Tab geben die Details, die Sie wollen Ihre 2Pack wie (2) nennen.

                                                                      2
            1
                                                                                                     3
                                                                                     4
                                                  5

In der zweiten Registerkarte, wählen Sie Anwendung und Modul, so dass die Menü-Auswahl im Pulldown-(3) erscheint. In der Eingabe der Ausgangspunkt Wort Ihrer Menüpunkt und es erscheinen soll, damit Sie es zu wählen. Sobald das im Bereich akzeptiert, um zurückzukehren die Muttergesellschaft Registerkarte auf "Export-Paket" Taste (4) klicken. Es dauert ein paar Sekunden oder so, je nachdem, wie komplex Ihr Modul-Struktur. Dann am unteren Rand des Fensters in der Statusleiste zeigt den Pfad der zip-Datei erstellt (5). Wir werden, dass Datei für die neue Plugin später. Jetzt können wir gehen und schauen Sie sich unsere individuelle Code für bewegte sie in das neue Plugin auch. Überprüfung Ihres Codes Ihr Code sollte in Paketen etwas ähnlich, was ich habe hier zu sein. Mine ist nicht für POS Integration groß, aber es deckt ausreichende Vielfalt des ERP-Kern. Zum Beispiel habe ich einige org.adempiere.process Klassen in meinem eigenen Prozess Fenster, zusammen mit einer Klasse, die org.compiere.process ImportOrder.java ist. Dieses ist eine Überlastung des Original-Klasse im Basispaket von ADempiere. Zuvor in ADempiere wir überschreiben, dass über eine customization.jar aber in OSGi, wir wissen nicht, dass nicht mehr nutzen. Wir haben gerade müssen Sie den neuen Code in einem anderen Plugin, sondern erklärt das gleiche Paket (org.compiere.process) und aktiviert bei runtime wo es statt der Hauptbasis org.compiere.process Paket ausgeführt werden. Dieses ist im Allgemeinen die Leistung von OSGi componentisation oder Modularität, wo wir nicht brauchen, um den Kern kompilieren oder ersetzen customization.jar !

 Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh Page 4

i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan jedes Mal, wenn wir eine Änderung vornehmen. So sind wir vom Kern entkoppelt und wir nur hinzufügen, unser Plugin in den Stapel andere Plugins. Das bedeutet eine einfache Fehlersuche und Fehlerbehebung oder Wartung, wenn ein Fehler aufgetreten ist aus unserer Code, wir lediglich abzubrechen unser Plugin durch Stoppen sie während der Laufzeit in der OSGi-Konsole. Das habe ich versucht und es funktionierte in meinem Beispiel Plugin. Vorbereiten Ihrer Eclipse Sie sollten wieder auf den Online-Wiki oder Ressourcen finden Sie in Eclipse mit Buckminster und Mercurial Setup-Funktion- nalität. Mercurial ist notwendig, um die Online-mercurial bitbucket Repository des iDempiere Quellcode zugreifen. Buckmin- ster ist ein maven Art Werkzeug, das die 3rd-Party-Bibliothek Gläser in einer verwalteten und online Weise materialisiert in einem Target-Plat- Form. Sobald dies geschehen ist, wie auf Seite 2 durchgeführt, ohne rotes Kreuz error Marken, sind wir nun zu unserem ersten plugin erstellen. Neues Plugin-Projekt Wählen Sie Neu> Sonstige (1)> Plug-in Project (2) und geben Sie den Namen Ihres geplanten Modul (3).

                                                                                                              2
                                                                1
                                   3
                                                                                                              4

Deaktivieren Sie die Optionen> generieren einen Aktivator ... (4) als wir die Verwendung werden die ready-made AdempiereActivator. !

 Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh Page 5

i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan Unter dem META-INF-Ordner finden und öffnen Sie die Datei MANIFEST.MF (1) und an der Registerkarte Übersicht. überprüfen Sie die Activator und klicken Sie auf die Schaltfläche Durchsuchen, um für AdempiereActivator Klasse aussehen. Sie werden nicht in der Lage sein, weil du zu tun haben keine Abhängigkeit für das Plugin noch nicht definiert. Zum Registerkarte Abhängigkeiten (2) und das Plugin hinzufügen, dass con- enthält es das ist org.adempiere.plugins.utils (3). Fügen Sie auch die org.adempiere.base die den Kern für die ist org.adempiere.process und org.compiere.process Pakete, die wir tragen von unserem neuen Plugin.

                                                                                                                       4
                         3
                                             2
                                                                                     1

Beachten Sie, dass unter Importierte Packages Ich habe eine Bibliothek Referenz für meine ActiveMQ Code zu arbeiten (4) ausgewählt. So habe ich müssen nicht tragen meine eigene Bibliothek Gläser in meinem Plugin.

                                                                                                                  3
                                                                                                            2
                        1

Dann zurück zu der Registerkarte Übersicht (1) zurückkehren, klicken Sie auf Durchsuchen (2), und Sie sollten in der Lage sein, um die Activator-Klasse (3) hinzuzufügen. !

 Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh Page 6

i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan Überprüfen Sie Ihre Plugins Jetzt nehmen wir einen genaueren Blick auf benutzerdefinierten Code und sicherzustellen, dass sie in der richtigen Pakete gebracht werden (1) und deren Abhängigkeiten (2) gelöst. Beachten Sie, dass in einem OSGi-Framework seinen Import der Bibliothek Gläser durch (a) TargetPlatform gelöst werden, (b) Sonstige Plug- Ins, die in der Manifest-Datei (3) definiert sind, (c) Interne Bibliothek Gläser auch in MANIFEST definiert. Unten ist, wie meine plugin sieht am Ende.

                                                  2
                                        1

Aber das ist noch nicht alles. Bevor Ihr Plugin funktionieren kann, muss es mit dem Kern plugin org.adempiere.base zugeordnet werden be- führen das Bündel classpath funktioniert anders in OSGi, wo der Kern-Plugin ist bereits für den gemeinsamen Pakete eingestellt Aufruf wie org.adempiere.process. Sie tun das, indem Sie den Eclipse-RegisterBuddy (1) Linie überall in der Datei. (Tipp: copy / paste aus einem anderen Plugin-Manifest) Sie können auch exportieren Sie Ihre Pakete unter der Registerkarte Runtime (2) so dass es sichtbar ist, um den anderen Plugins sie verwenden dürfen. Beachten Sie die Classpath-Panel auf der rechten (3). Das ist, wenn Sie müssen Ihre eigenen internen Bibliothek Gläser verwenden. Dann informieren Sie das MANIFEST da, um sie zu genehmigen.

                                                             1
                                                                                                                                       3
                                                                                                              2

Mit dies getan haben, werden Sie ganz eingestellt, um zu gehen! !

 Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh Page 7

i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan Demonstration Movies By the way, sind hier einige Filme, die ich versprochen. Dieser ist über die Schöpfung des 2K über Pack-out: http://youtu.be/oZSnsfW2A2Y Dieser wird über die Schaffung eines neuen Plugin: http://youtu.be/JjUgGJiXDD0 Dieser wird zum Ausführen des neuen Plugin Pack in und fungieren dann als Ihre neueste Modul zusätzlich: http://youtu.be/TnqizjaCEm8 Dieser Schritt werde ich über nächstes gehen.

                                                                                                                             1

Aktivieren Sie Ihre Plugin Mit alles an seinem Platz und keine roten Fehler Xs in Ihre Eclipse werden wir das neue Plugin laufen von dort aus. (Proper-Bereitstellung in abgedeckt werden eine Zukunft Tutorial Übung). Zuerst machen einen RUN_ImportiDempiere (1) auf Ihrem System so, dass die Datenbank aktualisieren wie neu ist, und Ihr Modul ist noch nicht da und erleben Sie es Exis- tenz nach diesem. Alternativ können Sie zu einem anderen gehen separaten Maschine oder Instanz iDempiere diese Magie auf zu versuchen. Dann in Ihrem Eclipse-Klick auf Ausführen> Ausführen Konfigurationen (2). Dann wählen Sie swingclient.product (3). Aktivieren Sie das Kontrollkästchen auf der linken Seite Ihr neues Plugin und als Startmodus auf die Standardwerte (4) wie du willst Start dieses Plugin über die Konsole manuell.

                                                                                                                                  2
                                                                                                                4
        3

!

 Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh Page 8

i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan Wenn die Java-Client login erscheint nicht anmelden, da die 2K muss in erster Pack. Wenn Sie sich einloggen wird behindert der Pack In Prozess. Gehen Sie zur Konsole Registerkarte und geben Sie "ss" (1). Sie werden einen Stapel von Plugins mit ihren Status sehen dis- gespielt. 'Ss' steht für kurze Status.

                                                                                               1

Blättern Sie nach oben, um das Plugin zu sehen und beachten Sie seine ID Nummer. Meiner ist 2 und so tippe ich "Start 2" (2) neben dem bekommen es aktiviert. Dann werden Sie feststellen, das Pack In arbeiten und warten, bis es mit dem OSGi beendet fordert erneut erscheint in der letzten Zeile (3).

                                            2
                                            3

!

 Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh Page 9

i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan Jetzt können Sie Ihre Login-Box und geben Sie die Anwendung. Aber Sie müssen eine Rolle Zugriff Update zuerst, und dann relogin zu sehen, dass Ihr neues Modul ist jetzt da. Sie müssen nicht über Ihren Code kümmern, wie es auf Standby ist in Ihrem neuen plugin! Getestet habe ich mir in dem Film und es funktioniert. Mein vorrangiges org.compiere.process.ImportOrder welche ist eine Erweiterung des alten Code, wie es Lo-Griffe kator Namen anstelle von ID. Als ich das Bündel zu stoppen, indem Sie in der Konsole 'stop 2' und laufen meine ImportOrder wieder, es zurück zur Basis-Code. Dies ist so erstaunlich, da ich nicht die Anwendung zu beenden, sondern nur spielen, um mit Start-und Stopp-Befehle. Dies beweist, dass unsere ERP-Anwendung wurde aus dem Stein Kleiderschrank von Java kommen und wahrhaft dy- mische, componentised und modular. Schlusswort Selbstverständlich entwickeln komplexere Plugins ist mit diesem funkelnden neuen OSGi-Framework möglich. Es gibt tre- mendous Macht von diesem Zeitpunkt an für die iDempiere Projekt. Unter ihnen können (a) weiter in mehr sein Refactoring granulare Plugins für die gesamte ERP wie die Basis plugin sich weitere werden in feinere Stücke wie, was getan wird gebrochen mit Legende und Prozess-Plugins sowie die ui plugins, (b) funktionelle klug wie, was ist mit meinem eigenen POS getan In- Integration, könnten wir das gleiche mit Fertigungs-und Anlagevermögen getan haben oder sogar Kernfunktionen wie INVOIC- ten, Zahlungen und Reports, (c) enorme Tools und Dienstprogramme von Equinox und anderen Community-Projekten Erfahrungen. Sie waren bereits Teil eines Open-Source-Welt für OSGi, wird iDempiere assimilieren mehr jeden Tag, wie es die letzten Jahre getan hat. Unabhängig von der künftigen Weg vielleicht ist es nicht lassen noch sich zu verlangsamen. Als ich dieses Tutorial geschrieben habe, Carlos Ruiz über mein Skype blitzte mich über weitere neue Änderungen an der iDempiere Anwendung wie hier verfolgt werden kann: http://wiki.idempiere.org/en/Category:New_Features_v0.01. Und er hat gerade iDempiere alpha-Version nur Tage vor! Die Dinge sind immer schnell und wütend mit diesem magischen Kessel, ein Satz, den ich von Eric Raymond schriftlich entlehnt: http://www.catb.org/ ~ esr / Schriften / Dom-bazaar / magic-Kessel / index.html, eine für die ratlos must-read. Dieses Tutorial ist nur als Dosenöffner und ein Starter Guide für viele Entwickler gibt, die jetzt zu vermeiden kann ein meinte steile Lernkurve oder zumindest verkürzen erheblich. Das war schon immer meine Unterschrift in meinen Tutorials. Es ist sowohl mein Freude und Juckreiz zu bekommen, was ich da draußen zu sein für andere zu erleben lernen. Es ist auch ein Vermächtnis möchte ich zurücklassen in meinem letzten Jahre, in den kommenden Jahren, so Gott will. Wenn Sie Vorschläge zu machen oder einfach nur ein Wort des Dankes möchten, können Sie mich persönlich per E-Mail an red1@red1.org. Vielen Dank für wurden hier lesen, und hoffentlich ein Teil von uns geworden. Friede und Segen Allahs sei mit euch. 08.21, Samstag, 10. November 2012

                                                                            - DAS ENDE -

! Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh P Alter von 10 Jahren i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan Epilog - Mit Extension Points Unsere don, Low Heng Sin bemerkte, dass mein Einsatz von Eclipse-RegisterBuddy wird nicht empfohlen und nutzen Erweiterungen statt, um die Prozesse zu definieren. Also haben wir zurück zu unserem Eclipse IDE unten und rufen die Datei MANIFEST. Kill the buddy (löschen) (1).

                                                                                                                            1

In der Übersicht (2) Bedienfeld auf Extensions klicken (3) für Ihre Registerkarte angezeigt. Rufen Sie die Extensions Register (4).

                                                                                                                                   3
                                                                                      2 4
                                                                  5

Klicken Sie auf die Schaltfläche Hinzufügen und eine Auswahl Win- dow (5) für Extensions Punkte werden Pop-up. Klicken Sie auf org.adempiere.base.Process (6), und es wieder zurück zum Fenster. Rechts klicken Sie auf

                                                                                                                6

die neue Linie und wählen Sie Neu-und Verfahrenstechnik (7).

                                                                                                                                        7

! Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh P Alter von 11 Jahren i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan Eine neue Klasse wird für Sie definiert (1), aber wir wollen nicht zu codieren

                                                                                                           1

neu, wie wir bereits die Klassen. Klicken Sie auf den Link Durchsuchen

                                                                                                                                    2

(2) und ein Dialogfeld angezeigt so dass Sie Ihre Wahl Klasse (3).

                                                                                                                                  3
                                                                                                         5
                                                                                                                              6
                                                                         4

Dann müssen Sie eine ID (5) zu Ihrer Klasse, dass für das Bündel Klassenpfad registrieren zu geben. Klicken Sie wieder auf der Hauptstraße Leitung (4), wenn Sie nicht sehen, die ID-Eingabefeld. Sie können ihm eine Bezeichnung zu (6). Ein weiterer Film zeigt all dies wird hochgeladen: http://youtu.be/HXTy9GvCgu8

                                                                ~ Wir sehen uns auf Buddy Beerdigung ~

! Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh P 12 Jahren i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan Epilogue 2 - Bereitstellen Plugin Gestern ist ein besonderes Datum auf dem Kalender. Es ist der 12. Dezember 2012. - 12/12/12 gelang es mir, einen p2 machen Headless Upgrade Regime arbeiten gut mit nahe Null Aufwand für den Endnutzer. http://sourceforge.net/projects/red1/files/p2/ Alles, was Sie tun müssen, ist es nun das Installationsskript herunterladen und ausführen aus Ihrem idempiere-Server Ordner. Die POSIntegration-installer wird magisch legte die Funktion und Plugins in den jeweiligen Ordnern, registrieren sich als Extra-Feature für die spätere Verwaltung und die 2K darin gilt selbst auf die iDempiere Datenbank! Nach dem Start des idempiere-Server (Sie können entfernen Sie die Konsole Frist Figur um die Konsole-Anzeige mehr), mit 'ss' an der OSGi-Konsole zu sehen, können Sie die neue POSIntegration plugin in gelöst Bühne. Auf den Web-Browser, können Sie die Speisekarte und machen eine Rolle Zugriff aktualisieren um es vollständig auf die GardenAdmin verlinkt Rolle, und dann versuchen, eine Export to Queue Prozess. ! Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh P Alter von 13 Jahren i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan Der erste Schritt bei der Herstellung Ihrer plugin einsetzbar ist, um es als ein Merkmal einer p2 Website exportieren. Von Ihrem Eclipse IDE, erstellen Sie ein neues Plugin-Projekt, indem Sie eine Funktion Option. Beachten Sie die Export-Assistenten auf den Link unten rechts im Panel. Wir werden das später am Ende. Am plugin Registerkarte klicken Sie auf Hinzufügen und wählen Sie Ihr Plugin. ! Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh P 14 Jahren i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan Auf der Registerkarte Abhängigkeiten auf Compute klicken und es wird die benötigten Plugins für Ihr Feature hinzuzufügen. Zurück zur Übersicht Registerkarte können Sie dann auf dem Export-Assistenten Link, um eine neue Platte unten öffnen. Sie setzen es in ein Verzeichnis in Ihrem lokalen Desktop. Später können wir sie zu einem Online-Portal für Remote-Benutzer bewegen. ! Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh P Alter von 15 Jahren i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan Unter der Registerkarte Optionen, müssen Sie 'Generate Metadaten-Repository ". Die anderen Optionen sind nicht wich- wichtig wie das nur ein Plugin und nicht um eine vollständige Stand-alone-Produkt ist. Klicken Sie auf Fertig stellen, und das Ergebnis wird in angezeigt Ihren Ordner unten. Sie können dann diesen Test in Ihrem lokalen idempiere-Server mit einem Shell-Skript. Das nachfolgende Beispiel dient als leiten.

              java-Dosgi.noShutdown = false-Dosgi.compatibility.bootdelegation = true
              -Dosgi.install.area = director-jar plugins/org.eclipse.osgi_3.7. *. Jar-Anwen-
              tion org.eclipse.equinox.p2.director-ConsoleLog-Profil DefaultProfile-pro-
              FileProperties org.eclipse.update.install.features = true-Ziel
              file :/ Programme / idempiere-server-Repository
              file :/ Programme / POSIntegration-i POS-Integration.feature.group

! Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh P 16 Jahren i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan Einige Erklärungen zu den Argumenten in der p2 Director Start-Code. -Anwendung org.eclipse.equinox.p2.direct Dies startet den p2 Director Programm. -ConsoleLog Diese senden die Fortschritte log auf der Konsole. -Profile DefaultProfile Dies entspricht dem p2 Profil idempiere-Server-Installation. Es ist optional. -ProfileProperties org.eclipse.update.install.features = true Dadurch wird sichergestellt, dass Ihre neue Funktion mit dem Profil registriert ist. Sie können dann prüfen Sie den Zustand später. Ziel- Dies ist auch optional, wenn Sie Ihr Skript in idempiere-Server ablegen. Sie müssen ihm einen absoluten voll qualifizierten Pfad. -Repository Dies ist, wo Ihre p2 Quelle stammt. Um von der Remote-Site richte ich installieren, können Sie dies nach der Put- Argument: http://sourceforge.net/projects/red1/files/p2/ -I Dies ist eine Abkürzung für-installIU die 'installieren eine installierbare Einheit ". Der Name des Gerätes ist dann vorgesehen. Es ist wichtig, um das Gerät als Funktion Namen eher als sein Plugin-Namen zu nennen. Um herauszufinden, was IUs Sie in Ihrer / Applications / POSIntegration Website haben, können Sie dieses Skript:

              java-Dosgi.noShutdown = false-Dosgi.compatibility.bootdelegation = true
              -Dosgi.install.area = director-jar plugins/org.eclipse.osgi_3.7. *. Jar-Anwen-
              tion org.eclipse.equinox.p2.director-ConsoleLog-Repository
              file :/ Programme / POSIntegration /-Liste

Es wird Ihnen so etwas wie

              POS-Integration.feature.group = 1.0.1.201212121807
              POS-Integration.feature.jar = 1.0.1.201212121807
              POSIntegration = 1.0.0.201212121807

Von dort können Sie sagen, das ist die Feature-Gruppe Namespace in Ihrem Skript verwenden. ! Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh P 17 Jahren i D empiere O pen S ource ERP am OSG i Te chnik! A Developer 's Migration-Plan Um zu überprüfen, was in Ihrem Profil installiert:

              java-Dosgi.noShutdown = false-Dosgi.compatibility.bootdelegation = true
              -Dosgi.install.area = director-jar plugins/org.eclipse.osgi_3.7. *. Jar-Anwen-
              tion org.eclipse.equinox.p2.director-ConsoleLog-Repository
              file :/ Programme / POSIntegration /-lir

-Lir steht für Liste Installierte Roots. Es wird Ihnen so etwas wie:

              org.adempiere.server.product/1.0.0
              org.idempiere.eclipse.platform.feature.group/1.0.0.v20121101-0030

Wenn Sie Ihr neues Plugin installiert, werden Sie sehen, es hinzugefügt, um das Display oben. Mehr Screenshots und Hinweise, wie Sie das Plugin-Quelle in einer p2 Artefakt Ressourcenset bereitstellen wird angezeigt meine Online-Forum http://red1.org/adempiere/viewtopic.php?f=29&t=1723 Sie können auch Fragen stellen oder Kommentare in diesem Forum-Thread. Kuang Farm 07.28 13. Dezember 2012. ! Copyleft 2012 Redhuan D. Oon SYSNO VA, B angladesh P 18 Jahren

Cookies helfen uns bei der Bereitstellung von iDempiere de. Durch die Nutzung von iDempiere de erklärst du dich damit einverstanden, dass wir Cookies speichern.