Updating your Project Settings
To Update Project Settings:
From the Dashboard, select your project by clicking its name. (If you don't see your project, select Personal Projects or [Team Name]. Then, select your project by name from the complete list.)
From your project home page, select one of the tabs:
- General Settings for project access and computing power
- Multiplayer Settings for setting up multiplayer worlds (only available for team projects)
- Node Settings for server-side scripting availability
- API Keys for allowing your project access to application-level data (see more background on project access and project access tokens)
The Access setting determines who can interact with your project once it is complete.
- Public: Anyone can access your project.
- Authenticated: Only logged in users can access your project.
- Private: Only you can access your project.
The Push Channel setting determines whether the Epicenter server can notify the clients (end users in browsers) of server-side events and whether clients can send messages to each other. This is most often used in projects with multiplayer worlds. It is only available for team projects.
- If the Push Channel is enabled, the Require Authorization setting determines whether credentials are required to send a message to the channel. Credentials include a user name and an access token. (The access token can be either a user access token for this end user, or a project access token.)
The Model Session Timeout setting determines the amount of time between when an end user last interacts with your project and when the underlying session on the Epicenter backend servers is closed.
Keeping this short will reduce the computing power your project uses. However, making this too short may mean that a user has to "start over" while in the middle of working with your project. The default value of 30 minutes should be a good balance for most models.
The Edit Project Name setting allows you to change the formal name for your project, which appears throughout Epicenter. (Note that this does NOT change the Project ID, which is the unique identifier for your project and forms part of the project's URL.)
- Delete Project. If needed, you can delete a project. Select Delete Entire Project from the bottom of the General Settings tab. Once you delete a project, the project and all its run data are deleted forever. Please be certain.
For team projects, you have the option of creating multiplayer worlds within your project. In a multiplayer world, many end users work together — either collaboratively, competitively, or both. They share the same set of interactions and work within a common state: a world is a set of end users and their shared runs.
For more about creating multiplayer projects, see the Multiplayer APIs.
Once you have a multiplayer project, you can use the Multiplayer Settings to set up your worlds. Then, administer the assignment of end users to worlds under each Group.
- The Multiplayer setting determines whether multiplayer worlds are available for this project.
- The Allow Users to Self-Assign setting determines whether end users can create and assign end users to worlds (Enabled), or whether only facilitators have this ability (Disabled).
- The Worlds per Group setting determines how many multiplayer worlds this project has per group of end users. Typically the size of each world is set (e.g. based on the number of roles available), and the total number of worlds per group is dynamic based on how many end users are part of the group.
- The list of Role Names are the roles end users take on in each of your project's worlds.
- For example, suppose you want three end users to collaborate while playing a supply chain simulation. You could set up roles a VP of Manufacturing, a VP of Sales, and a VP of Marketing. Then, when you autoassign end users from each group into worlds, a world will automatically be created for every three end users.
- Optional roles are roles that can be filled, but will not automatically be filled during automatic multiplayer assignment.
Node.js is only available if you have an Enterprise team.
If the Node.js server is enabled, the Code Cache setting appears. Use this to reset (clear) the cache on the Node server. The cache is cleared automatically when you edit, add, or remove files in the project's Node.js folder, but you can also clear it manually here.
The current version of Node.js in Epicenter is v6.11.1.
Most of the time when you want your project's interface to request information from your project's model, you do so using an access token generated based on the end user (username and password) that is currently interacting with the project. (See Creating your User Interface for the different Epicenter APIs you can use for this.) This access token provides access to all of the data available for the end user: information from this run and previous runs, and possibly from runs of other end users in this group if the end user is a Facilitator.
However, sometimes your project's interface needs access to application-level data. For example, in order for your interface to display a high score list, it needs access to all of the runs for all of the end users in all of the groups in your project.
You can use project-level API keys to create access tokens that provide access to application-level data, regardless of end user or group.
Viewing and setting API keys
From your project home page, select Settings from the left. Under API Keys, select View API Keys to display the API Keys dialog.
Select Generate API Keys or Reset API Keys to create a new pair of API Keys.
The Public key is always visible here. The Secret key is only displayed once, when it is (re)generated. Make sure to copy or download it; if you lose it, you will need to regenerate your project's API keys.
You need both the Public and Secret key to generate an access token that allows the caller to access application-level data.
Creating access tokens from API Keys