Code Monkey home page Code Monkey logo

subpagelist's Introduction

SubPageList

SubPageList is a MediaWiki extension to display lists of subpages.

Features:

  • Adds a subpages parser hook that you can use to list subpages.
  • Supports various parameters that enable you to customize the subpage list both in content and in layout.
  • Backward compatible with the SubPageList3 extension.
  • Adds a subpagecount parser hook for counting the number of subpages.
  • Fully tested codebase (which minimizes the chance of regressions in the future).
  • Flexible internal API that allows developers to easily add in new behavior.

View the release notes for recent changes to SubPageList.

User manual

Professional support and custom development is available via Professional.Wiki.

Project status

On Packagist: Latest Stable Version Download count

Further links

subpagelist's People

Contributors

atdt avatar bootc avatar emanspeaks avatar ernstki avatar it-spiderman avatar jeroendedauw avatar k8n avatar kghbln avatar lukbukkit avatar nemobis avatar nikerabbit avatar nikitarana07 avatar reedy avatar shirayuki avatar siebrand avatar translatewiki avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

subpagelist's Issues

limit done before sort

I store meeting minutes in the format Group/Minutes/20YY-MM-DD

I use sort=desc|limit=5 to get the 5 LATEST minute notes.

In the past, this worked just fine, but after an upgrade, this shows the FIRST 5 minutes, not the LAST 5 minutes.

It seems that the limit to 5 is done before the sort as the 5 minutes displayed are properly sorted descending.

You can see the problem in action here: http://wiki.spdx.org/view/General_Meeting/Latest_Minutes

Compatibility with MediaWiki 1.35

Setup

  • MediaWiki version: 1.35.10 (BlueSpice 4.2)
  • PHP version: 8.0.27
  • Database and version (MySQL etc.): mariadb 15.1
  • SubPageList version: 2.1.0

Issue

