Kurzanleitung für Magnolia Installation mit EURO Projekt

Version 1.4, © 2010-2011 by Walter Hofstädtler, 2013 Christian Hofstaedtler

Unterstützte Windows Versionen

  • Windows 10 Pro x64
  • Windows 8.1 Pro x64
  • Windows 7 Pro x64

PostgreSQL f. Windows installieren

Installer: postgresql-9.2.4-1-windows.exe für 32 Bit Windows oder postgresql-9.2.4-1-windows_x64.exe für 64 Bit Windows oder neuer verwenden.

  • Installer starten.
  • Installation Directory: Vorgabe belassen
  • Data Directory: C:\MagData\9.2\data
  • Passwort: ch!wh$789
  • PG Port: 5432
  • Locale: German, Austria
  • Launch Stack Builder at exit? [ ] Nein.

Netzwerkfreigabe der Datenbank

  1. Windows FireWall Port 5432 freigeben!
  2. C:\MagData\9.2\data\pg_hba.conf editieren, diese Zeile anhängen: host    all             all             192.168.0.0/16          md5

Wobei 192.168.0.0 das Netzwerksegment ist und ggf. angepasst werden muss z.B.: 10.0.0.0/8.

Magnolia IDE installieren

  1. MagnoliaIDE-x.y.msi ausführen und mit Vorgaben installieren
  2. Magnolia IDE starten - die Frage nach Projekt übergehen

StationID setzen

Ein Magnolia Command Prompt öffnen und MagRuntime.exe aufrufen, die StationID wird grafisch angezeigt. Entweder die Vorgabe (entspricht der MAC) verwenden oder eine fixe StationID festlegen. Zusätzlich wird nach der Runtime Lizenz gefragt und die Runtime Lizenz installiert, Punkt 5. kann bei einem Arbeitsplatz dann übersprungen werden. Hinweis: die Konfiguration mit MagRuntime.exe funktioniert nur einmal auf jedem Arbeitsplatz.

Am Entwickler PC und bei Einzelplatz-Installationen wird die StationID auf 1 gesetzt!

Alternativ die StationID mit “MagSetStationId.exe” setzen:

  • Setzt die StationId auf die letzten 4 Byte der MAC:

    ein Magnolia Command Prompt öffnen und MagSetStationId.exe aufrufen

  • Setzt die StationId auf eine feste Nummer:

    ein Magnolia Command Prompt öffnen und MagSetStationId.exe <StationID> aufrufen.

  • Die StationID ist in der XP Registry unter HKLM\Software\Magnolia\StationID als DWord gespeichert. Bei Win 7 x64 in: HKLM\Software\Wow6432Node\Magnolia\StationID.

Lizenz Dateien in Magnolia IDE importieren

  1. Magnolia IDE starten
  2. Magnolia - Install License File - Developer Lizenz auswählen - OK (nur wenn notwendig)
  3. Magnolia - Install License File - Runtime Lizenz auswählen - OK (nur wenn notwendig)

Datenbank mit Magnolia IDE anlegen

  1. Magnolia IDE starten
  2. Magnolia - Create DB (siehe Screen Shot: Create_DB.bmp)
    1. PostgreSQL DB Server: localhost sofern die Datenbank lokal ist oder der Datenbankserver
    2. “postgres” Role Password: ch!wh$789
    3. DB Owner Option [x] Create new role
    4. New Role Name: euro
    5. New Role Password: ch!wh$789
    6. New DB Name: euro
    7. Wichtig: Collation: muss German, Austria sein!!!
    8. Finish.

app.cfg für die Datenbank anpassen

Die app.cfg befindet sich in: C:\<lokales_Euro_Directory>.

Die Zeile mit db: anpassen:

db: euro:ch!wh$789@localhost/euro
1    2  3 4       5  6      7 8
  1. db: Token, um 2 Leerzeichen eingerückt
  2. euro Datenbank Username
  3. : Trennzeichen
  4. ch!wh$789 Passwort für den User “euro”
  5. @ Trennzeichen
  6. localhost Server auf dem PG läuft, auch IP oder FQDN
  7. / Trennzeichen
  8. euro Datenbankname

Z.B.: die Datenbank befindet sich auf Server db-srv.kunde.local:

db: euro:ch!wh$789@db-srv.kunde.local/euro

Hinweis: db: muss genau mit 2 Leerzeichen eingerückt sein!

Station in Datenbank anlegen

Die aktuelle MagRuntime.exe legt das Schema station_<StationsID> selbstständig an, sobald MagRuntime.exe auf der entsprechenden Station gestartet wird. Weiters legt MagRuntime.exe auch das Schema user_<User_ID> an wenn die app.cfg für UserID konfiguriert wurde.

