Centralized configuration of settings for a Google Chrome Extension?












0














We'd like to develop a Google Chrome extension that is managed centrally, e.g. by MS Active Directory Group Policies.



How do we centrally distribute domain/customer specific configuration for such an extension?



Our users are mostly Windows users in the same domain, but we can not assume that they're logged in to any particular G-Suite organisation.



It does seem possible to create Active Directory Group Policies to install a particular extension for all users. That same article does however say:




Unfortunately I was not able to come up with a solution concerning the centralized management of Chrome extension settings. Some extensions, for example The Great Suspender, come with additional options for the user to configure. As said, I was not able to find a way how to manage or configure these centrally.




So now that the extension is installed, how do we configure it?



Since it is our own extension, there is more freedom. I'm thinking with a Group Policy, one could install C:someextension-file.json and then run



google-chrome --headless file:///some/extension-file.json


If the extension intercepts that (as e.g. ViolentMonkey does) but only if it is a file:// URL, I guess that could be brought to work. But I'm hoping: Can you come up with something more elegant?










share|improve this question






















  • An extension must use chrome.storage.managed for this to work. Most extensions don't.
    – wOxxOm
    Nov 12 '18 at 4:46










  • @wOxxOm: If you'd turn that into an answer, I'd accept it! Since it is our own extension, we could make sure it uses chrome.storage.managed.
    – Peter V. Mørch
    Nov 12 '18 at 4:50










  • I think it'd be better if you add an answer yourself with more details when you're done, as this is a somewhat complicated task.
    – wOxxOm
    Nov 12 '18 at 5:01
















0














We'd like to develop a Google Chrome extension that is managed centrally, e.g. by MS Active Directory Group Policies.



How do we centrally distribute domain/customer specific configuration for such an extension?



Our users are mostly Windows users in the same domain, but we can not assume that they're logged in to any particular G-Suite organisation.



It does seem possible to create Active Directory Group Policies to install a particular extension for all users. That same article does however say:




Unfortunately I was not able to come up with a solution concerning the centralized management of Chrome extension settings. Some extensions, for example The Great Suspender, come with additional options for the user to configure. As said, I was not able to find a way how to manage or configure these centrally.




So now that the extension is installed, how do we configure it?



Since it is our own extension, there is more freedom. I'm thinking with a Group Policy, one could install C:someextension-file.json and then run



google-chrome --headless file:///some/extension-file.json


If the extension intercepts that (as e.g. ViolentMonkey does) but only if it is a file:// URL, I guess that could be brought to work. But I'm hoping: Can you come up with something more elegant?










share|improve this question






















  • An extension must use chrome.storage.managed for this to work. Most extensions don't.
    – wOxxOm
    Nov 12 '18 at 4:46










  • @wOxxOm: If you'd turn that into an answer, I'd accept it! Since it is our own extension, we could make sure it uses chrome.storage.managed.
    – Peter V. Mørch
    Nov 12 '18 at 4:50










  • I think it'd be better if you add an answer yourself with more details when you're done, as this is a somewhat complicated task.
    – wOxxOm
    Nov 12 '18 at 5:01














0












0








0







We'd like to develop a Google Chrome extension that is managed centrally, e.g. by MS Active Directory Group Policies.



How do we centrally distribute domain/customer specific configuration for such an extension?



Our users are mostly Windows users in the same domain, but we can not assume that they're logged in to any particular G-Suite organisation.



It does seem possible to create Active Directory Group Policies to install a particular extension for all users. That same article does however say:




Unfortunately I was not able to come up with a solution concerning the centralized management of Chrome extension settings. Some extensions, for example The Great Suspender, come with additional options for the user to configure. As said, I was not able to find a way how to manage or configure these centrally.




So now that the extension is installed, how do we configure it?



Since it is our own extension, there is more freedom. I'm thinking with a Group Policy, one could install C:someextension-file.json and then run



google-chrome --headless file:///some/extension-file.json


If the extension intercepts that (as e.g. ViolentMonkey does) but only if it is a file:// URL, I guess that could be brought to work. But I'm hoping: Can you come up with something more elegant?










share|improve this question













We'd like to develop a Google Chrome extension that is managed centrally, e.g. by MS Active Directory Group Policies.



How do we centrally distribute domain/customer specific configuration for such an extension?



Our users are mostly Windows users in the same domain, but we can not assume that they're logged in to any particular G-Suite organisation.



It does seem possible to create Active Directory Group Policies to install a particular extension for all users. That same article does however say:




Unfortunately I was not able to come up with a solution concerning the centralized management of Chrome extension settings. Some extensions, for example The Great Suspender, come with additional options for the user to configure. As said, I was not able to find a way how to manage or configure these centrally.




So now that the extension is installed, how do we configure it?



Since it is our own extension, there is more freedom. I'm thinking with a Group Policy, one could install C:someextension-file.json and then run



google-chrome --headless file:///some/extension-file.json


If the extension intercepts that (as e.g. ViolentMonkey does) but only if it is a file:// URL, I guess that could be brought to work. But I'm hoping: Can you come up with something more elegant?







google-chrome-extension group-policy






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 12 '18 at 4:45









Peter V. Mørch

4,84013150




4,84013150












  • An extension must use chrome.storage.managed for this to work. Most extensions don't.
    – wOxxOm
    Nov 12 '18 at 4:46










  • @wOxxOm: If you'd turn that into an answer, I'd accept it! Since it is our own extension, we could make sure it uses chrome.storage.managed.
    – Peter V. Mørch
    Nov 12 '18 at 4:50










  • I think it'd be better if you add an answer yourself with more details when you're done, as this is a somewhat complicated task.
    – wOxxOm
    Nov 12 '18 at 5:01


















  • An extension must use chrome.storage.managed for this to work. Most extensions don't.
    – wOxxOm
    Nov 12 '18 at 4:46










  • @wOxxOm: If you'd turn that into an answer, I'd accept it! Since it is our own extension, we could make sure it uses chrome.storage.managed.
    – Peter V. Mørch
    Nov 12 '18 at 4:50










  • I think it'd be better if you add an answer yourself with more details when you're done, as this is a somewhat complicated task.
    – wOxxOm
    Nov 12 '18 at 5:01
















An extension must use chrome.storage.managed for this to work. Most extensions don't.
– wOxxOm
Nov 12 '18 at 4:46




An extension must use chrome.storage.managed for this to work. Most extensions don't.
– wOxxOm
Nov 12 '18 at 4:46












@wOxxOm: If you'd turn that into an answer, I'd accept it! Since it is our own extension, we could make sure it uses chrome.storage.managed.
– Peter V. Mørch
Nov 12 '18 at 4:50




@wOxxOm: If you'd turn that into an answer, I'd accept it! Since it is our own extension, we could make sure it uses chrome.storage.managed.
– Peter V. Mørch
Nov 12 '18 at 4:50












I think it'd be better if you add an answer yourself with more details when you're done, as this is a somewhat complicated task.
– wOxxOm
Nov 12 '18 at 5:01




I think it'd be better if you add an answer yourself with more details when you're done, as this is a somewhat complicated task.
– wOxxOm
Nov 12 '18 at 5:01












1 Answer
1






active

oldest

votes


















0















How do we centrally distribute domain/customer specific configuration for such an extension?




chrome.storage.managed is the specific answer for that need. Quoting the docs:




Enterprise policies configured by the administrator for the extension can be read (using storage.managed with a schema).




With that in mind, you have to do the following:




  1. Provide a schema for the storage via the storage.managed_schema key in the manifest. An example is given in the documentation.


  2. Present values expected by the schema via GPO / registry as described in admin docs.



You can verify that the policy-mandated values are loaded by observing chrome://policy.



You can then use chrome.storage.managed as you would any other chrome.storage (though it is read-only), including watching for changes with onChanged.






share|improve this answer





















    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53256084%2fcentralized-configuration-of-settings-for-a-google-chrome-extension%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0















    How do we centrally distribute domain/customer specific configuration for such an extension?




    chrome.storage.managed is the specific answer for that need. Quoting the docs:




    Enterprise policies configured by the administrator for the extension can be read (using storage.managed with a schema).




    With that in mind, you have to do the following:




    1. Provide a schema for the storage via the storage.managed_schema key in the manifest. An example is given in the documentation.


    2. Present values expected by the schema via GPO / registry as described in admin docs.



    You can verify that the policy-mandated values are loaded by observing chrome://policy.



    You can then use chrome.storage.managed as you would any other chrome.storage (though it is read-only), including watching for changes with onChanged.






    share|improve this answer


























      0















      How do we centrally distribute domain/customer specific configuration for such an extension?




      chrome.storage.managed is the specific answer for that need. Quoting the docs:




      Enterprise policies configured by the administrator for the extension can be read (using storage.managed with a schema).




      With that in mind, you have to do the following:




      1. Provide a schema for the storage via the storage.managed_schema key in the manifest. An example is given in the documentation.


      2. Present values expected by the schema via GPO / registry as described in admin docs.



      You can verify that the policy-mandated values are loaded by observing chrome://policy.



      You can then use chrome.storage.managed as you would any other chrome.storage (though it is read-only), including watching for changes with onChanged.






      share|improve this answer
























        0












        0








        0







        How do we centrally distribute domain/customer specific configuration for such an extension?




        chrome.storage.managed is the specific answer for that need. Quoting the docs:




        Enterprise policies configured by the administrator for the extension can be read (using storage.managed with a schema).




        With that in mind, you have to do the following:




        1. Provide a schema for the storage via the storage.managed_schema key in the manifest. An example is given in the documentation.


        2. Present values expected by the schema via GPO / registry as described in admin docs.



        You can verify that the policy-mandated values are loaded by observing chrome://policy.



        You can then use chrome.storage.managed as you would any other chrome.storage (though it is read-only), including watching for changes with onChanged.






        share|improve this answer













        How do we centrally distribute domain/customer specific configuration for such an extension?




        chrome.storage.managed is the specific answer for that need. Quoting the docs:




        Enterprise policies configured by the administrator for the extension can be read (using storage.managed with a schema).




        With that in mind, you have to do the following:




        1. Provide a schema for the storage via the storage.managed_schema key in the manifest. An example is given in the documentation.


        2. Present values expected by the schema via GPO / registry as described in admin docs.



        You can verify that the policy-mandated values are loaded by observing chrome://policy.



        You can then use chrome.storage.managed as you would any other chrome.storage (though it is read-only), including watching for changes with onChanged.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 14 '18 at 15:40









        Xan

        53.3k10102129




        53.3k10102129






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53256084%2fcentralized-configuration-of-settings-for-a-google-chrome-extension%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            這個網誌中的熱門文章

            Xamarin.form Move up view when keyboard appear

            Post-Redirect-Get with Spring WebFlux and Thymeleaf

            Anylogic : not able to use stopDelay()