usergrid-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From snoopd...@apache.org
Subject [15/41] updating portal with latest code base
Date Mon, 24 Feb 2014 07:21:10 GMT
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a5a98884/portal/archive/templates/apigee.ui.panels.user.graph.html
----------------------------------------------------------------------
diff --git a/portal/archive/templates/apigee.ui.panels.user.graph.html b/portal/archive/templates/apigee.ui.panels.user.graph.html
new file mode 100644
index 0000000..4c55f9b
--- /dev/null
+++ b/portal/archive/templates/apigee.ui.panels.user.graph.html
@@ -0,0 +1,80 @@
+<div class="console-section">
+  <div class="well thingy">
+    {{if picture}}<img src="${picture}" class="user-profile-picture" />{{/if}}
+    <div class="title">
+      {{if path}}<a href="" onclick="Usergrid.console.pageOpenQueryExplorer('${path}'); return false;">{{/if}}${name}{{if path}}</a>{{/if}}
+    </div>
+    <div class="bar">
+      <a class="btn btn-primary" data-toggle="modal" href="#dialog-form-follow-user">Follow User</a>
+      <input type="hidden" value="${username}" id="search-follow-username" name="search-follow-userid">
+    </div>
+  </div>
+
+  <div class="console-section-contents">
+    <div class="user-roles-title">Following </div>
+    <div class="user-panel-section">
+      {{if following}}
+      {{if following.length > 0}}
+      <div class="query-result-row entity_list_item" id="users-roles-following-table">
+        <table class="table table-bordered">
+          <tbody>
+            {{each following}}
+            <tr class="zebraRows">
+              <td class="query-result-td-header-name">
+                <div class="query-result-header-name query-result-picture-vert-offset">
+                  {{if path}}
+                  <a href="" onclick="Usergrid.console.pageOpenUserProfile('${username}'); return false;">
+                    <span class="user-role-row-name">${username}</span>
+                    <span class="user-role-row-title"><a href="mailto:${email}">${email}</a></span>
+                  </a>
+                  {{/if}}
+                </div>
+              </td>
+            </tr>
+            {{/each}}
+          </tbody>
+        </table>
+      </div>
+      {{/if}}
+      {{else}}
+      <div class="panel-section-message">Not following anyone</div>
+      {{/if}}
+      <br/>
+    </div>
+    <div id="user-panel-following-curl-container" class="curl-container">
+    </div>
+    <br/>
+    <div class="user-roles-title">Followers </div>
+    <div class="user-panel-section">
+      {{if followers}}
+      {{if followers.length > 0}}
+      <div class="query-result-row entity_list_item" id="users-roles-followed-table">
+        <table class="table table-bordered">
+          <tbody>
+            {{each followers}}
+            <tr class="zebraRows">
+              <td class="query-result-td-header-name">
+                <div class="query-result-header-name query-result-picture-vert-offset">
+                  {{if path}}
+                  <a href="" onclick="Usergrid.console.pageOpenUserProfile('${username}'); return false;">
+                    <span class="user-role-row-name">${username}</span>
+                    <span class="user-role-row-title"><a href="mailto:${email}">${email}</a></span>
+                  </a>
+                  {{/if}}
+                </div>
+              </td>
+            </tr>
+            {{/each}}
+          </tbody>
+        </table>
+      </div>
+      {{/if}}
+      {{else}}
+      <div class="panel-section-message">No followers</div>
+      {{/if}}
+      <br/>
+    </div>
+    <div id="user-panel-followers-curl-container" class="curl-container">
+    </div>
+  </div>
+</div>

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a5a98884/portal/archive/templates/apigee.ui.panels.user.memberships.html
----------------------------------------------------------------------
diff --git a/portal/archive/templates/apigee.ui.panels.user.memberships.html b/portal/archive/templates/apigee.ui.panels.user.memberships.html
new file mode 100644
index 0000000..fa0420a
--- /dev/null
+++ b/portal/archive/templates/apigee.ui.panels.user.memberships.html
@@ -0,0 +1,40 @@
+<div class="console-section">
+  <div class="well thingy">
+    {{if picture}}<img src="${picture}" class="user-profile-picture" />{{/if}}
+    <div class="title">
+      {{if path}}<a href="" onclick="Usergrid.console.pageOpenQueryExplorer('${path}'); return false;">{{/if}}${name}{{if path}}</a>{{/if}}
+    </div>
+    <div class="bar">
+      <a class="btn " data-toggle="modal" onclick="Usergrid.console.removeUserFromGroup('${username}'); return false;">Remove</a>
+      <a style="margin-right: 15px;" class="btn btn-primary" data-toggle="modal" href="#dialog-form-add-group-to-user">Add to a Group</a>
+      <input type="hidden" value="${username}" id="search-group-userid" name="search-group-userid">
+    </div>
+  </div>
+
+  {{if memberships}}
+  <table class="table" style="margin-top: 30px">
+    <tbody>
+      <tr class="zebraRows users-row">
+        <td class="checkboxo">
+          <input type="checkbox" onclick="Usergrid.console.selectAllEntities(this);" />
+        </td>
+        <td class="user-details bold-header">
+          Group Name
+        </td>
+      </tr>
+      {{each memberships}}
+      <tr class="zebraRows users-row">
+        <td class="checkboxo"><input type="checkbox" name="${name}" class="listItem" value="${$value.uuid}" /></td>
+        <td class="details">
+          <a href="#" onclick="Usergrid.console.pageOpenGroupProfile('${$value.path}'); return false;">${$value.path}</a>
+        </td>
+      </tr>
+      {{/each}}
+    </tbody>
+  </table>
+  {{else}}
+  <div class="panel-section-message">no group memberships</div>
+  {{/if}}
+</div>
+<div id="user-panel-memberships-curl-container" class="curl-container">
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a5a98884/portal/archive/templates/apigee.ui.panels.user.permissions.html
----------------------------------------------------------------------
diff --git a/portal/archive/templates/apigee.ui.panels.user.permissions.html b/portal/archive/templates/apigee.ui.panels.user.permissions.html
new file mode 100644
index 0000000..c69407c
--- /dev/null
+++ b/portal/archive/templates/apigee.ui.panels.user.permissions.html
@@ -0,0 +1,105 @@
+<div class="console-section">
+  <div class="well thingy">
+    {{if picture}}<img src="${picture}" class="user-profile-picture" />{{/if}}
+    <div class="title">
+      {{if path}}<a href="" onclick="Usergrid.console.pageOpenQueryExplorer('${path}'); return false;">{{/if}}
+        ${name}
+      {{if path}}</a>{{/if}}
+    </div>
+    <div class="bar">
+      <a class="btn" data-toggle="modal" href="#" onclick="Usergrid.console.deleteUsersFromRoles('${username}'); return false;"> Remove </a>
+      <a style="margin-right: 15px;" class="btn btn-primary" data-toggle="modal" href="#dialog-form-add-user-to-role"> Add role</a>
+    </div>
+  </div>
+  <div class="console-section-contents">
+    <div class="user-panel-section">
+      <div class="user-roles-title">Roles </div>
+      {{if roles}}
+      {{if roles.length > 0}}
+      <table class="table table-bordered users-permissions-response-table">
+        <tbody>
+          <tr class="zebraRows users-row">
+            <td class="checkboxo">
+              <input type="checkbox" onclick="Usergrid.console.selectAllEntities(this);" />
+            </td>
+            <td class="user-details bold-header">
+              Group Name
+            </td>
+          </tr>
+
+          {{each roles}}
+          <tr class="zebraRows users-row">
+            <td class="checkboxo"><input type="checkbox" name="${title}" class="listItem" value="${name}" /></td>
+            <td class="details">
+              {{if path}}<a href="" onclick="Usergrid.console.pageOpenRole('${name}', '${title}'); return false;">{{/if}}
+                ${title}
+                (${name})
+              {{if path}}</a>{{/if}}
+            </td>
+          </tr>
+          {{/each}}
+        </tbody>
+      </table>
+      {{/if}}
+      {{else}}
+      <div class="panel-section-message">No Roles</div>
+      {{/if}}
+      <br/>
+      <div id="user-panel-roles-curl-container" class="curl-container">
+      </div>
+      <div class="user-roles-title">Permissions </div>
+      <h4>Add Permission Rule</h4>
+      <form id="role-permissions-form" action="" onsubmit="Usergrid.console.addUserPermission('${username}'); return false;" class="well form-inline" autocomplete="off">
+        Path: <input id="user-permission-path-entry-input" type="text" name="path" value="/" />
+        <label class="checkbox">
+          <input id="user-permission-op-get-checkbox" type="checkbox" name="get" value="get"/>
+          get </label>
+        <label class="checkbox">
+          <input id="user-permission-op-post-checkbox" type="checkbox" name="post" value="post"/>
+          post </label>
+        <label class="checkbox">
+          <input id="user-permission-op-put-checkbox" type="checkbox" name="put" value="put"/>
+          put </label>
+        <label class="checkbox">
+          <input id="user-permission-op-delete-checkbox" type="checkbox" name="delete" value="delete"/>
+          delete </label>
+        <button type="submit" class="btn btn-primary"><i class="icon-plus-sign icon-white"></i> Add</button >
+      </form>
+      <br/>
+      <h4>Permission Rules</h4>
+      {{if permissions}}
+      <table id="role-permissions-table" data-permission="${$index}" class="table table-striped table-bordered table-condensed">
+        <thead>
+          <tr>
+            <th>Path</th>
+            <th class="role-permission-op">Get</th>
+            <th class="role-permission-op">Post</th>
+            <th class="role-permission-op">Put</th>
+            <th class="role-permission-op">Delete</th>
+            <th></th>
+          </tr>
+        </thead>
+        <tbody>
+          {{each permissions}}
+          <tr>
+            <td class="role-permission-path">${$value.path}</td>
+            <td class="role-permission-op">{{if $value.ops.get}}<i class="icon-ok"></i>{{/if}}</td>
+            <td class="role-permission-op">{{if $value.ops.post}}<i class="icon-ok"></i>{{/if}}</td>
+            <td class="role-permission-op">{{if $value.ops.put}}<i class="icon-ok"></i>{{/if}}</td>
+            <td class="role-permission-op">{{if $value.ops.delete}}<i class="icon-ok"></i>{{/if}}</td>
+            <td class="role-permission-delete">
+              <a onclick="Usergrid.console.deleteUserPermission('${username}', '${$value.perm}'); return false;" href="#" class="btn btn-danger"><i class="icon-trash icon-white"></i> Remove</a>
+            </td>
+          </tr>
+          {{/each}}
+        </tbody>
+      </table>
+      {{else}}
+      <div class="alert">No Permissions</div>
+      {{/if}}
+      <div id="user-panel-permissions-curl-container" class="curl-container">
+      </div>
+    </div>
+  </div>
+</div>
+<input type="hidden" name="role-form-username" id="role-form-username" value="${$data.entity.username}"/>

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a5a98884/portal/archive/templates/apigee.ui.panels.user.profile.html
----------------------------------------------------------------------
diff --git a/portal/archive/templates/apigee.ui.panels.user.profile.html b/portal/archive/templates/apigee.ui.panels.user.profile.html
new file mode 100644
index 0000000..3784e33
--- /dev/null
+++ b/portal/archive/templates/apigee.ui.panels.user.profile.html
@@ -0,0 +1,113 @@
+<div class="alert messages" style="display: none;"></div>
+<div class="console-section">
+  <div class="well thingy">
+    <img src="${picture}" class="gravatar50" />
+    <div class="title">
+      {{if path}}<a href="" onclick="Usergrid.console.pageOpenQueryExplorer('${path}'); return false;">{{/if}}${name}{{if path}}</a>{{/if}}
+    </div>
+    <div class="bar">
+      <a style="margin-right: 15px;" class="btn btn-primary" onclick="Usergrid.console.saveUserProfile('${username}'); return false;">Save User</a>
+    </div>
+  </div>
+  <h3>Edit</h3>
+  <div class="query-result-form"></div>
+  <div class="content-container">
+    <h3>Contents</h3>
+    <table class="table">
+      <tbody>
+        <tr class="zebraRows">
+          <td>UUID</td>
+          <td>${entity.uuid}</td>
+        </tr>
+        <tr class="zebraRows">
+          <td>Type</td>
+          <td>${entity.type}</td>
+        </tr>
+        <tr class="zebraRows">
+          <td>
+            Created
+          </td>
+          <td>
+            <a href="#" class="toggleableSP">${dateToString(entity.created)}</a>
+            <a href="#" class="toggleableSP hide">${entity.created}</a>
+          </td>
+        </tr>
+        <tr class="zebraRows">
+          <td>
+            Modified
+          </td>
+          <td>
+            <a href="#" class="toggleableSP">${dateToString(entity.modified)}</a>
+            <a href="#" class="toggleableSP hide">${entity.modified}</a>
+          </td>
+        </tr>
+        <tr class="zebraRows">
+          <td>Activated</td>
+          <td>${entity.activated}</td>
+        </tr>
+        <tr class="zebraRows">
+          <td>Email</td>
+          <td>${entity.email}</td>
+        </tr>
+        <tr class="zebraRows">
+          <td>Name</td>
+          <td>${entity.name}</td>
+        </tr>
+        <tr class="zebraRows">
+          <td>Picture</td>
+          <td>${entity.picture}</td>
+        </tr>
+        <tr class="zebraRows">
+          <td>Username</td>
+          <td>${entity.username}</td>
+        </tr>
+        <tr class="zebraRows">
+          <td>Path</td>
+          <td><a href="#" onclick="Usergrid.console.pageOpenQueryExplorer('${path}'); return false;">${path}</a></td>
+        </tr>
+        <tr class="zebraRows">
+          <td>Sets</td>
+          <td>
+            <table class="table table-striped">
+              <tbody>
+                {{each metadata.sets}}
+                <tr>
+                  <td>
+                    ${$index}
+                  </td>
+                  <td>
+                    <a href="#" onclick="Usergrid.console.pageOpenQueryExplorer('${$value}'); return false;">${$value}</a>
+                  </td>
+                </tr>
+                {{/each}}
+              <tbody>
+            </table>
+          </td>
+        </tr>
+        <tr class="zebraRows">
+          <td>Collections</td>
+          <td>
+            <table class="table table-striped">
+              <tbody>
+                {{each metadata.collections}}
+                <tr>
+                  <td>
+                    ${$index}
+                  </td>
+                  <td>
+                    <a href="#" onclick="Usergrid.console.pageOpenQueryExplorer('${$value}'); return false;">${$value}</a>
+                  </td>
+                </tr>
+                {{/each}}
+              <tbody>
+            </table>
+          </td>
+        </tr>
+      </tbody>
+    </table>
+    <h3>JSON</h3>
+    <pre class="query-result-json-inner">${JSON.stringify(entity, null, "  ")}</pre>
+  </div>
+</div>
+<div id="user-panel-profile-curl-container" class="curl-container">
+</div>

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a5a98884/portal/archive/templates/apigee.ui.role.groups.table_rows.html
----------------------------------------------------------------------
diff --git a/portal/archive/templates/apigee.ui.role.groups.table_rows.html b/portal/archive/templates/apigee.ui.role.groups.table_rows.html
new file mode 100644
index 0000000..9fd867c
--- /dev/null
+++ b/portal/archive/templates/apigee.ui.role.groups.table_rows.html
@@ -0,0 +1,44 @@
+
+<div class="console-section">
+  <div class="well thingy">
+    <span class="title">Groups</span>
+    <div class="bar">
+      <a class="btn" data-toggle="modal" href="#" onclick="Usergrid.console.removeGroupFromRole('${roleName}', '${roleTitle}'); return false;"> Remove </a>
+      <a style="margin-right: 15px;" class="btn btn-primary" data-toggle="modal" href="#dialog-form-add-group-to-role"> Add </a>
+    </div>
+  </div>
+
+
+  {{if entities.length > 0}}
+  <table class="table" style="margin-top: 30px">
+    <tbody>
+      <tr class="zebraRows users-row">
+        <td class="checkboxo">
+          <input type="checkbox" onclick="Usergrid.console.selectAllEntities(this);" />
+        </td>
+        <td class="user-details bold-header">
+          Group Title
+        </td>
+        <td class="user-details bold-header">
+          Group Path
+        </td>
+      </tr>
+      {{each entities}}
+      <tr class="zebraRows users-row">
+        <td class="checkboxo"><input type="checkbox" name="${path}" class="listItem" value="${path}" /></td>
+        <td class="details">
+          <a href="" onclick="Usergrid.console.pageOpenGroupProfile('${path}'); return false;">${title}</a>
+        </td>
+        <td class="details">
+          <a href="" onclick="Usergrid.console.pageOpenGroupProfile('${path}'); return false;">${path}</a>
+        </td>
+      </tr>
+      {{/each}}
+    </tbody>
+  </table>
+  {{else}}
+  <div class="panel-section-message">No Group Memberships</div>
+  {{/if}}
+</div>
+<div id="group-panel-memberships-curl-container" class="curl-container">
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a5a98884/portal/archive/templates/apigee.ui.roles.table_rows.html
----------------------------------------------------------------------
diff --git a/portal/archive/templates/apigee.ui.roles.table_rows.html b/portal/archive/templates/apigee.ui.roles.table_rows.html
new file mode 100644
index 0000000..8a227aa
--- /dev/null
+++ b/portal/archive/templates/apigee.ui.roles.table_rows.html
@@ -0,0 +1,15 @@
+
+<tr class="zebraRows roles-row">
+  <td class="checkboxo">
+    <input type="checkbox" class="listItem" name="${title}" value="${name}"/>
+  </td>
+  <td class="details">
+    <a href="#" class="list-link" onclick="Usergrid.console.pageOpenRole('${name}', '${title}'); return false;">${title}</a>
+  </td>
+  <td class="details">
+     <a href="#" class="list-link" onclick="Usergrid.console.pageOpenRole('${name}', '${title}'); return false;">${name}</a>
+  </td>
+  <td class="view-details">
+    <a href="" onclick="Usergrid.console.pageOpenRole('${name}', '${title}'); return false;" class="view-details">View Details</a>
+  </td>
+</tr>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a5a98884/portal/archive/templates/apigee.ui.users.table_rows.html
----------------------------------------------------------------------
diff --git a/portal/archive/templates/apigee.ui.users.table_rows.html b/portal/archive/templates/apigee.ui.users.table_rows.html
new file mode 100644
index 0000000..2c62f55
--- /dev/null
+++ b/portal/archive/templates/apigee.ui.users.table_rows.html
@@ -0,0 +1,18 @@
+
+<tr class="zebraRows users-row">
+  <td class="checkboxo">
+    <input class="listItem" type="checkbox" name="${name}" value="${uuid}" />
+  </td>
+  <td class="gravatar50-td">
+    <a href="" onclick="Usergrid.console.pageOpenUserProfile('${username}'); return false;"><img src="${picture}" class="gravatar50"/></a>
+  </td>
+  <td class="details">
+      <a href="" class="list-link" onclick="Usergrid.console.pageOpenUserProfile('${username}'); return false;">${username}</a>
+  </td>
+  <td class="details">
+     <a href="" class="list-link" onclick="Usergrid.console.pageOpenUserProfile('${username}'); return false;">${name}</a>
+  </td>
+  <td class="view-details">
+    <a href="" onclick="Usergrid.console.pageOpenUserProfile('${username}'); return false;" class="view-details">View Details</a>
+  </td>
+</tr>

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a5a98884/portal/archive/templates/test/modalForm2.html
----------------------------------------------------------------------
diff --git a/portal/archive/templates/test/modalForm2.html b/portal/archive/templates/test/modalForm2.html
new file mode 100644
index 0000000..c786ee8
--- /dev/null
+++ b/portal/archive/templates/test/modalForm2.html
@@ -0,0 +1,32 @@
+Modal-link
+<a class="" data-toggle="modal" href="#dialog-form-new-admin"><i class="icon-plus"></i> New Administrator</a>
+
+Modal-form
+<form id="dialog-form-new-admin" class="modal hide fade">
+    <div class="modal-header">
+        <a class="close" data-dismiss="modal">x</a>
+        <h4>Create new administrator</h4>
+    </div>
+    <div class="modal-body">
+        <p class="validateTips"></p>
+
+        <fieldset>
+            <div class="control-group">
+                <label for="new-admin-email">Email</label>
+                <div class="controls">
+                    <input type="text" name="email" id="new-admin-email" value="" class="input-xlarge"/>
+                    <p class="help-block hide"></p>
+                </div>
+            </div>
+            <div class="control-group">
+                <div class="controls">
+                    <p class="help-block hide"></p>
+                </div>
+            </div>
+        </fieldset>
+    </div>
+    <div class="modal-footer">
+        <input type="submit" class="btn btn-usergrid" value="Create"/>
+        <input type="reset" class="btn" value="Cancel" data-dismiss="modal"/>
+    </div>
+</form>

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a5a98884/portal/archive/test/autocomplete.html
----------------------------------------------------------------------
diff --git a/portal/archive/test/autocomplete.html b/portal/archive/test/autocomplete.html
new file mode 100644
index 0000000..c58cbeb
--- /dev/null
+++ b/portal/archive/test/autocomplete.html
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+    "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../bootstrap/css/bootstrap.min.css"/>
+    <script src="http://code.jquery.com/jquery-1.7.1.min.js" type="text/javascript"></script>
+    <script src="../bootstrap/js/bootstrap-typeahead.js" type="text/javascript"></script>
+    <script src="../bootstrap/js/bootstrap-modal.js" type="text/javascript"></script>
+</head>
+<body>
+
+
+<input type="text" id="campo">
+<script type="text/javascript">
+    $(document).ready(Init);
+    function Init(){
+        var campo = $("#campo");
+        campo.typeahead({source:[]});
+        campo.data('typeahead').source = ["david","oscar","roberto","claudia"];
+    }
+</script>
+
+</body>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a5a98884/portal/archive/test/modalForm.html
----------------------------------------------------------------------
diff --git a/portal/archive/test/modalForm.html b/portal/archive/test/modalForm.html
new file mode 100644
index 0000000..c786ee8
--- /dev/null
+++ b/portal/archive/test/modalForm.html
@@ -0,0 +1,32 @@
+Modal-link
+<a class="" data-toggle="modal" href="#dialog-form-new-admin"><i class="icon-plus"></i> New Administrator</a>
+
+Modal-form
+<form id="dialog-form-new-admin" class="modal hide fade">
+    <div class="modal-header">
+        <a class="close" data-dismiss="modal">x</a>
+        <h4>Create new administrator</h4>
+    </div>
+    <div class="modal-body">
+        <p class="validateTips"></p>
+
+        <fieldset>
+            <div class="control-group">
+                <label for="new-admin-email">Email</label>
+                <div class="controls">
+                    <input type="text" name="email" id="new-admin-email" value="" class="input-xlarge"/>
+                    <p class="help-block hide"></p>
+                </div>
+            </div>
+            <div class="control-group">
+                <div class="controls">
+                    <p class="help-block hide"></p>
+                </div>
+            </div>
+        </fieldset>
+    </div>
+    <div class="modal-footer">
+        <input type="submit" class="btn btn-usergrid" value="Create"/>
+        <input type="reset" class="btn" value="Cancel" data-dismiss="modal"/>
+    </div>
+</form>

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a5a98884/portal/bower.json
----------------------------------------------------------------------
diff --git a/portal/bower.json b/portal/bower.json
index 862eadc..98a9d65 100644
--- a/portal/bower.json
+++ b/portal/bower.json
@@ -3,10 +3,11 @@
   "version": "2.0.12",
   "ignore": [],
   "dependencies": {
-    "angularitics": "~0.8.7"
+    "apigee-sdk": "~2.0.8"
   },
   "devDependencies": {},
   "keywords": [
+    "apigee",
     "usergrid"
   ]
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a5a98884/portal/build.sh
----------------------------------------------------------------------
diff --git a/portal/build.sh b/portal/build.sh
index 0c1107d..9dfe5d3 100755
--- a/portal/build.sh
+++ b/portal/build.sh
@@ -2,9 +2,9 @@
 
 buildMain(){
   echo #####
-  echo grunt --gruntfile Gruntfile.js $1
+  echo grunt $1
   echo #####
-  ./node_modules/grunt-cli/bin/grunt --gruntfile Gruntfile.js $1
+  ./node_modules/grunt-cli/bin/grunt $1
 }
 
 
