Installation
Comprehensive instructions on how to set up Vision MIS with your game. Follow on for step by step details on how to achieve success in your installation, and set up your Vision discord bot.
If you want to set up the discord bot integration, skip to discord bot setup
Studio Setup
The following instructions are to be used for installing Vision MIS into your game through Roblox Studio. Please head to [link here] for setting up discord integration.
Ensure you have the licence for this product, through our website or our product hub
Getting started
You must enable HTTP Requests and API Services within the Game Settings tab in Roblox studio. This is located under the Security section. Please ensure this is enabled before opening a ticket with our support team.
Place the file in Workspace
After downloading the product file, drag and drop into Workspace under your game
Ensure HTTP requests/API services are enabled
Check to make sure your security settings are correct. You can do this by heading to Home in Roblox Studio, then Game Settings
Configuration
Under the jaVision folder provided, there will be a Settings script. Please open it to continue.
Configure Group
Configure Group
An example for configuring your group is below
Options | Description |
---|---|
GroupID | The ID of your Roblox group |
StaffID | The minimum role ID a user has to be to access the staff version of Vision |
AdminID | The minimum role ID a user has to be to access specific features, such as timetabling, settings, etc |
StudentID | The maximum role ID a user has to be to be considered a student (e.g 10+ for staff, 9 and below for students) |
SchoolName | Your specific school name |
SchoolType | Type of school (e.g primary, secondary, academy) |
IconID | A designated decal image ID for your school, appears on all Vision assets/features |
Data configuration
Data configuration
You are required to have unique data store keys, which are a series of random words or numbers that are used to identify and store data within your game.
Options | Description |
---|---|
VisionPlayerDataStoreKey | A random key of your choosing. Saves player data for the system |
VisionSettingsDataStoreKey | A random key of your choosing. Saves vision settings for your game |
Webhook integration
Webhook integration
A webhook is a discord integration that allows you to send authorised messages to a discord channel from an external application, in this case, Vision MIS.
Learn more about discord webhooks, and how to set them up
In-game commands
In-game commands
In-game commands are a recently added feature, allowing you to quickly perform actions without directly interacting with the Vision MIS dashboard.
The code snippet above contains key attributes that determine the functionality of the commands
- To disable commands, replace
Enabled = true
withEnabled = false
- To change the prefix for commands, replace
Prefix = "%"
with your own prefix, for examplePrefix = ":"
- To change a command name, look for the command you want to change under
["CommandNames"]
and replace the command name in the ” ” with your new command name.- For example, replace
Positive = "merit"
withPositive = "positive"
- For example, replace
On call alerts
On call alerts
On call alerts allow specific users with specific roles to receive alerts when a request is made from a member of staff. The configuration for this is very simple
Within ["RankIDs"] = {1, 2, 3}
, you can add or remove role IDs. These IDs are gathered from your Roblox group.
To add a new role to the list, just add the number of the role ID in the {}
. For example, if I added 255, it would now look like {1, 2, 3, 255}
Nametags
Nametags
Gamepasses and lanyards
Gamepasses and lanyards
You are no longer required to use gamepass IDs to give out non-uniform or timeout passes. To disable the gamepass feature, just set the GamepassID
to 0
. Otherwise, replace 0 with your gamepass ID if you wish to use this feature.
- To disable the above, just change
true
tofalse
- To disable the above, just change
true
tofalse
When lanyards are set to Enabled = true
, staff will receive lanyards automatically. Please set this to false
if you wish or staff not to have built in Vision lanyards.
Custom Lanyards allow you to give out unique lanyards to specific year groups
Copy the example provided
To create a new group lanyard, copy the following
Paste it underneath the already existing custom lanyard
All done! You can now configure it
You have successfully added your own custom lanyard. Ensure to set Enabled = true
for it to take effect
TextureType
is a configurable setting so the lanyard shows various different textures depending on the group type for example.- Set the TextureType to one of the following: Senior Leader, Student, Staff or Custom. For example
TextureType = "Senior Leader"
, orTextureType = "Custom"
- You must set your group name correctly. Replace
["Group Name"]
with the name of the year group that you want to issue this lanyard to. You can find group settings later on in the configuration. - For example, if my Group Name was Year 7, I would set it to
["Year 7"]
- Add each of the Roblox group role IDs into the
RoleIds = {}
separated by a comma. Each of these roles will be given the lanyard
- To disable the above, just change
true
tofalse
Isolation
Isolation
- To enable or disable isolation, change
true
tofalse
or the other way round - To make students be sent to a designated isolation team, you can replace
nil
with the followinggame:GetService("Teams")["TEAM NAME"]
. - Replace
["TEAM NAME"]
with the name of your team you wish to place students into. For example my isolation team would begame:GetService("Teams")["Isolation"]
Relocation
Relocation
- To enable or disable relocation, change
true
tofalse
or vice versa - The
TeleportToFolder
is the name of the folder which contains the parts where students will be teleported to. By default this is “Relocation”, however you can copy paste the Relocation folder under the jaVision folder in Workspace and rename it to whatever you want. - An example of the above:
- As mentioned in the Isolation tab, you can set a designated team for students to be placed into when they are relocated.
- For example
["RelocationTeam"] = game:GetService("Teams")["Relocation"],
Interface configuration
Interface configuration
Name | Options |
---|---|
UI Theme | ”Light” or “Dark” |
Boot Screen | true or false |
Session Details Screen Position | 1 (Top), 2 (Bottom Left) , 3 (Bottom) or 4 (Bottom Right) |
ColourTheme | Click the values in the fromRGB() to select a colour |
Timezone | BST, GMT, EET, CET, ET, CT, AEST, AEDT |
Groups
Groups
A group within Vision is a collection of students, arranged by Roblox group role IDs into their own category. The default template is above.
How to add a new group
Add a new goup
Copy the following and paste it under the last group that is in the list
Paste it underneath the last group
Your groups should now look like this
All done!
Start configuring your group role ids or name. Each of the role IDs should be separated by a comma within the {}
Lessons/periods
Lessons/periods
Lastly - one of the most relevant sections of the configuration process, is organising your periods/lessons for the regular day
["ClosureTime"] = "20:55",
- this is the the time the last scheduled lesson ends
AttendanceIsLogged = true
- this is for lessons, not breaks or lunches. Set this to false
if you want to have a lesson or other timteabled session to not to be registered
How to add a new lesson
Copy the sample code
Copy the template as shown below
Paste it underneath the last lesson listed
Your Periods table should now look like
All done!
You have successfully created a new period. You can now edit the name and time as shown above.
Discord Bot Setup
Please read the information below before proceeding to setting up the Vision discord bot
You must have a fully working Roblox-setup before continuing with setup on the discord bot
Add the Vision bot to your discord server
If you have not already added the discord bot, you can do so here. Please note, that you must be an Administrator of the guild (server) you wish to setup the Vision bot in.
Follow along and read through
We recommend that you read through all of the documentation thoroughly before contacting support — our support agents follow the same documentation to assist you.
Initial Setup
Please ensure you have each of the following pieces of information before continuing:
Information | Description |
---|---|
Experience Id | The experience id of your game which contains the Vision System. |
OpenCloud Key | An API key to interact with the in-game Vision System from Discord. |
Community Id | The id of your Roblox group/community. |
Log Channel Id | The id of a log channel within your Discord server to send all bot logs to. |
You can retrieve the information through each of the tabs below. We’d recommend keeping all of this stored somewhere as you get each piece of information.
To get started, head to the Creator Dashboard, if you are not already logged in make sure to do so.
Once you are on the home page, you must click View As in the top left of the side-bar and switch to your Roblox Community which owns your game with the Vision System in
Once you have switched to your group, select the Creations tab and find your experience in the list. Once you find the experience with your Vision System in, click the 3 dots that appear when you hover over the game. Once this is done, click Copy Universe ID.
To get started, head to the Creator Dashboard, if you are not already logged in make sure to do so.
Once you are on the home page, you must click View As in the top left of the side-bar and switch to your Roblox Community which owns your game with the Vision System in
Once you have switched to your group, select the Creations tab and find your experience in the list. Once you find the experience with your Vision System in, click the 3 dots that appear when you hover over the game. Once this is done, click Copy Universe ID.
When you enter your OpenCloud Key into our system it automatically encrypts to ensure that, in the event of a data breach, your key remains secure and intact.
-
To get started, head to the Creator Dashboard, if you are not already logged in make sure to do so.
-
Once you have been brought to the API Key page, press Create API Key.
From there, you will be presented a screen to fill in some general information regarding the new API Key. You can fill in the fields with guidance below.
Field | Description |
---|---|
Name | You may set any name you want, we recommend jaVision-Bot |
Description | A description to describe the key, you may leave this field empty if you would like |
Adding API Systems
MessagingService
Next, scroll down until you find the Access Permissions section. Press the Select API System and scroll down until you find messaging-service
, click on it and press Add API System.
After that, ensure to add your experience. You can do that by clicking Select an Experience and then clicking your experience from the given list and pressing Add Experience
The chosen experience must correspond with the experience id retrieved in the previous step. Your Vision system must also be fully setup and working in the experience you select.
Select the API System operation from the Select Operations to Add dropdown and click publish
.
Universe Datastores
Head back up to the Select API System dropdown, click it and scroll down until you find universe-datastores
, click on it and press Add API System.
By using the same steps before, add your experience by clicking Select an Experience and then clicking your experience from the given list and pressing Add Experience.
Press the Select Operations to Add dropdown and select the following:
If you do not select all the operations above, or select different ones your Vision Botwill not work as intended and may error.
Security
Scroll down until you reach the Security section once the aforementioned steps are completed fully. Inside of the Enter an IP Address or CIDR enter the IP Address 0.0.0.0/0
Then press Add IP Address
This IP Address allows our servers to communicate with Roblox systems through your API Key.
Then make sure to set the Expiration to No Expiration to ensure that the key never expires.
You may set the key with an expiration date but you will have to update the key before it expires, it is recommended to set it to no expiration
Once all the steps above have been completed fully, using the screenshots provided, press the blue Create API Key button and copy the key given to you.
The key given to you is your Roblox OpenCloud Key, keep it safe and never send it to anyone.
Vision Developers and jaDevelopment Staff Members will never ask you for your OpenCloud Key.
To find your community id, head to the Roblox Communities page. Find your group on the left sidebar and click on it. In the URL bar you will find some numbers, this is your community/group id.
Setting Up
Once you have retrieved the necessary information for system setup,
Run the /setup
command to initiate the setup process. You will be prompted an embed with a button on it, click the button and a modal form will popup asking you to input the information you retrieved before.
Input the information into all the fields and then click Submit. If the setup was successful you will be notified, else you will receive an error message stating what went wrong.
If you do not want any system logs enter a 0 (zero) when asked for a Channel Id.
If you update your in-game datastore names within your Vision settings, the cached datastore names in our database will become out of sync with the live stores. View the System Refresh section to refresh the cached names.
System Permissions
Ensure that you setup the correct permissions before attempting to run any commands. By default, some commands are locked to “Staff” ranks and some to “Admin” ranks, much like the in-game Vision system. Currently, you are unable to specify which commands you want to lock to administrator or staff members.
Our current command permissions are below:
Staff & Admin Commands | Admin Commands |
---|---|
analytics | attendance |
year-analytics | timeout-pass grant timeout-pass remove |
timetable | uniform-pass grant uniform-pass remove |
search | |
roleplay-name | |
timeout-pass has | |
uniform-pass has | |
merit | |
behaviour-point | |
incident | |
isolate | |
detention |
Guild Members who have any administrative roles can access both admin and staff locked commands. Guild Members who have any staff roles can only access staff locked commands.