Avatar billede leif Seniormester
11. maj 2007 - 14:08 Der er 8 kommentarer og
1 løsning

Sikre at kun 1 kan ændre dokumentet

Hej,

Ifb. med et skema som løbende skal udfyldes af 4 forskellige mennesker, kan jeg forestille mig en funktion som gør at når Person 1 åbner for editering så "låses" dokumentet således at andre ikke kan åbne det for editering.

Problemet er at det helst skal virke både fra Web og Notes klient


Har du en god idé for hvordan man kunne gøre det ?

/Leif
Avatar billede mmmtm Nybegynder
11. maj 2007 - 16:52 #1
Det er ikke spor nemt at lave 100% tjekket. Den model jeg endte på, var at i webQueryOpen, kører jeg en agent der via UniversalID, flytter indholdet af dokumentets authors/readers felterne over i et midlertidig felt, og overskriver derefter authors/readers felterne med userid på den person der åbner dokumentet. Og vice versa i webQuerySave. Jeg har kun haft brug for det på web, men det bør kunne gøres på samme måde i klienten. Hermed forhindres det andre at redigere dokumentet, og andre personer vil ikke kunne se dokumentet i oversigter (hvilket kan være upraktisk). Har de allerede åbnet oversigten inden en anden åbner dokumentet, vil de kunne se dokumentet, men vil blive bedt om at logge ind (kun på web, i klient vil de få at vide at de ikke har rettighederne) hvis de prøver at åbne det, mens det redigeres (også upraktisk).
Alternativt kan du sætte et redigeringsmærke på dokumentet, istedet for at ændre authors/reader felterne - og så lave en masse hide/when på felterne styret af redigeringsmærket, så den "redigerbare" del skjules når det er åbnet til redigering, og der istedet for vises en "Dette dokument redigeres af en anden, prøv igen senere" tekst. Jeg valgte førstnævnte, fordi jeg i min oversigt øverst kunne gøre opmærksom på at hvis et dokument ikke var synligt, skulle der prøves senere. Og oversigterne her er altid af begrænset omfang.
Udover at aktivere agenten til at "unlocke" dokumentet i webQuerySave, skal denne også aktiveres når dokumentet blot lukkes (via diverse knapper) samt når det blot krydses og her (på web) skal du have fat i (javascript) onUnLoad - men det giver til gengæld et problem hvis din form kræver refresh under redigering....Derudover skal du også tage forbehold for at en brugers browser/pc/klient går død under redigering, så du har et låst dokument dersom brugeren ikke selv går ind og redigere igen og gemmer/lukker korrekt - så her skal du have en tidsstyret agent til at rydde op.
Avatar billede leif Seniormester
12. maj 2007 - 13:02 #2
mmmtm -> Du kunne ikke være meget flink vel ? Enten at maile mig et eksempel eller kan jeg købe dig 1 time ?
Avatar billede mmmtm Nybegynder
13. maj 2007 - 13:02 #3
Jeg er rimeligt hængt op for tiden, men vi tager den bare her.
Opret et felt (docID) på din (web)form med @text(@documentUniqueID). Kig på notesSession.documentContext - her kan du se hvordan du får fat i feltværdier fra en webside, i en wqo-agent. Brug docID til at hente documentet back-end (notesdatabase.getDocumentByUNID(docID)). Lav en print statement med et eller andet feltindhold fra back-end dokumentet, - så bliver det printet i browseren. Prøv i første omgang at få det til at fungere.
Avatar billede mmmtm Nybegynder
15. maj 2007 - 21:59 #4
Kan du komme videre udfra ovenstående ?
Avatar billede leif Seniormester
15. maj 2007 - 22:29 #5
mmmtm -> Jeg har ikke fået kigget på det endnu ! (Projektet skal først bruges i August)
Avatar billede leif Seniormester
21. juli 2007 - 19:22 #6
Hej mmmtm,

Damn, jeg har ikke glemt hverken dig eller det her projekt, men hvordan ser din tid ud pt. ? Jeg er villig til at betale os fra at få det lavet (Selvfølgelig anpå hvad du skal have for det), hvis du har tid, kan du ikke smide mig en mail hvis du har tid til at lave det for mig ?
Avatar billede leif Seniormester
15. september 2007 - 13:42 #7
Jeg fik det ikke til at virke, men de valgte en anden løsning :)

At tjecke skemaet ind og ud, men ellers manuelt holde øje med hvad status skemaet havde.

Så hvis du ønsker point for idéer, så smid et svar !
Avatar billede leif Seniormester
12. oktober 2007 - 18:27 #8
Lukker
Avatar billede leif Seniormester
12. oktober 2007 - 18:28 #9
mmmtm -> Smid et råb hvis du ønsker point
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester