Trouble with TODO Macro

I just tried out the TODO macro (https://extensions.xwiki.org/xwiki/bin/view/Extension/Todo%20Macro), and while it works fine if used in the Text Wiki Editor, it get’s totally messed up if I try to insert and use it using the Wysiwyg editor (using XWiki 10.8.1 in Chromium 70.0.3538.77).

Unfortunately I was not successful in Googling for existing Bug reports or documentation which describes the problems I’m facing and possible work arounds.

Using the Wysiwyg editor will sometimes create confusing visual artifacts and randomly delete individual adjacent TODOs (or even other adjacent content), possibly only leaving a single one…

Example: If I add a single “Test-Todo” to Xwikis Sandbox page just above the first real headline in the text, it’s apparently properly inserted, but hovering the mouse over the TODO will draw a highlighting frame around the TODO and nearly all of the subsequent page. The text below the TODO cannot be edited any more.

Saving the page causes all of the content to be removed from the new page version.

Trying to add some Todos next to each other will erase all but the last two added while editing, and after saving only a single TODO will survive. (https://www.youtube.com/watch?v=sqcLjcSloXs ?)

I also had the problem that the TODO which was inserted looked garbled, but I cannot currently reproduce this.

Inserting TODOs in Wiki text mode editor more or less works, but the TODOs description cannot be changed when clicking its “edit” button in view mode. If you click the “edit” button, an small editor box pops up where you can edit status, priority and description. Status and priority can be changed, but changing the description will not show any effect.

Another issue I’m facing with the TODO macro is that if it’s the first or last thing I add to a page, I do not get a text cursor in Wysiwyg mode and thus cannot add anything else to the page. Pressing Home or End keys doesn’t help. This actually sounds related to https://jira.xwiki.org/browse/XWIKI-4461, which is marked as “Closed”, but I could not find any way to enter text, no matter where I clicked, what I selected and where I tried to type. Pressing enter then just invokes the macro’s properties panel.

As a last issue, I’m also having trouble with the related Todo List macro which only displays some TODOs from my Wiki, but ignores most - even without any “Places” filter.

What could be the reason for this behaviour?

And what’s the actual Syntax for the places filter if I would want to use it? I read the whole Todo macro description but it only mentions restricting the filter to a single page (which also does not work for me), but I’d like to select Todos for a page and all its children - how to do this?

I tried to prepare a test case in the playground Wiki, but there I’m not even able to open the Wysiwyg editor (http://playground.xwiki.org/xwiki/bin/edit/Sandbox/Todo-Test):

JavaScript console shows:

[Violation] Added non-passive event listener to a scroll-blocking <some> event. Consider marking event handler as 'passive' to make the page more responsive. See <URL>
jstree.min.js:6 [Deprecation] document.registerElement is deprecated and will be removed in M73, around March 2019. Please use window.customElements.define instead. See https://www.chromestatus.com/features/4642138092470272 for more details.
l10n.js:1 Uncaught SyntaxError: Unexpected token <
require.min.js?r=1:19 Uncaught TypeError: Cannot read property 'normalize' of undefined
    at da.<anonymous> (require.min.js?r=1:19)
    at require.min.js?r=1:7
    at require.min.js?r=1:23
    at y (require.min.js?r=1:6)
    at da.emit (require.min.js?r=1:23)
    at da.check (require.min.js?r=1:19)
    at da.enable (require.min.js?r=1:23)
    at da.init (require.min.js?r=1:16)
    at I (require.min.js?r=1:13)
    at Object.completeLoad (require.min.js?r=1:28)
require.min.js?r=1:7 Uncaught Error: Load timeout for modules: ckeditor,l10n!resource_unnormalized2,l10n!macroSelector_unnormalized3,l10n!macroEditor_unnormalized4,l10n!modal_unnormalized5
http://requirejs.org/docs/errors.html#timeout
    at F (require.min.js?r=1:7)
    at H (require.min.js?r=1:13)
    at require.min.js?r=1:13

It’s also a significantly older XWiki version if I’m not mistaken, so the question is if it behaves the same way as my 10.8.1 installation.

The issues you have with the TODO Macro are most probably caused by the fact that the macro produces invalid HTML which is not expected by the WYSIWYG editor. This is http://jira.xwiki.org/browse/CKEDITOR-131 . Note that the TODO Macro is a contributed extension that is not supported / recommended by the XWiki Development Team. Ping @ludovic but he probably doesn’t have the time to fix the macro.

Regarding playground.xwiki.org , the error is due to an unfinished upgrade of the CKEditor. We’ll fix this ASAP. Ping @vmassol . Thanks for reporting.

@mflorea you mean that playground wasn’t upgraded after the 10.9 upgrade of myxwiki.org? If so cc @tmortagne and cc https://forum.xwiki.org/t/myxwiki-org-upgraded-to-10-9/3830

Playground is not a myxwiki.org thing.

Right, I mixed up so it doesn’t have to do with the myxwiki.org upgrade. I found I did some upgrade of some extensions back on the 15th of Ocrober (see https://riot.im/app/#/room/!ikPtGZaGWtyblizzlR:matrix.xwiki.com/$1539587981200tuHcP:matrix.xwiki.com) but I don’t recall which extensions were upgraded and why.

@mflorea What does it mean an “unfinished upgrade”? What is left to do? Thanks

@vmassol if you look at https://www.xwiki.org/xwiki/bin/admin/XWiki/XWikiPreferences?section=XWiki.InstalledExtensions&search=ckeditor&repo=installed it seems that:

  • CKEditor JARs v1.25 have been installed on farm and CKEditor XAR v1.125 has been installed on main wiki
  • CKEditor XAR v1.12 is still installed on most of the subwikis, including playground
  • CKEditor XAR v1.8.3 (even older) is installed on xclams (do we still use this subwiki?)

So the actions that need to be taken are:

  • Upgrade the CKEditor XAR to v1.25 on all subwikis
  • Upgrade the CKEditor XAR to v1.25 on the playground template (since the playground wiki is reset each day)

We really need to archive those unused wikis or at least move them in a different instance so that you don’t have to maintain them…