You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently template version don't change for applications already in progress, so if a mistake is found, or we want to change the behaviour, it can only be fixed for applications started from that point on.
This is done for safety reasons -- if applications change their links to different templates then any inconsistency between existing responses and the new template structure could cause big problems.
However, we are finding more and more need for this kind of thing, as there can be a large number of applications in progress, with a significant delay in processing them.
In principle, it should be safe to connect applications to new versions if the Actions have changed, or just some wording in the application form has been updated.
Suggestion
UI
When you "commit" a template version, as well as the comment, you will get a checkbox to "Re-link in-progress applications". There might be a warning explaining the potential risks involved.
Under the hood
Linking applications to new templates is fairly straightforward, but it's the questions (template_elements) that will be harder to keep track of.
My suggestion would be to add a new field to the template_element table called previous_version_element, which contains the id of the question that this element is duplicated from. Then, when you "commit" the new version, all entities which reference template elements (application responses, review respones, etc) would use the "previous_version" value to link then re-connect them with the correct new template element.
Some things to figure out:
if a question is removed, what happens to existing responses? Should we just delete them? Or mark them somehow?
if a question is changed significantly, e.g. changed to a different form element type, the application response will be invalid and likely cause an error when displayed. We can limit the degree to which questions can be changed before re-linking is no longer allowed, but unfortunately the criteria to decide what is "allowed" is not easily definable. Probably need to have a discussion to talk through some use cases before we can really make a plan for this.
Similarly, if we add a question, what happens? If an application has been "Submitted", but the added question means the form would have not been allowed to be submitted, what do we do? Just assume the reviewer will send it back to the applicant for changes?
what do we do with applications that are already approved? Presumably we just leave them as is -- i.e if status="COMPLETED", do nothing.
The text was updated successfully, but these errors were encountered:
Currently template version don't change for applications already in progress, so if a mistake is found, or we want to change the behaviour, it can only be fixed for applications started from that point on.
This is done for safety reasons -- if applications change their links to different templates then any inconsistency between existing responses and the new template structure could cause big problems.
However, we are finding more and more need for this kind of thing, as there can be a large number of applications in progress, with a significant delay in processing them.
In principle, it should be safe to connect applications to new versions if the Actions have changed, or just some wording in the application form has been updated.
Suggestion
UI
When you "commit" a template version, as well as the comment, you will get a checkbox to "Re-link in-progress applications". There might be a warning explaining the potential risks involved.
Under the hood
Linking applications to new templates is fairly straightforward, but it's the questions (template_elements) that will be harder to keep track of.
My suggestion would be to add a new field to the
template_element
table calledprevious_version_element
, which contains the id of the question that this element is duplicated from. Then, when you "commit" the new version, all entities which reference template elements (application responses, review respones, etc) would use the "previous_version" value to link then re-connect them with the correct new template element.Some things to figure out:
The text was updated successfully, but these errors were encountered: