10,729
edits
Line 127: | Line 127: | ||
# App updates the record on the server. | # App updates the record on the server. | ||
=== Download | === Download app project from backend server === | ||
# Download resco_mobileproject for this user (settings.SystemUserId). | # Download resco_mobileproject for this user (settings.SystemUserId). | ||
Line 140: | Line 140: | ||
# Unpack customization.zip | # Unpack customization.zip | ||
# Check license: <code>license.ValidateEntities()</code>. This can result in an exception "LICENSE: INSUFFICIENT". | # Check license: <code>license.ValidateEntities()</code>. This can result in an exception "LICENSE: INSUFFICIENT". | ||
#: At this point we have two customizations - old one | #: At this point, we have two customizations - the old one and the new one. The old is active. The new is unpacked except WWW/Images data. | ||
# Adapt database schema to the new customization: | # Adapt database schema to the new customization: | ||
#* Drop tables that were removed. | #* Drop tables that were removed. | ||
Line 155: | Line 155: | ||
# Unpack WWW/Images data. This overwrites old customization. | # Unpack WWW/Images data. This overwrites old customization. | ||
Summary: At this moment new customization is fully activated except one thing: The app remembers that it is in process of changing the customization. Later, when the sync completes (successfully or not) and updated user interface is loaded, this transitional state will be terminated. | Summary: At this moment, new customization is fully activated except one thing: The app remembers that it is in the process of changing the customization. Later, when the sync completes (successfully or not) and the updated user interface is loaded, this transitional state will be terminated. | ||
In the opposite case (when the app was terminated during synchronization or the new user interface fails to load), at the next app start MCRM deletes the database and returns to its previous customization. However, the <code>WWW/Images</code> folders are not reverted. | In the opposite case (when the app was terminated during synchronization or the new user interface fails to load), at the next app start MCRM deletes the database and returns to its previous customization. However, the <code>WWW/Images</code> folders are not reverted. |