Entwickeln von Modulen / Module Managen

1. Auf einer Developer-Maschine über GIT

Voraussetzung

Hier wird der Weg über GIT beschrieben:

Das heißt, wir befinden uns auf einer Developer-Maschine und die Umgebungsvarablen OPENZ_GITOSS und OPENZ_GITPT sind gesetzt.

OPENZ_GITOSS ist der Pfad zu den Sourcen von openz

OPENZ_GITPT ist der Pfad zu den Sourcen der eigenen Module, die nicht Teil der OpenZ-Distribution sind. Darunter muß sich das Verzeichnis modules/ befinden. Darin befindet sich ein Unterverzeichnis mit dem

   -> Java – Package Name des Moduls (Application Dictionary || Module  ||  Module: Java Package (Beispiel com.xyz.abc)

Von hier aus sind die immer gleichen verzechnisse src und src-db  zu erreichen. Unter src werden die Java-Sourcen geführt unter src-db die Datenbank-Scripte im Unterverzeichnis sql.

Installieren von Modulen

  java -cp „$OPENZ_GITOSS/lib/runtime/*“ com.openz.update.ImportModule  <javapackagename> $OPENZ_GITOSS/config/Openbravo.properties

 

DE-Installieren von Modulen

java -cp „$OPENZ_GITOSS/lib/runtime/*“ com.openz.update.DropModule <javapackagename> $OPENZ_GITOSS/config/Openbravo.properties

 

Exportieren von Modulen

java -cp „$OPENZ_GITOSS/lib/runtime/*“ com.openz.update.ExportModule  <javapackagename>

Danach ggf.

git push

 

Upgrade der kompletten Distribution auf Development-Maschine

Voraussetzung: Datenbank auf Development Maschine befindet sich auf einer definierten älteren Version als die auf der entwickelt wird (Z.B.: 2.6.04.048 auf der Datenbank, Upgrade auf die in Entwicklung befindliche Version 2.6.04.052)

psql : Drop und create database

psql <openz> < dump<ältereVersion>.sql

git pull auf allen Repositories

Linux: 

java -cp „$OPENZ_GITOSS/lib/runtime/*“ com.openz.update.ImportModule  DISTRI $OPENZ_GITOSS/config/Openbravo.properties

ant compile.complete

 

Bei Strukturänderungen des Data-Dictionarys die Module der Core-Distribution anpassen

Es ist nötig, eine Datenbank, die das Modul bereits enthält mit der Distri upzugraden und das Modul danach zu exportieren.

Bei Struktur-Änderungen erhöht sich bei der Versionierung die 2. Stelle der Core-Module um 1, d.h. Damit sind wir z.B. bei OpenZ 3.3.x.y

Das heisst, die vorhandenen Module müssen an die neue Struktur angepasst werden.

Das Update der vorhandenen Module (bei Ihnen eu.drive.prangewws)  geschieht wie folgt:

Auf der Entwickler-Maschine, wo das Modul entwickelt wird bitte eine Datensicherung machen.

Danach folgende DDL-Statements absetzen:

Z.B.:
— V. 3.3

alter table ad_tab add column ismaxrowsparam  character(1)   not null default ‚N‘::bpchar;
alter table ad_tab_instance add column ismaxrowsparam  character varying(60)   not null default ‚NON‘;

Die Alter Tables werden von Openz-Entwicklerteam pro Version an Partner herausgegeben.

Dann  das Modul exportieren (Die Exporte passen sich damit der neuen Struktur an)

Danach kann man entweder die Columns wieder droppen oder die Datenbank droppen und die Sicherung einspielen.

In die so wieder auf alter Struktur befindlicher Datenbank kann man die Module wie gewohnt importtieren und Zwar in der Reihenfolge

1. core

2. Module

Danach kann das Modul wieder gepackt werden.

 

Packen von Modulen für das Deployment

./maketarball  <javapackagename>

Installieren der gepackten Module auf einer Zielmaschine

Die Zielmaschine muß eine heruntergeladenen VM von OpenZ sein.

Das kann ein Test – oder Produktiv-System sein.

Es nmuß eine gültige OpenZ-Enterprise-Subscription bestehen.

Der eben erzeugt Tarball muß im Verzeichnis /home/zisoft/deployment_tarballs liegen.

man wechselt in das Verzeichnis: /home/zisoft/config

app bezeichet die OpenZ-Instanz (letzter Teil der URL), tarball den Dateinamen des oben erzeigten, gepackten Moduls.

Der letzte Parametetr (Y/N) zeigt an, ob kompiliert wird (N), Wenn Y, wird nicht komiliert. (Wenn das Modul Servlets enthält, ist das einkompilieren notwendig)

 

./deploy_all.sh <app> <tarball> <javapackagename> N 

 

Exportieren der kompletten Distribution auf Development-Maschine

Linux: 

java -cp „$OPENZ_GITOSS/lib/runtime/*“ com.openz.update.ExportModule 

 

Windows: 

c:\tmp muss existieren

java -cp „%OPENZ_GITOSS%/lib/runtime/*“ com.openz.update.ExportModule