Leser/Autorenfelder ignorieren

  • Ich arbeite mit einer DB, welche mit Leser/Autorenfeldern arbeitet, d.h., dass einige Nutzer nur einen Teil der Datensätze in den Ansichten angezeigt bekommen. Ich brauch jetzt aber eine Ansicht mit allen Datensätzen, egal ob der Nutzer auf die Datensätze zugriff hat oder nicht (die Ansicht soll ja nicht angezeigt werden). Ist es also möglich eine Ansicht zu erstellen, welche Leser/Autorenfelder ignoriert oder zumindest aus einer anderen Ansicht alle Datensätze auszulesen?

    • Offizieller Beitrag

    Nein.


    Autorenfelder kannst Du umgehen, indem Du Dir mind. Editorrechte auf die DB besorgst. Die Autorenfelder sind für die Darstellung in einer Ansicht uninteressant.


    Wenn Ihr mit Rollen oder Gruppen in den Leserfeldern arbeitet, dann kannst Du Dich in die Gruppen eintragen oder Dir die Rollen zuweisen. Sind nur Namen in den Leserfeldern drin, dann hast Du schlechte Karten.


    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

  • Lesernamen kann mann als ANWENDER nicht umgehen.


    ABER


    Als entwickler kann mann zusätzliche AUTORENnamenfelder in ein dokument erstellen, die haben den vorteil eines lesernamen feld, aber nicht den NACHTEIL eine lesernamenfeld.
    Vorteil: Leseberechtigung alle benannte personen/gruppen die im autorenfeld stehen
    Nachteil: EIN gefülltes lesernamen feld behindet das lesen des gesamten Dokuments.


    Also wenn deine applikation in jedes dokument ein zusätzliches feld "Rettung" vom typ Autor erstellt und hier drin eine inhalt "[Admin]" (sprich rolle) erstellt, dann wäre es sehr einfach einen ansicht zu erstellen, welches für alle user ALLE dokumente darstellen würde, aber nur für den besitzer der rolle [Admin] auch tatsächlich alle dokumente darstellt.

  • Soll ich dann allen Usern die Rolle "[Admin]" geben? Wenn ja würden aber auch alle anderen Ansichten bei allen Usern, egal welche Rolen sie sonst haben, alle Datensätze anzeigen, oder?


    Wenn ich keinem User die Rolle "[Admin]" gebe wird in meiner versteckten Ansicht, in der alle Datensätze angezeigt werden sollen, auch nichts angezeigt.


    Oder hab ich da was falsch verstanden???

    • Offizieller Beitrag

    genau so ist es.


    Entweder überall anzeigen oder nirgends anzeigen.


    Gruß
    Dirk

  • Also zurück zum anfang.. Warum möchtest du einen ansicht haben mit alle dokumente ?
    Für 1) ALLE users, oder 2) für einen ausgewähltes publikum ?
    Wenn 1) dann kann ich dir sagen das es NICHT geht.. Ein user kann nur das sehen was er/sie/es sehen darf, nie mehr (daas wäre ja den hammer)
    wenn 2) dann sollte diese gruppe den rolle zugewiesen bekommen, aber denk dran das die dann IMMER alle dokumente sehen können, und nicht nur in diesen ansicht.


    Wenn es sich 3) um einen aktion die vom server AM Server (periodische agent oder einen anderenhintergrund agent) handelt, dann kannst du auch den SERVER diese rolle geben, und ihm damit zugriff zu geben. Wenn es sich um einen mehr server installtion handelt müssen die server eh schon in einen autorenfeld drin stehen, sonnst klappt die replikation ja nicht mehr.

  • Ich brauch eine Liste aller Werte von einer Spalte dieser Ansicht. Die wird in einem Feld der Eingabemaske für eine andere Ansicht benötigt.
    Beispiel: Es gibt eine Ansicht "Firmen" und "Personen" und dazugehörige Masken. Darin werden Leser/Autorenfelder verwendet. Wenn man jetzt eine neue Person anlegt, soll man über ein Feld, welches alle Firmen aus "Firmen" ausliest, auswählen können, für welche Firma die Person arbeitet. Man soll aber unter allen Firmen wählen können, nicht nur unter denen, auf die man Zugriff hat. Und das wollte ich über eine Ansicht realisieren, in der alle Firmen drinstehen, welche aber für den User verborgen ist.

  • Also da sehe ich prinzipiell zwei Möglichkeiten:


    Entweder du schreibst die Auswahllisten in ein zusätzliches Dokument mit, auf das jeder Zugriff hat (z.B. Profildokument) und fügst neue Werte an, wenn der User ein Dokument mit einem neuen Wert speichert


    oder


    Du lässt einen periodischen Agenten, der Zugriff auf alle Dokumente hat (siehe Erläuterungen zur Rolle in einem zusätzlichen Leserfeld), diese Liste aktualisieren.

  • Dann erstelle einen ansicht mit den Firmenname als KATEGORIE, und sorg dafür das kategorien mit 0 dokument angezeigt werden. Damit kannst du mittels DBColumn auf dieses zugreifen, und ALLE firmen einlesen, ohne tatsächlich zugriff auf den dokumente zu haben.

    • Offizieller Beitrag

    erstelle Dir doch eine Maske, die nur ein Feld (den Firmennamen) hat.
    Beim Speichern eines Dokumentes suchst Du in der Ansicht nach den Firmennamen und wenn Du diesen nicht findest, dann erstellst Du ein neues Dokument, welchen die neue Firma enthält. Dieses Dokument hat keine Leserfelder und kann von allen eingesehen werden.


    ODER


    Du erstellst Dir ein KonfigurationsDokument mitt allen Firmennamen, dann ist es allerdings nicht dynamisch.


    Gruß
    Dirk

    • Offizieller Beitrag

    Ronkas Vorschlag ist der bessere und viel zu einfach umzusetzen :-).


    Gruß
    Dirk

  • Ich hab's mal mit Ronka's Methode probiert und es funktioniert wunderbar.
    THX!


    Allerdings gib es noch ein anderes Problem: es gibt auch noch Antwortdokumente von "Firmen" und die werden nicht mit angezeigt. Gibt es da vielleicht noch ne Möglichkeit?

    • Offizieller Beitrag

    ja, Du musst in den Ansichtseigenschaften die Eigenschaft "Antwortdokumente hierarchisch anzeigen" deaktivieren.


    Eventuell musst Du die Ansichtsauswahlformel noch anpassen und in der Ansicht ein anders Feld anzeigen, falls sich die Informationen in den Antwortdokumenten in einem anderen Feld befinden.


    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