From 57049ef95562193e8c09e7d4a4b3be8aae8282d4 Mon Sep 17 00:00:00 2001 From: Roque Porchetto <roque.porchetto@nexedi.com> Date: Fri, 11 Oct 2024 17:03:12 +0000 Subject: [PATCH] erp5_web_monitoring: force app re-config only for old app versions --- .../gadget_officejs_monitoring_jio_js.js | 62 ++++++++++++------- .../gadget_officejs_monitoring_jio_js.xml | 4 +- .../web_site_module/officejs_monitoring.xml | 6 +- .../officejs_monitoring/app.xml | 6 +- .../officejs_monitoring/hateoas_appcache.xml | 6 +- 5 files changed, 50 insertions(+), 34 deletions(-) diff --git a/bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_js.js b/bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_js.js index 49e0858f27..d30e114a50 100644 --- a/bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_js.js +++ b/bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_js.js @@ -120,8 +120,8 @@ .declareAcquiredMethod("setSettingList", "setSettingList") .declareAcquiredMethod("setSetting", "setSetting") - .declareMethod('updateConfiguration', function (appcache_storage, current_version, jio_storage) { - var gadget = this; + .declareMethod('updateConfiguration', function (appcache_storage, current_version, jio_storage, force_reconfig) { + var gadget = this, setting_dict = {'migration_version': current_version}; if (!appcache_storage) { return; } return RSVP.Queue() .push(function () { @@ -131,9 +131,11 @@ return jio_storage.repair(); }) .push(function () { - return gadget.setSettingList({'migration_version': current_version, - 'master_url_list': undefined, - 'master_url_list_updated': false}); + if (force_reconfig) { + setting_dict.master_url_list = undefined; + setting_dict.master_url_list_updated = false; + } + return gadget.setSettingList(setting_dict); }); }) @@ -149,7 +151,7 @@ .declareMethod('createJio', function (options) { var gadget = this, current_version, index, appcache_storage, appcache_jio, migration_version, manifest, monitoring_jio, - origin_url = window.location.href; + origin_url = window.location.href, force_reconfig = false; return gadget.getSettingList(['configuration_manifest', 'migration_version']) .push(function (result_list) { @@ -207,37 +209,51 @@ }; return gadget.createStorage(options, monitoring_jio); }) + //backward compatibility: old app versions had badnamed data .push(function () { if (migration_version !== current_version) { if (gadget.props.jio_storage) { - return gadget.props.jio_storage.allDocs(); + return gadget.props.jio_storage.allDocs({ + query: '(portal_type:promise)' + }); } } }) - .push(function (all_docs) { - var remove_queue = new RSVP.Queue(), i; - function remove_doc(id) { - remove_queue - .push(function () { - return gadget.props.jio_storage.remove(id); + .push(function (result) { + function remove_all() { + return gadget.props.jio_storage.allDocs() + .push(function (all_docs) { + var remove_queue = new RSVP.Queue(), i; + function remove_doc(id) { + remove_queue + .push(function () { + return gadget.props.jio_storage.remove(id); + }); + } + if (all_docs && all_docs.data.total_rows) { + //iterate all docs, jio_remove, and recreate + for (i = 0; i < all_docs.data.total_rows; i += 1) { + remove_doc(all_docs.data.rows[i].id); + } + return RSVP.all([ + remove_queue, + gadget.createStorage(options, monitoring_jio), + gadget.setSetting("latest_import_date", undefined) + ]); + } }); } - if (all_docs && all_docs.data.total_rows) { - //iterate all docs, jio_remove, and recreate - for (i = 0; i < all_docs.data.total_rows; i += 1) { - remove_doc(all_docs.data.rows[i].id); + if (result && result.data.rows.length > 0) { + force_reconfig = true; + if (gadget.props.jio_storage) { + return remove_all(); } - return RSVP.all([ - remove_queue, - gadget.createStorage(options, monitoring_jio), - gadget.setSetting("latest_import_date", undefined) - ]); } }) .push(function () { if (migration_version !== current_version) { appcache_storage = jIO.createJIO(appcache_jio); - return gadget.updateConfiguration(appcache_storage, current_version, gadget.props.jio_storage); + return gadget.updateConfiguration(appcache_storage, current_version, gadget.props.jio_storage, force_reconfig); } }) .push(function () { diff --git a/bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_js.xml b/bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_js.xml index 87040ca82f..9933d963c5 100644 --- a/bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_js.xml +++ b/bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_js.xml @@ -249,7 +249,7 @@ </item> <item> <key> <string>serial</string> </key> - <value> <string>1019.25813.42370.5614</string> </value> + <value> <string>1020.20652.1827.11417</string> </value> </item> <item> <key> <string>state</string> </key> @@ -269,7 +269,7 @@ </tuple> <state> <tuple> - <float>1726682335.1</float> + <float>1730218508.62</float> <string>UTC</string> </tuple> </state> diff --git a/bt5/erp5_web_monitoring/PathTemplateItem/web_site_module/officejs_monitoring.xml b/bt5/erp5_web_monitoring/PathTemplateItem/web_site_module/officejs_monitoring.xml index 5536289a9b..c44f8cad4a 100644 --- a/bt5/erp5_web_monitoring/PathTemplateItem/web_site_module/officejs_monitoring.xml +++ b/bt5/erp5_web_monitoring/PathTemplateItem/web_site_module/officejs_monitoring.xml @@ -104,7 +104,7 @@ <dictionary> <item> <key> <string>_defined_in_class</string> </key> - <value> <bool>True</bool> </value> + <value> <int>1</int> </value> </item> <item> <key> <string>_hookname</string> </key> @@ -544,7 +544,7 @@ </item> <item> <key> <string>serial</string> </key> - <value> <string>1015.32811.46439.54528</string> </value> + <value> <string>1019.37281.47800.48247</string> </value> </item> <item> <key> <string>state</string> </key> @@ -564,7 +564,7 @@ </tuple> <state> <tuple> - <float>1716562039.61</float> + <float>1730218552.03</float> <string>UTC</string> </tuple> </state> diff --git a/bt5/erp5_web_monitoring/PathTemplateItem/web_site_module/officejs_monitoring/app.xml b/bt5/erp5_web_monitoring/PathTemplateItem/web_site_module/officejs_monitoring/app.xml index 7d34dd25cb..b86232cc13 100644 --- a/bt5/erp5_web_monitoring/PathTemplateItem/web_site_module/officejs_monitoring/app.xml +++ b/bt5/erp5_web_monitoring/PathTemplateItem/web_site_module/officejs_monitoring/app.xml @@ -104,7 +104,7 @@ <dictionary> <item> <key> <string>_defined_in_class</string> </key> - <value> <bool>True</bool> </value> + <value> <int>1</int> </value> </item> <item> <key> <string>_hookname</string> </key> @@ -579,7 +579,7 @@ WebSection_getMonitorPrecacheManifestList</string> </value> </item> <item> <key> <string>serial</string> </key> - <value> <string>1015.45944.11619.35208</string> </value> + <value> <string>1019.37281.53022.31078</string> </value> </item> <item> <key> <string>state</string> </key> @@ -599,7 +599,7 @@ WebSection_getMonitorPrecacheManifestList</string> </value> </tuple> <state> <tuple> - <float>1716562039.61</float> + <float>1730218556.13</float> <string>UTC</string> </tuple> </state> diff --git a/bt5/erp5_web_monitoring/PathTemplateItem/web_site_module/officejs_monitoring/hateoas_appcache.xml b/bt5/erp5_web_monitoring/PathTemplateItem/web_site_module/officejs_monitoring/hateoas_appcache.xml index 231c3b4ff6..3fd9089a67 100644 --- a/bt5/erp5_web_monitoring/PathTemplateItem/web_site_module/officejs_monitoring/hateoas_appcache.xml +++ b/bt5/erp5_web_monitoring/PathTemplateItem/web_site_module/officejs_monitoring/hateoas_appcache.xml @@ -69,7 +69,7 @@ <dictionary> <item> <key> <string>_defined_in_class</string> </key> - <value> <bool>True</bool> </value> + <value> <int>1</int> </value> </item> <item> <key> <string>_hookname</string> </key> @@ -339,7 +339,7 @@ </item> <item> <key> <string>serial</string> </key> - <value> <string>1014.3364.27014.642380</string> </value> + <value> <string>1019.25707.33677.14080</string> </value> </item> <item> <key> <string>state</string> </key> @@ -359,7 +359,7 @@ </tuple> <state> <tuple> - <float>1716562039.61</float> + <float>1730218552.03</float> <string>UTC</string> </tuple> </state> -- 2.30.9