%META:TOPICINFO{author="ProjectContributor" date="1773569396" format="1.1" version="1"}%
---+!! Natural Edit Plugin
%FORMFIELD{"Description"}%

%TOC%

---++ Description
%STARTSECTION{"summary"}%
The <nop>NatEdit is an wiki editor that helps in learning the TML
Language by providing a GUI. By design, this is not a wysiwyg editor that tries
to generate the correct TML in the background. Instead, the user is still in
charge of writing correct wiki markup but with a bit more of assistance as a
plain browser textarea. Therefor this editor helps to lower the learning curve
but will not get in your way once you are aware of wiki markup. 
%ENDSECTION{"summary"}%

<nop>NatEdit is implemented as a jquery plugin, called =jquery.natedit=,
and thus heavily depends on javascript. Hence browsers without javascript are not supported. 
You will need to install the <nop>JQueryPlugin to use <nop>NatEdit.

Caution:
Unlikely previous versions (pre 2.0), 
theming has been disabled in the current version. So you are "stuck" with one and the
same button layout for now. 

---++ Documentation
jquery.natedit docu

---++ Screenshot
<a href="%ATTACHURLPATH%/screenshot1.png" title="screenshot"><img src="%ATTACHURLPATH%/screenshot1.png" alt="screenshot" border="0" /></a>

---++ Configuration

---+++ PatternSkin
To enable the <nop>NatEditPlugin add the identifier =natedit= to the =SKIN= 
variable in %LOCALSITEPREFS% or %WEBPREFSTOPIC%, e.g.

<pre>
   * <!-- -->Set SKIN = natedit,pattern
</pre>

---+++ NatSkin
No extra configuration steps are needed in case you are using <nop>NatSkin.
<nop>NatEditPlugin is the default editor for <nop>NatSkin, that is the normal

<pre>
   * <!-- -->Set SKIN = nat
</pre>

is sufficient.

<!--
   * Set STUB = %$STUB%
-->

---++ Installation Instructions
You do not need to install anything in the browser to use this extension. The following instructions are for the administrator who installs the extension on the server.

Open configure, and open the "Extensions" section. "Extensions Operation and Maintenance" Tab -&gt; "Install, Update or Remove extensions" Tab.  Click the "Search for Extensions" button.  
Enter part of the extension name or description and press search.   Select the desired extension(s) and click install. If an extension is already installed, it will *not* show up in the
search results.

You can also install from the shell by running the extension installer as the web server user: (Be sure to run as the webserver user, not as root!)
<verbatim>
cd /path/to/foswiki
perl tools/extension_installer <NameOfExtension> install
</verbatim>

If you have any problems, or if the extension isn't available in =configure=, then you can still install manually from the command-line. See https://foswiki.org/Support/ManuallyInstallingExtensions for more help.


---++ Dependencies
<table border="1" class="foswikiTable"><tr><th>Name</th><th>Version</th><th>Description</th></tr><tr><td align="left">Foswiki::Plugins::JQueryPlugin</td><td align="left">&gt;=6.00</td><td align="left">Required.</td></tr><tr><td align="left">JSON</td><td align="left">&gt;=2.59</td><td align="left">Required. </td></tr><tr><td align="left">Foswiki::Plugins::SetVariablePlugin</td><td align="left">&gt;=2.33</td><td align="left">Required. required for Foswiki < 1.2</td></tr><tr><td align="left">Foswiki::Plugins::ZonePlugin</td><td align="left">&gt;=3.1</td><td align="left">Required. required for Foswiki < 1.1</td></tr></table>

---++ Change History

%TABLE{columnwidths="7em" tablewidth="100%"}%
|  15 Mar 2026 | Foswikitask:Item15624: don't autocount ordered lists in natedit; added support for newer jQuery-ui |
|  19 Nov 2025 | Foswikitask:Item15570: implement redirectto none; Foswikitask:Item13951: show permission setting option Nobody only to admins |
|  03 Jan 2025 | Foswikitask:Item15450: a form with a natedit formfield in it cannot be fully reset |
|  24 Sep 2024 | Foswikitask:Item15345: listen to reset event clearing all form elements |
|  24 Aug 2023 | Foswikitask:Item15209: prevent multiple topics being created when editing an autoinc topic |
|  11 Jul 2023 | Foswikitask:Item15200: fixed possible XSS vulnerability in topic title field |
|  07 Jun 2023 | Foswikitask:Item15194: make edit toolbar more configurable |
|  26 Apr 2023 | Foswikitask:Item15189: fixed redirectto parameter breaking preview function |
|  17 Jan 2023 | Foswikitask:Item15178: wrong set of permissions selecting "registered users" access in natedit |
|  25 Jul 2022 | Foswikitask:Item15160: use custom rest handler for the permissions editor |
|  18 May 2022 | Foswikitask:Item15131: natedit doesn't validate mandatory formfields properly |
|  15 Jan 2021 | Foswikitask:Item15008: bring back support for "dontnotify" in natedit; bring back support for <nop>RevCommentPlugin |
|  28 Sep 2020 | Foswikitask:Item14897: rationalized edit template for better customization <br /> \
                 Foswikitask:Item14685: fixed initialization of defaults in permissions tab |
|  25 Feb 2018 | Foswikitask:Item14630: Topic ACLs are lost when copying to a new topic, and when editing some topics.<br/>\
                 Foswikitask:Item14632: Topic autocompletion not functional.<br/>\
                 Foswikitask:Item14634: Use jquery.i18n for translations in jquery.natedit |
|  18 Dec 2017 | Foswikitask:Item14586: fixed height computation of natedit textarea |
|  04 Dec 2017 | Foswikitask:Item13835: enable !TopicTitle field when feature available |
|  04 May 2017 | Foswikitask:Item14388: NatEditPlugin does not honor the <nop>ScriptSuffix setting, and doesn't accommodate short URLs.<br/>\
                 Foswikitask:Item14404: <nop>NatEdit Save and Continue action fails on mod_perl systems. |
|  20 Jan 2017 | Foswikitask:Item14265: <nop>NatEdit plugin leaves UI blocked after some save errors<br/>\
                 Foswikitask:Item14285: fixed error clicking on disabled toolbar buttons |
|  06 Jan 2016 | Add helper to insert a data form table header. |
|  08 Sep 2015 | Remove <nop>RevCommentPlugin hooks from templates,  Hide <nop>TopicTitle when unused. |
|  30 Aug 2015 | fixed default implementation for =topictitle= |
|  29 Jul 2015 | added missing image in documentation |
|  06 Mar 2015 | fixed permissions editor |
|  25 Sep 2014 | move templating to new jsrender replacing deprecated jquery.tmpl |
|  12 Dec 2013 | rewrite all of the js code; make it themable using jquery-ui |
|  01 Nov 2013 | working around IE10 incompatibility of its own proprietary edit api for textareas |
|  07 Aug 2013 | fixed generation of a new validation key in a save+continue |
|  17 Jul 2013 | added support for <nop>CaptchaPlugin |
|  18 Jun 2013 | removed dependency on <nop>SetVariablePlugin |
|  28 Mar 2013 | fixed storing the <nop>TopicTitle changing during a rename action only to the topic being renamed |
|  27 Feb 2013 | re-fixed strikeone-protected save+continue; improved error handling dealing with !AntiWikiSpamPlugin-alike error messages  |
|  20 Feb 2013 | fixed character encoding when previewing a topic on a non-utf8 site |
|  25 Jan 2013 | fixed auto-start feature |
|  18 Jan 2013 | improved compatibility with !PatternSkin |
|  15 Jan 2013 | added work-around for an IE8 bug in textareas |
|  21 Dec 2012 | added in-edit upload support using Foswiki:Extensions/TopicInteractionPlugin |
|  29 Oct 2012 | removed local button styles to allow theming via jquery-ui; use of NATEDIT_THEME is deprecated from now on|
|  22 Oct 2012 | implemented improved list editing; rewrite of modal dialogs to use jquery-ui-dialog instead of the old simplemodal library |
|  10 Jul 2012 | fixed character encoding when saving a topic on a non-utf8 site using a REST handler |
|  21 Feb 2012 | only add one strikeone nonce to the http header |
|  20 Feb 2012 | moved missing javascript code over from !NatSkin to !NatEditPlugin;\
                 fixed save+continue on a strikeone-protected foswiki; \
                 added compatibility wrapper for older APIs to Foswiki::Validate |
