Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: samWare am 14.10.09 - 13:23:00

Titel: CodeVerteilung
Beitrag von: samWare am 14.10.09 - 13:23:00
Hallo Leute,

ich benutze in meinen Codes eig. immer die gleichen Grundfunktionen (eigene Funktionen). Nun möchte ich die CodeBibliothek mit den Grundfunktionen aber nicht immer in jede Datenbank kopieren sondern einfach den Code aus einer anderen DB einbinden.

Ist sowas allgemein möglich, oder komme ich um das Kopieren nicht rum?

Danke schonmal im Vorraus...

...Samuel
Titel: Re: CodeVerteilung
Beitrag von: LN4ever am 14.10.09 - 13:48:43
Hallo Samuel,

das Zauberwort heißt hier: kaskadierte Schablonen.

Du legst deine Funktionen und was sonst noch so "Standard" für dich ist, in eine Schablone - nennen wir sie BASICS.

Für eine neue Datenbank erstellst du eine neue Schablone aus dieser BASICS-Schablone. Fertig.

Halt - da war doch noch etwas. Vorsicht ist geboten bei dem Haken "Zukünftige Gestaltungsänderungen übernehmen". Wenn du in den BASICS etwas änderst, hat das dann Auswirkungen auf viele andere Schablonen - und in der Folge auf noch mehr Datenbanken.

Wenn du in der BASICS-Schablone etwas an Script-Bibliotheken änderst, die per USE in weiteren Bibliotheken genutzt werden, mußt du im Normalfall alle auf dieser Schablone beruhenden Schablonen komplett neu durchkompilieren. Und dafür solltest du dann eine vollständige Liste dieser Schablonen haben.

Tip: bau dir im Catalog deiner Entwicklungsumgebung ein paar Ansichten ein, in denen du diese Abhängigkeiten direkt dokumentierst.

Gruß

Norbert
Titel: Re: CodeVerteilung
Beitrag von: samWare am 14.10.09 - 14:21:18
Natürlich arbeite ich bisher schon mit einem Standardtemplate.. Ich möchte das aber noch reduzieren indem ich quasi nur eine LS-Lib habe auf die mehrere DBs zugriff haben. Funktioniert sowas?
Titel: Re: CodeVerteilung
Beitrag von: Thomas Schulte am 14.10.09 - 14:27:22
Nein.
Titel: Re: CodeVerteilung
Beitrag von: samWare am 14.10.09 - 14:36:29
Dacht ich mir schon ::) Danke Thomas...

..mfg Samuel
Titel: Re: CodeVerteilung
Beitrag von: FriFra am 14.10.09 - 23:05:24
Doch, das geht...

Du kannst für einzelne Designelemente innerhalb der Properties-Box in der Übersicht, auf dem Design-Reiter das Template angeben. Wenn man dann sicher ist, immer alle Templates vernünftig gepflegt zu haben (bzw. an den richtigen Stellen prohibit design refresh), kann den Job des Abgleichs der Designer-Task erledigen.

D.h. Du machst die Anpassungen in deiner Lib im Template und der Designer-Task ersetzt Deine Lib in allen Datenbanken, wo Deine Lib mit dem entspr. Verweis auf das Template eingebaut ist. Der Rest der DB kann aus völlig anderen Templates kommen und selbst das automatische aktualisieren von anderen Templates ist so möglich.
Titel: Re: CodeVerteilung
Beitrag von: koehlerbv am 14.10.09 - 23:43:48
Doch, das geht...

Du kannst für einzelne Designelemente innerhalb der Properties-Box in der Übersicht, auf dem Design-Reiter das Template angeben. Wenn man dann sicher ist, immer alle Templates vernünftig gepflegt zu haben (bzw. an den richtigen Stellen prohibit design refresh), kann den Job des Abgleichs der Designer-Task erledigen.

D.h. Du machst die Anpassungen in deiner Lib im Template und der Designer-Task ersetzt Deine Lib in allen Datenbanken, wo Deine Lib mit dem entspr. Verweis auf das Template eingebaut ist. Der Rest der DB kann aus völlig anderen Templates kommen und selbst das automatische aktualisieren von anderen Templates ist so möglich.

Aus meiner Sicht ist das die bessere Beschreibung dessen, was Norbert vermutlich gemeint hat. Genau so geht es. Und wie Norbert schon geschrieben hat: Eine Neukompilierung der abhängigen Templates ist oft unabdingbar, wenn das Updates der Templates vom Basis-Template erfolgte. Das ist auch in vielen anderen Programmiersprachen / IDEs so.

Bernhard

PS: Als Alternative mag man noch ausgelagerte Libs angeben (%INCLUDE), aber diese hüten / pflegen ... herrjeh. Die Problematik Kompilation bleibt auch da erhalten.

Bernhard
Titel: Re: CodeVerteilung
Beitrag von: FriFra am 14.10.09 - 23:58:37
@Bernhard: Da hast Du natürlich Recht... ich hatte Norberts Text beim ersten Lesen etwas anders verstanden...

Wenn man das compilieren irgendwie programatisch anwerfen könnte, hätte man natürlich tatsächlich eine Möglichkeit, dass das ohne manuelle Nacharbeit funktioniert. Da wüsste ich jetzt allerdings nicht, wie das gehen sollte...