Update Project model to handle future industry_collaborations
As part of the D9 migration, we will be renaming the working_groups property under the Project
model to be industry_collaborations. This represents a breaking change that is happening eventually. Since we don't want to create an issue where in a few months we will have to change how we access and filter the models, we should make the change now when it's only used in a couple of projects.
I'm thinking what we can do is the following:
- Add JSON mapping fields for both industry_collaborations and working_groups to the Project model. The new mapping will be the same as the current working_group property.
- Include documentation that these fields should not be used for data access, as they are deprecated and will be removed eventually.
- Add 3rd memoized field that looks at both the industry_collaborations and working_groups fields, and combines them into a single output list. This 3rd field is the one downstream services should read from and access to do filters.
The idea is that once the switch over is done, we can remove the deprecated fields and change the memoized field to be just the natural field. This adds future compatibility with the new field and reduces the migration activities we will have with it.