Home Forum Allgemeines Allgemeines zu Nuclos Server Regel (API basiert) / Erweiterung

Ansicht von 7 Beiträgen - 1 bis 7 (von insgesamt 7)
  • Autor
    Beiträge
  • #6343
    Thorsten Kreutz
    Teilnehmer

    Hi 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ß
    jproxx

    #6350
    Matthias Haake
    Teilnehmer

    Hallo 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/Barcode

    Viele Grüße,
    Matthias

    #6363
    Ramin Goettlich
    Teilnehmer

    Hallo,

    warum eine Extension und nicht einfach einen Satz von Server-Regeln?

    Oder sollen auch clientseitige Komponenten entwickelt werden?

    Grüsse,
    nuclosian

    #6376
    Thorsten Kreutz
    Teilnehmer

    Hallo Nuclosian,

    wenn ich in die Regelbibliothek schaue, gibt es UpdateRules, InsertRules etc.
    In Ermangelung eines entsprechdenen Zeit-Eingabefeldes formatiere ich die eingegebene

    Zeit 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ß
    jproxx

    #6377
    Frank Pavlic
    Teilnehmer

    Guter 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ß
    Frank

    #6379
    Ramin Goettlich
    Teilnehmer

    Hallo,

    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,
    nuclosian

    #6380
    Frank Pavlic
    Teilnehmer

    ahhh, jetzt wirds Tag. Tut mir Leid, habe ich vergessen, BO steht für BusinessObjects :whistle:
    Vielen Dank für die Aufklärung.

    Gruß
    Frank

Ansicht von 7 Beiträgen - 1 bis 7 (von insgesamt 7)