Avatar billede palle1976 Nybegynder
11. januar 2007 - 14:15 Der er 20 kommentarer og
1 løsning

Centralt "flag" som kan læses/opdateres af flere brugere

Jeg har en database som står for noget udprintning. Der må kun være én bruger der udskriver ad gangen fra databasen og det vil jeg gerne kunne styre ved at sætte et "flag" et eller andet centralt sted. Jeg har prøvet at benytte et profile dokument, men det virker ikke da det kommer i cache og værdien bliver derfor ikke opdateret når der er andre det ændrer det.

Er der nogen der har en god løsning til dette problem ?? Skal jeg bare bruge et normalt dokument i databasen og lade brugerene læse/opdatere værdien i dette ?? Jeg tror at der findes en mere smidig løsning...
Avatar billede jogii Nybegynder
11. januar 2007 - 14:29 #1
Ikke for at smide grus i dit maskineri, men hvad med lokale udgaver af basen? Forhindrer du at man kan tage lokale kopier eller køre den andre steder fra en på den ENE server?
Avatar billede jogii Nybegynder
11. januar 2007 - 14:37 #2
En simpel måde kan være at bruge "Document Locking".
Den første bruger der går ind i basen, hvor man åbner et framset, hvor der i et lille frame samtidig åbnes et dokument i EDIT-mode. Efterfølgende brugere får besked på at dokumentet allerede er åbnet af en anden bruger.

En anden metode er at undersøge om der findes et "låsedokument". Hvis ja, giv besked til brugerne (evt. med navn på brugeren som har låst) og gå ud. Hvis der ikke findes et "låsedokument", så opret et og fortsæt.

Når brugeren går ud af databasen, så slettes låse-dokumentet (kontroller om det er MIT dokument)
Avatar billede palle1976 Nybegynder
11. januar 2007 - 14:39 #3
ja, databasen kommer kun til at ligge et sted. Men hvis der må også godt printes fra en replika/kopi af databasen bare der ikke er to brugere der printer fra den SAMME database.
Avatar billede jogii Nybegynder
11. januar 2007 - 14:44 #4
Så må jeg næsten spørge den anden vej rundt: hvorfor må 2 personer ikke udskrive fra basen samtidig? Du må gerne komme med en teknisk forklaring ...
Avatar billede palle1976 Nybegynder
11. januar 2007 - 15:27 #5
Det er lidt indviklet, men jeg prøver...

Printdatabasen indeholder en række forskellige dokumenttyper (forms), og når brugeren udskriver en række dokumenter skal disse sorteres på en bestemt måde. For at lave denne sortering overføres alle dokumenterne først til en folder, som har den rigtige sortering og herfra udskrives de. Der skulle så gerne findes en folder til hver enkelt bruger, for at de ikke får blandet deres udskrifts-dokumenter. Problemet er at vores brugere kører på en terminal server og benytter det samme notes id, derfor kan jeg ikke kende forskel på dem. Det er derfor nødvendigt at gøre den ene brugers print færdig før end en anden bruger kan starte sit print....

Måske er det en lidt tung måde at gøre det på, men det fungerer fint og jeg kan ikke lige se andre løsninger på problemet. Kan du ;o)
Avatar billede jogii Nybegynder
11. januar 2007 - 15:33 #6
Er du bimmer mand .... samme Notes.ID til alle brugere .... Så kan man jo ikke kende forskel på nogen af dem. Det ER muligt at køre Notes med personlige Notes.id fra en TS ....

Logger de på TS med en fælles konto eller en brugerkonto? Så kan man evt. identificere brugerne ud fra deres NT-navn, som sikkert kan hentes frem via nogle systemkald.
Avatar billede jogii Nybegynder
11. januar 2007 - 15:35 #7
Så jeg kan regne ud at i ikke bruger Notes mail, i det mindste ikke fra TS?
Avatar billede palle1976 Nybegynder
11. januar 2007 - 15:41 #8
De kan kun printe fra printdatabasen og har ikke adgang til andre databaser fra TS, så der er ikke den store risiko ved det. De har hver et personligt ID som de bruger til Notes mail mv.

Måske jeg kan kende forskel på dem ved deres NT-navn, men ved ikke lige hvordan det kan gøres. Men med mindre der ligger en nem løsning på at kende forskel på dem vil jeg hellere lave så der kun er én bruger der kan printe ad gangen. Det vil være en fin løsning for os.

Ved du om det er holbart at have et normalt notes-dokument som alle brugerene kan læse/opdatere en værdi i ? Eller vil dette ikke virke når der er flere brugere ?
Avatar billede jogii Nybegynder
11. januar 2007 - 16:22 #9
Det er jo lige spørgsmålet --- jeg tror document locking er bundet op imod brugernavn.

En anden mulighed er følgende: Alle der går ind prøver at åbne et helt specielt dokument (få fat i det via DOCUNID). Når der i dokumentet står "Jeg er fri, tag mig!!", så skrives til det: "Taget kl. XX:XX". Og når man går ud, så sættes værdien tilbage til "Jeg er fri, tag mig!!".
Avatar billede palle1976 Nybegynder
12. januar 2007 - 08:22 #10
Den løsning du beskriver i din sidste kommentar ligner det jeg allerede har lavet, men jeg er ikke helt sikker. Du skriver at der åbnes et "specielt dokument", mener du en speciel dokumenttype, eller bare et dokument som bruges til dette formål ? Du skriver også at det skal hentes via DOCUNID, kan det ikke bare hentes fra et view eventuelt ?

