Skip to content

Utilize Foundry's System Data Models

jalensailin requested to merge jalenml-data-validation into master

Intent

In v10, Foundry introduced the ability to define our own system data models without using template.json. You can read about it here. Essentially, this method is more powerful than simply defining the data model in a json format, because it has build in data-validation. With this we can ensure that all of our data always is in the correct form and we can reduce errors going forward.

Because this is a pretty fundamental change, it will require broad testing by multiple individuals. I suggest this goes in early during the 0.89 process so that when other devs are doing their own work, they can find/fix bugs well before we release.


  • This is meant for a hotfix
  • This is meant for the next release (see milestone)
  • This needs more reviewers than normal; there may be controversy or high complexity
  • This intentionally introduces regressions that will be addressed later
  • There is/will be documentation changes on the wiki
  • Please do not send commits here without coordinating closely with the owner
  • This is a Build System change

Related Issues

Steps to Test

  1. Test every actor and item document for all functionality.

I fully suspect some bugs will slip through the cracks with this major change. Ideally we test this for basic functionality (nothing is overwhelmingly broken) and then get it in early during our development cycle.

Future Work

This sets up a multitude of improvements to our system, including ledger refactoring, improving installed items, and many more.

Additional Notes

This MR also removes some junk data that we've been adding to document.system. I think the data model stuff actually takes care of the migrations implicitly (since the junk data isn't in the data model, it won't appear in document.system anymore, and the code no longer adds it there either). But, if we find that's not the case, I have a migration script ready.

Edited by jalensailin

Merge request reports