Hi all,
The first version of version control has been implemented, but at present only supports workflow version control, and does not do version control for data sources and resource files. So this discussion focuses on the version control of data sources and resource files. My views are as follows: 1. Version control of data source: Current implementation mode: At present, we store ID directly in process for data source in `process_definition_json`. Plan implementation mode: In the first way, the data source ID is directly replaced with the context information related to the data source and stored in `process_definition_json`, the advantage of this implementation is that it will be very simple and easy to understand. The second way is to create a new version control table of data source, and each version of the data source is added to the `process_definition_json`. The above two methods need to write update scripts to support the upgrade from low version to high version. Existing problems: First, if the encryption and decryption token is changed, the data source password and other parsing will be wrong. In fact, this problem also exists at present. The second problem is that if the data source information changes, the workflow definition can not be perceived. No matter which implementation method is mentioned above, this problem exists. 2. Resource version control: Current implementation mode: At present, we store ID directly in `process_definition_json`. Plan implementation mode: In the first way, the FS storage path of resources is directly stored in `process_definition_json`, the advantage of this implementation is that it will be very simple. The second way is to create a new resource version control table, and the version of each resource is added to the `process_definition_json`. The above two methods need to write update scripts to support the upgrade from low version to high version. Existing problems: if the resource information changes, such as manual deletion of resources, the workflow definition cannot be perceived. No matter which implementation method is mentioned above, this problem exists. ------------------------- ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?????????????? 1.?????????????????? ????????????????????????????????????id??????process_definition_json???? ??????????????????????????????????????id??????????????????????????????????process_definition_json??????????????????????????????????????????????????????????????????????????????????????????????process_definition_json???????????????????????????????????????????????????????????? ??????????????????????????????????token?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 2.?????????????? ??????????????????????????????????id??????process_definition_json???? ??????????????????????????????????????fs????????????????process_definition_json????????????????????????????????????????????????????????????????????????????????????????process_definition_json???????????????????????????????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????? If you have a better way or idea, welcome reply and leave a message~ Best, Yichao Yang
