Domino 9 und frühere Versionen > ND6: Administration & Userprobleme
Inhalte in strukurell unterschiedliche Datenbanken kopieren
Tode:
Der Sinn bleibt mir noch immer verschlossen... 8)
Aber warum machst Du das nicht einfach mit Vorgabe- Werten in der Maske ?
Wenn in Deinem Pfad- Feld automatisch "C:\Export" drinstehen soll, dann schreibst Du das in den Vorgabewert... dann musst Du nicht irgendwelche dubiosen Inhalte verteilen...
So nach und nach kriege ich auch den Eindruck, dass Du Masken und Dokumente nicht auseinander halten kannst...
Ausserdem:
Was passiert, wenn ein User sich bereits mehrere Dokumente mit Deiner Maske angelegt hat, und BEWUSST schon einige Inhalte geändert hat... überschreibst Du ihm dann auch einfach seine Werte mit Deinen ?
HILF UNS ! Sag uns nicht immer nur Bruchstücke dessen, was Du willst, sondern sag uns, was diese Masken TUN, wofür sie verwendet werden, und warum ein User sich diese in seine Datenbank kopieren können soll...
Nur so kann man Dir helfen, und vielleicht einen grundlegenden Verständnis / Design- Fehler beheben...
Ausserdem eine Bitte: Sag uns doch mal kurz, wer Du bist, und wie viel Du von dem, was Du da tust verstehst... Bist Du ein Entwickler- Anfänger, der sich in einer (Schnaps)idee verrant hat, oder bist Du ein Profi, der nach einem edlen Weg sucht, etwas zu tun, was er sonst manuell tun müsste...
Gruß
Tode
koehlerbv:
Wenn nur eine MASKE in eine (fremde) DB kopiert wird, kann man deren Existenz wohl ermitteln und so auch unter selbst gesetzten Bedingungen hierfür Dokumente generieren. Aber wozu braucht es eine Maske ? Die Dokumente, die damit erstellt (generiert) wurden, sieht ja sowieso kein Endanwender (weil es dafür dann immer noch keine Ansicht gibt) - und dann brauche ich ja auch die maske nicht, sondern kann die Dokumente mit einem Item Form = "Irgendwas" ja trotzdem erstellen.
Ich stimme Todes Beitrag vollkommen zu: Sag' an, was Du wirklich willst, bevor wir unsere Zeit in Kaffeesatzleserei verplempern.
Bernhard
PS: Da ich Deine Ausgangsfrage ja schon fast richtig gedeutet habe und ich auch Deine anderen Threads gelesen habe, habe ich das Gefühl, dass Dir geholfen werden kann. Wenn Du uns jetzt hilfst und mit des Pudels Kern 'rausrückst.
DatenDuck:
Das mit dem Vorgabewert geht nicht, da dieser immer gleich wäre. Ändert sich der Pfad, muss jedes Feld in jeder DB angefasst werden, da das Design ja nicht aus einer gemeinsamen Schablone kommt. (Ist jedoch ein guter Tipp für die DBs welche aus einer gemeinsamen Schablone bestehen).
Die Sache mit Masken und Dokumenten:
Ich verstehe das so: In einer Maske habe ich ein Feld. Der Inhalt dieses Objekts wird in einem Dokument gespeichert und die Dokumente können in einer Ansicht aufgelistet werden oder?
Was tun die Masken:
In erster Linie haben sie wie gesagt nur Felder, dessen Inhalt sich ein Agent ausliest. Der Feldinhalt stellt Kriterien für den Agenten dar... Was soll ich da groß sagen... Der Agent schaut ins Feld Pfad und liest "C:\export" und dann auf die Checkbox und liest was angecheckt ist. Daraufhin tut er das was er anhand der Kriterien tun kann.
Nächste Sache: Die Maske gehört zu dem Agenten und ermöglicht z.B. das Abklinken eines Dateianhangs, der Speicherung dieses Anhangs in einem Bestimmten Pfad und somit Entlastung der MailDB. In einer anderen DB bewirkt diese Komponente das Exportieren des angezeigten Dokuments als RTF-Datei in einen bestimmten Pfad usw. In beiden Fällen wird in dem angezeigten Dokument gearbeitet.
Was bin ich:
Ich bin ein Anfänger der sich durchbeissen will und das Notesleben verstehen will.
Dieser ganze diskutierte Gedanke kam mir aus folgendem Hintergrund und scheinbar fehlendem Wissen.
Ich erstelle mir z.B eine HTML-Seite, in der der ein Textfeld sichtbar ist. Den Inhalt dieses Textfeldes speichere ich in einer ODBC DB. Nun kann ich den Inhalt aus der ODBC DB in jedes andere Feld oder sonstwohin kopieren, da die DATEN dort gespeichert sind. Ich dachte so einen Bereich gibt es auch in einer Notes DB wo einfach der Inhalt eines Feldes steht und man darauf zugreiffen kann. Ich habe eine Notes DB bis jetzt quasi so verstanden, dass die den optischen Teil und den Datenteil in einem enthällt. Löscht man (im übertragenen Sinn) die HTML Datei, ist das Feld in der ODBC DB trotzallem noch gefüllt und könnte auch von einer anderen HTML-Datei bearbeitet werden. Bei passenden Zugriffsrechten könnte die HTML Datei auch ganz wo anders liegen, sofern ich von Dort in den immernoch bestehenden Datenspeicher schreiben darf.
Vielleicht können wir dieses Thema ganz einfach beenden mit einer ganz einfachen Frage
Kann ich einfach den Inhalt des Feldes A in meiner DB in ein gleichnamiges Feld A in einer anderen DB kopieren? Wenn das geht, dann geht sehr wahrscheinlich auch der Rest den ich mir gedacht habe..
Die Sache mit Pudels Kern.. Ich bin derzeit noch nicht soweit um große Dinge selber zu Programmieren.. Das heisst ich kann hier nicht die Quellcodeseiten runterpasten. Viele meiner Fragen beziehen sich auf eine Sache, bei der ich gerne wissen will ob das theoretisch möglich ist. Wenn ich dann weiss "Ja das geht" und bestenfalls noch einen Tipp erhalte, beisse ich mich an meinen gesammelten TestDBs durch.
Jetzt steh ich eben vor der Aufgabe "Zwei identische Masken in ansich unterschiedlichen DBs" und dort möchte ich einfach nur ein Feld füllen... Mehr versuche ich dann später
Tode:
OK, jetzt habe ich's verstanden, und jetzt kann ich Dir auch den Passenden Tipp geben.
ALSO:
Zunächst mal: Verabschiede Dich komplett von Deinem Wissen über ODBC. Das hilft Dir im Notes- Umfeld GAR NIX.
Und jetzt Zu Deinem Problem:
Solche Dinge macht man in Notes normalerweise über eine Zentrale "Konfigurations-Datenbank"...
Die Daten sind ZENTRAL vorhanden, aber eben zugriffsgeschützt.
Du hast eine "Konfig-Maske" in dieser Zentralen DB und dort fügst Du zwei Felder hinzu:
"ZielDatenbank" und (gegebenenfalls) "User".
Jetzt brauchst Du in Deinen "Ziel- Datenbanken" nur zu wissen, wo die "Konfigurations-DB" liegt, und erstellst eine Passende Konfiguration über
@Command([Compose]; "DeinServer" : "KonfigDB.nsf" ; "DeineMaske" )
Geändert wird das Dokument dann in der Konfig- DB selbst... (oder per Script aus der Ziel- DB heraus...)
So... Dieses passende Konfig- Dokument enthält den Dateinamen der "Ziel-DB" im Feld "ZielDatenbank" und den aktuellen User (sofern es pro Datenbank unterschiedliche User gibt) im Feld "User"
dann werden die anderen Daten abgeändert und das Dokument gespeichert.
Der Agent in der Ziel- Datenbank liest nun NICHT das Dokument in der Datenbank selbst aus, sondern holt sich die Daten beispielsweise über ein DBLookup aus der Konfig- DB mit dem Schlüssel DBName und (ggf) User.
Wenn Du jetzt Pfade ändern / andere Einstellungen korrigieren willst, dann muss Dein "Korrektur- Agent" nur noch eine Datenbank durchforsten, und dort die einstellungen ändern...
Das ist das grobe Gerüst.
ABER: Das ganze ist ein recht anspruchsvolles Projekt, bei dem Du -mit Deinem bisherigen Wissen- noch auf einige Stolpersteine stossen wirst...
Trotzdem kommst Du so ans Ziel. Dein anderer Ansatz ist QUATSCH und sollte nicht weiter verfolgt werden.
HTH
Tode
DatenDuck:
Vielen Dank für den Tipp,
aber dadruch entsteht ein Problem was ich eigentlich umfahren wollte.. (Indem jeder sozusagen seine eigene Ausgabe von den Einstellungen hat)
Wenn nämlich mehere Benutzer diese KonfigDB verwenden, kann niemand mehr seine eigenen Einstellungen vornehmen.. Somit könnte ich ein Feld "Benutzername" nicht verwenden.
Oder irre ich mich?
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln