Custom Extensions on Managed Chromebooks - google-apps

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:
Host the .crx on a server and click "Specify a Custom App" in the management console.
Create a Domain App by uploading a zip to the Chrome Web Store
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!

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.

Related

What is the package name for Microsoft office word?

I'm trying to make an app that allows the user to put in information and then transfer the information over to Microsoft word to automatically organize it into an invoice. However, I cannot find the information about the Microsoft word app in order to do this. This website http://beta.appinventor.mit.edu/learn/reference/other/activitystarter.html states that you require the package name and class name, or the appropriate intent, in order to work an activity starter.
I'm using MIT App Inventor and I'm kind of new at this. Please help.
If you can't find the package/class name (online) for the application, you can't start an activity. Most likely that it is not open source, so it is not available for the public.
From http://ai2.appinventor.mit.edu/reference/other/activitystarter.html:
These can be App Inventor apps created by you or others. They can
also be apps like Camera and Maps that are pre-installed on the
device. Or they be any app at all as long as you have the
necessary information to provide to the activity starter.
For example:
To start an acitivity for the camera use the package android.hardware.camera2. (https://developer.android.com/reference/android/hardware/camera2/package-summary.html)
I don't know if you want to consider it, but you can also use FusionTables. The information you submit in your app will be inserted into a table in your Google Drive. (http://appinventor.mit.edu/explore/ai2/pizzaparty.html)

add functionality layer to AtTask by plug-in on Internet Explorer

I would like to add functionality to the AtTask system by "adding a layer".
What I want to know is whether this can be achieved with a plug-in for Internet Explorer.
To give a concrete example:
This extra layer would allow users to click on "Online Edit" document (which is not available right now). The linked application will open, and when you click save, the file is loaded back to AtTask.
All this happens in the background via the AtTask API, and is transparent to the user.
The question is: is it possible to add functionality to a site by somehow adding layers?
Last comment: this plug-in (or whatever needs to be installed inbto the browser) will only be visible/active when accesing the AtTask website.
Thanks in advance for your responses.
Within the confines of AtTask your best bet is to use an "External Page" create a service that handles the data in the manner you need.
The Dashboard that contains your External Page can be added as a tab via Layout Templates.
Most of the heavy lifting would have to be handled by your application. You would have to link the document(s) you wish to edit.
Some sort of referrer would be necessary to place the revised document back into AtTask. The method in which the client can do this would be determined by your preference and requirements. I am sure you can find some sort of Wiz-Bang jQuery uploader.
Depending on the level of control you have with your user base, you could make an Application URL
Windows : Registering an Application to a URI Scheme
OS X : Launching Scripts from Webpage Links
I do not know of any other way to handle this other than what Steve suggested.
Having said that a possible solution to this is to create a new application and iframe in AtTask.
At the top or wherever on the page your application could have a link for "Online Edit". Then you would use javascript to extract the task id, project id or any other needed information you need for the api to get the needed content to edit. Then save using the same api information.
I have not tried this type of method but theoretically it could work.

block gadgets in google apps for education

One of the schools I support want to start teaching basic web design to their students, and would like to use google sites to do so. We need to be able to block google gadgets from the sites so that there is no risk of inappropriate content being shown to the students. Previously this could be done with domain gadget directory manager but from what I understand this stopped working when https got switched on for everything. All the places I have looked predate the https change and no longer seem to work. Does anyone have any ideas?
There is an utility called google feedserver
PrivateGadgetAdministratorsGuide
describes how to tweak http/https:
What you can do is to copy the body of XML and change http:// links to
.js files to https:// and then host this file somewhere.

Platform for User Created Content

I'm working on a new project where I'd like users to be able to add content. The site is a project collaboration site where users can, sign up and create a profile, post a project idea (give it a name, some details and upload a couple of pictures, etc.), and hit a create button. The project would then be featured as a thumbnail on a Projects page where others could comment on the project and review the submitted idea.
Would a CMS be suitable for an application such as this? The user content would be added on the front end, so users wouldn't necessarily be able to access the control panel to add content so I'm not sure if a CMS would work or not.
I was taking a look at PyroCMS as I have some familiarity with PHP and CI but I don't know if this would fit the bill.
Any thoughts? Thank you!
This is absolutely doable with Pyro CMS Pro or by adding on the Streams extension. That would allow you to create the front-facing pages without any programming. You can create any number of custom fields to allow this.

OwnCloud enhance core features with App (eg. user registration)

I started looking into OwnCloud app development to add some capabilities I would like to my server. To me it seems like Apps can't modify anything like the Login page or User Management page. Is this the case?
I want to build a user registration app and would love to integrate it into the user management page (if not and it has to exist as its own app page not a big deal). The one big problem I see so far is not being able to add a "Register" link to the login page. I could just go in and add it to the source manually, but I would like to keep the App self contained so others can use it too.
If this is not possible to do in an App I may just need to modify the core application and then see if they will accept my feature addition in a pull request.
Thanks to anyone who can shed some light on this for me. I don't want to waste my time trying to figure out how to do it with an App on the platform if it wont be doable.
After a lot of digging around I did figure out a way to do this.
In the App's app.php file, you can force a script to be loaded if the plugin is enabled:
$api->addScript('script_name'); // without .js
In that script jQuery can be used to add the elements to the page where you need them.
This was a good solution for me since I only needed to add a single button to the login page. I can see this being a bad idea if you want to make vast modifications. At that point you might as well just create a separate page that you have full control over.