Autor Thema: Programmatisch Name Rahmengruppe austauschen  (Gelesen 3036 mal)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Programmatisch Name Rahmengruppe austauschen
« am: 22.10.03 - 11:36:47 »
Hallo zusammen,
ich komme mal wieder mit einer meiner bescheidenen Fragen ;-)

Ist es möglich, in Datenbanken mit verstecktem Design den Namen der beim Start zu öffnenden Rahmengruppe zu ändern (API, DBDesign Class, ... ?).

Jeder Vorschlag ist wie immer willkommen.
Danke im Voraus,
Bernhard
« Letzte Änderung: 22.10.03 - 11:51:04 von koehlerbv »

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Porgrammatisch Name Rahmengruppe austauschen
« Antwort #1 am: 22.10.03 - 11:41:56 »
Hm, müsste jetzt nachschauen, aber da ich grad aus dem Haus muss ....

Ist das in den DB-Eigenschaften auch gesperrt in dem Falle? Möglichkeiten gibt es da schon, bin mir aber nicht im Klaren über Nebenwirkungen, und bevor ich nicht die "Packungsbeilage" gelesen habe, werd ich das Rezept nicht bekannt geben. Ich schau dann mal heute nachmittag ....
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

Glombi

  • Gast
Re:Porgrammatisch Name Rahmengruppe austauschen
« Antwort #2 am: 22.10.03 - 11:43:09 »
Hast Du schon versucht, das Design wieder als "Semi hidden" herzustellen. Da gibt es ein Flag, was gesetzt werden muss. Irgendwo hier im Forum gab es einen Thread, wie das geht. Damit sind dann die einzelnen Designelemente wieder sichtbar, man kommt aber dennoch nicht an die Formeln und Scripts heran. Die Startoption müsste aber damit wählbar sein.

Andreas

Driri

  • Gast
Re:Porgrammatisch Name Rahmengruppe austauschen
« Antwort #3 am: 22.10.03 - 11:45:42 »
Zur Not gabs da noch ne ganz brutale Methode, man konnte (wenn ich mich recht entsinne) die DB im HExeditor öffnen und da an einer Adresse rumdrehen, dann war das Design wieder offen.
Müßte ich zur Not mal nach suchen, welche Adresse und was geändert werden muß.

Glombi

  • Gast
Re:Porgrammatisch Name Rahmengruppe austauschen
« Antwort #4 am: 22.10.03 - 11:48:14 »
Stimmt, man bekommt aber immer nur das Semi Design (so nenne ich es, weil die Scripts und Formel nicht mehr hergestellt werden können).

Es gibt ab R5 keine Möglichkeit, die Gestaltung inkl. der Scripts und Formeln wieder herzustellen, wenn man nicht ein Template mit Design hat.
Aber das nur am Rande.

Andreas
« Letzte Änderung: 22.10.03 - 11:48:47 von Glombi »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Programmatisch Name Rahmengruppe austauschen
« Antwort #5 am: 22.10.03 - 11:54:23 »
Obicht, bevor wir uns jetzt mißverstehen:
Das DBDesign verstecken wir. Je nach Einsatzzweck soll nun aber von aussen (bei Erstinstallation) eine andere zu öffnende Rahmengruppe eingestellt werden.
Oder es gibt doch eine funktionierende Methode für's Datenbankscript, die ZUVERLÄSSIG genau das gleiche macht wie die Angabe in den DBProperties ...

Ciao,
Bernhard

Glombi

  • Gast
Re:Programmatisch Name Rahmengruppe austauschen
« Antwort #6 am: 22.10.03 - 11:59:13 »
Man kann im Postopen des Datenbankscript dochj einfach folgendes eintragen:

@Command( [OpenFrameset] ; "Rahmengruppe" )

das "Rahmengruppe" könnte man sich aus einem Profildokument holen.

Andreas

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Programmatisch Name Rahmengruppe austauschen
« Antwort #7 am: 22.10.03 - 12:26:52 »
Im PostOpen ist die DB ja aber schon offen (mit einem anderen Frameset oder im R4-ViewNavigator mit About-Document oder ...). OpenFrameset macht dann ja eine weitere Instanz auf (durchaus korrekt) - also ist die DB zweimal offen ...

Ciao & danke,
Bernhard

Driri

  • Gast
Re:Programmatisch Name Rahmengruppe austauschen
« Antwort #8 am: 22.10.03 - 12:39:42 »
Hi,

nur ne Idee :

- der benötigte Aufbau wird in einem Profildokument abgelegt
- keine Gliederung verwenden, sondern Navigatoren
- die Navigatoren kann man per Formel auf einer Seite darstellen, d.h. Formel basiert auf dem Profildokument
- die "berechnete" Seite baut man in ein Frameset ein, welches man standardmäßig öffnet

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Programmatisch Name Rahmengruppe austauschen
« Antwort #9 am: 22.10.03 - 12:44:11 »
Navigatoren sind leider zu statisch für den gewünschten Zweck (keine private folder usw.).

Aber danke für Deinen Vorschlag !

Bernhard

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re:Programmatisch Name Rahmengruppe austauschen
« Antwort #10 am: 22.10.03 - 12:57:57 »
die Frameset Information ist im Datenbanksymbol abgelegt.
wenn du dir die Eigenschaften von "Symbol" anzeigen lässt, siehst du im Feld $defaultFrameSet den eingestellten Wert als Ascii text.

Da kannst ja auch Designelemente wie Dokumente ansprechen und dann den Wert entsprechend ändern.
Ich muß mal suchen, da gab es was mit GetSpecialNoteID o.ä.

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

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re:Programmatisch Name Rahmengruppe austauschen
« Antwort #11 am: 22.10.03 - 13:00:42 »
soo, hier ist der Code

Dim icon as NotesDocument
                             Set icon = db.GetDocumentByID("FFFF0010") ' special Note ID for Icon doc
                             icon.~$DefaultFrameset = "Rhubarb" ' set launch frameset
                             icon.~$Flags = icon.~$Flags(0) & "4" ' allow soft deletions
                             icon.~$SoftDeleteExpireHours = 8 ' set soft deletion expiry
                             icon.Save True, False
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:Programmatisch Name Rahmengruppe austauschen
« Antwort #12 am: 22.10.03 - 13:02:10 »
Ha, das klingt doch schon sehr vielversprechend !
Schon vorab herzlichen Dank (im Namen meines Kollegen, den dieses Problem mit OpenFrameset seit längerem plagt).

Bernhard

PS: Kopfschmerzen von gestern abend scheinst Du ja nicht zu haben ;-)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Programmatisch Name Rahmengruppe austauschen
« Antwort #13 am: 22.10.03 - 13:55:54 »
VIELEN DANK, Ulrich !
Das funktioniert wie geschmiert - sogar mit verstecktem Design !

Bernhard

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re:Programmatisch Name Rahmengruppe austauschen
« Antwort #14 am: 22.10.03 - 14:02:05 »
dann habt ihr ja jetzt nichts mehr zu tun, also schönen feierabend dann...  ;D
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:Programmatisch Name Rahmengruppe austauschen
« Antwort #15 am: 22.10.03 - 14:18:31 »
Schön wär's ...

By the way: Ich habe aber noch eine andere Variante gefunden, die sogar das Austauschen von docDatabaseIcon.~$DefaultFrameset ersparen könnte:

- Im DatabaseScript.Postopen OpenFrameset mit einem Framenamen laut Setup-Dokument.
- Das dumme ist jetzt ja: DB ist schon offen (mit anderem Frameset oder ViewNavigator)
- A-Bär: Das Initialize wird vor PostOpen ausgeführt. Wenn man dort zwangsweise zwangsweise über nnotesws.dll das Fenster zuwirft, öffnet in der Tat nur der geforderte Frameset.

Funktioniert hervorragend auf den ersten Blick, aber das Datenbank-Script hat ja durchaus noch Risiken und Nebenwirkungen, so daß ich noch etwas unschlüssig bin, was ich meinem Kollegen raten soll ...

Ciao,
Bernhard

Glombi

  • Gast
Re:Programmatisch Name Rahmengruppe austauschen
« Antwort #16 am: 22.10.03 - 14:31:55 »
Man kann das bereits geöffnete überschreiben (wenn es nicht gerade das About-Dokument ist):

@SetTargetFrame("_top");
@Command( [OpenFrameset] ; "Rahmengruppe" )

Andreas

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz