Possible Releaseblocker for Drupal DataTables v3 (^10|^11)

Created on 21 September 2023, 9 months ago
Updated 11 February 2024, 5 months ago

Problem/Motivation

A production version for Drupal 10 of DataTables module is needed. And its DataTable js library should be upgraded, see 📌 [META] Keep track of jQuery DataTables library updates in the Drupal implementation Needs review .

Steps to reproduce

Proposed resolution

Now a development version for Drupal 10 of DataTables module with an upgraded library exists, 2.x-dev, see 📌 Drupal core has changed jQuery once() [Drupal 10 compatibility] Fixed . Hence, the new production version may be got either from 2.x-dev or from 2.0.0 versions. However, a new production version from development version needs more work since changes from 2.0.0 not proper to D10 should be validated.

Remaining tasks

Validate module changes from D9 to D10.
Validate composer update of the DataTables library.
Validate functional changes from library changes: see #2 📌 Possible Releaseblocker for Drupal DataTables v3 (^10|^11) Active
[Validate functional changes from module changes (for production from development).]

- Release blocker list

(- To merge or nearly
🐛 Problem with special chars being double escaped Fixed
🐛 Warnings for empty table - header/empty rows Fixed
🐛 Hidden columns not expandable [2.x] Fixed
🐛 Warning: Undefined array key "rendered_entity" in template_preprocess_views_view_datatables() (Zeile 66 in /web/modules/contrib/datatables/datatables.module) Fixed

🐛 Change word choice in table information display Needs work
📌 Replace README.txt with README.md format Fixed
📌 Fix the issues reported by phpcs Needs work

🐛 Default sort doesn't work Fixed

- Needs Review
Exclude columns from searching Needs work

- To be Closed
(outdated)
(duplicate)
DataTables core version info compatibility fix Closed: duplicate
🐛 Default sort doesn't work Fixed
(Need Work | Review | More Info)
🐛 Error Exception: No entity type for field path on view redirect_404 in Drupal\views\Plugin\views\HandlerBase->getEntityType() (line 712 of Needs review

- Others / to see
Look like an ask for a new/other module: (see #2883153-#9 Support optional CDN and options for fields, types and formatters Needs work )
📌 Drupal 8 ajax views implementation Closed: duplicate
#3014240: Implementing views ajax support
Support optional CDN and options for fields, types and formatters Needs work )

- 7.x-1.x-dev version
(~ duplicate: fixed in 2.x-dev)
#3014926: Default Sort Order Not Working
#1029614: Support DataTables individual column filtering

User interface changes

API changes

Data model changes

Release notes snippet

📌 Task
Status

Fixed

Version

2.0

Component

Code

Created by

🇫🇷France Chris64 France

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @Chris64
  • 🇫🇷France Chris64 France

    In datatables.libraries.yml 2.x-dev version,

    datatables_tabletools:
      version: 1.1.4
      js:
        /libraries/datatables/extras/TableTools/media/js/TableTools.js: {}
        /libraries/datatables/extras/TableTools/media/js/ZeroClipboard.js: {}
      css:
        component:
           /libraries/datatables/extras/TableTools/media/css/TableTools.css: {}
      dependencies:
        - core/jquery
        - datatables/datatables_core

    from the old version. However, these files didn't exist any more. Furthermore, from https://datatables.net/extensions/tabletools/,

    TableTools
    This extension has now been retired and has been replaced by the Buttons and Select extensions. The documentation is retained for legacy reference only. New projects should use Buttons and Select in preference to TableTools.

    And about ZeroClipboard, from https://github.com/zeroclipboard/zeroclipboard,

    This library is no longer maintained as it is no longer necessary for modern web development. If you want your frontend JavaScript to manipulate the clipboard, please look into the new HTML Clipboard API (various docs available on MDN) or a small convenience wrapper around it like clipboard.js.

  • 🇩🇪Germany diqidoq Berlin | Hamburg | New York | London | Paris

    Good points made @Chris64. As always good work! Let's try to merge forces and to not split off too much in separate issues from now. But I think TableTools Replacement and ZeroClipboard should get separate issues. BTW: we have clipboard.js project on D.O.

    Let me focus this issue here on a new release to have a v2 release with the previous implementations available for users requiring them. Apart from that: Can you check which existing issues should be added here being related to the progress?

  • 🇫🇷France Chris64 France

    Thank you @diqidoq! A quick answer, here a related issue!: 📌 DataTables extras TableTools not supported anymore Active

  • 🇫🇷France Chris64 France

    @diqidoq,

    But I think TableTools Replacement and ZeroClipboard should get separate issues.

    May be use this issue, 📌 DataTables extras TableTools not supported anymore Active , as the issue for that point? And not create a new one. Moreover ZeroClipboard seems sub to TableTools. So to push in the same issue?

    Some issues seem close to be closed, with a patch and RTBC or NR. Would you like a list here? The issues stack should be shrunk.

  • 🇩🇪Germany diqidoq Berlin | Hamburg | New York | London | Paris

    May be use this issue 📌 DataTables extras TableTools not supported anymore Active as the issue for that point?

    Yes.

    Moreover ZeroClipboard seems sub to TableTools. So to push in the same issue?

    It depends if this issue is about removal only or also about replacement. In the second case it depends on the efforts and requirements if ZC should be handled in the same issue. But we should mention it over there and change the title regarding this.

    Some issues seem close to be closed, with a patch and RTBC or NR. Would you like a list here?

    Thanks for your help Chris! As always. A general list of almost ready issues would be somewhat misleading. A real release blocker list would be better just including the ones which really are required to make any sense out of an upcoming release.

    The issues stack should be shrunk.

    Exactly. That's what this issue here should be about. That's why I tried to change title to a common title used for such tasks on Drupal. Some decisions need to be made before, to prevent wasted efforts. That's why I started a new channel on Drupal Slack #datatables. So things can thought about back and forth without too much noise on the issue queue. Many issues have been open somewhat cluttered and from different directions but with the same goal. This needs to get orchestrated a little bit.

  • 🇫🇷France Chris64 France

    Ok @diqidoq. Here some things ready!

  • 🇩🇪Germany diqidoq Berlin | Hamburg | New York | London | Paris

    @Chris64 thanks! as always! +1 have a wonderful Sunday.

  • 🇫🇷France Chris64 France

    Thank you @diqidoq! Summary updated with some other issues. Good courage!

  • 🇩🇪Germany Anybody Porta Westfalica

    Now that Drupal 9 is EOL, I think we should concentrate on a Drupal 10 compatible release first and solve all optional issues afterwards, so people are not blocked to Upgrade to Drupal 10?

    Reading the issue summary, the plan currently looks different to me?

    Thanks for your great work! :)

  • 🇫🇷France Chris64 France

    Agree with you @Anybody.

  • 🇫🇷France Chris64 France

    A general list of almost ready issues would be somewhat misleading. A real release blocker list would be better just including the ones which really are required to make any sense out of an upcoming release.

    Reading the issue summary, the plan currently looks different to me?

    So, what are the blocker elements? Just TableTools.js and ZeroClipboard.js? What to do with these? Just remove them from the libraries.yml? Like this it is a regression. Any thing else?

  • 🇩🇪Germany Anybody Porta Westfalica

    TBH I lost the overview. If @diqidoq doesn't know also, it might be best to just try a Drupal 10 installation without these fixes and see what's working and what not?

    Also it should be scanned by upgrade_status I think.

    Can't find an Automated Drupal 10 compatibility issue like this for D9 #3146976: Automated Drupal 9 compatibility fixes where the Update Bot helped?

  • 🇫🇷France Chris64 France

    OK @Anybody, so no patch to apply. Why not a beta1 or rc1 version?

    For upgrade_status on Drupal 9 the module is actually Not applicable and Unchecked.

    For the Project Update Bot nothing exists for Drupal 10 in the issues list. Some thing wrong occurred. To get it now may be reopen the issue #3146976: Automated Drupal 9 compatibility fixes , change the version, and put the tag to ProjectUpdateBotD10.

  • Status changed to Closed: works as designed 8 months ago
  • 🇩🇪Germany Anybody Porta Westfalica

    @Chris64 thanks. I don't think the Project Update Bot will have anything left to complain about, as it uses the same tools in the background as upgrade_status does.

    I just ran the 2.x-dev through upgrade status check and it reports no more errors. So from the static code analysis side all seems good. Of course, that doesn't mean there may not be any issues left.

    I looked into all the issues listed above and I see no Drupal relationship. These are all bugs that should be fixed, but none of them is a blocker for Drupal 10.

    For that reason I'm closing this issue, but we should fix these existing bugs asap and release a Drupal 10 compatible version to not block D10 upgrades. If new issues appear, they will be reported.

    BTW, great work @Chris64 in all these issues. Once you prepared MRs there, I'm going to merge them after final review. Thanks a lot!!

  • Status changed to Fixed 5 months ago
  • 🇩🇪Germany diqidoq Berlin | Hamburg | New York | London | Paris

    Please do not misuse "Critical" ord "Major" for things considered important or time urgent. Descriptions of the Priority and Status values can be found in the Drupal project issues documentation. And a META should not be closed as Works as designed but as Fixed when all issues listed in it are fixed or obsolete. Apart from that please understand that it is recommended to leave it up to module maintainers to close META issues.

    But as always: Thanks for all the work in here at @Anybody and @Chris.

  • 🇩🇪Germany Anybody Porta Westfalica

    Thanks @diqidoq and sorry. I did that for the reason that there was no D10 compatible release and D9 was EOL so the D10 compatibility was a hard blocker and this seemed like the representative issue. But you're right. Sorry!

    Thanks for the cleanup! :)

  • 🇩🇪Germany diqidoq Berlin | Hamburg | New York | London | Paris

    Don't worry @Anybody :-) I 100% feel with you! And I am thankful for you helping in here and moving things forward. Have a wonderful weekend!

  • 🇫🇷France Chris64 France

    IS changed. To better reflect the situation.

  • Automatically closed - issue fixed for 2 weeks with no activity.

Production build 0.69.0 2024