Custom Extensions on Managed Chromebooks

388 views Asked by At

I am a developer looking for the best way to set up different schools with their own custom, private extensions (ie School A should be the only one with access to Extension A). Theoretically, I am aware that there are a few ways to get a custom, private extension pushed out on a domain:

  1. Host the .crx on a server and click "Specify a Custom App" in the management console.
  2. Create a Domain App by uploading a zip to the Chrome Web Store
  3. Upload the extension from my developer account to the Chrome Web Store and publish to a single "trusted tester," or make it unlisted

Option (1), hosting the .crx, has not been working. I am not sure why, but the extension is simply not pushing out. I link directly to the crx file, which has the right ID and MIME type, still, no dice. If anyone has any tips or suggestions for getting this to work, I would love to hear them!

Option (2), having the school create a domain app, seems a bit inefficient because it requires all schools to upload their own zip. So essentially I would have to email a zip file to the school, and have them publish it. All updates to the extension will also require a similar process, so this doesn't seem ideal.

I doubt that option (3) would work. If I published to the admin as a "trusted tester", I don't think that the other people in the domain would be able to access it. If it is unlisted, I do not know how an admin could find it in the Chrome Web Store dialog. Also, I would rather avoid security through obscurity.

Has anyone had success with hosting the extension and using the Specify a Custom App feature? Any other suggestions for getting a Custom Extension pushed out by the management console? Thanks so much!

1

There are 1 answers

0
James Altmann On BEST ANSWER

To get option (1) working from the management console, it is important to specify the correct extension id and a valid update xml url (not a crx).

One useful feature Google offers that you can use is getting the extension id and the version from the update request.

For instance, you can create a update.php file that outputs an xml file specific to each extension and version. See http://developer.chrome.com/extensions/autoupdate.html under "Advanced Usage".

For more info on packaging an app or extension for managed chromebooks, see https://support.google.com/chrome/a/answer/2714278?hl=en.