Man muß dann nur die menue_dat in die entsprechende station_<StationsID> bzw. user_<User_ID> kopieren oder importieren:

  1. eine Magnolia Command Prompt aufmachen und in das Projekt Directory stellen.
  2. MagProjectBuild.exe" -t copytable menue_dat <StationsID>.c_menue_dat

Alternativ: Station manuell anlegen

Diese Anleitung ist obsolet und zeigt wie man diese Schritte manuell durchführt.

  1. “StationID setzen:” muss erfolgreich abgeschlossen sein! Hinweis: die StationID ist in dezimal anzugeben!

  2. Schema anlegen:

    • Mit psql:

      "%ProgramFiles%\PostgreSQL\9.2\bin\psql.exe" -d euro -U postgres -c "create schema station_<StationsID> authorization euro;"

      Wenn OK, kommt als Antwort: “CREATE SCHEMA”.

    • Alternativ mit “pgAdmin III” anlegen: Mit dem “pgAdmin III” in die Euro Datenbank einloggen und unter Schemas ein neues Schema station_<StationsID>, Owner euro anlegen

Projekt im Magnolia anlegen

  1. Das Projekt Verzeichnis muss existieren und die *.MOD Dateien sowie die app.cfg enthalten.
  2. In der Magnolia IDE:
  3. File - New - Magnolia Project ->
  4. Project Name: z.B.: EURO
  5. [ ] Use default location
  6. Browse - auf das Projekt Verzeichnis
  7. Finish

Magnolia beginnt das Projekt zu kompilieren, benötigt für das EURO Projekt ca. 20 Min. je nach PC.

Projekt starten / debuggen

  1. “Projekt im Magnolia anlegen” muß erfolgreich abgeschlossen sein.
  2. Im Fenster MagNavigator das entsprechende .MOD auswählen, z.B.: MENUE.MOD
  3. rechte Maustaste auf das .MOD - Run As - 1 Magnolia Application oder
  4. rechte Maustaste auf das .MOD - Debug As - 1 Magnolia Application - für den Debugger

Temporäre Tabellen droppen

  1. Das Batchfile: _drop_tmp_tables.cmd anpassen, alle temp. Tabellen eintragen
  2. _drop_tmp_tables.cmd aufrufen, droppt alle temp. Tabellen.

Drucken in der Application

  1. Das app.cfg in C:\<lokales_Euro_Directory> anpassen
  2. Sektion printer:
  3. Den Printer auswählen, z.B.: ” HL4V-LPT1:”
  4. Den Queue Eintrag ändern: ” queue: “FS-1920 auf ICC-SRV””, wobei “FS-1900 auf ICC-SRV” der Druckername im Windows ist.
    • Das Token queue: muss um 4 Leerzeichen eingerückt sein!
    • Das Token name: wird dz. nicht ausgwertet.
  5. Die Druckerklassen findet man unter “printerclass:”
  6. Die Steurzeichen sind in Sektion “printerfunctions:”
  7. Im app.cfg unbedingt auf die Einrückung achten.

Kurzanleitung für Magnolia Single User und Netzwerk Installation EURO Projekt

Version 1.4, © 2010-2011 by Walter Hofstädtler, 2013 Christan Hofstaedtler

Magnolia Runtime installieren

MagnoliaRuntime-x.y.msi installieren.

Die Magnolia Compiler Hilfe zur Installation lesen

Den Abschnitt: “Configuring the Magnolia Runtime” lesen!

Datenbank installieren

  • Einzelplatz: Siehe “1) PostgreSQL f. Windows installieren”
  • Netzwerk: PostgreSQL 9.2 netzwerkfähig von root auf einem Linux Server installieren lassen.

Netzwerkfreigabe der Datenbank

Wie in “Netzwerkfreigabe der Datenbank” beschrieben einrichten

Sie StationID setzen

MagRuntime.exe einmalig starten, setzt die StationID. Hinweis: die Konfiguration mit MagRuntime.exe funktioniert nur einmal auf jedem Arbeitsplatz.

Alternativ die StationID mit MagSetStationId.exe setzen:

  • Setzen der StationId auf die letzten 4 Byte der MAC:

    eine CMD Box aufmachen und MagSetStationId.exe aufrufen

  • Setzen der StationId auf eine feste Nummer:

    eine CMD Box aufmachen und MagSetStationId.exe <StationId> aufrufen. Wird die StationID fix vergeben, muß sichergestellt werden, das jede StationID nur einmal verwendet wird! Am besten, eine Liste der StationIDs führen.

Einzelplatz: die StationID immer fix auf 1 setzen. Netzwerk: die StationID entsprechend der MAC setzen oder Liste führen.

Kundenlizenz kopieren

Die Kundenlizenz “runtime.maglic” in das lokale Euro Directory kopieren.

Datenbank für den Kunden anlegen

Die Datenbank mit der Magnolia IDE wie unter: “Datenbank mit Magnolia IDE anlegen” beschrieben anlegen.

app.cfg für Server und Drucker anpassen

Wie in: “app.cfg für die Datenbank anpassen” beschrieben anpassen:

Einzelplatz:Hier den Server Eintrag auf “localhost” setzen. Hinweis: Einzelplatz Lizenzen funktionieren nur mit localhost!
Netzwerk:Hier den Server Eintrag auf “<SERVER-FQDN>” setzen.

Drucker einrichten wie unter “13) Drucken in der Application:” beschrieben. Weitere Informationen zum Drucken in der Magnolia Hilfe.

Die vorbereitete Datenbank importieren

Mit dem von Herrn Goschler programmierten Importer durchführen.

Die Station(en) in der Datenbank anlegen

Wie in “Station in Datenbank anlegen” beschrieben einrichten. Einzelplatz nur Station 1 anlegen, Netzwerk alle Stationen anlegen.

Das Programm mit einem CMD File starten

Magnolia bringt das Muster-Startscript EURO.CMD mit:

@echo off
cd /d C:\<lokales_Euro_Directory>
MagRuntime menue.imd
pause

Datensicherung einrichten

Dieses Kommando exportiert die gesamte PostgreSQL Datenbank nach C:\MagData\9.2\backup:

"%ProgramFiles%\PostgreSQL\9.2\bin\pg_dumpall" -U postgres -c -f C:\MagData\9.2\backup\pgsql_backup.sql

Lokalen Postgresql Klienten einrichten

Nur notwendig wenn auf diesem Arbeitsplatz “_drop_tmp_tables.cmd” oder “pgAdmin3.exe” oder die Datensicherung gestartet werden soll.

Für 64-bit Windows

Von einem PC auf dem Postgresql 9.x installiert ist, aus %ProgramFiles%\PostgreSQL\9.2\bin\ folgende Dateien auf den Ziel-PC nach %ProgramFiles%\PostgreSQL\9.2\bin\ kopieren.

  • libeay32.dll
  • libiconv.dll
  • libintl.dll
  • libpq.dll
  • libxml2.dll
  • libxslt.dll
  • pg_dump.exe
  • pg_dumpall.exe
  • pgAdmin3.exe
  • psql.exe
  • ssleay32.dll

Für 32-bit Windows

Von einem PC auf dem Postgresql 9.x installiert ist, aus %ProgramFiles%\PostgreSQL\9.2\bin\ folgende Dateien auf den Ziel-PC nach %ProgramFiles%\PostgreSQL\9.2\bin\ kopieren.

  • iconv.dll
  • libeay32.dll
  • libiconv-2.dll
  • libintl-8.dll
  • libpq.dll
  • libxml2.dll
  • libxslt.dll
  • pg_dump.exe
  • pg_dumpall.exe
  • pgAdmin3.exe
  • psql.exe
  • ssleay32.dll

Userspezifisches Menü (Loginname)

Es wird der Windows Benutzername verwendet.

  1. Im app.cfg muß folgendes eingetragen sein:

    db:
      emulation:
        "C:*":
          name_format: "station_${stationid}.${name}"
        "M:*":
          name_format: "user_${username}.${name}"
  2. MEN-LW.DAT auf M setzen.

  3. MagRuntime MENU.IMD starten, ein leeres Menü erscheint.

  4. Die MENU.DAT in das Schema user_<User_ID> für diesen User importieren.

Userspezifisches Menü (Mitarbeiternummer)

Es wird die von der Application abgefragte Mitarbeiter-Nummer (Name) verwendet.

  1. Im app.cfg muß folgendes eingetragen sein:

    db:
      emulation:
        "C:*":
          name_format: "station_${stationid}.${name}"
        "M:*":
          name_format: "user_${userid}.${name}"
  2. MEN-LW.DAT auf M setzen.

  3. Die ML Application muß MLSYSTEM.310 auf den gewünschten / abgefragten

    Wert setzen und erst dann das Menü starten.

  4. MagRuntime MENU.IMD starten, ein leeres Menü erscheint.

  5. Die MENU.DAT in das Schema user_<User_ID> für diesen User importieren.