It is said that SubPageList is compatible with MediaWiki 1.35 (https://github.com/ProfessionalWiki/SubPageList/blob/master/doc/INSTALL.md#platform-compatibility-and-release-status), but is calling a method introduced in MediaWiki 1.36: https://doc.wikimedia.org/mediawiki-core/master/php/classMediaWiki_1_1MediaWikiServices.html#af9ff69eed7556f70aa2d2b2aee7574ef

Detailed description of the issue and a stack trace if applicable:

MediaWiki internal error.

Original exception: [ZHt27uQZeQokWBLn3SM9SAAAAIs] /bluespice/index.php?title=Namespace:Page Error from line 46 of /var/www/html/bluespice/extensions/SubPageList/src/Lister/UI/HierarchyRendererFactory.php: Call to undefined method MediaWiki\MediaWikiServices::getPageProps()
Backtrace:
#0 /var/www/html/bluespice/extensions/SubPageList/src/Lister/UI/HierarchyRendererFactory.php(39): SubPageList\Lister\UI\HierarchyRendererFactory->newPageRenderer()
#1 /var/www/html/bluespice/extensions/SubPageList/src/Lister/UI/WikitextSubPageListRenderer.php(61): SubPageList\Lister\UI\HierarchyRendererFactory->newTreeListRenderer()
#2 /var/www/html/bluespice/extensions/SubPageList/src/Lister/UI/WikitextSubPageListRenderer.php(42): SubPageList\Lister\UI\WikitextSubPageListRenderer->addPageHierarchy()
#3 /var/www/html/bluespice/extensions/SubPageList/src/Lister/SubPageList.php(125): SubPageList\Lister\UI\WikitextSubPageListRenderer->render()
#4 /var/www/html/bluespice/extensions/SubPageList/src/Lister/SubPageList.php(87): SubPageList\Lister\SubPageList->getRenderedList()
#5 /var/www/html/bluespice/extensions/SubPageList/src/Lister/SubPageList.php(59): SubPageList\Lister\SubPageList->renderForTitle()
#6 /var/www/html/bluespice/vendor/mediawiki/parser-hooks/src/FunctionRunner.php(48): SubPageList\Lister\SubPageList->handle()
#7 /var/www/html/bluespice/vendor/mediawiki/parser-hooks/src/HookRegistrant.php(45): ParserHooks\FunctionRunner->run()
#8 /var/www/html/bluespice/includes/parser/Parser.php(3341): ParserHooks\HookRegistrant->ParserHooks\{closure}()
#9 /var/www/html/bluespice/includes/parser/Parser.php(3048): Parser->callParserFunction()
#10 /var/www/html/bluespice/includes/parser/PPFrame_Hash.php(263): Parser->braceSubstitution()
#11 /var/www/html/bluespice/includes/parser/Parser.php(2888): PPFrame_Hash->expand()
#12 /var/www/html/bluespice/includes/parser/Parser.php(1557): Parser->replaceVariables()
#13 /var/www/html/bluespice/includes/parser/Parser.php(652): Parser->internalParse()
#14 /var/www/html/bluespice/includes/content/WikitextContent.php(374): Parser->parse()
#15 /var/www/html/bluespice/includes/content/AbstractContent.php(590): WikitextContent->fillParserOutput()
#16 /var/www/html/bluespice/includes/Revision/RenderedRevision.php(263): AbstractContent->getParserOutput()
#17 /var/www/html/bluespice/includes/Revision/RenderedRevision.php(235): MediaWiki\Revision\RenderedRevision->getSlotParserOutputUncached()
#18 /var/www/html/bluespice/includes/Revision/RevisionRenderer.php(215): MediaWiki\Revision\RenderedRevision->getSlotParserOutput()
#19 /var/www/html/bluespice/includes/Revision/RevisionRenderer.php(152): MediaWiki\Revision\RevisionRenderer->combineSlotOutput()
#20 [internal function]: MediaWiki\Revision\RevisionRenderer->MediaWiki\Revision\{closure}()
#21 /var/www/html/bluespice/includes/Revision/RenderedRevision.php(197): call_user_func()
#22 /var/www/html/bluespice/includes/poolcounter/PoolWorkArticleView.php(216): MediaWiki\Revision\RenderedRevision->getRevisionParserOutput()
#23 /var/www/html/bluespice/includes/poolcounter/PoolCounterWork.php(162): PoolWorkArticleView->doWork()
#24 /var/www/html/bluespice/includes/page/Article.php(810): PoolCounterWork->execute()
#25 /var/www/html/bluespice/includes/actions/ViewAction.php(80): Article->view()
#26 /var/www/html/bluespice/includes/MediaWiki.php(531): ViewAction->show()
#27 /var/www/html/bluespice/includes/MediaWiki.php(313): MediaWiki->performAction()
#28 /var/www/html/bluespice/includes/MediaWiki.php(947): MediaWiki->performRequest()
#29 /var/www/html/bluespice/includes/MediaWiki.php(547): MediaWiki->main()
#30 /var/www/html/bluespice/index.php(53): MediaWiki->run()
#31 /var/www/html/bluespice/index.php(46): wfIndexMain()
#32 {main}

Exception caught inside exception handler: [ZHt27uQZeQokWBLn3SM9SAAAAIs] /bluespice/index.php?title=Namespace:Page Error from line 46 of /var/www/html/bluespice/extensions/SubPageList/src/Lister/UI/HierarchyRendererFactory.php: Call to undefined method MediaWiki\MediaWikiServices::getPageProps()
Backtrace:
#0 /var/www/html/bluespice/extensions/SubPageList/src/Lister/UI/HierarchyRendererFactory.php(39): SubPageList\Lister\UI\HierarchyRendererFactory->newPageRenderer()
#1 /var/www/html/bluespice/extensions/SubPageList/src/Lister/UI/WikitextSubPageListRenderer.php(61): SubPageList\Lister\UI\HierarchyRendererFactory->newTreeListRenderer()
#2 /var/www/html/bluespice/extensions/SubPageList/src/Lister/UI/WikitextSubPageListRenderer.php(42): SubPageList\Lister\UI\WikitextSubPageListRenderer->addPageHierarchy()
#3 /var/www/html/bluespice/extensions/SubPageList/src/Lister/SubPageList.php(125): SubPageList\Lister\UI\WikitextSubPageListRenderer->render()
#4 /var/www/html/bluespice/extensions/SubPageList/src/Lister/SubPageList.php(87): SubPageList\Lister\SubPageList->getRenderedList()
#5 /var/www/html/bluespice/extensions/SubPageList/src/Lister/SubPageList.php(59): SubPageList\Lister\SubPageList->renderForTitle()
#6 /var/www/html/bluespice/vendor/mediawiki/parser-hooks/src/FunctionRunner.php(48): SubPageList\Lister\SubPageList->handle()
#7 /var/www/html/bluespice/vendor/mediawiki/parser-hooks/src/HookRegistrant.php(45): ParserHooks\FunctionRunner->run()
#8 /var/www/html/bluespice/includes/parser/Parser.php(3341): ParserHooks\HookRegistrant->ParserHooks\{closure}()
#9 /var/www/html/bluespice/includes/parser/Parser.php(3048): Parser->callParserFunction()
#10 /var/www/html/bluespice/includes/parser/PPFrame_Hash.php(263): Parser->braceSubstitution()
#11 /var/www/html/bluespice/includes/parser/Parser.php(2888): PPFrame_Hash->expand()
#12 /var/www/html/bluespice/includes/parser/Parser.php(928): Parser->replaceVariables()
#13 /var/www/html/bluespice/extensions/BlueSpiceFoundation/includes/utility/PageContentProvider.class.php(162): Parser->preprocess()
#14 /var/www/html/bluespice/extensions/BlueSpiceFoundation/includes/utility/PageContentProvider.class.php(429): BsPageContentProvider->getContentFromRevision()
#15 /var/www/html/bluespice/extensions/BlueSpiceFoundation/includes/utility/PageContentProvider.class.php(401): BsPageContentProvider->getWikiTextContentForArticle()
#16 /var/www/html/bluespice/extensions/BlueSpiceBookshelf/src/PageHierarchyProviderFactory.php(54): BsPageContentProvider->getWikiTextContentFor()
#17 /var/www/html/bluespice/extensions/BlueSpiceBookshelf/includes/PageHierarchyProvider.php(92): BlueSpice\Bookshelf\PageHierarchyProviderFactory->getInstanceForArticle()
#18 /var/www/html/bluespice/extensions/BlueSpiceUEModuleBookPDF/src/ExportDialogPluginBook.php(97): PageHierarchyProvider::getInstanceForArticle()
#19 /var/www/html/bluespice/extensions/BlueSpiceUniversalExport/src/ExportDialogButtonComponent.php(63): BlueSpice\UEModuleBookPDF\ExportDialogPluginBook->skip()
#20 /var/www/html/bluespice/vendor/mwstake/mediawiki-component-commonuserinterface/src/ComponentFilter/DefaultFilter.php(13): BlueSpice\UniversalExport\ExportDialogButtonComponent->shouldRender()
#21 /var/www/html/bluespice/vendor/mwstake/mediawiki-component-commonuserinterface/src/ComponentManager.php(225): MWStake\MediaWiki\Component\CommonUserInterface\ComponentFilter\DefaultFilter->shouldRender()
#22 /var/www/html/bluespice/vendor/mwstake/mediawiki-component-commonuserinterface/src/ComponentManager.php(186): MWStake\MediaWiki\Component\CommonUserInterface\ComponentManager->processComponent()
#23 /var/www/html/bluespice/vendor/mwstake/mediawiki-component-commonuserinterface/src/ComponentManager.php(120): MWStake\MediaWiki\Component\CommonUserInterface\ComponentManager->init()
#24 /var/www/html/bluespice/vendor/mwstake/mediawiki-component-commonuserinterface/includes/ServiceWiring.php(31): MWStake\MediaWiki\Component\CommonUserInterface\ComponentManager::singleton()
#25 /var/www/html/bluespice/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer->{closure}()
#26 /var/www/html/bluespice/vendor/wikimedia/services/src/ServiceContainer.php(416): Wikimedia\Services\ServiceContainer->createService()
#27 /var/www/html/bluespice/vendor/mwstake/mediawiki-component-commonuserinterface/src/Setup.php(56): Wikimedia\Services\ServiceContainer->getService()
#28 /var/www/html/bluespice/includes/HookContainer/HookContainer.php(329): MWStake\MediaWiki\Component\CommonUserInterface\Setup::onBeforePageDisplay()
#29 /var/www/html/bluespice/includes/HookContainer/HookContainer.php(132): MediaWiki\HookContainer\HookContainer->callLegacyHook()
#30 /var/www/html/bluespice/includes/HookContainer/HookRunner.php(991): MediaWiki\HookContainer\HookContainer->run()
#31 /var/www/html/bluespice/includes/OutputPage.php(2619): MediaWiki\HookContainer\HookRunner->onBeforePageDisplay()
#32 /var/www/html/bluespice/includes/exception/MWExceptionRenderer.php(153): OutputPage->output()
#33 /var/www/html/bluespice/includes/exception/MWExceptionRenderer.php(65): MWExceptionRenderer::reportHTML()
#34 /var/www/html/bluespice/includes/exception/MWExceptionHandler.php(106): MWExceptionRenderer::output()
#35 /var/www/html/bluespice/includes/exception/MWExceptionHandler.php(185): MWExceptionHandler::report()
#36 /var/www/html/bluespice/includes/MediaWiki.php(583): MWExceptionHandler::handleException()
#37 /var/www/html/bluespice/index.php(53): MediaWiki->run()
#38 /var/www/html/bluespice/index.php(46): wfIndexMain()
#39 {main}

Steps to reproduce the observation on a public wiki if possible:

Install on 1.35.10 and insert {{#subpages: }} to a page.

Add support for MWs new extension registration

This needs to be done in such a way the extension still works with older versions of MW (down to MW 1.23) and continues to work via Composer in the way existing users expect it to.

Some of the features of the extension registration should also not be used:

  • Hooks
  • autoloading
  • SpecialPages, Actions, JobClasses, APIModules

The goal is to get the benefits of the new system, not migrating as much to it as possible.

This one is up for the taking. Help with it is much appreciated.

nested subpages

Hi,

I'm trying to get this extension to work with nested subpages and it's not doing what I expect.

Say there's pages A/B1/C1, A/B1/C2, A/B1/C2, A/B2/C2.

Then on page A/B1 if I do {{#subpages:kidsonly=yes}} then it shows only a link to A/B1. I expected it to show links to A/B1/C1 and A/B1/C2.

{{#subpages:showpage=yes|kidsonly=yes}} on the same page shows links to A and A/B1. I expected it to show links to A/B1, A/B1/C1 and A/B1/C2.

Is it getting confused between the parent of the tree and the current page, or just my expectations are not right?

What I'd really like to do is say on page A/B1, explicitly put something like {{#subpages:page=A/B1/C1|intro="Something about C1|kidsonly=yes}} and have even more levels of subpages under A/B1/C1/D1 etc. Then have it display just the kids and nothing about the parents or current page.

Using MW 1.19.1 and subpagelist 1.1.1.

Thanks,
Daniel.

template parameter does not work correctly

Using MW 1.25.1, I cannot seem to get the template parameter to work. Here are some examples using "Test Page", "Test Page/Subpage {1|2|3}", and "Template:Subpage list template" with the definition: "There is a subpage named {{{1}}}".

Works

Using parser function with defaults: {{#subpages:}}

  • Subpage 1
  • Subpage 2
  • Subpage 3

Using parser function with pathstyle=full: {{#subpages:pathstyle=full}}

  • Test Page/Subpage 1
  • Test Page/Subpage 2
  • Test Page/Subpage 3

Manually invoking template in a hand-built list:

* {{Subpage list template|Test Page/Subpage 1}}
* {{Subpage list template|Test Page/Subpage 2}}
* {{Subpage list template|Test Page/Subpage 3}}

  • There is a subpage named Test Page/Subpage 1
  • There is a subpage named Test Page/Subpage 2
  • There is a subpage named Test Page/Subpage 3

Fails

Using parser function with the template parameter: {{#subpages:template=Subpage list template}}

  • {{Subpage list template|Test Page/Subpage 1}}
  • {{Subpage list template|Test Page/Subpage 2}}
  • {{Subpage list template|Test Page/Subpage 3}}

It appears that the list is generated correctly, but the resulting output is not passed through the template renderer. This is apparently in part because FunctionRunner has no access to the Parser instance so cannot render the resulting text. Not sure.

Using tag mode with template parameter: <subpages template="My template"/>

<div class="subpagelist">
<ul><li> </li></ul>
<p>There is a subpage named Test Page/Subpage 1
</p>
<ul><li> </li></ul>
<p>There is a subpage named Test Page/Subpage 2
</p>
<ul><li> </li></ul>
<p>There is a subpage named Test Page/Subpage 3
</p>
</div>

HookRunner calls Parser->recursiveTagParse(), but the expansion is messed up. The content doesn't get put into the list item, but outside, and each item becomes a separate list. It appears that each list item is resolved into complete HTML as a separate list rather than waiting until all the items are combined to render into a list.

Some subpages do not appear

Setup

  • MediaWiki version: 1.32.0
  • PHP version: 7.3.4 (fpm-fcgi)
  • Database and version (MySQL etc.): MySQL 5.7.31-log
  • SubPageList version: 1.6.1

Issue

I have several sub-pages :

MyNamespace:Landing
MyNamespace:Landing/Applications
MyNamespace:Landing/Données
MyNamespace:Landing/Méthodes
MyNamespace:Landing/Opérationnel
MyNamespace:Landing/Outillage
MyNamespace:Landing/Serveurs
MyNamespace:Landing/Technique
MyNamespace:Landing/Traçabilité

When I use this code :

= Liste des sections =
{{#subpages:kidsonly=yes|default=''}}

Here is what I obtain :
image

I cleared the cache, restarted PHP-FPM, restarted MySQL, tried several tricks, but no success.

Is there a log file for the extension ?

MediaWiki 1.39 compatibility

Setup

  • MediaWiki version: 1.39.0
  • PHP version: 7.4.33
  • Database and version (MySQL etc.): 10.3.34-MariaDB
  • SubPageList version: 2.0.1-1-g350143a1f1ec (current master)

Issue

wfGetLB() has been removed in MediaWiki 1.39.

Error: Call to undefined function SubPageList\wfGetLB()

Backtrace:

from /var/lib/mediawiki/extensions/SubPageList/src/LazyDBConnectionProvider.php(62)
#0 /var/lib/mediawiki/extensions/SubPageList/src/Lister/SimpleSubPageFinder.php(169): SubPageList\LazyDBConnectionProvider->getConnection()
#1 /var/lib/mediawiki/extensions/SubPageList/src/Counter/SubPageCount.php(57): SubPageList\Lister\SimpleSubPageFinder->countSubPages()
#2 /var/lib/mediawiki/extensions/SubPageList/src/Counter/SubPageCount.php(44): SubPageList\Counter\SubPageCount->getSubPageCount()
#3 /var/lib/mediawiki/vendor/mediawiki/parser-hooks/src/FunctionRunner.php(48): SubPageList\Counter\SubPageCount->handle()
#4 /var/lib/mediawiki/vendor/mediawiki/parser-hooks/src/HookRegistrant.php(45): ParserHooks\FunctionRunner->run()
#5 /var/lib/mediawiki/includes/parser/Parser.php(3442): ParserHooks\HookRegistrant->ParserHooks\{closure}()
#6 /var/lib/mediawiki/includes/parser/Parser.php(3125): Parser->callParserFunction()
#7 /var/lib/mediawiki/includes/parser/PPFrame_Hash.php(276): Parser->braceSubstitution()
#8 /var/lib/mediawiki/includes/parser/Parser.php(3033): PPFrame_Hash->expand()
#9 /var/lib/mediawiki/includes/parser/PPFrame_Hash.php(276): Parser->braceSubstitution()
#10 /var/lib/mediawiki/includes/parser/PPTemplateFrame_Hash.php(97): PPFrame_Hash->expand()
#11 /var/lib/mediawiki/includes/parser/Parser.php(3313): PPTemplateFrame_Hash->cachedExpand()
#12 /var/lib/mediawiki/includes/parser/PPFrame_Hash.php(276): Parser->braceSubstitution()
#13 /var/lib/mediawiki/includes/parser/Parser.php(2954): PPFrame_Hash->expand()
#14 /var/lib/mediawiki/includes/parser/Parser.php(1609): Parser->replaceVariables()
#15 /var/lib/mediawiki/includes/parser/Parser.php(723): Parser->internalParse()
#16 /var/lib/mediawiki/includes/content/WikitextContentHandler.php(301): Parser->parse()
#17 /var/lib/mediawiki/includes/content/ContentHandler.php(1721): WikitextContentHandler->fillParserOutput()
#18 /var/lib/mediawiki/includes/content/Renderer/ContentRenderer.php(47): ContentHandler->getParserOutput()
#19 /var/lib/mediawiki/includes/Revision/RenderedRevision.php(266): MediaWiki\Content\Renderer\ContentRenderer->getParserOutput()
#20 /var/lib/mediawiki/includes/Revision/RenderedRevision.php(237): MediaWiki\Revision\RenderedRevision->getSlotParserOutputUncached()
#21 /var/lib/mediawiki/includes/Revision/RevisionRenderer.php(221): MediaWiki\Revision\RenderedRevision->getSlotParserOutput()
#22 /var/lib/mediawiki/includes/Revision/RevisionRenderer.php(158): MediaWiki\Revision\RevisionRenderer->combineSlotOutput()
#23 [internal function]: MediaWiki\Revision\RevisionRenderer->MediaWiki\Revision\{closure}()
#24 /var/lib/mediawiki/includes/Revision/RenderedRevision.php(199): call_user_func()
#25 /var/lib/mediawiki/includes/poolcounter/PoolWorkArticleView.php(91): MediaWiki\Revision\RenderedRevision->getRevisionParserOutput()
#26 /var/lib/mediawiki/includes/poolcounter/PoolWorkArticleViewCurrent.php(97): PoolWorkArticleView->renderRevision()
#27 /var/lib/mediawiki/includes/poolcounter/PoolCounterWork.php(162): PoolWorkArticleViewCurrent->doWork()
#28 /var/lib/mediawiki/includes/page/ParserOutputAccess.php(299): PoolCounterWork->execute()
#29 /var/lib/mediawiki/includes/page/WikiPage.php(1291): MediaWiki\Page\ParserOutputAccess->getParserOutput()
#30 /var/lib/mediawiki/includes/page/Article.php(1986): WikiPage->getParserOutput()
#31 /var/lib/mediawiki/extensions/MyVariables/src/Hooks/DisableCache.php(19): Article->getParserOutput()
#32 /var/lib/mediawiki/includes/HookContainer/HookContainer.php(160): MediaWiki\Extension\MyVariables\Hooks\DisableCache->onArticleViewHeader()
#33 /var/lib/mediawiki/includes/HookContainer/HookRunner.php(854): MediaWiki\HookContainer\HookContainer->run()
#34 /var/lib/mediawiki/includes/page/Article.php(590): MediaWiki\HookContainer\HookRunner->onArticleViewHeader()
#35 /var/lib/mediawiki/includes/page/Article.php(528): Article->generateContentOutput()
#36 /var/lib/mediawiki/includes/actions/ViewAction.php(78): Article->view()
#37 /var/lib/mediawiki/includes/MediaWiki.php(542): ViewAction->show()
#38 /var/lib/mediawiki/includes/MediaWiki.php(322): MediaWiki->performAction()
#39 /var/lib/mediawiki/includes/MediaWiki.php(904): MediaWiki->performRequest()
#40 /var/lib/mediawiki/includes/MediaWiki.php(562): MediaWiki->main()
#41 /var/lib/mediawiki/index.php(50): MediaWiki->run()
#42 /var/lib/mediawiki/index.php(46): wfIndexMain()
#43 {main}

Composer gives errors when trying to install this extension

Setup

  • MediaWiki version:1.35.1
  • PHP version:7.4.0
  • Database and version (MySQL etc.): MariaDB Version: 10.4.10
  • Composer version: 2.0.9 2021-01-27 16:09:27
  • SubPageList version:

Issue

Composer gives errors when trying to install this extension. See screenshot:
composer error

Do I need to install an older version of composer?

SubPageList requires ParserHooks

Setup

  • MediaWiki version: 1.35.7
  • PHP version: 7.4.3
  • Database and version (MySQL etc.): MySQL 8.0.29-0ubuntu0.20.04.3
  • SubPageList version: 2.0

Issue

Hi,
if enable the SubPageList with wfLoadExtension( 'SubPageList' ); it not works and I see on MediaWiki the follow error:

Backtrace

PHP Fatal error:  Uncaught ExtensionDependencyError: SubPageList requires ParserHooks to be installed.
 in /../w/includes/registration/ExtensionRegistry.php:435
Stack trace:
#0 /../w/includes/registration/ExtensionRegistry.php(258): ExtensionRegistry->readFromQueue(Array)
#1 /../w/includes/Setup.php(161): ExtensionRegistry->loadFromQueue()
#2 /../w/maintenance/doMaintenance.php(91): require_once('/var/www/htdocs...')
#3 /../w/maintenance/runJobs.php(129): require_once('/var/www/htdocs...')
#4 {main}
  thrown in /../w/includes/registration/ExtensionRegistry.php on line 435

But looking on "Special:Version" page of MediaWiki I see the ParserHooks is installed and the version is 1.6.1.
Thanks for the support!

Startdepth and enddepth option

Setup

  • MediaWiki version: 1.32.0
  • PHP version: 7.3.4
  • Database and version (MySQL etc.): MySQL 5.7.30
  • SubPageList version: 1.6.1

Improvement

It would nicer if we have the possibility to choose the starting depth and the ending depth.

For example, I have this :
image

I don't want to see all the things under the "716" section.
Also, I don't want to see the "Camping-car" and the "Chausson" section.
I just want to see the "716" (and the others who will be added, 718, 712 etc...)

SubPageList does not work with cedilla

Setup

  • MediaWiki version: 1.32.0
  • PHP version: 7.3.4
  • Database and version (MySQL etc.): MySQL 5.7.30
  • SubPageList version: 1.6.1

Issue

When a subpage contains a "c" character with a cedilla "ç", the subpage is not listed.

Steps to reproduce the observation

Create a subpage with the "Traçabilité" name.

PHP logs no errors, there is no stack trace.

Install SubPageList without Composer

Setup

  • MediaWiki version: 1.26
  • PHP version: 5.6

Issue

Hello there! I was using SubPageList3 for the longest time, but now want to upgrade to your new SubPageList version. However, I do not have shell access to my hosting server. I can only upload files via FTP and access via Web. How can I install your extension then? I found the description for using Composer, but I can't seem to use that as it would require me to start some commands from the shell, which I can't. Would love to download the files and put them in the right folder myself, if possible, please advise! Thanks a lot in advance.

Remove ArticleInsertComplete code

Setup

  • MediaWiki version: 1.29+
  • PHP version: 7+1+
  • Database and version (MySQL etc.):
  • SubPageList version: 2.0.0

Issue

The ArticleInsertComplete hook was removed in MediaWiki 1.29.0. The code still has this artifact included.

Not sure if it is a bug.

Support for redirected pages

Got a complaint from a user that SubPageList does not show sub-pages that redirect to other pages and asked me to install https://www.mediawiki.org/wiki/Extension:ExpensiveSubpageList because that supposedly can do that. In my desperation I grepped the sources (I don't know sh## about PHP) and replaced the line
self::OPT_INCLUDE_REDIRECTS => false,
in SimpleSubPageFinder.phpwith
self::OPT_INCLUDE_REDIRECTS => true,
and now redirect pages are shown.

Is there a way to set this properly (tried |redirects=yesand similar things but didn't work) which isn't documented or is the option not implemented ... yet. In which case it would be nice if it was

Add GitHub Actions

Tasks:

  • Remove TravisCI files
  • Add GitHub actions setup, similar to how WB RDF does it
  • Tests run with PHP 7.3 - 8.1+ (versions that are not compatible can be dropped)
  • Tests run with MediaWiki 35 - 39+ (versions that are not compatible can be dropped)

How to install by FTP?

If you have only ftp access, how to install? Composer will check my mediawiki version? (I using last one)

Installation problem

Setup

  • MediaWiki version: 1.29.1
  • PHP version: 5.6.31 (cgi-fcgi)
  • Database and version (MySQL etc.): 5.1.73-community
  • SubPageList version: 1.5.x

Issue

Placed the folder SubPageList under Mediawiki\extensions.
Ran composer install inside the folder.
Going back to Mediawiki folder and run :
composer require mediawiki/sub-page-list "~1.5"

Getting this :

C:\inetpub\wwwroot\MediaWiki>composer require mediawiki/sub-page-list "~1.5"
./composer.json has been updated
> ComposerHookHandler::onPreUpdate
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - The requested package justinrainbow/json-schema (installed at 5.2.0, requi
red as ~3.0) is satisfiable by justinrainbow/json-schema[5.2.0] but these confli
ct with your requirements or minimum-stability.


Installation failed, reverting ./composer.json to its original content.

First time installing an extension using composer so basic steps would be appreciated.

Thanks !

Charles :)

SubPageList confused by what the page is, kidsonly=no required

We recently upgraded MediaWiki and SubPageList. Unfortunately I don't know if from 1.0 or from an earlier release.

Suddenly, our #subpages page would no longer list any subpages. The workaround is kidsonly=no.

Investigating a bit, it seems SubPageList gets confused by what the page actually is.

At http://wiki.spdx.org/index.php?title=General_Meeting/Minutes
we have:
{{#subpages:|format=ul|kidsonly=no|pathstyle=none|sort=desc}}
and it displays;

  • Minutes
    • 2014-06-05
    • 2014-05-01

Why is "Minutes" displayed? It's not a subpage - it's the page itself? I'm pretty sure this was not displayed in the past.

Does this explain why kidsonly=no is required? kidsonly=yes will only show "Minutes" and nothing else, but surely the kids of the current page (General_Meeting/Minutes is everything under General_Meeting/Minutes/*)

Note that showpage is not set. In fact, setting showpage=yes makes no difference.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.