Working with Configs
Config ContentIds and Revisions
- Each config managed in Joystick has a unique ContentId. This is shown in the top left when viewing the config.
- The ContentId is used on the REST API path to request a particular config. Over the API the latest revision labeled ACTIVE is served.
- The ContentId cannot be changed (You can, however, duplicate a config then use a different ContentId).
- When you update a config, a new revision is created. A history of every revision is kept so you have traceability, and can quickly revert back to a previous revision.
Create a Config
With Joystick, you can quickly create a configuration an make it available over API to your app or game. When viewing an environment, click the orange "Create Config" button on the the top.
You will be taken to the config editor. Put in your JSON content, ContentId and description, then click "Save".
- When a config is created, it is instantly available over the API. See the API Reference for more details.
Create New Revision
Making updates to your configuration content in Joystick is easy. Simply click the 'Create Version' button near the top left.
This will take you to the content editor. You can use the right side panel to make any edits; the difference to your existing content will be shown.
- We support in-line comments starting with "//". These will be removed when the content is sent over API.
- Click 'Save' when you are done with your edits to add the new version.
Once you have created a new version, it will show up on the left side when viewing your content.
- The latest version labeled with "ACTIVE" will always be what is sent over the API.
- You can click on any previous version to view its content.
Activating a Previous Version
One of the great things about using Joystick is the ability to access a history of all changes, and activate or revert to a previous version quickly.
To revert to a previous version, click on the version tab to show the options, then click "Activate".
After you click "Activate", that version will immediately become the active version that is served over the API. This is a very quick and easy way to revert to a previous version if you do not want the most recent update anymore.
When activating a previous version, a copy of that content is used to create a new version. Historical versions are never over-written or deleted.
Archiving a Version
You may want to archive versions that you no longer need or are incorrect.
Click on the version you would like to archive, click the vertical ellipses, then "Archive..." and confirm. The version will be hidden from view but the data remains available.
If you have accidentally archived a version and would like it restored, please contact our team.
Comparing Different Config Versions
You can easily see the content differences between any two versions of your config.
- Click the checkbox on the two versions you'd like to compare.
- Click the "View Diff..." link at the top of the versions list.
Pushing or Promoting Configs Across Environments
You will likely have multiple environments and need to sync or promote remote config content between them. You can easily push a single piece of content to another environment.
- When pushing content, only the single latest "Active" version of the content is pushed to the target environment.
- In the target environment, if the same ContentId exists, a new version will be added. The existing version history in the target environment is preserved.
Click "Push" on the top right when viewing a piece of content to start.
You will be prompted with a dialog to select the target environment and folder. Click "Push" and you are done.
Viewing What is in Other Environments
For any config, you can check for the same ContentId, what is in the other environments. Click "Environments" on the top right to show the summary.
- You can use the "Hash" as a quick way to tell if the content is the same or different. If the contents are the same, then the hash will be the same.
- You can click on the date-time of "Last Update" to navigate to configs in other environments.