Avatar billede yeager Nybegynder
13. februar 2003 - 15:57 Der er 6 kommentarer og
2 løsninger

Luk af for editering i dokument

Jeg vil gerne have at man ikke kan sæte et dokument i edit mode (ctrl+e eller anden måde) når status i et status felt er "closed".

Det må da kunne lade sig gøre uden at skulle lave dobbelt felter (display contra edit)... jeg har nok bare svedt ud hvordan....

Dokumentet kører i et workflow og nogle felter skifter fra at kunne editeres til ikke at kunne editeres af en given person / rolle. Når sagen er færdig behandlet sættes status til closed og herefter skal dokumentet ikke kunne ændres.

Er der nogen der kan huske det her...???

MvH ;^)
Avatar billede jjj Nybegynder
13. februar 2003 - 16:24 #1
Jeg ville lave det på en anden måde.
Et felt der viser hvornår dokumentet ikke må editeres mere f.eks. slut.
Derefter laves et display felt som viser det editerbare felt, og det editerbare felt skjules. Begge felterne skjules og styres vha. feltet slut.
Avatar billede jogii Nybegynder
13. februar 2003 - 16:34 #2
Jeg ville styre det med sikkerhed. Et beregnet forfatterfelt giver visse/alle personer/grupper adgang til at rette i dokumentet. Hvis status = "lukket" skal indholdet i det pågældende felt være sat til blank eller en dataadministrator, som stadig kan rette dokumentet.

En anden mulighed er at markere det meste af formularen af en sikkerhedssektion, som giver personen "YouAreNotJamesBond" lov til at rette sektionen hvis status = "lukket".

//Jörg
Avatar billede yeager Nybegynder
13. februar 2003 - 16:35 #3
Tak for dit svar.
Det drejer sig om adskillige forskellige felter, der efter tur kan editeres af første den ene rolle og så den anden e.t.c. Jeg kan ikke forstå hvis man ikke centralt kan styre edit adgangen. Jeg vil lige overveje dit svar lidt og se om der kmmer andre forslag.
MvH :^)
Avatar billede yeager Nybegynder
13. februar 2003 - 16:38 #4
How der nåede jogii at komme med et svar mens jeg sad og skrev til jjj... Controlled access section - det tror jeg måske er en løsning - kigger lige på det.
MvH :^)

PS: Jeg kan nu ikke forstå at man ikke kan lave en formel for hvornår dokumentet skal kunne / ikke kunne editeres.
Avatar billede jogii Nybegynder
13. februar 2003 - 17:10 #5
du kan lige præcis styre det med felter af typen "Forfatter". Den generelle adgang til databasen skal herefter også være "Forfatter". Man er forfatter til et dokument hvis
* ens navn er i et forfatterfelt for det pågældende dokument
* man er medlem af en gruppe som er nævnt i et forfatterfelt
* man har fået tildelt en rolle via ACL som er nævnt i et forfatterfelt

Notes/Dominos sikkerhedsmodel virker lidt underlig første gang man arbejder med den, men den virker !!!

Udover forfatterrettigheder kan man også arbejde med "læseadgang" til dokumenter. Som standard kan alle der har mindst læserettigheder til en database læse alle dokumenter. Ved at have felter af typen "Læser" kan man angive hvem der må se de pågældende dokumenter (Har man ikke læserettighed til et dokument forsvinder det også fra oversigter). Men er man nævnt som forfatter er man automatisk også læser for dokumentet.

Jeg plejer at prefixe alle forfatterfelter med "Ax" og alle læsefelter med "Rx".  F.eks. kan feltet "AxChef" indeholde navnet på en persons chef, som skal have redigeringsrettigheder til et persondokument. "RxChef" giver en chef læserettigheder.

Et dokuments samlede sikkerhedsmodel er således summen af alle forfatterfelter og summen af alle læserfelter. Hvis listen af navne i læsefælterne er blank, så har alle læseadgang til det pågældende dokument.

Hvis man er "Redaktør" for en database kan man redigere alle dokumenter, uanset om man er listet som forfatter til dokumenter. Men dokumenter som man ikke har læseadgang til kan man ikke læse.

Jörg
Avatar billede mmmtm Nybegynder
13. februar 2003 - 19:04 #6
Hvis det er hele dokumentet du vil gøre uredigerbart, kan du lave et script hvor du i fx. PostModeChange sætter:
uidoc.EditMode = False
Avatar billede lars_resulture Nybegynder
13. februar 2003 - 19:51 #7
Der er også en event, der hedder QueryModeChange.
Med denne kan du forhindre skift mellem edit og ikke-edit mode ved at sætte Continue=False.
Først skal du dog sikre dig at dokumentet ikke allerede er i edit-mode.
Dette kunne du gøre i event'en PostOpen...

Altså i PostOpen ->
Tjekker du for edit mode, hvis i edit skifter du til ikke-edit.
I QueryModeChange ->
Sætter du Continue=False.

Det hele kan også styres med Reader/Author felter som jogii beskriver...
Ønsker du at styre på felt-niveau og ikke på dokument-niveau, så er controlled Access Sections vejen frem...  Ligesom jogii også beskriver... ;-)
Som sædvanligt er der manger måder at løse samme problem på ;-)
Vælg den, der passer bedst til dig opgave...

Lars/RESULTURE
Avatar billede yeager Nybegynder
17. marts 2003 - 08:05 #8
Tak for hjælpen. Jeg har fordelt points og vil se på hvilken løsning der er mest hensigtsmæssig i den aktuelle sag. MvH
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