You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sn...@apache.org on 2014/04/10 22:22:56 UTC

[51/63] [abbrv] incrementing bower package

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/82741dbc/portal/js/templates.js
----------------------------------------------------------------------
diff --git a/portal/js/templates.js b/portal/js/templates.js
deleted file mode 100644
index 41f612f..0000000
--- a/portal/js/templates.js
+++ /dev/null
@@ -1,3001 +0,0 @@
-angular.module('appservices').run(['$templateCache', function($templateCache) {
-  'use strict';
-
-  $templateCache.put('activities/activities.html',
-    "<section class=\"row-fluid\">\n" +
-    "  <div class=\"span12\">\n" +
-    "    <div class=\"page-filters\">\n" +
-    "      <h1 class=\"title\" class=\"pull-left\"><i class=\"pictogram title\">&#128241;</i> Activities</h1>\n" +
-    "    </div>\n" +
-    "  </div>\n" +
-    "\n" +
-    "</section>\n" +
-    "<section class=\"row-fluid\">\n" +
-    "  <div class=\"span12 tab-content\">\n" +
-    "    <table class=\"table table-striped\">\n" +
-    "      <tbody>\n" +
-    "      <tr class=\"table-header\">\n" +
-    "        <td>Date</td>\n" +
-    "        <td></td>\n" +
-    "        <td>User</td>\n" +
-    "        <td>Content</td>\n" +
-    "        <td>Verb</td>\n" +
-    "        <td>UUID</td>\n" +
-    "      </tr>\n" +
-    "      <tr class=\"zebraRows\" ng-repeat=\"activity in activities\">\n" +
-    "        <td>{{formatDate(activity.created)}}</td>\n" +
-    "        <td class=\"gravatar20\"> <img ng-src=\"{{activity.actor.picture}}\"/>\n" +
-    "        </td>\n" +
-    "        <td>{{activity.actor.displayName}}</td>\n" +
-    "        <td>{{activity.content}}</td>\n" +
-    "        <td>{{activity.verb}}</td>\n" +
-    "        <td>{{activity.uuid}}</td>\n" +
-    "      </tr>\n" +
-    "      </tbody>\n" +
-    "    </table>\n" +
-    "  </div>\n" +
-    "</section>"
-  );
-
-
-  $templateCache.put('app-overview/app-overview.html',
-    "<div class=\"app-overview-content\" >\n" +
-    "  <section class=\"row-fluid\">\n" +
-    "\n" +
-    "      <page-title title=\" Summary\" icon=\"&#128241;\"></page-title>\n" +
-    "  <section class=\"row-fluid\">\n" +
-    "      <h2 class=\"title\" id=\"app-overview-title\">{{currentApp}}</h2>\n" +
-    "  </section>\n" +
-    "  <section class=\"row-fluid\">\n" +
-    "\n" +
-    "    <div class=\"span6\">\n" +
-    "      <chart id=\"appOverview\"\n" +
-    "             chartdata=\"appOverview.chart\"\n" +
-    "             type=\"column\"></chart>\n" +
-    "    </div>\n" +
-    "\n" +
-    "    <div class=\"span6\">\n" +
-    "      <table class=\"table table-striped\">\n" +
-    "        <tr class=\"table-header\">\n" +
-    "          <td>Path</td>\n" +
-    "          <td>Title</td>\n" +
-    "        </tr>\n" +
-    "        <tr class=\"zebraRows\" ng-repeat=\"(k,v) in collections\">\n" +
-    "          <td>{{v.title}}</td>\n" +
-    "          <td>{{v.count}}</td>\n" +
-    "        </tr>\n" +
-    "      </table>\n" +
-    "    </div>\n" +
-    "\n" +
-    "  </section>\n" +
-    "</div>"
-  );
-
-
-  $templateCache.put('app-overview/doc-includes/android.html',
-    "<h2>1. Integrate the SDK into your project</h2>\n" +
-    "<p>You can integrate Apigee features into your app by including the SDK in your project.&nbsp;&nbsp;You can do one of the following:</p>\n" +
-    "\n" +
-    "<ul class=\"nav nav-tabs\" id=\"myTab\">\n" +
-    "\t<li class=\"active\"><a data-toggle=\"tab\" href=\"#existing_project\">Existing project</a></li>\n" +
-    "\t<li><a data-toggle=\"tab\" href=\"#new_project\">New project</a></li>\n" +
-    "</ul>\n" +
-    "\n" +
-    "<div class=\"tab-content\">\n" +
-    "\t<div class=\"tab-pane active\" id=\"existing_project\">\n" +
-    "\t\t<a class=\"jumplink\" name=\"add_the_sdk_to_an_existing_project\"></a>\n" +
-    "\t\t<p>If you've already got&nbsp;an Android&nbsp;project, you can integrate the&nbsp;Apigee&nbsp;SDK into your project as you normally would:</p>\n" +
-    "\t\t<div id=\"collapse\">\n" +
-    "\t\t\t<a href=\"#jar_collapse\" class=\"btn\" data-toggle=\"collapse\"><i class=\"icon-white icon-chevron-down\"></i> Details</a>\t\t\t\n" +
-    "\t\t</div>\n" +
-    "\t\t<div id=\"jar_collapse\" class=\"collapse\">\n" +
-    "\t\t\t<p>Add <code>apigee-android-&lt;version&gt;.jar</code> to your class path by doing the following:</p>\n" +
-    "\t\n" +
-    "\t\t\t<h3>Android 4.0 (or later) projects</h3>\n" +
-    "\t\t\t<p>Copy the jar file into the <code>/libs</code> folder in your project.</p>\n" +
-    "\t\t\t\n" +
-    "\t\t\t<h3>Android 3.0 (or earlier) projects</h3>\n" +
-    "\t\t\t<ol>\n" +
-    "\t\t\t\t<li>In the&nbsp;Eclipse <strong>Package Explorer</strong>, select your application's project folder.</li>\n" +
-    "\t\t\t\t<li>Click the&nbsp;<strong>File &gt; Properties</strong>&nbsp;menu.</li>\n" +
-    "\t\t\t\t<li>In the <strong>Java Build Path</strong> section, click the <strong>Libraries</strong> tab, click <strong>Add External JARs</strong>.</li>\n" +
-    "\t\t\t\t<li>Browse to <code>apigee-android-&lt;version&gt;.jar</code>, then click&nbsp;<strong>Open</strong>.</li>\n" +
-    "\t\t\t\t<li>Order the <code>apigee-android-&lt;version&gt;.jar</code> at the top of the class path:\n" +
-    "\t\t\t\t\t<ol>\n" +
-    "\t\t\t\t\t\t<li>In the Eclipse <strong>Package Explorer</strong>, select your application's project folder.</li>\n" +
-    "\t\t\t\t\t\t<li>Click the&nbsp;<strong>File &gt; Properties</strong> menu.</li>\n" +
-    "\t\t\t\t\t\t<li>In the properties dialog, in the&nbsp;<strong>Java Build Path</strong> section,&nbsp;click&nbsp;the <strong>Order and Export</strong>&nbsp;tab.</li>\n" +
-    "\t\t\t\t\t\t<li>\n" +
-    "\t\t\t\t\t\t\t<p><strong>IMPORTANT:</strong> Select the checkbox for <code>apigee-android-&lt;version&gt;.jar</code>, then click the <strong>Top</strong>&nbsp;button.</p>\n" +
-    "\t\t\t\t\t\t</li>\n" +
-    "\t\t\t\t\t</ol>\n" +
-    "\t\t\t\t</li>\n" +
-    "\t\t\t</ol>\n" +
-    "\t\t\t<div class=\"warning\">\n" +
-    "\t\t\t\t<h3>Applications using Ant</h3>\n" +
-    "\t\t\t\t<p>If you are using Ant to build your application, you must also copy <code>apigee-android-&lt;version&gt;.jar</code> to the <code>/libs</code> folder in your application.</p>\n" +
-    "\t\t\t</div>\n" +
-    "\t\t</div>\n" +
-    "\t</div>\n" +
-    "\t<div class=\"tab-pane\" id=\"new_project\">\n" +
-    "\t\t<a class=\"jumplink\" name=\"create_a_new_project_based_on_the_SDK\"></a>\n" +
-    "\t\t<p>If you don't have a&nbsp;project yet, you can begin by using the project template included with the SDK. The template includes support for SDK features.</p>\n" +
-    "\t\t<ul>\n" +
-    "\t\t\t<li>Locate the project template in the expanded SDK. It should be at the following location:\n" +
-    "\t\t\t\t<pre>&lt;sdk_root&gt;/new-project-template</pre>\n" +
-    "\t\t\t</li>\n" +
-    "\t\t</ul>\n" +
-    "\t</div>\n" +
-    "</div>\n" +
-    "<h2>2. Update permissions in AndroidManifest.xml</h2>\n" +
-    "<p>Add the following Internet permissions to your application's <code>AndroidManifest.xml</code> file if they have not already been added. Note that with the exception of INTERNET, enabling all other permissions are optional.</p>\n" +
-    "<pre>\n" +
-    "&lt;uses-permission android:name=\"android.permission.INTERNET\" /&gt;\n" +
-    "&lt;uses-permission android:name=\"android.permission.READ_PHONE_STATE\" /&gt;\n" +
-    "&lt;uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\" /&gt;\n" +
-    "&lt;uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\" /&gt;\n" +
-    "&lt;uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\" /&gt;\n" +
-    "</pre>\n" +
-    "<h2>3. Initialize the SDK</h2>\n" +
-    "<p>To initialize the App Services SDK, you must instantiate the <code>ApigeeClient</code> class. There are multiple ways to handle this step, but we recommend that you do the following:</p>\n" +
-    "<ol>\n" +
-    "\t<li>Subclass the <code>Application</code> class, and add an instance variable for the <code>ApigeeClient</code> to it, along with getter and setter methods.\n" +
-    "\t\t<pre>\n" +
-    "public class YourApplication extends Application\n" +
-    "{\n" +
-    "        \n" +
-    "        private ApigeeClient apigeeClient;\n" +
-    "        \n" +
-    "        public YourApplication()\n" +
-    "        {\n" +
-    "                this.apigeeClient = null;\n" +
-    "        }\n" +
-    "        \n" +
-    "        public ApigeeClient getApigeeClient()\n" +
-    "        {\n" +
-    "                return this.apigeeClient;\n" +
-    "        }\n" +
-    "        \n" +
-    "        public void setApigeeClient(ApigeeClient apigeeClient)\n" +
-    "        {\n" +
-    "                this.apigeeClient = apigeeClient;\n" +
-    "        }\n" +
-    "}\t\t\t\n" +
-    "\t\t</pre>\n" +
-    "\t</li>\n" +
-    "\t<li>Declare the <code>Application</code> subclass in your <code>AndroidManifest.xml</code>. For example:\n" +
-    "\t\t<pre>\n" +
-    "&lt;application&gt;\n" +
-    "    android:allowBackup=\"true\"\n" +
-    "    android:icon=\"@drawable/ic_launcher\"\n" +
-    "    android:label=\"@string/app_name\"\n" +
-    "    android:name=\".YourApplication\"\n" +
-    "\t…\n" +
-    "&lt;/application&gt;\t\t\t\n" +
-    "\t\t</pre>\n" +
-    "\t</li>\n" +
-    "\t<li>Instantiate the <code>ApigeeClient</code> class in the <code>onCreate</code> method of your first <code>Activity</code> class:\n" +
-    "\t\t<pre>\n" +
-    "import com.apigee.sdk.ApigeeClient;\n" +
-    "\n" +
-    "@Override\n" +
-    "protected void onCreate(Bundle savedInstanceState) {\n" +
-    "    super.onCreate(savedInstanceState);\t\t\n" +
-    "\t\n" +
-    "\tString ORGNAME = \"{{currentOrg}}\";\n" +
-    "\tString APPNAME = \"{{currentApp}}\";\n" +
-    "\t\n" +
-    "\tApigeeClient apigeeClient = new ApigeeClient(ORGNAME,APPNAME,this.getBaseContext());\n" +
-    "\n" +
-    "\t// hold onto the ApigeeClient instance in our application object.\n" +
-    "\tyourApp = (YourApplication) getApplication;\n" +
-    "\tyourApp.setApigeeClient(apigeeClient);\t\t\t\n" +
-    "}\n" +
-    "\t\t</pre>\n" +
-    "\t\t<p>This will make the instance of <code>ApigeeClient</code> available to your <code>Application</code> class.</p>\n" +
-    "\t</li>\n" +
-    "</ol>\n" +
-    "<h2>4. Import additional SDK classes</h2>\n" +
-    "<p>The following classes will enable you to call common SDK methods:</p>\n" +
-    "<pre>\n" +
-    "import com.apigee.sdk.data.client.DataClient; //App Services data methods\n" +
-    "import com.apigee.sdk.apm.android.MonitoringClient; //App Monitoring methods\n" +
-    "import com.apigee.sdk.data.client.callbacks.ApiResponseCallback; //API response handling\n" +
-    "import com.apigee.sdk.data.client.response.ApiResponse; //API response object\n" +
-    "</pre>\n" +
-    "\t\t\n" +
-    "<h2>5. Verify SDK installation</h2>\n" +
-    "\n" +
-    "<p>Once initialized, App Services will also automatically instantiate the <code>MonitoringClient</code> class and begin logging usage, crash and error metrics for your app.</p>\n" +
-    "<p><img src=\"img/verify.png\" alt=\"screenshot of data in admin portal\"/></p>\n" +
-    "<p>To verify that the SDK has been properly initialized, run your app, then go to 'Monitoring' > 'App Usage' in the <a href=\"https://www.apigee.com/usergrid\">App Services admin portal</a> to verify that data is being sent.</p>\n" +
-    "<div class=\"warning\">It may take up to two minutes for data to appear in the admin portal after you run your app.</div>\n" +
-    "\n" +
-    "<h2>Installation complete! Try these next steps</h2>\n" +
-    "<ul>\n" +
-    "\t<li>\n" +
-    "\t\t<h3><strong>Call additional SDK methods in your code</strong></h3>\n" +
-    "\t\t<p>The <code>DataClient</code> and <code>MonitoringClient</code> classes are also automatically instantiated for you, and accessible with the following accessors:</p>\n" +
-    "\t\t<ul>\n" +
-    "\t\t\t<li>\n" +
-    "\t\t\t\t<pre>DataClient dataClient = apigeeClient.getDataClient();</pre>\n" +
-    "\t\t\t\t<p>Use this object to access the data methods of the App Services SDK, including those for push notifications, data store, and geolocation.</p>\n" +
-    "\t\t\t</li>\n" +
-    "\t\t\t<li>\n" +
-    "\t\t\t\t<pre>MonitoringClient monitoringClient = apigeeClient.getMonitoringClient();</pre>\n" +
-    "\t\t\t\t<p>Use this object to access the app configuration and monitoring methods of the App Services SDK, including advanced logging, and A/B testing.</p>\n" +
-    "\t\t\t</li>\n" +
-    "\t\t</ul>\n" +
-    "\t</li>\t\n" +
-    "\t<li>\t\n" +
-    "\t\t<h3><strong>Add App Services features to your app</strong></h3>\n" +
-    "\t\t<p>With App Services you can quickly add valuable features to your mobile or web app, including push notifications, a custom data store, geolocation and more. Check out these links to get started with a few of our most popular features:</p>\n" +
-    "\t\t<ul>\n" +
-    "\t\t\t<li><strong><a href=\"http://apigee.com/docs/node/8410\">Push notifications</a></strong>: Send offers, alerts and other messages directly to user devices to dramatically increase engagement. With App Services you can send 10 million push notification per month for free!</li>\n" +
-    "\t\t\t<li><strong>App Monitoring</strong>: When you initialize the App Services SDK, a suite of valuable, <a href=\"http://apigee.com/docs/node/13190\">customizable</a> application monitoring features are automatically enabled that deliver the data you need to fine tune performance, analyze issues, and improve user experience.\n" +
-    "\t\t\t\t<ul>\n" +
-    "\t\t\t\t\t<li><strong><a href=\"http://apigee.com/docs/node/13176\">App Usage Monitoring</a></strong>: Visit the <a href=\"https://apigee.com/usergrid\">App Services admin portal</a> to view usage data for your app, including data on device models, platforms and OS versions running your app.</li>\t\t\t\t\n" +
-    "\t\t\t\t\t<li><strong><a href=\"http://apigee.com/docs/node/12861\">API Performance Monitoring</a></strong>: Network performance is key to a solid user experience. In the <a href=\"https://apigee.com/usergrid\">App Services admin portal</a> you can view key metrics, including response time, number of requests and raw API request logs.</li>\t\n" +
-    "\t\t\t\t\t<li><strong><a href=\"http://apigee.com/docs/node/13177\">Error &amp; Crash Monitoring</a></strong>: Get alerted to any errors or crashes, then view them in the <a href=\"https://apigee.com/usergrid\">App Services admin portal</a>, where you can also analyze raw error and crash logs.</li>\n" +
-    "\t\t\t\t</ul>\t\t\n" +
-    "\t\t\t</li>\n" +
-    "\t\t\t<li><strong><a href=\"http://apigee.com/docs/node/410\">Geolocation</a></strong>: Target users or return result sets based on user location to keep your app highly-relevant.</li>\n" +
-    "\t\t\t<li><strong><a href=\"http://apigee.com/docs/node/10152\">Data storage</a></strong>: Store all your application data on our high-availability infrastructure, and never worry about dealing with a database ever again.</li>\n" +
-    "\t\t\t<li><strong><a href=\"http://apigee.com/docs/node/376\">User management and authentication</a></strong>: Every app needs users. Use App Services to easily implement user registration, as well as OAuth 2.0-compliant login and authentication.</li>\n" +
-    "\t\t</ul>\n" +
-    "\t</li>\n" +
-    "\t<li>\t\n" +
-    "\t\t<h3><strong>Check out the sample apps</strong></h3>\n" +
-    "\t\t<p>The SDK includes samples that illustrate Apigee&nbsp;features. You'll find the samples in the following location in your SDK download:</p>\n" +
-    "\t\t<pre>\n" +
-    "apigee-android-sdk-&lt;version&gt;\n" +
-    "\t...\n" +
-    "\t/samples\n" +
-    "\t\t</pre>\n" +
-    "\t\t<div id=\"collapse\">\n" +
-    "\t\t\t<a href=\"#samples_collapse\" class=\"btn\" data-toggle=\"collapse\"><i class=\"icon-white icon-chevron-down\"></i> Details</a>\n" +
-    "\t\t</div>\n" +
-    "\t\t<div id=\"samples_collapse\" class=\"collapse\">\n" +
-    "\t\t\t<p>The samples include the following:</p>\n" +
-    "\t\t\t<table class=\"table\">\n" +
-    "\t\t\t\t<thead>\n" +
-    "\t\t\t\t\t<tr>\n" +
-    "\t\t\t\t\t\t<th scope=\"col\">Sample</th>\n" +
-    "\t\t\t\t\t\t<th scope=\"col\">Description</th>\n" +
-    "\t\t\t\t\t</tr>\n" +
-    "\t\t\t\t</thead>\n" +
-    "\t\t\t\t<tbody>\n" +
-    "\t\t\t\t\t<tr>\n" +
-    "\t\t\t\t\t\t<td>books</td>\n" +
-    "\t\t\t\t\t\t<td>An app for storing a list of books that shows Apigee database operations such as reading, creating, and deleting.</td>\n" +
-    "\t\t\t\t\t</tr>\n" +
-    "\t\t\t\t\t<tr>\n" +
-    "\t\t\t\t\t\t<td>messagee</td>\n" +
-    "\t\t\t\t\t\t<td>An app for sending and receiving messages that shows Apigee database operations (reading, creating).</td>\n" +
-    "\t\t\t\t\t</tr>\n" +
-    "\t\t\t\t\t<tr>\n" +
-    "\t\t\t\t\t\t<td>push</td>\n" +
-    "\t\t\t\t\t\t<td>An app that uses the push feature to send notifications to the devices of users who have subscribed for them.</td>\n" +
-    "\t\t\t\t\t</tr>\n" +
-    "\t\t\t\t</tbody>\n" +
-    "\t\t\t</table>\n" +
-    "\t\t</div>\n" +
-    "\t</li>\n" +
-    "</ul>\n"
-  );
-
-
-  $templateCache.put('app-overview/doc-includes/ios.html',
-    "<h2>1. Integrate ApigeeiOSSDK.framework</h2>\n" +
-    "<a class=\"jumplink\" name=\"add_the_sdk_to_an_existing_project\"></a>\n" +
-    "<ul class=\"nav nav-tabs\" id=\"myTab\">\n" +
-    "\t<li class=\"active\"><a data-toggle=\"tab\" href=\"#existing_project\">Existing project</a></li>\n" +
-    "\t<li><a data-toggle=\"tab\" href=\"#new_project\">New project</a></li>\n" +
-    "</ul>\n" +
-    "<div class=\"tab-content\">\n" +
-    "\t<div class=\"tab-pane active\" id=\"existing_project\">\n" +
-    "\t\t<p>If you've already got&nbsp;an Xcode iOS project, add it into your project as you normally would.</p>\n" +
-    "\t\t<div id=\"collapse\"><a class=\"btn\" data-toggle=\"collapse\" href=\"#framework_collapse\">Details</a></div>\n" +
-    "\t\t<div class=\"collapse\" id=\"framework_collapse\">\n" +
-    "\t\t\t<ol>\n" +
-    "\t\t\t\t<li>\n" +
-    "\t\t\t\t\t<p>Locate the SDK framework file so you can add it to your project. For example, you'll find the file at the following path:</p>\n" +
-    "\t\t\t\t\t<pre>\n" +
-    "&lt;sdk_root&gt;/bin/ApigeeiOSSDK.framework</pre>\n" +
-    "\t\t\t\t</li>\n" +
-    "\t\t\t\t<li>In the <strong>Project Navigator</strong>, click on your project file, and then the <strong>Build Phases</strong> tab. Expand <strong>Link Binary With Libraries</strong>.</li>\n" +
-    "\t\t\t\t<li>Link the Apigee iOS SDK into your project.\n" +
-    "\t\t\t\t\t<ul>\n" +
-    "\t\t\t\t\t\t<li>Drag ApigeeiOSSDK.framework into the Frameworks group created by Xcode.</li>\n" +
-    "\t\t\t\t\t</ul>\n" +
-    "\t\t\t\t\t<p>OR</p>\n" +
-    "\t\t\t\t\t<ol>\n" +
-    "\t\t\t\t\t\t<li>At the bottom of the <strong>Link Binary With Libraries</strong> group, click the <strong>+</strong> button. Then click&nbsp;<strong>Add Other</strong>.</li>\n" +
-    "\t\t\t\t\t\t<li>Navigate to the directory that contains ApigeeiOSSDK.framework, and choose the ApigeeiOSSDK.framework folder.</li>\n" +
-    "\t\t\t\t\t</ol>\n" +
-    "\t\t\t\t</li>\n" +
-    "\t\t\t</ol>\n" +
-    "\t\t</div>\n" +
-    "\t</div>\n" +
-    "\t<div class=\"tab-pane\" id=\"new_project\"><a class=\"jumplink\" name=\"create_a_new_project_based_on_the_SDK\"></a>\n" +
-    "\t\t<p>If you're starting with a clean slate (you don't have a&nbsp;project yet), you can begin by using the project template included with the SDK. The template includes support for SDK features.</p>\n" +
-    "\t\t<ol>\n" +
-    "\t\t\t<li>\n" +
-    "\t\t\t\t<p>Locate the project template in the expanded SDK. It should be at the following location:</p>\n" +
-    "\t\t\t\t<pre>\n" +
-    "&lt;sdk_root&gt;/new-project-template</pre>\n" +
-    "\t\t\t</li>\n" +
-    "\t\t\t<li>In the project template directory, open the project file:&nbsp;Apigee App Services iOS Template.xcodeproj.</li>\n" +
-    "\t\t\t<li>Get acquainted with the template by looking at its readme file.</li>\n" +
-    "\t\t</ol>\n" +
-    "\t</div>\n" +
-    "</div>\n" +
-    "<h2>2. Add required iOS frameworks</h2>\n" +
-    "<p>Ensure that the following iOS frameworks are part of your project. To add them, under the <strong>Link Binary With Libraries</strong> group, click the <strong>+</strong> button, type the name of the framework you want to add, select the framework found by Xcode, then click <strong>Add</strong>.</p>\n" +
-    "<ul>\n" +
-    "\t<li>QuartzCore.framework</li>\n" +
-    "\t<li>CoreLocation.framework</li>\n" +
-    "\t<li>CoreTelephony.framework&nbsp;</li>\n" +
-    "\t<li>Security.framework</li>\n" +
-    "\t<li>SystemConfiguration.framework</li>\n" +
-    "\t<li>UIKit.framework</li>\n" +
-    "</ul>\n" +
-    "<h2>3. Update 'Other Linker Flags'</h2>\n" +
-    "<p>In the <strong>Build Settings</strong> panel, add the following under <strong>Other Linker Flags</strong>:</p>\n" +
-    "<pre>\n" +
-    "-ObjC -all_load</pre>\n" +
-    "<p>Confirm that flags are set for both <strong>DEBUG</strong> and <strong>RELEASE</strong>.</p>\n" +
-    "<h2>4. Initialize the SDK</h2>\n" +
-    "<p>The <em>ApigeeClient</em> class initializes the App Services SDK. To do this you will need your organization name and application name, which are available in the <em>Getting Started</em> tab of the <a href=\"https://www.apigee.com/usergrid/\">App Service admin portal</a>, under <strong>Mobile SDK Keys</strong>.</p>\n" +
-    "<ol>\n" +
-    "\t<li>Import the SDK\n" +
-    "\t\t<p>Add the following to your source code to import the SDK:</p>\n" +
-    "\t\t<pre>\n" +
-    "#import &lt;ApigeeiOSSDK/Apigee.h&gt;</pre>\n" +
-    "\t</li>\n" +
-    "\t<li>\n" +
-    "\t\t<p>Declare the following properties in <code>AppDelegate.h</code>:</p>\n" +
-    "\t\t<pre>\n" +
-    "@property (strong, nonatomic) ApigeeClient *apigeeClient; \n" +
-    "@property (strong, nonatomic) ApigeeMonitoringClient *monitoringClient;\n" +
-    "@property (strong, nonatomic) ApigeeDataClient *dataClient;\t\n" +
-    "\t\t</pre>\n" +
-    "\t</li>\n" +
-    "\t<li>\n" +
-    "\t\t<p>Instantiate the <code>ApigeeClient</code> class inside the \u0010<code>didFinishLaunching</code> method of <code>AppDelegate.m</code>:</p>\n" +
-    "\t\t<pre>\n" +
-    "//Replace 'AppDelegate' with the name of your app delegate class to instantiate it\n" +
-    "AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];\n" +
-    "\n" +
-    "//Sepcify your App Services organization and application names\n" +
-    "NSString *orgName = @\"{{currentOrg}}\";\n" +
-    "NSString *appName = @\"{{currentApp}}\";\n" +
-    "\n" +
-    "//Instantiate ApigeeClient to initialize the SDK\n" +
-    "appDelegate.apigeeClient = [[ApigeeClient alloc]\n" +
-    "                            initWithOrganizationId:orgName\n" +
-    "                            applicationId:appName];\n" +
-    "                            \n" +
-    "//Retrieve instances of ApigeeClient.monitoringClient and ApigeeClient.dataClient\n" +
-    "self.monitoringClient = [appDelegate.apigeeClient monitoringClient]; \n" +
-    "self.dataClient = [appDelegate.apigeeClient dataClient]; \n" +
-    "\t\t</pre>\n" +
-    "\t</li>\n" +
-    "</ol>\n" +
-    "\n" +
-    "<h2>5. Verify SDK installation</h2>\n" +
-    "\n" +
-    "<p>Once initialized, App Services will also automatically instantiate the <code>ApigeeMonitoringClient</code> class and begin logging usage, crash and error metrics for your app.</p>\n" +
-    "\n" +
-    "<p>To verify that the SDK has been properly initialized, run your app, then go to <strong>'Monitoring' > 'App Usage'</strong> in the <a href=\"https://www.apigee.com/usergrid\">App Services admin portal</a> to verify that data is being sent.</p>\n" +
-    "<p><img src=\"img/verify.png\" alt=\"screenshot of data in admin portal\"/></p>\n" +
-    "<div class=\"warning\">It may take up to two minutes for data to appear in the admin portal after you run your app.</div>\n" +
-    "\n" +
-    "<h2>Installation complete! Try these next steps</h2>\n" +
-    "<ul>\t\n" +
-    "\t<li>\n" +
-    "\t\t<h3><strong>Call additional SDK methods in your code</strong></h3>\n" +
-    "\t\t<p>Create an instance of the AppDelegate class, then use <code>appDelegate.dataClient</code> or <code>appDelegate.monitoringClient</code> to call SDK methods:</p>\n" +
-    "\t\t<div id=\"collapse\"><a class=\"btn\" data-toggle=\"collapse\" href=\"#client_collapse\">Details</a></div>\n" +
-    "\t\t<div class=\"collapse\" id=\"client_collapse\">\n" +
-    "\t\t\t<ul>\n" +
-    "\t\t\t\t<li><code>appDelegate.dataClient</code>: Used to access the data methods of the App Services SDK, including those for push notifications, data store, and geolocation.</li>\n" +
-    "\t\t\t\t<li><code>appDelegate.monitoringClient</code>: Used to access the app configuration and monitoring methods of the App Services SDK, including advanced logging, and A/B testing.</li>\n" +
-    "\t\t\t</ul>\n" +
-    "\t\t\t<h3>Example</h3>\n" +
-    "\t\t\t<p>For example, you could create a new entity with the following:</p>\n" +
-    "\t\t\t<pre>\n" +
-    "AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];\n" +
-    "ApigeeClientResponse *response = [appDelegate.dataClient createEntity:entity];\n" +
-    "\t\t\t</pre>\n" +
-    "\t\t</div>\n" +
-    "\n" +
-    "\t</li>\n" +
-    "\t<li>\n" +
-    "\t\t<h3><strong>Add App Services features to your app</strong></h3>\n" +
-    "\t\t<p>With App Services you can quickly add valuable features to your mobile or web app, including push notifications, a custom data store, geolocation and more. Check out these links to get started with a few of our most popular features:</p>\n" +
-    "\t\t<ul>\n" +
-    "\t\t\t<li><strong><a href=\"http://apigee.com/docs/node/8410\">Push notifications</a></strong>: Send offers, alerts and other messages directly to user devices to dramatically increase engagement. With App Services you can send 10 million push notification per month for free!</li>\n" +
-    "\t\t\t<li><strong><a href=\"http://apigee.com/docs/node/410\">Geolocation</a></strong>: Target users or return result sets based on user location to keep your app highly-relevant.</li>\n" +
-    "\t\t\t<li><strong><a href=\"http://apigee.com/docs/node/10152\">Data storage</a></strong>: Store all your application data on our high-availability infrastructure, and never worry about dealing with a database ever again.</li>\n" +
-    "\t\t\t<li><strong><a href=\"http://apigee.com/docs/node/376\">User management and authentication</a></strong>: Every app needs users. Use App Services to easily implement user registration, as well as OAuth 2.0-compliant login and authentication.</li>\n" +
-    "\t\t</ul>\n" +
-    "\t</li>\n" +
-    "\t<li>\n" +
-    "\t\t<h3><strong>Check out the sample apps</strong></h3>\n" +
-    "\t\t<p>The SDK includes samples that illustrate Apigee&nbsp;features. To look at them, open the .xcodeproj file for each in Xcode. To get a sample app running, open its project file, then follow the steps described in the section, <a target=\"_blank\" href=\"http://apigee.com/docs/app-services/content/installing-apigee-sdk-ios\">Add the SDK to an existing project</a>.</p>\n" +
-    "\t\t<p>You'll find the samples in the following location in your SDK download:</p>\n" +
-    "\t\t<pre>\n" +
-    "apigee-ios-sdk-&lt;version&gt;\n" +
-    "    ...\n" +
-    "    /samples\n" +
-    "\t\t</pre>\n" +
-    "\t\t<div id=\"collapse\"><a class=\"btn\" data-toggle=\"collapse\" href=\"#samples_collapse\">Details</a></div>\n" +
-    "\t\t<div class=\"collapse\" id=\"samples_collapse\">\n" +
-    "\t\t\t<p>The samples include the following:</p>\n" +
-    "\t\t\t<table class=\"table\">\n" +
-    "\t\t\t\t<thead>\n" +
-    "\t\t\t\t\t<tr>\n" +
-    "\t\t\t\t\t\t<th scope=\"col\">Sample</th>\n" +
-    "\t\t\t\t\t\t<th scope=\"col\">Description</th>\n" +
-    "\t\t\t\t\t</tr>\n" +
-    "\t\t\t\t</thead>\n" +
-    "\t\t\t\t<tbody>\n" +
-    "\t\t\t\t\t<tr>\n" +
-    "\t\t\t\t\t\t<td>books</td>\n" +
-    "\t\t\t\t\t\t<td>An app for storing a list of books that shows Apigee database operations such as reading, creating, and deleting.</td>\n" +
-    "\t\t\t\t\t</tr>\n" +
-    "\t\t\t\t\t<tr>\n" +
-    "\t\t\t\t\t\t<td>messagee</td>\n" +
-    "\t\t\t\t\t\t<td>An app for sending and receiving messages that shows Apigee database operations (reading, creating).</td>\n" +
-    "\t\t\t\t\t</tr>\n" +
-    "\t\t\t\t\t<tr>\n" +
-    "\t\t\t\t\t\t<td>push</td>\n" +
-    "\t\t\t\t\t\t<td>An app that uses the push feature to send notifications to the devices of users who have subscribed for them.</td>\n" +
-    "\t\t\t\t\t</tr>\n" +
-    "\t\t\t\t</tbody>\n" +
-    "\t\t\t</table>\n" +
-    "\t\t</div>\n" +
-    "\t\t<p>&nbsp;</p>\n" +
-    "\t</li>\n" +
-    "</ul>\n"
-  );
-
-
-  $templateCache.put('app-overview/doc-includes/javascript.html',
-    "<h2>1. Import the SDK into your HTML</h2>\n" +
-    "<p>To enable support for Apigee-related functions in your HTML, you'll need to&nbsp;include <code>apigee.js</code> in your app. To do this, add the following to the <code>head</code> block of your HTML:</p>\n" +
-    "<pre>\n" +
-    "&lt;script type=\"text/javascript\" src=\"path/to/js/sdk/apigee.js\"&gt;&lt;/script&gt;\n" +
-    "</pre>\n" +
-    "<h2>2. Instantiate Apigee.Client</h2>\n" +
-    "<p>Apigee.Client initializes the App Services SDK, and gives you access to all of the App Services SDK methods.</p>\n" +
-    "<p>You will need to pass a JSON object with the UUID or name for your App Services organization and application when you instantiate it.</p>\n" +
-    "<pre>\n" +
-    "//Apigee account credentials, available in the App Services admin portal \n" +
-    "var client_creds = {\n" +
-    "        orgName:'{{currentOrg}}',\n" +
-    "        appName:'{{currentApp}}'\n" +
-    "    }\n" +
-    "\n" +
-    "//Initializes the SDK. Also instantiates Apigee.MonitoringClient\n" +
-    "var dataClient = new Apigee.Client(client_creds);  \n" +
-    "</pre>\n" +
-    "\n" +
-    "<h2>3. Verify SDK installation</h2>\n" +
-    "\n" +
-    "<p>Once initialized, App Services will also automatically instantiate <code>Apigee.MonitoringClient</code> and begin logging usage, crash and error metrics for your app.</p>\n" +
-    "\n" +
-    "<p>To verify that the SDK has been properly initialized, run your app, then go to <strong>'Monitoring' > 'App Usage'</strong> in the <a href=\"https://www.apigee.com/usergrid\">App Services admin portal</a> to verify that data is being sent.</p>\n" +
-    "<p><img src=\"img/verify.png\" alt=\"screenshot of data in admin portal\"/></p>\n" +
-    "<div class=\"warning\">It may take up to two minutes for data to appear in the admin portal after you run your app.</div>\n" +
-    "\n" +
-    "<h2>Installation complete! Try these next steps</h2>\n" +
-    "<ul>\n" +
-    "\t<li>\t\n" +
-    "\t\t<h3><strong>Call additional SDK methods in your code</strong></h3>\n" +
-    "\t\t<p>Use <code>dataClient</code> or <code>dataClient.monitor</code> to call SDK methods:</p>\n" +
-    "\t\t<div id=\"collapse\">\n" +
-    "\t\t\t<a href=\"#client_collapse\" class=\"btn\" data-toggle=\"collapse\"><i class=\"icon-white icon-chevron-down\"></i> Details</a>\n" +
-    "\t\t</div>\n" +
-    "\t\t<div id=\"client_collapse\" class=\"collapse\">\n" +
-    "\t\t\t<ul>\n" +
-    "\t\t\t\t<li><code>dataClient</code>: Used to access the data methods of the App Services SDK, including those for push notifications, data store, and geolocation.</li>\n" +
-    "\t\t\t\t<li><code>dataClient.monitor</code>: Used to access the app configuration and monitoring methods of the App Services SDK, including advanced logging, and A/B testing.</li>\n" +
-    "\t\t\t</ul>\n" +
-    "\t\t</div>\n" +
-    "\t</li>\t\n" +
-    "\t<li>\n" +
-    "\t\t<h3><strong>Add App Services features to your app</strong></h3>\n" +
-    "\t\t<p>With App Services you can quickly add valuable features to your mobile or web app, including push notifications, a custom data store, geolocation and more. Check out these links to get started with a few of our most popular features:</p>\n" +
-    "\t\t<ul>\n" +
-    "\t\t\t<li><strong><a href=\"http://apigee.com/docs/node/8410\">Push notifications</a></strong>: Send offers, alerts and other messages directly to user devices to dramatically increase engagement. With App Services you can send 10 million push notification per month for free!</li>\n" +
-    "\t\t\t<li><strong><a href=\"http://apigee.com/docs/node/410\">Geolocation</a></strong>: Keep your app highly-relevant by targeting users or returning result sets based on user location.</li>\n" +
-    "\t\t\t<li><strong><a href=\"http://apigee.com/docs/node/10152\">Data storage</a></strong>: Store all your application data on our high-availability infrastructure, and never worry about dealing with a database ever again.</li>\n" +
-    "\t\t\t<li><strong><a href=\"http://apigee.com/docs/node/376\">User management and authentication</a></strong>: Every app needs users. Use App Services to easily implement registration, login and OAuth 2.0-compliant authentication.</li>\n" +
-    "\t\t</ul>\n" +
-    "\t</li>\n" +
-    "\t<li>\n" +
-    "\t\t<h3><strong>Check out the sample apps</strong></h3>\n" +
-    "\t\t<p>The SDK includes samples that illustrate Apigee&nbsp;features. To look at them, open the .xcodeproj file for each in Xcode. You'll find the samples in the following location in your SDK download:</p>\n" +
-    "\t\t<pre>\n" +
-    "apigee-javascript-sdk-master\n" +
-    "    ...\n" +
-    "    /samples\t\t\n" +
-    "\t\t</pre>\n" +
-    "\t\t<div id=\"collapse\">\n" +
-    "\t\t\t<a href=\"#samples_collapse\" class=\"btn\" data-toggle=\"collapse\"><i class=\"icon-white icon-chevron-down\"></i> Details</a>\n" +
-    "\t\t</div>\n" +
-    "\t\t<div id=\"samples_collapse\" class=\"collapse\">\n" +
-    "\t\t\t<p>The samples include the following:</p>\n" +
-    "\t\t\t<table class=\"table\">\n" +
-    "\t\t\t\t<thead>\n" +
-    "\t\t\t\t\t<tr>\n" +
-    "\t\t\t\t\t\t<th scope=\"col\">Sample</th>\n" +
-    "\t\t\t\t\t\t<th scope=\"col\">Description</th>\n" +
-    "\t\t\t\t\t</tr>\n" +
-    "\t\t\t\t</thead>\n" +
-    "\t\t\t\t<tbody>\n" +
-    "\t\t\t\t\t<tr>\n" +
-    "\t\t\t\t\t\t<td>booksSample.html</td>\n" +
-    "\t\t\t\t\t\t<td>An app for storing a list of books that shows Apigee database operations such as reading, creating, and deleting.</td>\n" +
-    "\t\t\t\t\t</tr>\n" +
-    "\t\t\t\t\t<tr>\n" +
-    "\t\t\t\t\t\t<td>messagee</td>\n" +
-    "\t\t\t\t\t\t<td>An app for sending and receiving messages that shows Apigee database operations (reading, creating).</td>\n" +
-    "\t\t\t\t\t</tr>\n" +
-    "\t\t\t\t\t<tr>\n" +
-    "\t\t\t\t\t\t<td>monitoringSample.html</td>\n" +
-    "\t\t\t\t\t\t<td>Shows basic configuration and initialization of the HTML5 app monitoring functionality. Works in browser, PhoneGap, Appcelerator, and Trigger.io.</td>\n" +
-    "\t\t\t\t\t</tr>\n" +
-    "\t\t\t\t\t<tr>\n" +
-    "\t\t\t\t\t\t<td>readmeSample.html</td>\n" +
-    "\t\t\t\t\t\t<td>A simple app for reading data from an Apigee database.</td>\n" +
-    "\t\t\t\t\t</tr>\n" +
-    "\t\t\t\t</tbody>\n" +
-    "\t\t\t</table>\n" +
-    "\t\t</div>\t\n" +
-    "\t</li>\t\t\t\t\n" +
-    "</ul>\n"
-  );
-
-
-  $templateCache.put('app-overview/doc-includes/net.html',
-    ""
-  );
-
-
-  $templateCache.put('app-overview/doc-includes/node.html',
-    ""
-  );
-
-
-  $templateCache.put('app-overview/doc-includes/ruby.html',
-    ""
-  );
-
-
-  $templateCache.put('app-overview/getting-started.html',
-    "<div class=\"setup-sdk-content\" >\n" +
-    "\n" +
-    "  <bsmodal id=\"regenerateCredentials\"\n" +
-    "           title=\"Confirmation\"\n" +
-    "           close=\"hideModal\"\n" +
-    "           closelabel=\"Cancel\"\n" +
-    "           extrabutton=\"regenerateCredentialsDialog\"\n" +
-    "           extrabuttonlabel=\"Yes\"\n" +
-    "           ng-cloak>\n" +
-    "    Are you sure you want to regenerate the credentials?\n" +
-    "  </bsmodal>\n" +
-    "\n" +
-    "    <page-title icon=\"&#128640;\" title=\"Getting Started\"></page-title>\n" +
-    "\n" +
-    "  <section class=\"row-fluid\">\n" +
-    "\n" +
-    "\n" +
-    "\n" +
-    "\n" +
-    "    <div class=\"span8\">\n" +
-    "\n" +
-    "      <h2 class=\"title\">Install the SDK for app {{currentApp}}</h2>\n" +
-    "      <p>Click on a platform icon below to view SDK installation instructions for that platform.</p>\n" +
-    "      <ul class=\"inline unstyled\">\n" +
-    "        <!--<li><a target=\"_blank\" href=\"http://apigee.com/docs/usergrid/content/sdks-and-examples#ios\"><i class=\"sdk-icon-large-ios\"></i></a></li>-->\n" +
-    "        <!--<li><a target=\"_blank\" href=\"http://apigee.com/docs/usergrid/content/sdks-and-examples#android\"><i class=\"sdk-icon-large-android\"></i></a></li>-->\n" +
-    "        <!--<li><a target=\"_blank\" href=\"http://apigee.com/docs/usergrid/content/sdks-and-examples#javascript\"><i class=\"sdk-icon-large-js\"></i></a></li>-->\n" +
-    "\n" +
-    "\n" +
-    "        <li ng-click=\"showSDKDetail('ios')\"\n" +
-    "            analytics-on=\"click\"\n" +
-    "            analytics-label=\"App Services\"\n" +
-    "            analytics-category=\"Getting Started\"\n" +
-    "            analytics-event=\"iOS SDK\"><i class=\"sdk-icon-large-ios\"></i></li>\n" +
-    "        <li ng-click=\"showSDKDetail('android')\"\n" +
-    "            analytics-on=\"click\"\n" +
-    "            analytics-label=\"App Services\"\n" +
-    "            analytics-category=\"Getting Started\"\n" +
-    "            analytics-event=\"Android SDK\"><i class=\"sdk-icon-large-android\"></i></li>\n" +
-    "        <li ng-click=\"showSDKDetail('javascript')\"\n" +
-    "            analytics-on=\"click\"\n" +
-    "            analytics-label=\"App Services\"\n" +
-    "            analytics-category=\"Getting Started\"\n" +
-    "            analytics-event=\"JS SDK\"><i class=\"sdk-icon-large-js\"></i></li>\n" +
-    "        <li><a target=\"_blank\"\n" +
-    "               ng-click=\"showSDKDetail('nocontent')\"\n" +
-    "               href=\"http://apigee.com/docs/usergrid/content/sdks-and-examples#nodejs\"\n" +
-    "               analytics-on=\"click\"\n" +
-    "               analytics-label=\"App Services\"\n" +
-    "               analytics-category=\"Getting Started\"\n" +
-    "               analytics-event=\"Node SDK\"><i class=\"sdk-icon-large-node\"></i></a></li>\n" +
-    "        <li><a target=\"_blank\"\n" +
-    "               ng-click=\"showSDKDetail('nocontent')\"\n" +
-    "               href=\"http://apigee.com/docs/usergrid/content/sdks-and-examples#ruby\"\n" +
-    "               analytics-on=\"click\"\n" +
-    "               analytics-label=\"App Services\"\n" +
-    "               analytics-category=\"Getting Started\"\n" +
-    "               analytics-event=\"Ruby SDK\"><i class=\"sdk-icon-large-ruby\"></i></a></li>\n" +
-    "        <li><a target=\"_blank\"\n" +
-    "               ng-click=\"showSDKDetail('nocontent')\"\n" +
-    "               href=\"http://apigee.com/docs/usergrid/content/sdks-and-examples#c\"\n" +
-    "               analytics-on=\"click\"\n" +
-    "               analytics-label=\"App Services\"\n" +
-    "               analytics-category=\"Getting Started\"\n" +
-    "               analytics-event=\"DotNet SDK\"><i class=\"sdk-icon-large-net\"></i></a></li>\n" +
-    "       </ul>\n" +
-    "\n" +
-    "      <section id=\"intro-container\" class=\"row-fluid intro-container\">\n" +
-    "\n" +
-    "        <div class=\"sdk-intro\">\n" +
-    "        </div>\n" +
-    "\n" +
-    "        <div class=\"sdk-intro-content\">\n" +
-    "\n" +
-    "          <a class=\"btn normal white pull-right\" ng-href=\"{{sdkLink}}\" target=\"_blank\">\n" +
-    "            Download SDK\n" +
-    "          </a>\n" +
-    "          <a class=\"btn normal white pull-right\" ng-href=\"{{docsLink}}\" target=\"_blank\">\n" +
-    "            More Docs\n" +
-    "          </a>\n" +
-    "          <h3 class=\"title\"><i class=\"pictogram\">&#128213;</i>{{contentTitle}}</h3>\n" +
-    "\n" +
-    "          <div ng-include=\"getIncludeURL()\"></div>\n" +
-    "        </div>\n" +
-    "\n" +
-    "      </section>\n" +
-    "    </div>\n" +
-    "\n" +
-    "    <div class=\"span4 keys-creds\">\n" +
-    "      <h2 class=\"title\">Mobile sdk keys</h2>\n" +
-    "      <p>For mobile SDK initialization.</p>\n" +
-    "      <dl class=\"app-creds\">\n" +
-    "        <dt>Org Name</dt>\n" +
-    "        <dd>{{currentOrg}}</dd>\n" +
-    "        <dt>App Name</dt>\n" +
-    "        <dd>{{currentApp}}</dd>\n" +
-    "      </dl>\n" +
-    "      <h2 class=\"title\">Server app credentials</h2>\n" +
-    "      <p>For authenticating from a server side app (i.e. Ruby, .NET, etc.)</p>\n" +
-    "      <dl class=\"app-creds\">\n" +
-    "        <dt>Client ID</dt>\n" +
-    "        <dd>{{clientID}}</dd>\n" +
-    "        <dt>Client Secret</dt>\n" +
-    "        <dd>{{clientSecret}}</dd>\n" +
-    "        <dt>\n" +
-    "           &nbsp;\n" +
-    "        </dt>\n" +
-    "        <dd>&nbsp;</dd>\n" +
-    "\n" +
-    "        <dt>\n" +
-    "          <a class=\"btn filter-selector\" ng-click=\"showModal('regenerateCredentials')\">Regenerate</a>\n" +
-    "        </dt>\n" +
-    "        <dd></dd>\n" +
-    "      </dl>\n" +
-    "\n" +
-    "    </div>\n" +
-    "\n" +
-    "  </section>\n" +
-    "</div>"
-  );
-
-
-  $templateCache.put('data/data.html',
-    "<div class=\"content-page\">\n" +
-    "\n" +
-    "  <bsmodal id=\"newCollection\"\n" +
-    "           title=\"Create new collection\"\n" +
-    "           close=\"hideModal\"\n" +
-    "           closelabel=\"Cancel\"\n" +
-    "           extrabutton=\"newCollectionDialog\"\n" +
-    "           extrabuttonlabel=\"Create\"\n" +
-    "           buttonid=\"collection\"\n" +
-    "           ng-cloak>\n" +
-    "    <fieldset>\n" +
-    "      <div class=\"control-group\">\n" +
-    "        <label for=\"new-collection-name\">Collection Name:</label>\n" +
-    "        <div class=\"controls\">\n" +
-    "          <input type=\"text\" ug-validate required ng-pattern=\"collectionNameRegex\" ng-attr-title=\"{{collectionNameRegexDescription}}\" ng-model=\"$parent.newCollection.name\" name=\"collection\" id=\"new-collection-name\" class=\"input-xlarge\"/>\n" +
-    "          <p class=\"help-block hide\"></p>\n" +
-    "        </div>\n" +
-    "      </div>\n" +
-    "    </fieldset>\n" +
-    "  </bsmodal>\n" +
-    "\n" +
-    "  <page-title title=\" Collections\" icon=\"&#128254;\"></page-title>\n" +
-    "\n" +
-    "  <section class=\"row-fluid\">\n" +
-    "    <div class=\"span3 user-col\">\n" +
-    "        <a class=\"btn btn-primary\" id=\"new-collection-link\" ng-click=\"showModal('newCollection')\">New Collection</a>\n" +
-    "        <ul  class=\"user-list\">\n" +
-    "          <li ng-class=\"queryCollection._type === entity.name ? 'selected' : ''\" ng-repeat=\"entity in collectionList\" ng-click=\"loadCollection('/'+entity.name);\">\n" +
-    "            <a id=\"collection-{{entity.name}}-link\" href=\"javaScript:void(0)\">/{{entity.name}} </a>\n" +
-    "          </li>\n" +
-    "        </ul>\n" +
-    "\n" +
-    "  </div>\n" +
-    "\n" +
-    "    <div class=\"span9 tab-content\">\n" +
-    "      <div class=\"content-page\">\n" +
-    "      <form name=\"dataForm\" ng-submit=\"run();\">\n" +
-    "        <fieldset>\n" +
-    "          <div class=\"control-group\">\n" +
-    "            <div class=\"\" data-toggle=\"buttons-radio\">\n" +
-    "              <!--a class=\"btn\" id=\"button-query-back\">&#9664; Back</a-->\n" +
-    "              <!--Added disabled class to change the way button looks but their functionality is as usual -->\n" +
-    "              <label class=\"control-label\" style=\"display:none\"><strong>Method</strong> <a id=\"query-method-help\" href=\"#\" class=\"help-link\">get help</a></label>\n" +
-    "              <input type=\"radio\" id=\"create-rb\" name=\"query-action\" style=\"margin-top: -2px;\" ng-click=\"selectPOST();\" ng-checked=\"verb=='POST'\"> CREATE &nbsp; &nbsp;\n" +
-    "              <input type=\"radio\" id=\"read-rb\" name=\"query-action\" style=\"margin-top: -2px;\" ng-click=\"selectGET();\" ng-checked=\"verb=='GET'\"> READ &nbsp; &nbsp;\n" +
-    "              <input type=\"radio\" id=\"update-rb\" name=\"query-action\" style=\"margin-top: -2px;\" ng-click=\"selectPUT();\" ng-checked=\"verb=='PUT'\"> UPDATE &nbsp; &nbsp;\n" +
-    "              <input type=\"radio\" id=\"delete-rb\" name=\"query-action\" style=\"margin-top: -2px;\" ng-click=\"selectDELETE();\" ng-checked=\"verb=='DELETE'\"> DELETE\n" +
-    "            </div>\n" +
-    "          </div>\n" +
-    "\n" +
-    "          <div class=\"control-group\">\n" +
-    "            <strong>Path </strong>\n" +
-    "            <div class=\"controls\">\n" +
-    "              <input ng-model=\"data.queryPath\" type=\"text\" ug-validate id=\"pathDataQuery\" ng-attr-title=\"{{pathRegexDescription}}\" ng-pattern=\"pathRegex\" class=\"span6\" autocomplete=\"off\" placeholder=\"ex: /users\" required/>\n" +
-    "            </div>\n" +
-    "          </div>\n" +
-    "          <div class=\"control-group\">\n" +
-    "            <a id=\"back-to-collection\" class=\"outside-link\" style=\"display:none\">Back to collection</a>\n" +
-    "          </div>\n" +
-    "          <div class=\"control-group\">\n" +
-    "            <strong>Query</strong>\n" +
-    "            <div class=\"controls\">\n" +
-    "              <input ng-model=\"data.searchString\" type=\"text\" class=\"span6\" autocomplete=\"off\" placeholder=\"ex: select * where name='fred'\"/>\n" +
-    "              <div style=\"display:none\">\n" +
-    "                <a class=\"btn dropdown-toggle \" data-toggle=\"dropdown\">\n" +
-    "                  <span id=\"query-collections-caret\" class=\"caret\"></span>\n" +
-    "                </a>\n" +
-    "                <ul id=\"query-collections-indexes-list\" class=\"dropdown-menu \">\n" +
-    "                </ul>\n" +
-    "              </div>\n" +
-    "            </div>\n" +
-    "          </div>\n" +
-    "\n" +
-    "\n" +
-    "          <div class=\"control-group\" ng-show=\"verb=='GET' || verb=='DELETE'\">\n" +
-    "            <label class=\"control-label\" for=\"query-limit\"><strong>Limit</strong> <a id=\"query-limit-help\" href=\"#\" ng-show=\"false\" class=\"help-link\">get help</a></label>\n" +
-    "            <div class=\"controls\">\n" +
-    "              <div class=\"input-append\">\n" +
-    "                <input ng-model=\"data.queryLimit\" type=\"text\" class=\"span5\" id=\"query-limit\" placeholder=\"ex: 10\">\n" +
-    "              </div>\n" +
-    "            </div>\n" +
-    "          </div>\n" +
-    "\n" +
-    "          <div class=\"control-group\" style=\"display:{{queryBodyDisplay}}\">\n" +
-    "            <label class=\"control-label\" for=\"query-source\"><strong>JSON Body</strong> <a id=\"query-json-help\" href=\"#\" ng-show=\"false\" class=\"help-link\">get help</a></label>\n" +
-    "            <div class=\"controls\">\n" +
-    "            <textarea ng-model=\"data.queryBody\" id=\"query-source\" class=\"span6 pull-left\" rows=\"4\">\n" +
-    "      { \"name\":\"value\" }\n" +
-    "            </textarea>\n" +
-    "              <br>\n" +
-    "            <a class=\"btn pull-left\" ng-click=\"validateJson();\">Validate JSON</a>\n" +
-    "            </div>\n" +
-    "          </div>\n" +
-    "          <div style=\"clear: both; height: 10px;\"></div>\n" +
-    "          <div class=\"control-group\">\n" +
-    "            <input type=\"submit\" ng-disabled=\"!dataForm.$valid || loading\" class=\"btn btn-primary\" id=\"button-query\"  value=\"{{loading ? loadingText : 'Run Query'}}\"/>\n" +
-    "          </div>\n" +
-    "        </fieldset>\n" +
-    "       </form>\n" +
-    "        <div ng-include=\"display=='generic' ? 'data/display-generic.html' : ''\"></div>\n" +
-    "        <div ng-include=\"display=='users' ? 'data/display-users.html' : ''\"></div>\n" +
-    "        <div ng-include=\"display=='groups' ? 'data/display-groups.html' : ''\"></div>\n" +
-    "        <div ng-include=\"display=='roles' ? 'data/display-roles.html' : ''\"></div>\n" +
-    "\n" +
-    "      </div>\n" +
-    "\n" +
-    "      </div>\n" +
-    "    </section>\n" +
-    "\n" +
-    "\n" +
-    "\n" +
-    "\n" +
-    "</div>\n" +
-    "\n"
-  );
-
-
-  $templateCache.put('data/display-generic.html',
-    "\n" +
-    "\n" +
-    "<bsmodal id=\"deleteEntities\"\n" +
-    "         title=\"Are you sure you want to delete the entities(s)?\"\n" +
-    "         close=\"hideModal\"\n" +
-    "         closelabel=\"Cancel\"\n" +
-    "         extrabutton=\"deleteEntitiesDialog\"\n" +
-    "         extrabuttonlabel=\"Delete\"\n" +
-    "         buttonid=\"del-entity\"\n" +
-    "         ng-cloak>\n" +
-    "    <fieldset>\n" +
-    "        <div class=\"control-group\">\n" +
-    "        </div>\n" +
-    "    </fieldset>\n" +
-    "</bsmodal>\n" +
-    "\n" +
-    "<span  class=\"button-strip\">\n" +
-    "  <button class=\"btn btn-primary\" ng-disabled=\"!valueSelected(queryCollection._list) || deleteLoading\" ng-click=\"deleteEntitiesDialog()\">{{deleteLoading ? loadingText : 'Delete Entity(s)'}}</button>\n" +
-    "</span>\n" +
-    "<table class=\"table table-striped collection-list\">\n" +
-    "  <thead>\n" +
-    "  <tr class=\"table-header\">\n" +
-    "    <th><input type=\"checkbox\" ng-show=\"queryCollection._list.length > 0\" id=\"selectAllCheckbox\" ng-model=\"queryBoxesSelected\" ng-click=\"selectAllEntities(queryCollection._list,$parent,'queryBoxesSelected',true)\"></th>\n" +
-    "    <th ng-if=\"hasProperty('name')\">Name</th>\n" +
-    "    <th>UUID</th>\n" +
-    "    <th></th>\n" +
-    "  </tr>\n" +
-    "  </thead>\n" +
-    "  <tbody ng-repeat=\"entity in queryCollection._list\">\n" +
-    "  <tr class=\"zebraRows\" >\n" +
-    "    <td>\n" +
-    "      <input\n" +
-    "        type=\"checkbox\"\n" +
-    "        id=\"entity-{{entity._data.name}}-cb\"\n" +
-    "        ng-value=\"entity._data.uuid\"\n" +
-    "        ng-model=\"entity.checked\"\n" +
-    "        >\n" +
-    "    </td>\n" +
-    "    <td ng-if=\"hasProperty('name')\">{{entity._data.name}}</td>\n" +
-    "    <td>{{entity._data.uuid}}</td>\n" +
-    "    <td><a href=\"javaScript:void(0)\" ng-click=\"entitySelected[$index] = !entitySelected[$index];selectEntity(entity._data.uuid)\">{{entitySelected[$index] ? 'Hide' : 'View'}} Details</a></td>\n" +
-    "  </tr>\n" +
-    "  <tr ng-if=\"entitySelected[$index]\">\n" +
-    "    <td colspan=\"5\">\n" +
-    "\n" +
-    "\n" +
-    "      <h4 style=\"margin: 0 0 20px 0\">Entity Detail</h4>\n" +
-    "\n" +
-    "\n" +
-    "      <ul class=\"formatted-json\">\n" +
-    "        <li ng-repeat=\"(k,v) in entity._data track by $index\">\n" +
-    "          <span class=\"key\">{{k}} :</span>\n" +
-    "          <!--todo - doing manual recursion to get this out the door for launch, please fix-->\n" +
-    "          <span ng-switch on=\"isDeep(v)\">\n" +
-    "            <ul ng-switch-when=\"true\">\n" +
-    "              <li ng-repeat=\"(k2,v2) in v\"><span class=\"key\">{{k2}} :</span>\n" +
-    "\n" +
-    "                <span ng-switch on=\"isDeep(v2)\">\n" +
-    "                  <ul ng-switch-when=\"true\">\n" +
-    "                    <li ng-repeat=\"(k3,v3) in v2\"><span class=\"key\">{{k3}} :</span><span class=\"value\">{{v3}}</span></li>\n" +
-    "                  </ul>\n" +
-    "                  <span ng-switch-when=\"false\">\n" +
-    "                    <span class=\"value\">{{v2}}</span>\n" +
-    "                  </span>\n" +
-    "                </span>\n" +
-    "              </li>\n" +
-    "            </ul>\n" +
-    "            <span ng-switch-when=\"false\">\n" +
-    "              <span class=\"value\">{{v}}</span>\n" +
-    "            </span>\n" +
-    "          </span>\n" +
-    "        </li>\n" +
-    "      </ul>\n" +
-    "\n" +
-    "    <div class=\"control-group\">\n" +
-    "      <h4 style=\"margin: 20px 0 20px 0\">Edit Entity</h4>\n" +
-    "      <div class=\"controls\">\n" +
-    "        <textarea ng-model=\"entity._json\" class=\"span12\" rows=\"12\"></textarea>\n" +
-    "        <br>\n" +
-    "        <a class=\"btn btn-primary toolbar pull-left\" ng-click=\"validateJson();\">Validate JSON</a><button type=\"button\" class=\"btn btn-primary pull-right\" id=\"button-query\" ng-click=\"saveEntity(entity);\">Save</button>\n" +
-    "      </div>\n" +
-    "    </div>\n" +
-    "  </td>\n" +
-    "  </tr>\n" +
-    "\n" +
-    "  <tr ng-show=\"queryCollection._list.length == 0\">\n" +
-    "    <td colspan=\"4\">No data found</td>\n" +
-    "  </tr>\n" +
-    "  </tbody>\n" +
-    "</table>\n" +
-    "<div style=\"padding: 10px 5px 10px 5px\">\n" +
-    "  <button class=\"btn btn-primary toolbar\" ng-click=\"getPrevious()\" style=\"display:{{previous_display}}\">< Previous</button>\n" +
-    "  <button class=\"btn btn-primary toolbar\" ng-click=\"getNext()\" style=\"display:{{next_display}}; float:right;\">Next ></button>\n" +
-    "</div>\n" +
-    "\n"
-  );
-
-
-  $templateCache.put('data/display-groups.html',
-    ""
-  );
-
-
-  $templateCache.put('data/display-roles.html',
-    "roles---------------------------------"
-  );
-
-
-  $templateCache.put('data/display-users.html',
-    "\n" +
-    "<table id=\"query-response-table\" class=\"table\">\n" +
-    "  <tbody>\n" +
-    "  <tr class=\"zebraRows users-row\">\n" +
-    "    <td class=\"checkboxo\">\n" +
-    "      <input type=\"checkbox\" onclick=\"Usergrid.console.selectAllEntities(this);\"></td>\n" +
-    "    <td class=\"gravatar50-td\">&nbsp;</td>\n" +
-    "    <td class=\"user-details bold-header\">Username</td>\n" +
-    "    <td class=\"user-details bold-header\">Display Name</td>\n" +
-    "    <td class=\"user-details bold-header\">UUID</td>\n" +
-    "    <td class=\"view-details\">&nbsp;</td>\n" +
-    "  </tr>\n" +
-    "  <tr class=\"zebraRows users-row\">\n" +
-    "    <td class=\"checkboxo\">\n" +
-    "      <input class=\"listItem\" type=\"checkbox\" name=\"/users/8bb9a3fa-d508-11e2-875d-a59031a365e8/following/bf9a95da-d508-11e2-bf44-236d2eee13a7\" value=\"bf9a95da-d508-11e2-bf44-236d2eee13a7\">\n" +
-    "    </td>\n" +
-    "    <td class=\"gravatar50-td\">\n" +
-    "      <img src=\"http://www.gravatar.com/avatar/01b37aa66496988ca780b3f515bc768e\" class=\"gravatar50\">\n" +
-    "    </td>\n" +
-    "    <td class=\"details\">\n" +
-    "      <a onclick=\"Usergrid.console.getCollection('GET', '/users/8bb9a3fa-d508-11e2-875d-a59031a365e8/following/'+'bf9a95da-d508-11e2-bf44-236d2eee13a7'); $('#data-explorer').show(); return false;\" class=\"view-details\">10</a>\n" +
-    "    </td>\n" +
-    "    <td class=\"details\">      #\"&gt;&lt;img src=x onerror=prompt(1);&gt;   </td>\n" +
-    "    <td class=\"details\">     bf9a95da-d508-11e2-bf44-236d2eee13a7   </td>\n" +
-    "    <td class=\"view-details\">\n" +
-    "      <a href=\"\" onclick=\"$('#query-row-bf9a95da-d508-11e2-bf44-236d2eee13a7').toggle(); $('#data-explorer').show(); return false;\" class=\"view-details\">Details</a>\n" +
-    "    </td>\n" +
-    "  </tr>\n" +
-    "  <tr id=\"query-row-bf9a95da-d508-11e2-bf44-236d2eee13a7\" style=\"display:none\">\n" +
-    "    <td colspan=\"5\">\n" +
-    "      <div>\n" +
-    "        <div style=\"padding-bottom: 10px;\">\n" +
-    "          <button type=\"button\" class=\"btn btn-small query-button active\" id=\"button-query-show-row-JSON\" onclick=\"Usergrid.console.activateQueryRowJSONButton(); $('#query-row-JSON-bf9a95da-d508-11e2-bf44-236d2eee13a7').show(); $('#query-row-content-bf9a95da-d508-11e2-bf44-236d2eee13a7').hide(); return false;\">JSON</button>\n" +
-    "          <button type=\"button\" class=\"btn btn-small query-button disabled\" id=\"button-query-show-row-content\" onclick=\"Usergrid.console.activateQueryRowContentButton();$('#query-row-content-bf9a95da-d508-11e2-bf44-236d2eee13a7').show(); $('#query-row-JSON-bf9a95da-d508-11e2-bf44-236d2eee13a7').hide(); return false;\">Content</button>\n" +
-    "        </div>\n" +
-    "        <div id=\"query-row-JSON-bf9a95da-d508-11e2-bf44-236d2eee13a7\">\n" +
-    "              <pre>{\n" +
-    "  \"picture\": \"http://www.gravatar.com/avatar/01b37aa66496988ca780b3f515bc768e\",\n" +
-    "  \"uuid\": \"bf9a95da-d508-11e2-bf44-236d2eee13a7\",\n" +
-    "  \"type\": \"user\",\n" +
-    "  \"name\": \"#\"&gt;&lt;img src=x onerror=prompt(1);&gt;\",\n" +
-    "  \"created\": 1371224432557,\n" +
-    "  \"modified\": 1371851347024,\n" +
-    "  \"username\": \"10\",\n" +
-    "  \"email\": \"fdsafdsa@ookfd.com\",\n" +
-    "  \"activated\": \"true\",\n" +
-    "  \"adr\": {\n" +
-    "    \"addr1\": \"\",\n" +
-    "    \"addr2\": \"\",\n" +
-    "    \"city\": \"\",\n" +
-    "    \"state\": \"\",\n" +
-    "    \"zip\": \"\",\n" +
-    "    \"country\": \"\"\n" +
-    "  },\n" +
-    "  \"metadata\": {\n" +
-    "    \"path\": \"/users/8bb9a3fa-d508-11e2-875d-a59031a365e8/following/bf9a95da-d508-11e2-bf44-236d2eee13a7\",\n" +
-    "    \"sets\": {\n" +
-    "      \"rolenames\": \"/users/8bb9a3fa-d508-11e2-875d-a59031a365e8/following/bf9a95da-d508-11e2-bf44-236d2eee13a7/rolenames\",\n" +
-    "      \"permissions\": \"/users/8bb9a3fa-d508-11e2-875d-a59031a365e8/following/bf9a95da-d508-11e2-bf44-236d2eee13a7/permissions\"\n" +
-    "    },\n" +
-    "    \"collections\": {\n" +
-    "      \"activities\": \"/users/8bb9a3fa-d508-11e2-875d-a59031a365e8/following/bf9a95da-d508-11e2-bf44-236d2eee13a7/activities\",\n" +
-    "      \"devices\": \"/users/8bb9a3fa-d508-11e2-875d-a59031a365e8/following/bf9a95da-d508-11e2-bf44-236d2eee13a7/devices\",\n" +
-    "      \"feed\": \"/users/8bb9a3fa-d508-11e2-875d-a59031a365e8/following/bf9a95da-d508-11e2-bf44-236d2eee13a7/feed\",\n" +
-    "      \"groups\": \"/users/8bb9a3fa-d508-11e2-875d-a59031a365e8/following/bf9a95da-d508-11e2-bf44-236d2eee13a7/groups\",\n" +
-    "      \"roles\": \"/users/8bb9a3fa-d508-11e2-875d-a59031a365e8/following/bf9a95da-d508-11e2-bf44-236d2eee13a7/roles\",\n" +
-    "      \"following\": \"/users/8bb9a3fa-d508-11e2-875d-a59031a365e8/following/bf9a95da-d508-11e2-bf44-236d2eee13a7/following\",\n" +
-    "      \"followers\": \"/users/8bb9a3fa-d508-11e2-875d-a59031a365e8/following/bf9a95da-d508-11e2-bf44-236d2eee13a7/followers\"\n" +
-    "    }\n" +
-    "  },\n" +
-    "  \"title\": \"#\"&gt;&lt;img src=x onerror=prompt(1);&gt;\"\n" +
-    "}</pre>\n" +
-    "        </div>\n" +
-    "        <div id=\"query-row-content-bf9a95da-d508-11e2-bf44-236d2eee13a7\" style=\"display:none\">\n" +
-    "          <table>\n" +
-    "            <tbody>\n" +
-    "            <tr>\n" +
-    "              <td>picture</td>\n" +
-    "              <td>http://www.gravatar.com/avatar/01b37aa66496988ca780b3f515bc768e</td></tr><tr><td>uuid</td><td>bf9a95da-d508-11e2-bf44-236d2eee13a7</td></tr><tr><td>type</td><td>user</td></tr><tr><td>name</td><td>#&amp;quot;&amp;gt;&amp;lt;img src=x onerror=prompt(1);&amp;gt;</td></tr><tr><td>created</td><td>1371224432557</td></tr><tr><td>modified</td><td>1371851347024</td></tr><tr><td>username</td><td>10</td></tr><tr><td>email</td><td>fdsafdsa@ookfd.com</td></tr><tr><td>activated</td><td>true</td></tr><tr><td></td><td style=\"padding: 0\"><table><tbody><tr></tr><tr><td>addr1</td><td></td></tr><tr><td>addr2</td><td></td></tr><tr><td>city</td><td></td></tr><tr><td>state</td><td></td></tr><tr><td>zip</td><td></td></tr><tr><td>country</td><td></td></tr></tbody></table></td></tr><tr><td></td><td style=\"padding: 0\"><table><tbody><tr></tr><tr><td>path</td><td>/users/8bb9a3fa-d508-11e2-875d-a59031a365e8/following/bf9a95da-d508-11e2-bf44-236d2eee13a7</td></tr><tr><td></td><td style=
 \"padding: 0\"><table><tbody><tr></tr><tr><td>rolenames</td><td>/users/8bb9a3fa-d508-11e2-875d-a59031a365e8/following/bf9a95da-d508-11e2-bf44-236d2eee13a7/rolenames</td></tr><tr><td>permissions</td><td>/users/8bb9a3fa-d508-11e2-875d-a59031a365e8/following/bf9a95da-d508-11e2-bf44-236d2eee13a7/permissions</td></tr></tbody></table></td></tr><tr><td></td><td style=\"padding: 0\"><table><tbody><tr></tr><tr><td>activities</td><td>/users/8bb9a3fa-d508-11e2-875d-a59031a365e8/following/bf9a95da-d508-11e2-bf44-236d2eee13a7/activities</td></tr><tr><td>devices</td><td>/users/8bb9a3fa-d508-11e2-875d-a59031a365e8/following/bf9a95da-d508-11e2-bf44-236d2eee13a7/devices</td></tr><tr><td>feed</td><td>/users/8bb9a3fa-d508-11e2-875d-a59031a365e8/following/bf9a95da-d508-11e2-bf44-236d2eee13a7/feed</td></tr><tr><td>groups</td><td>/users/8bb9a3fa-d508-11e2-875d-a59031a365e8/following/bf9a95da-d508-11e2-bf44-236d2eee13a7/groups</td></tr><tr><td>roles</td><td>/users/8bb9a3fa-d508-11e2-875d-a59031a365e8/foll
 owing/bf9a95da-d508-11e2-bf44-236d2eee13a7/roles</td></tr><tr><td>following</td><td>/users/8bb9a3fa-d508-11e2-875d-a59031a365e8/following/bf9a95da-d508-11e2-bf44-236d2eee13a7/following</td></tr><tr><td>followers</td><td>/users/8bb9a3fa-d508-11e2-875d-a59031a365e8/following/bf9a95da-d508-11e2-bf44-236d2eee13a7/followers</td></tr></tbody></table></td></tr></tbody></table></td></tr><tr><td>title</td><td>#&amp;quot;&amp;gt;&amp;lt;img src=x onerror=prompt(1);&amp;gt;</td>\n" +
-    "            </tr>\n" +
-    "            </tbody>\n" +
-    "          </table>\n" +
-    "        </div>\n" +
-    "      </div>\n" +
-    "    </td>\n" +
-    "  </tr>\n" +
-    "  </tbody>\n" +
-    "</table>"
-  );
-
-
-  $templateCache.put('data/entity.html',
-    "<div class=\"content-page\">\n" +
-    "\n" +
-    "  <h4>Entity Detail</h4>\n" +
-    "  <div class=\"well\">\n" +
-    "    <a href=\"#!/data\" class=\"outside-link\"><< Back to collection</a>\n" +
-    "  </div>\n" +
-    "  <fieldset>\n" +
-    "    <div class=\"control-group\">\n" +
-    "      <strong>Path </strong>\n" +
-    "      <div class=\"controls\">\n" +
-    "        {{entityType}}/{{entityUUID}}\n" +
-    "      </div>\n" +
-    "    </div>\n" +
-    "\n" +
-    "    <div class=\"control-group\">\n" +
-    "      <label class=\"control-label\" for=\"query-source\"><strong>JSON Body</strong></label>\n" +
-    "      <div class=\"controls\">\n" +
-    "        <textarea ng-model=\"queryBody\" class=\"span6 pull-left\" rows=\"12\">{{queryBody}}</textarea>\n" +
-    "        <br>\n" +
-    "        <a class=\"btn pull-left\" ng-click=\"validateJson();\">Validate JSON</a>\n" +
-    "      </div>\n" +
-    "    </div>\n" +
-    "    <div style=\"clear: both; height: 10px;\"></div>\n" +
-    "    <div class=\"control-group\">\n" +
-    "      <button type=\"button\" class=\"btn btn-primary\" id=\"button-query\" ng-click=\"saveEntity();\">Save</button>\n" +
-    "      <!--button type=\"button\" class=\"btn btn-primary\" id=\"button-query\" ng-click=\"run();\">Delete</button-->\n" +
-    "    </div>\n" +
-    "  </fieldset>\n" +
-    "\n" +
-    "</div>\n" +
-    "\n"
-  );
-
-
-  $templateCache.put('dialogs/modal.html',
-    "    <div class=\"modal show fade\" tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\">\n" +
-    "        <form ng-submit=\"extraDelegate(extrabutton)\" name=\"dialogForm\" novalidate>\n" +
-    "\n" +
-    "        <div class=\"modal-header\">\n" +
-    "            <h1 class=\"title\">{{title}}</h1>\n" +
-    "        </div>\n" +
-    "\n" +
-    "        <div class=\"modal-body\" ng-transclude></div>\n" +
-    "        <div class=\"modal-footer\">\n" +
-    "            {{footertext}}\n" +
-    "            <input type=\"submit\" class=\"btn\" id=\"dialogButton-{{buttonId}}\" ng-if=\"extrabutton\" ng-disabled=\"!dialogForm.$valid\" aria-hidden=\"true\" ng-value=\"extrabuttonlabel\"/>\n" +
-    "            <button class=\"btn cancel pull-left\" data-dismiss=\"modal\" aria-hidden=\"true\"\n" +
-    "                    ng-click=\"closeDelegate(close)\">{{closelabel}}\n" +
-    "            </button>\n" +
-    "        </div>\n" +
-    "        </form>    </div>\n"
-  );
-
-
-  $templateCache.put('global/appswitcher-template.html',
-    "<li id=\"globalNav\" class=\"dropdown dropdownContainingSubmenu active\">\n" +
-    "  <a class=\"dropdown-toggle\" data-toggle=\"dropdown\">API Platform<b class=\"caret\"></b></a>\n" +
-    "  <ul class=\"dropdown-menu pull-right\">\n" +
-    "    <li id=\"globalNavSubmenuContainer\">\n" +
-    "      <ul>\n" +
-    "        <li data-globalNavDetail=\"globalNavDetailApigeeHome\"><a target=\"_blank\" href=\"http://apigee.com\">Apigee Home</a></li>\n" +
-    "        <li data-globalNavDetail=\"globalNavDetailAppServices\" class=\"active\"><a target=\"_blank\" href=\"https://apigee.com/usergrid/\">App Services</a></li>\n" +
-    "        <li data-globalNavDetail=\"globalNavDetailApiPlatform\" ><a target=\"_blank\" href=\"https://enterprise.apigee.com\">API Platform</a></li>\n" +
-    "        <li data-globalNavDetail=\"globalNavDetailApiConsoles\"><a target=\"_blank\" href=\"http://apigee.com/providers\">API Consoles</a></li>\n" +
-    "      </ul>\n" +
-    "    </li>\n" +
-    "    <li id=\"globalNavDetail\">\n" +
-    "      <div id=\"globalNavDetailApigeeHome\">\n" +
-    "        <div class=\"globalNavDetailApigeeLogo\"></div>\n" +
-    "        <div class=\"globalNavDetailDescription\">You need apps and apps need APIs. Apigee is the leading API platform for enterprises and developers.</div>\n" +
-    "      </div>\n" +
-    "      <div id=\"globalNavDetailAppServices\">\n" +
-    "        <div class=\"globalNavDetailSubtitle\">For App Developers</div>\n" +
-    "        <div class=\"globalNavDetailTitle\">App Services</div>\n" +
-    "        <div class=\"globalNavDetailDescription\">Build engaging applications, store data, manage application users, and more.</div>\n" +
-    "      </div>\n" +
-    "      <div id=\"globalNavDetailApiPlatform\">\n" +
-    "        <div class=\"globalNavDetailSubtitle\">For API Developers</div>\n" +
-    "        <div class=\"globalNavDetailTitle\">API Platform</div>\n" +
-    "        <div class=\"globalNavDetailDescription\">Create, configure, manage and analyze your APIs and resources.</div>\n" +
-    "      </div>\n" +
-    "      <div id=\"globalNavDetailApiConsoles\">\n" +
-    "        <div class=\"globalNavDetailSubtitle\">For API Developers</div>\n" +
-    "        <div class=\"globalNavDetailTitle\">API Consoles</div>\n" +
-    "        <div class=\"globalNavDetailDescription\">Explore over 100 APIs with the Apigee API Console, or create and embed your own API Console.</div>\n" +
-    "      </div>\n" +
-    "    </li>\n" +
-    "  </ul>\n" +
-    "</li>"
-  );
-
-
-  $templateCache.put('global/insecure-banner.html',
-    "<div ng-if=\"securityWarning\" ng-cloak class=\"demo-holder\">\n" +
-    "    <div class=\"alert alert-demo alert-animate\">\n" +
-    "        <div class=\"alert-text\">\n" +
-    "            <i class=\"pictogram\">&#9888;</i>Warning: This application has \"sandbox\" permissions and is not production ready. <a target=\"_blank\" href=\"http://apigee.com/docs/app-services/content/securing-your-app\">Please go to our security documentation to find out more.</a></span>\n" +
-    "        </div>\n" +
-    "    </div>\n" +
-    "</div>"
-  );
-
-
-  $templateCache.put('global/page-title.html',
-    "<section class=\"row-fluid\">\n" +
-    "    <div class=\"span12\">\n" +
-    "        <div class=\"page-filters\">\n" +
-    "            <h1 class=\"title pull-left\" id=\"pageTitle\"><i class=\"pictogram title\" style=\"padding-right: 5px;\">{{icon}}</i>{{title}} <a class=\"super-help\" href=\"http://community.apigee.com/content/apigee-customer-support\" target=\"_blank\"  >(need help?)</a></h1>\n" +
-    "        </div>\n" +
-    "    </div>\n" +
-    "    <bsmodal id=\"need-help\"\n" +
-    "             title=\"Need Help?\"\n" +
-    "             close=\"hideModal\"\n" +
-    "             closelabel=\"Cancel\"\n" +
-    "             extrabutton=\"sendHelp\"\n" +
-    "             extrabuttonlabel=\"Get Help\"\n" +
-    "             ng-cloak>\n" +
-    "        <p>Do you want to contact support? Support will get in touch with you as soon as possible.</p>\n" +
-    "    </bsmodal>\n" +
-    "</section>\n" +
-    "\n"
-  );
-
-
-  $templateCache.put('groups/groups-activities.html',
-    "<div class=\"content-page\" ng-controller=\"GroupsActivitiesCtrl\">\n" +
-    "\n" +
-    "  <br>\n" +
-    "  <div>\n" +
-    "    <table class=\"table table-striped\">\n" +
-    "      <tbody>\n" +
-    "      <tr class=\"table-header\">\n" +
-    "        <td>Date</td>\n" +
-    "        <td>Content</td>\n" +
-    "        <td>Verb</td>\n" +
-    "        <td>UUID</td>\n" +
-    "      </tr>\n" +
-    "      <tr class=\"zebraRows\" ng-repeat=\"activity in selectedGroup.activities\">\n" +
-    "        <td>{{activity.createdDate}}</td>\n" +
-    "        <td>{{activity.content}}</td>\n" +
-    "        <td>{{activity.verb}}</td>\n" +
-    "        <td>{{activity.uuid}}</td>\n" +
-    "      </tr>\n" +
-    "      </tbody>\n" +
-    "    </table>\n" +
-    "  </div>\n" +
-    "\n" +
-    "\n" +
-    "</div>"
-  );
-
-
-  $templateCache.put('groups/groups-details.html',
-    "<div class=\"content-page\" ng-controller=\"GroupsDetailsCtrl\">\n" +
-    "\n" +
-    "  <div>\n" +
-    "      <form name=\"updateGroupDetailForm\" ng-submit=\"saveSelectedGroup()\" novalidate>\n" +
-    "          <div style=\"float: left; padding-right: 30px;\">\n" +
-    "              <h4 class=\"ui-dform-legend\">Group Information</h4>\n" +
-    "              <label for=\"group-title\" class=\"ui-dform-label\">Group Title</label>\n" +
-    "              <input type=\"text\" id=\"group-title\" ng-pattern=\"titleRegex\" ng-attr-title=\"{{titleRegexDescription}}\" required class=\"ui-dform-text\" ng-model=\"group.title\" ug-validate>\n" +
-    "              <br/>\n" +
-    "            <label for=\"group-path\" class=\"ui-dform-label\">Group Path</label>\n" +
-    "            <input type=\"text\" id=\"group-path\" required ng-attr-title=\"{{pathRegexDescription}}\" placeholder=\"ex: /mydata\" ng-pattern=\"pathRegex\" class=\"ui-dform-text\" ng-model=\"group.path\" ug-validate>\n" +
-    "            <br/>\n" +
-    "          </div>\n" +
-    "          <br style=\"clear:both\"/>\n" +
-    "\n" +
-    "          <div style=\"width:100%;float:left;padding: 20px 0\">\n" +
-    "              <input type=\"submit\" value=\"Save Group\" style=\"margin-right: 15px;\" ng-disabled=\"!updateGroupDetailForm.$valid\" class=\"btn btn-primary\" />\n" +
-    "          </div>\n" +
-    "\n" +
-    "          <div class=\"content-container\">\n" +
-    "              <h4>JSON Group Object</h4>\n" +
-    "              <pre>{{json}}</pre>\n" +
-    "          </div>\n" +
-    "      </form>\n" +
-    "  </div>\n" +
-    "\n" +
-    "\n" +
-    "</div>"
-  );
-
-
-  $templateCache.put('groups/groups-members.html',
-    "<div class=\"content-page\" ng-controller=\"GroupsMembersCtrl\">\n" +
-    "\n" +
-    "\n" +
-    "  <bsmodal id=\"removeFromGroup\"\n" +
-    "           title=\"Confirmation\"\n" +
-    "           close=\"hideModal\"\n" +
-    "           closelabel=\"Cancel\"\n" +
-    "           extrabutton=\"removeUsersFromGroupDialog\"\n" +
-    "           extrabuttonlabel=\"Delete\"\n" +
-    "           ng-cloak>\n" +
-    "    <p>Are you sure you want to remove the users from the seleted group(s)?</p>\n" +
-    "  </bsmodal>\n" +
-    "\n" +
-    "  <bsmodal id=\"addGroupToUser\"\n" +
-    "           title=\"Add user to group\"\n" +
-    "           close=\"hideModal\"\n" +
-    "           closelabel=\"Cancel\"\n" +
-    "           extrabutton=\"addGroupToUserDialog\"\n" +
-    "           extrabuttonlabel=\"Add\"\n" +
-    "           ng-cloak>\n" +
-    "    <div class=\"btn-group\">\n" +
-    "      <a class=\"btn dropdown-toggle filter-selector\" data-toggle=\"dropdown\">\n" +
-    "        <span class=\"filter-label\">{{$parent.user != '' ? $parent.user.username : 'Select a user...'}}</span>\n" +
-    "        <span class=\"caret\"></span>\n" +
-    "      </a>\n" +
-    "      <ul class=\"dropdown-menu\">\n" +
-    "        <li ng-repeat=\"user in $parent.usersTypeaheadValues\" class=\"filterItem\"><a ng-click=\"$parent.$parent.user = user\">{{user.username}}</a></li>\n" +
-    "      </ul>\n" +
-    "    </div>\n" +
-    "  </bsmodal>\n" +
-    "\n" +
-    "\n" +
-    "  <div class=\"button-strip\">\n" +
-    "    <button class=\"btn btn-primary\"  ng-click=\"showModal('addGroupToUser')\">Add User to Group</button>\n" +
-    "    <button class=\"btn btn-primary\" ng-disabled=\"!hasMembers || !valueSelected(groupsCollection.users._list)\" ng-click=\"showModal('removeFromGroup')\">Remove User(s) from Group</button>\n" +
-    "  </div>\n" +
-    "  <table class=\"table table-striped\">\n" +
-    "    <tr class=\"table-header\">\n" +
-    "      <td style=\"width: 30px;\"><input type=\"checkbox\" ng-show=\"hasMembers\" id=\"selectAllCheckbox\" ng-model=\"groupMembersSelected\" ng-click=\"selectAllEntities(groupsCollection.users._list,this,'groupMembersSelected')\"></td>\n" +
-    "      <td style=\"width: 50px;\"></td>\n" +
-    "      <td>Username</td>\n" +
-    "      <td>Display Name</td>\n" +
-    "    </tr>\n" +
-    "    <tr class=\"zebraRows\" ng-repeat=\"user in groupsCollection.users._list\">\n" +
-    "      <td>\n" +
-    "        <input\n" +
-    "          type=\"checkbox\"\n" +
-    "          ng-model=\"user.checked\"\n" +
-    "          >\n" +
-    "      </td>\n" +
-    "      <td><img style=\"width:30px;height:30px;\" ng-src=\"{{user._portal_image_icon}}\"></td>\n" +
-    "      <td>{{user.get('username')}}</td>\n" +
-    "      <td>{{user.get('name')}}</td>\n" +
-    "    </tr>\n" +
-    "  </table>\n" +
-    "  <div style=\"padding: 10px 5px 10px 5px\">\n" +
-    "    <button class=\"btn btn-primary\" ng-click=\"getPrevious()\" style=\"display:{{previous_display}}\">< Previous</button>\n" +
-    "    <button class=\"btn btn-primary\" ng-click=\"getNext()\" style=\"display:{{next_display}}; float:right;\">Next ></button>\n" +
-    "  </div>\n" +
-    "</div>"
-  );
-
-
-  $templateCache.put('groups/groups-roles.html',
-    "<div class=\"content-page\" ng-controller=\"GroupsRolesCtrl\">\n" +
-    "\n" +
-    "  <bsmodal id=\"addGroupToRole\"\n" +
-    "           title=\"Add group to role\"\n" +
-    "           close=\"hideModal\"\n" +
-    "           closelabel=\"Cancel\"\n" +
-    "           extrabutton=\"addGroupToRoleDialog\"\n" +
-    "           extrabuttonlabel=\"Add\"\n" +
-    "           ng-cloak>\n" +
-    "    <div class=\"btn-group\">\n" +
-    "      <a class=\"btn dropdown-toggle filter-selector\" data-toggle=\"dropdown\">\n" +
-    "        <span class=\"filter-label\">{{$parent.name != '' ? $parent.name : 'Role name...'}}</span>\n" +
-    "        <span class=\"caret\"></span>\n" +
-    "      </a>\n" +
-    "      <ul class=\"dropdown-menu\">\n" +
-    "        <li ng-repeat=\"role in $parent.rolesTypeaheadValues\" class=\"filterItem\"><a ng-click=\"$parent.$parent.name = role.name\">{{role.name}}</a></li>\n" +
-    "      </ul>\n" +
-    "    </div>\n" +
-    "  </bsmodal>\n" +
-    "\n" +
-    "  <bsmodal id=\"leaveRoleFromGroup\"\n" +
-    "           title=\"Confirmation\"\n" +
-    "           close=\"hideModal\"\n" +
-    "           closelabel=\"Cancel\"\n" +
-    "           extrabutton=\"leaveRoleDialog\"\n" +
-    "           extrabuttonlabel=\"Leave\"\n" +
-    "           ng-cloak>\n" +
-    "    <p>Are you sure you want to remove the group from the role(s)?</p>\n" +
-    "  </bsmodal>\n" +
-    "\n" +
-    "\n" +
-    "  <div class=\"button-strip\">\n" +
-    "    <button class=\"btn btn-primary\" ng-click=\"showModal('addGroupToRole')\">Add Role to Group</button>\n" +
-    "    <button class=\"btn btn-primary\" ng-disabled=\"!hasRoles || !valueSelected(groupsCollection.roles._list)\" ng-click=\"showModal('leaveRoleFromGroup')\">Remove Role(s) from Group</button>\n" +
-    "  </div>\n" +
-    "  <h4>Roles</h4>\n" +
-    "  <table class=\"table table-striped\">\n" +
-    "    <tbody>\n" +
-    "    <tr class=\"table-header\">\n" +
-    "      <td style=\"width: 30px;\"><input type=\"checkbox\" ng-show=\"hasRoles\" id=\"groupsSelectAllCheckBox\" ng-model=\"groupRoleSelected\" ng-click=\"selectAllEntities(groupsCollection.roles._list,this,'groupRoleSelected')\" ></td>\n" +
-    "      <td>Role Name</td>\n" +
-    "      <td>Role title</td>\n" +
-    "    </tr>\n" +
-    "    <tr class=\"zebraRows\" ng-repeat=\"role in groupsCollection.roles._list\">\n" +
-    "      <td>\n" +
-    "        <input\n" +
-    "          type=\"checkbox\"\n" +
-    "          ng-model=\"role.checked\"\n" +
-    "          >\n" +
-    "      </td>\n" +
-    "      <td>{{role._data.name}}</td>\n" +
-    "      <td>{{role._data.title}}</td>\n" +
-    "    </tr>\n" +
-    "    </tbody>\n" +
-    "  </table>\n" +
-    "  <div style=\"padding: 10px 5px 10px 5px\">\n" +
-    "    <button class=\"btn btn-primary\" ng-click=\"getPreviousRoles()\" style=\"display:{{roles_previous_display}}\">< Previous</button>\n" +
-    "    <button class=\"btn btn-primary\" ng-click=\"getNextRoles()\" style=\"display:{{roles_next_display}};float:right;\">Next ></button>\n" +
-    "  </div>\n" +
-    "\n" +
-    "\n" +
-    "  <bsmodal id=\"deletePermission\"\n" +
-    "           title=\"Confirmation\"\n" +
-    "           close=\"hideModal\"\n" +
-    "           closelabel=\"Cancel\"\n" +
-    "           extrabutton=\"deleteGroupPermissionDialog\"\n" +
-    "           extrabuttonlabel=\"Delete\"\n" +
-    "           ng-cloak>\n" +
-    "    <p>Are you sure you want to delete the permission(s)?</p>\n" +
-    "  </bsmodal>\n" +
-    "\n" +
-    "\n" +
-    "  <bsmodal id=\"addPermission\"\n" +
-    "           title=\"New Permission\"\n" +
-    "           close=\"hideModal\"\n" +
-    "           closelabel=\"Cancel\"\n" +
-    "           extrabutton=\"addGroupPermissionDialog\"\n" +
-    "           extrabuttonlabel=\"Add\"\n" +
-    "           ng-cloak>\n" +
-    "    <p>Path: <input ng-model=\"$parent.permissions.path\" placeholder=\"ex: /mydata\" id=\"groupsrolespermissions\" type=\"text\" ng-pattern=\"pathRegex\" ng-attr-title=\"{{pathRegexDescription}}\" required ug-validate  /></p>\n" +
-    "    <div class=\"control-group\">\n" +
-    "      <input type=\"checkbox\" ng-model=\"$parent.permissions.getPerm\"> GET\n" +
-    "    </div>\n" +
-    "    <div class=\"control-group\">\n" +
-    "      <input type=\"checkbox\" ng-model=\"$parent.permissions.postPerm\"> POST\n" +
-    "    </div>\n" +
-    "    <div class=\"control-group\">\n" +
-    "      <input type=\"checkbox\" ng-model=\"$parent.permissions.putPerm\"> PUT\n" +
-    "    </div>\n" +
-    "    <div class=\"control-group\">\n" +
-    "      <input type=\"checkbox\" ng-model=\"$parent.permissions.deletePerm\"> DELETE\n" +
-    "    </div>\n" +
-    "  </bsmodal>\n" +
-    "\n" +
-    "\n" +
-    "  <div class=\"button-strip\">\n" +
-    "    <button class=\"btn btn-primary\" ng-click=\"showModal('addPermission')\">Add Permission</button>\n" +
-    "    <button class=\"btn btn-primary\" ng-disabled=\"!hasPermissions || !valueSelected(selectedGroup.permissions)\" ng-click=\"showModal('deletePermission')\">Delete Permission(s)</button>\n" +
-    "  </div>\n" +
-    "  <h4>Permissions</h4>\n" +
-    "  <table class=\"table table-striped\">\n" +
-    "    <tbody>\n" +
-    "    <tr class=\"table-header\">\n" +
-    "      <td style=\"width: 30px;\"><input ng-show=\"hasPermissions\" type=\"checkbox\" id=\"permissionsSelectAllCheckBox\" ng-model=\"groupPermissionsSelected\" ng-click=\"selectAllEntities(selectedGroup.permissions,this,'groupPermissionsSelected')\"  ></td>\n" +
-    "      <td>Path</td>\n" +
-    "      <td>GET</td>\n" +
-    "      <td>POST</td>\n" +
-    "      <td>PUT</td>\n" +
-    "      <td>DELETE</td>\n" +
-    "    </tr>\n" +
-    "    <tr class=\"zebraRows\" ng-repeat=\"permission in selectedGroup.permissions\">\n" +
-    "      <td>\n" +
-    "        <input\n" +
-    "          type=\"checkbox\"\n" +
-    "          ng-model=\"permission.checked\"\n" +
-    "          >\n" +
-    "      </td>\n" +
-    "      <td>{{permission.path}}</td>\n" +
-    "      <td>{{permission.operations.get}}</td>\n" +
-    "      <td>{{permission.operations.post}}</td>\n" +
-    "      <td>{{permission.operations.put}}</td>\n" +
-    "      <td>{{permission.operations.delete}}</td>\n" +
-    "    </tr>\n" +
-    "    </tbody>\n" +
-    "  </table>\n" +
-    "\n" +
-    "</div>"
-  );
-
-
-  $templateCache.put('groups/groups-tabs.html',
-    "<div class=\"content-page\">\n" +
-    "\n" +
-    "  <section class=\"row-fluid\">\n" +
-    "\n" +
-    "    <div class=\"span12\">\n" +
-    "      <div class=\"page-filters\">\n" +
-    "        <h1 class=\"title\" class=\"pull-left\"><i class=\"pictogram title\">&#128101;</i> Groups</h1>\n" +
-    "      </div>\n" +
-    "    </div>\n" +
-    "\n" +
-    "  </section>\n" +
-    "\n" +
-    "  <div id=\"user-panel\" class=\"panel-buffer\">\n" +
-    "    <ul id=\"user-panel-tab-bar\" class=\"nav nav-tabs\">\n" +
-    "      <li><a href=\"javaScript:void(0);\" ng-click=\"gotoPage('groups')\">Group List</a></li>\n" +
-    "      <li ng-class=\"detailsSelected\"><a href=\"javaScript:void(0);\" ng-click=\"gotoPage('groups/details')\">Details</a></li>\n" +
-    "      <li ng-class=\"membersSelected\"><a href=\"javaScript:void(0);\" ng-click=\"gotoPage('groups/members')\">Users</a></li>\n" +
-    "      <li ng-class=\"activitiesSelected\"><a href=\"javaScript:void(0);\" ng-click=\"gotoPage('groups/activities')\">Activities</a></li>\n" +
-    "      <li ng-class=\"rolesSelected\"><a href=\"javaScript:void(0);\" ng-click=\"gotoPage('groups/roles')\">Roles &amp; Permissions</a></li>\n" +
-    "    </ul>\n" +
-    "  </div>\n" +
-    "\n" +
-    "  <div style=\"float: left; margin-right: 10px;\">\n" +
-    "    <div style=\"float: left;\">\n" +
-    "      <div class=\"user-header-title\"><strong>Group Path: </strong>{{selectedGroup.get('path')}}</div>\n" +
-    "      <div class=\"user-header-title\"><strong>Group Title: </strong>{{selectedGroup.get('title')}}</div>\n" +
-    "    </div>\n" +
-    "  </div>\n" +
-    "</div>\n" +
-    "<br>\n" +
-    "<br>\n"
-  );
-
-
-  $templateCache.put('groups/groups.html',
-    "<div class=\"content-page\">\n" +
-    "\n" +
-    "  <page-title title=\" Groups\" icon=\"&#128101;\"></page-title>\n" +
-    "  <bsmodal id=\"newGroup\"\n" +
-    "           title=\"New Group\"\n" +
-    "           close=\"hideModal\"\n" +
-    "           closelabel=\"Cancel\"\n" +
-    "           extrabutton=\"newGroupDialog\"\n" +
-    "           extrabuttonlabel=\"Add\"\n" +
-    "           ng-model=\"dialog\"\n" +
-    "           ng-cloak>\n" +
-    "    <fieldset>\n" +
-    "      <div class=\"control-group\">\n" +
-    "        <label for=\"title\">Title</label>\n" +
-    "        <div class=\"controls\">\n" +
-    "          <input type=\"text\" id=\"title\" ng-pattern=\"titleRegex\" ng-attr-title=\"{{titleRegexDescription}}\" required ng-model=\"newGroup.title\"class=\"input-xlarge\" ug-validate/>\n" +
-    "        </div>\n" +
-    "      </div>\n" +
-    "      <div class=\"control-group\">\n" +
-    "        <label for=\"path\">Path</label>\n" +
-    "        <div class=\"controls\">\n" +
-    "          <input id=\"path\" type=\"text\" ng-attr-title=\"{{pathRegexDescription}}\" placeholder=\"ex: /mydata\" ng-pattern=\"pathRegex\" required ng-model=\"newGroup.path\" class=\"input-xlarge\" ug-validate/>\n" +
-    "        </div>\n" +
-    "      </div>\n" +
-    "    </fieldset>\n" +
-    "  </bsmodal>\n" +
-    "\n" +
-    "  <bsmodal id=\"deleteGroup\"\n" +
-    "           title=\"Delete Group\"\n" +
-    "           close=\"hideModal\"\n" +
-    "           closelabel=\"Cancel\"\n" +
-    "           extrabutton=\"deleteGroupsDialog\"\n" +
-    "           extrabuttonlabel=\"Delete\"\n" +
-    "           ng-cloak>\n" +
-    "    <p>Are you sure you want to delete the group(s)?</p>\n" +
-    "  </bsmodal>\n" +
-    "\n" +
-    "\n" +
-    "  <section class=\"row-fluid\">\n" +
-    "    <div class=\"span3 user-col\">\n" +
-    "\n" +
-    "      <div class=\"button-toolbar span12\">\n" +
-    "        <a title=\"Select All\" class=\"btn btn-primary select-all toolbar\" ng-show=\"hasGroups\" ng-click=\"selectAllEntities(groupsCollection._list,this,'groupBoxesSelected',true)\"> <i class=\"pictogram\">&#8863;</i></a>\n" +
-    "        <button title=\"Delete\" class=\"btn btn-primary toolbar\" ng-disabled=\"!hasGroups || !valueSelected(groupsCollection._list)\" ng-click=\"showModal('deleteGroup')\"><i class=\"pictogram\">&#9749;</i></button>\n" +
-    "        <button title=\"Add\" class=\"btn btn-primary toolbar\" ng-click=\"showModal('newGroup')\"><i class=\"pictogram\">&#59136;</i></button>\n" +
-    "      </div>\n" +
-    "      <ul class=\"user-list\">\n" +
-    "        <li ng-class=\"selectedGroup._data.uuid === group._data.uuid ? 'selected' : ''\" ng-repeat=\"group in groupsCollection._list\" ng-click=\"selectGroup(group._data.uuid)\">\n" +
-    "          <input\n" +
-    "              type=\"checkbox\"\n" +
-    "              ng-value=\"group._data.uuid\"\n" +
-    "              ng-checked=\"group.checked\"\n" +
-    "              ng-model=\"group.checked\"\n" +
-    "              >\n" +
-    "          <a href=\"javaScript:void(0)\" >{{group.get('title')}}</a>\n" +
-    "          <br/>\n" +
-    "          <span ng-if=\"group.get('path')\" class=\"label\">Path:</span>/{{group.get('path')}}\n" +
-    "        </li>\n" +
-    "      </ul>\n" +
-    "\n" +
-    "\n" +
-    "      <div style=\"padding: 10px 5px 10px 5px\">\n" +
-    "        <button class=\"btn btn-primary\" ng-click=\"getPrevious()\" style=\"display:{{previous_display}}\">< Previous</button>\n" +
-    "        <button class=\"btn btn-primary\" ng-click=\"getNext()\" style=\"display:{{next_display}}; float:right;\">Next ></button>\n" +
-    "      </div>\n" +
-    "\n" +
-    "    </div>\n" +
-    "\n" +
-    "    <div class=\"span9 tab-content\" ng-show=\"selectedGroup.get\" >\n" +
-    "      <div class=\"menu-toolbar\">\n" +
-    "        <ul class=\"inline\" >\n" +
-    "          <li class=\"tab\" ng-class=\"currentGroupsPage.route === '/groups/details' ? 'selected' : ''\"><a class=\"btn btn-primary toolbar\" ng-click=\"selectGroupPage('/groups/details')\"><i class=\"pictogram\">&#59170;</i>Details</a></li>\n" +
-    "          <li class=\"tab\" ng-class=\"currentGroupsPage.route === '/groups/members' ? 'selected' : ''\"><a class=\"btn btn-primary toolbar\" ng-click=\"selectGroupPage('/groups/members')\"><i class=\"pictogram\">&#128101;</i>Users</a></li>\n" +
-    "          <li class=\"tab\" ng-class=\"currentGroupsPage.route === '/groups/activities' ? 'selected' : ''\"><a class=\"btn btn-primary toolbar\" ng-click=\"selectGroupPage('/groups/activities')\"><i class=\"pictogram\">&#59194;</i>Activities</a></li>\n" +
-    "          <li class=\"tab\" ng-class=\"currentGroupsPage.route === '/groups/roles' ? 'selected' : ''\"><a class=\"btn btn-primary toolbar\" ng-click=\"selectGroupPage('/groups/roles')\"><i class=\"pictogram\">&#127758;</i>Roles &amp; Permissions</a></li>\n" +
-    "        </ul>\n" +
-    "      </div>\n" +
-    "      <span ng-include=\"currentGroupsPage.template\"></span>\n" +
-    "\n" +
-    "  </section>\n" +
-    "</div>\n"
-  );
-
-
-  $templateCache.put('login/forgot-password.html',
-    "<div class=\"login-content\" ng-controller=\"ForgotPasswordCtrl\">\n" +
-    "\t<iframe class=\"container\" ng-src=\"{{forgotPWiframeURL}}\" id=\"forgot-password-frame\" border=\"0\" style=\"border:0;width:600px;height:620px;\">\n" +
-    "\t<p>Email Address: <input id=\"resetPasswordEmail\" name=\"resetPasswordEmail\" /></p>\n" +
-    "\t<button class=\"btn btn-primary\" ng-click=\"\">Reset Password</button>\n" +
-    "</div>\n"
-  );
-
-
-  $templateCache.put('login/loading.html',
-    "\n" +
-    "\n" +
-    "<h1>Loading...</h1>"
-  );
-
-
-  $templateCache.put('login/login.html',
-    "<div class=\"login-content\">\r" +
-    "\n" +
-    "  <bsmodal id=\"sendActivationLink\"\r" +
-    "\n" +
-    "           title=\"Resend Activation Link\"\r" +
-    "\n" +
-    "           close=\"hideModal\"\r" +
-    "\n" +
-    "           closelabel=\"Cancel\"\r" +
-    "\n" +
-    "           extrabutton=\"resendActivationLink\"\r" +
-    "\n" +
-    "           extrabuttonlabel=\"Send Activation\"\r" +
-    "\n" +
-    "           ng-cloak>\r" +
-    "\n" +
-    "    <fieldset>\r" +
-    "\n" +
-    "      <p>Email to send to: <input type=\"email\" required ng-model=\"$

<TRUNCATED>