Changes in loading plugins for compatibility with previouse version of server, where plugins.url is used.

This commit is contained in:
Julia Radzhabova 2017-03-09 14:28:44 +03:00
parent 8b35f8863d
commit 0a49c21e78
3 changed files with 58 additions and 12 deletions

View file

@ -1935,11 +1935,18 @@ define([
return null; return null;
}; };
var arr = []; var arr = [],
baseUrl = _.isEmpty(plugins.url) ? "" : plugins.url;
if (baseUrl !== "")
console.log("Obsolete: The url parameter is deprecated. Please check the documentation for new plugin connection configuration.");
pluginsData.forEach(function(item){ pluginsData.forEach(function(item){
item = baseUrl + item; // for compatibility with previouse version of server, where plugins.url is used.
var value = _getPluginJson(item); var value = _getPluginJson(item);
if (value) { if (value) {
value.baseUrl = item.substring(0, item.lastIndexOf("config.json")); value.baseUrl = item.substring(0, item.lastIndexOf("config.json"));
value.oldVersion = (baseUrl !== "");
arr.push(value); arr.push(value);
} }
}); });
@ -1957,7 +1964,7 @@ define([
if (plugins) { if (plugins) {
var arr = [], arrUI = []; var arr = [], arrUI = [];
plugins.pluginsData.forEach(function(item){ plugins.pluginsData.forEach(function(item){
if (uiCustomize!==undefined && pluginStore.findWhere({baseUrl : item.baseUrl})) return; if (uiCustomize!==undefined && (pluginStore.findWhere({baseUrl : item.baseUrl}) || pluginStore.findWhere({guid : item.guid}))) return;
var variations = item.variations, var variations = item.variations,
variationsArr = []; variationsArr = [];
@ -1969,12 +1976,19 @@ define([
} }
} }
if (isSupported && (isEdit || itemVar.isViewer)) { if (isSupported && (isEdit || itemVar.isViewer)) {
var icons = itemVar.icons;
if (item.oldVersion) { // for compatibility with previouse version of server, where plugins.url is used.
icons = [];
itemVar.icons.forEach(function(icon){
icons.push(icon.substring(icon.lastIndexOf("\/")+1));
});
}
item.isUICustomizer ? arrUI.push(item.baseUrl + itemVar.url) : item.isUICustomizer ? arrUI.push(item.baseUrl + itemVar.url) :
variationsArr.push(new Common.Models.PluginVariation({ variationsArr.push(new Common.Models.PluginVariation({
description: itemVar.description, description: itemVar.description,
index: variationsArr.length, index: variationsArr.length,
url : itemVar.url, url : (item.oldVersion) ? (itemVar.url.substring(itemVar.url.lastIndexOf("\/")+1) ) : itemVar.url,
icons : itemVar.icons, icons : icons,
isViewer: itemVar.isViewer, isViewer: itemVar.isViewer,
EditorsSupport: itemVar.EditorsSupport, EditorsSupport: itemVar.EditorsSupport,
isVisual: itemVar.isVisual, isVisual: itemVar.isVisual,

View file

@ -643,7 +643,7 @@ define([
pluginsController.setApi(me.api); pluginsController.setApi(me.api);
me.updatePlugins(me.plugins, false); me.updatePlugins(me.plugins, false);
me.requestPlugins('../../../../sdkjs-plugins/config.json'); me.requestPlugins('../../../../plugins.json');
me.api.asc_registerCallback('asc_onPluginsInit', _.bind(me.updatePluginsList, me)); me.api.asc_registerCallback('asc_onPluginsInit', _.bind(me.updatePluginsList, me));
documentHolderController.setApi(me.api); documentHolderController.setApi(me.api);
@ -1698,11 +1698,18 @@ define([
return null; return null;
}; };
var arr = []; var arr = [],
baseUrl = _.isEmpty(plugins.url) ? "" : plugins.url;
if (baseUrl !== "")
console.log("Obsolete: The url parameter is deprecated. Please check the documentation for new plugin connection configuration.");
pluginsData.forEach(function(item){ pluginsData.forEach(function(item){
item = baseUrl + item; // for compatibility with previouse version of server, where plugins.url is used.
var value = _getPluginJson(item); var value = _getPluginJson(item);
if (value) { if (value) {
value.baseUrl = item.substring(0, item.lastIndexOf("config.json")); value.baseUrl = item.substring(0, item.lastIndexOf("config.json"));
value.oldVersion = (baseUrl !== "");
arr.push(value); arr.push(value);
} }
}); });
@ -1720,6 +1727,8 @@ define([
if (plugins) { if (plugins) {
var arr = [], arrUI = []; var arr = [], arrUI = [];
plugins.pluginsData.forEach(function(item){ plugins.pluginsData.forEach(function(item){
if (uiCustomize!==undefined && (pluginStore.findWhere({baseUrl : item.baseUrl}) || pluginStore.findWhere({guid : item.guid}))) return;
var variations = item.variations, var variations = item.variations,
variationsArr = []; variationsArr = [];
variations.forEach(function(itemVar){ variations.forEach(function(itemVar){
@ -1730,12 +1739,19 @@ define([
} }
} }
if (isSupported && (isEdit || itemVar.isViewer)){ if (isSupported && (isEdit || itemVar.isViewer)){
var icons = itemVar.icons;
if (item.oldVersion) { // for compatibility with previouse version of server, where plugins.url is used.
icons = [];
itemVar.icons.forEach(function(icon){
icons.push(icon.substring(icon.lastIndexOf("\/")+1));
});
}
item.isUICustomizer ? arrUI.push(item.baseUrl + itemVar.url) : item.isUICustomizer ? arrUI.push(item.baseUrl + itemVar.url) :
variationsArr.push(new Common.Models.PluginVariation({ variationsArr.push(new Common.Models.PluginVariation({
description: itemVar.description, description: itemVar.description,
index: variationsArr.length, index: variationsArr.length,
url : itemVar.url, url : (item.oldVersion) ? (itemVar.url.substring(itemVar.url.lastIndexOf("\/")+1) ) : itemVar.url,
icons : itemVar.icons, icons : icons,
isViewer: itemVar.isViewer, isViewer: itemVar.isViewer,
EditorsSupport: itemVar.EditorsSupport, EditorsSupport: itemVar.EditorsSupport,
isVisual: itemVar.isVisual, isVisual: itemVar.isVisual,

View file

@ -624,7 +624,7 @@ define([
if (!me.appOptions.isEditMailMerge && !me.appOptions.isEditDiagram) { if (!me.appOptions.isEditMailMerge && !me.appOptions.isEditDiagram) {
pluginsController.setApi(me.api); pluginsController.setApi(me.api);
me.updatePlugins(me.plugins, false); me.updatePlugins(me.plugins, false);
me.requestPlugins('../../../../sdkjs-plugins/config.json'); me.requestPlugins('../../../../plugins.json');
me.api.asc_registerCallback('asc_onPluginsInit', _.bind(me.updatePluginsList, me)); me.api.asc_registerCallback('asc_onPluginsInit', _.bind(me.updatePluginsList, me));
} }
@ -1922,11 +1922,18 @@ define([
return null; return null;
}; };
var arr = []; var arr = [],
baseUrl = _.isEmpty(plugins.url) ? "" : plugins.url;
if (baseUrl !== "")
console.log("Obsolete: The url parameter is deprecated. Please check the documentation for new plugin connection configuration.");
pluginsData.forEach(function(item){ pluginsData.forEach(function(item){
item = baseUrl + item; // for compatibility with previouse version of server, where plugins.url is used.
var value = _getPluginJson(item); var value = _getPluginJson(item);
if (value) { if (value) {
value.baseUrl = item.substring(0, item.lastIndexOf("config.json")); value.baseUrl = item.substring(0, item.lastIndexOf("config.json"));
value.oldVersion = (baseUrl !== "");
arr.push(value); arr.push(value);
} }
}); });
@ -1944,6 +1951,8 @@ define([
if (plugins) { if (plugins) {
var arr = [], arrUI = []; var arr = [], arrUI = [];
plugins.pluginsData.forEach(function(item){ plugins.pluginsData.forEach(function(item){
if (uiCustomize!==undefined && (pluginStore.findWhere({baseUrl : item.baseUrl}) || pluginStore.findWhere({guid : item.guid}))) return;
var variations = item.variations, var variations = item.variations,
variationsArr = []; variationsArr = [];
variations.forEach(function(itemVar){ variations.forEach(function(itemVar){
@ -1954,12 +1963,19 @@ define([
} }
} }
if (isSupported && (isEdit || itemVar.isViewer)) { if (isSupported && (isEdit || itemVar.isViewer)) {
var icons = itemVar.icons;
if (item.oldVersion) { // for compatibility with previouse version of server, where plugins.url is used.
icons = [];
itemVar.icons.forEach(function(icon){
icons.push(icon.substring(icon.lastIndexOf("\/")+1));
});
}
item.isUICustomizer ? arrUI.push(item.baseUrl + itemVar.url) : item.isUICustomizer ? arrUI.push(item.baseUrl + itemVar.url) :
variationsArr.push(new Common.Models.PluginVariation({ variationsArr.push(new Common.Models.PluginVariation({
description: itemVar.description, description: itemVar.description,
index: variationsArr.length, index: variationsArr.length,
url : itemVar.url, url : (item.oldVersion) ? (itemVar.url.substring(itemVar.url.lastIndexOf("\/")+1) ) : itemVar.url,
icons : itemVar.icons, icons : icons,
isViewer: itemVar.isViewer, isViewer: itemVar.isViewer,
EditorsSupport: itemVar.EditorsSupport, EditorsSupport: itemVar.EditorsSupport,
isVisual: itemVar.isVisual, isVisual: itemVar.isVisual,