@@ -12,10 +12,16 @@ npm install
 
 case "$1" in
 e2e) buildMain
-    ./node_modules/grunt-cli/bin/grunt --gruntfile Gruntfile.js $1
+
+    webdriver-manager start --standalone > seleniumLog.txt &
+    sleep 10
+    # run the build
+    ./node_modules/grunt-cli/bin/grunt e2e
+      # stop selenium
+    curl -s -L http://localhost:4444/selenium-server/driver?cmd=shutDownSeleniumServer > seleniumLog.txt &
     ;;
 dev) buildMain
-    ./node_modules/grunt-cli/bin/grunt --gruntfile Gruntfile.js $1
+    ./node_modules/grunt-cli/bin/grunt  $1
     ;;
 *)   echo "pass e2e to run e2e tests"
    buildMain

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a5a98884/portal/config.js
----------------------------------------------------------------------
diff --git a/portal/config.js b/portal/config.js
index 3b85851..3f0010e 100644
--- a/portal/config.js
+++ b/portal/config.js
@@ -1,7 +1,23 @@
 var Usergrid = Usergrid || {};
 
+//Google Analytics
+var _gaq = _gaq || [];
+_gaq.push(['_setAccount', 'UA-4084158-4']);
+try{
+    (function(document) {
+        if(!document){
+            return;
+        }
+        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+    })(document || null);
+}catch(e){};
+//End Google Analytics
+
 Usergrid.showNotifcations = true;
 
