Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: TMC am 25.01.05 - 21:49:31

Titel: Designelemente programmatisch kompilieren
Beitrag von: TMC am 25.01.05 - 21:49:31
Hi,

ich suche noch nach einer Möglichkeit in ND6, um Designelemente einer DB programmatisch kompilieren zu können. Ähnlich wie das über "Tools/Recompile all LotusScript" erfolgt.
Kann gerne im Frontend passieren, nur möchte ich da eine NotesDatabase übergeben können.

Ist das möglich ohne km-Code in NotesAPI zu schreiben?
Eine Methode wie z.B. NotesDocument.Sign habe ich noch nicht gefunden....

Matthias
Titel: Re: Designelemente programmatisch kompilieren
Beitrag von: koehlerbv am 25.01.05 - 21:55:59
Ich habe keinerlei Plan, wozu Du das brauchst, aber hast Du schon mal in der Sandbox nach "compile" gesucht ? Damien Katz' DBDesignClass fand da in dieser Richtung interessante Weiterentwicklungen.

Ansonsten: Wenn man es professionell machen will, hilft der Teamstudio Configurator (welcher auch programmierbar ist).

Bernhard
Titel: Re: Designelemente programmatisch kompilieren
Beitrag von: TMC am 25.01.05 - 22:19:23
Ich habe keinerlei Plan, wozu Du das brauchst
Um manuelles kompilieren durch programmatisches zu ersetzen in einer "Auslieferungs-DB".

hast Du schon mal in der Sandbox nach "compile" gesucht ? Damien Katz' DBDesignClass fand da in dieser Richtung interessante Weiterentwicklungen.
Schon klar, Damien selbst hatte das AFAIK "damals" auch für R5 umgesetzt.
Aber in ND6 stehen uns nun sehr viel mehr Möglichkeiten zur Verfügung. Daher die Frage, ob es da nicht einfachere Möglichkeiten gibt, als gleich die Katz' Design Class einzusetzen (zumal diese API-Aufrufe ja erstmal ausführlichst getestet werden müssten in sämtlichen Umgebungen) oder etwa TS Configurator, für einen simplen Compile.
Titel: Re: Designelemente programmatisch kompilieren
Beitrag von: koehlerbv am 25.01.05 - 22:26:00
Sorry, ich versteh's aber immer noch nicht. Du machst Änderungen an einer DB, du hast Recompile zur Verfügung, das Template-Prinzip sowieso, dann gibt es noch die erwähnten Tools (und weitere). Was willst Du wirklich erreichen ? Vielleicht stehe ich auf dem Schlauch ...

Bernhard
Titel: Re: Designelemente programmatisch kompilieren
Beitrag von: TMC am 25.01.05 - 22:33:05
Was willst Du wirklich erreichen ? Vielleicht stehe ich auf dem Schlauch ...

Programmatisch kompilieren  ;)

Ich bin in DB 1, habe dort eine DB 2 im Zugriff. Von der DB 1 aus mache ich mehrere Dinge in der DB 2, dabei soll alles sauber compiliert werden, ohne separat manuell DB 2 im Designer zu öffnen, und den Menüpunkt auszuführen. That's it.
Titel: Re: Designelemente programmatisch kompilieren
Beitrag von: koehlerbv am 25.01.05 - 22:49:21
Mit dem Know-How verdienen die Teamstudio-Leute ihr Geld. Und das Know-How ist sehr tiefgreifend.
Ich halte das für einen Stunt. Der Sinn erschliesst sich immer noch nicht für mich. Stimmt das Verhältnis Aufwand - Nutzen ? Wo liegt der Gewinn ?

Bernhard
Titel: Re: Designelemente programmatisch kompilieren
Beitrag von: TMC am 26.01.05 - 22:03:57
Stimmt das Verhältnis Aufwand - Nutzen ?

Ja, wenn es eine ähnliche einfache Methode gibt wie z.B. NotesDocument.Sign oder NotesDatabase.Sign.
Verstehe jetzt nicht Deinen Bezug darauf, dass Teamstudio mit Know-how Geld verdient, wenn ich sowas wie NotesDatabase.Compile suche (nicht mehr, nicht weniger), um Mausklicks zu ersparen.