|  17 Feb 2012 | added interface to set permissions from within edit (only with Foswiki:Extensions/SetVariablePlugin installed) |
|  11 Jan 2012 | added support for Foswiki:Extensions/WorkflowPlugin |
|  10 Jan 2012 | added german translation; fixed css when used with !PatternSkin |
|  30 Sep 2011 | fixed autoresize of wysiwyg editor; \
                 improved toggle button switching between raw and wysiwyg editor; \
                 improved integration of validation code; \
                 using ui::autocomplete instead of deprecated jquery.autocomplete plugin now |
|  04 Apr 2011 | using a modal dialog for preview; save+continue is done in the background async'ly now |
|  24 Mar 2011 | added specific css classes for each button box |
|  17 Feb 2011 | fixed insert table in IE7+8 |
|  22 Dec 2010 | fixed some errors reported by jslint; improved the way forms are submitted to be more jquery-friendly |
|  06 Dec 2010 | Foswikitask:Item2304: fixes for Google Chrome |
|  01 Dec 2010 | fixed compatibility with newest foswiki; \
                 improved !TopicTitle feature not to set a title under certain conditions; \
                 Foswikitask:Item9006: disabling preview button on IE6,7,8; \
                 shipping compressed and minified css+js |
|  12 Feb 2010 | Foswikitask:Item8486, Foswikitask:Item8385: fixing edit and settings screen on !PatternSkin |
|  04 Dec 2009 | Foswikitask:Item2453: Form data not saved when edit is invoked \
                 with ?action=form ('Edit data form of this topic' link) |
|  18 Nov 2009 | Foswikitask:Item2373: improve XHTML validation |
|  17 Nov 2009 | Foswikitask:Item2368 toolbar not always hidden (PH); \
                 improved usability of upload and insert-link dialog |
|  02 Nov 2009 | Foswikitask:Item2281: attempt to make <nop>TinyMCE resize \
                 automatically as <nop>NatEdit does |
|  14 Sep 2009 | yet another attempt to support <nop>TinyMCEPlugin; \
                 don't take over raw edit automatically; \
                 added <nop>PatternSkin css fixes for edit dialogs |
|  20 Aug 2009 | added support for !ImagePlugin when inserting attachments |
|  03 Jul 2009 | IE fixes, !PatternSkin related fixes |
|  23 Jun 2009 | converted to foswiki, lots of feature enhancements |
|  03 Feb 2009 | fixed preview+save on Foswiki/<nop>PatternSkin; \
                 fixed force new revision; \
                 added a workaround to bind the submit event to the return key in input fields \
                 (gets hijacked by jscalendar popup otherwise) |
|  15 Jan 2009 | fixed buttons in preview screen |
|  07 Jan 2009 | support for <nop>TinyMCEPlugin wysiwyg editor; \
                 removed non-maintained "word" style; \
                 fixes for foswiki/compat; \
                 added settings template; \
                 distinguishing _restore revision_ from a normal _edit_; \
                 made <nop>DBCachePlugin's topic title feature optional; \
                 added "Show on screen" settings to easily switch off form, attachment or meta:comments (forthcoming); \
                 fixed action=text; \
                 removing <nop>TopicTitle formfield from the "Form" tab if it is already on the "Text" tab |
