Implementando extensões criadas pelo ambiente de trabalho de extensibilidade do Web UI Framework e pelo ambiente de trabalho do designer usando uma página do servidor Java
É possível implementar extensões que são criadas pela página do Web UI Framework Extensibility e Designer Workbench Java™ Server.
Sobre esta tarefa
Faça o seguinte para usar uma JSP (Java Server Page) para implementar extensões diferenciadas (modificadas com o Extensibility Workbench) ou extensões de substituição (criadas usando o Designer Workbench):
Procedimento
- Instale o aplicativo e construa um arquivo WAR para ele.
- Implemente o arquivo WAR no servidor no formato explodido.
- Após a implementação ser concluída, inicie o servidor de aplicativos.
- Certifique-se de que as mudanças feitas usando o Extensibility Workbench ou a nova tela criada usando o Designer Workbench tenham todos os arquivos JSON e JavaScript relevantes gerados e salvos..
- Na pasta INSTALL_DIR/extensions, crie o seguinte subdiretório:
nome do pacote de aplicativos/páginas da Web.
- No subdiretório webpages, replique a estrutura de diretório
da tela que deseja estender (relativo à sua implementação)
e copie em todos os arquivos de script gerados pelo ambiente de trabalho.
Por exemplo, se você estender a tela Manage Flight Route (que usa o caminho de arquivo application package name/flightRoute ), copiará todos os arquivos de script de extensão para o diretório INSTALL_DIR/extensions/applicationpackage name/webpages/application package name/flightRoute.
- Crie um arquivo JSP com o mesmo nome que o arquivo JSP base para ativar estes arquivos recém-criados na mesma pasta. Código de amostra do JSP original:
<%@ taglib uri="/WEB-INF/scui.tld" prefix="scuitag" %> <jsp:include page="/stk/include.jsp"> <jsp:param name="title" value="manage flight route" /> </jsp:include> <script> Ext.ns("sc.stk"); sc.stk.fn = function() { var fr = new sc.stk.flightRoute(); sc.plat.ScreenTitle.setText(fr.Header, null, "sc-panel-belowmenu-text"); sc.plat.ScreenTitle.setText(fr.Header, null, "sc-panel-belowmenu-desc"); fr.render("mainBodyPanel"); } <scuitag:includeJS name="['/stk/flightRoute/flightRouteList_config.js','/stk/flightRoute/flightRouteList.js', '/stk/flightRoute/flightRouteList_bundle.js']" callBack="sc.stk.fn"/> </script> <jsp:include page="/stk/footer.jsp">O código de amostra para o novo JSP (extensibilidade diferenciada):<%@ taglib uri="/WEB-INF/scui.tld" prefix="scuitag" %> <jsp:include page="/stk/include.jsp"> <jsp:param name="title" value="manage flight route" /> </jsp:include> <script> Ext.ns("sc.stk"); sc.stk.fn = function() { var fr = new sc.stk.flightRoute(); sc.plat.ScreenTitle.setText(fr.Header, null, "sc-panel-belowmenu-text"); sc.plat.ScreenTitle.setDescription(fr.Header, null, "sc-panel-belowmenu-desc"); fr.render("mainBodyPanel"); } <scuitag:includeJS name="['/stk/flightRoute/flightRouteList_config.js','/stk/flightRoute/flightRouteList.js', '/stk/flightRoute/flightRouteList_bundle.js','/stk/flightRoute/test_overlays.js' ,'/stk/flightRoute/test.js']" callBack="sc.stk.fn"/> //The new JSP also includes the newly generated files: test_overlays.js and test.js </script> <jsp:include page="/stk/footer.jsp">Código de amostra do novo JSP (extensibilidade substitua):<%@ taglib uri="/WEB-INF/scui.tld" prefix="scuitag" %> <jsp:include page="/stk/include.jsp"> <jsp:param name="title" value="Custom Screen" /> </jsp:include> <script> Ext.ns("sc.stk"); sc.stk.fn = function() { var fr = new sc.stk.flightRoute(); /* sc.extn.CustomScreen is the className for the new screen. It is available as a property for a screen in the designer and defaulted to sc.module.ClassName. The user can change it. */ sc.plat.ScreenTitle.setText(fr.Header, null, "sc-panel-belowmenu-text"); /* Here, the setText(arg1, arg2, arg3) method has been used to set arg1 as title for a page as arg3="sc-panel-belowmenu-text". Here, a bundle entry in the file: newScreen_bundle.js corresponding to Header would be picked up. */ sc.plat.ScreenTitle.setDescription(" ", null, "sc-panel-belowmenu-desc"); fr.render("mainBodyPanel"); }; <scuitag:includeJS name="['/extn/stk/flightRoute/newScreen_config.js', '/extn/stk/flightRoute/newScreen.js', '/stk/flightRoute/newScreen_bundle.js']" callBack="sc.stk.fn"/> //This JSP includes the files generated through the designer: newScreen_config.js, newScreen.js and the localization file: newScreen_bundle.js </script> <jsp:include page="/stk/footer.jsp"> - Reconstrua o arquivo WAR.
Os conteúdos do diretório INSTALL_DIR/extensions/application package name/webpages são copiados para o seguinte diretório:
INSTALL_DIR/external_deployments/nome do pacote de aplicativos/extn.
Essa estrutura de diretório existirá apenas se um arquivo WAR for criado e, em seguida, explodido no mesmo diretório INSTALL_DIR/external_deployments
Qualquer arquivo JSP neste diretório que tenha o mesmo nome e esteja na mesma estrutura de diretório relativa que o JSP base substituiria o novo arquivo JSP.
- Reative o aplicativo para exibir as mudanças estendidas.