Versioning
Currently, SmartVersioning does not allow you to copy versions you create. You can only create new versions that pull in the base core fields.
This makes it very difficult to iterate on yearly application form changes.
The best practice from SmartSimple is to make changes at the Core Field level until it matches what you want, then save those changes as a version. However, this makes it very difficult to manage versions in practice.
For instance, my foundation has three Level 1 Grant Types and every year we make revisions to the application forms. Last year I created Scholarship Application 2024, but because the application period is very busy we occasionally had to make corrections quickly and it takes much more time to change a record to the Core Fields version, make the change, then push that field forward to the correct version, and change the record back.
Some changes inevitably ended up just being made in the current version itself and this year for the 2025 version we had to manually ensure all the core fields matched the current version before we could start iterating for this year.
If we could have simply copied the Scholarship 2024 Version as the 2025 version and made the changes directly within it, it would have saved hours of time.
Allowing copying of versions would also simplify building across our three grant types.
Because you can remove fields that are not in use in particular versions, we could have 3 versions that only include the relevant fields for that grant type, reducing confusion and making it a much easier to manager process. This goes double at Level 2 where we have over 10 disparate activities and it can be confusing to know what fields are relevant. Yes, this can be managed with careful planning and numbering on the forms, but with some fields overlapping it is still difficult.
This would simply require two changes. The ability to copy a version, and an addition that allows you to create new fields within a version that automatically save as core fields and also prompt you on what other versions they should be pushed to (rather than having to switch to the core fields, create the field, then push it to the relevant version(s).