|  18 Nov 2008 | fixing form data being nulled on preview; \
                 using jquery to submit the data |
|  13 Nov 2008 | using new BUTTONs from <nop>JQueryPlugin |
|  12 Nov 2008 | fixing calculation of bottom bar, using new automaxexpand feature of tabpane widget |
|  11 Nov 2008 | usability improvements on topic forms |
|  16 Jul 2008 | fixed calculation of tab height; removed =topicinfo= makro as it is in conflict with <nop>PatternSkin |
|  03 Jul 2008 | improved skin to ease integration into <nop>WikiApplication |
|  29 Apr 2008 | added workaround for regression error in IE6+7's textarea; \
                 be backwards compatible to legacy pattern skins |
|  17 Jan 2008 | reimplemented as jquery.natedit plugin; \
                 using a tabbed interface now; \
                 new default button design |
|  03 Jan 2008 | added =beforeSubmitHandler= to give <nop>EditChapterPlugin a chance to hook in |
|  13 Nov 2007 | fixed calculation of textarea offset while autoresizing it to window height, \
                 fixed initialization not to use Behaviour anymore, \
                 fixed autohide/showing of word toolbar together with tinymce |
|  08 Oct 2007 | fixed word toolbar together with <nop>TinyMCEPlugin; \
                 fixed launching a popup by not relying on standard javascript; \
                 using css sprites instead of individual buttons |
|  02 Oct 2007 | be compatible with <nop>TinyMCEPlugin |
|  23 Aug 2007 | bug fixes for IE6&7 - Item4430 |
|  04 Aug 2007 | added Word theme \
                 added bullet and numbered lists buttons & Javascript \
                 added create Table button and Javascript \
                 work done by Sven Dowideit [[http://DistributedINFORMATION.com][DistributedINFORMATION]]  |
|  21 May 2007 | fixed display of toolbar buttons |
|  01 May 2007 | made natedit themable |
|  27 Apr 2007 | made all button output configurable; \
                 standardized their defaults; \
                 fixed javascript in preview mode; \
                 added support for <nop>RevCommentPlugin; \
                 added monospace button; reworked some of the icons |
|  23 Apr 2007 | fixed IE freezing on resizing the edit window |
|  05 Apr 2007 | added support for <nop>EditContrib and =editform= |
|  04 Apr 2007 | added css file; \
                   added monospace &lt;-&gt; propotional font toggles; \
                   made signature text customizable; \
                   minor refactoring of the javascript; \
                   removed non-standard tags FORMATLIST and IFDEFINED |
|  03 Apr 2007 | added NATEDIT_HELPTEXT variable; \
                  be backwards compatible to <nop>PatternSkin |
|  31 Mar 2007 | Initial version |

%META:FORM{name="PackageForm"}%
%META:FIELD{name="Author" title="Author" value="Michael Daum"}%
%META:FIELD{name="Copyright" title="Copyright" value="Foswiki Contributors, All Rights Reserved"}%
%META:FIELD{name="Description" title="Description" value="A Wikiwyg Editor"}%
%META:FIELD{name="Home" title="Home" value="http://foswiki.org/Extensions/NatEditPlugin"}%
%META:FIELD{name="License" title="License" value="GPL ([[http://www.gnu.org/copyleft/gpl.html][GNU General Public License]])"}%
%META:FIELD{name="Release" title="Release" value="15 Mar 2026"}%
%META:FIELD{name="Repository" title="Repository" value="https://github.com/foswiki/distro"}%
%META:FIELD{name="Support" title="Support" value="http://foswiki.org/Support/NatEditPlugin"}%
%META:FIELD{name="Version" title="Version" value="9.90"}%
%META:FILEATTACHMENT{name="screenshot1.png" attr="h" comment="" date="1773569396" size="104954" user="ProjectContributor" version="1"}%
