Page MenuHomePhabricator

Add Special-page redirects for page actions for easy wiki linkage (Special:History, Special:Edit, Special:Purge, Special:PageInfo)
Closed, ResolvedPublic

Description

Author: nickpj

Description:
If we allow [[Special:WhatLinksHere/Main Page|incoming links]]
and [[Special:Movepage/Main Page|moving]]
and [[Special:Recentchangeslinked/Main Page|related changes]]
using special page internal wiki links,
then can we please also have [[Special:History/Main Page|history]]
and [[Special:Edit/Main Page|editing]], because:

  • on the Wikipedia, everyone can check history, and everyone can edit (most pre-existing pages), but not everyone can move (e.g. anons)
  • for greater completeness
  • I trust internal links more than I trust external links, and at the moment I think people have no choice but to use external links for these things
  • it feels right ;-)

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

[[Special:Purge/page]] would be handy as well...

  • Bug 12445 has been marked as a duplicate of this bug. ***

ayg wrote:

(In reply to comment #5)

[[Special:Purge/page]] would be handy as well...

I guess also Special:Delete, Special:Raw. Probably most of these would be special pages, if special pages were part of the software from the start. If we were going to do this, should we make them the default links for these actions, and have action=edit redirect? Probably too breaking.

A (dis)advantage to consider would be that practically all URLs generated could then be prettified. Currently we use a simple hack to stop spiders from viewing anything in /w, for instance, which would no longer work reliably if people linked to Special:Edit (etc.) a lot.

(In reply to comment #8)

(In reply to comment #5)

[[Special:Purge/page]] would be handy as well...

I guess also Special:Delete, Special:Raw. Probably most of these would be
special pages, if special pages were part of the software from the start. If
we were going to do this, should we make them the default links for these
actions, and have action=edit redirect? Probably too breaking.

I'd say we make Special:Edit redirect to action=edit for backwards compatibility. It would also be easier to implement, I think.

A (dis)advantage to consider would be that practically all URLs generated could
then be prettified. Currently we use a simple hack to stop spiders from
viewing anything in /w, for instance, which would no longer work reliably if
people linked to Special:Edit (etc.) a lot.

Would that still apply if Special:Edit just 302'ed to /w/index.php?action=edit ?

webboy wrote:

(In reply to comment #8)

(In reply to comment #5)

[[Special:Purge/page]] would be handy as well...

I guess also Special:Delete, Special:Raw.

Maybe it should be generalized to [[Special:Action/edit/Page]], [[Special:Action/purge/Page]], etc.?

ayg wrote:

(In reply to comment #9)

Would that still apply if Special:Edit just 302'ed to /w/index.php?action=edit
?

I don't know.

(In reply to comment #10)

Maybe it should be generalized to [[Special:Action/edit/Page]],
[[Special:Action/purge/Page]], etc.?

I don't like that, it's inconsistent. Nothing unifies the actions in question logically. We would have [[Special:Action/delete]] but [[Special:Undelete]]. Better to be consistent. Bug 10457 would be good to fix first, though.

Change 96170 had a related patch set uploaded by Legoktm:
Add Special:Edit and Special:History which redirect to their action equivalents

https://gerrit.wikimedia.org/r/96170

(In reply to comment #12)

Change 96170 had a related patch set uploaded by Legoktm:
Add Special:Edit and Special:History which redirect to their action
equivalents

https://gerrit.wikimedia.org/r/96170

This is probably controversial. Some people have strong views about whether we should move toward Special pages or ?action= URLs. And for both options, there are differing views about implementation: for example, Special:Action/edit/page_title or wiki.org/edit/page_title.

Plus we now have complicating factors like Wikidata and VisualEditor and Flow to consider, where an "edit" means something almost entirely different.

(In reply to comment #13)

This is probably controversial. Some people have strong views about whether
we
should move toward Special pages or ?action= URLs. And for both options,
there
are differing views about implementation: for example,
Special:Action/edit/page_title or wiki.org/edit/page_title.

This patch just adds in redirects, so users still go to ?action=edit. Even if Special:Action/edit/Foo became the eventual destination, you would want Special:Edit/Foo to end up there.

https://www.mediawiki.org/wiki/Requests_for_comment/Drop_actions_in_favour_of_page_views_and_special_pages seems rather dead.

I even named the classes "SpecialEditRedirect" instead of "SpecialEdit" in case we decide to make it a special page in the future.

Plus we now have complicating factors like Wikidata and VisualEditor and Flow
to consider, where an "edit" means something almost entirely different.

True. I think those are edge cases though, and don't make the special pages less useful for wikis/pages not using Wikibase/Flow.

VE is interesting because some users go to ?veaction=edit instead of ?action=edit. I'm not sure there's an easy way to handle this, will think about it.

I agree. As confusing as it is that some actions are special pages and other actions are WikiPage Actions, at least we don't have one redirecting to the other.

I don't think just adding these redirects will achieve any gain other than it being slightly easier to type in wikitext. As for external links, urls should be stable enough. There's already been talk about phasing out interwiki prefixes in favour of external links (something I would support).

(In reply to comment #14)

https://www.mediawiki.org/wiki/Requests_for_comment/Drop_actions_in_favour_of_page_views_and_special_pages
seems rather dead.

True, but I think if we're spending any more time on this, let's spend it on that instead.

(In reply to comment #14)

VE is interesting because some users go to ?veaction=edit instead of
?action=edit. I'm not sure there's an easy way to handle this, will think
about
it.

I think we should have something like ?editor, which would default based on preference. So linking to action=edit would show the default editor for you. And editor=visualeditor, editor=wikieditor or editor=classic would show one of VisualEditor HTML editor, WikiEditor wikitext editor or classic toolbar wikitext editor respectively. And most links should link to action=edit without an editor parameter, thus showing whatever the canonical default is for the current user or wiki. (see also T58337)

Change 96170 abandoned by Legoktm:
Add Special:Edit and Special:History which redirect to their action equivalents

Reason:
Needs work, also not sure this is a good idea anymore.

https://gerrit.wikimedia.org/r/96170

Krinkle renamed this task from Add [[Special:History/Page]] and [[Special:Edit/Page]] as functional internal wiki links to Add Special-page redirects for page actions for easy wiki linkage (Special:History, Special:Edit, Special:Purge).Aug 14 2018, 9:03 PM
Krinkle renamed this task from Add Special-page redirects for page actions for easy wiki linkage (Special:History, Special:Edit, Special:Purge) to Add Special-page redirects for page actions for easy wiki linkage (Special:History, Special:Edit, Special:Purge, Special:PageInfo).
Krinkle added subscribers: Rezonansowy, He7d3r, Glaisher and 2 others.
Krinkle removed a subscriber: wikibugs-l-list.
Krinkle added subscribers: Scott, Krenair, Qgil and 2 others.
Krinkle added subscribers: bzimport, StudiesWorld.

At least for action=edit, we should decide and implement T28918: Provide clean interface to register content editing interfaces first, otherwise there'll be a mess.

This task is about adding aliases (e.g. redirects) on top of the current system. But personally I'd rather prefer time not be wasted on that, and instead (per T13456#168888) on resolving , I think we should focus instead on T28918: Provide clean interface to register content editing interfaces (as James mentions), and T201967: RFC: Consolidate WikiPage action and special page systems.

With those are resolved, the underlying issue here (convenient linkage) could be solved by the special-pages being the canonical form, rather than an alias.

DannyS712 changed the task status from Open to Stalled.Jul 24 2019, 9:38 PM
DannyS712 subscribed.

There is a related task at T207577: Create a Special:NewSection page that also creates a special redirect to a action= query for a page. It seems that there is opposition to the proposal because it wouldn't have a "steward/owner" of the feature. The same objection would apply here - changing to stalled so that users don't work on this and then have the work abandoned because the feature won't be implemented.

It is unclear from the age of this task and the fact that there are no active patches, whether there is still a desire for this feature. After conferring with other product managers/engineers, this feature is conditionally approved. If somebody would like to propose a patch, Platform Engineering will review it.

It is unclear from the age of this task and the fact that there are no active patches, whether there is still a desire for this feature. After conferring with other product managers/engineers, this feature is conditionally approved. If somebody would like to propose a patch, Platform Engineering will review it.

Thanks @CCicalese_WMF. I'll work on this once T207577: Create a Special:NewSection page is closed - I would have started working on this, but I didn't want to finish and then be told that it wasn't going to be used

Change 531990 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/core@master] Create abstract special page SpecialRedirectWithAction, and use it.

https://gerrit.wikimedia.org/r/531990

@CCicalese_WMF The patch is ready for review - I've tagged core platform team per your comment above

DannyS712 changed the task status from Stalled to Open.Sep 25 2019, 4:40 PM

Unstalling - patch is awaiting review, but T207577: Create a Special:NewSection page was merged and is like (meant to unstall this a while ago)

mobrovac subscribed.

As per comments by @Jdforrester-WMF and @Krinkle above, this probably shouldn't be implemented at this stage and should be assessed/re-prioritised.

CCicalese_WMF added a subscriber: mobrovac.

@mobrovac, note that in T13456#5380257 we already agreed to review a patch to implement this feature.

Change 531990 merged by jenkins-bot:
[mediawiki/core@master] Create abstract special page SpecialRedirectWithAction, and use it.

https://gerrit.wikimedia.org/r/531990

Change 554127 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/core@master] Add SpecialRedirectWithAction and related to release notes

https://gerrit.wikimedia.org/r/554127

This should be added to the release notes - can someone from the core platform team +2 https://gerrit.wikimedia.org/r/#/c/mediawiki/core/+/554127/ please?

Re-opening to reflect that there is still something left (adding to documentation)

Change 560603 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/core@master] Remove Special:History alias for Special:PageHistory

https://gerrit.wikimedia.org/r/560603

Change 554127 merged by jenkins-bot:
[mediawiki/core@master] Add SpecialRedirectWithAction and related to release notes

https://gerrit.wikimedia.org/r/554127

Change 560603 abandoned by DannyS712:
Remove Special:History alias for Special:PageHistory

Reason:
Per task

https://gerrit.wikimedia.org/r/560603