Beiträge von CarstenH

    die aussgae mit dem hinzufügen ist korrekt. ergänzend für die maus-freaks: man kan auch beim verschieben eines dokuments mit der maus die STRG-Taste festhalten, dann wird auch nur die dok-id in den anderen ordner eingetragen aber nicht aus dem ordner aus dem man gerade "schiebt" herausgenommen.


    oder noch simpler: man öffnet eine ansicht (z.b. gesendet oder alle dokumente) und zieht dann dokumente in ordner. kann man beliebig oft und sogar ohne STRG-Taste machen ;=)


    Ein Notes-Ordner ist eben kein Windows-Ordner.


    PS: böse Zungen behaupten die Ordner wurden mit R4 nur deshalb eingeführt, damit wir Trainer mehr Support-Aufträge und Schulungsteilnehmer bekommen *fg*

    Eine Menge Fragen ;=)


    zu PHP: prinzipiell besteht zwar die Möglichkeit mittels PHP eine Notesdatenbank zu bedienen aber ich halte das für zu kompliziert da ich deiner Fragestellung entnehme daß du Notesanfänger bist.
    Zum technischen Verständnis für dich: Notes hat keine eigene PHP Schnittstelle aber man kann entweder mittels PHP die passenden Domino-URL's generieren oder über ein Addon das PHP direkt in Datenbanken schreiben lassen (via Notes-API läuft das dann) sofern das erwünscht ist.


    zum Shop: in meinen Webkursen für Fortgeschrittene wird ebenfalls ein Shop als Kursbeispiel programmiert. Dort verwenden wir JavaScript und Cookies für den Einkaufswagen und der Rest ist Notes (Formelsprache, Script) und HTML.

    Ich denke nicht daß die ACL ein Problem hat. Schließlich schrieb der Topicstarter, daß er neue Dokumente anlegen aber nicht speichern kann. Wärs die ACL ginge nichtmal das Anlegen.


    Vielleicht beim Kopieren von CD Schreibschutz gesetzt? Mal nachschauen ;=)
    Andere Möglichkeit: Lief der Server beim Einstellen der DB via Filesystem? Dann könnte es nämlich sein daß der Server die Datenbank während des Kopiervorganges erkannt hat und öffnen wollte, da das aufgrund des laufenden Kopiervorganges nicht ging hat er die DB vorsichtshalber read-only gesetzt. Neustart des Servers sollte dann reichen.


    Nebenbei bemerkt sollte man nie bei laufendem Server über das Filesystem des darunterliegenden Betriebssystems Datenbanken kopieren/verschieben. Ein Datenbankserver mag sowas nicht. Ist eben kein Fileserver ;=)

    kostenlose tools dazu kenne ich nicht. da das tool den anhang nicht nur scannen sondern auch analysieren und in abhängigkeit vom ergebnis etwas damit tun soll gehts m.E. nicht mit standard-virenscannern und, wie du schon erkannt hast, mit regeln auch nicht da die den inhalt nicht wirklich analysieren können. tools wie die group iq suite (watchdog modul) können sogar zipfiles erkennen die in worddokumente eingebettet wurden oder verschlüsselte files sperren. die iq suite ist allerdings nicht kostenlos.

    hab mal drübergeschaut...das script ist relativ simpel gestrickt und ignoriert z.b. kalendereinträge und einladungen bzw. antworten darauf wenn die benutzervorgaben keine kalenderdokumente in der alldocuments-ansicht festlegen.


    ebenfalls nicht geeignet für inotes-maildatenbanken da das gesamte adreßbuch des webmailusers weggelassen wird.


    und last but not least werden dokumente, die in mehreren ordner sind nur im ersten ordner in der ziel-db ankommen, die anderen ordner werden schlicht "vergessen".


    kein anspruch auf vollständigkeit, habs nur überflogen aber sicher trotzdem ein hilfreiches script für einfache transaktionen.

    Der Design-Prozeß übernimmt mit der Zeitplanänderung auch den Aktivierungsstatus des Agenten. Ist der im Template inaktiv dann ist er nach Design-Update auch in der DB inaktiv, unabhängig vom vorherigen Status.

    klingt für mich nach einer schlecht designten db. um bei hochbelasteten datenbanken die zeitgerechte aktualität und verfügbarkeit zu garantieren muß man manchmal etwas optimieren. der server scheint der meldung nach an seiner grenze zu arbeiten, man kann zwar durch tuning am server minimale besserung erzielen aber das eigentliche problem liegt in solchen fällen häufig an zu exzessiver formelnutzung in zu vielen ansichten. simples beispiel:


    - 1 DB mit 10.000 Dokumenten
    - 20 Ansichten in der DB (und das ist noch wenig...)
    - 50 Nutzer verwenden die DB regelmäßig
    - pro Ansicht 5 Spalten, nach jeder Spalte per Klick umsortierbar (machen Entwickler sehr sehr gerne...)
    - Ungelesen Markierungen in allen Ansichten


    Wenn sich jetzt auch nur 1 Dokument ändert (das angenommen in 10 der 20 Ansichten erscheint) dann müssen 10x(5*2+1)=110 Indizies, 50 Ungelesen-Tabellen und ggf. die Aktivitätsprotokolle aktualisiert werden. Wenn sich ständig Dokumente ändern wird das schnell zur Last...
    Im Beispiel wäre es z.B. sinnvoll in den Spalten auf das umsortieren zu verzichten und stattdessen noch 5-10 weitere Ansichten mit vorgegebenen Sortierungen anzulegen. Auch der Zeitpunkt der Aktualisierung muß nicht immer sofort sein (oder bei häufig genutzten Ansichten doch, dafür bei anderen nur bei Verwendung)


    Mit Design-Optimierung läßt sich meist mehr erreichen als mit Servertuning (unabhängig von Hardware oder sonstigen Tricks).

    da du den eintrag im ND6 forum gemacht hast geh ich davon aus daß es sich auch um diese version handelt. seit ND6 kann ein nutzer auch mit Editor-Rechten seinen oOo aktivieren (technisch gesehen aktiviert der adminp auf dem server dann den agenten mit den rechten des users [on-behalf-feature], dieses feature ist neu mit version 6 da bei älteren releases mindestens entwickler-rechte dazu benötigt wurden)


    so gesehen besteht keine notwendigkeit für admins die aktivierung vorzunehmen sondern nur im serverdokument diese form der aktivierung zuzulassen. schau dazu mal simpel in die admin-hilfe.

    wenn das problem überwiegend mit ganztätigen einträgen auftritt kontrolliert mal die zeitzonen bzw. sommerzeiteinstellungen (sowohl die von notes als auch von windows) auf den clients bzw. dem server der betroffenen personen.


    die busytime ist nur für die grafische darstellung bei einladungen und gruppenkalendern zuständig jedoch NICHT für konflikte im eigenen kalender.

    unter R4 ist die funktion des ooo wie folgt:


    - starte 1x täglich um 01:00 nachts (vorgabe, kann im agent-design im zeitplan geändert werden)
    - arbeite alle mails ab die seit dem letzten lauf (oder der aktivierung) hinzugekommen sind
    - ignoriere alle mails deren datum vor dem ersten tag der abwesenheit liegen
    - ignoriere alle mails von anderen ooo bzw. generell von agents erzeugte mails
    - ignoriere alle mails die sich der user selber geschickt hat
    - ignoriere alle mails von absendern die im ooo-profil als nicht zu beantworten angegeben wurden
    - ignoriere alle mails von absendern die bereits einmal eine ooo-nachricht seit dessen aktivierung bekommen haben (liste wird in separatem profildokument geführt und mit jeder aktivierung wieder gelöscht und neu begonnen)


    - beantworte alle mails deren kriterien [i]nicht zum ausschluß[/b] geführt haben und füge absender der liste im profildokument hinzu


    wenn ein agent scheinbar nicht funktioniert und tatsächlich gelaufen ist (nachlesbar z.b. im designer unter menüpunkt agent-protokoll) dann alle oben genannten punkte prüfen, meist hat man nur was übersehen und der agent arbeitet völlig korrekt.


    (falls ich in der liste noch was vergessen hab...R4 ist ne weile her;=)

    Ich möchte hinzufügen daß die erwähnte Variante mit konsistenter ACL und Datenbank-Script/Formel nicht 100%ig sicher ist da man mit etwas krimineller Energie bei unverschlüsselten Datenbanken die konsistente ACL aufheben und damit an alle Daten kommen kann.


    Richtig sicher läßt sich die Kopie/Replik leider nur mit der ab ND6 verfügbaren ACL-Option "Dokumente replizieren oder kopieren" verhindern. Davor galt der Grundsatz: Alle Daten die der User sehen darf kann er sich auch kopieren/drucken/exportieren.


    just for information ;=)

    Zitat

    Ist das ein Bug oder ein Feature


    Eindeutig ein Feature nämlich mit dem Hintersinn, daß ich mir alle Daten auf die ich Zugriff habe mir auch beliebig umsortieren, exportieren, drucken usw. kann. Und dazu eignen sich eben besonders Ansichten.


    Allerdings machen nur echte Poweruser davon Gebrauch... teilweise sind nichtmal Admins in der Lage sich simple Ansichten zu basteln ;=)

    Zur Frage ob es sich lohnt mehrere Mail.box Dateien anzulegen: JA (während der Mailzustellung wird die mail.box immer exclusiv(!!!) geöffnet, d.h. wenn z.b. mal ganz extrem ein User via 33.4er Modem eine 10MB große Mail verschickt gibts ne ganze Weile keinen anderen der Mails loswird ;) Daher seit Domino 5: Minimum 2 Mailboxen, mehr ist Ansichtssache, jenachdem wie viele User, wie viele schmalbandige Leitungen etc.)


    Wenn eine mail.box blockiert und nur durch Löschen den Router wieder in Gang bringt, warum benennt ihr sie nicht um? Dann könnte man wenigstens reinschauen und ggf. noch Mails retten. Der Router legt sich eh neue an wenn die alten umbenannt wurden.


    Wenn ein Hook die Mail bzw. den Router blockiert, mal schauen was der Hook aufgabentechnisch macht. Ich hatte schon mehrfach das Problem daß der vom Hook bediente Virenscanner ein Problem hatte und hing oder simpel das Temp-Verzeichnis voll war in dem der Hook temporär die Mail zum Scan ablegen wollte.

    Zitat

    Weißt Du wie das Feld heißt, in dem "EMPFANGEN:" bzw. "ZUGESTELLT" steht


    Es gibt kein Feld mit diesen Texten, vielmehr werden diese Texte von den entsprechenden Ordnern/Ansichten der Mail-DB angezeigt in Abhängigkeit vom Feldinhalt des FORM-Feldes (normale Mail="Memo", Zustellbestätigung=
    "Delivery Report" usw. einfach mal ins Design der Mail-DB oder ins Form-Feld der betreffenden Dokumente schauen)


    Daher ist es nicht möglich diese Dokumente mittels Regeln zu erkennen, da Regeln sich nur auf bestimmte vorgegebene Felder anwenden lassen.


    Allerdings gäbe es die Möglichkeit mit einem Agenten vom Typ "Vor Eingang neuer Mail" zu arbeiten, in diesem Agententyp, der nach den Regeln aber vor allen anderen Agententypen vom Router ausgeführt wird, kann man alle Felder abprüfen. Allerdings darf es je DB nur max. 1 Agenten dieses Typs geben und im Konfigurationsdokument des Servers darf dieser Agententyp nicht deaktiviert sein. Sollte dieser Agententyp in allen Mail-DB's verwendet werden ist mit einer erheblichen Verzögerung bei Massenmails zu rechnen, insofern ist er nur für besondere Aufgaben geeignet.

    Eine Ressource kann generell nur einfach gebucht werden, da sie nur 2 Zustände kennt: frei oder belegt. Die automatische Freigabe erfogt von der Router-Task, damit gibt es auch keine Möglichkeit irgendwelche Scripte anzupassen.


    Um das Problem zu lösen würde ich mehrere Varianten in Erwägung ziehen:


    - Cateringressource mehrfach anlegen;
    - in der Einladung z.B. im Betreff oder Liste der Eingeladenen das Schlüsselwort Catering eintragen lassen und in der Ressourcen-DB eine extra Ansicht anlegen in der alle Reservierungen mit diesem Schlüsselwort angezeigt werden;
    - eine Aktionsschaltfläche in der Ressourcen-DB mit der das Catering für jede Veranstaltung bestellt/abbestellt werden kann
    - ein Agent in der Ressourcen-DB der bei jeder Reservierung dem Einladenden eine Mail zukommen läßt in der er das Catering mit 1 Knopfdruck dazubestellen oder stornieren kann
    ...
    usw.


    Alternativ könnte man eine komplett eigene Ressourcenlösung programmieren oder ein fertiges Produkt einkaufen, was aber m.E. in keinem vernünftigen Verhältnis zum Nutzen (Catering) steht.

    Zitat

    Um zu verhindern, das User die nicht eine bestimmte Rolle besitzen, Dokumente ändern können...


    Vorab einige Bemerkungen zum Thema "vermeintliche Sicherheit" via Script in Datenbanken:


    Ich verstehe ja daß einige alles mit Script lösen wollen, nur hat diese "Programmierkrücke" im konkreten Fall etliche Fallen:


    - QueryModeChange der Maske läßt sich problemlos und sogar versehentlich vom User umgehen (Beispiel: man drücke in der View auf Edit oder mittels STRG-B beim deutschen Client anstelle das Dok erst zu öffnen und danach auf Bearbeiten zu gehen) in dem Falle wird nämlich nur das QueryOpen der Maske ausgeführt.
    - QueryOpen bzw alle anderen Maskenscripte werden NICHT ausgeführt wenn der Nutzer Agenten erzeugen darf und mit deren Hilfe Dokumente verändert (Erstellen Agent, Einfache Aktionen, Feld ändern)
    - Wenn der Nutzer Ansichten erzeugen darf (und das darf er eigentlich mit fast allen Zugriffsebenen) kann er eine Aktion in die Ansicht einsetzen die ebenfalls Felder nach Belieben ändern kann.


    Das waren nur einige Möglichkeiten, die mehr oder weniger jeder Nutzer mit zu vielen Rechten (und wohlgemerkt ohne Designer-Client) ausführen kann und darf. Das Standardrecht eines Users sollte den Level "Author" nie überschreiten wenn der Nutzer nicht ebenfalls alle Dokumente bearbeiten soll. Sobald ein Nutzer Editor oder höher eingestuft wurde kann er prinzipiell alles mit den Dokumenten anstellen, wenn er nur weiß wie. Und User sind in solchen Dingen erfinderisch... meist zwar eher versehentlich aber hinterher haben sie ja gar nichts gemacht ;=) Editorrecht ist das MAXIMAL MÖGLICHE Recht das es auf Dokumentebene überhaupt gibt! Alle weiteren Rechte beziehen sich nur noch auf Design und ACL! Hat der Nutzer nur Autorenrechte in der ACL braucht man obiges Script gar nicht...(Höchstens um eine komfortable Nachrichtenbox auf den Schirm zu zaubern daß dem Nutzer diese oder jene Rechte nicht zur Verfügung stehen und er sich doch bitte an Frau Müller von Abteilung XYZ wenden möchte)


    Ok, jetzt zum konkreten Problem
    a) Simpelste Lösung

    Man gebe dem User das Recht Author und der Maske im Feld "Wer darf mit dieser Maske erstellte Dokumente bearbeiten" trägt man die oben erwähnte Rolle "Setup" ein. Fertig. Keine weitere Programmierung erforderlich. Funktioniert einfach by Notes Design. Aufwand: ca. 2-3 Klicks


    b) Komfortable Lösung
    Statt der Maskeneigenschaft setzt man ein eigenes Feld vom Typ "Autorenfeld" (und erweiterte Eigenschaft: Auswahl mittels Adressdialog) in die Maske und ein zweites (verstecktes) Feld vom gleichen Typ mit dem vorgegebenen Wert "[Setup]". Man gebe wieder dem User das Recht Author in der ACL. Jetzt können alle mit der Rolle Setup das Dokument bearbeiten UND ZUSÄTZLICH können sie weitere Personen in das 2. Feld eintragen um für Ausnahmesituationen Personen ohne die Setup-Rolle auch die Bearbeitung zu ermöglichen. Fertig. Keine weitere Programmierung erforderlich. Funktioniert wieder einfach by Notes Design. Aufwand: ca. 10 Klicks mehr als Variante a.


    c) Umständliche (und unsichere) Lösung
    Man baut an 100 erdenklichen Stellen aufwändige Scripte ein und übersieht die 101. Stelle. Oder man fängt an die 100 Scripte wieder anzupassen weil die Rolle plötzlich nicht mehr Setup sondern Install heißt ;=) Aufwand: schwer zu schätzen, da sehr viele Events in ggf. mehreren Masken beachtet werden müssen und das Anlegen privater Ansichten kaum verhindert


    Es gibt mit Sicherheit mehr als genug Beispiel-Scripte, die die Gruppenzugehörigkeiten eines Users auslesen oder auflösen können. Aber was ist wenn bei der Rollenvergabe gar keine Gruppe benutzt wird? Wenn "-Default-" oder "*/Organisation/DE" verwendet wurde? Fehlanzeige...


    Wenn unbedingt programmiert werden MUSS: Es gibt auch in der Formelsprache 2 Funktionen @UserNamesList und @UserRoles die die Auflösung aller Namen und Gruppen beherrschen. Mit Hilfe der Scriptfunktion notesSession.Evaluate( formula$, doc ) könnte man die Formeln benutzen und das Ergebnis mit Script weiter verarbeiten. Möglichkeiten gibt es viele, nur die im Original-Post angesprochene Variante selber die komplette Gruppen- und Rollenzugehörigkeit mit allen Schreibweisen auflösen zu wollen ist mehr eine Arbeitsbeschaffungsmaßnahme als eine sinnvolle Tätigkeit wenn es Standardfunktionen gibt die das ganze komplett ohne Eigenprogrammierung zur Verfügung stellen können.


    Auch wenns mal wieder mehr war ... hope that helps ;=)

    Die Funktionsweise des Transactionlogs ist auf diversen Seiten und auch in der Admin-Help hinreichend beschrieben. Da einige Sachen mißverständlich und teilweise selbst in der Maske im Serverdokument falsch formuliert sind folgende Infos:


    (Hinweis: diese info gilt für R5, da der Topicverfasser das anscheinend einsetzt. bei ND6 siehts wieder anders aus!)


    Es gibt 2 Arten von TA:
    a) umlaufend
    b) archivierend


    für beide Arten gilt: dient der Performance-Steigerung bei Schreibvorgängen und erhöhten Datensicherheit bei Faultsituationen. 64MB-Blöcke (txn) werden geschrieben.


    zu a)
    max Limit 4 GB, gesamtes Log wird VOR der ersten Verwendung als Platzhalter angelegt (dauert ggf. etliche Minuten). Nutzung auch ohne spezielles Backup-Tool möglich wenn vor dem Umlauf gesichert wird. Umlauf heißt, das die bis zu 4 GB sequentiell geschrieben werden. Bei Erreichen des Limits beginnt der Schreibvorgang wieder beim 1. Block, wurde bis dahin nicht gesichert ist kein sicheres Restore im Crash-Fall mehr möglich.


    zu b)
    entgegen der landläufigen Meinung KEIN Limit von 4GB(!!!) sondern maximale Größe = Platz auf dem Laufwerk(!!!)
    Nutzung ausschließlich mit spezieller Backup-Software die die Domino-Backup-API unterstützt (es reicht nicht Open-File-Agents einzusetzen!) Bei dieser Variante werden sequentiell neue txn-Blöcke (ebenfalls 64MB) nach Bedarf geschrieben BIS DAS VOLUME (Laufwerk) VOLL IST oder das Backupprogramm dem Domino-Server das Signal gibt "Backup erfolgreich abgeschlossen" woraufhin Transaction-Manager (interner Prozeß, kein "Task") das gesamte Transaktionslog selbständig auf eine Mindestgröße zurechtkürzt. Setzt man diese Variante ein und achtet nicht auf die Größe sodaß das Laufwerk zuläuft droht Serverstillstand mit umfangreichen Datenverlusten da viel im Chache abläuft.


    Backupsoftware mit Transaktionslog-Unterstützung sind z.B. Tivoli, CA Brightstor ArcServe Domino Agent und weitere.

    das netzwerk ist nunmal im ip in zonen eingeteilt und die zone .local entspicht der jeweiligen maschine selbst und kann von anderen maschinen aus nicht aufgelöst werden da sie auf sich selber zeigen würden. du mußt den dominoserver einer zone zuordnen sowohl in den ip einstellungen auf dem server als auch im dns. dns ohne zonen kann nicht gehen.


    ohne zonen gehts m.e. nur mit host-tabelle und damit nicht mehr im dns.