The current versioning/voting system for shared recipes has problems.
People tweak recipes all the time trying to improve them. The current system has the following problems:
- If someone downloads a shared recipe, there is no notification when that recipe is updated.
- There is no way to assign version numbers, other than what people currently do, which is put it into the script title.
- Votes for a script don't persist if a new version of the script is made. </ul> Each shared recipe should have a version number with a major and minor part, such as 3.02. All recipes should start at version 1.01. When a change is made to the recipe and it is re-shared, it can be either a major change or a minor change, as chosen by the author. A minor change should increment the minor version number by .01. A major change should reset the minor part to .01, and increment the major part. Votes for a script should persist across all minor version number changes. Major version number changes should lose the voting. Children of a recipe should be tied to a particular major version number. A minor change should replace the version that is on the web site with the new version. A major change be added to the web site, leaving the previous major changed version. The author should have the option of deleting versions of the script that are on the web site. When a user runs a recipe, it should check against the web site to see if the version being run is the latest version, either major or minor. If it is not, then foldit should offer to download the latest version to the cookbook, replacing the one that is there.