Men ellers synes jeg at det lyder som den rigtige løsning, jeg er dog stadig i tvivl om det vil virke med flere samtidige brugere, men det kan komme an på en prøve.
Avatar billede jogii Nybegynder
12. januar 2007 - 09:39 #11
Ja, hvordan du får fat i dokumentet er ligegyldig (View, DocUNID etc). Blot skal du være sikker på at det er PRÆCIS det samme dokument alle prøver at få fat i. Derfor forslog jeg DocUNID, som du hardkoder ind i applikationen.

Hvad ville der ske hvis brugeren tilgik den pågældende applikation fra deres egen arbejdsstation (og ikke TS)?

Jeg er nu ret sikker på at det ikke er specielt svært at få fat i Brugernavn fra TS-login ... hvis du har det, så ville dine problemer være løst, ikke?

Hvorfor sørger du ikke for at brugerne kan logge på med deres egen NOTESID i TS-sessionen? Er det fordi de kun bruger Notes i TS som printfacilitet?

Hvordan er NOTESDATA-biblioteket struktureret for TS-brugerne? De må jo have hver deres egen NOTESDATA, ikke? Så har de også deres egen DESKTOP.DSK, ikke?
Så kan du måske redde det hele nemt ved at oprette de fågeældende foldere som PRIVATE, så placeres de nemlig i DESKTOP.DSK, og ikke i databasen ...

Du må gerne svar på flere af spørgsmålene, det gør det nemmere at hjælpe :-)
Avatar billede jogii Nybegynder
12. januar 2007 - 09:41 #12
pågældende, ikke fågældende :-)

Dejligt at se at andre end mig bruger Notes som Printfacilitator :-) De fleste gør grin med Notes og print, det synes jeg er synd.
Avatar billede palle1976 Nybegynder
12. januar 2007 - 11:55 #13
Jeg ved ikke helt hvordan det er installeret på TS, da det ikke er min "afdeling". Men jeg kan selvfølgelig finde ud af det.

Du har ret i at vi kun bruger Notes i TS til at printe. De har en anden Notes klient til mail osv. Når de skal printe logger de på TS med det samme brugernavn og jeg kan derfor ikke bruge løsningen med private folders. Det var ellers den løsning jeg havde til at køre inden det blev testet på TS...

Men jeg vil prøve at bruge løsningen med en dokument til at styre adgangen.
Avatar billede jogii Nybegynder
12. januar 2007 - 12:14 #14
Afhængig af ACL så bliver Private-folders oprettet i enten databasen eller lokalt i DESKTOP.DSK
Det er lige fidusen, få dem oprettet i DESKTOP.DSK.

Med andre ord kan det være så simpelt som at ændre ACL for din Printbruger til Reader
Avatar billede palle1976 Nybegynder
12. januar 2007 - 14:19 #15
Tak for dine gode råd og kommentarer, hvis du smider et svar er der points.

Jeg skal lige høre om du har været udsat for at metoder "OpenView" på NotesUIDatabase åbner et forkert view/folder ?? Når jeg åbner en private folder med denne metoder åbner den nogle gange det første view fra listen af views i stedet for...??
Avatar billede jogii Nybegynder
12. januar 2007 - 17:41 #16
ja, det har jeg set. Specielt efter at man har slettet nogle "SharedPrivateOnFirstUse" oversigter.
Jeg har umiddelbart ingen supergod løsning.
Avatar billede jogii Nybegynder
12. januar 2007 - 17:42 #17
nå ja, svaret ....
Avatar billede jogii Nybegynder
15. januar 2007 - 17:38 #18
Nu fandt jeg den type folder/oversigt som hjælper:
Shared - Desktop private on first use
Avatar billede jogii Nybegynder
15. januar 2007 - 18:43 #19
Eller en løsning der anvender Notes/Dominos indbyggede Lock facilitet.
Den anvender DocumentLocking. Du kan også enable Design locking, men jeg ved ikke om det kun virker med Designeraccess. DocumentLocking burde altid virke.



This view action attempts to lock the current document for all members of the "Guys" group. Locking is successful if the document is not yet locked, or the document is locked but the effective user is a member of Guys. A provisional lock is allowed if the administration server is not available.
%INCLUDE "lsxbeerr.lss"

Sub Click(Source As Button)
  Dim session As New NotesSession
  Dim db As NotesDatabase
  Set db = session.CurrentDatabase
 
  REM Exit if locking is not enabled
  If Not db.IsDocumentLockingEnabled Then
    Print "Document locking not enabled"
    Exit Sub
  End If
 
  REM Get selected document
  Dim dc As NotesDocumentCollection
  Dim doc As NotesDocument
  Set dc = db.UnprocessedDocuments
  Set doc = dc.GetFirstDocument
 
  REM Lock the document
  REM Not locked if return is False or error is raised
  On Error Goto errh
  If doc.Lock("Guys", True) Then
    Print "Document locked"
  Else
    Print "Document NOT locked"
  End If
  Exit Sub
errh:
  If Err() = lsERR_NOTES_LOCKED Then
    Print "Document NOT locked"
  Else
    Messagebox "Error " & Err() & ": " & Error(),, "Error"
  End If
  Exit Sub
End Sub
Avatar billede palle1976 Nybegynder
16. januar 2007 - 08:36 #20
Tak for indput. Det ser ud som om at jeg kan bruge dokumentlocking, som du skriver. På nuværende tidspunkt bruger jeg dog et dokument, hvor jeg tjekker på om en værdi er sat eller ej. Jeg har dog ikke testet det med mange brugere, det kan jo være at det giver lidt problemer...

Hvad mener du med den foldertype du bekriver ? Skulle den være unik for hver bruger, selv fra en TS server ?
Avatar billede jogii Nybegynder
16. januar 2007 - 10:43 #21
Ja, det er den, under forudsætning at hver bruger har sit eget NOTESDATA. Disse Desktop-views placeres nemlig i --- gæt selv --- DESKTOPx.NDK. Derfor er de "personlige".
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