Matthias
Titel: Re: Designelemente programmatisch kompilieren
Beitrag von: koehlerbv am 26.01.05 - 22:12:33
Naja, Teamstudio arbeitet ganz tief im "Untergrund" von Notes, um eben das zu erreichen. Das würden sie sich sicher sparen, wenn es einfacher ginge.

Mir ist aber nach wie vor nicht klar, was Du wirklich erreichen willst.

Bernhard
Titel: Re: Designelemente programmatisch kompilieren
Beitrag von: TMC am 26.01.05 - 22:16:46
Ich weiß nicht was ich noch mehr erklären sollte, was oben schon steht, Bernhard.
Titel: Re: Designelemente programmatisch kompilieren
Beitrag von: koehlerbv am 26.01.05 - 23:44:47
Ich bin in DB 1, habe dort eine DB 2 im Zugriff. Von der DB 1 aus mache ich mehrere Dinge in der DB 2, dabei soll alles sauber compiliert werden, ohne separat manuell DB 2 im Designer zu öffnen, und den Menüpunkt auszuführen. That's it.

Herrjeh, was treibst Du denn da ? Greifst Du ins Design von DB2 ein ? Wenn ja, dann hast Du doch bereits das KnowHow, um auch eine Recompilation anzustossen.

Ergo: Vielleicht bin ich ja begriffsstutzig, aber diesen Stunt verstehe ich nach wie vor nicht.

Bernhard
Titel: Re: Designelemente programmatisch kompilieren
Beitrag von: TMC am 26.01.05 - 23:49:48
Bernhard, nö, siehe die entsprechenden Klassen in ND6, mit denen Designelemente bearbeitet werden können.
On top (unabhängig von Änderungen die in DB2 von DB1 aus vorgenommen werden) sollen auch ein DB2.Compile ausgeführt werden. Wie oben schon (mehrfach?) erwähnt: Eben ähnlich wie das Aufrufen des Menüpunkts im Designer, nur ohne manuelles Geklicke, da ja DB2 als NotesDatabase vorhanden ist.
Ich denke es bringt jetzt auch nix, das noch weiter zu erläutern, da es diese Method wohl nicht gibt.
Titel: Re: Designelemente programmatisch kompilieren
Beitrag von: koehlerbv am 27.01.05 - 00:00:17
Ich denke es bringt jetzt auch nix, das noch weiter zu erläutern, da es diese Method wohl nicht gibt.

Nin, diese Methode gibt es nicht. Es fehlt ja auch schlicht eine ganze Klasse dafür. Aber warum bügelst Du nicht programmatisch ein von Dir geändertes Template über die Ziel-Datenbank(en) ?

Bernhard
Titel: Re: Designelemente programmatisch kompilieren
Beitrag von: TMC am 27.01.05 - 00:09:09
Die Klasse würde z.B. NotesDocument oder NotesDatabase heißen. Aber egal, da es diese Methode ja nicht gibt.
Design Bügeln: nein, geht nicht (siehe oben! :
Zitat
Wie oben schon (mehrfach?) erwähnt: Eben ähnlich wie das Aufrufen des Menüpunkts im Designer

Ich möchte das jetzt aber nicht mehr weiter diskutieren, der Thread ist eh schon viel zu voll mit Rechtfertigungen, Erklärungen, etc. um's drumherum, und einfache Lösung per Method gibt es nicht in ND6 LS (ohne API).
Titel: Re: Designelemente programmatisch kompilieren
Beitrag von: koehlerbv am 27.01.05 - 00:19:44
Die Klasse müsste NotesDatabaseDesign (als Child von NotesDatabase) heissen. Gibt es aber nicht. Damien hat einen fröhlich ausbaubaren Ansatz für die Klasse geliefert.
Ich denke auch, damit sollten wir es in diesem Thread belassen, es sei denn, jemand macht mehr daraus.

Bernhard