Saturday, October 21, 2017

Keen Modding Live - Versioning

One of the goals for Keen Modding Live is to allow people to suggest adjustments to others' levels. That requires a notion of multiple versions of a single level, which seems like a nice thing to have anyway so people can publish updated versions of their own levels. Today I did some rearranging of the existing infrastructure to allow for multiple versions.

The levels table no longer has any information on the level package file, but rather has the ID of the current/suggested version in the level versions table. The level versions table stores the version's package metadata, the version creator's user ID (which may be different from the level owner's user ID), and whether the version is an official revision of the level. My plan is to allow level owners to merge in changes that they like, thereby making the revision part of the official level history. Currently, though, the level upload API endpoint just assumes that revisions by the original author are official and revisions by others are not. The level deletion endpoint currently torches all versions, official or not, of a deleted level, which was easy to implement but might be worth reconsidering.

No comments:

Post a Comment