Extension talk:RottenLinks

Jump to navigation Jump to search

About this board

Why no normal extension install link?

5
Andrew Campbell 67 (talkcontribs)

I'd like to use this extension, but I'm not sure how to install it. Other extensions have a Download Extension link to a tarball for each version or a suggested addition to a composer file.

Any particular reason why this is different to the other extensions?

Thanks!

94rain (talkcontribs)
Andrew Campbell 67 (talkcontribs)

Link just takes me to the Github repository. README has no instructions. Not sure what to do. Other extensions take me to a download link with a tar command to copy.

94rain (talkcontribs)

Just put all the files in extensions/RottenLinks folder. You can use git clone or download and extract the zip file of the repo.

Andrew Campbell 67 (talkcontribs)

OK, can see the Zip download link in Github - thanks. Still, I wonder if this extension would get more use if it could be installed in the "normal" way? Up to you, of course.

Reply to "Why no normal extension install link?"

Is there a way to trigger extensions/RottenLinks/maintenance/updateExternalLinks.php automatically during the install process for users without shell access?

3
CayceP (talkcontribs)

User that are on shared hosters usually have no shell access. Since they have no means of runnung php extensions/RottenLinks/maintenance/updateExternalLinks.php manually they can't use this extension.

Is there any way, that extensions/RottenLinks/maintenance/updateExternalLinks.php can be triggered as part of running the webupdater (mw-config) so this extension can be used as well? The only workaround currently is to import a recent dump of the mediawiki DB into XAMPP und running extensions/RottenLinks/maintenance/updateExternalLinks.php in the shell from there and then looking up and changing each link manually on the live version.

RhinosF1 (talkcontribs)

There's a lot you can't do without shell access on Mediawiki. I'll see what can be done but maybe consider a host with more control.

Kghbln (talkcontribs)

There used to be the MaintenanceShell extension that would allow you to run individual script. Since the "updateExternalLinks.php" script can potentially run for many hours it is not advisable to do this via the webupdater anyways. Indeed I'd also suggest to switch to adequate hosting.

Reply to "Is there a way to trigger extensions/RottenLinks/maintenance/updateExternalLinks.php automatically during the install process for users without shell access?"

Width of Special:RottenLinks

3
Summary by RhinosF1

Fixed

Jonathan3 (talkcontribs)

I imagine it's not a problem on wide screens, but on my screen I need to reduce the text size to tiny to get the table onto the screen.

I mightn't be possible to get a link URL to word wrap inside a table cell (I don't know) but maybe the URL could be displayed as plain text with separate shorter link text?

It's a great extension by the way.

RhinosF1 (talkcontribs)

Hey,

I’ve just spoke with the developers and we’ve fixed this in our latest update. You can find information on T3706.

Thanks,

Samuel/RhinosF1

Jonathan3 (talkcontribs)

This works well now, thanks. If anything, the displayed element of the URL could a bit be longer :-)

Facebook pages not found

4
Summary by RhinosF1

Fixed

Ulf Dunkel (talkcontribs)

The extension seems to not find existing Facebook profile pages, etc., because the extension has no access to an available Facebook account. Many Facebook pages aren't visible from the Web if you're not logged in to Facebook. Are there any chances that the RottenLinks extension can handle this issue better than just listing these URLs as "Not found"?

RhinosF1 (talkcontribs)

Hey,

I’ve mentioned this to our team for you.

- RhinosF1

RhinosF1 (talkcontribs)

Hi,

We believe this is due to the response code that Facebook returns. You would have to raise this with them but we are considering an optional blacklist to mitigate this.

- RhinosF1

RhinosF1 (talkcontribs)

We have just updated the extension to allow this.

Notice "Did not find alias..."

1
Summary by RhinosF1

Tracked elsewhere

Tenbergen (talkcontribs)

Updated to MW1.34 today and turned on debug for other reasons. When I now go to Special Pages, there is a notice that shows up twice, when I go to the actual "Status of external links" page it shows up 5 times:

Notice: Did not find alias for special page 'RottenLinks'. Perhaps no aliases are defined for it? [Called from MediaWiki\Special\SpecialPageFactory::getLocalNameFor in /home/xxx.ca/includes/specialpage/SpecialPageFactory.php at line 731] in /home/xxx.ca/includes/debug/MWDebug.php on line 333

It's just a notice, but it doesn't seem to serve a function in production, so flagging it.

I have created a task for it on the Miraheze Phabricator: https://phabricator.miraheze.org/T5194

Undefined function curl-init

2
Summary by AnonymusGdpr

Installed missing library php7.2-curl.

AnonymusGdpr (talkcontribs)
MediaWiki: 1.31.1
PHP: 7.2.10-0ubuntu0.18.04.1 (apache2handler)
curl: 7.58.0-2ubuntu3.5
RottenLinks: 1.0.4 (a048fa8) 10:03, 5. Nov. 2018

When running the updateExternalLinks.php, I receive the following error:

Dropping all existing recorded entries\n[816b450c873de1388fbf7841] [no req]   Error from line 6 of /var/www/test/mediawiki/extensions/RottenLinks/includes/RottenLinks.php: Call to undefined function curl_init()
Backtrace:
#0 /var/www/test/mediawiki/extensions/RottenLinks/maintenance/updateExternalLinks.php(34): RottenLinks::getResponse(string)
#1 /var/www/test/mediawiki/maintenance/doMaintenance.php(94): UpdateExternalLinks->execute()
#2 /var/www/test/mediawiki/extensions/RottenLinks/maintenance/updateExternalLinks.php(53): require_once(string)
#3 {main}

Any ideas what I am doing wrong?

AnonymusGdpr (talkcontribs)

php7.2-curl has been missing. Installed -> works now.

manifest 2 and support for MW 1.27

2
Summary by Kghbln

Yes, MW 1.27.x is supported with adapted "extension.json" file. See below and use at your own risk.

Kghbln (talkcontribs)

This makes the extension incompatible with MW 1.28 and lower. Are there other things what make the code incompatible with e.g. MW 1.27?

Kghbln (talkcontribs)

I have tested this extension on MW 1.27.5 and it works without issues. However you have to replace the content of the "extension.json" file with the following:

{
        "name": "RottenLinks",
        "version": "0.0.5",
        "author": "John Lewis",
        "descriptionmsg": "rottenlinks-desc",
        "license-name": "GPL-3.0-or-later",
        "url": "https://github.com/miraheze/RottenLinks",
        "type": "specialpage",
        "SpecialPages": {
                "RottenLinks": "SpecialRottenLinks"
        },
        "MessagesDirs": {
                "RottenLinks": [
                        "i18n"
                ]
        },
        "AutoloadClasses": {
                "RottenLinks": "includes/RottenLinks.php",
                "RottenLinksHooks": "includes/RottenLinksHooks.php",
                "RottenLinksPager": "includes/RottenLinksPager.php",
                "SpecialRottenLinks": "includes/SpecialRottenLinks.php"
        },
        "Hooks": {
                "LoadExtensionSchemaUpdates": [
                        "RottenLinksHooks::fnRottenLinksSchemaUpdates"
                ]
        },
        "config": {
                "RottenLinksBadCodes": [ "0", "400", "401", "403", "404", "405", "502", "503", "504" ],
                "RottenLinksCurlTimeout": 30,
                "RottenLinksExcludeProtocols": [ "tel", "mailto" ]
        },
        "manifest_version": 1
}

Special:RottenLinks doesn't show rotten links

5
Summary by Kghbln

Run "updateExternalLinks.php" provided with the extension every time you would like to create or update the list of rotten links.

Bryandamon (talkcontribs)

Great idea for an extension!

