Home › Forum › Allgemeines › Allgemeines zu Nuclos › Server Regel (API basiert) / Erweiterung
- Dieses Thema hat 6 Antworten und 4 Teilnehmer, und wurde zuletzt aktualisiert vor 10 Jahre, 3 Monaten von
Frank Pavlic.
-
AutorBeiträge
-
7 Februar 2013 um 02:01 Uhr #6343
Thorsten Kreutz
TeilnehmerHi Everybody,
da das Thema Uhrzeit nicht im Standard vorhanden ist, müssen wir uns selbst darum kümmern. Ich möchte jetzt in Eclipse eine Klasse schreiben und Unit tests dafür schreiben. Die so getestete Klasse würde ich gern mittels
import com.example.Utils;
einbinden, bekomme aber einen Laufzeitfehler. Ich habe zunächst versucht die compilierte Klasse im Pfad C:Program FilesNucloswebappWEB-INFclasses abzulegen. Hilft aber nichts.
Ist es so, dass ich eine signierte Jar Datei erzeugen muss, und in die .jnlp Datei einbinden muss – oder wie sieht der korrekte Weg aus?
Danke und Gruß
jproxx7 Februar 2013 um 16:21 Uhr #6350Matthias Haake
TeilnehmerHallo jproxx.
Im Wiki gibt es einen Artikel, wo das Einbinden einer externen Klasse beschrieben wird. Darin geht es um Barcodes – aber das Vorgehen sollte identisch sein.
Deine Vermutung ist richtig, Du musst es signieren, dann in den extension-Odner des Installers kopieren und anschließend Nuclos aktualisieren. Genaueres hier:
http://wiki.nuclos.de/display/Konfiguration/BarcodeViele Grüße,
Matthias10 Februar 2013 um 21:57 Uhr #6363Ramin Goettlich
TeilnehmerHallo,
warum eine Extension und nicht einfach einen Satz von Server-Regeln?
Oder sollen auch clientseitige Komponenten entwickelt werden?
Grüsse,
nuclosian13 Februar 2013 um 00:04 Uhr #6376Thorsten Kreutz
TeilnehmerHallo Nuclosian,
wenn ich in die Regelbibliothek schaue, gibt es UpdateRules, InsertRules etc.
In Ermangelung eines entsprechdenen Zeit-Eingabefeldes formatiere ich die eingegebeneZeit mittels einer Methode:
protected String formatTime(String value);und mit der Methode konvertiere ich das in ein Date, weil ich damit rumrechnen muss:
protected Date getDate(String formattedTimeString, String format)Da ich die Formatierung in einer InsertRule und in einer UpdateRule benötige, muss ich den Code duplizieren. Das verstößt gegen unser DRY (Dont Repeat Yourself) Prinzip.
Deshalb wollte ich das in eine externe Bibliothek auslagern, die ich ausserdem Unit testen kann.
Danke und Gruß
jproxx13 Februar 2013 um 00:31 Uhr #6377Frank Pavlic
TeilnehmerGuter Punkt. Es wäre sicher hilfreich, auch für BusinessObjects-Regeln eigene Bibliotheken anzulegen, um generische Funktionen unterbringen zu können. Code-Duplizierung ist nicht mehr State of the Art ;-). Allerdings finde ich es nicht sinnvoll, eigene Bibliotheken in Extensions auszulagern. Wiki gibt diesbezüglich tatsächlich keine Informationen her. Gibt es bezüglich BO’s keine eigene Bibliotheksentwicklung, analog zu den Bibliotheksregeln ? Oder lassen die sich sogar in BO-Regeln einbinden ?
Ich habe einige generische Bibliotheken, die ich ab 3.11 irgendwo unterbringen muss :ohmy:
Gruß
Frank13 Februar 2013 um 03:57 Uhr #6379Ramin Goettlich
TeilnehmerHallo,
was sind BO-Regeln?
Es lassen sich unter dem Menüpunkt „Server-Regeln (API-basiert)“ beliebige Klassen anlegen, die müssen ja nicht die für die Event-Zuordnung im Regelmanager relevanten Interfaces wie InsertRule, UpdateRule, etc. implementieren.
Wenn sie diese Interfaces implementieren, stehen sie im Regelmanager zur Zuordnung zur Verfügung, wenn nicht, dann nicht. Nichtsdestotrotz lassen sie sich dann aber in anderen Regeln (wie Bibliotheksregeln) beliebig verwenden, durch
import .;
„Bibliotheksregeln“ gibts es also wie bisher natürlich auch, die Pflege aller Regeln erfolgt nun aber über eine gemeinsame Oberfläche, nicht mehr über drei separate Oberflächen „Geschäftsregeln“, „Fristenregeln“ und „Bibliotheksregeln“.
Grüsse,
nuclosian13 Februar 2013 um 11:31 Uhr #6380Frank Pavlic
Teilnehmerahhh, jetzt wirds Tag. Tut mir Leid, habe ich vergessen, BO steht für BusinessObjects :whistle:
Vielen Dank für die Aufklärung.Gruß
Frank -
AutorBeiträge