Page MenuHomePhabricator

Decide how to make Liquid Threads "read only"
Closed, ResolvedPublic

Description

This task involves deciding the approach we'll take to setting Liquid Threads into a read only state.

Approaches

Based on the Editing Engineering Team's investigation, there seem to be two approaches:

  • Approach #1: Add code to Liquid Threads to create a read only mode; this functionality does NOT fully exist
  • Approach #2: Convert Liquid Threads to Flow using the existing script and in doing so leverage Flow's read only state

Decision(s) to be made

  • Which approach – of those listed above – will the Editing Team pursue to set Liquid Threads into a read only state?

Related Objects

StatusSubtypeAssignedTask
OpenNone
DeclinedNone
OpenNone
OpenNone
OpenNone
ResolvedTrizek-WMF
DuplicateNone
DeclinedNone
OpenNone
ResolvedTrizek-WMF
DuplicateNone
ResolvedSgs
ResolvedSgs
ResolvedTrizek-WMF
OpenNone
ResolvedMimurawil
ResolvedTchanders
In ProgressTrizek-WMF
OpenNone
ResolvedTrizek-WMF
OpenNone
OpenNone
OpenNone
ResolvedDLynch
OpenDLynch
OpenUrbanecm_WMF
ResolvedDLynch
ResolvedDLynch
OpenNone
OpenDLynch
ResolvedUrbanecm_WMF
ResolvedDLynch
ResolvedTrizek-WMF
OpenNone
OpenNone
ResolvedBUG REPORTEtonkovidova
ResolvedTrizek-WMF
OpenNone
ResolvedPRODUCTION ERRORhubaishan
ResolvedTrizek-WMF
ResolvedDLynch
OpenNone
OpenTrizek-WMF
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Another, simpler, idea is to make sure that no user has any of the "lqt-*" permissions, which would create an effective read only state.

I would strongly advise against option 2 - it makes things worse rather than better IMO.

A LiquidThreads page is at its core a wikitext page, with LiquidThreads adding some additional formatting to it. Almost all of the data required to deconstruct a LiquidThreads page back into wikitext is stored in the core page and revision tables, and one could even consider writing a Scribunto module to render a LQT board when LiquidThreads isn't installed.

(It isn't quite that simple - user signatures and the structure of the thread (who replied to whom) is only stored in LQT-specific tables. But the meat of the comment is still there.)

Flow, on the other hand, stores everything in it's own internal opaque database as HTML. The LQT->Flow conversion script moves every single LQT page (to retain the history of the header), overwrites the comments LQT stores in the core database with redirects, and creates its own "Topic:" pages that are just pointers. This is further away from the eventual goal of converting everything to wikitext/discussiontools that you are eventually hoping to achieve, and would make a much bigger mess that you started with.

The Editing team will discuss this topic on December 18.

We have a deadline for LQT - February 2025 - as removing this extension is a requirement to deploy temp accounts.

I would strongly advise against option 2 - it makes things worse rather than better IMO.

While this is true, we have to take into account the scale here. Liquid threads is used minimally on a small number of minor wikis. There is already an existing migration script for LQT->Flow that has been run in the past (e.g. on mediawiki.org).

We also know we have to create a conversion script for Flow to DiscussionTools - and having a handful more Flow boards to convert is going to be much simpler than creating an LQT->DT conversion script.

Liquid threads is used minimally on a small number of minor wikis

That's seriously misleading. Every single published article on enwikinews has an associated LQT page, for example.

Let's be clearer here:

Trizek-WMF claimed this task.

During the team meeting, and after considering the comments posted here, we agreed that the easiest way was:

Approach #2: Convert Liquid Threads to Flow using the existing script and in doing so leverage Flow's read only state

We will also work on diminishing the impact of these moves on the concerned wikis, as much as we can.

Finally, consider if a LiquidThreads board has zero threads then don't bother archiving it. That would reduce the impact considerably.

Finally, consider if a LiquidThreads board has zero threads then don't bother archiving it. That would reduce the impact considerably.

I see it as something similar to how you deleted mediawikiwiki's empty Flow boards, before the conversion script run.

I don't like how much I feel like I'm the only person keeping this project from collapsing into a tide of chaos, but fine.

Is there a timeframe on when the LQT->Flow conversion script is likely to be done?