arbeiten mit einer policies.json

  • Firefox-Version
    Firefox 98.0
    Betriebssystem
    Windows10 x64

    In diesem Thread RE: Alten Downloaddialog wieder herstellen sind dazu schon einige Beiträge verfasst worden, die eigentlich mit dem Thema nicht in direkter Verbindung stehen. Es geht hier aber vorrangig um die handlers.json und die Einrichtung einer policies.json.

    Bisher habe ich manuell die handlers.json bearbeitet, damit war ich bisher auch zufrieden.


    Sören Hentzschel hat in einem Beitrag geschrieben:


    "Die handlers.json-Datei würde ich übrigens gar nicht anfassen. Das geht über Unternehmensrichtlinien besser, erstens weil Profil-übergreifend, zweitens weil man dafür keine interne Firefox-Datei aus dem Profil bearbeiten muss, was bei einem Syntax-Fehler die ganze Datei ungültig macht. Ist in der Unternehmensrichtline ein Syntax-Fehler, funktionieren wenigstens nur die neuen Anpassungen nicht."


    Weil ich das jetzt beherzigen will, so möchte ich mehr mit der policies.json arbeiten. I.M. taste ich mich noch durch die Dunkelheit, weil ich die Zusammenhänge noch nicht richtig deuten kann.

    Deshalb lade ich alle hier aktiven Experten dazu ein, hier ihr Wissen einzubringen. Eventuell hat doch noch ein User eine Antwort auf meinen letzten Beitrag in o.g. Thread.

    Es gibt ja hier https://github.com/mozilla/policy-templates#handlers Handlungsanweisungen, aber für einen Laien doch nicht so einfach zu interpretieren.

    Es wäre schön, wenn hier Beispiele (echte policies.json) gezeigt würden, für alle Möglichkeiten, die in der täglichen Arbeit auftreten, ohne die handlers.json zu berühren.

    Grüße vom FuchsFan

    Einmal editiert, zuletzt von FuchsFan ()

  • Ich glaube nicht, dass es Sinn macht, den Inhalt von github mitsamt den gegebenen Beispielen und nutzbaren Werten zu spiegeln, es steht auch direkt bei für welche Firefox-Version die entsprechende Regel unterstützt. Wenn, dann allenfalls konkrete Anwenderfragen mit Verweis auf die Doku dazu bei github. Sich eine JSON zusammenschrauben ist jetzt keine wilde Arbeit, schon gar nicht mit den gegebenen Beispielen. Die meisten werden wohl ihre Probleme mit der Auswahl der Sektion und viele sogar sich mit den Klammern und Kommata verhaspeln, siehe CSS. Dann sollte erwähnt sein, dass ein JSON für Windows anders aussieht als für macos.

    Hier sollte etwas stehen, aber ich befürchte, du könntest es nicht ertragen. Daher ist dein Einfallsreichtum gefragt, überrasche mich.

  • Dann entschuldige, dann habe ich die Beispiele dort nicht verstanden, zB

    GitHub - mozilla/policy-templates: Policy Templates for Firefox
    Policy Templates for Firefox. Contribute to mozilla/policy-templates development by creating an account on GitHub.
    github.com


    macos

    policies.json

    Code
    {
      "policies": {
        "FlashPlugin": {
          "Allow": ["http://example.org/"],
          "Block": ["http://example.edu/"],
          "Default": true | false,
          "Locked": true | false
        }
      }
    }

    Hier sollte etwas stehen, aber ich befürchte, du könntest es nicht ertragen. Daher ist dein Einfallsreichtum gefragt, überrasche mich.

  • Die Datei policies.json funktioniert plattformübergreifend unter Windows, macOS sowie Linux und sieht überall absolut identisch aus. Genauso wie du unter Windows anstelle der Datei policies.json auch GPO oder Intune nutzen kannst, kannst du Firefox unter macOS auch über eine .plist-Datei konfigurieren. Das ist ein anderer Mechanismus und hat mit JSON nichts zu tun.

  • Sich eine JSON zusammenschrauben ist jetzt keine wilde Arbeit, schon gar nicht mit den gegebenen Beispielen. Die meisten werden wohl ihre Probleme mit der Auswahl der Sektion und viele sogar sich mit den Klammern und Kommata verhaspeln,

    Darum geht es ja, Klammern, Kommata, verhaspeln. ;)

    Ich hatte ja die originale handlers.json gezeigt, dort fehlen im Gegensatz zu Deiner natürlich eine ganze Menge von Einträgen.

    In meiner policies.json sind schon für einige Dateien Einträge vorhanden. Jetzt geht es mir auch darum, muss ich für alle anderen Dateien (wie in Deiner *.json) Einträge vornehmen?

    Grüße vom FuchsFan

  • Nur du weißt, ob du das brauchst. Ich bräuchte es nicht.

    Ich wollte es deshalb wissen, weil ja in der originalen handlers.json die Dateien nicht eingetragen sind. Auch die RAR, ZIP nicht, und trotzdem wird mir der Dialog für die Auswahl angezeigt.

    Grüße vom FuchsFan

  • Wenn Firefox in den Einstellungen Optionen für einen Dateitypen anbietet, braucht's aus meiner Sicht keinen Eintrag bei den policies.


    Ach so, das Beispiel von mir ist für eine andere Software, nicht Firefox. Danke.

    dort fehlen im Gegensatz zu Deiner natürlich eine ganze Menge von Einträgen.

    Weil das Einträge sind, die ich seit Jahren mitnehme. Es besteht daher auch die Möglichkeit, dass es die inzwischen hier gar nicht mehr gibt, oder dass andere auch winrar benutzen. Oder FLV (war Flash). Warum Firefox das so nicht mehr erkennt, könnte daran liegen, dass Fiefox unbekannte Dateitypen inzwischen anders behandelt hat. Was ja auch Gegenstand des anderen Themas ist. Somit oprofitiere ich vn meiner Firefox-Vergangenheit, die andere von mir aus als Vorlage nutzen können und mit den Infos aus dem Link von dir ergänzen können.


    Wie man einen korrekten Code erkennt, kann zB unter Windows Notepad++ anzeigen, dazu muss es nicht mal formatiert sein - letzteres macht es aber extremst übersichtlich. Speravir jat dazu ja das JSON-Plugin genannt, was sowas kann. NPP nutze ich seit Jahren, es ist nicht perfekt, perfekt geht es nur mit einem speziellen JSON-Tool, dass genau den Syntax von Firefox hinterlegt bekommen hat, ähnlich wie Stylus für CSS.


    Also ohne Grundkenntnisse geht es schon mal gar nicht, das kann man nur immer wieder predigen, gerade das angesprochene mit Klammern und Kommata, das muss einfach sitzen. Und da ich das ebenfalls manchmal schlabbere, kontrolliere ich meine CSS mit Stylus, wo dann auch noch mehr angezeigt wird. Meine Tools laufen vor dem Compiler durch den Laufzeitinterpreter, der sagt mir dann auch, wo es hapert.


    Der Inhalt der policies, also das Ziel, ist dann die zweite Baustelle. Das kann man sich schon durch die Vorlagen praktisch zusammenkopieren. Wie haben die das geschrieben, warum ist genau dort eine Klammer, ein Komma. Und NPP zeigt an, w sich ein Komma öffnet und wo es sich schliesst. Mit entsprechendem Format und Einrückungen sind Klammerfehler sehr schnell zu entdecken. Je öfters man das macht, um so sicherer wird man. Das schreib ich aber seit Wochen und Monaten, dass man sich nicht mit Copy&Paste und is-mir-egal irgendwas zusammenschustern kann.


    Halb Acht, Abend fängt an :P

    Hier sollte etwas stehen, aber ich befürchte, du könntest es nicht ertragen. Daher ist dein Einfallsreichtum gefragt, überrasche mich.

  • Also ohne Grundkenntnisse geht es schon mal gar nicht, das kann man nur immer wieder predigen, gerade das angesprochene mit Klammern und Kommata, das muss einfach sitzen.

    Da hast Du vollkommen recht, oder man bemüht sich und lernt noch dazu. Nur ohne Unterstützung wird das nichts, aber dafür haben wir ja Dich und andere Experten hier.

    Halb Acht, Abend fängt an

    Dann wünsche ich Dir noch einen schönen Abend. :)

    Grüße vom FuchsFan

  • Guten Abend


    Weil es um das allgemeine Thema policies.json geht, eine kleine Anfrage meinerseits.

    Hier ist in der Datei folgender wirksamer Eintrag:

    Code
    {"_comment1": "Hintergrundfarbe im Browser auf weiß festlegen",
    "policies": {"Preferences": {"browser.theme.toolbar-theme": {"Value": 1,"Status": "locked"}}}}


    Wenn nun irgendeine weitere Policy danach hinzugefügt wird, z. B.


    Code
    {
      "policies": {
        "DisplayBookmarksToolbar": true
      }
    }

    hat das zur Folge, dass weder die alte, noch die neue Richtlinie greift.

    Was muss verändert werden, damit beide Einträge funktionieren?


    Grüße

    "Wir fahren diesen Planeten gerade an die Wand"
    Klimaforscher Hans Joachim Schellnhuber

  • Entweder "true", oder "false", aber nicht beides. Der | ist ein Trenner für die Optionen, ähnlich wie in der cmd Konsole.

    Hier sollte etwas stehen, aber ich befürchte, du könntest es nicht ertragen. Daher ist dein Einfallsreichtum gefragt, überrasche mich.

  • Du fügst den zweiten Block genau so unter den ersten Block ein? Das darf nicht sein. Dann würden ja zwei Objekte definiert werden, die nicht durch ein Komma voneinander getrennt sind. Das ergibt einen Syntax-Fehler und damit ist die gesamte Datei ungültig. Außerdem darf es nur ein einziges "policies"-Objekt geben. Und "true | false" ist auch kein gültiger Wert für DisplayBookmarksToolbar. Der Wert muss entweder "true" oder "false" sein.


    Wenn, dann muss es so aussehen:



    Ich sehe, was die Idee mit dem "_comment1" ist, aber das funktioniert in der Praxis nicht. Kommentare sind in JSON grundsätzlich nicht erlaubt und Pseudo-Schlüssel im Richtlinien-Objekt werden zu unbekannten Richtlinien und damit zu Fehlermeldungen führen.


    Der | ist ein Trenner für die Optionen, ähnlich wie in der cmd Konsole.


    Das stammt in dem Fall aus der Dokumentation und soll "oder" bedeuten. Aber eben als Hinweis für den Anwender, der sich entscheiden muss, das ist also nicht wie in der Konsole eine tatsächlich funktionierende Anweisung.