After installing, running the update script, and navigating to Special:RottenLinks, it only shows the table with "No results" even though I created a bad link (https://www.rottenestlinks.com) on the main page. Posting this here because I couldn't log into Miraheze Phabricator with my GitHub account and I don't have a Miraheze account. Any suggestions?

My Setup:

  • MediaWiki 1.31.1
  • PHP 7.2.10
  • MySQL 5.7.23
  • RottenLinks 1.0.1 (3a7b171)20:46, 16 October 2018
Debug log

[DBConnection] Wikimedia\Rdbms\LoadBalancer::openConnection: connected to database 0 at 'localhost'.

[DBQuery] wikidb BEGIN /* Wikimedia\Rdbms\Database::query (LCStoreDB::get) */

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'deps' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'list' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'preload' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'preload' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'specialPageAliases' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'namespaceGenderAliases' LIMIT 1

[error] [6b50895c18ed291af3293963] /mediawiki/index.php/Special:RottenLinks ErrorException from line 309 of /usr/share/mediawiki/includes/debug/MWDebug.php: PHP Notice: Did not find alias for special page 'RottenLinks'. Perhaps no aliases are defined for it? [Called from SpecialPageFactory::getLocalNameFor in /usr/share/mediawiki/includes/specialpage/SpecialPageFactory.php at line 683]

[error] [6b50895c18ed291af3293963] /mediawiki/index.php/Special:RottenLinks ErrorException from line 309 of /usr/share/mediawiki/includes/debug/MWDebug.php: PHP Notice: Did not find alias for special page 'RottenLinks'. Perhaps no aliases are defined for it? [Called from SpecialPageFactory::getLocalNameFor in /usr/share/mediawiki/includes/specialpage/SpecialPageFactory.php at line 683]

User: loading options for user 1 from override cache.

[MessageCache] MessageCache::load: Loading en... local cache is empty, got from global cache

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:rottenlinks' LIMIT 1

Unstubbing $wgParser on call of $wgParser::firstCallInit from MessageCache->transform

Parser: using preprocessor: Preprocessor_DOM

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'magicWords' LIMIT 1

Unstubbing $wgLang on call of $wgLang::_unstub from ParserOptions->__construct

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:rottenlinks-summary' LIMIT 1

ContextSource::getContext (RottenLinksPager): called and $context is null. Using RequestContext::getMain() for sanity

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:rottenlinks-table-external' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:rottenlinks-table-response' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:rottenlinks-table-usage' LIMIT 1

[DBQuery] wikidb SELECT /* IndexPager::buildQueryInfo (RottenLinksPager) */ rl_externallink,rl_respcode,rl_pageusage FROM `rottenlinks` ORDER BY rl_externallink LIMIT 51

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:sort-descending' LIMIT 1

[error] [6b50895c18ed291af3293963] /mediawiki/index.php/Special:RottenLinks ErrorException from line 309 of /usr/share/mediawiki/includes/debug/MWDebug.php: PHP Notice: Did not find alias for special page 'RottenLinks'. Perhaps no aliases are defined for it? [Called from SpecialPageFactory::getLocalNameFor in /usr/share/mediawiki/includes/specialpage/SpecialPageFactory.php at line 683]

[error] [6b50895c18ed291af3293963] /mediawiki/index.php/Special:RottenLinks ErrorException from line 309 of /usr/share/mediawiki/includes/debug/MWDebug.php: PHP Notice: Did not find alias for special page 'RottenLinks'. Perhaps no aliases are defined for it? [Called from SpecialPageFactory::getLocalNameFor in /usr/share/mediawiki/includes/specialpage/SpecialPageFactory.php at line 683]

[error] [6b50895c18ed291af3293963] /mediawiki/index.php/Special:RottenLinks ErrorException from line 309 of /usr/share/mediawiki/includes/debug/MWDebug.php: PHP Notice: Did not find alias for special page 'RottenLinks'. Perhaps no aliases are defined for it? [Called from SpecialPageFactory::getLocalNameFor in /usr/share/mediawiki/includes/specialpage/SpecialPageFactory.php at line 683]

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:table_pager_empty' LIMIT 1

MediaWiki::preOutputCommit: primary transaction round committed

MediaWiki::preOutputCommit: pre-send deferred updates completed

MediaWiki::preOutputCommit: LBFactory shutdown completed

[DBQuery] wikidb SELECT /* LinkBatch::doQuery (for Skin::preloadExistence) */ page_id,page_len,page_is_redirect,page_latest,page_content_model,page_namespace,page_title FROM `page` WHERE (page_namespace = '2' AND page_title = 'Bryan_Hilderbrand') OR (page_namespace = '3' AND page_title = 'Bryan_Hilderbrand') OR (page_namespace = '4' AND page_title IN ('Privacy_policy','About','General_disclaimer') )

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'rtl' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'capitalizeAllNouns' LIMIT 1

[DBQuery] wikidb SELECT /* User::checkNewtalk */ user_id FROM `user_newtalk` WHERE user_id = '1' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'linkPrefixExtension' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:mytalk' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:mypreferences' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:mywatchlist' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:mycontris' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:pt-userlogout' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:nstab-special' LIMIT 1

[DBQuery] wikidb SELECT /* User::idFromName */ user_id FROM `user` WHERE user_name = 'Bryan Hilderbrand' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'separatorTransformTable' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'digitTransformTable' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'defaultDateFormat' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:january' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:february' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:march' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:april' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:may_long' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:june' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:july' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:august' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:september' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:october' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:november' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:december' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:jan' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:feb' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:mar' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:apr' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:may' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:jun' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:jul' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:aug' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:sep' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:oct' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:nov' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:dec' LIMIT 1

[DBQuery] wikidb SELECT /* ResourceLoaderWikiModule::getTitleInfo */ page_namespace,page_title,page_touched,page_len,page_latest FROM `page` WHERE (page_namespace = '8' AND page_title IN ('Common.js','Vector.js') )

User: loading options for user 1 from override cache.

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-pt-userpage' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:accesskey-pt-userpage' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-pt-mytalk' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:red-link-title' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:accesskey-pt-mytalk' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-pt-preferences' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:accesskey-pt-preferences' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-pt-watchlist' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:accesskey-pt-watchlist' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-pt-mycontris' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:accesskey-pt-mycontris' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-pt-logout' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:accesskey-pt-logout' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-ca-nstab-special' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:accesskey-ca-nstab-special' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:vector-more-actions' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-p-navigation' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-p-tb' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:upload' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:tooltip-t-upload' LIMIT 1

[DBQuery] wikidb SELECT /* LCStoreDB::get */ lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:accesskey-t-upload' LIMIT 1

[gitinfo] Computed cacheFile=/usr/share/mediawiki/gitinfo.json for /usr/share/mediawiki

[gitinfo] Cache incomplete for /usr/share/mediawiki

MacFan4000 (talkcontribs)

Try running extensions/RottenLinks/updateExternalLinks.php

Bryandamon (talkcontribs)

That was it, thanks!

Bryandamon (talkcontribs)

After updateExternalLinks.php is run once, will the extension continue to update or is this needed every time (or create a cron job)?

MacFan4000 (talkcontribs)

It is needed every time (or cron)

Kghbln (talkcontribs)

This extension provides real usefulness. Thanks a lot for creating it.

I immediately installed it and also created some improvement tasks.

Bryandamon (talkcontribs)

The extension page says, "The RottenLinks provides two special pages Special:RottenLinks, which provides a table of all external links on your wiki pages, and tells you their status."

Is there another Special page other than Special:RottenLinks or should it be updated to remove the "two"?

There are no older topics