Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: ReinerB am 10.05.07 - 14:57:02

Titel: eine Variable datenbankweit definieren?
Beitrag von: ReinerB am 10.05.07 - 14:57:02
Hallo,

ich schreibe eine Notes-Anwendung, wo man im Startbildschirm einen Vorgabe-Standort auswählen kann und diese Vorgabe möchte ich in eine Variable schreiben, die ich in allen Masken abfragen kann. Ich könnte das in ein Profildokument schreiben, aber das müsste ich dann immer lesen.

Geht nicht eine Variable definieren und überall benutzen? Wenn ja, wo?

Wäre euch für Hinweise sehr dankbar.

Schöne Grüße
Reiner
Titel: Re: eine Variable datenbankweit definieren?
Beitrag von: diali am 10.05.07 - 15:05:44
notes.ini?
Titel: Re: eine Variable datenbankweit definieren?
Beitrag von: iukhdh am 10.05.07 - 15:06:32
Hallo Reiner,

schau dir mal @environment an, vielleicht ist das ja was für dich.

Mit @getenvironment kannst du die dann abfragen


Gruß
Thomas
Titel: Re: eine Variable datenbankweit definieren?
Beitrag von: DerAndre am 10.05.07 - 15:08:25
Schau mal hier.

http://atnotes.de/index.php?topic=33855.0

Vielleicht überzeugt Dich das.

Du kannst natürlich auch eine GlobalLob erstellen, dort Deine Variable ablegen. Hat aber den Nachteil, daß Du diese GlobalLib überall einbinden mußt wo sie benötigt werden. Und man muß dann noch mögliche Seiteneffekte berücksichtigen.
Titel: Re: eine Variable datenbankweit definieren?
Beitrag von: koehlerbv am 10.05.07 - 20:40:51
Jo, auf jeden Fall ein ProfileDocument. Die NOTES.INI wäre zwar genauso schnell (weil auch im Cache), aber die müllt man einfach wegen so einem Pippifax nicht zu.

Bernhard
Titel: Re: eine Variable datenbankweit definieren?
Beitrag von: iukhdh am 10.05.07 - 23:04:30
Zum Thema "zumüllen" muss ich doch mal nachhaken.

Mit @environment schreib ich ja die Variable in die ini, soweit klar. Mit @getenvironment hol ichs wieder raus, aber der Eintrag bleibt wohl bestehen.

Gibts einen Befehl, mit dem ich den Eintrag raushole und in der ini lösche, oder muss ich das handisch erledigen? (texteditor?)

Gruß
Thomas
Titel: Re: eine Variable datenbankweit definieren?
Beitrag von: koehlerbv am 10.05.07 - 23:46:12
Wenn Du die NOTES.INI-"$"-Variable (also die benutzerdefinierte) mit einem Leerstring belegst, wird diese gelöscht. Soweit, so gut. Hauptsache, dieses wird wirklich sicher gemacht.

Nur: Wenn nicht erforderlich, sollte man eben auch darauf verzichten, überhaupt die NOTES.INI zu missbrauchen.

Bernhard
Titel: Re: eine Variable datenbankweit definieren?
Beitrag von: diali am 11.05.07 - 06:54:15
also ich würde die notes.ini-Variante nicht so verdammen, weil beides hat Vor- und Nachteile.

Notes.ini
+ bei Variablen pro User
+ keine zusätzlichen Dokumente
+ User braucht keine Schreibrechte in DB
- bei Variablen, die für alle User gelten sollen
- funktioniert nicht im Web

Profil-Dokument
+- bei Variablen, die für alle User gelten (nur bedingt durch Caching, je nach Änderungsintervall ggf. in Dokumente schreiben)
+ bei Variablen, die pro User gelten (Unternehmen mit wenigen Useren)
- bei Variablen, die pro User gelten (Unternehmen mit sehr vielen Useren)
- User braucht Schreibrechte (zumindest Leser + öffentliche Dokumente Schreiben)

Beides kann man beim Verlassen der DB wieder aufräumen.

Zum Punkt bei Variablen, die pro User gelten (Unternehmen mit wenigen / sehr vielen Useren), da muss jeder selber abschätzen, ob er in einer DB mit 300.000 Dokumenten noch 50.000 Profile haben will.
Titel: Re: eine Variable datenbankweit definieren?
Beitrag von: ata am 11.05.07 - 08:48:56
... Profildokumente sind nicht immer zuverlässig. Da gibt es unplanbare Effekte bei der Replikation, Versionswechseln etc.. Ich verwende Profildokumente nur wenn es gar nicht anders geht. Setup-Dokumente ("normale" Notes-Documente) sind in Ansichten sichtbar und zuverlässiger als Profildokumente.

Toni
Titel: Re: eine Variable datenbankweit definieren?
Beitrag von: diali am 11.05.07 - 08:50:55
die Erfahrung von ata habe ich mit 4.x auch schon gemacht und deshalb auf Profil-Dokumente verzichtet.
Titel: Re: eine Variable datenbankweit definieren?
Beitrag von: DerAndre am 11.05.07 - 08:58:51
Und schau Dir noch Axels UserProfile Klasse (http://www.free.dominoserver.de/computer/noteslibrary.nsf/6efe93d5536c3583c1256bb000525eda/74e4b61d04ca824dc1256db20041582a!OpenDocument) an