Item14288: rewrite to support pluggable edit engines

pencil
Priority: Enhancement
Current State: Confirmed
Released In: n/a
Target Release:
Applies To: Extension
Component: NatEditPlugin
Branches: Item14288
Reported By: MichaelDaum
Waiting For:
Last Change By: MichaelDaum
This is a work in progress testing out concepts. Findings will result in a proper feature proposal to fold related changes into the core release.

The idea is to have a kind of framework to load different 3rd party editors into the textarea by means of an "engine" wrapper class which takes care how to load, how to connect to the shell and how to interact with the rest of foswiki as required. As a result all engines share the same toolbar. Only the textarea is implemented differently.

Implementations are:

  • raw: the current wiki text editor - works as usual
  • tinymce: loads the latest tinymce from a cdn - works fine but doesn't quite implement all toolbar actions
  • codemirror: works great, fully implements a code editor for TML including highlightying of markup of macros and typography
  • prosemirror: very interesting concept; early alpha upstream; not worked on yet
  • ckeditor: probably a better wysiwyg editor than tinymce, not worked on yet
  • ...

Additional editor engines might provided by extra plugins.

Screenshots:

NatEditSnap1.pngNatEditSnap2.png

-- MichaelDaum - 23 Jan 2017

This is a monster branch. I can't continue merging master just to work on NatEditPlugin. Therefore I will create a separate repository for further development and name the resulting edit plugin differently, something like NextNatEditPlugin or just EditorPlugin. In addition this will let me release a new editor interface independently from the core release process.

-- MichaelDaum - 13 Jun 2018

Sounds promising smile

-- AlexanderTraxel - 06 Sep 2018

I'll remove the Item14288 branch and continue on https://github.com/MichaelDaum/NatEditPlugin. Branching all of the core just to continue on this specific extension isn't a good idea in general. But that's another issue.

-- MichaelDaum - 26 Aug 2021
 

ItemTemplate edit

