Moduł Editor służy do integracji edytora TinyMCE z jPALIO. Główną funkcją modułu jest udostępnienie adresu URL do głównego skryptu edytora. Wszystkie zasoby związane z edytorem (javascript, arkusze styli, obrazki) oraz kod wspierający serwowanie tych zasobów po stronie jPALIO znajdują się w bibliotece o nazwie jPalioEditor.jar. Zasoby edytora są serwowane przez serwlet html.editor. Serwlet ten zapewnia keszowanie wszystkich zasobów edytora w pamięci operacyjnej serwera, a także kompresję wysyłanych danych (o ile wspiera ją przeglądarka klienta). Dzięki zastosowanym rozwiązaniom znacznie ograniczono rozmiar przesyłanych danych oraz szybkość dostępu do zasobów.
Edytor ten jest szczególnie przydatny w rozwiązaniach typu CMS (Content Management System). Umożliwia on tworzenie rozbudowanej treści bez konieczności znajomości języka HTML.
<html>
<head>
...
$editor.init({
mode : "exact",
elements : "wysiwygEditor",
theme : "advanced",
force_br_newlines : true,
force_p_newlines : false,
plugins : "save,print,inlinepopups",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_buttons1_add_before : "save,print,separator",
theme_advanced_buttons1_add : "separator,forecolor,backcolor"
})
...
</head>
<body>
<textarea id="wysiwygEditor" name="wysiwygEditor">Some content</textarea>
</body>
</html>
<script type="text/javascript" src="$editor.getEditorScriptUrl()"></script>
<script type="text/javascript">
tinyMCE.init({
mode: "textareas",
theme: "simple",
width: "700",
height: "120"
})
</script>
Moduł Editor jest modułem zewnętrznym, stąd isnieje konieczność dodania go do konfiguracji instancji jPALIO:
<module name="editor"/>
Tak jak wspmniano we wstępie, wszystkie zasoby edytora są serwowane przez serwlet, którego nie ma w domyślnej dystrybucji jPALIO. Aby go dodać należy dodać następujące wpisy w pliku web.xml.
<servlet>
<servlet-name>html.editor</servlet-name>
<servlet-class>html.editor</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>html.editor</servlet-name>
<url-pattern>/html.editor/*</url-pattern>
</servlet-mapping>
Konfiguracja wszystkich opcji edytora dostępna jest pod poniższym odnośnikiem: