Я пытаюсь сохранить постоянную переменную для экземпляров iWidget в IBM Connections 4.0.
Документация (ссылка & ссылка) приводит меня к следующему javascript (запускается с iWidget в режиме редактирования):
this.iContext.getiWidgetAttributes().setItemValue("instance","helloWorld");
this.iContext.getiWidgetAttributes().save(); //or .commit(); as save is deprecated
Я также попытался определить переменную в определении XML виджета:
<iw:itemSet id="attributes" private="false" onItemSetChanged="itemSetChanged">
<iw:item id="instance" value="" readOnly="false"/>
</iw:itemSet>
Это правильно устанавливает значение в локальном экземпляре, я также вижу запрос PUT на сервер для сохранения этого значения. Он возвращает код ответа 404. URL-адрес:
/connections/opensocial/common/repos?st=default%3AcQitETUij2Iqg0A_8mB9A35-pRKmnH_dFUgT4rY-hERIC3ZTNW3hp0OeLr_SYZ2mXWW6OjMtcFPijI_YaIaCDZlduzYgn5FkYQUTiqngHgLqsBMG&type=itemSet&pageId=undefined&widgetId=widget_d785df84b58d4d459707a048014567f6_1369275060798&itemSetId=attributes
Значение больше не сохраняется, когда я перезагружаю страницу и пытаюсь снова получить ее, используя:
this.iContext.getiWidgetAttributes().getItemValue("instance");
Я заметил, что в URL-адресе есть «pageId = undefined». В SystemOut.log серверов Connections нет выходных данных.
На данный момент он работает на странице «Мои виджеты» на домашней странице, но позже он также будет запущен в приложении «Сообщества».
Спасибо