Skip to content

Commit

Permalink
Merge pull request #43 from EtherealEngine/AdminPanel-guide
Browse files Browse the repository at this point in the history
[general] Write the `Admin Panel` guide
  • Loading branch information
mrhegemon authored Dec 25, 2023
2 parents 2bae3f6 + fb967bb commit 2ce1330
Show file tree
Hide file tree
Showing 63 changed files with 331 additions and 74 deletions.
83 changes: 9 additions & 74 deletions docs/03_manual/01_general/03_adminPanel/00_intro.md
Original file line number Diff line number Diff line change
@@ -1,74 +1,9 @@
# Admin Panel Guide
_This page will become a section, and it will contain the Admin Panel Guide_
## Dashboard
### Usage Dashboard
### Usage Time Series
## Projects
### Managing Projects
### Project Table
#### Name
#### Version
#### Commit SHA
#### Commit Date
#### Update
#### GitHub Integration
#### User Access
#### Invalidate Cache
#### View Project Files
## Routes
## Location
### Create Location
#### Name
#### Max Users
#### Scene
#### Type
#### Media Toggles
#### Make Lobby
#### Featured
### Location Table
## Instance
### Patch InstanceServer
### Instance Table
### Instance Table Actions
## Users
### Create User
#### Name
#### Avatar
#### Scopes
##### Admin:Admin
##### Benchmarking:read/write
##### Bot:read/write
##### contentPacks:read/write
##### Editor:write
##### globalAvatars:read/write
##### Groups:read/write
##### Instance:read/write
##### Invite:read
##### Location:read/write
##### Party:read/write
##### Projects:read/write
##### realityPacks:read/write
##### Recording:read/write
##### Routes:read/write
##### Scene:read/write
##### Server:read/write
##### Settings:read/write
##### Static_resource:read/write
##### User:read/write
### User Table
## Invites
## Avatar
### Create Avatar
#### Avatar Name
#### File Source
#### Avatar Thumbnail
### Avatar Table
## Resources
### Create Resource
#### Name
#### Project
#### File Source
## Benchmarking
In work
## Bots
In work
import DocCardList from '@theme/DocCardList'

# Admin Panel Overview
The Ethereal Engine's `Admin Panel` is a graphical interface (GUI) tool for managing administration tasks of an Ethereal Engine deployment.

The Admin Panel can be accessed by navigating to the `/admin` route of the desired deployment.
_eg: `https://localhost:3000/admin` when working with a local deployment_

<DocCardList />
25 changes: 25 additions & 0 deletions docs/03_manual/01_general/03_adminPanel/01_dashboard.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Dashboard
The Admin Panel Dashboard provides an overview of several performance indicators relevant to an Ethereal Engine's deployment.
It gives a progress report for how a deployment is performing over a certain period of time based on data captured during the selected period.

![](./images/dashboard.png)

## Usage Dashboard
The usage section shows a snapshot about the current usage of a deployment.
<img width="1280" alt="image" src="https://github.com/EtherealEngine/etherealengine-docs/assets/92340542/f0282bf5-36ec-4220-85fa-636ba156689e" />

It shows the status of:
- Active Parties
- Active Locations
- Active Scenes
- Active Instances
- Daily Users
- Daily New Users

## Usage Time Series
This section shows a time series of the information in the snapshot over a customizable period of time
<img width="1207" alt="image" src="https://github.com/EtherealEngine/etherealengine-docs/assets/92340542/f623fa0f-72a0-49c8-82e1-51f8ddc7485b" />

The information is split between activity and user data.
The time period is set to the last 30 days by default, but it can be changed to start and end at any arbitrary date.
This information can be exported to an SVG or PNG image.
15 changes: 15 additions & 0 deletions docs/03_manual/01_general/03_adminPanel/02_servers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Servers
The Servers page provides a list of all of the servers running in an Ethereal Engine's deployment.

![](./images/servers.png)
_Note: The labels at the top of the page will filter servers by category when clicked._

For each server, it presents:
- **Name**: The human-readable name given to the server for easier identification.
- **Status**: The current state of the server _(Running, Succeeded, etc)_
- **Type**: The type of server _(Media, World, Unassigned, etc)_
- **Users**: How many users are currently active in the server.
- **Restarts**: The moment in time when the server will next restart.
- **Containers**: How many containers the server is using for its services.
- **Age**: How long the server has been running.
- **Instance**: Handle to the instance that this server is connected to.
61 changes: 61 additions & 0 deletions docs/03_manual/01_general/03_adminPanel/03_projects.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Projects
<!-- TODO: Confirm that the information given in this section is correct. -->
The Projects page provides a tool to add new projects and list all existing projects of an Ethereal Engine's deployment.

![](./images/projects/list.png)

## Project Table
- **Name**:
Unique and identifiable name given to the project.

- **Version**:
Version that is listed in the `package.json` file of the project.

- **Commit SHA**:
`git` commit hash/ID that the project is tracking.

- **Commit Date**:
Date when the tracked version of the project was last updated.

- **Update**:
Orders the deployment to update the selected project to the latest commit of its repository.
![](./images/projects/update.png)

- **Push to GitHub**:
Uploads the project to a GitHub repository into the current user GitHub account.

- **GitHub Repo Link**:
Opens a dialog to update the URL of the repository where the project is stored.
![](./images/projects/repositoryLink.png)

- **User Access**:
Opens a dialog to create links for giving access to the project to new users.

- **Invalidate Cache**:
Order the deployment to invalidate the storage provider's cache of the selected project.

- **View Project Files**:
Opens a dialog that provides a file explorer for managing the file-tree of the selected project.
![](./images/projects/files.png)

- **Remove**:
Orders the deployment to delete the project from its storage _(no undoing possible)_.

## Add project
The Add Project button opens a dialog where new projects can be added to the deployment.
- **Destination Repo**: . <!-- TODO: How do these work? -->
- **Source Repo**: . <!-- TODO: How does these work? -->
- **Copy from Destination Button**:
Automatically copies the Destination URL into the Source URL field.
- **Auto Update**:
Enable/disable automatic updates for a project when the project's repository gets new commits.

![](./images/projects/add.png)

## Update/Rebuild the Engine
The `Update Engine / Rebuild` action should be activated in the following situations:
- Ordering to update the engine to its latest version available.
- After making any changes to any of the projects stored in the deployment.
- After changing between engine versions.
_(either when reverting to an older version, or when going back to newer one)_

10 changes: 10 additions & 0 deletions docs/03_manual/01_general/03_adminPanel/04_routes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Routes
The Routes page provides a list of available routes for the deployment and projects.
- **Project**:
The project that provides the route.
- **Route**:
The path that has to be added to the deployment's root address to open the route.
- **Active**:
Controls whether the route is accessible or not.

![](./images/routes.png)
41 changes: 41 additions & 0 deletions docs/03_manual/01_general/03_adminPanel/05_locations.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Locations
The Locations page provides a tool to add new locations and list all existing locations of an Ethereal Engine's deployment.

![](./images/locations/list.png)
## Location Table
- **Name**:
The human-readable name of the location.
- **Scene**:
The scene file that will be used for the location.
- **Max Users Per Instance**:
The maximum number of users that are allowed in the location before a new instance of that location is created.
- **Type**:
The access type of the location _(public, private, showroom)_
- **Tags**:
The tags that the location is marked with.
- **Video Enabled**:
_(Yes/No)_ Whether the location has the Video feature enabled or not.
- **Action**:
- **View**: Opens a dialog to manage the properties of the location.
- **Delete**: Orders the deployment to delete the location from the list _(no undoing possible)_.

### View/Edit Properties
The `Action: View` dialog provides a tool to edit all properties of the Location Table, plus:
- **Audio Enabled**:
Enable/disable the Audio feature for the location.
- **Screen Sharing Enabled**:
Enable/disable the Screen Sharing feature for the location.
- **Face Streaming Enabled**:
Enable/disable the Face Streaming feature for the location.
- **Make Lobby**:
Enable/disable the Lobby property for the location.
- **Featured**:
Enable/disable the Featured property for the location.

![](./images/locations/edit.png)

## Create Location
Pressing the `Add Location` button will open a dialog to create a new location in the deployment.

![](./images/locations/create.png)
_Note: Refer to the previous section ([Location Table](#location-table)) for a description of each of the properties._
22 changes: 22 additions & 0 deletions docs/03_manual/01_general/03_adminPanel/06_instances.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Instances
The Instances page provides a tool to view and patch existing instance servers running on the deployment.

![](./images/instances/list.png)

## Instance Table
- **Instance ID**: Unique ID of the server that is running the Instance.
- **IP Address**: IP Address and Port of the server running the Instance.
- **Current Users**: Number of users currently active in the given location Instance server.
- **Location**: Location that is active in the Instance server.
- **Channel**: Communication channel active in the Instance server.
- **Pod Name**: Name of the Kubernetes pod that is running the Instance server.
- **Action**:
- **Delete**: Orders the deployment to close the given Instance server.
- **View**: Opens a dialog to manage the users of the Instance server.
![](./images/instances/view.png)
## Patch InstanceServer
<!-- TODO: Properly explain what this is -->
The Patch InstanceServer button opens a dialog that allows the deployment's instance servers to be patched.

![](./images/instances/patch.png)

22 changes: 22 additions & 0 deletions docs/03_manual/01_general/03_adminPanel/07_avatars.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Avatars
The Avatars page provides a tool to view, upload and manage all of the Avatar files stored in the Ethereal Engine deployment.

![](./images/avatars/list.png)
## Avatar Table
- **Id**:
Unique ID of the selected Avatar.
- **Name**:
Human-readable name of the selected Avatar.
- **Owner**:
User that owns the given Avatar.
- **Public**:
Whether the selected Avatar is publicly accessible by users other than the owner.
- **Thumbnail**:
Uploaded or auto-generated thumbnail image of the Avatar.
- **Action**:
- **Delete**: Orders the deployment to delete the target Avatar _(no undoing possible)_.
- **View**: Opens a dialog to manage the properties of the target Avatar.
Clicking the `Edit` button will make all Avatar properties editable until `Submit` is pressed.
![](./images/avatars/view.png)
## Create Avatar
![](./images/avatars/create.png)
3 changes: 3 additions & 0 deletions docs/03_manual/01_general/03_adminPanel/08_benchmarking.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Benchmarking
<!-- ![](./images/benchmarking.png) -->
<!-- TODO: Explain what this page is for -->
13 changes: 13 additions & 0 deletions docs/03_manual/01_general/03_adminPanel/09_bots.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Bots
<!-- TODO: Explain what this page is for -->
The Bots page provides a tool to view and manage the bots of an Ethereal Engine deployment.
## Create a new Bot
- **Name**: .
- **Description**: .
- **Location**: .
- **Instance**: .
- **Command**: .
- **Description**: .

![](./images/bots/create.png)
![](./images/bots/list.png)
14 changes: 14 additions & 0 deletions docs/03_manual/01_general/03_adminPanel/10_channels.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Channels
The Channels page provides list of the active text/audio/video channels available in an Ethereal Engine deployment.

Ethereal Engine channels are very similar in concept to Discord channels.
They allow for communication between the users of a deployment via text, audio or video chat.

- **ID**: Unique ID of the Channel.
- **Name**: Human-readable name of the Channel.
- **Action**:
- **View**: Opens a dialog to edit the name of the target Channel.
- **Delete**: Orders the deployment to delete the target Channel _(no undoing possible)_.

![](./images/channels.png)

16 changes: 16 additions & 0 deletions docs/03_manual/01_general/03_adminPanel/11_invites.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Invites
The Invites page provides a tool to generate and manage invite links to the Ethereal Engine deployment.
- **ID**: Unique ID of the Invite.
- **Name**: Human-readable name of the Invite.
- **Passcode**: . <!-- TODO: What is this for? -->
- **Type**: _(new-user, friend)_. <!-- TODO: Describe this field -->
- **Target ID**: . <!-- TODO: Describe this field -->
- **Spawn Type**: . <!-- TODO: Describe this field -->
- **Spawn Details**: . <!-- TODO: Describe this field -->
- **Action**:
- **View**: Opens a dialog to edit the properties of the target Invite.
- **Delete**: Orders the deployment to delete the target Invite _(no undoing possible)_.

![](./images/invites/list.png)
![](./images/invites/createUser.png)
![](./images/invites/createLocation.png)
13 changes: 13 additions & 0 deletions docs/03_manual/01_general/03_adminPanel/12_recordings.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Recordings
This page provides a tool to manage the Motion Capture (Mocap) recordings of the Ethereal Engine deployment.

![](./images/recordings/list.png)

- **Recording ID**: Unique ID of the selected Recording.
- **User**: User that recorded the selected Recording.
- **Ended**: Represents the active state of recording. It will be true if you are finished recording, and false if you are actively recording.
- **Schema**: JSON object that contains the data of the selected Recording.
- **Action**:
- **Delete**: Orders the deployment to delete the target Recording _(no undoing possible)_.
- **View**: Opens a dialog that provides a file explorer for managing the file-tree of the selected Recording.
![](./images/recordings/view.png)
15 changes: 15 additions & 0 deletions docs/03_manual/01_general/03_adminPanel/13_resources.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Resources
The Resources page provides a tool to list and manage all of the Asset files of the Ethereal Engine deployment.

![](./images/resources/list.png)
- **Id**: Unique ID of the Asset/Resource file.
- **Key**: Path of the Asset/Resource file.
- **Mime Type**: Format/file-type of the Asset/Resource file.
- **Project**: Project that the Asset/Resource file belongs to.
- **Action**:
- **Delete**: Orders the deployment to delete the target Resource _(no undoing possible)_.
- **View**: Opens a dialog that provides a tool to edit the properties of the target Resource.
![](./images/resources/view.png)

## Create Resource
![](./images/resources/create.png)
15 changes: 15 additions & 0 deletions docs/03_manual/01_general/03_adminPanel/14_settings.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Settings
![](./images/settings/project.png)
![](./images/settings/server.png)
![](./images/settings/helm.png)
![](./images/settings/client.png)
![](./images/settings/themeSelect.png)
![](./images/settings/themeEditor.png)
![](./images/settings/instanceServer.png)
![](./images/settings/taskServer.png)
![](./images/settings/email.png)
![](./images/settings/authentication.png)
![](./images/settings/aws.png)
![](./images/settings/chargebee.png)
![](./images/settings/redis.png)
![](./images/settings/coil.png)
Loading

0 comments on commit 2ce1330

Please sign in to comment.