EasyEngine on version updates needs to re-generate/update few existing configuration files if there are changes related to it. There is a possibility where a user may have edited or updated that configuration file. To make sure that these custom changes are not lost in EasyEngine updates the following can be done:
Store md5 hashes of all configuration files in EasyEngine database. During EasyEngine update, if the hashes of the configuration file and the value stored in the database does not match, then store diff in a file and display path in warning message saying we’ve not updated the user edited file. The user can then with the help of the diff update the configuration of that particular site to the latest needed configuration while keeping the custom changes.
Put the configuration files that are host mounted in git based version controlled file system. Thus if there is any change, then branch new changes to different update branches and prompt the user to resolve conflicts (if any) and merge the changes to update to the latest config.
EasyEngine on version updates needs to re-generate/update few existing configuration files if there are changes related to it. There is a possibility where a user may have edited or updated that configuration file. To make sure that these custom changes are not lost in EasyEngine updates the following can be done:
Store md5 hashes of all configuration files in EasyEngine database. During EasyEngine update, if the hashes of the configuration file and the value stored in the database does not match, then store diff in a file and display path in warning message saying we’ve not updated the user edited file. The user can then with the help of the diff update the configuration of that particular site to the latest needed configuration while keeping the custom changes.
Put the configuration files that are host mounted in git based version controlled file system. Thus if there is any change, then branch new changes to different update branches and prompt the user to resolve conflicts (if any) and merge the changes to update to the latest config.