+
 // used only if hostname does not match a real server name
 Usergrid.overrideUrl = 'https://api.usergrid.com/';
 
@@ -9,13 +25,15 @@ Usergrid.options = {
   client:{
    // apiKey:'123456'
   },
+  showAutoRefresh:true,
+  autoUpdateTimer:61,//seconds
   cssRefs:[],
   "scriptReferences":{
     "dev":[],
     "main": []
   },
   menuItems:[
-    {path:'#!/org-overview', active:true,pic:'&#128193',title:'Org Overview'},
+    {path:'#!/org-overview', active:true,pic:'&#128362;',title:'Org Administration'},
     {path:'#!/getting-started/setup',pic:'&#128640;',title:'Getting Started'},
     {path:'#!/app-overview/summary',pic:'&#59214;',title:'App Overview',
       items:[
@@ -23,7 +41,7 @@ Usergrid.options = {
       ]
     },
     {
-      path:'#!/users',pic: '&#128100;',title:'Users',
+      path:'#!/users',pic:'&#128100;',title:'Users',
       items:[
         {path:'#!/users',pic:'&#128100;',title:'Users'},
         {path:'#!/groups',pic:'&#128101;',title:'Groups'},
@@ -39,14 +57,6 @@ Usergrid.options = {
     {
       path:'#!/activities',pic:'&#59194;',title:'Activities'
     },
-    {
-      path:'#!/configure/default-configs',pic:'&#9874;',title:'Configure',
-      items:[
-        {path:'#!/configure/default-configs',pic:'&#128214;',title:'Default Configs'},
-        {path:'#!/configure/beta-configs',pic:'&#59190;',title:'Beta Testing Configs'},
-        {path:'#!/configure/ab-configs',pic:'&#59146;',title:'A/B Configs'}
-      ]
-    },
     {path:'#!/shell',pic:'&#9000;',title:'Shell'}
   ]
 };
@@ -57,7 +67,7 @@ Usergrid.regex = {
   nameRegex: new RegExp("^([0-9a-zA-Z@#$%^&!?;:.,'\"~*-:+_\[\\](){}/\\ |]{3,60})+$"),
   roleNameRegex: new RegExp("^([0-9a-zA-Z./-]{3,25})+$"),
   emailRegex: new RegExp("^(([0-9a-zA-Z]+[_\+.-]?)+@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(.){1}[a-zA-Z]{2,4})+$"),
-  passwordRegex: new RegExp("^([0-9a-zA-Z@#$%^&!?<>;:.,'\"~*-:+_\[\\](){}/\\ |]{6,25})+$"),
+  passwordRegex: /(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/,
   pathRegex: new RegExp("^/[a-zA-Z0-9\.\*_~-]+(\/[a-zA-Z0-9\.\*_~-]+)*$"),
   titleRegex: new RegExp("[a-zA-Z0-9.!-?]+[\/]?"),
   urlRegex: new RegExp("^(http?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$"),
@@ -70,7 +80,7 @@ Usergrid.regex = {
   nameRegexDescription: "Please enter a valid name. Must be betwee 3 and 60 characters.",
   roleNameRegexDescription: "Role only allows : /, a-z, 0-9, dot, and dash. Must be between 3 and 25 characters.",
   emailRegexDescription: "Please enter a valid email.",
-  passwordRegexDescription: "Please enter a valid password between 6 and 25 characters.",
+  passwordRegexDescription: "Password must contain at least 1 upper and lower case letter, one number or special character and be at least 8 characters.",
   pathRegexDescription: "Path must begin with a slash, path only allows: /, a-z, 0-9, dot, and dash, paths of the format:  /path/ or /path//path are not allowed",
   titleRegexDescription: "Please enter a valid title.",
   urlRegexDescription: "Please enter a valid url",
@@ -80,6 +90,16 @@ Usergrid.regex = {
   collectionNameRegexDescription: "Collection name only allows : a-z A-Z 0-9. Must be between 3-25 characters."
 };
 
+//Performance
+Usergrid.options.scriptReferences.dev.push('bower_components/apigee.performance.ui/dist/js/usergrid-perf-dev.min.js');
+Usergrid.options.scriptReferences.main.push('bower_components/apigee.performance.ui/dist/js/usergrid-perf.min.js');
+Usergrid.options.cssRefs.push({id:'perf-css',src:'bower_components/apigee.performance.ui/dist/css/performance.min.css'});
+//End Performance
+//Push
+Usergrid.options.scriptReferences.dev.push('bower_components/apigee.push.ui/dist/js/usergrid-push-dev.min.js');
+Usergrid.options.scriptReferences.main.push('bower_components/apigee.push.ui/dist/js/usergrid-push.min.js');
+Usergrid.options.cssRefs.push({id:'push-css',src:'bower_components/apigee.push.ui/dist/css/push.min.css'});
+//End Push
 try{
   if(module && module.exports){
     module.exports = Usergrid;

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a5a98884/portal/css/dash.min.css
----------------------------------------------------------------------
diff --git a/portal/css/dash.min.css b/portal/css/dash.min.css
new file mode 100644
index 0000000..a390916
--- /dev/null
+++ b/portal/css/dash.min.css
@@ -0,0 +1 @@
+.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;opacity:.3;filter:alpha(opacity=30);content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown:hover .caret,.open.dropdown .caret{opacity:1;filter:alpha(opacity=100)}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;float:left;display:none;min-width:160px;padding:4px 0;margin:0;list-style:none;background-color:#fff;border-color:#ccc;border-color:rgba(0,0,0,.2);border-style:solid;border-width:1px;-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip
 :padding-box;*border-right-width:2px;*border-bottom-width:2px}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:8px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff;*width:100%;*margin:-5px 0 5px}.dropdown-menu a{display:block;padding:3px 15px;clear:both;font-weight:400;line-height:18px;color:#333;white-space:nowrap}.dropdown-menu .active>a,.dropdown-menu .active>a:hover,.dropdown-menu li>a:hover{color:#fff;text-decoration:none;background-color:#08c}.dropdown.open{*z-index:1000}.dropdown.open .dropdown-toggle{color:#fff;background:#ccc;background:rgba(0,0,0,.3)}.dropdown.open .dropdown-menu{display:block}.pull-right .dropdown-menu{left:auto;right:0}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:"\2191"}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdownContainingSubmenu .dropdown-menu{padding:0;margin-t
 op:-4px;min-width:auto;background-color:#fff;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:4px 4px 16px rgba(0,0,0,.25);-moz-box-shadow:4px 4px 16px rgba(0,0,0,.25);box-shadow:4px 4px 16px rgba(0,0,0,.25);border-width:1px;border-top-width:4px;border-color:#bb2d16}.dropdownContainingSubmenu .dropdown-menu a{color:#494949;padding:7px 10px}.dropdownContainingSubmenu .dropdown-menu a:hover{color:#fff;background-color:#f03800}.dropdownContainingSubmenu .dropdown-menu .nav-header{background-color:#f0f0f0;margin-top:0;padding-left:10px}.dropdownContainingSubmenu .dropdown-menu .divider{margin:0}.navbar .dropdown-menu:after,.navbar .dropdown-menu:before{content:normal}#globalNav{margin-left:20px;background-color:transparent}#globalNav .dropdown-toggle{border-radius:3px;padding-top:3px;padding-bottom:3px;margin-top:7.5px;margin-bottom:7.5px}#globalNav .dropdown-toggle :hover{background-color:transparent}#globalNav.active .caret{opacity:.7}#globalNav.active :
 hover .caret{opacity:1}#globalNav ul ul a{border-left:1px solid #bb2d16}#globalNav ul ul li{position:relative}#globalNav ul ul li:first-child{border-bottom:1px solid #bb2d16}#globalNav ul ul a:before{content:"";width:6px;height:32px;position:absolute;left:-6px;top:0}#globalNav ul ul .active a:before,#globalNav ul ul .active a:hover:before{background-image:url(images/triangleMenuItem_right.png)}#globalNav ul ul:hover a:before{background-image:none}#globalNav ul ul a:hover:before{background-image:url(images/triangleMenuItem_right_hover.png)}#globalNav ul ul li a:hover{border-color:transparent}#globalNav .dropdown-menu{width:400px}#globalNavDetail{padding:20px 10px 0;width:250px;height:100%;position:relative;top:0}#globalNavDetail>div{display:none;color:graytext;background-image:none;background-repeat:no-repeat;background-position:0 0;min-height:64px}#globalNavDetail>div.open{display:inline-block}#globalNavDetail>div .globalNavDetailApigeeLogo,#globalNavDetail>div .globalNavDetailDescr
 iption,#globalNavDetail>div .globalNavDetailSubtitle,#globalNavDetail>div .globalNavDetailTitle{margin-left:80px}#globalNavDetail>div .globalNavDetailSubtitle{font-size:10px;text-transform:uppercase}#globalNavDetail>div .globalNavDetailTitle{margin-top:5px;font-size:20px}#globalNavDetail>div .globalNavDetailDescription{margin-top:10px;line-height:17px;font-style:oblique}#globalNavDetail #globalNavDetailApigeeHome{margin-top:-10px;background-image:url(img/appswitcher/home_lg.png)}#globalNavDetail #globalNavDetailApigeeHome .globalNavDetailApigeeLogo{margin-top:10px;background-image:url(img/appswitcher/logo_color.png);width:116px;height:40px}#globalNavDetail #globalNavDetailAppServices{background-image:url(img/appswitcher/appServices_lg.png)}#globalNavDetail #globalNavDetailApiPlatform{background-image:url(img/appswitcher/apiPlatform_lg.png)}#globalNavDetail #globalNavDetailMobileAnalytics{background-image:url(img/appswitcher/max_lg.png)}#globalNavDetail #globalNavDetailApiConsoles{ba
 ckground-image:url(img/appswitcher/console_lg.png)}#globalNavSubmenuContainer{float:right}#globalNavSubmenuContainer ul{margin-left:0}.ng-cloak,.x-ng-cloak,[data-ng-cloak],[ng-cloak],[ng\:cloak],[x-ng-cloak]{display:none}html{min-height:100%;position:relative;margin:0 auto;background:#fff;min-width:1100px}body{padding:0;background-color:#fff;font-family:marquette-light,'Helvetica Neue',Helvetica,Arial,sans-serif;height:100%;max-height:100%;overflow-x:hidden}a{cursor:pointer}@font-face{font-family:entypo;src:url(entypo/entypo.eot);src:url(entypo/entypo.eot?#iefix) format('embedded-opentype'),url(entypo/entypo.woff) format('woff'),url(entypo/entypo.ttf) format('truetype'),url(entypo/entypo.svg#entypo) format('svg');font-weight:400;font-style:normal}@font-face{font-family:marquette-medium;src:url(arsmarquette/ARSMaquettePro-Medium.otf),url(arsmarquette/ARSMaquettePro-Medium.otf) format('opentype')}@font-face{font-family:marquette-regular;src:url(arsmarquette/ARSMaquettePro-Regular.otf)
 ,url(arsmarquette/ARSMaquettePro-Regular.otf) format('opentype')}@font-face{font-family:marquette-light;src:url(arsmarquette/ARSMaquettePro-Light.otf),url(arsmarquette/ARSMaquettePro-Light.otf) format('opentype')}.bold{font-family:marquette-medium}.main-content{background-color:#fff;margin:0 0 0 200px}.side-menu{position:absolute;top:51px;left:0;bottom:0;width:200px;float:left;background-color:#eee}footer{padding-top:20px;clear:both}.zero-out{padding:0;text-shadow:none;background-color:transparent;background-image:none;border:0;box-shadow:none;outline:0}.modal-body{overflow-y:visible}.demo-holder{margin:0 -20px 0 -20px;position:relative}.alert-holder{position:fixed;right:0;margin:20px 20px 0 0;z-index:10500;width:302px}.alert,.alert.alert-demo{padding:9px 35px 5px 14px;margin-bottom:3px;text-shadow:0 1px 0 rgba(255,255,255,.5);background-color:#eee;border:1px solid #eee;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-transition:all 1s ease;-moz-transition:all 1s
  ease;transition:all 1s ease;height:0;overflow:hidden;line-height:0;float:right}.alert.alert-demo{float:none}.alert{width:0}.alert.alert-success{background-color:rgba(155,198,144,.31);color:#1f6719;border-left:2px solid #1f6719}.alert.alert-warning{background-color:rgba(239,172,37,.2);color:#efac25;border-left:2px solid #efac25}.alert.alert-info{background-color:rgba(27,151,209,.2);color:#1b97d1;border-left:2px solid #1b97d1}.alert.alert-error{background-color:rgba(255,3,3,.2);color:#ff0303;border-left:2px solid #ff0303}.alert.alert-animate.alert-demo{height:20px;line-height:normal;opacity:1;width:100%;-moz-box-shadow:inset 0 2px 13px #b8b8b8;-webkit-box-shadow:inset 0 2px 13px #b8b8b8;box-shadow:inset 0 2px 13px #b8b8b8}.alert.alert-animate{height:auto;line-height:normal;opacity:.9;width:300px}@-webkit-keyframes alert-out{from{opacity:1}to{-webkit-transform:translateY(500px);opacity:0}}@keyframes alert-out{from{opacity:1}to{transform:translateY(500px);opacity:0}}.fade-out{-webkit-a
 nimation-name:alert-out;-webkit-animation-duration:1s;-webkit-animation-timing-function:step-stop;-webkit-animation-direction:normal;-webkit-animation-iteration-count:1;animation-name:alert-out;animation-duration:1s;animation-timing-function:step-stop;animation-direction:normal;animation-iteration-count:1;opacity:.9}.margin-35{margin-top:35px}.modal-footer{background-color:transparent}.baloon{margin:20px;padding:20px 30px;position:fixed;bottom:0;top:auto;border-style:solid;border-radius:2px;box-shadow:0 0 4px rgba(0,0,0,.8)}.baloon:after{content:"";position:absolute;width:10px;height:10px;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg);-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865473, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865473, SizingMethod='auto expand')"}.north.baloon:after{top:-6px;left:30px;border-top-style:solid;border-left-style:solid;box-shadow:-2px -2px 3px -1px rgba(0,0,0,.5)}.so
 uth.baloon:after{bottom:-6px;left:30px;border-bottom-style:solid;border-right-style:solid;box-shadow:2px 2px 3px -1px rgba(0,0,0,.5)}.left.baloon:after{top:10px;left:-6px;border-bottom-style:solid;border-left-style:solid;box-shadow:-2px 2px 3px -1px rgba(0,0,0,.5)}.right.baloon:after{bottom:10px;right:-6px;border-top-style:solid;border-right-style:solid;box-shadow:2px -2px 3px -1px rgba(0,0,0,.5)}.baloon,.baloon:after{font-family:sans-serif;font-weight:700;border-color:#f7f7f7;border-width:1px;background-color:#3ac62f;color:#fff}#globalNav{float:right;margin:15px 8px 0 9px;list-style:none;width:114px}#globalNav ul{list-style:none}#globalNavDetail>div{display:none;color:graytext;background-image:none;background-repeat:no-repeat;background-position:0 0;min-height:64px}#globalNavDetail #globalNavDetailApiPlatform{background-image:url(../img/appswitcher/apiPlatform_lg.png)}#globalNavDetail #globalNavDetailAppServices{background-image:url(../img/appswitcher/appServices_lg.png)}#globalNav
 Detail #globalNavDetailApigeeHome{margin-top:-10px;background-image:url(../img/appswitcher/home_lg.png)}#globalNavDetail #globalNavDetailApiConsoles{background-image:url(../img/appswitcher/console_lg.png)}#globalNavDetail #globalNavDetailApigeeHome .globalNavDetailApigeeLogo{margin-top:10px;background-image:url(../img/appswitcher/logo_color.png);width:116px;height:40px}#globalNavDetail>div .globalNavDetailSubtitle{font-size:10px;text-transform:uppercase}#globalNavDetail>div .globalNavDetailTitle{margin-top:5px;font-size:20px}#globalNavDetail>div .globalNavDetailDescription{margin-top:10px;line-height:17px;font-style:oblique}.navbar.navbar-static-top .dropdownContainingSubmenu .dropdown-menu a{color:#494949;padding:13px 10px}.navbar.navbar-static-top .dropdownContainingSubmenu .dropdown-menu .active a{color:#fff;background-color:#bb2d16}.navbar.navbar-static-top .dropdown-menu a{display:block;padding:3px 15px;clear:both;font-weight:400;line-height:18px;color:#333;white-space:nowrap}#
 globalNav .dropdown-toggle{border-radius:3px;padding:3px 6px;margin:0}.dropdown-toggle{background-color:#bb2d16;padding:3px}.demo-holder .alert.alert-demo{background-color:rgba(196,196,196,.1);color:#777;padding:12px 35px 7px 14px}.demo-holder-content{position:absolute;right:50px}.demo-text{position:absolute;right:223px;left:0;padding:0 0 0 10px}.b{display:block}.toggle,.toggle-form{position:absolute;top:10px;right:173px;width:50px;height:23px;border-radius:100px;background-color:#ddd;overflow:hidden;box-shadow:inset 0 0 2px 1px rgba(0,0,0,.05)}.form-horizontal.configs .control-label{width:250px;padding:0 10px 0 0}.toggle-form{position:relative;right:auto;top:auto;display:inline-block}.toggle-form-label{display:inline-block}input[type=checkbox].check{position:absolute;display:block;cursor:pointer;top:0;left:0;width:100%;height:100%;opacity:0;z-index:6}.check:checked~.track{box-shadow:inset 0 0 0 20px #ff3b00}.toggle-form .check:checked~.track{box-shadow:inset 0 0 0 20px #82ce85}.che
 ck:checked~.switch{right:2px;left:27px;transition:.4s ease;transition-property:left,right;transition-delay:.05s,0s}.switch{position:absolute;left:2px;top:2px;bottom:2px;right:27px;background-color:#fff;border-radius:36px;z-index:1;transition:.4s ease;transition-property:left,right;transition-delay:0s,.05s;box-shadow:0 1px 2px rgba(0,0,0,.2)}.track{position:absolute;left:0;top:0;right:0;bottom:0;transition:.4s ease;box-shadow:inset 0 0 0 2px rgba(0,0,0,.05);border-radius:40px}.add-app .pictogram,top-selector .pictogram{margin:0 3px 0 0}i.pictogram{font-family:entypo;display:inline-block;width:23px;margin:0 5px 0 0;font-size:2.5em;height:17px;line-height:.35;overflow:hidden;vertical-align:middle;padding:5px 0 0;font-style:normal;font-weight:100;-webkit-font-smoothing:antialiased}i.pictogram.sub{margin:0 0 0 10px;font-size:2.1em}i.pictogram.title{margin:0;font-size:2.1em}i.pictogram.chart{margin:0 0 0 3px;font-size:2.1em;line-height:.4em;height:.5em;width:100%}i.pictogram.apichart{marg
 in:0 0 0 11px;font-size:2.1em;line-height:.4em;height:.5em;width:100%}[class*=" ma-icon-"],[class^=ma-icon-]{display:inline-block;width:23px;height:20px;margin:1px 3px 0 0;line-height:20px;vertical-align:text-top;background-image:url(../img/nav-sprites.png);background-position:14px 14px;background-repeat:no-repeat}[class*=" sdk-icon-"],[class^=sdk-icon-]{display:inline-block;width:32px;height:29px;margin:-3px 3px 0 0;line-height:32px;vertical-align:text-top;background-image:url(../img/sdk-sprites.png);background-position:14px 14px;background-repeat:no-repeat;cursor:pointer;overflow:hidden}[class*=" sdk-icon-large-"],[class^=sdk-icon-large-]{display:inline-block;width:86px;height:86px;margin:-3px 3px 0 0;line-height:32px;vertical-align:text-top;background-image:url(../img/sdk-sprites-large.png);background-position:14px 14px;background-repeat:no-repeat;border:1px solid #aaa;-moz-box-shadow:3px 3px 0 -1px #ccc;-webkit-box-shadow:3px 3px 0 -1px #ccc;box-shadow:3px 3px 0 -1px #ccc}.sdk-i
 con-ios{background-position:-6px -4px}.sdk-icon-android{background-position:-59px -3px}.sdk-icon-js{background-position:-109px -4px}.sdk-icon-node{background-position:-154px -3px}.sdk-icon-ruby{background-position:-204px -3px}.sdk-icon-net{background-position:-256px -4px}.sdk-icon-large-ios{background-position:-6px -3px}.sdk-icon-large-android{background-position:-113px 0}.sdk-icon-large-js{background-position:-219px 0}.sdk-icon-large-node{background-position:-323px -3px}.sdk-icon-large-ruby{background-position:-431px 0}.sdk-icon-large-net{background-position:-537px -3px}body>header>.navbar{background-color:#ff3b00}body>header .navbar:first-child>a{height:22px;line-height:22px;padding:10px 20px 20px 13px}.navbar.navbar-static-top a{text-shadow:none;color:#fff}.navbar-text{color:#fff;margin:4px}.navbar-text .dropdown-menu a{color:#343434}.top-nav,ul.app-nav li,ul.org-nav li{background-color:#fff}.top-nav .btn-group{margin:9px 0 5px 5px}.nav .app-selector .caret,.nav .app-selector:act
 ive .caret,.nav .app-selector:focus .caret,.nav .app-selector:hover .caret,.nav .org-selector .caret,.nav .org-selector:active .caret,.nav .org-selector:focus .caret,.nav .org-selector:hover .caret{border-top-color:#5f5f5f;border-bottom-color:transparent;margin-top:8px;position:absolute;right:10px}.org-options{margin:5px 2px -8px -5px;border-top:3px solid #e6e6e6;overflow:hidden}.navbar.secondary{margin:0 -20px 0 -21px;border-bottom:3px solid #e6e6e6}.navbar.secondary>.container-fluid{margin:0 -20px 0 -18px}.navbar.secondary .nav,.navbar.secondary>.container-fluid .nav-collapse.collapse.span9,.top-nav{margin:0}.top-nav>li,.top-nav>li>div{width:100%}.span9.button-area{margin-left:0}.navbar .nav a.btn-create i{margin:1px 0 0}.navbar .nav a.btn-create,.navbar .nav a.btn-create:hover{text-align:left;font-weight:400;color:#1b70a0;padding:0 0 0 10px;margin:4px 0 0 3px;display:block;width:140px;height:30px;line-height:30px;background-color:#f3f3f3}.navbar .nav a.btn-create:hover{color:#1b7
 0a0}.navbar .nav a.btn-create:active{box-shadow:none}.sdks>ul>li.title label{color:#5f5f5f;font-size:15px;display:inline-block;padding:16px 0 0;line-height:6px;cursor:default}.sdks>ul>li.title a{color:#5f5f5f;font-size:15px;display:inline-block;padding:16px 0 0;line-height:6px}.sdks>ul{list-style:none;margin:0;height:32px;overflow:hidden}.sdks>ul>li{display:inline;margin:0 10px 0 0;line-height:11px}.navbar.secondary,.navbar.secondary .btn-group>.btn,.navbar.secondary .btn-group>.dropdown-menu,.side-menu .btn-group>.btn,.side-menu .dropdown-menu{text-transform:uppercase;font-family:marquette-regular,'Helvetica Neue',Helvetica,Arial,sans-serif;color:#5f5f5f;font-size:14px;-webkit-font-smoothing:antialiased}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover,.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover,.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{text-decoration:none;color:#fff;background-color:#5f5f5f;background-image:-moz-linear-gradie
 nt(top,#5f5f5f,#787878);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5f5f5f),to(#787878));background-image:-webkit-linear-gradient(top,#5f5f5f,#787878);background-image:-o-linear-gradient(top,#5f5f5f,#787878);background-image:linear-gradient(to bottom,#5f5f5f,#787878);background-repeat:repeat-x}.btn-group.open .btn.dropdown-toggle.top-selector,.top-selector,.top-selector:active,.top-selector:focus,.top-selector:hover{color:#5f5f5f;padding:0;text-shadow:none;background-color:transparent;background-image:none;border:0;box-shadow:none;outline:0;width:100%;text-align:left}.dialog-body{padding:20px}h1.title{font-size:1.3em;font-family:marquette-medium,"Helvetica Neue",sans-serif;color:#686868;line-height:17px;display:inline-block;padding:0 10px 0 0}h2.title{text-transform:uppercase;font-size:1.2em;border-top:2px solid #eee;color:#828282}h2.title.chart{margin:10px 0 20px 10px;z-index:101;position:absolute;top:0;left:0;right:0}h3.title{text-transform:uppercase;font-size:1.1em}
 .sidebar-nav .nav-list{padding:0}.nav-list .nav-header,.sidebar-nav .nav-list>li>a{margin-right:0}.sidebar-nav .nav-list.trans{max-height:100000px;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;transition:all .5s ease;display:block;opacity:0}.sidebar-nav .nav-list li a{padding:10px 0 10px 25px;color:#5f5f5f;text-shadow:none;background-color:#eee;font-size:14px;text-transform:uppercase;position:relative}.sidebar-nav .nav-list li a.org-overview{background-color:#fff;font-family:marquette-light,'Helvetica Neue',Helvetica,Arial,sans-serif}.sidebar-nav .nav-list li a.org-overview:hover{color:#5f5f5f}.sidebar-nav .nav-list:first-child>li{margin:0;height:39px;overflow:hidden}.sidebar-nav .nav-list:first-child>li.active{height:auto;overflow:visible}.sidebar-nav .nav-list:first-child>li>ul>li>a{color:#5f5f5f}.sidebar-nav .nav-list:first-child>li.active>a,.sidebar-nav .nav-list:first-child>li>a:focus,.sidebar-nav .nav-list:first-child>li>a:hover{color:#fff;text-shadow:none;backg
 round-color:#1b70a0;margin:0 0 0 -15px}.sidebar-nav .nav-list:first-child li.active>ul>li>a{background-color:#fff}.sidebar-nav .nav-list li.option>ul{overflow:hidden;opacity:0;height:auto;display:block;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;transition:all .5s ease;max-height:100000px}.sidebar-nav .nav-list li.option.active>ul{opacity:1}.sidebar-nav .nav-list li.active>ul>li a{border-bottom:1px solid #eee;color:#747474;text-transform:none;font-weight:300;padding:10px 0 10px 22px}.sidebar-nav .nav-list li.active>ul>li.active>a,.sidebar-nav .nav-list li.active>ul>li>a:focus,.sidebar-nav .nav-list li.active>ul>li>a:hover{color:#1b70a0;background:#fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAKCAYAAAB4zEQNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMD
 YxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1NkEzQ0Y1MUI0MjIxMUUyODZGN0I5RUE1NjAwQ0I0MCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1NkEzQ0Y1MkI0MjIxMUUyODZGN0I5RUE1NjAwQ0I0MCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU2QTNDRjRGQjQyMjExRTI4NkY3QjlFQTU2MDBDQjQwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU2QTNDRjUwQjQyMjExRTI4NkY3QjlFQTU2MDBDQjQwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+poqUzgAAAG1JREFUeNpilC5YwIADqLNgEWQG4kYg9mNCk1AE4sNAXA3iIEuGAPF5ILaECYAkeYB4DhCvBmJ+ZGNAkt+B+CkQ/0W3nAkqWA/EblBFKJI
 wsA+IDYF4BzZJEHgNxJ5AXAbEv1hwBEA3EK8BCDAAwgoRW2zTv6EAAAAASUVORK5CYII=) no-repeat;background-position:206px 16px;font-family:marquette-medium,'Helvetica Neue',Helvetica,Arial,sans-serif;border-bottom:1px solid #eee;text-shadow:none;-webkit-font-smoothing:antialiased}.sidebar-nav .nav-list li.option ul{list-style:none}.new-tag{border-radius:3px;display:inline-block;font-family:marquette-medium;font-size:.6em;background-color:rgba(26,26,26,.5);color:#fff;padding:3px;height:8px;line-height:8px;position:absolute;right:5px;top:13px}.sidebar-nav .nav-list li:active a{background-color:rgba(255,255,255,.5)}.app-creds dt{font-family:marquette-medium}.intro-container{position:relative;height:auto;-webkit-transition:all .5s ease-out;-moz-transition:all .5s ease-out;transition:all .5s ease-out;overflow:hidden}.sdk-intro{position:absolute;border:1px solid #aaa;background-color:#f4f4f4;-moz-box-shadow:inset 0 0 10px #ccc;-webkit-box-shadow:inset 0 0 10px #ccc;box-shadow:inset 0 4px 10px #ccc;opaci
 ty:.4;top:0;left:6px;right:1px;bottom:0;height:auto;overflow:hidden}.sdk-intro-content{position:absolute;padding:10px 40px 10px 10px;top:0;left:6px;right:-20px;bottom:0;height:auto;overflow:auto}.sdk-intro-content .btn.normal{margin:19px 10px 0 0}.keys-creds h2{margin-bottom:-2px}.user-list{padding:0;margin:0;list-style:none;min-height:450px;float:left;width:100%}.user-list li{padding:10px;border-bottom:1px solid #c5c5c5;cursor:pointer}.user-list li .label{margin:0 0 0 22px}.user-list li input{margin:0 10px 0 0}.user-list li.selected{background-color:#eee}#user-panel{margin-top:20px}.user-col{border-right:1px solid #c5c5c5;-moz-box-shadow:inset -27px 1px 6px -27px #b8b8b8;-webkit-box-shadow:inset -27px 1px 6px -27px #b8b8b8;box-shadow:inset -27px 1px 6px -27px #b8b8b8}.user-profile-picture{width:40px;height:40px}.content-page>.well{padding:10px;height:40px}.table-header td{font-weight:800;color:#000}.user-header-title{font-size:13px;font-family:marquette-regular,'Helvetica Neue',Hel
 vetica,Arial,sans-serif}.tabbable>.tab-content{overflow:visible}.button-strip{float:right;margin-bottom:10px}a.notifications-links{color:#1b97d1}.notifications-header{height:50px;background-color:#eee;padding:10px;border-bottom:1px solid #aaa;position:relative;overflow:hidden}.groups-row td.details,.notifications-row td.details,.roles-row td.details,.users-row td.details{line-height:25px!important;border-right:1px solid #e5e5e5}.nav-tabs>li{cursor:pointer}.login-content{position:absolute;top:91px;bottom:0;left:0;right:0;background-color:#fff;padding:9% 0 0 32%}.login-content form{margin:0}.login-content form h1{padding:10px 0 5px 20px}.login-holder{width:450px;border:1px solid #e5e5e5}.login-holder .form-actions{padding-left:30px;margin-bottom:0}.login-holder .form-actions .submit{padding:0 30px 0 0}.login-content .extra-actions{margin-top:10px;padding-left:30px;margin-bottom:0}.login-content .extra-actions .submit{padding:0 30px 0 0}.login-content .extra-actions .submit a{margin-le
 ft:3px;margin-right:3px}.signUp-content{position:absolute;top:91px;bottom:0;left:0;right:0;background-color:#fff;padding:9% 0 0 32%}.signUp-content form{margin:0}.signUp-content form h1{padding:10px 0 5px 20px}.signUp-holder{width:450px;border:1px solid #e5e5e5}.signUp-holder .form-actions{margin-bottom:0}.signUp-holder .form-actions .submit{padding:0 30px 0 0}.table.collection-list{border:1px solid #eee}.formatted-json,.formatted-json ul{list-style:none}.formatted-json .key{font-family:marquette-medium}.formatted-json li{border-bottom:1px solid #eee;margin:3px 0}iframe[seamless]{background-color:transparent;border:0 none transparent;padding:0;overflow:visible;overflow-x:hidden;width:100%}.gravatar20{padding:7px 0 0 10px!important;margin:0;width:30px}#shell-panel *{font-family:monospace}#shell-panel .boxContent{font-family:monospace;font-size:14px;min-height:400px}#shell-panel input{font-family:monospace;overflow:auto;width:90%;margin-top:10px}#shell-panel hr{margin:2px;border-color
 :#e1e1e1}form input.has-error{-webkit-animation:pulse-red 1s alternate infinite;-moz-animation:pulse-red 1s alternate infinite;border:1px solid rgba(255,3,3,.6)}.validator-error-message{color:#ff0303}@-webkit-keyframes pulse-red{0%{box-shadow:inset 0 0 5px 2px rgba(255,3,3,.1),0 0 5px 2px rgba(255,3,3,.3)}100%{box-shadow:inset 0 0 5px 2px rgba(255,3,3,.3),0 0 5px 2px rgba(255,3,3,.1)}}@-moz-keyframes pulse-red{0%{box-shadow:inset 0 0 5px 2px rgba(255,3,3,.1),0 0 5px 2px rgba(255,3,3,.3)}100%{box-shadow:inset 0 0 5px 2px rgba(255,3,3,.3),0 0 5px 2px rgba(255,3,3,.1)}}.modal-instructions{padding-top:5px;padding-bottom:5px}.dropdown-menu{width:100%}.modal{width:560px!important}.dropdown-backdrop{position:static}.title.with-icons a{display:inline-block;text-transform:lowercase;font-size:.8em;margin:0 5px 0 0}.span9.tab-content{margin:0}.span9.tab-content .content-page{padding:0 0 0 30px}.button-toolbar,.menu-toolbar{padding:10px 0;margin:0;width:100%}.menu-toolbar{padding:0 0 20px}.menu
 -toolbar>ul.inline{border-bottom:1px solid #c5c5c5;margin:0}.btn-group .filter-selector,.btn-group .filter-selector:active,.btn-group .filter-selector:focus,.btn-group .filter-selector:hover,.btn-group .filter-title,.btn-group .filter-title:active,.btn-group .filter-title:focus,.btn-group.open .btn.dropdown-toggle.filter-selector,.btn-group.open .btn.dropdown-toggle.filter-title,.btn-group>.filter-selector.btn:first-child,.btn-group>.filter-title.btn:first-child,.btn.btn-primary,.btn.normal,.modal-footer .btn{color:#fff;padding:3px 9px;text-shadow:none;background-color:#494949;background-image:none;border:1px solid #c5c5c5;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border-bottom-left-radius:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;box-shadow:none}ul.inline>li.tab{margin:0;padding:0}li.tab .btn.btn-primary{background-color:#eee;border:0;color:#494949;box-shadow:none;margin:0 -1px -1px -1px;padding:3px 19px 3px 16px;border-bottom:1px solid #c5c5c5}
 ul.inline>li.tab.selected{margin:0 0 -1px 0;border-bottom:1px solid #fff}li.tab.selected .btn.btn-primary.toolbar{color:#494949;border-left:1px solid #c5c5c5;border-right:1px solid #c5c5c5;border-top:1px solid #c5c5c5;border-bottom:0;background-color:#fff}.btn-group.compare .filter-selector.btn:first-child,.btn.btn-primary.toolbar{color:#494949;background-color:#f1f1f1}li.selected .btn.btn-primary.toolbar{color:#fff;border:1px solid #1b70a0;background-color:#1b70a0}.btn.cancel,.btn.cancel:hover,.btn.normal.white,.btn.normal.white:hover{background-color:#fff;color:#5f5f5f}.btn-group .filter-selector:active,.btn-group .filter-title:hover,.btn-group.selected .filter-selector,.btn-group.selected>.filter-selector.btn:first-child,.btn.btn-primary:active,.btn.btn-primary:hover,.btn.normal:hover,.modal-footer .btn:active,.modal-footer .btn:hover{color:#fff;border:1px solid #1b70a0;background-color:#1b70a0}.btn-group .filter-selector .caret{margin:8px 0 0 10px;border-top:4px solid #fff;borde
 r-right:4px solid transparent;border-left:4px solid transparent}.btn-group.header-button{margin:4px 0 0;text-transform:none}.page-filters{padding:0;margin:10px 0}.dropdown-menu{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;z-index:102}.modal{position:fixed;top:10%;left:50%;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.3);*border:1px solid #999;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,.3);box-shadow:0 3px 7px rgba(0,0,0,.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;outline:0}.modal.fade{z-index:-200}.modal.fade.in{z-index:1050}.auto-update-container{padding:10px 0 0}.auto-updates{margin:0 10px 0 0}.super-help{font-size:9pt;vertical-align:super}
\ No newline at end of file


Mime
View raw message