Visibility versus Authentication and Authorization: Service On/Off

You may have already noticed, but the controls to enable and disable individual apps in Google Apps are now all in one place on the domain Control Panel under Organization & users > Services.

Domain administrators were already able to use this tab to enable and disable the Core Google Apps suite. Now they can do the same for apps they’ve acquired from the Google Apps Marketplace. This replaces the old link labeled “Disable {app name}” in the Dashboard > {app name} > “App status” page.

App and Gadget Visibilty

This on/off switch controls app and gadget visibility. Users in suborganizations where a Marketplace App is ON will see that app in the universal navigation bar under “More”, and will see the app’s contextual gadgets in Gmail. Users where the App is OFF will not see these links or gadgets.

Your customers still configure all apps through the Dashboard tab, but now the Control Panel Services tab unifies how they enable and disable every app.

New Scoping by Suborganization

The unified controls also share an important new scoping capability: now a domain administrator can select a suborganization and control which Marketplace Apps are visible to that organizational unit, just like the Core Google Apps suite!

In the example below, the administrator has overridden the domain settings for four Marketplace Apps to make three new tools visible to just the “Engineering” suborganization and to hide one application.

Visibility versus Authentication and Authorization

As developers, you should note that for any valid Google Apps domain user who goes directly to your website, OpenID/Single Sign On will always authenticate them if their domain has OpenID enabled. This includes users who are in suborganizations where your app is OFF. That means this visibility toggle feature is not a substitute for checking that the users accessing your app have a valid license.

Similarly, the on/off switch does not affect the OAuth scopes your app has been granted when the domain admin installed your app — the admin only revokes those by explicitly revoking data access or by deleting your app. The control panel on/off switch is just a way for a domain administrator to control the visibility of apps and gadgets that would otherwise be site-wide.

Bing Maps V7 Modules

The Bing Maps 7.0 Control was released last fall and is a complete rebuild from the ground up when compared to previous versions of Bing Maps. We have seen huge improvements in API performance and the size of the control. One feature of the map control is that it uses a modular framework, which allows you to register and load modular blocks of code as they are needed. This means that you are able to load in features only when they are essential, which results in faster loading speeds. Not only does this allow you to load in additional Bing Maps features and functionalities, but it also opens itself up for custom modules.

image

Creating a custom reusable module allows you to save time when making multiple applications since common blocks of code can be designed to be written so that they can be reused. By making code reusable, development time can be reduced. If the module is properly maintained it will also become better with time as bugs are fixed and optimizations added. But creating and maintaining a collection of modules may be a lot work for a single person.

Let us introduce the Bing Maps v7 Module CodePlex Project. This is a community site where people can share their modules for Bing maps. By having one central location for hosting these modules we make it easier for developers to find them and reduce the need to go searching through blogs for them. To date there are currently 4 modules that have been submitted for inclusion in the portal.

Module Name Description
Client Side Clustering This module allows you to easily add in clustering functionality into Bing Maps simply by using an extended version of the EntityCollection class called ClusteredEntityCollection.
Custom Infobox Control This module generates highly customizable infoboxes.
GeoRSS This module allows you to import GeoRSS files into Bing Maps. This module supports majority of GeoRSS and GML tags.
Simple GeoRSS This is a light weight module that can load a Simple GeoRSS feed to Bing Maps.

This project site also includes information on how to create and submit modules for inclusion in this site. If you have an idea for a module but are not sure where to start, add it to our list of module ideas here.

The new interactive SDK for AJAX 7.0

As many of you know, we recently rolled out some updates to the AJAX Control 7.0 (and we apologize to those of you who experienced problems with that, if you are still seeing issues please visit our developer forum to find solutions and report issues).

We’ve also just launched an interactive SDK for our AJAX Control 7.0. This handy developer resource is a great way to check out features and easily find the corresponding code and events for use in your applications.  The left hand nav shows you all of the major features in the SDK, while the body of the page shows you the feature in action with the (editable!) source code right below.


On the right, alerts and events info is displayed.

Want to check out what’s new with the AJAX Control 7.0?  Try the following:

  • Create map with map options > Map with inertia intensity: Try varying the inertiaIntensityparameter in the source code window. Set it anywhere between 0 and 1, hit run, and then see what happens when you click and drag the map.
  • Create map with map options > Map with background color: Pull the fully zoomed out map down to see the background color and hit the “Run” button. This shows off the new backgroundColoroption and gives you a random color every time. Try typing in your own RGB values and see what you get.
  • Get user location > Get location: If the browser on your phone or PC supports the W3C GeoLocation API, then try out the new getCurrentPosition method to easily find yourself on the map. (Note that the accuracy of this function varies depending on the capabilities of the requesting client. For example, desktop users may see lower accuracy while mobile users see much higher.)
  • Loading dynamic module > Load module – clustering: This shows you how you can use the new module loading methods to register and load your own custom modules (or modules built by other Bing Maps developers).

You can find this new interactive SDK here and a list of what’s new with the AJAX Control 7.0here on MSDN.  We hope you find this a useful tool!