Summary rewrite to support pluggable edit engines
ReportedBy MichaelDaum
Codebase
SVN Range
AppliesTo Extension
Component NatEditPlugin
Priority Enhancement
CurrentState Confirmed
WaitingFor
Checkins distro:b7bb0c990ac1 distro:187209278f98 distro:5170d22e05c1 distro:7745f59b189b distro:2cc13e17552d distro:b1d18e0f8ea0 distro:cea4f5cd74b9 distro:afc509a4633c distro:8586ff9767d8 distro:190853574ae3 distro:35b3c2ef7b59 distro:602136c039d6 distro:d17154e2526d distro:c5b9a29a4a04 distro:78b890dab81f distro:0845ce29e30d distro:3127c1a2a3e7 distro:476b859872c9 distro:f17cef81059f distro:2ac8e7169229 distro:d0e7192aab10 distro:74811ebbf747 distro:066e9fc16f51 distro:a46fe3b87704 distro:7f54afb35177 distro:c412636b7d94 distro:532b25fd4dc4 distro:21e16cf97f98 distro:b635eb471abc distro:3d9656a00e44 distro:286527cebedc distro:1e029a0a360b distro:98b1a4df209d distro:b9b8e9a94708 distro:a68eec932741 distro:8fa0d26e955e distro:771f491a7896 distro:2e433682c85e distro:776bb64cd960 distro:adf30afed237 distro:e6a4f3c16e3a distro:05f190372a18 distro:74c5a791dcd9 distro:121f6e31ddaa distro:6126dec8111c distro:cc3f3c517378 distro:632d7d5ddb85 distro:4167930e6ae0 distro:473e5ab6eebc distro:db5dfb2e095f distro:4a016028e57d distro:13fd03681a82 distro:4da6ad551735 distro:d7748137d758 distro:827d0dbc9347 distro:1175d8838467 distro:2d1b98d1851e distro:30dd7222e80a distro:5aaf16508c14 distro:f537b0e2c5b8 distro:9ba6cfb8cd08 distro:1978b72ab2c3 distro:6f98e6cd2211 distro:7d3881295036 distro:4e403227987f distro:215bac1dece4 distro:68bf005e8460 distro:13d3566852e6 distro:6d4069e9028b distro:5522ad5d7ae0 distro:805d981f06a4 distro:ca6e25f4ae65 distro:733fbf8681cc distro:7ae221e92ab6 distro:7dcf04614a1a distro:d18c3f48f508 distro:438fc39e2560 distro:fd49a8021da8 distro:1eaf3d3a379d distro:02afbd7023af distro:844e37fb438a distro:5c568a650aef distro:383330ce133f distro:eaa00a2c2398 distro:74c0ee10052a distro:35d7e7fe4102 distro:7cf1ac6a9f85 distro:1ac04801a2f5 distro:566223572be6 distro:ec2a73218cf7 distro:f3011430ec6c distro:f36a3f66370c distro:d66c3dc566e0 distro:1447bc33e88e distro:9a1f60d09b1c distro:367d83b5c4c8 distro:0234082861ce distro:a08a54b0888f distro:d9d25490cee3 distro:2f7e6bba6d4a distro:6a820c0ad6c9 distro:0ac16e10bc34 distro:e9f4ca52bc84 distro:c47c80c1a2ba distro:25da707cf549 distro:f7f8032cdfc7
ReleasedIn n/a
CheckinsOnBranches Item14288
trunkCheckins
masterCheckins
ItemBranchCheckins distro:b7bb0c990ac1 distro:187209278f98 distro:5170d22e05c1 distro:7745f59b189b distro:2cc13e17552d distro:b1d18e0f8ea0 distro:cea4f5cd74b9 distro:afc509a4633c distro:8586ff9767d8 distro:190853574ae3 distro:35b3c2ef7b59 distro:602136c039d6 distro:d17154e2526d distro:c5b9a29a4a04 distro:78b890dab81f distro:0845ce29e30d distro:3127c1a2a3e7 distro:476b859872c9 distro:f17cef81059f distro:2ac8e7169229 distro:d0e7192aab10 distro:74811ebbf747 distro:066e9fc16f51 distro:a46fe3b87704 distro:7f54afb35177 distro:c412636b7d94 distro:532b25fd4dc4 distro:21e16cf97f98 distro:b635eb471abc distro:3d9656a00e44 distro:286527cebedc distro:1e029a0a360b distro:98b1a4df209d distro:b9b8e9a94708 distro:a68eec932741 distro:8fa0d26e955e distro:771f491a7896 distro:2e433682c85e distro:776bb64cd960 distro:adf30afed237 distro:e6a4f3c16e3a distro:05f190372a18 distro:74c5a791dcd9 distro:121f6e31ddaa distro:6126dec8111c distro:cc3f3c517378 distro:632d7d5ddb85 distro:4167930e6ae0 distro:473e5ab6eebc distro:db5dfb2e095f distro:4a016028e57d distro:13fd03681a82 distro:4da6ad551735 distro:d7748137d758 distro:827d0dbc9347 distro:1175d8838467 distro:2d1b98d1851e distro:30dd7222e80a distro:5aaf16508c14 distro:f537b0e2c5b8 distro:9ba6cfb8cd08 distro:1978b72ab2c3 distro:6f98e6cd2211 distro:7d3881295036 distro:4e403227987f distro:215bac1dece4 distro:68bf005e8460 distro:13d3566852e6 distro:6d4069e9028b distro:5522ad5d7ae0 distro:805d981f06a4 distro:ca6e25f4ae65 distro:733fbf8681cc distro:7ae221e92ab6 distro:7dcf04614a1a distro:d18c3f48f508 distro:438fc39e2560 distro:fd49a8021da8 distro:1eaf3d3a379d distro:02afbd7023af distro:844e37fb438a distro:5c568a650aef distro:383330ce133f distro:eaa00a2c2398 distro:74c0ee10052a distro:35d7e7fe4102 distro:7cf1ac6a9f85 distro:1ac04801a2f5 distro:566223572be6 distro:ec2a73218cf7 distro:f3011430ec6c distro:f36a3f66370c distro:d66c3dc566e0 distro:1447bc33e88e distro:9a1f60d09b1c distro:367d83b5c4c8 distro:0234082861ce distro:a08a54b0888f distro:d9d25490cee3 distro:2f7e6bba6d4a distro:6a820c0ad6c9 distro:0ac16e10bc34 distro:e9f4ca52bc84 distro:c47c80c1a2ba distro:25da707cf549 distro:f7f8032cdfc7
Release02x01Checkins
Release02x00Checkins
Release01x01Checkins
I Attachment Action Size Date Who Comment
NatEditSnap1.pngpng NatEditSnap1.png manage 169 K 23 Jan 2017 - 07:41 MichaelDaum  
NatEditSnap2.pngpng NatEditSnap2.png manage 70 K 23 Jan 2017 - 07:41 MichaelDaum  
Topic revision: r76 - 26 Aug 2021, MichaelDaum
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy