Autor Thema: ScriptLibrary via LS erstellen/ändern  (Gelesen 4098 mal)

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
ScriptLibrary via LS erstellen/ändern
« am: 23.08.07 - 13:41:05 »
Hallo

Ich möchte mit LS eine neue LS-Library erstellen bzw. eine bestehende Ändern.

Ist das überhapt möglich? Wenn ja wie ?

Folgendes habe ich schon realisiert:

Über die NoteCollection der jeweiligen DB suche ich das gewünschte Designelement.
Wenn ich es gefunden habe, initialisiere ich das entsprechende NotesDocument.

Die Felder kann ich auslesen und ändern.

Jetzt möchte ich aber den Inhalt des Feldes  "$ScriptLib" ändern.
Das klappt auch soweit. Wenn ich mir die Eigenschaften des Gestaltungselementes
anschaue, wurde der Wert im Feld entsprechend geändert.

Wenn ich aber die SB öffne kommt folgende Meldung:

"Generic LSE Failure (nor more info)"

Ich denke es liegt an dem Feld  "$ScriptLib_O" :-(

Wie kann ich das Feld manipulieren/ befüllen, damit die SB auch geöffnet werden kann etc. ???


Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: ScriptLibrary via LS erstellen/ändern
« Antwort #1 am: 23.08.07 - 13:43:19 »
Es reicht nicht, den Quellcode zu ändern - der eigentlich wichtige Teil einer ScriptLib ist ja der tokenisierte  Teil.

Wozu hast Du das überhaupt vor? Vielleicht kannst Du Dein Ziel ja auch ganz anders erreichen.

Bernhard

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re: ScriptLibrary via LS erstellen/ändern
« Antwort #2 am: 23.08.07 - 13:47:04 »
warum nimmst du nicht einfach DXL?
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: ScriptLibrary via LS erstellen/ändern
« Antwort #3 am: 23.08.07 - 13:48:44 »
Und dann? Dann der DXL-Importer jetzt auch kompilieren?  ;)

Bernhard

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re: ScriptLibrary via LS erstellen/ändern
« Antwort #4 am: 23.08.07 - 13:49:31 »
Nö, aber dafür gibt es doch auch Code im Internet ...
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: ScriptLibrary via LS erstellen/ändern
« Antwort #5 am: 23.08.07 - 13:56:06 »
@Ulrich : ich %%$$§§§ (aka. Blindfisch) ja - genau  ::) Ist DIE Lösung ... Danke für den "Schlag auf den Hinterkopf"  8)   :-[

Was ich dadurch erreichen will:

eine Hilfe für mich. In fast jeder App habe ich eine "feste" Lib ,die eine "variable" datanbankspefizische Lib benutzt (Use). Den Code für diese "variable" Lib. erstelle/Pflege ich über eine Konfigurations-DB und möchte von da aus die Libs in der entsprechenden DB aktualisieren.


... werde mich jetzt mal an den DXL-Export begeben.

Danke  :)
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: ScriptLibrary via LS erstellen/ändern
« Antwort #6 am: 23.08.07 - 14:00:24 »
Und wie wirst Du nach dem DXL-Import rekompilieren?

Bernhard

Offline Dominique M.

  • Frischling
  • *
  • Beiträge: 23
  • Geschlecht: Männlich
Re: ScriptLibrary via LS erstellen/ändern
« Antwort #7 am: 23.08.07 - 14:00:53 »
Hi,

du hast die möglichkeit den "neuen" Quellcode per API in das Feld zu schreiben und kannst nachdem du das gemacht hast die Kompilier API starten.

Wie das genau funktioniert kann ich dir erst in ein paar Wochen sagen, soweit ist mein Projekt noch nicht :-)


Die API "NSFNoteLSCompile" sollte dein Freund sein
« Letzte Änderung: 23.08.07 - 14:03:00 von Dominique M. »
Schöne grüße Dominique
---------------------------------
Lotus Notes Erfahrung: Erst seit Juni 2007 :)
PHP erfahrung: Seit circa 2000/2001 und immernoch aktiv am Programmieren mit PHP!

Sonstige Programmiersprachen: Angefangen mit QBasic - Visual Basic 5 / 6 - PHP - C - VisualBasic.Net - C#.Net - Java(Script)
---------------------------------

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: ScriptLibrary via LS erstellen/ändern
« Antwort #8 am: 23.08.07 - 14:17:28 »
Zitat
Wie das genau funktioniert kann ich dir erst in ein paar Wochen sagen, soweit ist mein Projekt noch nicht :-)

..würde mir reichen.

@Bernhard: weiß ich noch nicht  :-[  .. werde mal mit dem dxl testen.... und probieren.

Ist ja nicht ganz so wichtig/eilig, da es ja (nur) meine Arbeit erleichertern sollte  :-:
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: ScriptLibrary via LS erstellen/ändern
« Antwort #9 am: 24.08.07 - 00:19:56 »
Das Kompilieren von NotesDBs habe ich schon mal gemacht (damals unter Notes5).
Code
Function compileScriptLibsThenAgents( db As notesDatabase ) As String
	On Error Goto errorZ
	Dim api As Win32DatabaseDesign
	Dim s$, v
	
	Set api = New Win32DatabaseDesign( db )
	
	v = api.scriptLibraryDocuments
	If Not isArrayEmpty( v ) Then
		Forall x In v
'			If Not Instr( x.~$flags(0), "j") Then		
			If api.compile ( x ) Then
				s = s & "Lib-" & x.~$title(0) & ": OK" & Chr(10)
			Else
				s = s & "Lib-" & x.~$title(0) & ": FEHLER" & Chr(10)				
			End If
'			Else	 
'				s = s & "Lib-" & x.~$title(0) & ": kein LotusScript" & Chr(10)				
'			End If
		End Forall
	End If
	
	v = api.agentDocuments
	If Not isArrayEmpty( v ) Then
		Forall y In v
			If Instr( y.~$flags(0), "L") Then			
				If api.compile ( y ) Then
					s = s & "Agent-" & y.~$title(0) & ": OK" & Chr(10)
				Else
					s = s & "Agent-" & y.~$title(0) & ": FEHLER" & Chr(10)
				End If
			Else
				s = s & "Agent-" & y.~$title(0) & ": kein LotusScript" & Chr(10)
			End If			
		End Forall
	End If
	
	compileScriptLibsThenAgents = s
	
	Goto endeZ
errorZ:
	If errorHandler Then Resume Next Else Goto endeZ	
endeZ:
End Function

Wichtig dabei ist die Reihenfolge, zuerst Lib dann Agents. Die Klasse Win32DatabaseDesign befindet sich in der Lib "DBDesign" zu finden unter http://www-10.lotus.com/ldd/sandbox.nsf/0/f81067f94a1143f3852567d800660625, von Damien Katz.

bubble
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re: ScriptLibrary via LS erstellen/ändern
« Antwort #10 am: 24.08.07 - 07:58:30 »
Bzgl. ReCompile gibt es hier auch noch etwas ...
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Dominique M.

  • Frischling
  • *
  • Beiträge: 23
  • Geschlecht: Männlich
Re: ScriptLibrary via LS erstellen/ändern
« Antwort #11 am: 24.08.07 - 08:13:00 »
Guten Morgen,

das ist ja nett, damit hättet ihr mir Indirekt auch schon geholfen, schonmal danke :)

Ich werd mir das sicherlich in ein paar Tagen mal genauer anschauen, sieht auf jedenfall schonmal gut aus!


// Dominique
Schöne grüße Dominique
---------------------------------
Lotus Notes Erfahrung: Erst seit Juni 2007 :)
PHP erfahrung: Seit circa 2000/2001 und immernoch aktiv am Programmieren mit PHP!

Sonstige Programmiersprachen: Angefangen mit QBasic - Visual Basic 5 / 6 - PHP - C - VisualBasic.Net - C#.Net - Java(Script)
---------------------------------

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: ScriptLibrary via LS erstellen/ändern
« Antwort #12 am: 24.08.07 - 08:42:28 »
Danke Ulrich und "Bubble" ....

Das wird mir helfen
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: ScriptLibrary via LS erstellen/ändern
« Antwort #13 am: 24.08.07 - 08:55:05 »
Aber wenn ich mir deine Frage noch einmal durchlese, das in ähnlicher Art habe ich auch schon mal gemacht,. D.h. DB spezifische Information im Design und nicht im Dokument verwalten / setzen / lesen / ändern. Dabei ging es mir um eine Versionierung und Historie. Das ganze habe ich im About-Dokument hinterlegt, was dann auch existieren muss, aber ich glaube das NotesIcon kann man dafür auch missbrauchen.
Ist das bei dir ähnlich?

bubble
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: ScriptLibrary via LS erstellen/ändern
« Antwort #14 am: 24.08.07 - 09:09:36 »
Nein..

ich muss Kanstante in einer Library anpassen...

Eine Frage noch:
Code
 If api.compile ( x ) Then...

In welcher Klasse ist die Methode "Compile" ?  ???
In der "DBDesign" von Demian Katz (gem. Link) ist sie nicht ?  :-:

Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: ScriptLibrary via LS erstellen/ändern
« Antwort #15 am: 24.08.07 - 09:25:05 »
Ja das stimmt von der DBDesign gibt es unterschiedliche (erweiterte) Versionen. Kann dir aber nicht mehr sagen wo ich die herhab.
Ich hänge sie hier an.

bubble
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline Dominique M.

  • Frischling
  • *
  • Beiträge: 23
  • Geschlecht: Männlich
Re: ScriptLibrary via LS erstellen/ändern
« Antwort #16 am: 24.08.07 - 09:31:08 »
Hab mich auch schon gewundert, danke :)
Schöne grüße Dominique
---------------------------------
Lotus Notes Erfahrung: Erst seit Juni 2007 :)
PHP erfahrung: Seit circa 2000/2001 und immernoch aktiv am Programmieren mit PHP!

Sonstige Programmiersprachen: Angefangen mit QBasic - Visual Basic 5 / 6 - PHP - C - VisualBasic.Net - C#.Net - Java(Script)
---------------------------------

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: ScriptLibrary via LS erstellen/ändern
« Antwort #17 am: 24.08.07 - 09:52:10 »
Danke :D
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz