Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
The API at https://github.com/turbolinks/turbolinks-classic would not make sense to match (and . But since then, https://github.com/turbolinks/turbolinks was released, which provides a simpler API, with a smaller surface. This API should be totally feasible to support.
Comment | File | Size | Author |
---|---|---|---|
#2 | official-turbolinks-2692343-2.patch | 35.38 KB | Wim Leers |
Comments
Comment #2
Wim LeersAfter I tweeted about this module (https://twitter.com/wimleers/status/712313338533912576), I got responses from Sam Stephenson (employee at Basecamp, one of the main authors of Turbolinks 5 — https://twitter.com/sstephenson/status/712318659897655296) and later even from DHH himself (founder of Basecamp & Rails — https://twitter.com/dhh/status/712614476072284160).
They aren't happy with this Drupal module being called node.js, PHP and Scala (that last one at LinkedIn even). They are either called "BigPipe" directly, or at least use that term in their function names/class names/docs.
. We didn't see any harm calling it that, because we interpreted "Turbolinks" as an idea (just like quick sort, A*, BigPipe etc are ideas), and this is just another implementation. BigPipe was coined by Facebook, and there are implementations forBut, they consider it a product, not an idea:
— https://twitter.com/sstephenson/status/712619025331650561
All of this despite the clear attribution on the project page: https://www.drupal.org/project/turbolinks
I offered to rename it to
, match their API, but none of that mattered. The only way I'd be allowed to call it was:— https://twitter.com/sstephenson/status/712332970154000385
Despite clearly being collaborative (and simply renaming the project is impossible, drupal.org doesn't allow that), I was soon receveing threatening tweets:
— https://twitter.com/sstephenson/status/712410072551260160
I had two choices left:
So, I tried to make this use the JS library at https://github.com/turbolinks/turbolinks. And I can get it to work partially. But there's lots of problems:
turbolinks:request-end
norturbolinks:before-render
are cancelable, this is impossible.Finally, this means once again replacing the entire
<body>
and detaching/attaching Drupal behaviors (i.e. run all JS) on them. Which means it defeats a significant portion of the purpose: improve perceived speed by having the browser do less work. i.e. using the official Turbolinks JS significantly increases the amount of work the browser has to. This makes sense for that library because it wants to work on almost any HTML. But in the case of Drupal, we can take advantage of its cacheability metadata to automatically figure out which portions of the page change.Therefore I will be renaming this Drupal module to something else. Name TBD.
Comment #3
Dave ReidTurbollama?
Comment #4
jmolivas CreditAttribution: jmolivas at FFW commentedturbulence?
Comment #5
darol100 CreditAttribution: darol100 as a volunteer and commentedIf you current implementation works I do not think it makes sense to actually force to use the Turbolinks API just for the name. I think it makes more sense to actually rename the project. I do not think we should be concentring on the "Turbo" for the name instead we should concentrating on the links because what it does is makes links faster.
What about Fastlinks ?
Comment #6
Wim LeersWe decided to rename it to
(refreshless
).This project (
) had:And instead, there now is https://www.drupal.org/project/refreshless, with a functionally identical alpha2 release: https://www.drupal.org/node/2693143. All issues other than this one have been moved to that project's issue queue.
Comment #7
Wim LeersAlso note that the code in
refreshless
has exactly zero mentions of Turbolinks. Download and extract https://ftp.drupal.org/files/projects/refreshless-8.x-1.0-alpha2.tar.gz, you'll find zero occurrences of .Comment #8
Nick_vhWimLeers++ :)
Comment #9
PolPfff such a shame attitude from those guys.
"This is the last time I’ll ask" => Come on man, or what !?
Anyway, I'm glad you've found a way !
Comment #10
darol100 CreditAttribution: darol100 as a volunteer and commented@Pol, I was asking that myself.
Comment #11
izus CreditAttribution: izus commentedWimLeers++