Seitenhistorie
Inhalt | ||
---|---|---|
|
Vorraussetzungen
- Node.js
- Nuclos MUSS im Entwicklungsmodus gestartet werden
Installation der benötigten Libraries
Folgender Befehl muss nicht bei jedem Start, sondern nur initial und nach Änderungen der verwendeten Bibliotheken (Datei: package.json
) durchgeführt werden.
Codeblock |
---|
cd nuclos/nuclos-webclient
npm install |
df
npm install --save-dev eslint --verbose
Konfiguration des Nuclos-Servers
Die Server-Konfiguration wird mittels:
Codeblock |
---|
npm run config |
erstellt.
Der Hostname, Port und Webcontextname des verwendeten Nuclos-Server muss anschließend über die Datei nuclos/nuclos-webclient/src/assets/config.json
angepasst werden.
Starten des HTTP-Servers für den Webclient
Codeblock |
---|
node ./node_modules/@angular/cli/bin/ng serve --aot |
Der Webclient ist dann über http://localhost:4200 erreichbar.
Info | ||
---|---|---|
| ||
Es kann sein, dass die oben genannten Schritte in Verbindung mit einem Webaddon nicht funktionieren. Sollte dies der Fall sein, gibt es folgende Möglichkeiten um das Problem zu lösen:
|
Debuggen mit Chrome:
Um direkt in Chrom zu debuggen, muss man mit "Insprect" im Tab “Sources”, Untertab “Filesystem”, die TS-Sourcen (nuclos-webclient/src) mit “Add folder to workspace” angeben.
Der Chrome Debugger ist ausgezeichnet, sehr schnell und zuverlässig, weitaus besser als der IntelliJ Debugger. Einziger Nachteil: Zum persistenten Ändern der Sourcen sollte man die Stelle in IntelliJ suchen und dort Änderung. Zum schnellen Debuggen ist der Chrome Debugger zu empfehlen.
Mit Ctrl+P (Command+P beim Mac) kann man auch einzelne TS-Files öffnen, Breakpoints setzen.
Beispiel für Breakpoint in Zeile 17 von dashboard-grit-ite-wrapper.ts:
Basis:
Eclipse IDE for Java EE Developers ab Version 4 oder Spring Tool Suits (STS) ab Version 3 mit einem installierten Apache Tomcat Server (>=7.0.33).
Javascript Plugins für Eclipse:
Im Eclipse Marketplace nach "JSDT" suchen, zuerst "Javascript Debug Toolkit", dann "JSDT jQuery" installieren. Damit wird die Vearbeitung JavaScript und HTML Dateien unter Eclipse unterstützt.
CheckOut Maven Projekt:
In Eclipse Import -> Maven -> Check out Maven Project from SCM -> Next. SCM Url: svn https://svn.novabit.de/nuclos-web -> Finish. Gegebenenfalls muss Subversive/Maven/M2E aus dem Eclipse Marketplace installiert werden.
Tomcat Server Konfiguration:
Der Server übernimmt in der ersten Entwicklungsphase gleich zwei Aufgaben: 1) Er dient als Servlet-Container für den REST-Service. 2) Als ganz normaler WebServer zum Bereitstellen der HTML/Javascript Client Komponenten. Dazu in Eclipse das Server-Context-Menü mit "Add and Remove..." das Servlet "WebNuclos" hinzufügen und die anderen abwählen:
Dann durch das Server-Context-Menü "Preferences" aufrufen, "Modules" wählen und dort das WebModule hinzufügen:
Es ist ratsam unter "Overview" und "Publishing" das automatische Publishing zu aktivieren. So werden veränderte HTML und JavaScript Ressourcen sofort publiziert. Dabei bitte "Auto Reload" in den Modulen auf Disabled lassen, so wie in dem Screenshot und weiter unten erläutert.
Eclipse Preferences:
Damit verändertere Ressourcen sofort erkannt werden, sollte in den Preferences unter "General" -> "Workspace" die Checkbox "Refresh using native hooks and polling" aktiviert sein.
Datenbankverbindung:
Um die Nuclos Datenbank zu konfigurieren, muss die Datei "jdbc.properties" angepasst werden. Diese liegt momentan unter "WebNuclos/src/main/java/org/nuclos/rest/db" im Workspace:
Codeblock |
---|
driverClassName=org.postgresql.Driver
jdbcUrl=jdbc\:postgresql\://localhost\:5432/postgres
password=nuclos
username=nuclos
schema=ms1 |
Die Angabe des Schemas ist optional, falls es nicht angeben wird, wird der username als Schema-Name verwendet.
Serverstart:
Der Server kann nun direkt aus Eclipse gestartet werden. Dabei werden sowohl der WebServer als auch der REST-Server gestartet und die Anwendung ist mit diesem Link erreichbar:
http://localhost:8080/nuclos/app/
Hot Deployment:
Damit der Server Änderungen an den Ressourcen mitbekommt, wurde Auto-Publishing aktiviert. Dies gibt in den Default-Einstellungen des Tomcats Probleme. Beim Re-Deploy von Java Klassen "verschluckt sich" der Tomcat-Server. Um dies zu vermeiden, sollten die Module mit "Auto Reload=disabled" konfiguriert sein. Dazu sollte in der Overview "Publish module contexts to separate XML files" aktiviert sein. Dies und weitere Tips kann unter https://ducquoc.wordpress.com/2010/11/06/eclipse-wtp-tomcat-hot-deploy/ nachgelesen werden.
Alternativer Javascript/HTML Editor:
...