@Override
 protected void processEvent(Event<PreviewPageActionComponent> event) throws Exception {
   UIWikiPortlet wikiPortlet = event.getSource().getAncestorOfType(UIWikiPortlet.class);
   WebuiRequestContext context = WebuiRequestContext.getCurrentInstance();
   ResourceBundle res = context.getApplicationResourceBundle();
   UIWikiMaskWorkspace uiMaskWS = wikiPortlet.getChild(UIWikiMaskWorkspace.class);
   UIWikiPageEditForm wikiPageEditForm =
       event.getSource().getAncestorOfType(UIWikiPageEditForm.class);
   UIWikiPagePreview wikiPagePreview =
       uiMaskWS.createUIComponent(UIWikiPagePreview.class, null, null);
   UIWikiRichTextArea wikiRichTextArea = wikiPageEditForm.getChild(UIWikiRichTextArea.class);
   UIWikiPageTitleControlArea wikiPageTitleArea =
       wikiPageEditForm.getChild(UIWikiPageTitleControlArea.class);
   String markupSyntax = Utils.getDefaultSyntax();
   boolean isRichTextRendered = wikiRichTextArea.isRendered();
   RenderingService renderingService =
       (RenderingService) PortalContainer.getComponent(RenderingService.class);
   String markup;
   if (isRichTextRendered) {
     String htmlContent = wikiRichTextArea.getUIFormTextAreaInput().getValue();
     markup =
         renderingService.render(
             htmlContent, Syntax.XHTML_1_0.toIdString(), markupSyntax, false);
     Utils.feedDataForWYSIWYGEditor(wikiPageEditForm, markup);
   } else {
     UIFormTextAreaInput markupInput =
         wikiPageEditForm.findComponentById(UIWikiPageEditForm.FIELD_CONTENT);
     markup = (markupInput.getValue() == null) ? "" : markupInput.getValue();
   }
   wikiPagePreview.renderWikiMarkup(markup, markupSyntax);
   String pageTitle = wikiPageTitleArea.getTitle();
   if (pageTitle != null) wikiPagePreview.setPageTitle(wikiPageTitleArea.getTitle());
   else {
     wikiPagePreview.setPageTitle(res.getString("UIWikiPageTitleControlArea.label.Untitled"));
   }
   uiMaskWS.setUIComponent(wikiPagePreview);
   uiMaskWS.setShow(true);
   uiMaskWS.setPopupTitle(res.getString("UIEditorTabs.action.PreviewPage"));
   event.getRequestContext().addUIComponentToUpdateByAjax(uiMaskWS);
   super.processEvent(event);
 }
  @Override
  public void processRender(WebuiRequestContext context) throws Exception {
    RenderingService renderingService =
        (RenderingService) PortalContainer.getComponent(RenderingService.class);
    WikiService wikiService = (WikiService) PortalContainer.getComponent(WikiService.class);
    String syntaxId = org.exoplatform.wiki.commons.Utils.getDefaultSyntax();

    PageImpl syntaxHelpPage = wikiService.getHelpSyntaxPage(syntaxId);
    this.syntaxName = syntaxId.replace("/", " ").toUpperCase();
    if (syntaxHelpPage != null) {
      String markup = syntaxHelpPage.getContent().getText();
      this.htmlOutput =
          renderingService.render(markup, syntaxId, Syntax.XHTML_1_0.toIdString(), false);
      this.syntaxFullPageUrl =
          "/"
              + PortalContainer.getInstance().getRestContextName()
              + "/wiki/help/"
              + syntaxId.replace("/", Utils.SLASH).replace(".", Utils.DOT);
    } else {
      this.htmlOutput = null;
    }
    super.processRender(context);
  }