I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Jeg går ud fra du vil lave en POST. (GET kan også laves) På Domino laves et design element, som rammes af denne POST (Agent eller Formular/Web Queary Save-agent). Under afvilkingen af agenten vil data sendt med POST være tilgængelige som CGI-variable (Request_Content). Disse data behandles og vises enten med den formular der blev kaldt eller via en anden formular (redirection).
lidt om Request_Content: Request_Content is a string of name-value pairs representing HTML fields on your HTML form, formated like so: name1=value1&name2=value2&name3=value3 (etc.)
Følgende er skrevet fra hånden og ikke testet: Under afvilkingen af agenten fås tilgang til data via dim session as new NotesSession dim submitteddoc as NotesDocument set submitteddoc = session.DocumentContext dim data as string data = submitteddoc.Request_Content(0)
Data kan herefter parses og overføres til formular-felter (hvis det var Formular/Agent der blev postet til). Derefter skal der redirectes til det oprettede dokument.
Hvis det var en agent alene der blev kaldt skal data gemmes i et (eller flere hvis det ønskes) dokumenter, som der bagefter redirectes til.
Det virker måske lidt forvirrende, men det er jo trods alt en database vi har med at gøre. //Jörg
yeps, bamzens metode er en GET variant. For at kalde en Domino formular skal du adressere den som //server/dabasesti/database.nsf/FORMULARNAVN?OpenForm&data1=data&data2=data&data3=etc... Sikkerheden er et kapitel for sig (Fælles for POST og GET). Rettighederene til databasen skal umiddelbart sættes for "Anonymous" til Author/create documents for at du ikke får problemer ved gemning.
Dvs du laver et link der requester en url lignende ovenstående
I agenten tager du fat i Context dokumentet, herpå findes mirakuløst feltet "Query_String_Decoded" som bamzen omtaler. Lav lidt streng behandling på indholdet af dette felt - nemmest vha. evaluate(@word.. alternativt via en @word lignende funktion skrevet i script.
Gem herefter de modtagne værdier i de rigtige felter og lav et svar dokument som du kan "sende" tilbage til brugeren. Sidstnævnte kan enten være et dokument i Notes databasen, alternativt kan du lave det i ren HTML. Eller måske endda en parameteroverførsel tilbage til den oprindelige server via en url.
Jeg har (desværre) aldrig helt forstået det der med POST og GET; men ved at sender dine (få) værdier via en url, tror jeg heller ikke du behøver at bekymrer dig om dette.
-> pr0gm4n: Det du beskriver er GET (beder om at få de specificerede data tilsendt). Hvis man har en formular med redigerbare felter på skærmen og trykker [Submit] skal der være en <Form>-tag i HTML. Indeni denne tag er der angivet en target for disse data (f.eks. <form method="post" action="//server/sti/db.nsf/view/docunid?EditDocument&Seq=1" name="FORMNAME"> )
Problemet med GET er at der er en maks-grænse for hvor mange data man kan overføre via URL. Denne begrænsning findes (så vidt jeg ved) ikke ved POST.
-> computopic: pr0gm4n's måde er en meget nem måde at gøre det på. En agent i Domino kan næsten opfattes som et kald til et ASP-script på IIS. Men ved at koble det sammen med en formular har du omgående en præsentationsmetode for dine data klar.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.