Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Diana82 am 18.10.06 - 11:26:23
-
Hallo,
ich stehe im moment auf dem Schlauch...
Ich möchte mir in einem Auswahlwahlfeld alle vorhandenen Datenbanken auf dem Server anzeigen lassen. Ist das irgendwie möglich? Hat das schon mal jemand gemacht?
Also ich habe 2 verschiedene Server auf denen die DBs liegen. Aber wenn ich das mal für einen hätte wär ich ja schon weiter. ;)
Wär super wenn mir da jemand weiterhelfen könnte. Mit noch ein Skript-Neuling...
Gruß
Diana
-
Es gibt auf jedem Server eine Catalog Datenbank. Darin eine Ansicht in der die Datenbanken gelistet sind.
Einfach eine @DBColumn funktion die sich die Liste aus dem Catalog von Server 1 holt und dann die Liste aus dem Catalog von Server 2. Die beiden Addieren und du hast deine ganze Liste an Datenbanken.
-
NotesDbDirectory class könnte helfen.
Im Catalog sind nicht zwangsläufig alle Datenbanken enthalten.
-
Welche denn nicht? o.O
-
Eigenschaften Datenbank, 4. Reiter, 2. Haken
-
danke mal für eure Hilfe...werde es mal ausprobieren.
-
Im catalog sind ALLE Datenbanken drin, nur werden die in der Ansicht nicht unbedingt angezeigt. Daher kann man eine neue Ansicht anzeigen, die alle Katalogeinträge anzeigt.
Die Standardzugriffsformel
SELECT @IsAvailable(ReplicaID)& @IsUnavailable(RepositoryType)& !(DBListInCatalog = "0")
muss geändert werden in:
SELECT @IsAvailable(ReplicaID)& @IsUnavailable(RepositoryType)
Das "DBListInCatalog" wird auf "0" gesetzt, wenn in den Datenbankeigenschaften "Im Katalog auflisten" deaktiviert ist.
Andreas
-
Ja, man sollte es dann auch fachlich korrekt wiedergeben.
In jedem steckt ja auch ein Genie, wenn man nur die Formel umstellt... ;D
-
Ähhm... und wie wäre es -vollkommen ohne weitere Programmierung- mit @Prompt( [ChooseDatabase] ) ???
nur mal so in den Raum geworfen...
Aber klar: man kann das auch von hinten durch die Brust ins Auge programmieren...
Tode
-
Wo wir schon dabei sind: Wie war nochmal die Formel, um nur ein VERZEICHNIS auf dem Server zu wählen ;D
das suche ich immer noch ....
Andreas
-
das @prompt nützt mir nichts. Ich habe das ziel nachher ne Ansicht zu basteln in der alle DB aufgelistet sind mit Berechtigungen etc. ::)
-
Warum nimmst Du dann nicht den Katalog? Da steht doch schon alles drin.
Andreas
-
ja da steht aber zu viel drin. Ich möcht nicht die ganzen Mail-Files...haben. Hab jetzt im Catalog ne neue Ansicht gemacht auf die ich Zugreif und die Daten auslese. Also so sollte es sein, momentan funktionierts noch nicht ???
-
Und warum machst Du dir dann nicht in der Catalog eine Ansicht, die nur die Daten enthält, die Du sehen möchtest ? ggf. auch noch mit einer eigenen Maske und Form- Formula in der Ansicht...
Von doppelt und dreifach gehaltenen Daten halte ich nichts, zumal ja der catalog- Task diese Liste jede Nacht aktualisiert, und Du sicherlich auch alle Daten aktuall haben willst, also diese immer wieder aktualisieren müsstest...
Ich werd das Gefühl nicht los, dass Du gar nicht weisst, was Du eigentlich willst.... bzw. dass Du nicht wirklich Ahnung von der Notes- Logik hast (unterschiede Ansichten <-> Dokumente , etc. )
Tode
-
Sie sagt doch, dass sie noch recht neu mit Notes ist... erwarte nicht die eierlegende Wollmilchsau :-)
-
Ich hätte in dem Zusammenhang nochmal ne Frage. Und zwar hab ich jetzt eine Maske in einer extra-Db (was auch seinen Grund hat) und lese dort per @DbColumn die gesamten DBs aus dem Catalog aus. Nach der Auswahl einer DB werden dann verschiedene Felder gefüllt, also z.B. Erstelldatum, Pfad usw...
Mein Problem ist nun, dass ich auch auslesen lassen will wer Autor, Leser usw ist. Das ganze wird im catalog.nsf im Feld ManagerList bzw. MgrNames (als Bsp. für Managerrechte). Wenn ich das Feld MgrNames auslese wird nichts in das Feld in meiner DB geschrieben, wenn ich MangerList auslese funktioniert das zwar, jedoch sind dort die Namen mit Zeichen ergänzt (Bsp. CN=015NotesRHE01/OU=RHE/O=xy-Firma/C=DE$%^11111111$%^$%^6). Meine Frage wäre nun, warum zeigts mit bei MgrNames nichts an bzw wie bekomm ich die 111%...usw weg? ???
Danke schon mal...
-
In solchen Fällen ist es immer hilfreich und sinnvoll, mal einen Blick in das Design der auszulesenden DB zu werfen:
MgrNames ist ein zur Anzeige berechnetes Feld: Da ist also nichts mit auslesen, da der Wert nur im Speicher gehalten wird, wenn das Dokument geöffnet wurde.
In ManagerList (und anderen) liegen alle Informationen zu den entsprechenden Rechtegruppen in komprimierter, sprich verschlüsselter, Form vor. Im QueryOpen der zugehörigen Maske werden diese Angaben auseinandergeflöht und dann in die cfd-Felder geschrieben mit Hilfe der Funktion ParseAllLists. Einfach mal einen Blick darauf werfen und das für Deine DB entsprechend umsetzen.
Bernhard