Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Ozan am 31.01.08 - 10:22:41
-
Hallo,
ich baue gerade eine Art von Forum mit Notes. Hier habe ich Mitgliederbereich. Ich möchte die Mitglieder erlauben Ihre Daten anzupassen bzw. zu ändern.
Mit @Dblookup kann ich die gespeicherte Felder aus der Datenbank holen und dem User anzeigen. Das problem liegt beim anpassen bzw. ändern dieser Daten.
Kann man mit @Dblookup in kombination @Setfield auch Daten in der Datenbank ändern so dass wenn der User z.b sein Passwort ändern möchte, dies auch in der Datenbank ändern und speichert?
Für eine kleine Feedback bin ich dankbar.
Gruss
Ozan
-
Um ehrlich zu sein: so ganz verstehen tue ich das nicht, was du da vor hast ???
-
... also was ich so rauslese ist, daß die Angaben im Personendokument auf dem Server geändert werden sollen. Vorausgesetzt der User hat das Autorenrecht auf das Dokument, dann kann man bestimmte Daten sicherlich ändern, nur nicht per Formel Datenbankübergreifend - das geht nur mit LotusScript...
Ich wäre aber vorsichtig bei solchen Stunts - das kann auch gehörig ins Auge gehen - das Personendokument hat eine Ausweischarakter...
Toni
-
Interfacebereich für Mitglieder:
hier sollen die Mitglieder die Möglichkeit haben Ihre Adresse,Name, etc. zu ändern.
Durch das klicken von Speichern button, sollen die Angaben von Usern erfrischt bzw aktualisiert werden.
Wie kann ich die Änderungen von Usern in die Datenbank aufnehmen?
Gruss
Ozan
-
... ich würde das nicht über ein Interface abwickeln, sondern direkt im Dokument. Damit kann er nur das ändern, was er auch nur ändern können soll. Die Verdrahtung des Personendokumentes, Validierung etc. kannst du dir damit alles sparen.
Du musst das Dokument des Users initialisieren und im Frontend zur Bearbeitung öffnen - was spricht dagegen?
Toni
-
Kann ich probieren, hast du da für mich ein Beispiel oder Verweis?
-
Hallo,
dumme Frage: Wie oft ändern die Leute das Passwort, warum nehmen die dann nicht den "Standardweg" über die Webmailbox?
Dieser Weg ist bewährt und vermeidet alle o.g. Probleme.
Gruß Werner
-
... wie fit bist du mit LotusScript?
Toni
-
Geht es denn wirklich um das Personendokument (für mich wäre das dann das aus dem Domino Directory) oder geht es um eine Art Profildatenbank des Benutzers in der Forumsdatenbank ?
-
@ata
hier was ich schon versucht habe, aber ohne Erfolg:
Dim ses As New notessession
Dim webdoc As notesdocument
Set webdoc = ses.DocumentContext
Dim suche As String
suche = webdoc.docunid(0)
Dim db As NotesDatabase
Dim PersonView As NotesView
Dim PersonDC As NotesDocumentCollection
Dim PersonDoc As NotesDocument
Set db = ses.CurrentDatabase
Set PersonView = db.GetView( "alleadressenbyUnid" )
Set PersonDC = PersonView.GetAllDocumentsByKey(suche, True)
If PersonDC.count <> 0 Then
Set PersonDoc = PersonDC.GetFirstDocument
PersonDoc.forumPasswort = webdoc.forumPasswort_neu(0)
Call PersonDoc.save(True,True)
End If
@Driri
PersonenDokument in Notes bzw. nsf-file
-
... was geht denn genau schief - Fehlermeldungen etc - ansonsten hat das mehr mit Hellseherei zu tun...
Es fehlen alle Validierungen...
Toni
-
HTTP Web Server: Lotus Notes Exception - Unsupported trigger and search in the background or embedded agent
Der Aufruf:
Speichern Button in Teilmaske der "Passwortaenderung" Agent ausführt --> @Command([ToolsRunMacro]; "Passwortaenderung")
-
Und von welchem Type ist der Agent "Passwortaenderung"?
-
Das ist eine gute Frage, wo ich dummi nicht drauf gekommen bin. Damit habe ich die Fehlermeldung wegbekommen, aber er überschreibt das irgendwie immer noch nicht.
Fehlermeldung Server=keine
Nur wenn ich die Formname angebe, gibt es die Fehlermeldung "Objekt varable not set".
webdoc.docunid(0)=ID von notes
hier:
Dim ses As New notessession
Dim webdoc As notesdocument
Set webdoc = ses.DocumentContext
Dim suche As String
suche = webdoc.docunid(0)
Dim db As NotesDatabase
Dim PersonView As NotesView
Dim PersonDC As NotesDocumentCollection
Dim PersonDoc As NotesDocument
Set db = ses.CurrentDatabase
Set PersonView = db.GetView( "alleadressenbyUnid" )
Set PersonDC = PersonView.GetAllDocumentsByKey(suche, True)
If PersonDC.count <> 0 Then
Set PersonDoc = PersonDC.GetFirstDocument
PersonDoc.Form="Personen"
PersonDoc.forumPasswort = webdoc.forumPasswort_neu(0)
Call PersonDoc.save(True,True)
End If
Gruss
Ozan
-
Ok. Ich habe jetzt das geschafft, natürlich mit eure hilfe. Wichtig hier war dass der AgentTyp richtig ist. Das mit der "Objekt variable not set" lag an mir, das Feld war nicht richtig gefüllt gewesen.
Dannke an alle.
Gruss
Ozan