Projekthilfe

  • Moin
    Ich programmiere noch nicht sehr lange in Notes nur stoße ich immer mehr auf Probleme sodass mir die Lotus Hilfe nicht mehr weiterhelfen kann!


    also mein Projekt ist ich baue ein Info-Board das angezeigt wird über mehrere Clients und naja nun muss ich das irgenwie hinbekommen ein Profildokument zu schreiben und da liegt mein Problem!


    ich habe ein Profildokument versteckt erstellt!
    dann habe ich folgenden Quellcode eingefügt:
    SELECT LNAK = "Aktiviert" & (@GetProfileField("(ProfilDokument)";"gruen";@UserName) = gruen | @IsMember(@UserName;Autorenfeld) | @IsMember(@GetProfileField("(ProfilDokument)";"Rollen";@UserName);Editor))


    somit will ich das ja auslesen oder?
    und nun noch der andere zum schreiben:
    @SetProfileField("(ProfilDokument)";"gruen";gruen;@UserName);
    @SetProfileField("(ProfilDokument)";"Rollen";@UserRoles;@UserName);
    @GetProfileField("(ProfilDokument)";"gruen";@UserName);
    @GetProfileField("(ProfilDokument)";"Rollen";@UserName);
    @Prompt([OK];"gruen";@GetProfileField("(ProfilDokument)";"gruen";@UserName));
    @Prompt([OK];"Rollen";@GetProfileField("(ProfilDokument)";"Rollen";@UserName))


    einiges musste ich aus Datentechnischen Gründen umbenennen in gruen da steht sonst nur die Bezeichung des Feldes!
    wäre nett wenn mir jemand helfen kann weiter Infos kann ich
    gerne geben wenn noch mehr Quelltext benötigt wird!


    Zum Hintergrund meines Projektes:
    Ich versuche ein Info-Board zu gestallten das am ende über ein Terminal angezeigt wird in form einer Web-Ansicht.
    Die Benutzer haben verschiedene Rechte:
    Der Abteilungsleiter soll alles dürfen also Lesen Erstellen und auch Ändern aber nur in seinem Gebäude bzw seiner Abteilung oder auch die die er in einem anderem Gebäude gemacht hat soll er dann als normaler Mitarbeiter nur ändern oder lesen dürfen nicht alle Einträger des Gebäudes oder der Abteilung von dort sehen!
    Der Mitarbeiter soll nur seine Eigenen ändern dürfen und lesen nur die für sein Gebäude bzw seine Abteilung oder die die er in einem anderen Gebäude erstellt hat!
    im ganzen ein wenig kompliziert aber von Vorteil so kann ich ausschließen das jemand falsche Einträge erstellt bzw löscht.
    Alle sollen im ganzen getäuscht werden über eine Schaltfläche "Löschen" indem sie die Einträge nur Deaktivieren um das ich als Admin nachvollziehen kann wer was gelöscht hat!(eine Art Logdatei für mich)
    Die Ansichten hierzu sowie die Einzelnen Dokumentschablonen(Masken) habe ich bereits erstellt jedoch scheitere ich nun bei der Rechtevergabe da Notes mir kein Korrektes Profildokument anlegt wie oben schon mal beschrieben.
    das Kuriose ist das es einmal klappt und dann auch wieder nicht soll heißen wenn ich alles schließe bleiben Rechte und Rollen(Abteilungsleiter) vorhanden egal ob ich sie ändere im Zugriff auf die Datenbank oder nicht!
    In den Originalprofilen ist alles vorhanden was ich benötige darüber habe ich mich vorher Informiert und auch überzeugt. daran kanns also nicht liegen jedoch weiß ich nicht wie Notes auf die Profildokumente zugreift also normalerweiße wird es immer neu geschrieben beim öffnen von der Ansicht.
    also bitte hier um hilfe und sollte ich ein wenig umständlich erklären was ich möchte bitte ich um verständnis da ich an der Sache schon sehr lange sitze und langsam nicht mehr kann!


    Sollten Fragen sein egal wie so kann ich sie gerne noch beantworten jedoch muss ich nochmals darauf hinweißen ich werde einiges etwas abändern müssen wegen dem Datenschutz in meiner Firma!


    danke schon mal im voraus
    LG Googlesucher

    • Offizieller Beitrag

    zu @GetProfileField:

    Zitat

    Diese Funktion kann nicht in Spalten-, Verbergen-wenn-, Abschnittseditor- oder Ansichtsauswahlformeln verwendet werden. Sie können sie in Symbolleistenschaltflächen oder Agenten verwendet werden.


    @UserName in einer Ansichts- oder Spaltenformel ist auch keine gute Idee, weil der Ansichtsindex gecacht wird.


    Die Farben sollen für jeden User unterschiedlich sein?


    Schau Dir mal in der Hilfe den Eintrag "Benutzern ermöglichen, Farben in einer Ansicht festzulegen" an, dort wird beschrieben, wie die Ansichtsfarben über ein Profil-Dokument konfigurierbar gemacht werden können.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • Zitat

    Die Farben sollen für jeden User unterschiedlich sein?


    Schau Dir mal in der Hilfe den Eintrag "Benutzern ermöglichen, Farben in einer Ansicht festzulegen" an, dort wird beschrieben, wie die Ansichtsfarben über ein Profil-Dokument konfigurierbar gemacht werden können.


    es sollen keine Farben angezeigt werden das ist einfach nur die Textfelder die ich umbenannt habe zwecks dem datenschutz also die einträge sollen mit den Befehl @SetProfilField gesetzt werden und der Rest mit dem @GetProfilField ist nur für mich beim test genauso wie der Promt damit ich es auslesen kann!


    das verschwindet noch sobald es funktioniert!


    dann steht nur noch da das mit den @SetProfilField


    das gruen meine ich damit ist nur wegen dem Datenschutz so eingefügt also sind sonst keine Formel da!
    verweiße nur auf das Feld im Profildokument!


    Der Username wird in dem Profildokument geschrieben mit dem Gebäude also sieht dann so aus:
    Feld[Profilname]
    Feld[Gebäuderolle]


    Gebäuderolle ist dann das jeweilige Gebäude wo einer (GebäudeLeiter) spezielle Rechte bekommt also an nem beispiel:
    Feld[Profilname] = Username/Server
    Feld[Gebäuderolle] = Rolle (Benannt als "Editor_"+ Nr. des Gebäudes)
    je nachdem wieviele Gebäude Ihm zugehörig sind wird es da aufgelistet.

    Zitat

    SELECT LNAK = "Aktiviert" & (@GetProfileField("(ProfilDokument)";"gruen";@UserName) = gruen | @IsMember(@UserName;Autorenfeld) | @IsMember(@GetProfileField("(ProfilDokument)";"Rollen";@UserName);Editor))


    nach dem was du sagst ist es besser hier @IsMember zu verwenden oder?


    damit es hier nicht auch noch zu einem Verstoß kommt ich habe in dem Forum hier auch noch einen Post zu dem Problem und damit es besser geht wegen den einzelnen Lösungen hier der Link:
    [url=http://atnotes.de/index.php/topic,44229.0.html]atnotes forum[/url]

  • Hallo
    da ich nochmal!
    also ich habe mich nun für folgendes entschieden ich werde mehr als eine Ansicht machen und diese dann wie folgt aufgliedern: eine wo der Ersteller seine eigenen Einträge sieht, eine wo er die von seinem Gebäude sieht und dann vllt noch eine dritte wo er dann Alle sieht bzw die die auf dem Client (der Web-Ansicht) sichtbar sind.
    wäre dennnoch froh wenn mir jemand noch nen Tipp gibt wie ich die rollen auslesen kann und dann vllt noch verwenden kann ansonsten muss ich eben auf diese verzichten.
    das ganze sollte am besten im hintergrund geschehen je nachdem ob es geht wenn man eine Ansicht öffnet das LoNo dann das Profildokument schreibt und ich es dann später (nicht in einer Ansicht aber) für Dokumente die ich in anderen Masken erstelle verwenden kann.
    LG Googlesucher