Avatar billede avest Nybegynder
05. februar 2003 - 10:34 Der er 4 kommentarer

Lås mens doc. redigeres

Jeg har en database hvor mange personer løbende retter i dokumenterne. Det giver af og til (læs ofte, red.) replikerings fejl. Jeg vil derfor gerne låse dokumentet så når først en person redigerer i det så kan andre ikke redigere i det.

Mine overvejelser.

Når der skiftes til redigeringstilstand oprettes et dokument andetsteds i databasen med UNID på det redigerede dokument. På samme tidspunkt kigger der efter om dokumentet allerede eksisterer. Hvis dokumentet eksisterer må det skyldes at der allerede er en bruger som redigerer dokumentet.
Selvfølgelig skal UNID dokumentet så slettes når redigeringstilstand forlades.

Er der en bedre idé ? Jeg kan forestille mig at det kan gå hen og blive noget rod når der opstår diverse fejl og dokumentet så ikke bliver slettet.

(Notes R5)
Avatar billede jogii Nybegynder
05. februar 2003 - 10:59 #1
Det er metoden jeg selv anvender. Du skal blot have nogle funktioner parat som kan kaldes af brugeren, når det er gået galt (såsom CancelLock eller lignende).
Tag også hånd om lokale kopier af applikationen. Evt. ikke gøre det muligt at redigere eksisterende dokumenter men kun tillade oprettelse af nye (notater?)

Glæd dig til N6:
Lock method 

Example
Locks a document.
Note  This method is new with Release 6.
Defined in
NotesDocument
Syntax
flag = notesDocument.Lock( [ name ] [, provisionalOK ] )
Parameters
name
Array of type String. Optional. The names of the lock holders. Each lock holder must be a user or group. Defaults to one lock holder: the effective user. The empty string ("") is not permitted in the array.
provisionalOK
Boolean. Optional.
True permits the placement of a provisional lock.
False (default) does not permit a provisional lock.
Return value
flag
Boolean.
True if the lock is placed.
False if the lock is not placed.
Avatar billede tanker Nybegynder
05. februar 2003 - 15:15 #2
Jeg bruger også samme metode.
Blot lægger jeg låsene ud i en separat database - som kun er til det samme.
Kan så opbevare låse for mange databaser samme sted.
Gem også oplysninger om hvem og hvornår dokumentet blev låst,
og vis dem til brugeren når et dokument er låst - så de kan ringe sammen...
PS: Du skriver "replikerings fejl" - du mener vel save-konflikter
For hvis det ER replikerings-konflikter nytter det ikke noget at låse :(
Avatar billede avest Nybegynder
05. februar 2003 - 15:39 #3
nå ja save-konflikt
Avatar billede avest Nybegynder
19. juni 2003 - 10:23 #4
Jeg har fundet fordelen ved at benytte en separat database - som kun er til det samme.
For at det hele virker kræver det jo at brugerne kan slette deres dokumentlåse når de forlader redigeringstilstand. Men det er ikke altid jeg er interesseret i at give brugerne slette adgang i mine databaser. SÅ nu har jeg lavet en pæn lille database som kun tager sig af håndtering af dokumentlåse.
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