Windows Azure Pack. Скрыть пункт меню "Virtual Machine Role".
После запуска платформы Windows Azure Pack в продуктив я обнаружил, что огромная часть пользователей путается в меню создания виртуальных машин и сетей, в котором всего 3 пункта:
Практически все начинают свое знакомство с WAP с создания роли виртуальной машины, которая, в большинстве случаев, им не нужна. Это очень сильно дизориентирует, поэтому было принято решение данный пункт скрыть. Увы, поддерживаемого метода я не нашел, поэтому пришлось изобретать велосипед.
Файлы, которые отвечают за данное меню, находятся в папке "\MgmtSvc-TenantSite\Content\VM\Scripts\Extension\" на серверах, где работает сайт IIS портала клиентов. Необходимо закомментировать вызов global.ExpFx.registerMenu в файле VM.Menu.js и global.ExpFx.registerSubMenu в файлах VM.Menu.Gallery.js и VM.Menu.QuickCreate.js.
VM.Menu.js:
/*
global.ExpFx.registerMenu(constants.extensionName, {
name: constants.roleMenuName,
displayName: resources.viewRoleMenuName,
url: constants.roleMenuUrl,
description: resources.viewRoleMenuDescription,
isEnabled: _isEnabled
});
*/
VM.Menu.Gallery.js:
/*
global.ExpFx.registerSubMenu(constants.extensionName, constants.roleMenuName, {
name: "FromMarketplace",
displayName: resources.viewFromGalleryName,
description: resources.viewRoleFromGalleryDescription,
label: resources.viewRoleFromGalleryLabel,
execute: function() { roleView.launch(); }
});
*/
VM.Menu.QuickCreate.js:
/*
global.ExpFx.registerSubMenu(constants.extensionName, constants.roleMenuName, {
name: "QuickCreate",
displayName: resources.viewQuickCreateName,
description: resources.viewRoleQuickCreateDescription,
template: roleView.template,
label: resources.viewQuickCreateVMRoleLabel,
opening: function() {
roleView.onOpening.call(roleView);
this.data = roleView.viewModel;
},
open: function(args) {
return roleView.onOpen.call(roleView, args);
},
ok: function(args) {
return roleView.onOk.call(roleView, args);
},
close: function() {
return roleView.onClose.call(roleView);
}
});
*/
Важно! Изменения надо вносить сразу в этих трех файлах, иначе портал будет работать некорректно!
Для того, чтобы изменения вступили в силу, надо перезапустить пул MgmtSvc-TenantSite или сразу IIS, выполнив iisreset.
Теперь наше меню выглядит так:
P.S. Я прекрасно понимаю, что функционал создания VMRole штука довольно полезная. Но, увы, если он включен, то большинство пользователей пытается использовать только его и это не есть правильно. К тому же возникает много раздражающих факторов (необходимо создать сеть до создания ВМ, есть не все заявленные шаблоны, более запутанное управление параметрами ВМ). Конечно, это все описано в клиентской документации. Но вот кто ее читает, кроме самих авторов? :)
Комментариев нет:
Отправить комментарий