Autor Thema: OO Entwicklung mit LotusScript - Frage externer Editor / Eclipse?  (Gelesen 58879 mal)

Offline JulianBuss

  • Aktives Mitglied
  • ***
  • Beiträge: 132
  • Ich liebe dieses Forum!
wer schon jemals objektorientiert in LotusScript entwickelt hat weiß, wie doof das im Designer gelöst ist: sämtlicher Code wird einfach in den Deklarations-Teil des Script-Objekts gehackt.
Wenn man dann mal Java mit einer so unglaublich geilen IDE wie Eclipse entwickelt hat fragt sich unwillkürlich: gibt es nichts halbwegs ähnliches für LotusScript?

Oder formulieren wir mal um: wir entwickeln extrem viel objektorientiert in LotusScript, und das Chaos bricht nur deswegen nicht aus, weil wir alles brav in einzele Bibliotheken aufteilen und mit visuell gut zu bemerkenen Kommentaren arbeiten, so dass man beim überfliegen des Codes schnell zu einer bestimmten Methode gelangen kann.

Es ist trotzdem ein Unding, dass der Designer da keine Unterstützung für anbieten; normale Subs und Funktionen werden im Navi-Fenster extra aufgeführt, so dass man bequem direkt springen kann. Für Klassen gilt das nicht :-(

Ich habe jetzt schon merfach das Netz abgegoogelt und es ist wirklich nichts in der Richtung zu finden. Das kann ich gar nicht glauben! Die IBM selbst baut doch auch viel objektorientiertes Script, wie machen die das denn selbst?

Im Grunde wäre es ja schon eine Hilfe, den Code mittels eines externen Editors in Dateien zu speichern und dann via %INCLUDE einzubinden - das geht nur nicht, weil Compile-Fehler dann nicht mit der Zeile des Fehlers im Script, sondern mit der Zeile des %INCLUDE-Statements gemeldet werden... Fehlersuche wird also zur Glückssache.

Also Frage: entwickelt jemand LotusScript mittels externem Editor? Entwickelt jemand objektorientiertes Script mit was anderem als den Designer?

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Jo, das ist leider so :(

Hier eine Möglichkeit:

http://www.ultraedit.com

Dabei passe man die Einstellungen von VB so an, dass man es für LS verwenden kann. Etwas besseres scheint es nicht zu geben. Scheint, dass es für vim eine tag-library für LotusScript gibt, habe aber leider keinen Link dazu.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline JulianBuss

  • Aktives Mitglied
  • ***
  • Beiträge: 132
  • Ich liebe dieses Forum!
das finde ich gradezu unglaublich, ob alle Entwickler bei IBM wirklich ihr Script im Designer entwickeln?!?

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
selbes Problem hier.
hat jemand Lust, mit mir ein Eclipse Plug-in zu entwickeln?
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline JulianBuss

  • Aktives Mitglied
  • ***
  • Beiträge: 132
  • Ich liebe dieses Forum!
würd ich machen, was nur vorher zu klären ist wäre: wenn ich ein Script-File per Include einbinde, und im File ist ein Script-Fehler, meldet der Designer mit dann die Zeile des Fehlers im File, oder die Zeile des %INCLUDE ?
Bei letzterem wären alle Versuche, Script extern zu editieren, sinnlos.
Ich hatte das mit Domino 6 mal getestet, Ergebnis negativ. Ich teste das gleich nochmal mit 6.5.

Offline JulianBuss

  • Aktives Mitglied
  • ***
  • Beiträge: 132
  • Ich liebe dieses Forum!
Ergebnis: negativ.

Beispiel zum nachvollziehen: unter c:\temp\test.lss eine Textdatei mit diesem Inhalt erstellen:
---
prin "test"
---

-> proviziert einen Compile-Fehler.

Im Designer Agent erstellen, in Initializie Zeile 2 schreiben:
---
%INCLUDE "c:\temp\test.lss"
---

und speichern.
Meldung im Designer: Initialize: 2: Not a sub or function name: PRIN

-> Wertlos, es wird die Zeiile des Include gemeldet, nicht die des falschen Print-Statements in der Datei.

Somit können wir das alles vergessen :-(((((((((((

Offline JulianBuss

  • Aktives Mitglied
  • ***
  • Beiträge: 132
  • Ich liebe dieses Forum!
und das obwohl in der Designer-Hilfe was anderes steht:
---
If a compile-time error occurs in a statement in an included file, the file name and the line number within that included file are reported with the error.
---

Strange, eh?

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
also ich kenne es auch nur aus R5 so, dass die Zeile des Include-Statements bei einem Fehler zurückgegeben wird.
Ich hab selber nicht in Notes 6 probiert.

Ein theoretischer Workaround:

das Script aus einem externen Editor via XML in die DB zu bringen (und auf dem gleichen Weg aus der DB in den Editor) und ohne %Include zu arbeiten.

Das ist natürlich nix, wenn du mit Hilfe der %Includes deinen Code verstecken möchtest.
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline DocNotes

  • Aktives Mitglied
  • ***
  • Beiträge: 151
  • Geschlecht: Männlich
Hallo zusammen,

das mit dem Plugin für Eclipe hört sich gut an. Ich habe auch schon mal gesucht ob es sowas gibt, leider nicht! Ich stehe auch vor dem Problem der OOP Programmierung und im Designer ist das wirklich nichts!

Leider hatte ich noch keine Zeit mich in Eclipse / Plug-ins einzuarbeiten, gibt es dafür Beschreibungen im Internet ???

Offline JulianBuss

  • Aktives Mitglied
  • ***
  • Beiträge: 132
  • Ich liebe dieses Forum!
ich denke das mit Eclipse ist hinzukriegen, dazu gibts gute Bücher.
Die Frage ist nur die Integration in den Designer.

Klar, per XML kann man das bestimmt da reinschieben - sogar direkt von Eclipse aus mittels Notes-Java-Klassen.
Aber wie compiliert man das? Das muss ja der Designer machen; einen externen LS-Compiler wird es nicht geben.
Also müsste man den Code via XML in eine LS-Bibliothek schieben, dann diese Bib via Designer öffnen, compilieren und speichern.

Kommt man per XML einfach an die Notes-Dokumente ran, die Script-Bibliotheken repräsentieren?

Das Eclipse-Plugin selbst müsste im ersten Schritt ja nicht viel machen:
- Syntax-Highlighting
- Extraktion der Methoden/Eigenschaften für einfache Navigation
- Speichern -> via XML in Notes-DB schieben

Zu prüfendes Grundproblem wäre also erstmal, ob man LS-Code via XML in eine LS-Bibliothek schieben, dann im Designer öffnen und compilieren kann.

Offline JulianBuss

  • Aktives Mitglied
  • ***
  • Beiträge: 132
  • Ich liebe dieses Forum!
eigentlich ist der ganze XML-Kram natürlich total krank und nur nötig, weil der Designer sich nicht so verhält wie dokumentiert.

D.h. eigentlich ist das ein echter Bug im Designer, oder?
Kann den nicht jemand mit Support-Login bei IBM melden?  Aber wie ich IBM kenne änderen Sie dann die Doku und nennen das "Bugfix" :-)))

Offline DocNotes

  • Aktives Mitglied
  • ***
  • Beiträge: 151
  • Geschlecht: Männlich
ich denke auch, dass wir bei dem Support nicht weiterkommen. Ich könnte einen Fall aufmachen, aber das hat wohl kein Sinn.

Kann jemand ein Buch zu Ecplise empfehlen, ich hatte mal eins in der Hand war aber nicht so gut ?!?!

Offline JulianBuss

  • Aktives Mitglied
  • ***
  • Beiträge: 132
  • Ich liebe dieses Forum!
mach dochmal spasseshalber einern Fall auf, mich würde IBMs Antwort schon interessieren.
Mit meinem obigen Beispiel kann man das ja klar reproduzieren.

Ich denke das Buch hier http://www.amazon.de/exec/obidos/ASIN/3827321379/qid=1082114432/sr=2-2/ref=sr_2_0_2/028-7521574-8445329 ist ganz gut, habe es aber noch nicht gelesen.

Offline DocNotes

  • Aktives Mitglied
  • ***
  • Beiträge: 151
  • Geschlecht: Männlich
wenn ich gleich noch Zeit habe stelle ich ein kleines Beispiel zusammen (will der Support ja immer haben) und mache einen Fall auf.

Mal sehen ob ich den Eintrag in der Hilfe auch finde ....

Heute bekomme ich bestimmt noch keine Antwort, Montag bin ich nicht im Büro....  aber ich melde mich falls der Support mir etwas mitteilt!

Offline JulianBuss

  • Aktives Mitglied
  • ***
  • Beiträge: 132
  • Ich liebe dieses Forum!
Eintrag in der Hilfe findest Du unter Domino Designer Hilfe -> LotusScript Language Reference -> %INCLUDE

Offline DocNotes

  • Aktives Mitglied
  • ***
  • Beiträge: 151
  • Geschlecht: Männlich
Support Call ist aufgegeben, mal abwarten  ::)

Offline DocNotes

  • Aktives Mitglied
  • ***
  • Beiträge: 151
  • Geschlecht: Männlich
... und schon die erste Rückmeldung vom Support ...

Problem erkannt, will es selber nochmal ausprobieren und dann eskalieren. Seiner Meinung nach schreibt man den Code im Designer und exportiert dann in eine Datei um den Code zu schützen. Ist ja auch was wares dran, aber nicht ganz unser Einsatzgebiet!

Gruss und schönes Wochenende!
« Letzte Änderung: 16.04.04 - 15:03:00 von DocNotes »

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Etwas OffTopic (weil nix mit OO zu tun):

Lange Scripts bearbeite ich mit Phase5 (http://www.qhaut.de/), dazu habe ich folgendes Syntaxschema erstellt (ursprünglich für Proton):
http://217.160.137.156/user/bp/tmc/_threaduploads/phase5_syntax/lotusscript.sch

Dabei arbeite ich allerdings umständlich per Copy+Paste (Designer <-> Phase5).

Matthias
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Frage: wenn ihr eine Klasse per include einbindet und dann den restliche code in die events programmiert; wo tauchen dann die Fehler auf ?? In den verwendeten Klassen ??Dann ist das error handling der Klassen nicht i.O ...

Ulrich
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Ulrich, Klassen haben keine Events, Events gehören in ein anderes Modell (das allerdings sehr gut zum OO-Modell passt).

Das mit dem Auftauchen der Errors ist ein anderes, generelles (Basic / LS)-Problem. Sobald Du Code mittels Include einschliesst, wird bei einem Fehler, der im Include-Teil auftritt, immer die Zeilennummer des Include-Statements ausgegeben und nicht die Zeilennummer innerhalb des eingeschlossenen Pfeils.

Das ist vergleichbar wie bei jedem Compiler, wenn Du Obj-Code ohne Debug-Info in eine Applikation einbindest und einen Runtime-Error im Obj-Code auftritt, wird Dir der Compiler nur sagen können, dass es im inkludierten Object-Code aufgetrteten ist, aber nicht genau wo. Etwa so verhält sich hier Basic/LS-Script mit einem %Include. Gäbe er uns die Zeilennummer innerhalb des inkludierten Pfeils, könnte man mit einem sog. "Kludge" ganz gut mit einem externen Editor arbeiten. So bleibt eigentlich nur die Methode, die Matthias weiter oben beschrieben hat, nämlich mit Cut und Pastete zu arbeiten.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz