- Status Closed
- Percent Complete
- Task Type TODO
- Category User Interface
-
Assigned To
peterdd - Operating System All
- Severity Medium
- Priority Low
- Reported Version 1.0-rc9
- Due in Version 1.0-rc10
-
Due Date
Undecided
- Votes
- Private
Opened by peterdd - 02.12.2019
Last edited by peterdd - 09.04.2021
FS#2585 - Upgrade CKEditor to 4.16
To fix some other open tasks, an update of the CKEditor4 files is probably the best way.
Basic preset
Starting with CKEditor4 ‘Basic’ preset, evaluate every additional Plugin before adding them to the config.
Because the selection of plugins starts with the ‘Basic’ preset, some configs are disabled in the resulting config.sys like the ‘Strike’ button or the Copy/Paste functionality.
I am also evaluating the possibilities to make some of the options configurable within the Flyspray configuration. It is probably required to analyze if a setting applies to only CKEditor syntax or would be also by used for installs using dokuwiki syntax/engine.
I can also imagine enable/disable features based on Flyspray user permissions. (but that requires not only CKEditor config, but also server side changes like HTMLpurifier settings.)
Plugins
The previous contained CKEditor 4.4.7 probably hat the standard preset used.
Following I keep track of plugins we should add to the basic preset. This list is growing/edited until the final config that ships with Flyspray is found.
Mentions
This would enable choosing a user by their username, like @peterdd.
Requires writing an extra php file for retrieving a matching list of users, that respects current user permissions and status of users (like not fetch disabled users).
This extra php file could be also used for the editor textareas with a dokuwiki toolbar.
Auto Grow
This is just a promising usability improvement. No scrollbars needed when writing longer texts.
Auto Link
Turns just typed urls like https://www.flyspray.org into real links (like dokuwiki does it when rendered on page.)
Baloon Toolbar
This just sound like a promising usability improvement. Not tried yet. Only add when there is use case (other plugins usability profit from it) for Flyspray.
Blockquote
Probably required because existing Flyspray installs had it too and citing a comment/text snippet should be also able.
Code Snippet
Probably requires deeper look how secure integrate with server side cleanup (HTMLpurifier).
Format
h1-h6 and other tags. Probably required as previous Flyspray versions used that too. (TODO: What happens to old content with h1-h6 tags when editing with a CKEditor without the Format plugin?)
Also configure it to accept only tags useful for within Flyspray. (see also server side configuration of HTMLPurifier)
Remove Format
Existing Flysprays had this too and probably a good thing when the user can cleanup their word/whateverwhere pasted stuff cleaned before HTMLpurifier does it server side too with maybe surprises to the end user.
Show Blocks
Gives the user some confidence on command if his current editing has the right/intended structure.
Well, that missing is one of the reasons why I hated WYSIWYG or wannabe WYSIWYG editors in the past. Uncertainty by the end user, and pain for the admin/webmaster when he sees the garbage stored in the database (endless spans and other garbage tags partly wrong nested by just pasting from Word documents.)
(little bug in CKEditor 4.13.0: doesn’t expand the area with plugin Auto Grow enabled)
Source Editing Area
Useful for people that can read HTML or are responsible to fix things.
Theme selection
Probably use a CKEditor source maintained Moona-Lisa or Moona as these are easier to modify their color themes like auto light/dark mode browser detection or base colors that match the theme.
Moona Color currently has issues and not maintained by CKEditor guys.
Languages
Just choose all languages available in the CKBuilder.
Probably we need to adjust the CKEditor to use the users Flyspray language settings too. I changed my language to french in a test install but the CKEditor still shows german user interface. (probably detected by browser http request headers)
Compare that the used language abbreviations work together between files in lang/ of Flyspray and that of CKEditors. (Flyspray: lang/pt_br.php vs. CKEditor: js/ckeditor/lang/pt-br.js)
ID | Project | Summary | Priority | Severity | Assigned To | Progress | |
---|---|---|---|---|---|---|---|
2581 | Flyspray - The bug killer! | FS#2581 - replace bitmap icons of default theme | Medium | Low |
Loading...
Available keyboard shortcuts
- Alt + l Login Dialog / Logout
- Alt + a Add new task
- Alt + m My searches
- Alt + t focus taskid search
Tasklist
- o open selected task
- j move cursor down
- k move cursor up
Task Details
- n Next task
- p Previous task
- Alt + e ↵ Enter Edit this task
- Alt + w watch task
- Alt + y Close Task
Task Editing
- Alt + s save task
Also add these Plugins:
Table
As it was available before and existing tasks/comment could contains HTML tables.
Horizontal Rule
As it was available before and also was requested by users.
added also
Editor Resize
Special Characters
Paste Tools
maybe also add Plugin
Magic Line
next time. Not for Flyspray 1.0
I am happy I got the setup and update to 4.16 in place.