================ Client Dashboard ================ .. _about-client-admin: The client dashboard allows client admins to see usage as well as current invitations and users.` If a user is a client admin, they can get to the client dashboard by going to the user tools dropdown. .. image:: images/Your_Apps_New_Admin.png :width: 600 The Client Dashboard looks like this. .. image:: images/Users_and_Activity.png :width: 600 The dashbord shows you the users and activity on a per-app basis. This means that you have to select an app from the dropdown provided in the header before you can see the dashboard. After selecting an app, the dashboard will update to contain three sections: Usage, Invitations and Users. Usage ===== This shows some statistics about how the selected app is performing. Page views is the total number of times users loaded the app. Active users is the number of users who have used the app in the time period. Invitations =========== This section shows all currently outstanding invitations for the selected app. Clicking on the "Permissions" button shows the data permissions that this user will have. "Resend" will send the user a reminder to accept the invitation. "Remove" will remove this invitation and the user will no longer be able to accept the invitation from the email that was previously sent to them. Inviting new and existing users --------------------------------- Select the app from the dropdown in the header and click the "Send new Invite" button. This will open a dialog where you can enter one or more email addresses of the users who you would like to invite and the data permissions they should have. If a user with this email address does not exist yet, they will receive an email with an invitation link that they can use to register themselves as a user on the Juicebox platform. Upon setting their password, they will be logged in and taken to the app to which they were invited. They will be set up with any data permissions that were listed when the invite was created. If a user with this email address already exists, they will be granted access to the app on successful submission of the dialog and will receive an email with a link to access the app. .. image:: images/SendNewInvite.png :width: 600 .. _managing-data-permissions: Managing permissions -------------------- Data permissions exist at the user level and are the same across all the apps the user may have access to. The permissions are represented as a JSON object. Any permissions set on an invitation will be merged with the invited users' existing permissions. This merging of permissions can sometimes lead to unexpected updates to the existing permissions. Any fields on the permission object that don't already exist will get added to the existing set of fields. However any permission fields set in the invite that are already a part of the existing permissions will get overwritten. Any fields on the existing permissions that are not part of the new permissions object will remain unchanged. Here's an example of how permissions could get overwritten. An existing user has these permissions set: .. code-block:: json { 'settingA': 'org1', 'settingB': 'Id2' } They are invited to a new app, where new permissions have been setup in the invitation like: .. code-block:: json { 'settingC': 'org1', 'settingB: 'Id4' } They would end up with overwritten permissions that look like this: .. code-block:: json { 'settingA': 'org1', 'settingB': 'Id4', 'settingC': 'org1' } Manage users ============ This section shows all currently active users for the selected app. You can dig deeper by looking at their usage in the last 30 days. Clicking remove will make this user inactive and unable to log in.