Aspectos generales de las extensiones de la interfaz del frontend
Internacionalización
Sección titulada «Internacionalización»Registre nuevas traducciones desde Database query.
INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('extension', 'new_extension.button.add', 'Add', 'en-GB');INSERT INTO OKM_TRANSLATION (TR_MODULE, TR_KEY, TR_TEXT, TR_LANGUAGE) VALUES ('extension', 'new_extension.button.add', 'Añadir', 'es-ES');Utilícelo en su código:
GeneralComunicator.i18nExtension("new_extension.button.add");También pueden utilizarse las traducciones por defecto de OpenKM:
GeneralComunicator.i18n("button.close");Ejemplo
Sección titulada «Ejemplo»private class ToolBarButton extends ToolBarButtonExtension implements LanguageHandlerExtension { public ToolBarButton(Image image, String title, ClickHandler handler) { super(image, title, handler); }
@Override public void checkPermissions(GWTNode node, GWTNode nodeParent, int originPanel) { // TODO }
@Override public void checkPermissions(GWTDocument doc, GWTNode node) { // TODO }
@Override public void checkPermissions(GWTMail mail, GWTNode node) { // TODO }
@Override public void checkPermissions(GWTRecord record, GWTNode node) { // TODO }
@Override public void enable(boolean enable) { // TODO }
@Override public boolean isEnabled() { return true; }
@Override public void onChange(LanguageEventConstant event) { if (event.equals(HasLanguageEvent.LANGUAGE_CHANGED)) { setTitle(GeneralComunicator.i18n("download.button.tittle")); } }}Registrar un servicio RPC (Remote Procedure Call)
Sección titulada «Registrar un servicio RPC (Remote Procedure Call)»Los servlets se utilizan para realizar RPC de GWT (llamadas a procedimientos remotos). Para registrar un nuevo servlet, debe modificarse el archivo web.xml y recompilarse OpenKM.
En web.xml (src/main/webapp/WEB-INF) debe añadirse la declaración del servlet:
<servlet> <servlet-name>SomeServletName</servlet-name> <servlet-class>SomeJavaClassName</servlet-class></servlet>
<servlet-mapping> <servlet-name>SomeServletName</servlet-name> <url-pattern>/SomeServletName</url-pattern></servlet-mapping>La clase RPCService define todas las constantes de servicios RPC que pueden utilizarse desde GWT:
ServiceDefTarget endPoint = (ServiceDefTarget) messageService;endPoint.setServiceEntryPoint(RPCService.MessageService);messageService.deleteSent(1, new AsyncCallback<Object>() { @Override public void onSuccess(Object result) { }
@Override public void onFailure(Throwable caught) { }});