Module:ExtensionJson

return { ["3DAlloy"]={ name="3DAlloy", author="Dolfinus", url="https://www.mediawiki.org/wiki/Extension:3DAlloy", description="This extension provides a 3D viewer for JSON/Buff files", version="1.2", ["license-name"]="MIT", type="media", ExtensionMessagesFiles={ ThreeDimentionAlloy="3DAlloy_magic.i18n.php", }, MediaHandlers={ ["application/json"]="ThreeDimentionAlloy", ["application/obj"]="ThreeDimentionAlloy", ["application/stl"]="ThreeDimentionAlloy", }, Hooks={ ParserMakeImageParams={ "ThreeDimentionAlloy::onParserMakeImageParams",}, ParserFirstCallInit={ "ThreeDimentionAlloy::onParserFirstCallInit",}, ImageBeforeProduceHTML={ "ThreeDimentionAlloy::onImageBeforeProduceHTML",}, ImageOpenShowImageInlineBefore={ "ThreeDimentionAlloy::onImageOpenShowImageInlineBefore",}, BeforePageDisplay={ "ThreeDimentionAlloy::onBeforePageDisplay",}, BeforePageDisplayMobile={ "ThreeDimentionAlloy::onBeforePageDisplay",}, MimeMagicInit={ "ThreeDimentionAlloy::onMimeMagicInit",}, }, repository="https://github.com/dolfinus/3DAlloy.git", }, ["3DAlloyNewTag"]={ name="3DAlloy New Tag", author="Solène", version="1.0.0", url="https://www.mediawiki.org/wiki/Extension:3DAlloyNewTag", descriptionmsg="Check Page Title", ["license-name"]="GPL-2.0+", type="parserhook", ExtensionMessagesFiles={ ThreeDAlloyNewTag="ThreeDAlloyNewTag.i18n.php", }, Hooks={ ParserFirstCallInit={ "ThreeDAlloyNewTag\\ThreeDAlloyNewTagParser::onParserSetup",}, LinkerMakeMediaLinkFile={ "ThreeDAlloyNewTag\\ThreeDAlloyNewTagParser::onLinkerMakeMediaLinkFile",}, }, repository="https://github.com/Wikifab/3DAlloyNewTag", }, AWS={ name="AWS", version="0.11.1", author={ "Tyler Romeo","Daniel Friesen @ Redwerks","Edward Chernenko","David Haslip",}, url="https://www.mediawiki.org/wiki/Extension:AWS", descriptionmsg="aws-desc", ["license-name"]="GPL-2.0+", requires={ MediaWiki=">= 1.35.0", }, type="other", ExtensionFunctions={ "AmazonS3Hooks::setup",}, config={ AWSCredentials={ description="Credentials to connect to AWS. Setting this in LocalSettings.php is NOT NEEDED if your EC2 instance has an IAM instance profile, and its IAM role allows access to Amazon S3 (see README).", value={ key=false, secret=false, token=false, }, merge_strategy="array_plus", }, AWSRegion={ description="Region of AWS to connect to.", value=false, }, AWSUseHTTPS={ description="Whether to use HTTPS with AWS.", value=true, }, AWSBucketName={ description="MUST BE SET in LocalSettings.php. Name of S3 bucket (e.g. \"wonderfulbali\"). Note: it will be seen in the URL of images.", value=nil, }, AWSBucketPrefix={ description="[deprecated] Backward-compatibility option to use 4 S3 buckets (public, thumb, deleted, temp) instead of one $wgAWSBucketName. Shouldn't be used in new wikis. If set to \"wonderfulbali\", buckets [wonderfulbali], [wonderfulbali-thumb], [wonderfulbali-deleted] and [wonderfulbali-temp] are used.", value=nil, }, AWSBucketDomain={ description="Subdomain of Amazon S3. Can be replaced with the URL of CDN. $1 is replaced with bucket name (see README.md for more customization).", value="$1.s3.amazonaws.com", }, AWSRepoHashLevels={ description="Number of prefix subdirectories. Value \"2\" means that S3 objects will be named a/ab/Filename.png (same as when MediaWiki stores files in local directories). Default value: 0 (objects are named Filename.png without any prefix).", value=0, }, AWSRepoDeletedHashLevels={ description="Same as $wgAWSRepoHashLevels, but for deleted images. Set to \"3\" for naming a/ab/abc/Filename.png (same as when MediaWiki stores deleted files in local directories). Default value: 0 (objects are named Filename.png without any prefix).", value=0, }, AWSBucketTopSubdirectory={ description="Extra path within the S3 bucket (not recommended). E.g. if this is '/something', then images will be in bucketname.s3.amazonaws.com/something/File.png instead of bucketname.s3.amazonaws.com/File.png.", value="", }, AWSLocalCacheDirectory={ description="Path to the directory for storing local copies of large images from S3 (when they are copied to webserver to make a thumbnail image, etc.). Don't enable this unless you have REALLY HUGE files (e.g. 100Mb+ PDFs). Default: false (disabled).", value=false, }, AWSLocalCacheMinSize={ description="Minimal size of image (in bytes) that should be cached. Default: 100Mb.", value=104857600, }, }, repository="https://github.com/edwardspec/mediawiki-aws-s3.git", composer="edwardspec/mediawiki-aws-s3", }, AccessLogReports={ name="AccessLogReports", namemsg="accesslogreports-extensionname", ["license-name"]="GPL-3.0+", version="0.1", author={ "[//mwstake.org Mark A. Hershberger]",}, requires={ MediaWiki=">=1.26", }, url="https://www.mediawiki.org/wiki/Extension:AccessLogReports", descriptionmsg="accesslogreports-desc", type="specialpage", SpecialPages={ AccessLogReports="AccessLogReports\\SpecialAccessLogReports", }, Hooks={ LoadExtensionSchemaUpdates={ "AccessLogReports\\Hook::onLoadExtensionSchemaUpdates",}, }, ExtensionMessagesFiles={ AccessLogReportsAlias="src/i18n/Alias.php", }, AvailableRights={ "viewaccesslogs",}, GroupPermissions={ sysop={ viewaccesslogs=true, }, }, config={ }, repository="https://github.com/hexmode/mediawiki-AccessLogReports", }, AchievementBadges={ name="AchievementBadges", version="0.3.0", author={ "Femiwiki Team",}, url="https://github.com/femiwiki/AchievementBadges", descriptionmsg="achievementbadges-desc", ["license-name"]="AGPL-3.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.35.0", }, Hooks={ BeforeCreateEchoEvent="MediaWiki\\Extension\\AchievementBadges\\HookHandler\\Main::onBeforeCreateEchoEvent", BeforeEchoEventInsert="MediaWiki\\Extension\\AchievementBadges\\HookHandler\\Main::onBeforeEchoEventInsert", EchoGetBundleRules="MediaWiki\\Extension\\AchievementBadges\\HookHandler\\Main::onEchoGetBundleRules", GetBetaFeaturePreferences="MediaWiki\\Extension\\AchievementBadges\\HookHandler\\Main::onGetBetaFeaturePreferences", ContributionsToolLinks="Main", MediaWikiServices="MediaWikiServices", ResourceLoaderGetConfigVars="Main", APIAfterExecute="AchievementRegister", BeforeCreateAchievement="AchievementRegister", LocalUserCreated="AchievementRegister", PageSaveComplete="AchievementRegister", SpecialAchievementsBeforeGetEarned="AchievementRegister", UserSaveSettings="AchievementRegister", ChangeTagsAfterUpdateTags="AchievementRegister", }, ExtensionFunctions={ "MediaWiki\\Extension\\AchievementBadges\\HookHandler\\MediaWikiServices::onExtensionFunction",}, HookHandlers={ Main={ class="MediaWiki\\Extension\\AchievementBadges\\HookHandler\\Main", services={ "MainConfig","AchievementBadgesHookRunner",}, }, MediaWikiServices={ class="MediaWiki\\Extension\\AchievementBadges\\HookHandler\\MediaWikiServices", }, AchievementRegister={ class="MediaWiki\\Extension\\AchievementBadges\\HookHandler\\AchievementRegister", services={ "MainConfig","DBLoadBalancer","RevisionStore",}, }, }, SpecialPages={ Achievements={ class="MediaWiki\\Extension\\AchievementBadges\\Special\\SpecialAchievements", services={ "AchievementBadgesHookRunner",}, }, ShareAchievement="MediaWiki\\Extension\\AchievementBadges\\Special\\SpecialShareAchievement", }, LogTypes={ "achievementbadges",}, LogActionsHandlers={ ["achievementbadges/*"]="MediaWiki\\Extension\\AchievementBadges\\LogFormatter", }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, config={ AchievementBadgesEnableBetaFeature={ value=false, description="Whether to have AchievementBadges available only as a beta feature and only shown to the users who have enabled the beta feature.", }, AchievementBadgesReplaceEchoThankYouEdit={ value=false, description="Whether to suppress edit milestone notifications sent from Echo.", }, AchievementBadgesReplaceEchoWelcome={ value=false, description="Whether to suppress the welcome notification sent from Echo.", }, AchievementBadgesAchievementFallbackIcon={ value="extensions/AchievementBadges/images/achievement-icon-fallback.svg", description={ "Path to the fallback icon of achievements which is relative to the $wgScriptPath. The icon can be different for ltr and rtl languages. icons for specific languages can also specified using the language code.","Example: \"{$wgScriptPath}/static/image/achievement-fallback-icon.svg\"","Example 2:","[ 'ko' => \"$wgScriptPath/static/images/achievement-fallback-icon-ko.png\",","'ltr' => \"$wgScriptPath/static/images/achievement-fallback-icon-ltr.png\",","'rtl' => \"$wgScriptPath/static/images/achievement-fallback-icon-rtl.png\", ]",}, }, AchievementBadgesAchievementFallbackOpenGraphImage={ value="extensions/AchievementBadges/images/achievement-og-image-fallback.png", description={ "Path to the fallback imago of achievements which is showed as an Open Graph image. Could be an array value, like $wgAchievementBadgesAchievementFallbackIcon",}, }, AchievementBadgesAchievements={ value={ }, merge_strategy="array_plus_2d", description="Contains a key-value pair list of achievements. The thresholds should not be changed.", }, AchievementBadgesDisabledAchievements={ value={ }, description="Keys of achievements should be excluded.", }, AchievementBadgesFacebookAppId={ value=false, description="Facebook App id for SNS sharing.", }, AchievementBadgesAddThisId={ value=false, description="AddThis id for SNS sharing. it could include tool id in a form of array has keys 'pub' and 'tool'.", }, }, ExtensionMessagesFiles={ AchievementBadgesAlias="AchievementBadges.i18n.alias.php", }, composer="femiwiki/achievement-badges", repository="https://github.com/femiwiki/AchievementBadges", }, Acronym={ name="Acronym", author="Daniel Beard", url="https://www.halopedia.org/Halopedia:Extensions/Acronym", namemsg="acronym-extension-name", descriptionmsg="acronym-extension-desc", version="0.0.1", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.29.0", }, Hooks={ ParserFirstCallInit="MediaWiki\\Extension\\Acronym\\Hooks::onParserFirstCallInit", ParserClearState="MediaWiki\\Extension\\Acronym\\Hooks::onParserClearState", }, ExtensionMessagesFiles={ AcronymMagic="Acronym.i18n.php", }, repository="https://github.com/Halopedia/Acronym", }, AdvancedBacklinks={ name="AdvancedBacklinks", author="Ostrzyciel", ["license-name"]="GPL-2.0-or-later", version="2.9.1", requires={ MediaWiki=">= 1.36.0", }, namemsg="advancedBacklinks", descriptionmsg="advancedBacklinks-desc", url="https://www.mediawiki.org/wiki/Extension:AdvancedBacklinks", config={ AdvancedBacklinksTrackExtlinks=true, }, Hooks={ LoadExtensionSchemaUpdates="AdvancedBacklinksHooks::onLoadExtensionSchemaUpdates", LinksUpdate="AdvancedBacklinksHooks::onLinksUpdate", SidebarBeforeOutput="AdvancedBacklinksHooks::onSidebarBeforeOutput", GetDoubleUnderscoreIDs="AdvancedBacklinksHooks::onGetDoubleUnderscoreIDs", ArticleDeleteComplete="AdvancedBacklinksHooks::onArticleDeleteComplete", LonelyPagesQuery="AdvancedBacklinksHooks::onLonelyPagesQuery", wgQueryPages="AdvancedBacklinksHooks::onwgQueryPages", GetPreferences="AdvancedBacklinksHooks::onGetPreferences", PPFrameBeforeExpansion="PPFrameHooks::onPPFrameBeforeExpansion", PPFrameAfterExpansion="PPFrameHooks::onPPFrameAfterExpansion", ParserClearState="PPFrameHooks::onParserClearState", InternalParseBeforeLinks="PPFrameHooks::onInternalParseBeforeLinks", ["AbuseFilter-builder"]="AbAfHooks::onAbuseFilterBuilder", ["AbuseFilter-generateTitleVars"]="AbAfHooks::onAbuseFilterGenerateTitleVars", ["AbuseFilter-computeVariable"]="AbAfHooks::onAbuseFilterComputeVariable", }, SpecialPages={ AdvancedBacklinks="SpecialAdvancedBacklinks", WikitextWantedPages="SpecialWikitextWantedPages", WikitextLonelyPages="SpecialWikitextLonelyPages", WikitextContentLonelyPages="SpecialWikitextContentLonelyPages", MostWikitextLinked="SpecialMostWikitextLinked", MostWikitextLinkedFiles="SpecialMostWikitextLinkedFiles", UndesiredRedlinks="SpecialUndesiredRedlinks", }, APIPropModules={ ab_linkshere="ApiQueryAdvancedBacklinksProp", ab_fileusage="ApiQueryAdvancedBacklinksProp", ab_linkstats="ApiQueryAbLinkStatsProp", }, DefaultUserOptions={ ["ab-change-link-to-whatlinkshere"]=true, }, ExtensionMessagesFiles={ AdvancedBacklinksAliases="AdvancedBacklinks.alias.php", AdvancedBacklinksMagic="AdvancedBacklinks.magic.php", }, type="other", repository="https://gitlab.com/nonsensopedia/extensions/advancedbacklinks", }, AdvancedUserStats={ name="AdvancedUserStats", version="1.1", author="Josef Martiňák", descriptionmsg="advanceduserstats-desc", url="https://bitbucket.org/wikiskripta/advanceduserstats", type="specialpage", status="stable", requires={ MediaWiki=">= 1.36.0", }, ["license-name"]="MIT", SpecialPages={ AdvancedUserStats="AdvancedUserStats", }, config={ AUSreports={ value={ { 10,50,},{ 30,50,},{ 0,50,},}, description="First item: number of days (0=complete), second item: number of displayed users.", }, }, repository="https://bitbucket.org/wikiskripta/advanceduserstats", }, AgeClassification={ name="AgeClassification", author="WikiMANNia", url="https://www.mediawiki.org/wiki/Extension:AgeClassification", ["license-name"]="GPL-2.0-or-later", version="1.0.0", namemsg="ageclassification-msg", descriptionmsg="ageclassification-desc", config={ AgeClassificationButtonURL="www.altersklassifizierung.de/", AgeClassificationButtonIMG="yourdomain.org/skins/fsm-aks148.png", AgeClassificationMetaName="age-de-meta-label", AgeClassificationMetaContent="age=0 hash: yourdigitalcode v=1.0 kind=sl protocol=all", }, type="other", Hooks={ BeforePageDisplay="AgeClassificationHooks::onBeforePageDisplay", SkinBuildSidebar="AgeClassificationHooks::onSkinBuildSidebar", }, repository="https://github.com/WikiMANNia/MediaWiki-Extension-AgeClassification", }, Ainut={ name="Ainut", version="1.0.0", author={ "Niklas Laxström",}, url="https://github.com/Nikerabbit/mediawiki-extensions-Ainut", description="An application form and review tools for Aineeton kulttuuriperintö", ["license-name"]="GPL-2.0-or-later", config={ AinutApplicationsOpen=false, AinutReviewsOpen=false, AinutResultsOpen=false, }, ExtensionMessagesFiles={ ["Ainut/Alias"]="Alias.php", }, SpecialPages={ Ainut="Ainut\\SpecialAinut", AinutAdmin="Ainut\\SpecialAinutAdmin", AinutReview="Ainut\\SpecialAinutReview", }, Hooks={ LoadExtensionSchemaUpdates="Ainut\\Hooks::schemaUpdates", SidebarBeforeOutput="Ainut\\Hooks::onSidebarBeforeOutput", }, AvailableRights={ "ainut-review","ainut-admin",}, composer="mediawiki/ainut", repository="https://github.com/Nikerabbit/mediawiki-extensions-Ainut", }, ArticleIndex={ name="ArticleIndex", version="0.5.1", author="Josef Martiňák", url="https://www.mediawiki.org/wiki/Extension:ArticleIndex", descriptionmsg="articleindex-desc", ["license-name"]="GPL-3.0-only", type="specialpage", requires={ MediaWiki=">= 1.29.0", }, Hooks={ ParserFirstCallInit="ArticleIndexHooks::registerParserHook", BeforePageDisplay="ArticleIndexHooks::showIndex", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ArticleIndex", }, AutoSetPageLang={ name="AutoSetPageLang", version="1.1.1", author={ "Pierre Boutet",}, url="https://github.com/wikifab/AutoSetPageLang", descriptionmsg="autosetpagelang-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.28.0", }, config={ AutoSetPageLangAutoMarkTranslate=true, AutoSetPageLangAutoMarkNamespaces={ }, AutoSetPageLangAutoUpdateNamespaces={ }, AutoSetPageLangTranslateOnCompleteOnly=true, AutoSetPageLangAllowedNamespaces={ }, AutoSetPageLangAddNoIncludeTagsNamespaces={ }, }, Hooks={ PageContentInsertComplete={ "AutoSetPageLang\\Hooks::onPageContentInsertComplete",}, ["PageForms::WritePageData"]={ "AutoSetPageLang\\Hooks::onPageFormsWritePageData",}, PageContentSave={ "AutoSetPageLang\\Hooks::onPageContentSave",}, PageContentSaveComplete={ "AutoSetPageLang\\Hooks::onPageContentSaveComplete",}, OutputPageBodyAttributes={ "AutoSetPageLang\\Hooks::onOutputPageBodyAttributes",}, BeforePageDisplay={ "AutoSetPageLang\\Hooks::onBeforePageDisplay",}, SkinTemplateTabs={ "AutoSetPageLang\\Hooks::displayTab",}, SkinTemplateNavigation={ "AutoSetPageLang\\Hooks::displayTab2",}, }, JobClasses={ autoMarkTranslate="AutoSetPageLang\\AutoMarkTranslateJob", }, SpecialPages={ SetPageLang="AutoSetPageLang\\SpecialSetPageLang", }, composer="wikifab/auto-set-page-lang", repository="https://github.com/Wikifab/AutoSetPageLang.git", }, AutoSitemap={ name="AutoSitemap", author="Dolfinus", url="https://www.mediawiki.org/wiki/Extension:AutoSitemap", description="Creates a XML Sitemap file automatically.", version="1.4", ["license-name"]="GPL-3.0+", type="other", ExtensionMessagesFiles={ AutoSitemap="AutoSitemap.i18n.php", }, Hooks={ PageContentInsertComplete={ "AutoSitemap::writeSitemap",}, AfterImportPage={ "AutoSitemap::writeSitemap",}, ArticleDeleteComplete={ "AutoSitemap::writeSitemap",}, ArticleUndelete={ "AutoSitemap::writeSitemap",}, TitleMoveComplete={ "AutoSitemap::writeSitemap",}, ArticleMergeComplete={ "AutoSitemap::writeSitemap",}, ArticleRollbackComplete={ "AutoSitemap::writeSitemap",}, UploadComplete={ "AutoSitemap::writeSitemap",}, ArticleRevisionUndeleted={ "AutoSitemap::writeSitemap",}, RevisionInsertComplete={ "AutoSitemap::writeSitemap",}, PageContentSaveComplete={ "AutoSitemap::writeSitemap",}, }, repository="https://github.com/dolfinus/AutoSitemap.git", }, BCmath={ name="BCmath", version="0.1.0", author={ "John Erling Blad",}, url="https://www.mediawiki.org/wiki/Extension:BCmath", descriptionmsg="bcmath-desc", ["license-name"]="GPL-2.0", type="other", requires={ MediaWiki=">= 1.33", extensions={ Scribunto="*", }, }, config_prefix="wgBCmath", config={ ExtFiltering={ value=true, description="Turn on additional sanitizion of numbers", }, }, callback="BCmath\\Hooks::onExtensionSetup", Hooks={ ScribuntoExternalLibraries={ "BCmath\\Hooks::onRegisterScribuntoLibraries",}, ScribuntoExternalLibraryPaths={ "BCmath\\Hooks::onRegisterScribuntoExternalLibraryPaths",}, }, repository="https://github.com/jeblad/BCmath", composer="jeblad/bcmath", }, BetterComments={ name="BetterComments", version="0.1", author="Josef Martiňák", url="https://bitbucket.org/wikiskripta/bettercomments", descriptionmsg="bettercomments-desc", ["license-name"]="MIT", type="editor", status="stable", requires={ MediaWiki=">= 1.31.0", }, config={ extraPagesAllowed={ value={ 37,40326,75076,}, description="List of pageId's to fire BetterComments at ('Fórum:Ptáte_se', 'Fórum:Portál', 'Fórum:Redakce').", }, }, Hooks={ ParserBeforeInternalParse="BetterCommentsHooks::addTags", BeforePageDisplay="BetterCommentsHooks::addButtons", }, repository="https://bitbucket.org/wikiskripta/bettercomments.git", }, BlockASN={ name="BlockASN", version="1.3.0", author={ "Ryan Schmidt",}, url="https://mwusers.org", descriptionmsg="blockasn-desc", ["license-name"]="GPL-3.0-or-later", type="other", requires={ MediaWiki=">= 1.35.0", }, config={ BAApiField={ description="Fields in the geoip response to fetch data from", value={ asn="traits.autonomous_system_number", proxy={ "traits.is_anonymous_vpn","traits.is_public_proxy","traits.is_residential_proxy","traits.is_tor_exit_node",}, type="traits.user_type", }, }, BAMMuser={ description="MaxMind API username", value="", public=false, }, BAMMpass={ description="MaxMind API token", value="", public=false, }, BlockedASNs={ description="List of blocked ASNs", value={ }, public=false, }, BlockedUserTypes={ description="List of blocked User Types", value={ }, public=false, }, }, Hooks={ GetUserBlock={ "BlockASN::onGetUserBlock",}, }, repository="https://github.com/SkizNet/mediawiki-BlockASN", }, BootstrapComponents={ name="BootstrapComponents", version="4.0.1-dev", author={ "Tobias Oetterer",}, url="https://www.mediawiki.org/wiki/Extension:BootstrapComponents", descriptionmsg="bootstrap-components-desc", ["license-name"]="GPL-3.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.31.0", }, ConfigRegistry={ BootstrapComponents="GlobalVarConfig::newInstance", }, ["@note"]="hooks are registered in BootstrapComponents\\HookRegistry", Hooks={ }, config={ BootstrapComponentsDisableSourceLinkOnImageModal={ value=false, descriptionmsg="bootstrap-components-config-DisableSourceLinkOnImageModal", public=true, }, BootstrapComponentsEnableCarouselGalleryMode={ value=true, descriptionmsg="bootstrap-components-config-EnableCarouselGalleryMode", public=true, }, BootstrapComponentsModalReplaceImageTag={ value=false, descriptionmsg="bootstrap-components-config-ModalReplaceImageTag", public=true, }, BootstrapComponentsWhitelist={ value=true, descriptionmsg="bootstrap-components-config-Whitelist", public=true, }, }, callback="BootstrapComponents\\BootstrapComponents::init", ExtensionMessagesFiles={ BootstrapComponentsMagic="BootstrapComponents.magic.php", }, TrackingCategories={ "bootstrap-components-error-tracking-category","bootstrap-components-tracking-category",}, repository="https://github.com/oetterer/BootstrapComponents", composer="mediawiki/bootstrap-components", }, Bugzilla={ name="Bugzilla", version="0.0.1", author={ "Carl Schwan",}, ["license-name"]="GPL-2-or-later", Hooks={ ParserFirstCallInit="BugzillaHooks::onParserFirstCallInit", }, ConfigRegistry={ bugzilla="GlobalVarConfig::newInstance", }, config={ BugzillaRestApiUrl="https://bugs.kde.org/rest", }, repository="https://invent.kde.org/websites/mediawiki-bugzilla", }, CaptchaSettings={ name="CaptchaSettings", version="1.1", author="Josef Martiňák", url="https://bitbucket.org/wikiskripta/captchasettings", descriptionmsg="captchasettings-desc", ["license-name"]="MIT", type="specialpage", status="stable", requires={ MediaWiki=">= 1.29.0", }, SpecialPages={ CaptchaSettings="CaptchaSettings", }, repository="https://bitbucket.org/wikiskripta/captchasettings", }, CategoryHistory={ name="CategoryHistory", version="1.2", author={ "Josef Martiňák","Petr Kajzar",}, url="https://bitbucket.org/wikiskripta/categoryhistory", descriptionmsg="categoryhistory-desc", ["license-name"]="MIT", type="specialpage", status="stable", requires={ MediaWiki=">= 1.36.0", }, SpecialPages={ CategoryHistory="CategoryHistory", }, Hooks={ SkinSubPageSubtitle="CategoryHistoryHooks::AddLinkToCategory", }, config={ cathist_page_limit={ value=500, description="Number of items in the table", }, cathist_name_style={ value="REALNAME", description="Style of the name in the table. Options are: REALNAME (if set), USERNAME, BOTH", }, }, repository="https://bitbucket.org/wikiskripta/categoryhistory", }, Character_Escapes={ name="Character Escapes", version="1.0.0", author="David M. Sledge", url="http://www.mediawiki.org/wiki/Extension:Character_Escapes", descriptionmsg="characterescapes_description", type="parserhook", Hooks={ ParserFirstCallInit={ "CharacterEscapesHooks::onParserFirstCallInit",}, }, repository="https://gitlab.com/hydrawiki/extensions/characterescapes.git", }, Chartie={ name="Chartie", author="Dolfinus", url="https://www.mediawiki.org/wiki/Extension:Chartie", description="This extension provides a simple line chart, based on d3.js", version="1.0", ["license-name"]="MIT", type="media", ExtensionMessagesFiles={ Chartie="Chartie_magic.i18n.php", }, MediaHandlers={ ["text/csv"]="Chartie", }, Hooks={ ParserMakeImageParams={ "Chartie::onParserMakeImageParams",}, ParserFirstCallInit={ "Chartie::onParserFirstCallInit",}, ImageBeforeProduceHTML={ "Chartie::onImageBeforeProduceHTML",}, ImageOpenShowImageInlineBefore={ "Chartie::onImageOpenShowImageInlineBefore",}, BeforePageDisplay={ "Chartie::onBeforePageDisplay",}, BeforePageDisplayMobile={ "Chartie::onBeforePageDisplay",}, }, repository="https://github.com/dolfinus/Chartie.git", }, CheckPageTitle={ name="Check Page Title", author="Solene", version="1.0.0", url="https://www.mediawiki.org/wiki/Extension:CheckPageTitle", descriptionmsg="Check Page Title", ["license-name"]="GPL-2.0+", type="parserhook", ExtensionMessagesFiles={ CheckPageTitle="CheckPageTitle.i18n.php", }, Hooks={ BeforePageDisplay={ "CheckPageTitle::onBeforePageDisplay",}, ResourceLoaderGetConfigVars={ "CheckPageTitle::onResourceLoaderGetConfigVars",}, }, composer="wikifab/check-page-title", repository="https://github.com/Wikifab/ext-CheckPageTitle", }, CloneDiff={ name="CloneDiff", version="0.1", author={ "Yaron Koren",}, url="https://www.mediawiki.org/wiki/Extension:CloneDiff", descriptionmsg="clonediff-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.30.0", }, GroupPermissions={ sysop={ clonediff=true, }, }, AvailableRights={ "clonediff",}, SpecialPages={ CloneDiff="SpecialCloneDiff", }, JobClasses={ importFromClone="ImportFromCloneJob", }, ExtensionMessagesFiles={ CloneDiffAlias="CloneDiff.alias.php", }, Hooks={ AdminLinks={ "CloneDiffHooks::addToAdminLinks",}, SkinBuildSidebar={ "CloneDiffHooks::addToSidebar",}, }, config={ CloneDiffWikis={ }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CloneDiff", }, CommentsProperty={ name="Comments Property", author="Julien", url="https://www.mediawiki.org/wiki/Extension:CommentsProperty", descriptionmsg="commentsproperty-desc", version="1.0", ["license-name"]="GPL-2.0+", type="other", callback="CommentsProperty\\CommentsProperty::onExtension", composer="wikifab/comments-property", repository="https://github.com/Wikifab/CommentsProperty", }, Contactus={ name="Contactus", version="1.1.1", author="Josef Martiňák", url="https://bitbucket.org/wikiskripta/contactus", descriptionmsg="contactus-desc", ["license-name"]="MIT", type="specialpage", status="stable", requires={ MediaWiki=">= 1.36.0", }, SpecialPages={ Contactus="Contactus", }, ExtensionMessagesFiles={ ContactusMagic="Contactus.i18n.magic.php", }, config={ ContactusFieldsSpecial={ value={ "photo","degree","email","workplace","projects","note",}, description="Fields displayed at special page.", }, ContactusFieldsCard={ value={ "degree","email","workplace","projects","photo",}, description="Fields displayed at visit card.", }, ContactusFieldsTable={ value={ "degree","email","workplace","projects","photo",}, description="Fields displayed at the table view.", }, }, Hooks={ LoadExtensionSchemaUpdates="ContactusHooks::ContactusUpdateSchema", ParserFirstCallInit="ContactusHooks::efContactus_Setup", }, repository="https://bitbucket.org/wikiskripta/contactus", }, CreateWiki={ name="CreateWiki", author={ "Southparkfan","John Lewis","Paladox","Universal Omega",}, url="https://github.com/miraheze/CreateWiki", descriptionmsg="createwiki-desc", ["license-name"]="GPL-3.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.36.0", }, AvailableRights={ "createwiki","requestwiki",}, SpecialPages={ CreateWiki="SpecialCreateWiki", RequestWiki="SpecialRequestWiki", RequestWikiQueue="SpecialRequestWikiQueue", }, JobClasses={ CreateWikiJob="CreateWikiJob", RequestWikiAIJob="RequestWikiAIJob", }, LogTypes={ "farmer",}, LogActionsHandlers={ ["farmer/createwiki"]="LogFormatter", ["farmer/requestaccept"]="LogFormatter", ["farmer/requestdecline"]="LogFormatter", ["farmer/requestwikiedit"]="LogFormatter", ["farmer/requestwiki"]="CreateWikiLogFormatter", }, ExtensionMessagesFiles={ CreateWikiAliases="includes/CreateWikiAliases.php", }, Hooks={ BeforeCreateEchoEvent={ "CreateWikiHooks::onBeforeCreateEchoEvent",}, LoadExtensionSchemaUpdates={ "CreateWikiHooks::fnCreateWikiSchemaUpdates",}, SetupAfterCache={ "CreateWikiHooks::onSetupAfterCache",}, }, config={ CreateWikiAIThreshold={ description="Integer. Minimum percentage points for a request to be created when acceptable.", public=true, value=false, }, CreateWikiBlacklistedSubdomains={ description="String or array. Regex to match for a blacklisted subdomain.", public=true, value="/ /", }, CreateWikiCannedResponses={ description="Boolean. Array of default responses to give. If this is enabled, free-text options are removed.", public=true, value=false, }, CreateWikiCategories={ description="Array. An array of categories used for wiki categorisaion.", public=true, value={ }, }, CreateWikiCustomDomainPage={ description="String. Page name to link to for more information on custom domains.", public=true, value="", }, CreateWikiDatabase={ description="String. Database name of where cw_wikis is stored.", public=true, value="", }, CreateWikiDatabaseClusters={ description="Array. LBFactory clusters which CreateWiki considers active.", public=true, value={ }, }, CreateWikiDatabaseClustersInactive={ description="Array. LBFactory clusters which are not considered active for use of automatic loadbalancing.", public=true, value={ }, }, CreateWikiPersistentModelFile={ description="String. Location to a file that can be overwritten to contain a persistent machine learning model.", public=true, value="", }, CreateWikiStateDays={ description="Array. Integer values in days when a wiki is deemed inactive, closed, removed (hidden) and deleted. Number of days passed since last change - not from initial inactivity.", public=true, value={ inactive=45, closed=15, removed=120, deleted=7, }, }, CreateWikiGlobalWiki={ description="String. Database name of the global wiki. (Where RequestWiki should be enabled and Special:CreateWiki available.)", public=true, value="", }, CreateWikiEmailNotifications={ description="Boolean. Whether to send emails for new wiki creations.", public=true, value=false, }, CreateWikiNotificationEmail={ description="String. Email address to send internally generated notification emails to. Does not depend on $wgCreateWikiEmailNotifications!", public=true, value="root@localhost", }, CreateWikiPurposes={ description="Array. List of identified purposes to show when requesting a wiki.", public=true, value={ }, }, CreateWikiSQLfiles={ description="Array. All SQLs to be loaded into every wiki by default.", public=true, value={ }, }, CreateWikiShowBiographicalOption={ description="Boolean. Whether to show a biographical person option when requesting a wiki.", public=true, value=false, }, CreateWikiSubdomain={ description="String. The master part of subdomains, e.g. wiki.miraheze.org, miraheze.org is the master part.", public=true, value="", }, CreateWikiUseCategories={ description="Boolean. Whether to use categories to categorise wikis.", public=true, value=false, }, CreateWikiUseClosedWikis={ description="Boolean. Whether to implement front end logic for closing wikis.", public=true, value=false, }, CreateWikiUseCustomDomains={ description="Boolean. Whether to implement front end logic to handle requesting custom domains for wikis in RequestWiki.", public=true, value=false, }, CreateWikiUseEchoNotifications={ description="Boolean. Whether to use Echo notifications (beta feature).", public=true, value=false, }, CreateWikiUseInactiveWikis={ description="Boolean. Whether to implement front end logic for inactive wikis.", public=true, value=false, }, CreateWikiInactiveExemptReasonOptions={ description="Array. Possible options for marking a wiki as exempt from inactivity.", public=true, value={ }, }, CreateWikiUseJobQueue={ description="Boolean. Whether to defer intensive tasks to the jobqueue.", public=true, value=false, }, CreateWikiUsePrivateWikis={ description="Boolean. Whether to implement front end logic for marking wikis as private.", public=true, value=false, }, CreateWikiCollation={ description="String. Sets the collation to use when creating the wiki database. Example is 'DEFAULT SET utf8mb4 COLLATE utf8mb4_unicode_ci'", public=true, value="", }, CreateWikiCacheDirectory={ description="String. The path to store CreateWiki cache files at.", public=true, value="", }, CreateWikiUseExperimental={ description="Boolean. Whether to implement front end logic for marking wikis as experimental.", public=true, value=false, }, }, ConfigRegistry={ createwiki="GlobalVarConfig::newInstance", }, DefaultUserOptions={ ["echo-subscriptions-web-request-comment"]=true, ["echo-subscriptions-email-request-comment"]=false, ["echo-subscriptions-web-request-declined"]=true, ["echo-subscriptions-email-request-declined"]=true, ["echo-subscriptions-web-wiki-creation"]=true, ["echo-subscriptions-email-wiki-creation"]=false, ["echo-subscriptions-web-wiki-rename"]=true, ["echo-subscriptions-email-wiki-rename"]=false, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, callback="CreateWikiHooks::onRegistration", composer="miraheze/createwiki", repository="https://github.com/miraheze/CreateWiki.git", }, ["Curse Twitter"]={ name="Curse Twitter", version="1.4.1", author={ "Hydra Wiki Platform Team",}, url="https://gitlab.com/HydraWiki/extensions/CurseTwitter", descriptionmsg="cursetwitter_description", ["license-name"]="GPL-3.0-only", type="parserhook", requires={ MediaWiki=">= 1.29.0", }, Hooks={ ParserFirstCallInit="CurseTwitterHooks::onParserFirstCallInit", }, repository="https://gitlab.com/hydrawiki/extensions/CurseTwitter.git", }, ["wikifab/CustomRecentChanges"]={ name="wikifab/CustomRecentChanges", author="Brendan Poirier", description="Redesign of the RecentChanges page", ["license-name"]="GPL-2.0+", type="ext", SpecialPages={ CustomRecentChanges="CustomRecentChanges\\Specials\\SpecialCustomRecentChanges", }, ExtensionMessagesFiles={ CustomRecentChangesAlias="i18n/CustomRecentChangesAlias.php", }, config={ RCNamespacesList={ 0,2,6,14,220,}, RCNamespacesListIgnored={ }, }, composer="wikifab/custom-recent-changes", repository="https://github.com/Wikifab/CustomRecentChanges.git", }, CustomSubtitle={ name="CustomSubtitle", author="Antoine Lamielle", url="https://github.com/lingua-libre/CustomSubtitle", ["license-name"]="GPL-2.0+", version="0.1.0", namemsg="customSubtitle", descriptionmsg="customSubtitle-desc", type="parserhook", requires={ MediaWiki=">= 1.34.0", }, ExtensionMessagesFiles={ CustomSubtitleMagic="CustomSubtitle.i18n.php", }, Hooks={ ParserFirstCallInit="CustomSubtitleHooks::onParserFirstCallInit", }, repository="https://github.com/lingua-libre/CustomSubtitle.git", }, DataDump={ name="DataDump", author={ "Paladox","Universal Omega",}, url="https://www.mediawiki.org/wiki/Extension:DataDump", descriptionmsg="datadump-desc", ["license-name"]="GPL-3.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.36.0", }, AvailableRights={ "generate-dump","delete-dump","view-dump",}, config={ DataDump={ description="object", public=true, value={ }, }, DataDumpInfo={ description="string", public=true, value="", }, DataDumpLimits={ description="object", public=true, value={ memory=0, filesize=0, time=0, walltime=0, }, }, DataDumpDirectory={ description="string", public=true, value=false, }, DataDumpFileBackend={ description="string", public=true, value="", }, DataDumpDownloadUrl={ description="string", public=true, value="", }, DataDumpDisableGenerate={ description="boolean", public=true, value=false, }, }, ExtensionMessagesFiles={ DataDumpAliases="includes/DataDumpAliases.php", }, APIModules={ deletedumps="ApiDeleteDumps", generatedumps="ApiGenerateDumps", viewdumps="ApiViewDumps", }, SpecialPages={ DataDump="SpecialDataDump", }, LogActionsHandlers={ ["datadump/delete"]="LogFormatter", ["datadump/generate"]="LogFormatter", }, LogTypes={ "datadump",}, JobClasses={ DataDumpGenerateJob="DataDumpGenerateJob", }, HookHandlers={ default={ class="DataDumpHooks", }, }, Hooks={ LoadExtensionSchemaUpdates="default", SidebarBeforeOutput="default", }, ConfigRegistry={ datadump="GlobalVarConfig::newInstance", }, composer="miraheze/datadump", repository="https://github.com/miraheze/DataDump", }, Debounce={ name="Debounce", namemsg="debounce-extensionname", version="1.2.0", author={ "Ryan Schmidt",}, url="https://mwusers.org", descriptionmsg="debounce-desc", ["license-name"]="GPL-3.0-or-later", type="antispam", requires={ MediaWiki=">= 1.34.0", }, config={ DebounceApiKey={ value=nil, path=false, description="Debounce API Key, if using the paid email validation API", descriptionmsg="debounce-config-apikey", public=false, }, DebounceFree={ value=true, path=false, description="If true, uses the free disposable email API. If false, uses the paid email validation API", descriptionmsg="debounce-config-free", public=false, }, DebouncePrivate={ value=true, path=false, description="If true and using the free disposable email API, obscure the user's email and only send the domain", descriptionmsg="debounce-config-private", public=false, }, }, Hooks={ isValidEmailAddr={ "Debounce::isValidEmailAddr",}, }, repository="https://github.com/SkizNet/mediawiki-Debounce", }, Decorations={ name="Decorations", version="1.1.1", author="Josef Martiňák", url="https://bitbucket.org/wikiskripta/decorations", descriptionmsg="decorations-desc", type="specialpage", ["license-name"]="MIT", status="stable", requires={ MediaWiki=">= 1.36.0", }, SpecialPages={ Decorations="Decorations", }, config={ decorationsHome={ value="WikiSkripta:Vyznamenání", description="Wiki pagename informing about available wiki decorations", }, decorationsList={ value={ { "Wiki4lístek.png","WikiČtyřlístek","Vyznamenání udílené obvykle za zvláštní či dlouhodobý přínos WikiSkriptům.",},{ "WikiSlunicko.png","WikiSluníčko","Spíše než o vyznamenání se jedná o pozdrav a vyjádření podpory v další činnosti. V praxi lze udělit uživateli prostě proto, že jste si na něj vzpoměli, a chcete mu třeba popřát hezký den.",},{ "Kava.png","Řád černé kávy","Jedná se o ocenění noční práce redaktora/uživatele. Prostě, když uvidíte někoho editovat ve 2 hodiny ráno, proč ho neocenit za toto nasazení?",},{ "Řád_bílého_jednorožce2.png","Řád bílého jednorožce","Jedná se o ocenění výjimečného přínosu redaktora/uživatele. Když v úžasu stanete nad prací kolegy/ně, neváhejte jim udělením tohoto ocenění sdělit, že vás to ohromilo.",},}, description="Decorations info (decoration's image placed on wiki, title, description)", }, }, repository="https://bitbucket.org/wikiskripta/decorations.git", }, Diagrams={ name="Diagrams", namemsg="diagrams-extensionname", type="other", author={ "Sam Wilson",}, version="0.9.2", url="https://www.mediawiki.org/wiki/Extension:Diagrams", descriptionmsg="diagrams-desc", ["license-name"]="GPL-3.0-or-later", requires={ MediaWiki=">= 1.34.0, <= 1.38", }, config={ DiagramsServiceUrl={ description="URL of the diagram-rendering service. If not provided, graphs will be locally rendered.", value="", }, }, Hooks={ ParserFirstCallInit="MediaWiki\\Extension\\Diagrams\\Hooks::onParserFirstCallInit", }, repository="https://github.com/samwilson/diagrams-extension", composer="samwilson/diagrams", }, Discord={ name="Discord", author={ "Jayden Bailey",}, url="https://github.com/jaydenkieran/mw-discord", version="1.0.12", descriptionmsg="discord-desc", ["license-name"]="MIT", requires={ MediaWiki=">= 1.36.0", }, config={ DiscordWebhookURL={ }, DiscordNoBots=true, DiscordNoMinor=false, DiscordNoNull=true, DiscordSuppressPreviews=true, DiscordMaxChars=nil, DiscordMaxCharsUsernames=25, DiscordDisabledHooks={ }, DiscordDisabledNS={ }, DiscordDisabledUsers={ }, DiscordPrependTimestamp=false, DiscordUseFileGetContents=false, DiscordUseEmojis=false, DiscordEmojis={ PageContentSaveComplete=":pencil2:", ArticleDeleteComplete=":wastebasket:", ArticleUndelete=":wastebasket:", ArticleRevisionVisibilitySet=":spy:", ArticleProtectComplete=":lock:", TitleMoveComplete=":truck:", LocalUserCreated=":wave:", BlockIpComplete=":no_entry_sign:", UnblockUserComplete=":no_entry_sign:", UserGroupsChanged=":people_holding_hands:", UploadComplete=":inbox_tray:", FileDeleteComplete=":wastebasket:", FileUndeleteComplete=":wastebasket:", AfterImportPage=":books:", ArticleMergeComplete=":card_box:", ApprovedRevsRevisionApproved=":white_check_mark:", ApprovedRevsRevisionUnapproved=":white_check_mark:", ApprovedRevsFileRevisionApproved=":white_check_mark:", ApprovedRevsFileRevisionUnapproved=":white_check_mark:", }, }, Hooks={ PageSaveComplete="DiscordHooks::onPageSaveComplete", ArticleDeleteComplete="DiscordHooks::onArticleDeleteComplete", ArticleUndelete="DiscordHooks::onArticleUndelete", ArticleRevisionVisibilitySet="DiscordHooks::onArticleRevisionVisibilitySet", ArticleProtectComplete="DiscordHooks::onArticleProtectComplete", PageMoveComplete="DiscordHooks::onPageMoveComplete", LocalUserCreated="DiscordHooks::onLocalUserCreated", BlockIpComplete="DiscordHooks::onBlockIpComplete", UnblockUserComplete="DiscordHooks::onUnblockUserComplete", UserGroupsChanged="DiscordHooks::onUserGroupsChanged", UploadComplete="DiscordHooks::onUploadComplete", FileDeleteComplete="DiscordHooks::onFileDeleteComplete", FileUndeleteComplete="DiscordHooks::onFileUndeleteComplete", AfterImportPage="DiscordHooks::onAfterImportPage", ArticleMergeComplete="DiscordHooks::onArticleMergeComplete", ApprovedRevsRevisionApproved="DiscordHooks::onApprovedRevsRevisionApproved", ApprovedRevsRevisionUnapproved="DiscordHooks::onApprovedRevsRevisionUnapproved", ApprovedRevsFileRevisionApproved="DiscordHooks::onApprovedRevsFileRevisionApproved", ApprovedRevsFileRevisionUnapproved="DiscordHooks::onApprovedRevsFileRevisionUnapproved", RenameUserComplete="DiscordHooks::onRenameUserComplete", }, repository="https://github.com/jaydenkieran/mw-discord.git", }, ["Discord Notifications"]={ name="Discord Notifications", version="1.1.4", author="Aleksi Postari", url="https://github.com/kulttuuri/discord_mediawiki", descriptionmsg="discordnotifications-desc", type="other", ExtensionFunctions={ "DiscordNotificationsCore::registerExtraHooks",}, Hooks={ ArticleDeleteComplete={ { "DiscordNotificationsCore::onDiscordArticleDeleted",},}, TitleMoveComplete={ { "DiscordNotificationsCore::onDiscordArticleMoved",},}, AddNewAccount={ { "DiscordNotificationsCore::onDiscordNewUserAccount",},}, BlockIpComplete={ { "DiscordNotificationsCore::onDiscordUserBlocked",},}, UploadComplete={ { "DiscordNotificationsCore::onDiscordFileUploaded",},}, ArticleProtectComplete={ { "DiscordNotificationsCore::onDiscordArticleProtected",},}, UserGroupsChanged={ { "DiscordNotificationsCore::onDiscordUserGroupsChanged",},}, APIFlowAfterExecute={ { "DiscordNotificationsCore::onDiscordApiFlowAfterExecute",},}, AfterImportPage={ { "DiscordNotificationsCore::onDiscordAfterImportPage",},}, }, config={ DiscordIncomingWebhookUrl="", DiscordAdditionalIncomingWebhookUrls={ }, DiscordFromName="", DiscordSendMethod="curl", DiscordIncludePageUrls=true, DiscordIncludeUserUrls=true, DiscordIgnoreMinorEdits=false, DiscordExcludeNotificationsFrom={ }, DiscordExcludedPermission="", DiscordNotificationWikiUrl="", DiscordNotificationWikiUrlEnding="index.php?title=", DiscordNotificationWikiUrlEndingUserRights="Special%3AUserRights&user=", DiscordNotificationWikiUrlEndingBlockList="Special:BlockList", DiscordNotificationWikiUrlEndingBlockUser="Special:Block/", DiscordNotificationWikiUrlEndingUserPage="User:", DiscordNotificationWikiUrlEndingUserTalkPage="User_talk:", DiscordNotificationWikiUrlEndingUserContributions="Special:Contributions/", DiscordNotificationWikiUrlEndingEditArticle="action=edit", DiscordNotificationWikiUrlEndingDeleteArticle="action=delete", DiscordNotificationWikiUrlEndingHistory="action=history", DiscordNotificationWikiUrlEndingDiff="diff=prev&oldid=", DiscordNotificationNewUser=true, DiscordNotificationBlockedUser=true, DiscordNotificationAddedArticle=true, DiscordNotificationRemovedArticle=true, DiscordNotificationMovedArticle=true, DiscordNotificationEditedArticle=true, DiscordNotificationFileUpload=true, DiscordNotificationProtectedArticle=true, DiscordNotificationShowSuppressed=true, DiscordNotificationUserGroupsChanged=true, DiscordNotificationFlow=true, DiscordNotificationAfterImportPage=true, DiscordIncludeDiffSize=true, DiscordShowNewUserFullName=true, DiscordAvatarUrl="", }, repository="https://github.com/kulttuuri/DiscordNotifications.git", }, DiscordRCFeed={ name="DiscordRCFeed", version="1.0.2", author={ "Aleksi Postari","FemiWiki Team","...",}, url="https://github.com/femiwiki/DiscordRCFeed", descriptionmsg="discordrcfeed-desc", type="other", requires={ MediaWiki=">= 1.36.0", }, Hooks={ MediaWikiServices="main", }, HookHandlers={ main={ class="MediaWiki\\Extension\\DiscordRCFeed\\FeedSanitizer", }, }, composer="femiwiki/discord-notifications", repository="https://github.com/femiwiki/DiscordRCFeed", }, DocBookExport={ name="DocBookExport", version="1.0", author={ "Nischayn22","WikiWorks",}, url="https://www.mediawiki.org/wiki/Extension:DocBookExport", ["license-name"]="MIT", descriptionmsg="docbookexport-desc", type="other", requires={ MediaWiki=">= 1.30.0", }, config={ DocbookExportPandocServerPath="", DocbookDownloadServerPath="", DocBookExportXSLRepository="", DocBookExportImportXSLRepoPathPDF="", DocBookExportImportXSLRepoPathHTML="", }, Hooks={ ParserFirstCallInit="DocBookExport::onParserSetup", }, SpecialPages={ GetDocbook="SpecialGetDocbook", }, ExtensionMessagesFiles={ DocBookExportMagic="DocBookExport.i18n.magic.php", DocBookExportAlias="DocBookExport.i18n.alias.php", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/DocBookExport", }, DonateButton={ name="DonateButton", author="WikiMANNia", url="https://www.mediawiki.org/wiki/Extension:DonateButton", ["license-name"]="GPL-2.0-or-later", version="1.0.0", namemsg="donatebutton-msg", descriptionmsg="donatebutton-desc", config={ DonateButtonFilename="Donate_Button.gif", }, type="other", Hooks={ BeforePageDisplay="DonateButtonHooks::onBeforePageDisplay", SkinBuildSidebar="DonateButtonHooks::onSkinBuildSidebar", }, repository="https://github.com/WikiMANNia/MediaWiki-Extension-DonateButton.git", }, DynamicPageList3={ name="DynamicPageList3", version="3.3.3", author={ "Gero Scholz","Alexia E. Smith",}, url="https://www.mediawiki.org/wiki/Extension:DynamicPageList3", descriptionmsg="dpl-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.27.4", }, GroupPermissions={ sysop={ dpl_param_update_rules=true, dpl_param_delete_rules=true, }, }, AvailableRights={ "dpl_param_update_rules","dpl_param_delete_rules",}, ExtensionMessagesFiles={ DynamicPageListMagic="DynamicPageList.i18n.magic.php", }, Hooks={ ParserFirstCallInit={ "DynamicPageListHooks::onParserFirstCallInit",}, LoadExtensionSchemaUpdates={ "DynamicPageListHooks::onLoadExtensionSchemaUpdates",}, }, config={ DplSettings={ allowedNamespaces=nil, allowUnlimitedCategories=false, allowUnlimitedResults=false, behavingLikeIntersection=false, categoryStyleListCutoff=6, fixedCategories={ }, functionalRichness=3, maxCategoryCount=4, minCategoryCount=0, maxResultCount=500, recursiveTagParse=false, runFromProtectedPagesOnly=false, handleSectionTag=false, alwaysCacheResults=false, }, }, TrackingCategories={ "dpl-tag-tracking-category","dpl-intersection-tracking-category","dpl-parserfunc-tracking-category","dplnum-parserfunc-tracking-category","dplvar-parserfunc-tracking-category","dplreplace-parserfunc-tracking-category","dplchapter-parserfunc-tracking-category","dplmatrix-parserfunc-tracking-category",}, callback="DynamicPageListHooks::onRegistration", repository="https://gitlab.com/hydrawiki/extensions/DynamicPageList.git", }, EmbedScratch={ name="EmbedScratch", version="3.0.0", author={ "Apple502j",}, url="https://github.com/apple502j/mw-embedScratch", descriptionmsg="embedscratch-desc", ["license-name"]="GPLv3", type="parserhook", namespaces={ }, ContentHandlers={ }, ExtensionMessagesFiles={ }, Hooks={ ParserFirstCallInit={ "EmbedScratch::parserEmbedScratch",}, }, repository="https://github.com/InternationalScratchWiki/mw-embedScratch.git", }, EmbedVideo={ name="EmbedVideo", version="2.8.0", author={ "Jim R. Wilson","Andrew Whitworth","Alexia E. Smith","Cameron M. Chunn",}, url="https://www.mediawiki.org/wiki/Extension:EmbedVideo", descriptionmsg="embedvideo_description", ["license-name"]="MIT", type="parserhook", requires={ MediaWiki=">= 1.29.0", }, callback="EmbedVideoHooks::onExtension", ExtensionMessagesFiles={ EmbedVideoMagic="EmbedVideo.i18n.magic.php", }, APIModules={ embedvideo="ApiEmbedVideo", }, config={ EmbedVideoAddFileExtensions=true, EmbedVideoEnableVideoHandler=true, EmbedVideoEnableAudioHandler=true, FFprobeLocation="/usr/bin/ffprobe", }, Hooks={ ParserFirstCallInit={ "EmbedVideoHooks::onParserFirstCallInit",}, }, composer="hydrawiki/embedvideo", repository="https://gitlab.com/hydrawiki/extensions/EmbedVideo", }, Expect={ name="Expect", version="0.1.0", author={ "John Erling Blad",}, url="https://www.mediawiki.org/wiki/Extension:Expect", descriptionmsg="expect-desc", ["license-name"]="GPL-2.0", type="other", requires={ MediaWiki=">= 1.33", extensions={ Scribunto="*", }, }, config_prefix="wgExpect", config={ }, callback="Expect\\Hooks::onExtensionSetup", Hooks={ ScribuntoExternalLibraryPaths={ "Expect\\Hooks::onRegisterScribuntoExternalLibraryPaths",}, }, repository="https://git.wikimedia.org/tree/mediawiki%2Fextensions%2FBootstrap", composer="jeblad/expect", }, ExplicitImages={ name="ExplicitImages", version="1.0", author="Josef Martiňák", url="https://bitbucket.org/wikiskripta/explicitimages", descriptionmsg="explicitimages-desc", ["license-name"]="MIT", type="other", status="stable", requires={ MediaWiki=">= 1.29.0", }, Hooks={ BeforePageDisplay="ExplicitImagesHooks::blurImages", }, repository="https://bitbucket.org/wikiskripta/explicitimages", }, ["External Content"]={ name="External Content", version="1.2.0", ["license-name"]="GPL-2.0-or-later", author={ "Jeroen De Dauw","Professional.Wiki",}, url="https://github.com/ProfessionalWiki/ExternalContent", descriptionmsg="external-content-desc", requires={ MediaWiki=">= 1.35.0", platform={ php=">= 7.4", }, }, config={ ExternalContentDomainWhitelist={ description="List of allowed domains to embed content from. Leave empty to have no restriction.", value={ }, }, ExternalContentFileExtensionWhitelist={ description="List of allowed file extensions. Empty array for no restriction.", value={ "md",}, }, ExternalContentEnableEmbedFunction={ description="If the #embed parser function should be enabled.", value=true, }, ExternalContentEnableBitbucketFunction={ description="If the #bitbucket parser function should be enabled.", value=true, }, ExternalContentBasicAuthCredentials={ description="Per-domain Basic Auth credentials.", value={ }, }, }, ExtensionMessagesFiles={ NetworkParserFunction="i18n/_MagicWords.php", }, Hooks={ ParserFirstCallInit="ProfessionalWiki\\ExternalContent\\EntryPoints\\MediaWikiHooks::onParserFirstCallInit", ParserTestGlobals="ProfessionalWiki\\ExternalContent\\EntryPoints\\MediaWikiHooks::onParserTestGlobals", SearchDataForIndex="ProfessionalWiki\\ExternalContent\\EntryPoints\\MediaWikiHooks::onSearchDataForIndex", SearchIndexFields="ProfessionalWiki\\ExternalContent\\EntryPoints\\MediaWikiHooks::onSearchIndexFields", }, TrackingCategories={ "external-content-tracking-category","external-content-broken-tracking-category",}, composer="professional-wiki/external-content", repository="https://github.com/ProfessionalWiki/ExternalContent.git", }, FacetedCategory={ name="FacetedCategory", version="1.0.0", author="Femiwiki Team", url="https://github.com/femiwiki/facetedCategory", descriptionmsg="facetedcategory-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.35.0", extensions={ CategoryTree="*", }, }, Hooks={ BeforePageDisplay="FacetedCategoryHooks::onBeforePageDisplay", }, SpecialPages={ FacetedCategories="SpecialFacetedCategories", }, ExtensionMessagesFiles={ FacetedCategoryAlias="FacetedCategory.alias.php", FacetedCategoryMagic="FacetedCategory.i18n.magic.php", }, repository="https://github.com/femiwiki/FacetedCategory", }, Fagocytoza={ name="Fagocytoza", author="Ostrzyciel", ["license-name"]="GPL-2.0+", version="0.1.3", url="https://gitlab.com/nonsensopedia/extensions/fagocytoza", namemsg="fagocytoza", descriptionmsg="fagocytoza-desc", SpecialPages={ Wolne_strony_Gry="SpecialWolneStronyGry", }, ExtensionMessagesFiles={ FagocytozaAlias="Fagocytoza.alias.php", }, Hooks={ GetPreferences="FagocytozaHooks::onGetPreferences", SidebarBeforeOutput="FagocytozaHooks::onSidebarBeforeOutput", }, type="other", repository="https://gitlab.com/nonsensopedia/extensions/fagocytoza", }, FancyModeration={ name="FancyModeration", author="Ostrzyciel", ["license-name"]="GPL-2.0+", version="0.5.0", namemsg="fancyModeration", descriptionmsg="fancyModeration-desc", config={ FModPatrolDeletedFiles=true, }, DefaultUserOptions={ userollbackwithreason=true, usequickpatrollists=true, usequickpatrolnewpages=true, usequickpatroldiffs=true, usequickpatrolfooter=true, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, Hooks={ ArticleDeleteComplete="FancyModeration\\Hooks\\Hooks::onArticleDeleteComplete", EnhancedChangesListModifyBlockLineData="FancyModeration\\Hooks\\EclHooks::onListModifyBlockLineData", EnhancedChangesListModifyLineData="FancyModeration\\Hooks\\EclHooks::onListModifyLineData", ["EnhancedChangesList::getLogText"]="FancyModeration\\Hooks\\EclHooks::onGetLogText", DifferenceEngineMarkPatrolledLink="FancyModeration\\Hooks\\PatrolHooks::onDifferenceEngineMarkPatrolledLink", ArticleViewFooter="FancyModeration\\Hooks\\PatrolHooks::onArticleViewFooter", NewPagesLineEnding="FancyModeration\\Hooks\\PatrolHooks::onNewPagesLineEnding", GetPreferences="GetPreferences", LinkerGenerateRollbackLink="RollbackLink", }, HookHandlers={ GetPreferences={ class="FancyModeration\\Hooks\\GetPreferences", }, RollbackLink={ class="FancyModeration\\Hooks\\LinkerGenerateRollbackLink", services={ "FmodPreferencesService",}, }, }, APIModules={ ["fmod-patrol"]="FancyModeration\\Api\\ApiFmodPatrol", }, type="other", repository="https://gitlab.com/nonsensopedia/extensions/fancymoderation", }, FeedbackUs={ name="FeedbackUs", version="2.1", author="Josef Martiňák", url="https://bitbucket.org/wikiskripta/feedbackus", descriptionmsg="feedbackus-desc", type="specialpage", ["license-name"]="MIT", status="stable", requires={ MediaWiki=">= 1.36.0", }, SpecialPages={ FeedbackUs="FeedbackUs", ArticleScores="ArticleScores", }, Hooks={ LoadExtensionSchemaUpdates="FeedbackUsHooks::FeedbackUsUpdateSchema", BeforePageDisplay="FeedbackUsHooks::activateFB", }, config={ namespaces={ value={ 0,100,102,}, description="Numbers of namespaces we want to give this kind of feedback, separated by comma.", }, pageCount={ value=5, description="Pager. Default 50 comments on page.", }, otrs={ value=true, description="If true, comments are sent to email address in otrsAddress. Also info about closing ticket.", }, otrsAddress={ value="info@wikiskripta.eu", description="Email address checked by OTRS.", }, articleScoresDefaultItemsCount={ value=100, description="Default number of scored articles showed at Special:ArticleScores.", }, articleScoresDefaultReviewersCountFROM={ value=5, description="Default number of reviewers - FROM.", }, articleScoresDefaultReviewersCountTO={ value=0, description="Default number of reviewers - TO (0=unlimited).", }, }, repository="https://bitbucket.org/wikiskripta/feedbackus.git", }, Figures={ name="Figures", version="0.0.0", author={ "Nischayn22","WikiWorks",}, url="https://www.mediawiki.org/wiki/Extension:Figures", descriptionmsg="figures-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.31.0", }, Hooks={ ParserFirstCallInit="Figures::onParserSetup", }, ExtensionMessagesFiles={ FiguresMagic="Figures.i18n.magic.php", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Figures", }, FileSystemImageServer={ name="FileSystemImageServer", version="1.0.0", author="Niklas Laxström", url="https://www.mediawiki.org/wiki/Extension:FileSystemImageServer", descriptionmsg="fsis-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.33.0", }, SpecialPages={ FSIS="MediaWiki\\Extension\\FileSystemImageServer\\Specials\\SpecialFSIS", }, repository="https://github.com/Nikerabbit/mediawiki-extensions-FileSystemImageServer", }, FilterAccess={ name="FilterAccess", version="1.1", author="Josef Martiňák", url="https://bitbucket.org/wikiskripta/filteraccess", descriptionmsg="filteraccess-desc", ["license-name"]="MIT", type="other", status="stable", requires={ MediaWiki=">= 1.29.0", }, repository="https://bitbucket.org/wikiskripta/filteraccess", }, FinnFrameNet={ name="FinnFrameNet", version="1.2.0", author={ "Niklas Laxström",}, url="https://github.com/Nikerabbit/mediawiki-extensions-FinnFrameNet", description="Code to import and display FinnFrameNet and TransFrameNet in a MediaWiki", ["license-name"]="GPL-2.0-or-later", Hooks={ BeforePageDisplay="FinnFrameNet\\Hooks::onBeforePageDisplay", ContentAlterParserOutput="FinnFrameNet\\Hooks::onContentAlterParserOutput", }, composer="mediawiki/finnframenet", repository="https://github.com/Nikerabbit/mediawiki-extensions-FinnFrameNet.git", }, FlowCounterTalks={ name="Flow Counter Talks", author="Solene", version="1.0.0", url="https://www.mediawiki.org/wiki/Extension:FlowCounterTalks", descriptionmsg="Flow Counter Talks", ["license-name"]="GPL-2.0+", type="parserhook", callback="FlowCounterTalks\\Hook::onExtension", Hooks={ BeforePageDisplay={ "FlowCounterTalks\\Hook::onBeforePageDisplay",}, SkinTemplateNavigation={ "FlowCounterTalks\\Hook::onSkinTemplateNavigation",}, APIFlowAfterExecute={ "FlowCounterTalks\\Hook::onAPIFlowAfterExecute",}, }, composer="wikifab/flow-counter-talks", repository="https://github.com/Wikifab/FlowCounterTalks", }, FontAwesome={ name="FontAwesome", version="1.0", type="other", author={ "Stephan Gambke","Professional.Wiki",}, url="https://www.mediawiki.org/wiki/Extension:FontAwesome", descriptionmsg="fontawesome-desc", ["license-name"]="GPL-3.0-or-later", requires={ MediaWiki=">=1.31", }, ExtensionMessagesFiles={ FontAwesomeMagic="src/FontAwesome.magic.php", }, config={ FaRenderMode={ value="webfonts", description="How should icons be rendered? (see https://fontawesome.com/how-to-use/on-the-web/other-topics/performance)", }, }, callback="\\FontAwesome\\FontAwesome::init", repository="https://github.com/s7eph4n/FontAwesome", composer="mediawiki/font-awesome", }, FormCompletions={ name="FormCompletions", version="1.0.0-alpha", author={ "Mark A. Hershberger",}, url="https://www.mediawiki.org/wiki/Extension:FormCompletions", descriptionmsg="formcompletions-desc", ["license-name"]="GPL-3.0+", type="other", APIModules={ fcautocomplete="MediaWiki\\Extensions\\FormCompletions\\API", }, config={ ["_prefix"]="FormCompletions", MapPage="MediaWiki:Completion-map.json", CacheTime=300, Debug=false, AvailableCompletions={ wikipage="MediaWiki\\Extensions\\FormCompletions\\Completer\\WikiPage", }, }, composer="mediawiki/form-completions", repository="https://github.com/mwstake/mediawiki-extensions-FormCompletions", }, GND={ name="GND", type="wikibase", version="2021-08-05", author={ "Jeroen De Dauw","Professional.Wiki",}, url="https://github.com/ProfessionalWiki/GND", descriptionmsg="gnd-desc", requires={ MediaWiki=">= 1.35.0", extensions={ WikibaseRepository="*", }, }, ExtensionMessagesFiles={ GndMagic="i18n/magic/MagicWords.php", }, Hooks={ ParserFirstCallInit="DNB\\GND\\GndDokuFunction::onParserFirstCallInit", }, RestRoutes={ { path="/gnd/doku/v1/datafields", method="GET", factory="DNB\\GND\\DokuApi::factory", },}, config={ }, repository="https://github.com/ProfessionalWiki/GND/issues", composer="dnb/mediawiki-gnd", }, GTag={ name="GTag", namemsg="gtag-extensionname", version="1.2.0", author={ "Ryan Schmidt",}, url="https://mwusers.org/files/file/4-gtag/", ["license-name"]="MIT", descriptionmsg="gtag-desc", type="other", config={ GTagAnalyticsId={ value="", description="Google Analytics account ID (UA-xxxxxxxx-x or G-xxxxxxxx)", decriptionmsg="gtag-config-analyticsid", }, GTagAnonymizeIP={ value=false, description="Anonymize IP addresses sent to Google Analytics", descriptionmsg="gtag-config-anonymizeip", }, GTagHonorDNT={ value=true, description="Honor the DNT header indicating a user does not wish to be tracked", decriptionmsg="gtag-config-honordnt", }, GTagTrackSensitivePages={ value=true, description="Include tracking code on potentially sensitive pages such as UserLogin and Preferences", decriptionmsg="gtag-config-tracksensitivepages", }, }, Hooks={ BeforePageDisplay="GTagHooks::onBeforePageDisplay", }, AvailableRights={ "gtag-exempt",}, requires={ MediaWiki=">= 1.34.0", }, repository="https://github.com/skizzerz/mediawiki-GTag", }, GlobalStats={ name="GlobalStats", version="1.2.1", author={ "Josef Martiňák","Petr Kajzar",}, url="https://bitbucket.org/wikiskripta/globalstats", description="Global statistics of this Wiki.", descriptionmsg="globalstats-desc", type="specialpage", ["license-name"]="MIT", status="stable", requires={ MediaWiki=">= 1.36.0", }, SpecialPages={ GlobalStats="GlobalStats", }, repository="https://bitbucket.org/wikiskripta/globalstats.git", }, Google_Tag_Manager={ name="GoogleTagManager", version="1.0", author={ "Felix Kaiser","Tom Hutchison",}, ["license-name"]="BSD-2-Clause", url="https://www.mediawiki.org/wiki/Extension:Google_Tag_Manager", descriptionmsg="googletagmanager-desc", type="other", requires={ MediaWiki=">= 1.31.0", }, Hooks={ SkinAfterBottomScripts="TagManager::onSkinAfterBottomScripts", }, AvailableRights={ "noanalytics",}, GroupPermissions={ sysop={ noanalytics=true, }, bot={ noanalytics=true, }, }, repository="https://github.com/Hutchy68/GoogleTagManager", }, HeaderExtension={ name="HeaderExtension", version="2.0.0", author={ "JinRyuu","StarHeartHunt","WikiForMen",}, url="http://www.mediawiki.org/wiki/Extension:HeaderExtension", descriptionmsg="headerextension-desc", type="other", ["license-name"]="MIT", Hooks={ BeforePageDisplay={ "HeaderExtension::BeforePageDisplay",}, }, config_prefix="wg", config={ HeadMetaCode={ value="", }, HeadMetaName={ value="", }, HeadScriptCode={ value="", }, HeadScriptName={ value="", }, }, repository="https://github.com/WikiMANNia/Mediawiki-Extension-HeaderExtension", }, HeaderFooter={ name="HeaderFooter", version="3.0.0", author="Jean-Lou Dupont, James Montalvo, Douglas Mason", url="http://mediawiki.org/wiki/Extension:HeaderFooter", descriptionmsg="headerfooter-desc", type="other", APIModules={ getheaderfooter="ApiGetHeaderFooter", }, Hooks={ OutputPageParserOutput="HeaderFooter::hOutputPageParserOutput", ResourceLoaderGetConfigVars="HeaderFooter::onResourceLoaderGetConfigVars", }, config={ ["_prefix"]="eg", HeaderFooterEnableAsyncHeader=false, HeaderFooterEnableAsyncFooter=false, }, composer="mediawiki/header-footer", repository="https://github.com/jamesmontalvo3/MediaWiki-HeaderFooter.git", }, IFrameTag={ name="IFrameTag", version="1.0.4", author={ "[//hexmode.com Mark A. Hershberger]",}, descriptionmsg="iframe-desc", requires={ MediaWiki=">= 1.34.0", platform={ php=">= 7.3", }, }, type="parserhook", ["license-name"]="GPL-3.0+", Hooks={ ParserFirstCallInit="MediaWiki\\Extension\\IFrameTag\\Handler::register", }, config_prefix="iFrame", config={ Domains={ value={ }, descriptionmsg="iframe-config-hosts", path=false, public=true, }, OnWikiConfig={ value=true, descriptionmsg="iframe-config-onwikiconfig", path=false, public=true, }, }, composer="mediawiki/iframe-tag", repository="https://github.com/hexmode/mediawiki-iframe.git", }, ImageAnnotator={ name="ImageAnnotator", version="1.1.0", author={ "Pierre Boutet",}, url="https://github.com/wikifab/ImageAnnotator", descriptionmsg="imageAnnotator-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.28.0", extensions={ ["Page Forms"]="*", }, }, callback="ImageAnnotator\\Hooks::onRegistration", ExtensionFunctions={ "ImageAnnotator\\Hooks::initialize",}, config={ ["ImageAnnotator-areaClasses"]="imageAnnotator", ImageAnnotatorRemoveExif=false, ImageAnnotatorOldWgServers={ }, }, ExtensionMessagesFiles={ ImageAnnotatorMagic="ImageAnnotator.i18n.php", }, APIModules={ iaThumbs="ImageAnnotator\\ApiImageAnnotatorThumb", }, SpecialPages={ AnnotatedImageMaintenance="ImageAnnotator\\SpecialAnnotatedImageMaintenance", }, Hooks={ BeforePageDisplay={ "ImageAnnotator\\Hooks::onBeforePageDisplay",}, ParserFirstCallInit={ "ImageAnnotator\\Hooks::onParserFirstCallInit",}, ["FormEdit::showEditForm:initial"]={ "ImageAnnotator\\Hooks::start",}, SemanticJsonExportBeforeSerializePage={ "ImageAnnotator\\Hooks::onSemanticJsonExportBeforeSerializePage",}, LoadExtensionSchemaUpdates="ImageAnnotator\\Hooks::onLoadExtensionSchemaUpdates", }, composer="wikifab/image-annotator", repository="https://github.com/Wikifab/mediawiki-extension-ImageAnnotator", }, ImageSizeInfoFunctions={ name="ImageSizeInfoFunctions", version="1.1.1", author={ "Dario de Judicibus",}, url="http://www.mediawiki.org/wiki/Extension:ImageSizeInfoFunctions", descriptionmsg="imagesizeinfofunctions_description", type="other", ExtensionMessagesFiles={ ImageSizeInfoFunctions="ImageSizeInfoFunctions.i18n.php", ImageSizeInfoFunctionsMagic="ImageSizeInfoFunctions.i18n.magic.php", }, Hooks={ ParserFirstCallInit={ "ImageSizeInfoFunctionsHooks::onParserFirstCallInit",}, ParserClearState={ "ImageSizeInfoFunctionsHooks::onParserClearState",}, }, config={ MessagesDir={ ImageSizeInfoFunctions="i18n", }, }, repository="https://github.com/HydraWiki/ImageSizeInfoFunctions", }, IncidentReporting={ name="IncidentReporting", author={ "John Lewis","Universal Omega",}, url="https://github.com/miraheze/IncidentReporting", version="1.1.6", descriptionmsg="incidentreporting-desc", ["license-name"]="GPL-3.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.36.0", }, AvailableRights={ "viewincidents","editincidents",}, SpecialPages={ IncidentReports="SpecialIncidentReports", }, LogActionsHandlers={ ["incidentreporting/modify"]="LogFormatter", }, LogTypes={ "incidentreporting",}, ExtensionMessagesFiles={ IncidentReportingAliases="includes/IncidentReportingAliases.php", }, config={ IncidentReportingDatabase={ description="Database name where all data is stored.", public=true, value=false, }, IncidentReportingServices={ description="Human readable list of service components with page URLs. Set to false for no link. Format: 'name' => 'url'.", public=true, value=false, }, IncidentReportingTaskUrl={ description="Full url of task tracking software minus the task ID. e.g. https://phabricator.miraheze.org/", public=true, value=false, }, }, ConfigRegistry={ incidentreporting="GlobalVarConfig::newInstance", }, composer="miraheze/incidentreporting", repository="https://github.com/miraheze/IncidentReporting", }, KDELogin={ name="KDELogin", version="0.0.1", author={ "Ingo Malchow",}, url="", descriptionmsg="kdelogin-desc", ["license-name"]="MIT", type="specialpage", ExtensionMessagesFiles={ KDELoginAlias="KDELogin.alias.php", }, Hooks={ PersonalUrls={ "KDELoginHooks::onPersonalUrls",}, UserLogout={ "KDELoginHooks::onUserLogout",}, LoadExtensionSchemaUpdates={ "KDELoginHooks::onLoadExtensionSchemaUpdates",}, }, SpecialPages={ KDELogin="SpecialKDELogin", }, composer="mediawiki/phabricatorlogin", repository="https://invent.kde.org/websites/mykde-mediawiki", }, ["Kotus data set tools"]={ name="Kotus data set tools", version="1.0.0", author={ "Niklas Laxström",}, url="https://github.com/Nikerabbit/mediawiki-extensions-Kotus", description="Kotus data set tools", ["license-name"]="GPL-2.0-or-later", composer="mediawiki/kotus", repository="https://github.com/Nikerabbit/mediawiki-extensions-Kotus.git", }, LangCodeOverride={ name="LangCodeOverride", version="0.0.0", author={ "John Erling Blad",}, url="https://www.mediawiki.org/wiki/Extension:LangCodeOverride", descriptionmsg="lang-code-override-desc", ["license-name"]="GPL-3.0", type="skin", config={ ["_prefix"]="wgLCOverride", Codes={ wiki={ no="nb", }, }, }, callback="LangCodeOverride\\Hooks::onExtensionSetup", Hooks={ SkinTemplateGetLanguageLink={ "LangCodeOverride\\Hooks::onSkinTemplateGetLanguageLink",}, UnitTestsList={ "LangCodeOverride\\Hooks::onUnitTestsList",}, }, repository="https://github.com/jeblad/LangCodeOverride/issues", composer="jeblad/lang-code-override", }, ["Language Namespaces"]={ name="Language Namespaces", version="1.0.0", author={ "Niklas Laxström",}, url="https://github.com/Nikerabbit/mediawiki-extensions-LanguageNamespaces", description="Language-dependent namespace names", ["license-name"]="GPL-2.0-or-later", Hooks={ MediaWikiServices="LanguageNamespaces::onMediaWikiServices", LocalisationCacheRecache="LanguageNamespaces::onLocalisationCacheRecache", }, config={ wgLanguageNamespaces={ }, }, composer="mediawiki/language-namespaces", repository="https://github.com/Nikerabbit/mediawiki-extensions-LanguageNamespaces.git", }, ["Latest Discussions"]={ name="Latest Discussions", author="Julien Leperlier", descriptionmsg="latestdiscussions-desc", version="1.0", ["license-name"]="GPL-2.0+", type="other", SpecialPages={ }, ExtensionMessagesFiles={ LatestDiscussionsMagic="LatestDiscussions.i18n.php", }, Hooks={ ParserFirstCallInit={ "LatestDiscussions::onParserSetup",}, }, composer="wikifab/latest-discussions", repository="https://github.com/Wikifab/LatestDiscussions.git", }, ListDuplicateUsers={ name="ListDuplicateUsers", version="1.0.0", author={ "David Wong","...",}, url="https://www.mediawiki.org/wiki/Extension:ListDuplicateUsers", descriptionmsg="listduplicateusers-description", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.25.0", }, AvailableRights={ "listduplicateusers",}, SpecialPages={ ListDuplicateUsers="SpecialListDuplicateUsers", }, repository="https://github.com/PowerpediaInterns/mediawiki-extensions-ListDuplicateUsers", }, ListTransclusions={ name="ListTransclusions", author="Patrick Westerhoff", version="2.1", url="http://mediawiki.org/wiki/Extension:ListTransclusions", ["license-name"]="MPL-2.0", description="Lists all transcluded templates and used images of a given page", descriptionmsg="listtransclusions-desc", type="specialpage", requires={ MediaWiki=">= 1.25.0", }, ExtensionMessagesFiles={ ListTransclusionsAlias="ListTransclusions.alias.php", }, Hooks={ SidebarBeforeOutput="ListTransclusionsHooks::onSidebarBeforeOutput", }, SpecialPages={ ListTransclusions="SpecialListTransclusions", }, repository="https://github.com/poke/mediawiki-ListTransclusions.git", }, Loops={ name="Loops", version="1.0.0-beta", author={ "David M. Sledge","Daniel Werner",}, url="https://www.mediawiki.org/wiki/Extension:Loops", descriptionmsg="loops-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">=1.29", }, config_prefix="eg", config={ LoopsEnabledFunctions={ value={ "while","dowhile","loop","forargs","fornumargs",}, path=false, descriptionmsg="loops-config-enabledfunctions", public=true, }, LoopsCountLimit={ value=100, path=false, descriptionmsg="loops-config-countlimit", public=true, }, }, ExtensionMessagesFiles={ LoopsMagic="Loops.i18n.magic.php", }, Hooks={ ParserFirstCallInit="ExtLoops::init", ParserLimitReportPrepare="ExtLoops::onParserLimitReportPrepare", ParserClearState="ExtLoops::onParserClearState", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Loops", }, LuaCache={ name="LuaCache", version="1.0.0", author={ "Robert Nix",}, url="https://gitlab.com/HydraWiki/extensions/LuaCache", descriptionmsg="luacache-desc", ["license-name"]="MIT", type="parserhook", requires={ MediaWiki=">= 1.29.0", }, Hooks={ ScribuntoExternalLibraries={ "LuaCache\\Hooks::onScribuntoExternalLibraries",}, }, repository="https://gitlab.com/hydrawiki/extensions/LuaCache.git", }, ["Lüüdi"]={ name="Lüüdi", version="2020-07-04", author={ "Niklas Laxström",}, url="https://sanat.csc.fi/wiki/L%C3%BC%C3%BCdi", descriptionmsg="sanat-lud-desc", ["license-name"]="GPL-2.0-or-later", type="other", Hooks={ BeforePageDisplay="MediaWiki\\Extensions\\Lud\\Hooks::onBeforePageDisplay", ParserFirstCallInit="MediaWiki\\Extensions\\Lud\\Hooks::onParserFirstCallInit", }, ExtensionMessagesFiles={ ["Lud-Magic"]="MagicWords.i18n.php", }, repository="https://github.com/Nikerabbit/mediawiki-extensions-Lud.git", }, MABS={ name="MABS", version="0.1.0", author={ "Mark A. Hershberger",}, url="https://github.com/hexmode/mabs", descriptionmsg="mabs-desc", ["license-name"]="GPL v2", type="specialpage", ExtensionMessagesFiles={ MABSAlias="src/i18n/Alias.php", }, GrantPermissions={ mabs={ import=true, }, }, GrantPermissionsGroups={ sysop="mabs", }, Hooks={ }, requires={ MediaWiki=">= 1.31.0", }, SpecialPages={ MABS="MediaWiki\\Extension\\MABS\\Special\\MABS", }, ConfigRegistry={ MABS="MediaWiki\\Extension\\MABS\\Config::newInstance", }, config_prefix="MABS", config={ Repo={ descriptionmsg="mabs-repo-depo", path=true, value="repo", }, }, composer="mediawiki/mabs", repository="https://github.com/hexmode/MABS.git", }, ["MagicNumberedHeadings::"]={ name="MagicNumberedHeadings::", version="1.13", author={ "Purodha Blissenbach","[//mwstake.org Mark A. Hershberger]",}, url="https://www.mediawiki.org/wiki/Extension:MagicNumberedHeadings::", description="Adds MagicWord \" __NUMBEREDHEADINGS__ \"", type="parserhook", ExtensionMessagesFiles={ MagicNumberedHeadingsMagic="MagicNumberedHeadings.i18n.magic.php", }, Hooks={ MagicWordMagicWords={ "MagicNumberedHeadings::MagicWordMagicWords",}, MagicWordwgVariableIDs={ "MagicNumberedHeadings::MagicWordwgVariableIDs",}, ParserBeforeInternalParse={ "MagicNumberedHeadings::ParserBeforeInternalParse",}, }, repository="https://github.com/hexmode/mediawiki-MagicNumberedHeadings", }, ManageWiki={ name="ManageWiki", author={ "Southparkfan","John Lewis","MacFan4000","Reception123","Universal Omega",}, url="https://github.com/miraheze/ManageWiki", descriptionmsg="managewiki-desc", ["license-name"]="GPL-3.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.36.0", extensions={ CreateWiki="*", }, }, APIListModules={ wikiconfig="ApiQueryWikiConfig", }, AvailableRights={ "managewiki","managewiki-editdefault","managewiki-restricted",}, DefaultUserOptions={ managewikisidebar=0, }, SpecialPages={ DeletedWikis="SpecialDeletedWikis", ManageWiki="SpecialManageWiki", ManageWikiDefaultPermissions="SpecialManageWikiDefaultPermissions", }, JobClasses={ MWScriptJob="MWScriptJob", NamespaceMigrationJob="NamespaceMigrationJob", }, LogActionsHandlers={ ["managewiki/delete"]="LogFormatter", ["managewiki/delete-group"]="LogFormatter", ["managewiki/lock"]="LogFormatter", ["managewiki/settings"]="LogFormatter", ["managewiki/rename"]="LogFormatter", ["managewiki/rights"]="LogFormatter", ["managewiki/namespaces"]="LogFormatter", ["managewiki/namespaces-delete"]="LogFormatter", ["managewiki/undelete"]="LogFormatter", ["managewiki/unlock"]="LogFormatter", }, LogTypes={ "managewiki",}, ExtensionMessagesFiles={ ManageWikiAliases="includes/ManageWikiAliases.php", }, Hooks={ ContentHandlerForModelID={ "ManageWikiHooks::onContentHandlerForModelID",}, CreateWikiCreation={ "ManageWikiHooks::onCreateWikiCreation",}, CreateWikiJsonBuilder={ "ManageWikiHooks::onCreateWikiJsonBuilder",}, CreateWikiStatePrivate={ "ManageWikiHooks::onCreateWikiStatePrivate",}, CreateWikiStatePublic={ "ManageWikiHooks::onCreateWikiStatePublic",}, CreateWikiTables={ "ManageWikiHooks::onCreateWikiTables",}, GetPreferences={ "ManageWikiHooks::onGetPreferences",}, LoadExtensionSchemaUpdates={ "ManageWikiHooks::fnManageWikiSchemaUpdates",}, SkinBuildSidebar={ "ManageWikiHooks::fnNewSidebarItem",}, }, config={ ManageWiki={ description="Array of Booleans. Which modules of ManageWiki should be enabled on the wiki.", public=true, value={ core=false, extensions=false, namespaces=false, permissions=false, settings=false, }, }, ManageWikiExtensions={ description="Array. An array of extensions enabled within the wiki farm.", public=true, value=false, }, ManageWikiExtensionsDefault={ description="Array. An array of default extensions.", public=true, value=false, }, ManageWikiNamespacesAdditional={ description="Array. Additional settings available for namespaces.", public=true, value=false, }, ManageWikiNamespacesBlacklistedNames={ description="Array. Namespaces that can not be used.", public=true, value={ "special","media",}, }, ManageWikiSettings={ description="Array. An array of settings that can be managed through Special:ManageWiki", public=true, value=false, }, ManageWikiPermissionsAdditionalAddGroups={ description="Array. ManageWiki's version of $wgAddGroups.", public=true, value=false, }, ManageWikiPermissionsAdditionalAddGroupsSelf={ description="Array. ManageWiki's version of $wgGroupsAddToSelf.", public=true, value=false, }, ManageWikiPermissionsAdditionalRemoveGroups={ description="Array. ManageWiki's version of $wgRemoveGroups.", public=true, value=false, }, ManageWikiPermissionsAdditionalRemoveGroupsSelf={ description="Array. ManageWiki's version of $wgGroupsRemoveFromSelf", public=true, value=false, }, ManageWikiPermissionsAdditionalRights={ description="Array. ManageWiki's version of $wgGroupPermissions.", public=true, value=false, }, ManageWikiPermissionsBlacklistGroups={ description="Array. An array of usergroups which ManageWiki can't manage. Will prevent users creating same named groups as well.", public=true, value=false, }, ManageWikiPermissionsBlacklistRights={ description="Array. An array of user rights that ManageWiki can not manage and assign on wiki.", public=true, value={ "managewiki-restricted",}, }, ManageWikiPermissionsDefaultPrivateGroup={ description="String. Name of a group to add to private wikis. False disables this function.", public=true, value=false, }, ManageWikiPermissionsPermanentGroups={ description="Array. List of user groups that should always exist on the permissions selector.", public=true, value={ "*","user","sysop","bureaucrat",}, }, ManageWikiHelpUrl={ description="String. URL of a help page for ManageWiki on the local wiki farm.", public=true, value=false, }, ManageWikiForceSidebarLinks={ description="Boolean. Whether to show the ManageWiki links in the side bar to all users. Will show a different message to unprivileged users.", public=true, value=false, }, }, ConfigRegistry={ managewiki="GlobalVarConfig::newInstance", }, callback="ManageWikiHooks::onRegistration", composer="miraheze/managewiki", repository="https://github.com/miraheze/ManageWiki.git", }, Maps={ name="Maps", version="9.0.0", author={ "Jeroen De Dauw","Professional.Wiki",}, url="https://maps.extension.wiki", descriptionmsg="maps-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.35.0", platform={ php=">= 7.4", }, }, ExtensionMessagesFiles={ MapsAlias="i18n/aliases/Aliases.php", MapsMagic="i18n/magic/MagicWords.php", }, callback="MapsRegistration::onRegistration", ContentHandlers={ GeoJson="Maps\\GeoJsonPages\\GeoJsonContentHandler", }, namespaces={ { id=420, constant="NS_GEO_JSON", name="GeoJson", subpages=false, content=true, defaultcontentmodel="GeoJson", },{ id=421, constant="NS_GEO_JSON_TALK", name="GeoJson_talk", subpages=true, content=false, defaultcontentmodel="wikitext", },}, repository="https://github.com/ProfessionalWiki/Maps", composer="mediawiki/maps", }, MarkImages={ name="MarkImages", author="Ostrzyciel", url="https://www.mediawiki.org/wiki/Extension:MarkImages", ["license-name"]="MIT", version="1.1.1", namemsg="markImages", descriptionmsg="markImages-desc", config={ MarkImagesCategories={ recursive={ }, nonrecursive={ }, }, }, Hooks={ LinksUpdateComplete="MarkImagesHooks::onLinksUpdateComplete", InfoAction="MarkImagesHooks::onInfoAction", BeforePageDisplay="MarkImagesHooks::onBeforePageDisplay", }, type="other", repository="https://gitlab.com/nonsensopedia/extensions/markimages", }, Matomo={ name="Matomo", version="4.0.1", author={ "Isb1009","DaSch","Seb35","Youri van den Bogert",}, url="https://www.mediawiki.org/wiki/Extension:Matomo", description="Adding Matomo Tracking Code", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.25.0", }, config={ MatomoIDSite="", MatomoURL="", MatomoIgnoreSysops=true, MatomoIgnoreBots=true, MatomoCustomJS="", MatomoUsePageTitle=false, MatomoActionName="", MatomoDisableCookies=false, MatomoProtocol="auto", MatomoUsernameCustomVariable={ }, MatomoTrackUsernames=false, MatomoJSFileURL=nil, }, Hooks={ SkinAfterBottomScripts={ "MatomoHooks::MatomoSetup",}, SpecialSearchResults={ "MatomoHooks::onSpecialSearchResults",}, SpecialSearchSetupEngine={ "MatomoHooks::onSpecialSearchSetupEngine",}, }, repository="https://github.com/DaSchTour/piwik-mediawiki-extension", composer="mediawiki/matomo", }, MatomoAnalytics={ name="MatomoAnalytics", author={ "John Lewis","Southparkfan","Universal Omega",}, url="https://github.com/miraheze/MatomoAnalytics", version="1.0.5.14", descriptionmsg="matomoanalytics-desc", ["license-name"]="GPL-3.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.35.3", }, AvailableRights={ "noanalytics",}, ExtensionMessagesFiles={ MatomoAnalyticsAliases="includes/MatomoAnalyticsAliases.php", }, SpecialPages={ Analytics="SpecialAnalytics", }, Hooks={ CreateWikiCreation={ "MatomoAnalyticsHooks::wikiCreation",}, CreateWikiDeletion={ "MatomoAnalyticsHooks::wikiDeletion",}, CreateWikiRename={ "MatomoAnalyticsHooks::wikiRename",}, LoadExtensionSchemaUpdates={ "MatomoAnalyticsHooks::matomoAnalyticsSchemaUpdates",}, SkinAfterBottomScripts={ "MatomoAnalyticsHooks::matomoScript",}, }, config={ MatomoAnalyticsDatabase={ description="String. Database that the 'matomo' table is in.", public=true, value=false, }, MatomoAnalyticsServerURL={ description="String. URL of the server to use for API queries.", public=true, value=false, }, MatomoAnalyticsSiteID={ description="Integer. If not using database, the site number to add all monitoring to.", public=true, value=1, }, MatomoAnalyticsGlobalID={ description="Integer. If tracking more than one site, this is an ID to attach to all wikis for central aggregate statistics.", public=true, value=false, }, MatomoAnalyticsTokenAuth={ description="String. The API Token for authentication when making requests for data.", public=false, value=false, }, MatomoAnalyticsUseDB={ description="Boolean. Whether or not to use the database for tracking site IDs.", public=true, value=false, }, MatomoAnalyticsDisableJS={ description="Boolean. Whether or not to add Javascript tracking code to pages.", public=true, value=false, }, MatomoAnalyticsDisableCookie={ description="Boolean. Whether or not to disable cookies being set by Matomo.", public=true, value=false, }, MatomoAnalyticsForceGetRequest={ description="Boolean. Whether or not you want to foce GET requests which also disables beacon. Reverts back to matomo 3 behaviour of tracking.", public=true, value=false, }, }, ConfigRegistry={ matomoanalytics="GlobalVarConfig::newInstance", }, composer="mediawiki/matomoanalytics", repository="https://github.com/miraheze/MatomoAnalytics", }, MediaWikiAuth={ name="MediaWikiAuth", namemsg="mwa-extensionname", version="1.3.1", author={ "Laurence Parry","Jack Phoenix","Kim Schoonover","Ryan Schmidt",}, url="https://www.mediawiki.org/wiki/Extension:MediaWikiAuth", descriptionmsg="mwa-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.35.0", }, config={ MediaWikiAuthAllowPasswordChange={ value=true, description="If true, prompts the user to optionally change their password after import.", descriptionmsg="mwa-config-allowpasswordchange", public=true, }, MediaWikiAuthApiUrl={ value="", description="Remote API endpoint to auth against.", descriptionmsg="mwa-config-apiurl", public=false, }, MediaWikiAuthImportGroups={ value=true, description="If a boolean, controls whether or not we copy group membership from remote wiki. If an array of strings, we only import the listed groups.", descriptionmsg="mwa-config-importgroups", public=true, }, MediaWikiAuthDisableAccountCreation={ value=false, description="If true, assume all relevant users already exist locally but with invalid password hashes. When operating in this mode, watchlist, group imports, and edit reattribution do not happen.", descriptionmsg="mwa-config-disableaccountcreation", public=true, }, MediaWikiAuthImportWatchlist={ value=true, description="Import watchlists via job queue", descriptionmsg="mwa-config-importwatchlist", public=true, }, MediaWikiAuthReattributeEdits={ value=true, description="Reattribute existing edits by unknown actors via job queue", descriptionmsg="mwa-config-reattributeedits", public=true, }, }, AvailableRights={ "mwa-createlocalaccount",}, JobClasses={ populateImportedWatchlist="MediaWikiAuth\\PopulateImportedWatchlistJob", reattributeImportedEdits="MediaWikiAuth\\ReattributeImportedEditsJob", }, AuthManagerAutoConfig={ primaryauth={ ExternalWikiPrimaryAuthenticationProvider={ class="MediaWikiAuth\\ExternalWikiPrimaryAuthenticationProvider", args={ { authoritative=false, },}, sort=50, services={ "UserGroupManager","UserOptionsManager",}, }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/MediaWikiAuth", }, MedicalMediaPlayer={ name="MedicalMediaPlayer", version="1.1", author="Josef Martiňák", url="https://bitbucket.org/wikiskripta/medicalmediaplayer", description="Plays movies from www.medicalmedia.eu", descriptionmsg="medicalmediaplayer-desc", type="parserhook", ["license-name"]="MIT", status="stable", requires={ MediaWiki=">= 1.29.0", }, Hooks={ ParserFirstCallInit="MedicalMediaPlayerHooks::registerPlayMMtag", }, repository="https://bitbucket.org/wikiskripta/medicalmediaplayer", }, Memcached={ name="Memcached", version="2.0.0", author="UA2004", url="https://www.mediawiki.org/wiki/Extension:Memcached", descriptionmsg="memcached-desc", ["license-name"]="GPL-3.0+", type="specialpage", requires={ MediaWiki=">= 1.31.0", }, AvailableRights={ "memcached",}, GroupPermissions={ ["*"]={ memcached=false, }, bureaucrat={ memcached=true, }, }, SpecialPages={ Memcached="MediaWiki\\Extension\\Memcached\\Special", }, repository="https://gitlab.com/hexmode1/Memcached", composer="mediawiki/memcached", }, Mermaid={ name="Mermaid", version="3.0.2-alpha", author={ "James Hong Kong","Tyler Gibson",}, url="https://github.com/SemanticMediaWiki/Mermaid/", descriptionmsg="mermaid-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.33", }, ExtensionMessagesFiles={ MermaidMagic="i18n/extra/Mermaid.magic.php", }, ServiceWiringFiles={ "src/ServiceWiring.php",}, Hooks={ ParserFirstCallInit="Mermaid\\Hooks::onParserFirstCallInit", OutputPageParserOutput="Mermaid\\Hooks::onOutputPageParserOutput", }, config={ DefaultTheme={ value="forest", }, }, config_prefix="mermaidg", composer="mediawiki/mermaid", repository="https://github.com/SemanticMediaWiki/Mermaid", }, MetaDescriptionTag={ name="MetaDescriptionTag", version="0.4.0", author={ "Joshua C. Lerner - joshua&lt;_at_&gt;busytonight.com","Dror S. [FFS] (Kol-Zchut)",}, url="http://www.mediawiki.org/wiki/Extension:MetaDescriptionTag", descriptionmsg="metadescriptiontag-desc", type="parserhook", ["license-name"]="MIT", Hooks={ ParserFirstCallInit="MetaDescriptionTagHooks::onParserFirstCallInit", OutputPageParserOutput="MetaDescriptionTagHooks::onOutputPageParserOutput", }, repository="https://github.com/kolzchut/mediawiki-extensions-MetaDescriptionTag.git", }, MetaTags={ name="MetaTags", version="1.0", author={ "Josef Martiňák","Luis Diaz",}, url="https://bitbucket.org/wikiskripta/metatags", description="Add custom meta tags to wiki pages", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.29.0", }, status="stable", Hooks={ BeforePageDisplay="MetaTagsHooks::addMetaTags", }, repository="https://bitbucket.org/wikiskripta/metatags", }, MigrateMyLinks={ name="MigrateMyLinks", version="1.0.0", author={ "Jesús Martínez (Ciencia Al Poder)",}, url="https://github.com/ciencia/mediawiki-extensions-MigrateMyLinks", descriptionmsg="migratemylinks-desc", ["license-name"]="MIT", type="parserhook", config={ MigrateMyLinksMaxRevisionId=-1, MigrateMyLinksDomain="", }, Hooks={ InternalParseBeforeLinks={ "MigrateMyLinks::onInternalParseBeforeLinks",}, ParserAfterParse={ "MigrateMyLinks::onParserAfterParse",}, LinkerMakeExternalLink={ "MigrateMyLinks::onLinkerMakeExternalLink",}, }, repository="https://github.com/ciencia/mediawiki-extensions-MigrateMyLinks.git", }, MirahezeMagic={ name="MirahezeMagic", author={ "John Lewis","Labster","MacFan4000","Reception123","Revi","Paladox","Southparkfan","Universal Omega",}, url="//github.com/Miraheze/MirahezeMagic", descriptionmsg="mirahezemagic-description", ["license-name"]="GPL-3.0-or-later", type="other", requires={ MediaWiki=">= 1.36.0", }, ExtensionMessagesFiles={ MirahezeMagicAliases="includes/MirahezeMagicAliases.php", }, SpecialPages={ MirahezeSurvey={ class="SpecialMirahezeSurvey", services={ "ConfigFactory",}, }, }, Hooks={ AbuseFilterShouldFilterAction={ "MirahezeMagicHooks::onAbuseFilterShouldFilterAction",}, CreateWikiCreation={ "MirahezeMagicHooks::onCreateWikiCreation",}, CreateWikiDeletion={ "MirahezeMagicHooks::onCreateWikiDeletion",}, CreateWikiRename={ "MirahezeMagicHooks::onCreateWikiRename",}, CreateWikiStatePrivate={ "MirahezeMagicHooks::onCreateWikiStatePrivate",}, CreateWikiTables={ "MirahezeMagicHooks::onCreateWikiTables",}, ["MessageCache::get"]={ "MirahezeMagicHooks::onMessageCacheGet",}, TitleReadWhitelist={ "MirahezeMagicHooks::onTitleReadWhitelist",}, HtmlPageLinkRendererEnd={ "MirahezeMagicHooks::onHtmlPageLinkRendererEnd",}, InitializeArticleMaybeRedirect={ "MirahezeMagicHooks::onInitializeArticleMaybeRedirect",}, GlobalUserPageWikis={ "MirahezeMagicHooks::onGlobalUserPageWikis",}, MimeMagicInit={ "MirahezeMagicHooks::onMimeMagicInit",}, SiteNoticeAfter={ "MirahezeMagicHooks::onSiteNoticeAfter",}, SkinAddFooterLinks={ "MirahezeMagicHooks::onSkinAddFooterLinks",}, UserGetRightsRemove={ "MirahezeMagicHooks::onUserGetRightsRemove",}, RecentChange_save={ "MirahezeMagicHooks::onRecentChange_save",}, }, ConfigRegistry={ mirahezemagic="GlobalVarConfig::newInstance", }, config={ MirahezeMagicLogEmailConditions={ value={ }, }, MirahezeStaffAccessIds={ value={ }, }, MirahezeSurveyEnabled={ value=true, }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, repository="https://github.com/miraheze/MirahezeMagic.git", }, Moderation={ name="Moderation", version="1.6.15", author="Edward Chernenko", url="https://www.mediawiki.org/wiki/Extension:Moderation", descriptionmsg="moderation-desc", ["license-name"]="GPL-3.0+", type="antispam", requires={ MediaWiki=">= 1.35.0", }, GroupPermissions={ automoderated={ ["skip-moderation"]=true, ["skip-move-moderation"]=true, }, moderator={ moderation=true, }, checkuser={ ["moderation-checkuser"]=true, }, bot={ ["skip-moderation"]=true, ["skip-move-moderation"]=true, }, sysop={ ["skip-moderation"]=true, ["skip-move-moderation"]=true, moderation=true, }, }, AddGroups={ sysop={ "automoderated",}, }, RemoveGroups={ sysop={ "automoderated",}, }, GrantPermissions={ basic={ ["skip-moderation"]=true, }, }, AvailableRights={ "moderation","skip-moderation","skip-move-moderation",}, SpecialPages={ Moderation={ class="SpecialModeration", services={ "Moderation.ActionFactory","Moderation.EntryFactory","Moderation.NotifyModerator","LinkBatchFactory",}, }, }, ActionFilteredLogs={ moderation={ approve={ "approve","approveall","approve-move",}, reject={ "reject","rejectall",}, block={ "block","unblock",}, merge={ "merge",}, }, }, APIModules={ moderation={ class="ApiModeration", services={ "Moderation.ActionFactory",}, }, }, APIPropModules={ moderationpreload={ class="ApiQueryModerationPreload", services={ "Moderation.Preload",}, }, }, LogTypes={ "moderation",}, LogRestrictions={ moderation="moderation", }, LogActionsHandlers={ ["moderation/*"]="ModerationLogFormatter", }, ExtensionMessagesFiles={ ModerationAlias="Moderation.alias.php", }, HookHandlers={ api={ class="ModerationApiHooks", services={ "Moderation.CanSkip","Moderation.Preload",}, }, approveHook={ factory="ModerationApproveHook::hookHandlerFactory", }, edit={ class="ModerationEditHooks", services={ "Moderation.ConsequenceManager","Moderation.CanSkip","Moderation.EditFormOptions","Moderation.HookRunner",}, }, editFormOptions={ factory="MediaWiki\\Moderation\\EditFormOptions::hookHandlerFactory", }, move={ class="ModerationMoveHooks", services={ "Moderation.ConsequenceManager","Moderation.CanSkip","Moderation.EditFormOptions",}, }, notifyModerator={ factory="ModerationNotifyModerator::hookHandlerFactory", }, pageForms={ class="ModerationPageForms", services={ "Moderation.Preload",}, }, preload={ factory="ModerationPreload::hookHandlerFactory", }, updater={ class="ModerationUpdater", }, upload={ class="ModerationUploadHooks", services={ "Moderation.ConsequenceManager","Moderation.CanSkip","Moderation.EditFormOptions",}, }, }, Hooks={ AlternateEdit="preload", ApiBeforeMain="api", ApiCheckCanExecute="api", BeforePageDisplay="edit", CheckUserInsertForRecentChange="approveHook", EchoCanAbortNewMessagesAlert="notifyModerator", EditFilter="editFormOptions", EditFormInitialText="preload", EditFormPreloadText="preload", ["EditPage::showEditForm:fields"]="edit", FileUpload="approveHook", GetNewMessagesAlert="notifyModerator", getUserPermissionsErrors="upload", LoadExtensionSchemaUpdates="updater", ListDefinedTags="edit", LocalUserCreated="preload", ModerationContinueEditingLink="pageForms", MultiContentSave="edit", PageSaveComplete={ "approveHook","edit",}, ["PageForms::EditFormInitialText"]="pageForms", ["PageForms::EditFormPreloadText"]="pageForms", PageMoveCompleting="approveHook", RecentChange_save="approveHook", RevisionFromEditComplete="approveHook", SpecialPageBeforeExecute="editFormOptions", TitleMove="move", UploadVerifyUpload="upload", wgQueryPages="api", }, config={ ModerationEnable={ value=true, description="If false, new edits are applied as usual (not sent to moderation).", }, ModerationTimeToOverrideRejection={ value=1209600, description="Time (in seconds) after which rejected edit could no longer be approved.", }, ModerationPreviewLink={ value=false, description="If true, Preview link is shown for pending edits. Normally you shouldn't enable this (when following Best Practices, approval/rejection depends on content, not formatting).", }, ModerationNotificationEnable={ value=false, description="If true, administrator is notified of new changes that await moderation.", }, ModerationNotificationNewOnly={ value=false, description="If true, only notify about new pages, not all edits.", }, ModerationEmail={ value="", description="Email address to send notifications to.", }, ModerationUseAjax={ value=false, description="Experimental: if true, enable Ajax handling of links on Special:Moderation.", }, ModerationOnlyInNamespaces={ value={ }, description="If set to an array of namespace numbers (e.g. NS_MAIN, NS_FILE), moderation is only enabled in these namespaces (edits in other namespaces will bypass moderation). Default (empty array): moderation is enabled everywhere.", }, ModerationIgnoredInNamespaces={ value={ }, description="If set to an array of namespace numbers (e.g. NS_MAIN, NS_FILE), non-automoderated users can bypass moderation in these namespaces. Default (empty array): moderation can't be bypassed anywhere.", }, ModerationEnableEditChange={ value=false, description="If true, moderators are allowed to edit pending changes before approving. DANGEROUS: moderator can accidentally delete the text of pending change. Enable this only when you use Moderation for pre-publish review.", }, }, ServiceWiringFiles={ "hooks/ServiceWiring.php",}, repository="https://github.com/edwardspec/mediawiki-moderation.git", }, ModernTimeline={ name="ModernTimeline", version="1.2.0", author={ "Professional.Wiki","Jeroen De Dauw",}, url="https://github.com/ProfessionalWiki/ModernTimeline#modern-timeline", namemsg="modern-timeline-name", descriptionmsg="modern-timeline-desc", ["license-name"]="GPL-2.0-or-later", type="semantic", requires={ MediaWiki=">= 1.31.0", extensions={ SemanticMediaWiki=">= 3.0.0", }, }, config={ ModernTimelineWidth={ value="100%", }, ModernTimelineHeight={ value="400px", }, ModernTimelineBookmark={ value=false, }, ModernTimelineBackground={ value="white", }, ModernTimelineScaleFactor={ value=2, }, ModernTimelinePosition={ value="bottom", }, ModernTimelineTickWidth={ value=100, }, ModernTimelineStartSlide={ value=1, }, ModernTimelineStartAtEnd={ value=false, }, ModernTimelineTransitionDuration={ value=1000, }, ModernTimelineNavHeight={ value="200px", }, ModernTimelineTemplate={ value="", }, ModernTimelineImageProperty={ value="", }, }, ExtensionFunctions={ "ModernTimeline\\ModernTimelineSetup::onExtensionFunction",}, repository="https://github.com/ProfessionalWiki/ModernTimeline", composer="professional-wiki/modern-timeline", }, MyTwitter={ name="MyTwitter", version="1.0", author={ "Ralph Slooten","페네트-",}, url="https://github.com/wiki-chan/MyTwitter", description="Show twitter widget in mediawiki, using Ralph's MyTwit class.", ["license-name"]="MIT", type="parserhook", ExtensionFunctions={ "MyTwitWrapper::registerTwitterTag",}, Hooks={ OutputPageParserOutput={ "MyTwitWrapper::OutputPageParser",}, }, config={ TwitterUser="", TwitterConsumerKey="", TwitterConsumerSecret="", TwitterOAUTHAccessToken="", TwitterOAUTHAccessTokenSecret="", TwitterCacheExpire=600, TwitterPostLimit=5, TwitterExcludeReplies=true, TwitterOpenLinksInBlank=true, }, repository="https://github.com/wiki-chan/MyTwitter", }, NamespaceManager={ name="NamespaceManager", namemsg="nsmgr-extensionname", version="0.2", author={ "[//hexmode.com Mark A. Hershberger]",}, url="https://mediawiki.org/wiki/Extension:NamespaceManager", descriptionmsg="nsmgr-desc", ["license-name"]="GPL-3.0+", config={ ["_prefix"]="NamespaceManager", MapFile="ns.json", }, requires={ MediaWiki=">= 1.27.0", }, type="special", Hooks={ LoadExtensionSchemaUpdates={ "MediaWiki\\Extension\\NamespaceManager\\Hooks::onLoadExtensionSchemaUpdates",}, NamespaceIsMovable={ "MediaWiki\\Extension\\NamespaceManager\\Hooks::onNamespaceIsMovable",}, SearchableNamespaces={ "MediaWiki\\Extension\\NamespaceManager\\Hooks::onSearchableNamespaces",}, EditPageTosSummary={ "MediaWiki\\Extension\\NamespaceManager\\Hooks::onEditPageTosSummary",}, EditPageCopyrightWarning={ "MediaWiki\\Extension\\NamespaceManager\\Hooks::onEditPageCopyrightWarning",}, ChangesListSpecialPageQuery={ "MediaWiki\\Extension\\NamespaceManager\\Hooks::onChangesListSpecialPageQuery",}, }, ConfigRegistry={ namespacemanager="MediaWiki\\Extension\\NamespaceManager\\Config::newInstance", }, callback="MediaWiki\\Extension\\NamespaceManager\\Hooks::init", composer="mediawiki/namespace-manager", repository="https://github.com/hexmode/mediawiki-NamespaceManager", }, NamespacePreload={ name="NamespacePreload", author="Ostrzyciel", ["license-name"]="GPL-2.0-or-later", version="1.2.0", namemsg="namespacePreload", descriptionmsg="namespacePreload-desc", url="https://www.mediawiki.org/wiki/Extension:NamespacePreload", Hooks={ EditFormPreloadText="NamespacePreloadHooks::onEditFormPreloadText", }, config={ NamespacePreloadDoPreSaveTransform=false, NamespacePreloadDoExpansion=true, }, type="other", repository="https://gitlab.com/nonsensopedia/extensions/namespacepreload", }, Network={ name="Network", version="2.0.0", author={ "Jeroen De Dauw","Professional.Wiki",}, url="https://github.com/ProfessionalWiki/Network#network-extension", descriptionmsg="network-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.31.0", }, config={ PageNetworkOptions={ value={ layout={ randomSeed=42, }, physics={ barnesHut={ gravitationalConstant=-5000, damping=0.242, }, }, nodes={ color={ background="white", highlight={ background="white", }, }, borderWidth=0, shape="image", size=10, shapeProperties={ useBorderWithImage=true, }, }, groups={ bluelink={ image="resources/lib/ooui/themes/wikimediaui/images/icons/article-rtl-progressive.svg", }, redlink={ image="resources/lib/ooui/themes/wikimediaui/images/icons/articleNotFound-ltr.svg", color={ border="#ba0000", highlight={ border="#ba0000", }, }, font={ color="#ba0000", }, }, externallink={ image="resources/lib/ooui/themes/wikimediaui/images/icons/linkExternal-ltr-progressive.svg", color={ border="grey", highlight={ border="grey", }, }, font={ color="grey", }, }, }, }, merge_strategy="array_replace_recursive", }, PageNetworkExcludeTalkPages={ value=true, }, PageNetworkExcludedNamespaces={ value={ 2,4,8,12,}, }, PageNetworkEnableDisplayTitle={ value=true, }, PageNetworkLabelMaxLength={ value=20, }, }, ExtensionMessagesFiles={ NetworkParserFunction="i18n/_MagicWords.php", NetworkAlias="i18n/Network.i18n.alias.php", }, callback="MediaWiki\\Extension\\Network\\Extension::addMediaWiki131compat", Hooks={ ParserFirstCallInit="MediaWiki\\Extension\\Network\\EntryPoints\\NetworkFunction::onParserFirstCallInit", }, SpecialPages={ Network="MediaWiki\\Extension\\Network\\EntryPoints\\SpecialNetwork", }, QUnitTestModule={ localBasePath="tests/js", remoteExtPath="Network/tests/js", scripts={ "stub/index.js","stub/Cats.js","stub/MultiPage.js","MultiPageConnectionsTest.js","PageBlacklistTest.js","SinglePageConnectionsTest.js",}, dependencies={ "ext.network",}, }, repository="https://github.com/ProfessionalWiki/Network/issues", composer="professional-wiki/network", }, NewDuplicateUserMessage={ name="NewDuplicateUserMessage", version="3.6.0, 2016-10-31", author={ "Aran Dunkley","Siebrand Mazeland","David Wong",}, url="https://www.mediawiki.org/wiki/Extension:NewDuplicateUserMessage", descriptionmsg="newduplicateusermessage-description", ["license-name"]="GPL-2.0-or-later", type="other", JobClasses={ newDuplicateUserMessageJob="NewDuplicateUserMessageJob", }, Hooks={ LocalUserCreated={ "NewDuplicateUserMessage::onLocalUserCreated",}, UserGetReservedNames={ "NewDuplicateUserMessage::onUserGetReservedNames",}, }, config={ NewDuplicateUserSuppressRC=false, NewDuplicateUserMinorEdit=true, NewDuplicateUserMessageOnAutoCreate=false, }, repository="https://github.com/PowerpediaInterns/mediawiki-extensions-NewDuplicateUserMessage", }, Nimiarkisto={ name="Nimiarkisto", version="2.0.0", author={ "Niklas Laxström",}, url="https://github.com/Nikerabbit/mediawiki-extensions-Nimiarkisto", description="Code to import and display Nimiarkisto in a MediaWiki", ["license-name"]="GPL-2.0-or-later", config={ NimiarkistoMapProxy={ value={ key="", url="https://avoin-karttakuva.maanmittauslaitos.fi/avoin/wmts/1.0.0/{layer}/default/ETRS-TM35FIN/{z}/{y}/{x}.png", }, }, }, ExtensionMessagesFiles={ NimiarkistoMagic="Nimiarkisto.magic.php", }, Hooks={ ParserFirstCallInit="MediaWiki\\Extensions\\Nimiarkisto\\Hooks::onParserFirstCallInit", BeforePageDisplay="MediaWiki\\Extensions\\Nimiarkisto\\Hooks::onBeforePageDisplay", ["MessageCache::get"]="MediaWiki\\Extensions\\Nimiarkisto\\Hooks::onMessageCacheGet", }, SpecialPages={ MapProxy="MediaWiki\\Extensions\\Nimiarkisto\\MapProxySpecialPage", }, repository="https://github.com/Nikerabbit/mediawiki-extensions-Nimiarkisto.git", }, NonsaCodeJanitor={ name="NonsaCodeJanitor", author="Ostrzyciel", url="https://gitlab.com/nonsensopedia/extensions/nonsacodejanitor", ["license-name"]="GPL-2.0+", version="0.2.0", namemsg="nonsaCodeJanitor", descriptionmsg="nonsaCodeJanitor-desc", requires={ MediaWiki=">= 1.35.0", }, Hooks={ ParserPreSaveTransformComplete="NonsaCodeJanitor\\Hooks::onParserPreSaveTransformComplete", }, type="other", repository="https://gitlab.com/nonsensopedia/extensions/nonsacodejanitor.git/", }, NonsaLinks={ name="NonsaLinks", author="Ostrzyciel", ["license-name"]="GPL-2.0+", version="0.3.0", namemsg="nonsaLinks", descriptionmsg="nonsaLinks-desc", url="https://gitlab.com/nonsensopedia/extensions/nonsalinks", type="semantic", requires={ MediaWiki=">= 1.35.0", extensions={ SemanticMediaWiki=">= 3.1.0", }, }, config={ NLSeeAlsoAliases={ "Zobacz też",}, NLSeeAlsoNamespaces={ 0,}, }, ExtensionMessagesFiles={ NonsaLinksMagic="NonsaLinks.magic.php", }, Hooks={ ["SMW::Store::BeforeDataUpdateComplete"]="NonsaLinks\\Hooks\\BeforeDataUpdateComplete::run", ["SMW::Property::initProperties"]="NonsaLinks\\Hooks\\InitProperties::run", GetDoubleUnderscoreIDs="NonsaLinks\\Hooks\\GetDoubleUnderscoreIDs::run", }, repository="https://gitlab.com/nonsensopedia/extensions/nonsalinks.git/", }, OSBlocks={ name="OSBlocks", author={ "Nick A. (Naleksuh)","Jacob G. (jvvg)",}, Hooks={ userCan="OSBlocks::onUserCan", }, repository="https://github.com/InternationalScratchWiki/OSBlocks.git", }, PDFEmbed={ name="PDFEmbed", version="2.0.2", author="Alexia E. Smith", url="https://www.mediawiki.org/wiki/Extension:PDFEmbed", descriptionmsg="pdfembed_description", ["license-name"]="LGPL-3.0-only", requires={ MediaWiki=">= 1.29.0", }, type="parserhook", GroupPermissions={ sysop={ embed_pdf=true, }, }, AvailableRights={ "embed_pdf",}, Hooks={ ParserFirstCallInit="PDFEmbed::onParserFirstCallInit", }, FileExtensions={ "pdf",}, config={ PdfEmbed={ width=800, height=1090, }, }, repository="https://gitlab.com/hydrawiki/extensions/PDFEmbed.git", }, PHPEditor={ name="PHPEditor", version="0.01", author={ "Mark A. Hershberger",}, url="http://git-media.wiki", descriptionmsg="phpeditor-desc", ["license-name"]="GPL-3.0-or-later", type="other", callback="PHPEditor\\Hooks::onRegistration", Hooks={ CodeEditorGetPageLanguage="PHPEditor\\Hooks::onCodeEditorGetPageLanguage", ContentHandlerForModelID="PHPPEditor\\Hooks::onContentHandlerForModelID", }, ContentHandlers={ php="PHPEditor\\ContentHandler", }, SyntaxHighlightModels={ php="php", }, repository="https://github.com/mwstake/mediawiki-extensions-PHPEditor", }, PageAuthors={ name="PageAuthors", version="1.4", url="https://www.mediawiki.org/wiki/Extension:PageAuthors", author="Sophivorus", descriptionmsg="pageauthors-desc", ["license-name"]="GPL-3.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.35.0", }, ExtensionMessagesFiles={ PageAuthorsMagic="PageAuthors.i18n.magic.php", }, Hooks={ GetMagicVariableIDs="PageAuthors::onGetMagicVariableIDs", ParserGetVariableValueSwitch="PageAuthors::onParserGetVariableValueSwitch", ParserFirstCallInit="PageAuthors::onParserFirstCallInit", }, config={ PageAuthorsMinBytesPerAuthor={ value=100, }, PageAuthorsMinBytesPerEdit={ value=10, }, PageAuthorsIgnoreSummaryPatterns={ value={ "/Undo.*/","/Revert.*/",}, }, PageAuthorsIgnoreMinorEdits={ value=true, }, PageAuthorsIgnoreSystemUsers={ value=true, }, PageAuthorsIgnoreBots={ value=true, }, PageAuthorsIgnoreAnons={ value=true, }, PageAuthorsIgnoreUsers={ value={ }, }, PageAuthorsIgnoreGroups={ value={ }, }, PageAuthorsIgnoreBlocked={ value=true, }, PageAuthorsUseRealNames={ value=false, }, PageAuthorsLinkUserPages={ value=false, }, PageAuthorsDelimiter={ value=", ", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/PageAuthors", }, PageLoadingSpinner={ name="PageLoadingSpinner", version="1.0.0", author={ "Pierre Boutet",}, url="https://github.com/Wikifab/PageLoadingSpinner", descriptionmsg="pageloadingspinner-desc", ["license-name"]="MIT", type="other", Hooks={ ["EditPage::showEditForm:initial"]={ "PageLoadingSpinner\\Hooks::start",}, ["FormEdit::showEditForm:initial"]={ "PageLoadingSpinner\\Hooks::start",}, BeforePageDisplay={ "PageLoadingSpinner\\Hooks::onBeforePageDisplay",}, }, composer="wikifab/page-loading-spinner", repository="https://github.com/Wikifab/PageLoadingSpinner", }, PageMediaGallery={ name="PageMediaGallery", version="0.0.0", author={ "Pierre Boutet","Julien",}, url="https://github.com/Wikifab/PageMediaGallery", descriptionmsg="imagesGallery-desc", ["license-name"]="MIT", type="other", config={ PageMediaGalleryFoo=true, pmgEnabledForms=false, PageMediaGallerySearchLimit=10, }, APIModules={ pagemediagallery_browse="PageMediaGallery\\ApiBrowse", }, callback="PageMediaGallery\\Hooks::onExtensionLoad", Hooks={ ["EditPage::showEditForm:initial"]={ "PageMediaGallery\\Hooks::start",}, ["FormEdit::showEditForm:initial"]={ "PageMediaGallery\\Hooks::start",}, sfRenderingEnd={ "PageMediaGallery\\Hooks::addToForm",}, UploadComplete={ "PageMediaGallery\\Hooks::onUploadComplete",}, PageContentInsertComplete={ "PageMediaGallery\\Hooks::onPageContentInsertComplete",}, }, composer="wikifab/page-media-gallery", repository="https://github.com/Wikifab/PageMediaGallery", }, PageProtect={ name="PageProtect", version="0.1.0", ["license-name"]="GPL-3.0+", author={ "Mark A. Hershberger",}, require={ "1.26",}, url="https://www.mediawiki.org/wiki/Extension:PageProtect", descriptionmsg="pageprotect-desc", type="specialpage", callback="PageProtect\\Hook::initExtension", ConfigRegistry={ PageProtect="PageProtect\\Hook::makeConfig", }, Hooks={ ArticleProtect="PageProtect\\Hook::onArticleProtect", ArticleProtectComplete="PageProtect\\Hook::onArticleProtectComplete", getUserPermissionsErrors="PageProtect\\Hook::onGetUserPermissionsErrors", ImgAuthBeforeStream="PageProtect\\Hook::onImgAuthBeforeStream", LoadExtensionSchemaUpdates="PageProtect\\Hook::onLoadExtensionSchemaUpdates", ["ProtectionForm::buildForm"]="PageProtect\\Hook::onProtectionFormBuildForm", ["ProtectionForm::save"]="PageProtect\\Hook::onProtectionFormSave", ["ProtectionForm::showLogExtract"]="PageProtect\\Hook::onProtectionFormShowLog", TitleGetRestrictionTypes="PageProtect\\Hook::onTitleGetRestrictionTypes", }, config={ ["_prefix"]="PageProtect", }, AvailableRights={ "pageprotect-by-group",}, GroupPermissions={ sysop={ ["pageprotect-by-group"]=true, }, }, repository="https://github.com/hexmode/mediawiki-PageProtect", }, PageViewInfoGA={ name="PageViewInfoGA", version="0.1.2", author="Femiwiki Team", url="https://github.com/femiwiki/PageViewInfoGA", descriptionmsg="pageviewinfoga-desc", ["license-name"]="AGPL-3.0-or-later", requires={ MediaWiki=">= 1.36.0", extensions={ PageViewInfo="*", }, }, HookHandlers={ default={ class="MediaWiki\\Extension\\PageViewInfoGA\\Hooks\\Main", services={ "MainConfig",}, }, MediaWikiServices={ class="MediaWiki\\Extension\\PageViewInfoGA\\Hooks\\MediaWikiServices", }, }, Hooks={ BeforePageDisplay="default", MediaWikiServices="MediaWikiServices", }, config={ PageViewInfoGATrackingID={ value=false, }, PageViewInfoGACredentialsFile={ value=false, description="The file name of the credentials from the Google API Console.", }, PageViewInfoGAProfileId={ value=false, description="Profile(View) ID of the Google Analytics View. You can use the Account Explorer to find a View ID.", }, PageViewInfoGAWriteCustomDimensions={ value=true, description="Send custom dimensions MediaWiki-readable page id and page title.", }, PageViewInfoGAWriteCustomMap={ value={ dimension1="mw:page_id", dimension2="mw:page_title", }, }, PageViewInfoGAReadCustomDimensions={ value=false, description="Use custom dimensions require additional installation steps.", }, }, composer="femiwiki/page-view-info-ga", repository="https://github.com/femiwiki/PageViewInfoGA", }, GoogleAnalyticsPageViewsPropertyAnnotator={ name="Page Views Property", author="Julien", url="https://www.mediawiki.org/wiki/Extension:GoogleAnalyticsPageViewsPropertyAnnotator", descriptionmsg="pageviewsproperty-desc", version="1.0", ["license-name"]="GPL-2.0+", type="other", JobClasses={ PageViewsPropertyUpdate="PageViewsProperty\\PageViewsPropertyUpdateJob", }, callback="PageViewsProperty\\Hooks::onExtension", Hooks={ BeforePageDisplay={ "PageViewsProperty\\Hooks::onBeforePageDisplay",}, }, config={ PageViewsPropertyRefreshDelayInterval=false, }, composer="wikifab/page-views-property", repository="https://github.com/Wikifab/PageViewsProperty.git", }, PassEdit={ name="PassEdit", author={ "apple502j",}, url="https://github.com/InternationalScratchWiki/PassEdit", descriptionmsg="passedit-desc", ["license-name"]="GPL-3.0-or-later", AvailableRights={ "editpassword",}, GroupPermissions={ ["*"]={ editpassword=false, }, bureaucrat={ editpassword=true, }, }, SpecialPages={ EditPassword="PassEdit", }, repository="https://github.com/InternationalScratchWiki/PassEdit.git", }, PdfBook={ name="PdfBook", version="2.0.5, 2021-07-19", author={ "Aran Dunkley","Igor Absorto",}, url="http://www.mediawiki.org/wiki/Extension:PdfBook", descriptionmsg="pdfbook-desc", ["license-name"]="GNU General Public Licence 2.0 or later", type="parserhook", callback="PdfBookHooks::onRegistration", config={ wgPdfBookTab=false, ["@"]="Whether the files should be downloaded or view in-browser", wgPdfBookDownload=true, }, Hooks={ SkinTemplateNavigation={ "PdfBookHooks::onSkinTemplateNavigation",}, }, repository="https://gitlab.com/Aranad/PdfBook.git", }, PerconaDB={ name="PerconaDB", author={ "Mark A. Hershberger",}, url="https://www.mediawiki.org/wiki/Extension:PerconaDB", descriptionmsg="perconadb-desc", ["license-name"]="GPL-3.0-or-later", type="database", requires={ MediaWiki=">= 1.31.0", }, Hooks={ ["SMW::SQLStore::Installer::BeforeCreateTablesComplete"]="MediaWiki\\Extension\\PerconaDB\\Hook::onSMWBeforeCreateTablesComplete", LoadExtensionSchemaUpdates="MediaWiki\\Extension\\PerconaDB\\Hook::onLoadExtensionSchemaUpdates", }, Providers={ Databases={ percona={ Installer="MediaWiki\\Extension\\PerconaDB\\Installer", Driver="MediaWiki\\Extension\\PerconaDB\\Database", Updater="MysqlUpdater", }, }, }, repository="https://github.com/MWStake/PerconaDB", composer="mediawiki/percona-db", }, PeriodicRelatedChanges={ name="PeriodicRelatedChanges", version="0.1.0", ["license-name"]="GPL-3.0+", author={ "Mark A. Hershberger",}, require={ MediaWiki="1.26", Echo="*", }, url="https://www.mediawiki.org/wiki/Extension:PeriodicRelatedChanges", descriptionmsg="periodic-related-changes-desc", type="specialpage", SpecialPages={ PeriodicRelatedChanges="MediaWiki\\Extensions\\PeriodicRelatedChanges\\SpecialPeriodicRelatedChanges", }, GroupPermissions={ sysop={ ["periodic-related-changes-any-user"]=true, }, user={ ["periodic-related-changes"]=true, }, }, AvailableRights={ "periodic-related-changes-any-user","periodic-related-changes",}, ConfigRegistry={ PeriodicRelatedChanges="MediaWiki\\Extensions\\PeriodicRelatedChanges\\Hook::makeConfig", }, Hooks={ LoadExtensionSchemaUpdates={ "MediaWiki\\Extensions\\PeriodicRelatedChanges\\Hook::onLoadExtensionSchemaUpdates",}, BeforeCreateEchoEvent={ "MediaWiki\\Extensions\\PeriodicRelatedChanges\\Hook::onBeforeCreateEchoEvent",}, EchoGetBundleRules={ "MediaWiki\\Extensions\\PeriodicRelatedChanges\\Hook::onEchoGetBundleRules",}, CategoryAfterPageAdded={ "MediaWiki\\Extensions\\PeriodicRelatedChanges\\Hook::onCategoryAfterPageAdded",}, CategoryAfterPageRemoved={ "MediaWiki\\Extensions\\PeriodicRelatedChanges\\Hook::onCategoryAfterPageRemoved",}, PageContentSaveComplete={ "MediaWiki\\Extensions\\PeriodicRelatedChanges\\Hook::onPageContentSaveComplete",}, }, config={ ["_prefix"]="PeriodicRelatedChanges", }, composer="mwstake/periodic-related-changes", repository="https://github.com/hexmode/mediawiki-PeriodicRelatedChanges", }, Pickle={ name="Pickle", version="0.1.0", author={ "John Erling Blad",}, url="https://www.mediawiki.org/wiki/Extension:Pickle", descriptionmsg="pickle-desc", ["license-name"]="GPL-2.0", type="other", requires={ MediaWiki=">= 1.33", extensions={ Scribunto="*", }, }, config_prefix="wgPickle", config={ Setup={ description={ "How to construct the tests, that is whether description does setup.","* implicit – setup as part of describe","* explicit – setup as part of module require",}, value="implicit", }, ObserverID={ description="The user ID used by the logger.", value=3, }, TranslationFollows={ description={ "Which ones of the entries from TranslationPath should be used","* content – follow content language","* user – follow user language (caching must be turned off)",}, value="content", }, TranslationPath={ description={ "Alternate formats for how to build the translation path","* content – format to use while following content language","* user – format to use while following user language (caching must be turned off)",}, value={ content="Module:%s/i18n", user="Module:%s/%s", }, }, DefaultNamespace={ description="Which namespace to use for tests", value=828, }, RenderPath={ description="Formats to use while requiring renders.", value="picklelib/render/Render%s%s", }, RenderStyles={ description={ "The style part of name","* compact – the name for the minimal plain text report","* full – the name for the full plain text report","* vivid – the name for the full html report",}, value={ compact="Compact", full="Full", vivid="Vivid", }, }, RenderTypes={ description={ "The type part of the name","* report-adapt – the name for the renders handling adapt reports","* report-case – the name for the renders handling case reports",}, value={ ["report-adapt"]="Adapt", ["report-case"]="Case", }, }, ExtractorPath={ description="Formats to use while requiring extractors.", value="picklelib/Extractor%s", }, Extractor={ description="Key-value pairs for extractors, used by require during setup of Lua-modules.", value={ }, }, NeglectSubpages={ description="List of patterns mathing subpage titles that should not be processed.", value={ "/^(?:.*?\\.)?doc$/","/^(?:.*?\\.)?conf$/","/^(?:.*?\\.)?data$/","/^(?:.*?\\.)?i18n$/","/^(?:.*?\\.)?l10n$/",}, }, Indicator={ description={ "Configuration of Indicator instances","* class – PHP class for this instance","* name – what to name the instance","* icon – visual representation of this instance",}, value={ { class="Pickle\\IndicatorCommon", name="fail", icon="red-fail", },{ class="Pickle\\IndicatorCommon", name="todo-fail", icon="yellow-fail", },{ class="Pickle\\IndicatorCommon", name="todo-good", icon="yellow-good", },{ class="Pickle\\IndicatorCommon", name="skip-fail", icon="yellow-fail", },{ class="Pickle\\IndicatorCommon", name="skip-good", icon="yellow-good", },{ class="Pickle\\IndicatorCommon", name="pending", icon="yellow-unknown", },{ class="Pickle\\IndicatorCommon", name="good", icon="green-good", },{ class="Pickle\\IndicatorCommon", name="missing", icon="yellow-unknown", },{ class="Pickle\\IndicatorDefault", icon="yellow-unknown", },}, }, Category={ description={ "Configuration of Category instances","* class – PHP class for this instance","* name – what to name the instance","* key – part of a message key to describe the instance",}, value={ { class="Pickle\\CategoryCommon", name="fail", key="fail", },{ class="Pickle\\CategoryCommon", name="pending", key="pending", },{ class="Pickle\\CategoryCommon", name="good", key="good", },{ class="Pickle\\CategoryCommon", name="todo-fail", key="todo", },{ class="Pickle\\CategoryCommon", name="todo-good", key="todo", },{ class="Pickle\\CategoryCommon", name="skip-fail", key="skip", },{ class="Pickle\\CategoryCommon", name="skip-good", key="skip", },{ class="Pickle\\CategoryCommon", name="missing", key="missing", },{ class="Pickle\\CategoryDefault", key="unknown", },}, }, LogEntry={ description={ "Configuration of LogEntry instances","* class – PHP class for this instance","* name – what to name the instance",}, value={ { class="Pickle\\LogEntryCommon", name="skip-fail", },{ class="Pickle\\LogEntryCommon", name="skip-good", },{ class="Pickle\\LogEntryCommon", name="todo-fail", },{ class="Pickle\\LogEntryCommon", name="todo-good", },{ class="Pickle\\LogEntryCommon", name="fail", },{ class="Pickle\\LogEntryCommon", name="good", },{ class="Pickle\\LogEntryCommon", name="exists", },{ class="Pickle\\LogEntryCommon", name="missing", },{ class="Pickle\\LogEntryDefault", },}, }, InvokeSubpage={ description={ "Configuration of InvokeSubpage instances","* class – PHP class for this instance","* type – system to invoke","* name – what to name the instance",}, value={ { class="Pickle\\InvokeSubpageByContentType", type="Scribunto", name="testspec", },{ class="Pickle\\InvokeSubpageByContentType", type="Scribunto", name="testcase", },{ class="Pickle\\InvokeSubpageDefault", },}, }, TAP={ description={ "Configuration of TAP instances","* class – PHP class for this instance",}, value={ { class="Pickle\\TAP13Parser", },{ class="Pickle\\TAPCommonParser", },}, }, ExtractStatus={ description={ "Configuration of ExtractStatus instances","* class – PHP class for this instance","* pattern – how to recognize the status","* name – what to name the instance",}, value={ { class="Pickle\\ExtractStatusByPattern", name="fail", pattern="/^(fail(ing|ed|)|bad|not\\s+ok|bail(ing|ed|)\\s+out!)$/i", },{ class="Pickle\\ExtractStatusByPattern", name="todo-fail", pattern="/^(todo)[-_\\s](fail(ing|ed|)|bad|not\\s+ok)$/i", },{ class="Pickle\\ExtractStatusByPattern", name="todo-good", pattern="/^(todo)[-_\\s](good|ok)$/i", },{ class="Pickle\\ExtractStatusByPattern", name="skip-fail", pattern="/^(skipp?(ing|ed|))[-_\\s](fail(ing|ed|)|bad|not\\s+ok)$/i", },{ class="Pickle\\ExtractStatusByPattern", name="skip-good", pattern="/^(skipp?(ing|ed|))[-_\\s](good|ok)$/i", },{ class="Pickle\\ExtractStatusByPattern", name="pending", pattern="/^(pending)$/i", },{ class="Pickle\\ExtractStatusByPattern", name="good", pattern="/^(good|ok)$/i", },{ class="Pickle\\ExtractStatusDefault", },}, }, }, callback="Pickle\\Hooks::onExtensionSetup", ExtensionMessagesFiles={ RelatedArticlesMagic="Pickle.i18n.magic.php", }, Hooks={ SpecTesterGadgets={ "Pickle\\IndicatorFactory::addIndicator",}, SpecTesteeGadgets={ "Pickle\\IndicatorFactory::addIndicator","Pickle\\CategoryFactory::addCategorization","Pickle\\LogEntryFactory::addLogEntry",}, ParserFirstCallInit={ "Pickle\\Hooks::onParserSetup",}, ContentAlterParserOutput={ "Pickle\\Hooks::onContentAlterParserOutput",}, OutputPageParserOutput={ "Pickle\\SubLinksView::onOutputPageParserOutput",}, ["EditPage::showStandardInputs:options"]={ "Pickle\\ConsoleView::onShowStandardInputsOptions",}, ["EditPage::showReadOnlyForm:initial"]={ "Pickle\\ConsoleView::onShowReadOnlyFormInitial",}, ScribuntoExternalLibraries={ "Pickle\\Hooks::onRegisterScribuntoLibraries",}, ScribuntoExternalLibraryPaths={ "Pickle\\Hooks::onRegisterScribuntoExternalLibraryPaths",}, }, TrackingCategories={ "pickle-tracking-category-good","pickle-tracking-category-pending","pickle-tracking-category-todo","pickle-tracking-category-skip","pickle-tracking-category-fail","pickle-tracking-category-missing","pickle-tracking-category-unknown",}, SpecialPages={ }, LogTypes={ "track",}, LogNames={ track="pickle-track-log-name", }, LogHeaders={ track="pickle-track-log-header", }, LogActions={ ["track/good"]="pickle-track-log-entry-good", ["track/fail"]="pickle-track-log-entry-fail", ["track/skip-good"]="pickle-track-log-entry-skip-good", ["track/skip-fail"]="pickle-track-log-entry-skip-fail", ["track/todo-good"]="pickle-track-log-entry-todo-good", ["track/todo-fail"]="pickle-track-log-entry-todo-fail", ["track/missing"]="pickle-track-log-entry-missing", ["track/unknown"]="pickle-track-log-entry-unknown", }, repository="https://git.wikimedia.org/tree/mediawiki%2Fextensions%2FBootstrap", composer="jeblad/pickle", }, Preloader={ name="Preloader", version="1.4", author={ "Rob Church","Troy Engel","Jack Phoenix",}, ["license-name"]="MIT", url="https://www.mediawiki.org/wiki/Extension:Preloader", descriptionmsg="preloader-desc", type="parserhook", config={ PreloaderSource={ [1]="Template:Preload", ["_merge_strategy"]="array_plus", }, }, Hooks={ EditFormPreloadText="Preloader::mainHook", }, composer="troyengel/preloader", repository="https://gitlab.com/troyengel/Preloader.git", }, Purge={ name="Purge", version="2.0.0", author={ "Ævar Arnfjörð Bjarmason","Tom Hutchison","Sam Wilson",}, url="https://www.mediawiki.org/wiki/Extension:Purge", descriptionmsg="purge-descriptionmsg", ["license-name"]="GPL-2.0+", type="other", requires={ MediaWiki=">= 1.31.0", }, Hooks={ SkinTemplateNavigation="MediaWiki\\Extension\\Purge\\Hooks::onSkinTemplateNavigation", }, repository="https://github.com/Hutchy68/Purge.git", }, PurgePage={ name="PurgePage", version="1.0.1-alpha", author={ "Stephan Gambke",}, url="https://www.mediawiki.org/wiki/Extension:PurgePage", description="Provides the #purge parser function", ["license-name"]="GPL-2.0+", type="parserhook", requires={ MediaWiki="~1.26", }, Hooks={ ParserFirstCallInit={ "PurgePage\\PurgePage::registerParserFunction",}, }, callback="PurgePage\\PurgePage::init", repository="https://github.com/s7eph4n/PurgePage", composer="mediawiki/purge-page", }, QueryViz={ name="QueryViz", version="0.1.0", author={ "Antoine Lamielle",}, url="https://www.mediawiki.org/wiki/Extension:QueryViz", namemsg="queryviz", descriptionmsg="queryviz-desc", ["license-name"]="GPL-2.0+", type="other", config={ wgQueryVizEndpoint="", }, Hooks={ ParserFirstCallInit={ "QueryViz\\Hooks::onParserFirstCallInit",}, }, repository="https://github.com/lingua-libre/QueryViz.git", }, Radyjonka={ name="Radyjonka", author="Petr Kajzar", url="https://www.mediawiki.org/wiki/Extension:Radyjonka", ["license-name"]="CC0-1.0", version="0.4.0", descriptionmsg="radyjonka-desc", requires={ MediaWiki=">= 1.29.0", }, Hooks={ OutputPageBeforeHTML="RadyjonkaHooks::onOutputPageBeforeHTML", }, config={ RadyjonkaLinkedData={ value=false, description="Linked data in an associative array.", }, RadyjonkaPWA={ value=false, description="Use manifest.json and sw.js to create an PWA?", }, }, type="other", repository="https://bitbucket.org/wikiskripta/radyjonka.git", }, RatePage={ name="RatePage", author={ "Ostrzyciel","Polskacafe",}, ["license-name"]="GPL-2.0-or-later", version="2.12.1", requires={ MediaWiki=">= 1.36.0", }, namemsg="ratePage", descriptionmsg="ratePage-desc", url="https://www.mediawiki.org/wiki/Extension:RatePage", config={ RPRatingAllowedNamespaces=nil, RPRatingPageBlacklist={ }, RPSidebarPosition=2, RPRatingMin=1, RPRatingMax=5, RPFrontendEnabled=true, RPAddSidebarSection=true, RPUseMMVModule=true, RPEnableSMWRatings=true, RPEnableSMWContests=true, RPShowResultsBeforeVoting=false, RPImmediateSMWUpdate=false, }, GroupPermissions={ ["*"]={ ["ratepage-vote"]=true, ["ratepage-contests-view-list"]=true, }, sysop={ ["ratepage-contests-view-details"]=true, ["ratepage-contests-edit"]=true, }, bureaucrat={ ["ratepage-contests-clear"]=true, }, }, ExtensionMessagesFiles={ RatePageMagic="RatePage.magic.php", RatePageAlias="RatePage.alias.php", }, Hooks={ BeforePageDisplay="RatePage\\Hooks::onBeforePageDisplay", LoadExtensionSchemaUpdates="RatePage\\Hooks::onLoadExtensionSchemaUpdates", SidebarBeforeOutput="RatePage\\Hooks::onSidebarBeforeOutput", ParserFirstCallInit="RatePage\\Hooks::onParserFirstCallInit", ["SMW::Property::initProperties"]="RatePage\\SMW\\Hooks::onInitProperties", ["SMW::Store::BeforeDataUpdateComplete"]="RatePage\\SMW\\Hooks::onBeforeDataUpdateComplete", }, SpecialPages={ RatePageContests="RatePage\\Special\\RatePageContests", }, APIModules={ ratepage="RatePage\\Api\\RatePage", }, APIPropModules={ pagerating="RatePage\\Api\\QueryPageRatingProp", }, LogTypes={ "ratepage-contest",}, LogNames={ ["ratepage-contest"]="ratePage-contest-log", }, LogHeaders={ ["ratepage-contest"]="ratePage-contest-log-header", }, LogActionsHandlers={ ["ratepage-contest/*"]="RatePage\\ContestLogFormatter", }, type="other", callback="RatePage\\Hooks::onRegistration", repository="https://gitlab.com/nonsensopedia/extensions/ratepage", }, RealTimeUsers={ name="RealTimeUsers", version="1.0", author="Josef Martiňák", url="https://bitbucket.org/wikiskripta/realtimeusers", descriptionmsg="realtimeusers-desc", ["license-name"]="MIT", type="parserhook", status="stable", requires={ MediaWiki=">= 1.29.0", }, SpecialPages={ RealTimeUsers="RealTimeUsers", }, Hooks={ ParserFirstCallInit="RealTimeUsersHooks::registerParserHook", BeforePageDisplay="RealTimeUsersHooks::showChart", }, config={ refreshInterval={ value=10, description="Refreshing interval in seconds of RT users number displayed on a webpage.", }, }, repository="https://bitbucket.org/wikiskripta/realtimeusers.git", }, Realnames={ name="Realnames", type="parserhook", author={ "Finlay Beaton","...",}, version="0.8.0", url="https://www.mediawiki.org/wiki/Extension:Realnames", description="Displays a user's real name everywhere", ["license-name"]="BSD-2-Clause", requires={ MediaWiki=">= 1.31.0", }, config={ RealnamesLinkStyle="paren-reverse", RealnamesLinkStyleBlankName="standard", RealnamesLinkStyleSameName="standard", RealnamesBareStyle=false, RealnamesBareStyleBlankName=false, RealnamesBareStyleSameName=false, RealnamesBlank=false, RealnamesReplacements={ title=true, subtitle=true, personnal=true, body=true, }, RealnamesStyles={ standard="$1$2$4", append="$1$2 [$3]$4", replace="$1$3$4", reverse="$1$3 [$2]$4", dash="$1$2 – $3$4", ["dash-reverse"]="$1$3$4 – $2", ["paren-append"]="$1$2 ($3)$4", ["paren-reverse"]="$1$3 ($2)$4", }, RealnamesSmart={ same=true, }, RealnamesNamespaces={ }, }, Hooks={ BeforePageDisplay="\\MediaWiki\\Extension\\Realnames\\Realnames::hookBeforePageDisplay", PersonalUrls="\\MediaWiki\\Extension\\Realnames\\Realnames::hookPersonalUrls", }, composer="ofbeaton/mediawiki-realnames", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Realnames", }, RecentChangesLogFilter={ name="RecentChangesLogFilter", author="Patrick Westerhoff", version="1.3", url="http://mediawiki.org/wiki/Extension:RecentChangesLogFilter", ["license-name"]="MPL-2.0", description="Filters log entries from Special:RecentChanges", descriptionmsg="recentchangeslogfilter-desc", type="other", requires={ MediaWiki=">= 1.25.0", }, Hooks={ ChangesListSpecialPageFilters="RecentChangesLogFilterHooks::onChangesListSpecialPageFilters", ChangesListSpecialPageQuery="RecentChangesLogFilterHooks::onChangesListSpecialPageQuery", GetPreferences="RecentChangesLogFilterHooks::onGetPreferences", }, DefaultUserOptions={ rchidelogs=1, }, config={ RecentChangesLogFilterTypes={ "newusers",}, }, repository="https://github.com/poke/mediawiki-RecentChangesLogFilter.git", }, RecorderWizard={ name="RecordWizard", version="0.1.0", author={ "Antoine Lamielle",}, url="https://www.mediawiki.org/wiki/Extension:RecorderWizard", namemsg="recordWizard", descriptionmsg="recordWizard-desc", ["license-name"]="GPL-2.0+", type="other", config={ wgRecordWizardConfig={ properties={ langCode="", iso3="", gender="", spokenLanguages="", instanceOf="", linkedUser="", subclassOf="", audioRecord="", speaker="", date="", transcription="", wikidataId="", mediaType="", languageLevel="", residencePlace="", learningPlace="", }, items={ genderMale="", genderFemale="", genderOther="", language="", speaker="", record="", word="", langLevelNative="", langLevelGood="", langLevelAverage="", langLevelBeginner="", mediaTypeAudio="", mediaTypeVideo="", }, listNamespace=0, }, }, DefaultUserOptions={ ["recwiz-lang"]="", }, APIListModules={ rwrecords="RecordWizard\\ApiQueryRwRecords", }, SpecialPages={ RecordWizard="SpecialRecordWizard", }, ExtensionMessagesFiles={ RecordWizardAlias="RecordWizard.alias.php", }, Hooks={ ResourceLoaderTestModules={ "RecordWizardHooks::onResourceLoaderTestModules",}, GetPreferences={ "RecordWizardHooks::onGetPreferences",}, }, repository="https://github.com/lingua-libre/RecordWizard.git", }, RefreshSiteStatsTable={ name="RefreshSiteStatsTable", namemsg="refreshsitestatstable-name", version="1.1.2", author={ "[//wikimannia.org WikiMANNia]",}, url="https://github.com/WikiMANNia/Mediawiki-Extension-RefreshSiteStatsTable", descriptionmsg="refreshsitestatstable-desc", type="specialpage", ["license-name"]="GPL-3.0-or-later", ExtensionMessagesFiles={ RefreshSiteStatsTableAlias="RefreshSiteStatsTable.i18n.alias.php", }, SpecialPages={ RefreshSiteStatsTable="RefreshSiteStatsTable\\SpecialRefreshSiteStatsTable", }, repository="https://github.com/WikiMANNia/MediaWiki-Extension-RefreshSiteStatsTable.git", }, ResourceLoaderArticles={ name="ResourceLoaderArticles", version="2.1.0", author={ "Alex Winkler",}, url="https://github.com/Liquipedia/ResourceLoaderArticles", descriptionmsg="resourceloaderarticles-desc", ["license-name"]="GPL-2.0+", type="other", requires={ MediaWiki=">= 1.35.0", }, ExtensionMessagesFiles={ ResourceLoaderArticlesAlias="i18n/ResourceLoaderArticlesAlias.php", }, SpecialPages={ ResourceLoaderArticles="Liquipedia\\ResourceLoaderArticles\\SpecialResourceLoaderArticles", }, Hooks={ BeforePageDisplay={ "Liquipedia\\ResourceLoaderArticles\\Hooks::onBeforePageDisplay",}, ResourceLoaderRegisterModules={ "Liquipedia\\ResourceLoaderArticles\\Hooks::onResourceLoaderRegisterModules",}, LoadExtensionSchemaUpdates={ "Liquipedia\\ResourceLoaderArticles\\Hooks::onLoadExtensionSchemaUpdates",}, }, AvailableRights={ "adminresourceloaderarticles",}, GroupPermissions={ sysop={ adminresourceloaderarticles=true, }, }, config={ ResourceLoaderArticlesWiki="/commons/load.php", }, repository="https://github.com/Liquipedia/ResourceLoaderArticles.git", }, ResponsiveFrontend={ name="ResponsiveFrontend", author={ "Polskacafe","Ostrzyciel",}, namemsg="responsiveFrontend", descriptionmsg="responsiveFrontend-desc", ["license-name"]="GPL-3.0-or-later", version="0.2.0", type="other", requires={ MediaWiki=">= 1.36.0", }, Hooks={ ArticleContentOnDiff="DiffHooks", GetSlotDiffRenderer="DiffHooks", ["EditPage::showEditForm:initial"]="DiffHooks", GetPreferences="DiffHooks", }, HookHandlers={ DiffHooks={ class="MediaWiki\\Extension\\ResponsiveFrontend\\Hooks", services={ "UserOptionsLookup",}, }, }, DefaultUserOptions={ ["responsive-use-flex-diffs"]=true, }, repository="https://gitlab.com/nonsensopedia/extensions/responsivefrontend.git/", }, RottenLinks={ name="RottenLinks", version="1.0.17", author={ "John Lewis","Universal Omega",}, descriptionmsg="rottenlinks-desc", ["license-name"]="GPL-3.0-or-later", url="https://github.com/miraheze/RottenLinks", type="specialpage", requires={ MediaWiki=">= 1.35.3", }, SpecialPages={ RottenLinks="SpecialRottenLinks", }, ExtensionMessagesFiles={ RottenLinksAliases="includes/RottenLinksAliases.php", }, Hooks={ LoadExtensionSchemaUpdates={ "RottenLinksHooks::fnRottenLinksSchemaUpdates",}, }, config={ RottenLinksBadCodes={ description="Holds a list of HTTP codes that are considered bad. (array)", public=true, value={ "0","400","401","403","404","405","502","503","504",}, }, RottenLinksCurlTimeout={ description="Sets the timeout for cURL in seconds. (integer)", public=true, value=30, }, RottenLinksExcludeProtocols={ description="Holds a list of protocols that should not be checked for validity. (array)", public=true, value={ "tel","mailto",}, }, RottenLinksExcludeWebsites={ description="List of websites to blacklist checking of response codes for. (array)", public=true, value=false, }, RottenLinksExternalLinkTarget={ description="Sets the external link target (_self for the current tab or _blank for a new tab). (string)", public=true, value="_self", }, }, ConfigRegistry={ rottenlinks="GlobalVarConfig::newInstance", }, composer="miraheze/rottenlinks", repository="https://github.com/miraheze/RottenLinks", }, SLight={ name="SLight", version="1.0", author="Josef Martiňák", url="https://bitbucket.org/wikiskripta/slight", description="Extension allows inserting Silverlight content", type="parserhook", ["license-name"]="MIT", status="stable", requires={ MediaWiki=">= 1.29.0", }, Hooks={ ParserFirstCallInit="SLightHooks::registerParserHook", }, repository="https://bitbucket.org/wikiskripta/slight", }, Sanat={ name="Sanat", version="1.1.0+20200626", author={ "Niklas Laxström",}, url="https://github.com/Nikerabbit/mediawiki-extensions-Sanat", description="Supporting code for sanat.csc.fi", ["license-name"]="GPL-2.0-or-later", repository="https://github.com/Nikerabbit/mediawiki-extensions-Sanat.git", }, Sanctions={ name="Sanctions", version="1.1.0", author="Femiwiki Team", url="https://github.com/femiwiki/sanctions", descriptionmsg="sanctions-desc", ["license-name"]="AGPL-3.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.35.0", extensions={ Echo="*", Flow="*", Renameuser="*", }, }, AvailableRights={ "sanctions-execute",}, Hooks={ LoadExtensionSchemaUpdates="SanctionsHooks::onLoadExtensionSchemaUpdates", AbortEmailNotification="SanctionsHooks::onAbortEmailNotification", BeforeEchoEventInsert="SanctionsHooks::onBeforeEchoEventInsert", EmailConfirmed="SanctionsHooks::onEmailConfirmed", ResourceLoaderGetConfigVars="SanctionsHooks::onResourceLoaderGetConfigVars", UserToolLinksEdit="SanctionsHooks::onUserToolLinksEdit", DiffTools="SanctionsHooks::onDiffTools", HistoryTools="SanctionsHooks::onHistoryTools", SidebarBeforeOutput="SanctionsHooks::onSidebarBeforeOutput", ContributionsToolLinks="SanctionsHooks::onContributionsToolLinks", FlowAddModules="SanctionsHooks::onFlowAddModules", }, SpecialPages={ Sanctions="SpacialSanctions", }, ExtensionMessagesFiles={ SanctionsAlias="Sanctions.alias.php", SanctionsMagic="Sanctions.i18n.magic.php", }, repository="https://github.com/femiwiki/Sanctions", }, SaneCase={ name="SaneCase", version="1.1", author={ "Martin Tournoij",}, description="Automatically redirect case mistakes", url="https://www.mediawiki.org/wiki/Extension:SaneCase", ["license-name"]="MIT", Hooks={ BeforeDisplayNoArticleText={ "SaneCase::onBeforeDisplayNoArticleText",}, }, repository="https://github.com/ciencia/mediawiki-extensions-SaneCase.git", }, ScratchBlocks4={ name="ScratchBlocks4", author={ "ErnieParke","blob8108","apple502j","kenny2github",}, url="https://github.com/InternationalScratchWiki/mw-ScratchBlocks4", descriptionmsg="sb3-desc", ["license-name"]="MIT", type="parserhook", Hooks={ ParserFirstCallInit={ "Scratchblock4Hook::sb4ParserInit",}, ResourceLoaderGetConfigVars={ "Scratchblock4Hook::sb4ReadLS",}, }, config={ ScratchBlocks4Langs={ }, ScratchBlocks4BlockVersion="3.0", }, repository="https://github.com/InternationalScratchWiki/mw-ScratchBlocks4.git", }, ["Scratch Account Request System"]={ name="Scratch Account Request System", descriptionmsg="scratch-confirmaccount-desc", author={ "Jacob G. (jvvg)","Naleksuh","apple502j","Kenny2scratch","ahmetlii",}, url="https://github.com/InternationalScratchWiki/scratch-confirmaccount-v3", version="0.1", ["license-name"]="GPL-2.0-or-later", ExtensionMessagesFiles={ ScratchConfirmAccount="src/ScratchConfirmAccount.i18n.alias.php", }, SpecialPages={ RequestAccount="SpecialRequestAccount", ConfirmAccounts="SpecialConfirmAccounts", }, JobClasses={ accountRequestCleanup="AccountRequestCleanupJob", expiredBlockCleanup="ExpiredBlockCleanupJob", }, Hooks={ LoadExtensionSchemaUpdates="ScratchConfirmAccountHooks::onLoadExtensionSchemaUpdates", BeforePageDisplay="ScratchConfirmAccountHooks::pendingRequestNotice", GetPreferences="ScratchConfirmAccountHooks::onGetPreferences", PersonalUrls="ScratchConfirmAccountHooks::onPersonalUrls", AuthChangeFormFields="ScratchConfirmAccountHooks::onAuthChangeFormFields", }, config={ ScratchVerificationProjectID="10135908", ScratchVerificationProjectAuthor="ModShare", ScratchAccountRequestRejectCooldownDays=7, ScratchAccountCheckDisallowNewScratcher=false, ScratchAccountJoinedRequirement=0, ScratchAccountAutoRejectStaleAwaitingUserRequestDays=30, AutoWelcomeNewUsers=true, }, DefaultUserOptions={ ["scratch-confirmaccount-open-scratch"]=true, }, AuthManagerAutoConfig={ preauth={ ScratchConfirmAccountPreAuthenticationProvider={ class="ScratchConfirmAccountPreAuthenticationProvider", sort=10, }, }, }, repository="https://github.com/InternationalScratchWiki/scratch-confirmaccount-v3", }, ["Scratch Login"]={ name="Scratch Login", author={ "Jacob G. (jvvg)","Kenny2scratch",}, url="https://github.com/jacob-g/mediawiki-scratch-login", descriptionmsg="scratchlogin-desc", version="1.1", ["license-name"]="GPL-2.0-or-later", type="specialpage", SpecialPages={ ScratchLogin="SpecialScratchLogin", ScratchPasswordReset="SpecialScratchPasswordReset", }, Hooks={ BeforePageDisplay="ScratchLoginHooks::insertScratchLoginLink", }, config={ ScratchLoginAuthenticator={ value="project", }, }, repository="https://github.com/InternationalScratchWiki/mediawiki-scratch-login.git", }, ScratchSig3={ name="ScratchSig3", author={ "Naleksuh","Jacob G. (jvvg)",}, url="https://github.com/InternationalScratchWiki/mw-scratchsig3", Hooks={ ParserFirstCallInit="ScratchSig::onParserFirstCallInit", }, repository="https://github.com/InternationalScratchWiki/mw-scratchsig3.git", }, ["Search Logger"]={ name="Search Logger", version="2.1.0", author={ "Alexia E. Smith","Hydra Wiki Platform Team",}, url="https://gitlab.com/HydraWiki/extensions/SearchLogger", descriptionmsg="searchlogger_description", ["license-name"]="GPL-3.0-only", type="specialpage", requires={ MediaWiki=">= 1.29.0", extensions={ HydraCore=">= 3.0.0", }, }, AvailableRights={ "search_log",}, GroupPermissions={ sysop={ search_log=true, }, }, SpecialPages={ SearchLog="SpecialSearchLog", }, ExtensionMessagesFiles={ SearchLoggerAliases="SearchLogger.alias.php", }, Hooks={ LoadExtensionSchemaUpdates="SearchLoggerHooks::onLoadExtensionSchemaUpdates", SpecialSearchResultsPrepend="SearchLoggerHooks::onSpecialSearchResultsPrepend", }, repository="https://gitlab.com/hydrawiki/extensions/SearchLogger.git", }, SemanticApprovedRevs={ name="SemanticApprovedRevs", version="0.1-alpha", author={ "James Hong Kong","...",}, url="https://github.com/SemanticMediaWiki/SemanticApprovedRevs/", descriptionmsg="semantic-approvedrevs-desc", namemsg="semantic-approvedrevs-name", ["license-name"]="GPL-2.0-or-later", type="semantic", requires={ MediaWiki=">= 1.30", }, callback="SMW\\ApprovedRevs\\Hooks::initExtension", ExtensionFunctions={ "SMW\\ApprovedRevs\\Hooks::onExtensionFunction",}, repository="https://github.com/SemanticMediaWiki/SemanticApprovedRevs", composer="mediawiki/semantic-approved-revs", }, SemanticBreadcrumbLinks={ name="SemanticBreadcrumbLinks", version="2.1.0-alpha", author={ "James Hong Kong","...",}, url="https://github.com/SemanticMediaWiki/SemanticBreadcrumbLinks/", descriptionmsg="sbl-desc", namemsg="sbl-name", ["license-name"]="GPL-2.0-or-later", type="semantic", requires={ MediaWiki=">= 1.27", }, callback="SemanticBreadcrumbLinks::initExtension", ExtensionFunctions={ "SemanticBreadcrumbLinks::onExtensionFunction",}, repository="https://github.com/SemanticMediaWiki/SemanticBreadcrumbLinks", composer="mediawiki/semantic-breadcrumb-links", }, SemanticCite={ name="SemanticCite", version="2.2.0-alpha", author={ "James Hong Kong",}, url="https://github.com/SemanticMediaWiki/SemanticCite/", descriptionmsg="sci-desc", namemsg="sci-name", ["license-name"]="GPL-2.0-or-later", type="semantic", requires={ MediaWiki=">= 1.31", extensions={ SemanticMediaWiki=">= 3.0", }, }, callback="SemanticCite::initExtension", ExtensionFunctions={ "SemanticCite::onExtensionFunction",}, repository="https://github.com/SemanticMediaWiki/SemanticCite", composer="mediawiki/semantic-cite", }, SemanticCommonsClient={ name="SemanticCommonsClient", author="Ostrzyciel", url="https://gitlab.com/nonsensopedia/extensions/semanticcommonsclient", ["license-name"]="GPL-3.0-or-later", version="0.3.1", namemsg="semanticCommonsClient", descriptionmsg="semanticCommonsClient-desc", requires={ MediaWiki=">= 1.35.0", extensions={ Scribunto="*", }, }, ServiceWiringFiles={ "includes/Services/ServiceWiring.php",}, config={ SccCommonsApiUrl="https://commons.wikimedia.org/w/api.php", SccWikidataQueryServiceUrl="https://query.wikidata.org/bigdata/namespace/wdq/sparql", }, Hooks={ ScribuntoExternalLibraries="SemanticCommonsClient\\Scribunto\\Hooks::onScribuntoExternalLibraries", }, APIModules={ purgecommonsmetadata={ class="SemanticCommonsClient\\Api\\PurgeMetadataModule", services={ "MainObjectStash","PermissionManager",}, }, }, AvailableRights={ "purge-commons-metadata",}, GroupPermissions={ rollback={ ["purge-commons-metadata"]=true, }, ["content-moderator"]={ ["purge-commons-metadata"]=true, }, sysop={ ["purge-commons-metadata"]=true, }, }, type="other", repository="https://gitlab.com/nonsensopedia/extensions/semanticcommonsclient.git/", }, SemanticCompoundQueries={ name="SemanticCompoundQueries", version="2.2.0-alpha", author={ "James Hong Kong","Yaron Koren","...",}, url="https://www.semantic-mediawiki.org/wiki/Extension:Semantic_Compound_Queries", descriptionmsg="semanticcompoundqueries-desc", namemsg="semanticcompoundqueries-name", ["license-name"]="GPL-2.0-or-later", type="semantic", requires={ MediaWiki=">= 1.31", extensions={ SemanticMediaWiki=">= 3.0", }, }, callback="SemanticCompoundQueries::initExtension", ExtensionFunctions={ "SemanticCompoundQueries::onExtensionFunction",}, repository="https://github.com/SemanticCompoundQueries/SemanticCompoundQueries", composer="mediawiki/semantic-compound-queries", }, SemanticExtraSpecialProperties={ name="SemanticExtraSpecialProperties", version="3.0.0-alpha", author={ "James Hong Kong","Leo Wallentin","...",}, url="https://github.com/SemanticMediaWiki/SemanticExtraSpecialProperties/", descriptionmsg="sesp-desc", namemsg="sesp-name", ["license-name"]="GPL-2.0-or-later", type="semantic", requires={ MediaWiki=">= 1.31", }, callback="SESP\\Hook::callback", ConfigRegistry={ sespg="SESP\\Config::newInstance", }, config_prefix="sespg", config={ UseFixedTables={ value=false, path=false, description="To setup properties as fixed properties in order to improve data access", descriptionmsg="sesp-config-uses-fixed-tables", }, DefinitionsFile={ value="data/definitions.json", path=true, description="Location of the property definitions", descriptionmsg="sesp-config-definitions-file", }, LocalDefinitions={ value={ }, path=false, description="Specifies local definitions", descriptionmsg="sesp-config-local-definitions", }, EnabledPropertyList={ value={ }, path=false, description="Specifies the enabled properties", descriptionmsg="sesp-config-enabled-property-list", }, LabelCacheVersion={ value="2018.03", path=false, description="Specifies an internal cache modifier", descriptionmsg="sesp-config-label-cache-version", }, ExcludeBotEdits={ value=false, path=false, description="Should edits via user accounts in usergroup \"bot\" be ignored when storing data for the special properties?", descrirptionmsg="sesp-config-exclude-bot-edits", }, }, repository="https://github.com/SemanticMediaWiki/SemanticExtraSpecialProperties", composer="mediawiki/semantic-extra-special-properties", }, SemanticFormsSelect={ name="Semantic Forms Select", version="3.1.0-alpha", author={ "Jason Zhang","James Hong Kong","Toni Hermoso Pulido","Thomas Mulhall","Alexander Gesinn","...",}, url="https://www.mediawiki.org/wiki/Extension:SemanticFormsSelect", descriptionmsg="sfs-desc", ["license-name"]="GPL-2.0-or-later", type="semantic", requires={ MediaWiki=">= 1.27", }, config={ ScriptSelectCount=0, SF_Select_debug=false, }, callback="SFS\\Hooks::onRegistration", Hooks={ ParserFirstCallInit={ "SFS\\Hooks::onSemanticFormsSelectSetup",}, }, composer="mediawiki/semantic-forms-select", repository="https://github.com/SemanticMediaWiki/SemanticFormsSelect.git", }, Semantic_Glossary={ name="Semantic Glossary", version="4.0.0", author={ "Stephan Gambke","James Hong Kong","...",}, url="https://www.mediawiki.org/wiki/Extension:Semantic_Glossary", descriptionmsg="semanticglossary-desc", ["license-name"]="GPL-2.0-or-later", type="semantic", requires={ MediaWiki="~1.31", extensions={ Lingo="*", }, }, callback="SemanticGlossary::initExtension", repository="https://github.com/SemanticMediaWiki/SemanticGlossary.git", composer="mediawiki/semantic-glossary", }, SemanticInterlanguageLinks={ name="SemanticInterlanguageLinks", version="2.2.0-alpha", author={ "James Hong Kong","...",}, url="https://github.com/SemanticMediaWiki/SemanticInterlanguageLinks/", descriptionmsg="sil-desc", namemsg="sil-name", ["license-name"]="GPL-2.0-or-later", type="semantic", requires={ MediaWiki=">= 1.31", }, callback="SemanticInterlanguageLinks::initExtension", ExtensionFunctions={ "SemanticInterlanguageLinks::onExtensionFunction",}, repository="https://github.com/SemanticMediaWiki/SemanticInterlanguageLinks", composer="mediawiki/semantic-interlanguage-links", }, SemanticJsonExport={ name="SemanticJsonExport", version="1.0.0", author={ "Pierre Boutet",}, url="https://github.com/Wikifab/ext-SemanticJsonExport", descriptionmsg="semanticjsonexport-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.28.0", }, DefaultUserOptions={ ["semanticjsonexport-enable"]=1, }, SpecialPages={ ExportSemanticJson="Semanticjsonexport\\SpecialExport", }, composer="wikifab/semantic-json-export", repository="https://github.com/Wikifab/ext-SemanticJsonExport", }, SemanticMediaWiki={ name="SemanticMediaWiki", version="4.0.0-alpha", author={ "Markus Krötzsch","Jeroen De Dauw","James Hong Kong","...",}, url="https://www.semantic-mediawiki.org", descriptionmsg="smw-desc", namemsg="smw-title", ["license-name"]="GPL-2.0-or-later", type="semantic", requires={ MediaWiki=">= 1.35", }, callback="SemanticMediaWiki::initExtension", ExtensionFunctions={ "SemanticMediaWiki::onExtensionFunction",}, ExtensionMessagesFiles={ SemanticMediaWikiAlias="i18n/extra/SemanticMediaWiki.alias.php", SemanticMediaWikiMagic="i18n/extra/SemanticMediaWiki.magic.php", }, QUnitTestModule={ ["ext.smw.tests"]={ scripts={ "tests/qunit/smw/ext.smw.test.js","tests/qunit/smw/util/ext.smw.util.tooltip.test.js","tests/qunit/smw/data/ext.smw.dataItem.wikiPage.test.js","tests/qunit/smw/data/ext.smw.dataItem.uri.test.js","tests/qunit/smw/data/ext.smw.dataItem.time.test.js","tests/qunit/smw/data/ext.smw.dataItem.property.test.js","tests/qunit/smw/data/ext.smw.dataItem.unknown.test.js","tests/qunit/smw/data/ext.smw.dataItem.number.test.js","tests/qunit/smw/data/ext.smw.dataItem.text.test.js","tests/qunit/smw/data/ext.smw.dataValue.quantity.test.js","tests/qunit/smw/data/ext.smw.data.test.js","tests/qunit/smw/api/ext.smw.api.test.js","tests/qunit/smw/query/ext.smw.query.test.js",}, dependencies={ "ext.smw","ext.smw.tooltip","ext.smw.query","ext.smw.data","ext.smw.api",}, position="top", localBasePath="", remoteExtPath="SemanticMediaWiki", }, }, repository="https://github.com/SemanticMediaWiki/SemanticMediaWiki", composer="mediawiki/semantic-media-wiki", }, SemanticMetaTags={ name="SemanticMetaTags", version="3.1.0-alpha", author={ "James Hong Kong",}, url="https://www.semantic-mediawiki.org/wiki/Extension:Semantic_Meta_Tags", descriptionmsg="smt-desc", namemsg="smt-name", ["license-name"]="GPL-2.0-or-later", type="semantic", requires={ MediaWiki=">= 1.31", extensions={ SemanticMediaWiki=">= 3.1", }, }, callback="SemanticMetaTags::initExtension", ExtensionFunctions={ "SemanticMetaTags::onExtensionFunction",}, repository="https://github.com/SemanticMediaWiki/SemanticMetaTags", composer="mediawiki/semantic-meta-tags", }, SemanticNotifications={ name="SemanticNotifications", version="0.1-alpha", author={ "James Hong Kong","...",}, url="https://github.com/SemanticMediaWiki/SemanticNotifications/", descriptionmsg="semantic-notifications-desc", namemsg="semantic-notifications-name", ["license-name"]="GPL-2.0-or-later", type="semantic", requires={ MediaWiki=">= 1.31", }, callback="SemanticNotifications::initExtension", ExtensionFunctions={ "SemanticNotifications::onExtensionFunction",}, repository="https://github.com/SemanticMediaWiki/SemanticNotifications", composer="mediawiki/semantic-notifications", }, SemanticOrganization={ name="Semantic Organization", version="0.1.0-beta", author={ "Tobias Haider",}, descriptionmsg="semorg-desc", ["license-name"]="GPL-3.0", requires={ MediaWiki=">= 1.28.0", }, type="semantic", url="https://www.mediawiki.org/wiki/Extension:SemanticOrganization", ExtensionMessagesFiles={ SemanticOrganizationAlias="SemanticOrganization.i18n.alias.php", }, config={ SemorgUseCustomTweekiFiles={ value=true, }, SemorgListLimit={ value=20, }, }, Hooks={ smwInitProperties={ "SemanticOrganizationProperties::onsmwInitProperties",}, BeforeInitialize={ "SemanticOrganizationHooks::onBeforeInitialize",}, ParserFirstCallInit={ "SemanticOrganizationHooks::onParserFirstCallInit",}, BeforePageDisplay={ "SemanticOrganizationHooks::onBeforePageDisplay",}, }, repository="https://github.com/thaider/SemanticOrganization.git", }, SemanticResultFormats={ name="SemanticResultFormats", version="3.2.0", author={ "James Hong Kong","Stephan Gambke","Jeroen De Dauw","Yaron Koren","...",}, url="https://www.semantic-mediawiki.org/wiki/Extension:Semantic_Result_Formats", descriptionmsg="srf-desc", namemsg="srf-name", ["license-name"]="GPL-2.0-or-later", type="semantic", requires={ MediaWiki=">= 1.31", extensions={ SemanticMediaWiki=">= 3.0", }, }, callback="SemanticResultFormats::initExtension", ExtensionFunctions={ "SemanticResultFormats::onExtensionFunction",}, repository="https://github.com/SemanticMediaWiki/SemanticResultFormats", composer="mediawiki/semantic-result-formats", }, SemanticScribunto={ name="SemanticScribunto", version="2.2.0-alpha", author={ "James Hong Kong","Tobias Oetterer",}, url="https://github.com/SemanticMediaWiki/SemanticScribunto/", descriptionmsg="smw-scribunto-desc", namemsg="smw-scribunto-title", ["license-name"]="GPL-2.0-or-later", type="semantic", requires={ MediaWiki=">= 1.31", extensions={ Scribunto="*", SemanticMediaWiki=">= 3.0", }, }, callback="SemanticScribunto::initExtension", ExtensionFunctions={ "SemanticScribunto::onExtensionFunction",}, repository="https://github.com/SemanticMediaWiki/SemanticScribunto", composer="mediawiki/semantic-scribunto", }, Semantic_Tasks={ name="SemanticTasks", version="2.0.1", author={ "Steren Giannini","Ryan Lane","Ike Hecht","Peter Grassberger","...",}, url="https://www.mediawiki.org/wiki/Extension:Semantic_Tasks", descriptionmsg="semantictasks-desc", namemsg="semantictasks-name", ["license-name"]="GPL-2.0-or-later", type="semantic", requires={ MediaWiki=">= 1.31", }, callback="SemanticTasks::initExtension", ExtensionFunctions={ "SemanticTasks::onExtensionFunction",}, config={ ["_prefix"]="stg", PropertyAssignedTo="Assigned to", PropertyCarbonCopy="Carbon copy", PropertyTargetDate="Target date", PropertyReminderAt="Reminder at", PropertyStatus="Status", PropertyAssignedToGroup="Assigned to group", PropertyHasAssignee="Has assignee", SemanticTasksNotifyIfUnassigned=false, }, composer="mediawiki/semantic-tasks", repository="https://github.com/SemanticMediaWiki/SemanticTasks.git", }, ["Semantic Wikibase"]={ name="Semantic Wikibase", version="0.1.0", author={ "Jeroen De Dauw","Professional.Wiki",}, url="https://github.com/ProfessionalWiki/SemanticWikibase", descriptionmsg="semantic-wb-desc", ["license-name"]="GPL-2.0-or-later", type="semantic", requires={ MediaWiki=">= 1.35.0", extensions={ SemanticMediaWiki=">=3.1", WikibaseRepository="*", }, }, callback="MediaWiki\\Extension\\SemanticWikibase\\EntryPoints\\HookHandlers::onExtensionRegistration", Hooks={ ["SMW::Property::initProperties"]="MediaWiki\\Extension\\SemanticWikibase\\EntryPoints\\HookHandlers::onSmwInitProperties", ["SMW::SQLStore::AddCustomFixedPropertyTables"]="MediaWiki\\Extension\\SemanticWikibase\\EntryPoints\\HookHandlers::onSmwAddCustomFixedPropertyTables", ["SMWStore::updateDataBefore"]="MediaWiki\\Extension\\SemanticWikibase\\EntryPoints\\HookHandlers::onSmwUpdateDataBefore", }, config={ SemanticWikibaseLanguage={ value="", }, }, repository="https://github.com/ProfessionalWiki/SemanticWikibase/issues", composer="professional-wiki/semantic-wikibase", }, Shariff={ name="Shariff", version="2.0", author="Niki Hansche", url="https://github.com/vonloxley/Shariff-Mediawiki", description="Insert 2-click \"Like\" buttons.", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.34.0", }, Hooks={ ParserFirstCallInit="Shariff::shariffLikeParserFunction_Setup", BeforePageDisplay="Shariff::shariffLikeParserFeedHead", }, repository="https://github.com/vonloxley/Shariff-Mediawiki.git", }, SideSummary={ name="Side Summary", author="Solene", version="1.0.0", url="https://www.mediawiki.org/wiki/Extension:SideSummary", descriptionmsg="Side Summary", ["license-name"]="GPL-2.0+", type="parserhook", ExtensionMessagesFiles={ SideSummary="SideSummary.i18n.php", }, Hooks={ ParserFirstCallInit={ "SideSummary\\SideSummary::onParserSetup",}, ArticleAfterFetchContentObject="SideSummary\\SideSummary::onArticleAfterFetchContentObject", BeforePageDisplay={ "SideSummary\\SideSummary::onBeforePageDisplay",}, OutputPageParserOutput={ "SideSummary\\SideSummary::onOutputPageParserOutput",}, SkinTemplateNavigation={ "SideSummary\\SideSummary::onSkinTemplateNavigation",}, }, composer="wikifab/side-summary", repository="https://github.com/Wikifab/SideSummary.git", }, SimilarTitles={ name="SimilarTitles", version="1.2.1", author="Josef Martiňák", url="https://bitbucket.org/wikiskripta/similartitles", descriptionmsg="similartitles-desc", type="other", ["license-name"]="MIT", status="stable", requires={ MediaWiki=">= 1.36.0", }, Hooks={ EditFormPreloadText="SimilarTitlesHooks::findSimilarArticles", BeforePageDisplay="SimilarTitlesHooks::createPopup", }, repository="https://bitbucket.org/wikiskripta/similartitles.git", }, SimpleBatchUpload={ name="SimpleBatchUpload", version="1.8.2", author={ "Stephan Gambke","Professional.Wiki","...",}, url="https://www.mediawiki.org/wiki/Extension:SimpleBatchUpload", descriptionmsg="simplebatchupload-desc", namemsg="simplebatchupload-name", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">=1.31", }, config={ SimpleBatchUploadMaxFilesPerBatch={ value={ ["*"]=1000, }, }, }, callback="SimpleBatchUpload\\SimpleBatchUpload::initCallback", repository="https://github.com/ProfessionalWiki/SimpleBatchUpload", composer="mediawiki/simple-batch-upload", }, SimpleEmbedVideo={ name="Simple Embed Video", author="Solene", version="1.0.0", url="https://www.mediawiki.org/wiki/Extension:SimpleEmbedVideo", descriptionmsg="Simple Embed Video", ["license-name"]="GPL-2.0+", type="parserhook", ExtensionMessagesFiles={ SimpleEmbedVideo="SimpleEmbedVideo.i18n.php", }, Hooks={ ParserFirstCallInit={ "SimpleEmbedVideo::onParserSetup",}, BeforePageDisplay={ "SimpleEmbedVideo::onBeforePageDisplay",}, }, composer="wikifab/simple-embed-video", repository="https://github.com/Wikifab/ext-simple-embed-video", }, SimpleMathJax={ name="SimpleMathJax", version="0.8.2", author="jmnote", url="https://www.mediawiki.org/wiki/Extension:SimpleMathJax", description="render TeX between  and  ", ["license-name"]="GPL-2.0+", type="parserhook", config={ SmjUseCdn={ value=true, description="true to load mathjax from CDN", }, SmjUseChem={ value=true, description="true to enabled chem tag", }, SmjDisplayMath={ value={ }, description="MathJax.tex.displayMath", }, SmjExtraInlineMath={ value={ }, description="MathJax.tex.inlineMath", }, SmjScale={ value=1, description="MathJax.chtml.scale", }, SmjEnableMenu={ value=true, description="MathJax.options.enableMenu", }, SmjDisplayAlign={ value="left", description="MathJax.chtml.displayAlign", }, SmjWrapDisplaystyle={ value=true, description="true to wrap with displaystyle", }, }, Hooks={ ParserFirstCallInit="SimpleMathJaxHooks::onParserFirstCallInit", }, repository="https://github.com/jmnote/SimpleMathJax", }, SkinCustomiser={ name="SkinCustomiser", author="WikiMANNia", url="https://www.mediawiki.org/wiki/Extension:SkinCustomiser", ["license-name"]="GPL-2.0-or-later", version="1.0.0", namemsg="skincustomiser-msg", descriptionmsg="skincustomiser-desc", config={ HeadMetaCode="", HeadMetaName="", HeadScriptCode="", HeadScriptName="", }, type="other", Hooks={ BeforePageDisplay="SkinCustomiserHooks::onBeforePageDisplay", }, repository="https://github.com/WikiMANNia/Mediawiki-Extension-SkinCustomiser.git", }, ["Slide Box Light Show"]={ name="Slide Box Light Show", version="2.0.0", author={ "Alexia E. Smith","Hydra Wiki Platform Team",}, url="https://gitlab.com/hydrawiki/extensions/SlideBoxLightShow/", descriptionmsg="slideboxlightshow_description", ["license-name"]="GPL-3.0-only", type="parserhook", requires={ MediaWiki=">= 1.29.0", }, Hooks={ ParserFirstCallInit="SlideBoxLightShowHooks::onParserFirstCallInit", }, config={ SBDefaultArguments={ value={ sequence="forward", transition="fade", transitionspeed=500, halign="center", valign="middle", interval=5000, width=nil, height=nil, popup=true, slideshowonly=false, carousel=false, }, path=false, descriptionmsg="dynamicsettings-config-sbdefaultarguments", public=false, merge_strategy="array_merge", }, }, repository="https://gitlab.com/hydrawiki/extensions/SlideBoxLightShow.git", }, SnapProjectEmbed={ name="Snap! Project Embed", version="3.1.0", author={ "R4356th, GrahamSH, mw-EmbedScratch contributors",}, url="https://www.mediawiki.org/wiki/Extension:SnapProjectEmbed", descriptionmsg="embedsnap-desc", ["license-name"]="GPLv3", type="parserhook", requires={ MediaWiki=">=1.35.0", }, HookHandlers={ default={ class="EmbedSnap", }, }, Hooks={ ParserFirstCallInit="default", }, composer="mediawiki/snapprojectembed", repository="https://github.com/snapwiki/SnapProjectEmbed", }, SpriteSheet={ name="SpriteSheet", version="1.3.2", author={ "Curse Inc. Wiki Platform Team","Alexia E. Smith",}, url="https://github.com/HydraWiki/SpriteSheet", descriptionmsg="spritesheet_description", ["license-name"]="LGPL-3.0", type="other", requires={ MediaWiki=">= 1.31.0", }, GroupPermissions={ autoconfirmed={ edit_sprites=true, }, sysop={ spritesheet_rollback=true, }, }, AvailableRights={ "edit_sprites","spritesheet_rollback",}, LogTypes={ sprite="sprite", }, LogNames={ sprite="sprite_log_name", }, LogHeaders={ sprite="sprite_log_description", }, LogActionsHandlers={ ["sprite/sheet"]="SpriteSheetLogFormatter", ["sprite/sprite"]="SpriteNameLogFormatter", ["sprite/sprite-deleted"]="SpriteNameLogFormatter", ["sprite/sprite-rename"]="SpriteNameLogFormatter", ["sprite/slice"]="SpriteNameLogFormatter", ["sprite/slice-deleted"]="SpriteNameLogFormatter", ["sprite/slice-rename"]="SpriteNameLogFormatter", }, APIModules={ spritesheet="SpriteSheetAPI", }, ExtensionMessagesFiles={ SpriteSheetMagic="SpriteSheet.i18n.magic.php", }, Hooks={ ParserFirstCallInit={ "SpriteSheetHooks::onParserFirstCallInit",}, ImagePageShowTOC={ "SpriteSheetHooks::onImagePageShowTOC",}, ImageOpenShowImageInlineBefore={ "SpriteSheetHooks::onImageOpenShowImageInlineBefore",}, PageRenderingHash={ "SpriteSheetHooks::onPageRenderingHash",}, TitleMoveComplete={ "SpriteSheetHooks::onTitleMoveComplete",}, LoadExtensionSchemaUpdates={ "SpriteSheetHooks::onLoadExtensionSchemaUpdates",}, }, repository="https://github.com/HydraWiki/SpriteSheet.git", }, Streamer={ name="Streamer", version="0.5.0", author={ "Wiki Platform Team","Curse Inc.","Alexia E. Smith",}, url="http://www.mediawiki.org/wiki/Extension:Streamer", descriptionmsg="streamer_description", type="parserhook", requires={ MediaWiki=">= 1.31.0", }, AvailableRights={ "edit_streamer_info",}, GroupPermissions={ sysop={ edit_streamer_info=true, }, }, SpecialPages={ StreamerInfo="SpecialStreamerInfo", }, ExtensionMessagesFiles={ StreamerMagic="Streamer.i18n.magic.php", }, Hooks={ ParserFirstCallInit="StreamerHooks::onParserFirstCallInit", PageContentSaveComplete="StreamerHooks::onPageContentSaveComplete", LoadExtensionSchemaUpdates="StreamerHooks::onLoadExtensionSchemaUpdates", }, config={ YouTubeApiKey={ value=nil, path=false, descriptionmsg="streamer-config-youtubeapikey", public=false, }, TwitchClientId={ value=nil, path=false, descriptionmsg="streamer-config-twitchclientid", public=false, }, }, repository="https://github.com/HydraWiki/Streamer.git", }, StubUserWikiAuth={ name="StubUserWikiAuth", version="1.1.2", author={ "Jesús Martínez (Ciencia Al Poder)",}, url="https://www.mediawiki.org/wiki/Extension:StubUserWikiAuth", descriptionmsg="stubuserwikiauth-desc", ["license-name"]="GPL-2.0-or-later", type="other", repository="https://github.com/ciencia/mediawiki-extensions-StubUserWikiAuth.git", }, SuggestedTitles={ name="SuggestedTitles", author={ "Mark A. Hershberger",}, url="https://www.mediawiki.org/wiki/Extension:SuggestedTitles", descriptionmsg="suggestedtitles-desc", ["license-name"]="GPL-3.0-or-later", type="other", requires={ MediaWiki=">= 1.27.0", }, Hooks={ BeforeDisplayNoArticleText="MediaWiki\\Extension\\SuggestedTitles\\Hooks::onBeforeDisplayNoArticleText", GetLocalURL="MediaWiki\\Extension\\SuggestedTitles\\Hooks::onGetLocalURL", ShowMissingArticle="MediaWiki\\Extension\\SuggestedTitles\\Hooks::onShowMissingArticle", TitleIsAlwaysKnown="MediaWiki\\Extension\\SuggestedTitles\\Hooks::onTitleIsAlwaysKnown", }, config={ RedirectOnSingle={ description="Redirect if there is only one suggestion.", value=true, }, }, composer="mediawiki/suggested-titles", repository="https://phabricator.nichework.com/source/SuggestedTitles.git", }, Svetovid={ name="Svetovid", author="Ostrzyciel", ["license-name"]="MIT", version="1.3.4", url="https://www.mediawiki.org/wiki/Extension:Svetovid", requires={ MediaWiki=">= 1.35.0", extensions={ AdvancedBacklinks=">= 2.7.3", CirrusSearch=">= 6.0.0", }, }, namemsg="svetovid", descriptionmsg="svetovid-desc", Hooks={ EditFormInitialText="SvetovidEditFormInitialTextHook::run", GetPreferences="SvetovidHooks::onGetPreferences", SidebarBeforeOutput="SvetovidHooks::onSidebarBeforeOutput", }, SpecialPages={ LinkCreator="SpecialLinkCreator", }, APIModules={ polishdecl="ApiPolishDeclension", svsearch="ApiSvetovidSearch", }, config={ SvetovidMorfeuszURL="http://localhost:8145/declension", SvetovidSearchCacheExpiry=3600, SvetovidSearchBlacklist={ }, SvetovidDefaultNamespaces=nil, SvetovidMaxSearchResults=15, }, DefaultUserOptions={ ["svetovid-show-link-in-sidebar"]=false, }, GroupPermissions={ user={ ["svetovid-search"]=true, }, }, ExtensionMessagesFiles={ SvetovidAliases="Svetovid.alias.php", }, type="other", repository="https://gitlab.com/nonsensopedia/extensions/svetovid", }, SyntaxHighlight_PrismJS={ name="SyntaxHighlight_PrismJS", author={ "apple502j",}, descriptionmsg="syntaxhighlight-desc", ["license-name"]="GPL-3.0-or-later", type="parserhook", version="1.0.0", url="https://github.com/InternationalScratchWiki/SyntaxHighlight_PrismJS", Hooks={ ParserFirstCallInit="SyntaxHighlight::onParserFirstCallInit", }, repository="https://github.com/InternationalScratchWiki/SyntaxHighlight_PrismJS.git", }, Tabber={ name="Tabber", version="2.4", author={ "Eric Fortin","Alexia E. Smith",}, url="https://www.mediawiki.org/wiki/Extension:Tabber", descriptionmsg="tabber-desc", ["license-name"]="GPL-3.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.31", }, Hooks={ ParserFirstCallInit={ "TabberHooks::onParserFirstCallInit",}, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Tabber", }, TablesInSemantic={ name="TablesInSemantic", version="0.1", author={ "Pierre Boutet",}, url="https://github.com/wikifab/TablesInSemantic", descriptionmsg="tablesinsemantic-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.28.0", }, Hooks={ ParserBeforeStrip={ "TablesInSemantic\\Hooks::onParserBeforeStrip",}, }, composer="wikifab/tables-in-semantic", repository="https://github.com/Wikifab/TablesInSemantic.git", }, Termbank={ name="Termbank", version="2021-06-02", author="Niklas Laxström", url="https://tieteentermipankki.fi", descriptionmsg="termbank-desc", ["license-name"]="GPL-2.0-or-later", type="other", Hooks={ APIGetAllowedParams="MediaWiki\\Extensions\\Termbank\\Hooks::onAPIGetAllowedParams", BeforePageDisplay="MediaWiki\\Extensions\\Termbank\\Hooks::onBeforePageDisplay", LoadExtensionSchemaUpdates="MediaWiki\\Extensions\\Termbank\\Hooks::onLoadExtensionSchemaUpdates", ParserBeforeInternalParse="MediaWiki\\Extensions\\Termbank\\Hooks::onParserBeforeInternalParse", OutputPageBodyAttributes="MediaWiki\\Extensions\\Termbank\\Hooks::onOutputPageBodyAttributes", }, MessagesFiles={ ["Termbank-alias"]="Termbank.alias.php", }, SpecialPages={ PrivateData="MediaWiki\\Extensions\\Termbank\\SpecialPrivateData", }, composer="mediawiki/termbank", repository="https://github.com/Nikerabbit/mediawiki-extensions-Termbank.git", }, ThePlayer={ name="ThePlayer", version="1.0", author="Josef Martiňák", url="https://bitbucket.org/wikiskripta/theplayer", descriptionmsg="theplayer-desc", type="parserhook", ["license-name"]="MIT", status="stable", requires={ MediaWiki=">= 1.29.0", }, Hooks={ ParserFirstCallInit="ThePlayerHooks::registerParserHook", }, repository="https://bitbucket.org/wikiskripta/theplayer", }, TopoJson={ name="TopoJson", type="parserhook", author="Tobias Haider", version="0.0.2", url="https://github.com/thaider/TopoJson", descriptionmsg="topojson-desc", ["license-name"]="GPL-2.0", requires={ MediaWiki=">= 1.29.0", }, Hooks={ ParserFirstCallInit="TopoJsonHooks::onParserFirstCallInit", }, repository="https://github.com/thaider/TopoJson.git", }, TranslateTagsInVe={ name="TranslateTagsInVe", version="1.0.0", author={ "Pierre Boutet",}, url="https://github.com/wikifab", descriptionmsg="ttive-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.28.0", }, Hooks={ ["FormEdit::showEditForm:initial"]={ "TranslateTagsInVE\\Hooks::start",}, }, composer="wikifab/translate-tags-in-ve", repository="https://github.com/Wikifab/ext-TranslateTagsInVE.git", }, TreeAndMenu={ name="TreeAndMenu", version="4.2.5, 2021-10-31", author={ "Aran Dunkley","Igor Absorto",}, url="http://www.mediawiki.org/wiki/Extension:TreeAndMenu", descriptionmsg="treeandmenu-desc", ["license-name"]="GNU General Public Licence 2.0 or later", type="parserhook", callback="TreeAndMenu::onRegistration", config={ TreeAndMenuPersistIfId=false, ["@"]="Specify the heading line for sidebar menu", TreeAndMenuSidebarMenuPage=false, TreeAndMenuSidebarMenuHeading=false, }, ExtensionMessagesFiles={ TreeAndMenuMagic="TreeAndMenu.i18n.magic.php", }, Hooks={ SkinBuildSidebar={ "TreeAndMenu::onSkinBuildSidebar",}, }, repository="https://gitlab.com/Aranad/TreeAndMenu.git", }, TrendingMenu={ name="TrendingMenu", version="2.0.1", author={ "Alex Winkler","Richard Stanway","Shashank Atreya",}, url="https://liquipedia.net/", descriptionmsg="trendingmenu-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.35.0", }, ExtensionMessagesFiles={ WikiListAlias="i18n/WikiListAlias.php", }, SpecialPages={ WikiList="\\Liquipedia\\Extension\\TrendingMenu\\SpecialPage\\SpecialWikiList", ModifyWikiList="\\Liquipedia\\Extension\\TrendingMenu\\SpecialPage\\SpecialModifyWikiList", }, APIModules={ trendingmenu="\\Liquipedia\\Extension\\TrendingMenu\\Api\\TrendingPages", wikilist="\\Liquipedia\\Extension\\TrendingMenu\\Api\\WikiList", updatewikilist="\\Liquipedia\\Extension\\TrendingMenu\\Api\\UpdateWikiList", }, RestRoutes={ { path="/trendingmenu/v1/trendingpages", method="GET", class="\\Liquipedia\\Extension\\TrendingMenu\\Rest\\TrendingPages", services={ "MainConfig","DBLoadBalancerFactory",}, },}, AvailableRights={ "edit-wikilist",}, GroupPermissions={ sysop={ ["edit-wikilist"]=true, }, }, HookHandlers={ Main={ class="\\Liquipedia\\Extension\\TrendingMenu\\Hooks\\MainHookHandler", services={ "MainConfig",}, }, Schema={ class="\\Liquipedia\\Extension\\TrendingMenu\\Hooks\\SchemaHookHandler", }, }, Hooks={ ApiCheckCanExecute="Main", BeforePageDisplay="Main", LoadExtensionSchemaUpdates="Schema", }, repository="https://github.com/Liquipedia/TrendingMenu", }, TwitterWidget={ name="TwitterWidget", version="2.0.0", author={ "Jesús Martínez (Ciencia Al Poder)",}, url="https://github.com/ciencia/mediawiki-extensions-TwitterWidget", descriptionmsg="twitterwidget-desc", ["license-name"]="MIT", type="parserhook", Hooks={ ParserFirstCallInit={ "TwitterWidgetHooks::onParserFirstCallInit",}, }, repository="https://github.com/ciencia/mediawiki-extensions-TwitterWidget.git", }, URNames={ name="URNames", version="1.1.1", author="Josef Martiňák", url="https://bitbucket.org/wikiskripta/urnames", description="Extension displays the real names of wiki users in RecentChanges, PageHistory\r\n\t\tand users' lists. Logged in users can see the real name in the brackets after username.", type="other", ["license-name"]="MIT", status="stable", requires={ MediaWiki=">= 1.36.0", }, Hooks={ BeforePageDisplay="URNamesHooks::replaceUserNames", }, repository="https://bitbucket.org/wikiskripta/urnames", }, Mobyome={ name="Mobyome", version="0.0.1", author={ "Tobias Haider",}, url="https://www.mobyome.at", descriptionmsg="mobyome-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.31.0", }, ConfigRegistry={ mobyome="GlobalVarConfig::newInstance", }, ExtensionMessagesFiles={ MobyomeMagic="Mobyome.i18n.magic.php", }, Hooks={ ParserFirstCallInit="MediaWiki\\Extension\\Mobyome\\Hooks::onParserFirstCallInit", BeforePageDisplay="MediaWiki\\Extension\\Mobyome\\Hooks::onBeforePageDisplay", SkinTweekiAdditionalBodyClasses="MediaWiki\\Extension\\Mobyome\\Hooks::onSkinTweekiAdditionalBodyClasses", }, repository="https://github.com/thaider/UbiGo.git", }, UnifiedExtensionForFemiwiki={ name="UnifiedExtensionForFemiwiki", version="1.0.0", author="Femiwiki Team", url="https://github.com/femiwiki/unifiedExtensionForFemiwiki", descriptionmsg="unifiedextensionforfemiwiki-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.35.0", extensions={ CategoryTree="*", }, }, AuthManagerAutoConfig={ preauth={ FemiwikiPreAuthenticationProvider={ class="FemiwikiPreAuthenticationProvider", }, }, }, Hooks={ BeforePageDisplay="FemiwikiHooks::onBeforePageDisplay", HtmlPageLinkRendererBegin="FemiwikiHooks::onHtmlPageLinkRendererBegin", LinkerMakeExternalLink="FemiwikiHooks::onLinkerMakeExternalLink", SidebarBeforeOutput="FemiwikiHooks::onSidebarBeforeOutput", SkinAddFooterLinks="FemiwikiHooks::onSkinAddFooterLinks", }, config={ GoogleAnalyticsTrackingID="", }, repository="https://github.com/femiwiki/UnifiedExtensionForFemiwiki", }, UniqueLink={ name="UniqueLink", author="Daniel Beard", url="https://www.halopedia.org/Halopedia:Extensions/UniqueLink", namemsg="uniquelink-extension-name", descriptionmsg="uniquelink-extension-desc", version="0.0.1", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.29.0", }, Hooks={ ParserFirstCallInit="MediaWiki\\Extension\\UniqueLink\\Hooks::onParserFirstCallInit", ParserClearState="MediaWiki\\Extension\\UniqueLink\\Hooks::onParserClearState", }, ExtensionMessagesFiles={ UniqueLinkMagic="UniqueLink.i18n.php", }, repository="https://github.com/Halopedia/UniqueLink", }, Upload2Commons={ name="Upload2Commons", version="0.1.0", author={ "Antoine Lamielle",}, url="https://www.mediawiki.org/wiki/Extension:Upload2Commons", namemsg="upload2Commons", descriptionmsg="upload2Commons-desc", ["license-name"]="GPL-2.0+", type="other", config={ Upload2CommonsApiUrl="http://localhost", }, GroupPermissions={ ["*"]={ remoteuploadown=false, remoteupload=false, }, user={ remoteuploadown=true, remoteupload=true, }, bot={ remoteuploadown=true, remoteupload=true, }, sysop={ remoteuploadown=true, remoteupload=true, }, }, AvailableRights={ "remoteuploadown","remoteupload",}, APIModules={ ["upload-to-commons"]="Upload2Commons\\ApiUpload2Commons", ["post-to-commons"]="Upload2Commons\\ApiPost2Commons", }, LogTypes={ "remoteupload",}, LogActionsHandlers={ ["remoteupload/file"]="Upload2Commons\\RemoteUploadLogFormatter", ["remoteupload/stashedfile"]="Upload2Commons\\RemoteUploadLogFormatter", }, repository="https://github.com/lingua-libre/Upload2Commons.git", }, ["Upload Fields"]={ name="Upload Fields", version="0.0.3", author={ "Alexia E. Smith","Hydra Wiki Platform Team",}, descriptionmsg="uploadfields_description", type="specialpage", ["license-name"]="GPL-2.0-or-later", Hooks={ SpecialUploadComplete="UploadFields\\Hooks::onSpecialUploadComplete", UploadFormInitDescriptor="UploadFields\\Hooks::onUploadFormInitDescriptor", }, repository="https://gitlab.com/hydrawiki/extensions/UploadFields.git", }, UserLoginLog={ name="UserLoginLog", version="1.5", author={ "User:Nad","Mark A. Hershberger",}, url="http://www.mediawiki.org/wiki/Extension:UserLoginLog", description="Creates a new MediaWiki log for user logins and logout events", type="other", LogActions={ ["userlogin/success"]="userlogin-success", ["userlogin/error"]="userlogin-error", ["userlogin/logout"]="userlogin-logout", }, LogHeaders={ userlogin="userloginlogpagetext", }, LogNames={ userlogin="userloginlogpage", }, LogTypes={ "userlogin",}, Hooks={ UserLoginForm="MediaWiki\\Extension\\UserLoginLog\\Hook::logError", UserLoginComplete="MediaWiki\\Extension\\UserLoginLog\\Hook::logSuccess", UserLogout="MediaWiki\\Extension\\UserLoginLog\\Hook::logout", UserLogoutComplete="MediaWiki\\Extension\\UserLoginLog\\Hook::logoutComplete", }, composer="mediawiki/user-login-log", repository="https://github.com/mwstake/mediawiki-extensions-UserLoginLog", }, UserSnoop={ name="UserSnoop", version="0.1.0", ["license-name"]="GPL-2.0", author={ "Kimon Andreou","Mark A. Hershberger",}, require={ "1.33",}, url="https://www.mediawiki.org/wiki/Extension:UserSnoop", descriptionmsg="usersnoop-desc", type="specialpage", SpecialPages={ UserSnoop="UserSnoop\\Special\\UserSnoop", ChangeUserEmail="UserSnoop\\Special\\ChangeUserEmail", }, ExtensionMessagesFiles={ UserSnoopAlias="src/i18n/Alias.php", }, Hooks={ LoadExtensionSchemaUpdates={ "UserSnoop\\Hook::onLoadExtensionSchemaUpdates",}, UserToolLinksEdit={ "UserSnoop\\Hook::onUserToolLinksEdit",}, }, GroupPermissions={ sysop={ usersnoop=true, }, bureaucrat={ usersnoop=true, }, }, AvailableRights={ "usersnoop",}, config={ ["_prefix"]="UserSnoop", }, repository="https://github.com/hexmode/mediawiki-UserSnoop", }, ["UsersPagesLinks API"]={ name="UsersPagesLinks API", version="0.2.0", author="Pierre Boutet", description="API to add link between user and pages", type="api", APIModules={ userspageslinks="UsersPagesLinks\\ApiUsersPagesLinks", }, callback="UsersPagesLinks\\UsersPagesLinks::onExtension", SpecialPages={ DisplayUsersList="UsersPagesLinks\\SpecialDisplayUsersList", }, ExtensionMessagesFiles={ UsersPagesLinksMagicWords="UsersPagesLinks.i18n.php", }, Hooks={ LoadExtensionSchemaUpdates="UsersPagesLinks\\UsersPagesLinks::onLoadExtensionSchemaUpdates", ParserFirstCallInit="UsersPagesLinks\\Buttons::onParserFirstCallInit", SkinTemplateNavigation="UsersPagesLinks\\Buttons::onSkinTemplateNavigation", BeforePageDisplay="UsersPagesLinks\\Buttons::onBeforePageDisplay", ArticleDeleteComplete="UsersPagesLinks\\UsersPagesLinks::onArticleDeleteComplete", }, config={ UsersPagesLinksTypes={ value={ "star","ididit","member",}, }, UsersPagesLinksTypesUndoLabelsKey={ value={ member="userspageslinks-unmember", }, }, UsersPagesLinksFoNamespaces={ value={ [1]={ "ididit","star",}, [221]={ "member",}, }, }, }, composer="wikifab/users-pages-links", repository="https://github.com/Wikifab/UsersPagesLinks.git", }, VEForAll={ name="VEForAll", version="0.4.1", author={ "Pierre Boutet","Clément Flipo","Ike Hecht","Yaron Koren","Cindy Cicalese",}, url="https://www.mediawiki.org/wiki/Extension:VEForAll", descriptionmsg="veforall-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.32.0", extensions={ VisualEditor="*", }, }, callback="VEForAll\\VEForAllHooks::registerClasses", Hooks={ BeforePageDisplay="VEForAll\\VEForAllHooks::onBeforePageDisplay", MakeGlobalVariablesScript="VEForAll\\VEForAllHooks::onMakeGlobalVariablesScript", }, composer="mediawiki/v-e-for-all", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/VEForAll", }, VEForPageForm={ name="VEForPageForm", version="0.1.0", author={ "Pierre Boutet",}, url="https://github.com/wikifab", descriptionmsg="visualeditorforpageform-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.28.0", }, callback="VisualEditorHooks::onRegistration", config={ ["VEForPageForm-areaClasses"]="vefpf-area", }, Hooks={ ["FormEdit::showEditForm:initial"]={ "VeForPageForm\\Hooks::start",}, }, DefaultUserOptions={ ["visualeditorforpageform-enable"]=1, }, composer="wikifab/VEForPageForm", repository="https://github.com/Wikifab/mediawiki-extension-VEForPageForm", }, VariablesLua={ name="VariablesLua", version="1.5.0", author={ "Alex Winkler",}, url="https://www.mediawiki.org/wiki/Extension:VariablesLua", descriptionmsg="variableslua-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.35.0", extensions={ Scribunto="*", Variables=">= 2.0", }, }, Hooks={ ScribuntoExternalLibraries={ "Liquipedia\\Extension\\VariablesLua\\Hooks\\LegacyHooks::onScribuntoExternalLibraries",}, }, repository="https://github.com/Liquipedia/VariablesLua.git", }, VeForceReload={ name="VeForceReload", version="1.0.0", author={ "Pierre Boutet",}, url="https://github.com/wikifab/VeForceReload", descriptionmsg="veforcereload-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.28.0", }, Hooks={ BeforePageDisplay="VeForceReload\\Hooks::onBeforePageDisplay", }, composer="wikifab/ve-force-reload", repository="https://github.com/Wikifab/VeForceReload", }, ViewProtect={ name="ViewProtect", version="0.1.0", author={ "Mark A. Hershberger",}, url="https://www.mediawiki.org/wiki/Extension:ViewProtect", descriptionmsg="viewprotect-desc", ["license-name"]="GPL-3.0+", type="other", SpecialPages={ ViewProtect="MediaWiki\\Extension\\ViewProtect\\SpecialViewProtect", ViewProtectFile="MediaWiki\\Extension\\ViewProtect\\SpecialViewProtectFile", }, ExtensionMessagesFiles={ ViewProtectAlias="src/i18n/Alias.php", }, Hooks={ BeforePageDisplay="MediaWiki\\Extension\\ViewProtect\\Hooks::onBeforePageDisplay", getUserPermissionsErrors="MediaWiki\\Extension\\ViewProtect\\Hooks::onGetUserPermissionsErrors", ImgAuthBeforeStream="MediaWiki\\Extension\\ViewProtect\\Hooks::onImgAuthBeforeStream", LoadExtensionSchemaUpdates="MediaWiki\\Extension\\ViewProtect\\Hooks::onLoadExtensionSchemaUpdates", PageGroups="MediaWiki\\Extension\\ViewProtect\\Hooks::onCoPPageGroups", UpdateUsableLevels="MediaWiki\\Extension\\ViewProtect\\Hooks::onUpdateUsableLevels", }, AvailableRights={ "viewprotectmanage",}, GroupPermissions={ sysop={ viewprotectmanage=true, }, }, LogTypes={ "viewprotect",}, LogRestrictions={ viewprotect="viewprotectmanage", }, FilterLogTypes={ viewprotect=false, }, LogActions={ ["viewprotect/read"]="viewprotect-read", ["viewprotect/upload"]="viewprotect-upload", }, LogActionsHandlers={ ["viewprotect/read"]="MediaWiki\\Extension\\ViewProtect\\Formatter", ["viewprotect/upload"]="MediaWiki\\Extension\\ViewProtect\\Formatter", }, composer="mediawiki/view-protect", repository="https://github.com/hexmode/mediawiki-ViewProtect", }, WSForm={ name="WSForm", version="0.8.0.9.9.3", author={ "Sen-Sai",}, url="https://bitbucket.org/wikibasesolutions/mw-wsform/", descriptionmsg="wsform-desc", ["license-name"]="GPL v2", type="parserhook", ExtensionMessagesFiles={ WBFormAlias="WSForm.i18n.alias.php", }, APIModules={ wsform="ApiWSForm", }, Hooks={ ParserFirstCallInit={ "WSFormHooks::onParserFirstCallInit",}, AdminLinks={ "WSFormHooks::addToAdminLinks",}, }, SpecialPages={ WSForm="SpecialWSForm", }, repository="https://bitbucket.org/wikibasesolutions/mw-wsform.git", }, WSPageSync={ name="WSPageSync", version="1alpha5", author={ "Sen-Sai",}, url="https://www.mediawiki.org/wiki/Extension:WSPageSync", descriptionmsg="wsps-desc", ["license-name"]="GPL v2", type="other", requires={ MediaWiki=">= 1.35.1", platform={ php=">= 7.1", ["ext-zip"]="*", }, }, ExtensionMessagesFiles={ WSpsAlias="WSps.i18n.alias.php", WSpsMagic="WSps.i18n.magic.php", }, APIModules={ wsps="ApiWSps", }, Hooks={ ParserFirstCallInit={ "WSpsHooks::onParserFirstCallInit",}, AdminLinks={ "WSpsHooks::addToAdminLinks",}, PageContentSaveComplete={ "WSpsHooks::pageSaved",}, ["SkinTemplateNavigation::Universal"]={ "WSpsHooks::nav",}, }, SpecialPages={ WSps="WSpsSpecial", }, config={ WSPageSync={ filePath="", fileNameSpaces={ 6,}, contentSlotsToBeSynced="all", maintenance={ doNotRestoreThesePages={ }, restoreFrom="", }, }, }, composer="wikibase-solutions/w-s-page-sync", repository="https://bitbucket.org/wikibasesolutions/mw-wspagesync.git", }, WSSearch={ name="WSSearch", author={ "Marijn van Wezel",}, version="3.5.4", url="https://www.mediawiki.org/wiki/Extension:WSSearch", descriptionmsg="wssearch-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.31.0", extensions={ SemanticMediaWiki=">= 3.0", }, }, ExtensionMessagesFiles={ WSSearchMagic="i18n/WSSearch.i18n.php", }, APIMetaModules={ WSSearch="WSSearch\\API\\ApiQueryWSSearch", WSSearchHighlight="WSSearch\\API\\ApiQueryWSSearchHighlight", }, AvailableRights={ "wssearch-execute-api",}, Hooks={ ParserFirstCallInit="WSSearch\\WSSearchHooks::onParserFirstCallInit", ArticleDeleteComplete="WSSearch\\WSSearchHooks::onArticleDeleteComplete", PageContentSaveComplete="WSSearch\\WSSearchHooks::onPageContentSaveComplete", LoadExtensionSchemaUpdates="WSSearch\\WSSearchHooks::onLoadExtensionSchemaUpdates", BeforePageDisplay="WSSearch\\WSSearchHooks::onBeforePageDisplay", }, config={ WSSearchElasticStoreIndex={ value=false, }, WSSearchDefaultResultLimit={ value=10, }, WSSearchHighlightFragmentSize={ value=250, }, WSSearchHighlightNumberOfFragments={ value=1, }, WSSearchElasticSearchHosts={ value={ }, }, WSSearchAPIRequiredRights={ value={ "read","wssearch-execute-api",}, }, WSSearchSearchFieldOverride={ value=false, }, WSSearchEnableDebugMode={ value=false, }, WSSearchMaxChainedQuerySize={ value=500, }, }, composer="wikibase-solutions/w-s-search", repository="https://bitbucket.org/wikibasesolutions/wssearch.git", }, WSSearchFront={ name="WSSearchFront", author="Robis Koopmans", version="1.0.25", url="https://www.wikibase-solutions.com", descriptionmsg="wssearchfront-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.27.0", extensions={ WSSearch="*", }, }, Hooks={ WSSearchOnLoadFrontend="WSSearchFront\\WSSearchFrontHooks::onWSSearchOnLoadFrontend", }, composer="wikibase-solutions/w-s-search-front", repository="https://bitbucket.org/wikibasesolutions/wssearchfront.git", }, WSSemanticParsedText={ name="WSSemanticParsedText", version="2.1.1", namemsg="wssemanticparsedtext-extensionname", url="https://wikibase-solutions.com", type="semantic", author={ "Marijn van Wezel (Wikibase Solutions)",}, descriptionmsg="wssemanticparsedtext-desc", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.31.0", extensions={ SemanticMediaWiki=">= 3.1.4", }, }, Hooks={ ["SMW::Setup::AfterInitializationComplete"]="WSSemanticParsedText\\Hooks::onSMWSetupAfterInitializationComplete", ParserFirstCallInit="WSSemanticParsedText\\Hooks::onParserFirstCallInit", }, config={ }, repository="https://bitbucket.org/wikibasesolutions/wssemanticparsedtext.git", }, WSSlots={ name="WSSlots", version="1.4.0", namemsg="wsslots-extensionname", url="https://wikibase-solutions.com", type="other", author={ "Marijn van Wezel (Wikibase Solutions)",}, descriptionmsg="wsslots-desc", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.35.0", }, Hooks={ MediaWikiServices="MediaWikiServicesHookHandler", ParserBeforeInternalParse="ParserBeforeInternalParseHookHandler", ParserFirstCallInit="ParserFirstCallInitHookHandler", ListDefinedTags="TagsHookHandler", ChangeTagsListActive="TagsHookHandler", }, HookHandlers={ MediaWikiServicesHookHandler={ class="WSSlots\\MediaWikiServicesHookHandler", }, ParserBeforeInternalParseHookHandler={ class="WSSlots\\ParserBeforeInternalParseHookHandler", services={ "MainConfig",}, }, ParserFirstCallInitHookHandler={ class="WSSlots\\ParserFirstCallInitHookHandler", }, TagsHookHandler={ class="WSSlots\\TagsHookHandler", }, }, ExtensionMessagesFiles={ WSSlotsMagic="i18n/WSSlots.i18n.php", }, config={ WSSlotsDefinedSlots={ value={ }, }, WSSlotsDefaultContentModel={ value="wikitext", }, WSSlotsDefaultSlotRoleLayout={ value={ display="none", region="center", placement="append", }, }, WSSlotsSlotsToAppend={ value={ }, }, WSSlotsDoPurge={ value=false, }, }, APIModules={ editslot="WSSlots\\ApiEditSlot", }, composer="wikibase-solutions/w-s-slots", repository="https://bitbucket.org/wikibasesolutions/wsslots.git", }, WatchAnalytics={ name="WatchAnalytics", version="3.2.0", author={ "James Montalvo",}, url="https://www.mediawiki.org/wiki/Extension:WatchAnalytics", descriptionmsg="watchanalytics-desc", type="specialpage", GroupPermissions={ sysop={ viewpagescore=true, clearreviews=true, }, user={ pendingreviewslink=true, }, }, AvailableRights={ "viewpagescore","pendingreviewslink","clearreviews",}, SpecialPages={ WatchAnalytics="SpecialWatchAnalytics", PendingReviews="SpecialPendingReviews", PageStatistics="SpecialPageStatistics", ClearPendingReviews="SpecialClearPendingReviews", }, ExtensionMessagesFiles={ WatchAnalyticsAliases="WatchAnalytics.alias.php", WatchAnalyticsMagic="WatchAnalytics.i18n.magic.php", }, Hooks={ PersonalUrls={ "WatchAnalyticsHooks::onPersonalUrls",}, BeforePageDisplay={ "WatchAnalyticsHooks::onBeforePageDisplay",}, ParserFirstCallInit={ "WatchAnalyticsParserFunctions::setup",}, TitleMoveComplete={ "WatchAnalyticsHooks::onTitleMoveComplete",}, PageViewUpdates={ "WatchAnalyticsHooks::onPageViewUpdates",}, PageContentSaveComplete={ "WatchAnalyticsHooks::onPageContentSaveComplete",}, MagicWordwgVariableIDs={ "WatchAnalyticsHooks::addMagicWordVariableIDs",}, ParserAfterTidy={ "WatchAnalyticsHooks::handleMagicWords",}, LanguageGetMagic={ "WatchAnalyticsHooks::onLanguageGetMagic",}, LoadExtensionSchemaUpdates={ "WatchAnalyticsUpdaterHooks::addSchemaUpdates",}, ParserTestTables={ "WatchAnalyticsUpdaterHooks::onParserTestTables",}, }, LogTypes={ "pendingreviews",}, LogNames={ pendingreviews="pendingreviews", }, LogHeaders={ pendingreviews="pendingreviews-header", }, LogActionsHandlers={ ["pendingreviews/*"]="LogFormatter", }, config={ ["_prefix"]="eg", WatchAnalyticsPageCounter=false, WatchAnalyticsShowUnreviewDiff=true, PendingReviewMaxDiffChar=3500, PendingReviewMaxDiffRows=15, PendingReviewsEmphasizeDays=7, PendingReviewsRedPagesThreshold=2, PendingReviewsOrangePagesThreshold=4, PendingReviewsNumberWatchSuggestions=20, PendingReviewsShowWatchSuggestionsIfReviewsUnder=5, WatchAnalyticsPageScoreNamespaces={ 0,1,}, WatchAnalyticsWatchQualityColors={ [51]="plaid", [6]="excellent", ["1.5"]="okay", ["_merge_strategy"]="array_plus", }, WatchAnalyticsReviewStatusColors={ [6]="excellent", [4]="okay", ["_merge_strategy"]="array_plus", }, }, repository="https://github.com/enterprisemediawiki/WatchAnalytics", composer="mediawiki/watch-analytics", }, WerewolfWiki={ name="WerewolfWiki", author="Ryan Schmidt", description="Additional features for the Werewolf Wiki", url="https://github.com/lykoss/wiki", version="1.2.0", ["license-name"]="MIT", type="other", config={ ["_prefix"]="wgWW", RCFeedHideLogs={ "patrol","review","suppress",}, RCFeedHideNamespaces={ }, }, APIModules={ userinfo="ApiUserInfo", }, repository="https://github.com/lykoss/wiki.git", }, Whois={ name="Whois", author="Petr Kajzar", url="https://www.mediawiki.org/wiki/Extension:Whois", ["license-name"]="CC0-1.0", version="1.1.0", namemsg="whois", descriptionmsg="whois-desc", requires={ MediaWiki=">= 1.32.0", }, SpecialPages={ Whois="SpecialWhois", }, Hooks={ ContributionsToolLinks="WhoisHooks::addLink", }, type="specialpage", repository="https://bitbucket.org/wikiskripta/whois.git", }, WikiDexFileRepository={ name="WikiDexFileRepository", version="1.2.0", author={ "Jesús Martínez (Ciencia Al Poder)",}, url="https://github.com/ciencia/mediawiki-extensions-WikiDexFileRepository", descriptionmsg="wikidexfilerepository-desc", ["license-name"]="GPL-2.0+", type="media", repository="https://github.com/ciencia/mediawiki-extensions-WikiDexFileRepository.git", }, WikiDiscover={ name="WikiDiscover", author={ "John Lewis","Universal Omega",}, descriptionmsg="wikidiscover-desc", url="https://github.com/miraheze/WikiDiscover", ["license-name"]="GPL-3.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.36.0", extensions={ CreateWiki="*", }, }, SpecialPages={ RandomWiki="SpecialRandomWiki", WikiDiscover="SpecialWikiDiscover", }, APIModules={ wikidiscover="ApiWikiDiscover", }, ExtensionMessagesFiles={ WikiDiscoverMagic="includes/WikiDiscoverMagic.php", WikiDiscoverAliases="includes/WikiDiscoverAliases.php", }, Hooks={ ParserFirstCallInit={ "WikiDiscover::onParserFirstCallInit",}, ParserGetVariableValueSwitch={ "WikiDiscover::onParserGetVariableValueSwitch",}, GetMagicVariableIDs={ "WikiDiscover::onGetMagicVariableIDs",}, }, config={ WikiDiscoverUseDescriptions={ description="Whether or not to enable wiki descriptions.", public=true, value=false, }, }, composer="miraheze/wikidiscover", repository="https://github.com/miraheze/WikiDiscover", }, WikiMirror={ name="WikiMirror", namemsg="wikimirror-extensionname", version="0.6.6", author={ "Ryan Schmidt",}, url="https://mwusers.org", ["license-name"]="GPL-3.0-or-later", descriptionmsg="wikimirror-desc", type="other", config={ WikiMirrorAssignKnownUsers={ value=false, path=false, description="When forking pages, whether or not imported revisions will be assigned to local users should their username match", descriptionmsg="wikimirror-config-assignknownusers", public=true, }, WikiMirrorRemote={ value=nil, path=false, description="Interwiki prefix of the remote wiki", descriptionmsg="wikimirror-config-remote", public=true, }, }, Hooks={ ApiCheckCanExecute="api", ["ApiMain::moduleManager"]="api", APIQueryAfterExecute="api", getUserPermissionsErrors="mirror", getUserPermissionsErrorsExpensive="mirror", HtmlPageLinkRendererEnd="mirror", ImportHandlePageXMLTag="fork", LoadExtensionSchemaUpdates="database", PageMoveCompleting="fork", MediaWikiServices="service", ["SkinTemplateNavigation::Universal"]="mirror", TitleIsAlwaysKnown="mirror", WikiPageFactory="mirror", }, HookHandlers={ api={ class="WikiMirror\\API\\Hooks", services={ "Mirror",}, }, database={ class="WikiMirror\\Database\\Hooks", }, fork={ class="WikiMirror\\Fork\\Hooks", services={ "DBLoadBalancer","ContentLanguage",}, }, mirror={ class="WikiMirror\\Mirror\\Hooks", services={ "Mirror","PermissionManager",}, }, service={ class="WikiMirror\\Service\\Hooks", }, }, ExtensionMessagesFiles={ WikiMirrorAlias="includes/WikiMirror.i18n.alias.php", }, AvailableRights={ "fork",}, SpecialPages={ Fork={ class="WikiMirror\\Fork\\SpecialFork", services={ "DBLoadBalancer","Mirror","OldRevisionImporter","UserOptionsLookup",}, }, }, LogActionsHandlers={ ["delete/fork"]="LogFormatter", ["import/fork"]="LogFormatter", }, ContentHandlers={ mirror="WikiMirror\\Mirror\\MirrorContentHandler", }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, callback="WikiMirror\\Setup::callback", requires={ MediaWiki=">= 1.35.0", }, repository="https://github.com/SkizNet/mediawiki-WikiMirror", }, WikiSEO={ name="WikiSEO", version="2.6.6", author={ "Octfx","...",}, url="https://www.mediawiki.org/wiki/Extension:WikiSEO", descriptionmsg="wiki-seo-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.35.0", platform={ php=">=7.2.0", }, }, config={ GoogleSiteVerificationKey={ description="Site verification key for Google Search Console", value=nil, }, BingSiteVerificationKey={ description="Site verification key for Bing Webmaster Center", value=nil, }, FacebookAppId={ description="App Id for Facebook Insights", value=nil, }, FacebookAdmins={ description="Admin id for Facebook Insights. Multiple ids can be separated by ','", value=nil, }, YandexSiteVerificationKey={ description="Site verification key for Yandex Webmasters", value=nil, }, AlexaSiteVerificationKey={ description="Site verification key for Alexa Console", value=nil, }, PinterestSiteVerificationKey={ description="Site verification key for Pinterest Console", value=nil, }, NortonSiteVerificationKey={ description="Site verification key for Norton Safe Web", value=nil, }, NaverSiteVerificationKey={ description="Site verification key for the Naver Search Engine", value=nil, }, TwitterSiteHandle={ description="Twitter Site handle to add globally", value=nil, }, MetadataGenerators={ description="Array with metadata generators. Valid values are OpenGraph, Twitter, SchemaOrg, Citation. Defaults to all three generators if empty.", value={ }, }, WikiSeoDefaultImage={ description="Default image. Local image, if not set $wgLogo will be used.", value=nil, }, TwitterCardType={ description="Type of twitter card to use. Defaults to 'summary_large_image'. Possible values: 'summary', 'summary_large_image'", value="summary_large_image", }, WikiSeoDefaultLanguage={ description="Language code and area which will set a  for the current page.", value=nil, }, WikiSeoDisableLogoFallbackImage={ description="Disable setting the sites logo as the default SEO image if no image was provided.", value=false, }, WikiSeoNoindexPageTitles={ description="Array of page titles that should have a robot policy of 'noindex'.", value={ }, }, WikiSeoEnableAutoDescription={ description="Set to true to try to request a description from textextracts, if no description was given, or the description key is set to 'textextracts'.", value=false, }, WikiSeoTryCleanAutoDescription={ description="Set to true, if WikiSEO should try to remove dangling sentences when using descriptions from textextracts.", value=false, }, }, ConfigRegistry={ WikiSEO="GlobalVarConfig::newInstance", }, RawHtmlMessages={ "wiki-seo-pageinfo-header-description","wiki-seo-param-title-description","wiki-seo-param-title_mode-description","wiki-seo-param-title_separator-description","wiki-seo-param-keywords-description","wiki-seo-param-description-description","wiki-seo-param-image-description",}, ExtensionMessagesFiles={ WikiSEOMagic="WikiSEO.i18n.magic.php", }, HookHandlers={ ParserHooks={ class="MediaWiki\\Extension\\WikiSEO\\Hooks\\ParserHooks", }, PageHooks={ class="MediaWiki\\Extension\\WikiSEO\\Hooks\\PageHooks", services={ "MainConfig",}, }, InfoActionHook={ class="MediaWiki\\Extension\\WikiSEO\\Hooks\\InfoAction", services={ "RepoGroup",}, }, }, Hooks={ ParserFirstCallInit="ParserHooks", BeforePageDisplay="PageHooks", RevisionDataUpdates="PageHooks", InfoAction="InfoActionHook", ScribuntoExternalLibraries="MediaWiki\\Extension\\WikiSEO\\Hooks\\ScribuntoHooks::onScribuntoExternalLibraries", }, composer="mediawiki/wiki-seo", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiSEO", }, WikiZoomer={ name="WikiZoomer", version="1.0", author="Josef Martiňák", url="https://bitbucket.org/wikiskripta/wikizoomer", descriptionmsg="wikizoomer-desc", type="other", ["license-name"]="MIT", status="stable", requires={ MediaWiki=">= 1.29.0", }, Hooks={ BeforePageDisplay="WikiZoomerHooks::zoomIt", }, repository="https://bitbucket.org/wikiskripta/wikizoomer", }, ["Wikibase EDTF"]={ name="Wikibase EDTF", type="wikibase", version="1.2.0", author={ "Jeroen De Dauw","Professional.Wiki",}, ["license-name"]="GPL-2.0-or-later", url="https://github.com/ProfessionalWiki/WikibaseEdtf", descriptionmsg="wbedtf-desc", requires={ MediaWiki=">= 1.35.0", extensions={ WikibaseRepository="*", }, }, callback="Wikibase\\EDTF\\HookHandlers::onExtensionRegistration", Hooks={ WikibaseRepoDataTypes="Wikibase\\EDTF\\HookHandlers::onWikibaseRepoDataTypes", WikibaseClientDataTypes="Wikibase\\EDTF\\HookHandlers::onWikibaseClientDataTypes", }, config={ }, repository="https://github.com/ProfessionalWiki/WikibaseEdtf/issues", composer="professional-wiki/wikibase-edtf", }, ["Wikibase Local Media"]={ name="Wikibase Local Media", type="wikibase", version="1.0.1", author={ "Jeroen De Dauw","Professional.Wiki",}, url="https://github.com/ProfessionalWiki/WikibaseLocalMedia", descriptionmsg="wblm-desc", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.34.0", extensions={ WikibaseRepository="*", }, }, Hooks={ WikibaseRepoDataTypes="Wikibase\\LocalMedia\\HookHandlers::onWikibaseRepoDataTypes", WikibaseClientDataTypes="Wikibase\\LocalMedia\\HookHandlers::onWikibaseClientDataTypes", }, config={ }, QUnitTestModule={ localBasePath="tests/js", remoteExtPath="WikibaseLocalMedia/tests/js", scripts={ "jquery.ui.mediasuggester.tests.js",}, dependencies={ "jquery.ui.mediasuggester",}, }, repository="https://github.com/ProfessionalWiki/WikibaseLocalMedia/issues", composer="professional-wiki/wikibase-local-media", }, WimaAdvertising={ name="WimaAdvertising", author="WikiMANNia", url="https://www.mediawiki.org/wiki/Extension:WimaAdvertising", ["license-name"]="GPL-2.0-or-later", version="2.0.0", namemsg="wimaadvertising-msg", descriptionmsg="wimaadvertising-desc", config={ BannerBottomCode="", BannerBottomStyle="border:1px solid black; text-align:center;", BannerBottomType="advertising", BannerTopCode="", BannerTopStyle="border:1px solid black; text-align:center;", BannerTopType="advertising", SidebarAd1Code="", SidebarAd1Type="advertising", SidebarAd2Code="", SidebarAd2Type="advertising", WimaAdvertisingAnonOnly=false, WimaGoogleAdSenseClient="none", WimaGoogleAdSenseSlot="none", WimaGoogleAdSenseSrc="//pagead2.googlesyndication.com/pagead/show_ads.js", WimaGoogleAdSenseID="none", WimaGoogleAdSenseAnonOnly=false, }, type="other", Hooks={ BeforePageDisplay="WimaAdvertisingHooks::onBeforePageDisplay", SidebarBeforeOutput="WimaAdvertisingHooks::onSidebarBeforeOutput", SiteNoticeAfter="WimaAdvertisingHooks::onSiteNoticeAfter", SkinAfterContent="WimaAdvertisingHooks::onSkinAfterContent", }, repository="https://github.com/WikiMANNia/MediaWiki-Extension-WimaAdvertising.git", }, Wiretap={ name="Wiretap", version=0.1, author={ "James Montalvo",}, url="https://www.mediawiki.org/wiki/Extension:Wiretap", descriptionmsg="wiretap-desc", type="specialpage", SpecialPages={ Wiretap="SpecialWiretap", }, ExtensionMessagesFiles={ Wiretap="Wiretap.i18n.php", WiretapAlias="Wiretap.alias.php", }, Hooks={ BeforeInitialize={ "Wiretap::updateTable",}, AfterFinalPageOutput={ "Wiretap::recordInDatabase",}, SkinTemplateOutputPageBeforeExec={ "Wiretap::onSkinTemplateOutputPageBeforeExec",}, LoadExtensionSchemaUpdates={ "Wiretap::updateDatabase",}, }, config={ DisableCounters=false, WiretapCounterPeriod=30, WiretapAddToAlltimeCounter=true, WiretapAddToPeriodCounter=false, }, repository="https://github.com/enterprisemediawiki/Wiretap.git", }, WordNet={ name="WordNet", version="2020-11-01", author="Niklas Laxström", url="https://sanat.csc.fi/wiki/Toiminnot:WordNet", ["license-name"]="GPL-2.0-or-later", type="other", Hooks={ ParserFirstCallInit="MediaWiki\\Extensions\\WordNet\\Hooks::onParserFirstCallInit", }, MessagesFiles={ WordNetAlias="alias.php", }, SpecialPages={ WordNet="MediaWiki\\Extensions\\WordNet\\SpecialWordNet", }, composer="mediawiki/wordnet", repository="https://github.com/Nikerabbit/mediawiki-extensions-WordNet.git", }, YandexSiteVerification={ name="YandexSiteVerification", author={ "Dolfinus","Adam Shorland",}, url="https://www.mediawiki.org/wiki/Extension:YandexSiteVerification", descriptionmsg="yav-desc", version="1.0", ["license-name"]="MIT", type="other", ExtensionMessagesFiles={ YandexSiteVerification="YandexSiteVerification.i18n.php", }, Hooks={ BeforePageDisplay={ "YandexSiteVerification::onBeforePageDisplay",}, }, repository="https://github.com/dolfinus/YandexSiteVerification.git", }, ["3d"]={ name="3d", version="0.0.1", author={ "Gilles Dubuc",}, url="https://www.mediawiki.org/wiki/Extension:3d", namemsg="3d", descriptionmsg="3d-desc", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.34.0", }, type="media", Hooks={ BeforePageDisplay="MediaWiki\\Extension\\ThreeD\\Hooks::onBeforePageDisplay", UploadFormInitDescriptor="MediaWiki\\Extension\\ThreeD\\Hooks::onUploadFormInitDescriptor", ["UploadForm:getInitialPageText"]="MediaWiki\\Extension\\ThreeD\\Hooks::onGetInitialPageText", }, MediaHandlers={ ["application/sla"]="MediaWiki\\Extension\\ThreeD\\ThreeDHandler", }, config={ Max3d2pngMemory={ value="10000000", }, AjaxPatentPreview={ value=true, }, ["3dProcessEnviron"]={ value={ }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/3D", }, AControlImageLink={ name="AControlImageLink", version="0.0.1", author="Edward Chernenko", url="https://www.mediawiki.org/wiki/Extension:AControlImageLink", descriptionmsg="acontrolimagelink-desc", ["license-name"]="GPL-2.0+", type="hook", requires={ MediaWiki=">= 1.29.0", }, Hooks={ ImageBeforeProduceHTML="AControlImageLinkHooks::onImageBeforeProduceHTML", }, config={ AControlImageLinkRestrictedExtensions={ value={ }, description="Array of file extensions to which restriction must be applied.", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AControlImageLink", }, AJAX_Poll={ name="AJAX Poll", version="2.3", author={ "Dariusz Siedlecki","Jack Phoenix","Thomas Gries",}, url="https://www.mediawiki.org/wiki/Extension:AJAX_Poll", descriptionmsg="ajaxpoll-desc", type="parserhook", ["license-name"]="GFDL-1.2", requires={ MediaWiki=">= 1.35.3", }, GroupPermissions={ ["*"]={ ["ajaxpoll-vote"]=false, ["ajaxpoll-view-results"]=false, ["ajaxpoll-view-results-before-vote"]=false, }, user={ ["ajaxpoll-vote"]=true, ["ajaxpoll-view-results"]=true, }, }, AvailableRights={ "ajaxpoll-vote","ajaxpoll-view-results","ajaxpoll-view-results-before-vote",}, APIModules={ pollsubmitvote="ApiAJAXPollSubmitVote", }, Hooks={ ParserFirstCallInit="AJAXPoll::onParserFirstCallInit", LoadExtensionSchemaUpdates="AJAXPoll::onLoadExtensionSchemaUpdates", }, TrackingCategories={ "ajaxpoll-tracking-category",}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AJAXPoll", }, AbsenteeLandlord={ name="Absentee Landlord", version="1.4.0", author={ "Ryan Schmidt","Tim Laqua",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:AbsenteeLandlord", descriptionmsg="absenteelandlord-desc", type="other", requires={ MediaWiki=">= 1.39.0", }, config={ AbsenteeLandlordMaxDays=90, }, Hooks={ BeforePageDisplay="AbsenteeLandlord::maybeDoTouch", MediaWikiServices="AbsenteeLandlord::onMediaWikiServices", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AbsenteeLandlord", }, AbuseFilter={ name="Abuse Filter", author={ "Andrew Garrett","Daimona Eaytoy","Marius Hoch","River Tarnell","Victor Vasiliev",}, url="https://www.mediawiki.org/wiki/Extension:AbuseFilter", descriptionmsg="abusefilter-desc", ["license-name"]="GPL-2.0-or-later", type="antispam", requires={ MediaWiki=">= 1.38.0", }, AvailableRights={ "abusefilter-modify","abusefilter-log-detail","abusefilter-view","abusefilter-log","abusefilter-privatedetails","abusefilter-privatedetails-log","abusefilter-modify-restricted","abusefilter-revert","abusefilter-view-private","abusefilter-log-private","abusefilter-hidden-log","abusefilter-hide-log","abusefilter-modify-global",}, GroupPermissions={ ["*"]={ ["abusefilter-view"]=true, ["abusefilter-log"]=true, }, sysop={ ["abusefilter-log-detail"]=true, ["abusefilter-view-private"]=true, ["abusefilter-log-private"]=true, ["abusefilter-modify"]=true, ["abusefilter-modify-restricted"]=true, ["abusefilter-revert"]=true, }, suppress={ ["abusefilter-hidden-log"]=true, ["abusefilter-hide-log"]=true, }, }, GrantPermissions={ basic={ ["abusefilter-log"]=true, ["abusefilter-log-detail"]=true, ["abusefilter-view"]=true, }, oversight={ ["abusefilter-hide-log"]=true, }, viewrestrictedlogs={ ["abusefilter-hidden-log"]=true, ["abusefilter-log-private"]=true, ["abusefilter-view-private"]=true, }, }, SpecialPages={ AbuseLog={ class="MediaWiki\\Extension\\AbuseFilter\\Special\\SpecialAbuseLog", services={ "LinkBatchFactory","PermissionManager","UserIdentityLookup","AbuseFilterPermissionManager","AbuseFilterConsequencesRegistry","AbuseFilterVariablesBlobStore","AbuseFilterSpecsFormatter","AbuseFilterVariablesFormatter","AbuseFilterVariablesManager",}, }, AbuseFilter={ class="MediaWiki\\Extension\\AbuseFilter\\Special\\SpecialAbuseFilter", services={ "AbuseFilterPermissionManager","ObjectFactory",}, }, }, LogTypes={ "abusefilter","abusefilterprivatedetails",}, LogNames={ abusefilter="abusefilter-log-name", abusefilterprivatedetails="abusefilterprivatedetails-log-name", }, LogHeaders={ abusefilter="abusefilter-log-header", }, LogActionsHandlers={ ["abusefilter/hit"]="MediaWiki\\Extension\\AbuseFilter\\LogFormatter\\AbuseLogHitFormatter", ["abusefilter/modify"]="MediaWiki\\Extension\\AbuseFilter\\LogFormatter\\AbuseFilterModifyLogFormatter", ["abusefilter/create"]="MediaWiki\\Extension\\AbuseFilter\\LogFormatter\\AbuseFilterModifyLogFormatter", ["abusefilterprivatedetails/access"]="LogFormatter", ["suppress/hide-afl"]="MediaWiki\\Extension\\AbuseFilter\\LogFormatter\\AbuseFilterSuppressLogFormatter", ["suppress/unhide-afl"]="MediaWiki\\Extension\\AbuseFilter\\LogFormatter\\AbuseFilterSuppressLogFormatter", ["rights/blockautopromote"]="MediaWiki\\Extension\\AbuseFilter\\LogFormatter\\AbuseFilterRightsLogFormatter", ["rights/restoreautopromote"]="MediaWiki\\Extension\\AbuseFilter\\LogFormatter\\AbuseFilterRightsLogFormatter", }, ActionFilteredLogs={ abusefilter={ modify={ "modify",}, create={ "create",}, }, suppress={ abuselog={ "hide-afl","unhide-afl",}, }, rights={ blockautopromote={ "blockautopromote",}, restoreautopromote={ "restoreautopromote",}, }, }, LogRestrictions={ abusefilter="abusefilter-view", abusefilterprivatedetails="abusefilter-privatedetails-log", }, AuthManagerAutoConfig={ preauth={ AbuseFilterPreAuthenticationProvider={ class="MediaWiki\\Extension\\AbuseFilter\\AbuseFilterPreAuthenticationProvider", services={ "AbuseFilterVariableGeneratorFactory","AbuseFilterRunnerFactory","StatsdDataFactory","UserFactory",}, sort=5, }, }, }, APIModules={ abusefilterchecksyntax={ class="MediaWiki\\Extension\\AbuseFilter\\Api\\CheckSyntax", services={ "AbuseFilterRuleCheckerFactory","AbuseFilterPermissionManager",}, }, abusefilterevalexpression={ class="MediaWiki\\Extension\\AbuseFilter\\Api\\EvalExpression", services={ "AbuseFilterRuleCheckerFactory","AbuseFilterPermissionManager","AbuseFilterVariableGeneratorFactory",}, }, abusefilterunblockautopromote={ class="MediaWiki\\Extension\\AbuseFilter\\Api\\UnblockAutopromote", services={ "AbuseFilterBlockAutopromoteStore",}, }, abusefiltercheckmatch={ class="MediaWiki\\Extension\\AbuseFilter\\Api\\CheckMatch", services={ "AbuseFilterRuleCheckerFactory","AbuseFilterPermissionManager","AbuseFilterVariablesBlobStore","AbuseFilterVariableGeneratorFactory",}, }, abuselogprivatedetails={ class="MediaWiki\\Extension\\AbuseFilter\\Api\\AbuseLogPrivateDetails", services={ "AbuseFilterPermissionManager",}, }, }, APIListModules={ abuselog={ class="MediaWiki\\Extension\\AbuseFilter\\Api\\QueryAbuseLog", services={ "AbuseFilterFilterLookup","AbuseFilterPermissionManager","AbuseFilterVariablesBlobStore","AbuseFilterVariablesManager",}, }, abusefilters={ class="MediaWiki\\Extension\\AbuseFilter\\Api\\QueryAbuseFilters", services={ "AbuseFilterPermissionManager",}, }, }, ExtensionMessagesFiles={ AbuseFilterAliases="AbuseFilter.alias.php", }, attributes={ VisualEditor={ PluginModules={ "ext.abuseFilter.visualEditor",}, }, }, callback="MediaWiki\\Extension\\AbuseFilter\\Hooks\\Handlers\\RegistrationCallback::onRegistration", HookHandlers={ ToolLinks={ class="MediaWiki\\Extension\\AbuseFilter\\Hooks\\Handlers\\ToolLinksHandler", services={ "AbuseFilterPermissionManager",}, }, AutoPromoteGroups={ class="MediaWiki\\Extension\\AbuseFilter\\Hooks\\Handlers\\AutoPromoteGroupsHandler", factory="MediaWiki\\Extension\\AbuseFilter\\Hooks\\Handlers\\AutoPromoteGroupsHandler::factory", services={ "AbuseFilterConsequencesRegistry","AbuseFilterBlockAutopromoteStore",}, }, ChangeTags={ class="MediaWiki\\Extension\\AbuseFilter\\Hooks\\Handlers\\ChangeTagsHandler", services={ "AbuseFilterChangeTagsManager",}, }, Tests={ class="MediaWiki\\Extension\\AbuseFilter\\Hooks\\Handlers\\TestsHandler", }, SchemaChanges={ class="MediaWiki\\Extension\\AbuseFilter\\Hooks\\Handlers\\SchemaChangesHandler", factory="MediaWiki\\Extension\\AbuseFilter\\Hooks\\Handlers\\SchemaChangesHandler::newFromGlobalState", }, UserRename={ class="MediaWiki\\Extension\\AbuseFilter\\Hooks\\Handlers\\UserRenameHandler", }, PageSave={ class="MediaWiki\\Extension\\AbuseFilter\\Hooks\\Handlers\\PageSaveHandler", services={ "AbuseFilterEditRevUpdater",}, }, RecentChangeSave={ class="MediaWiki\\Extension\\AbuseFilter\\Hooks\\Handlers\\RecentChangeSaveHandler", services={ "AbuseFilterChangeTagger",}, }, FilteredActions={ class="MediaWiki\\Extension\\AbuseFilter\\Hooks\\Handlers\\FilteredActionsHandler", services={ "StatsdDataFactory","AbuseFilterRunnerFactory","AbuseFilterVariableGeneratorFactory","AbuseFilterEditRevUpdater",}, }, }, Hooks={ EditFilterMergedContent="FilteredActions", GetAutoPromoteGroups="AutoPromoteGroups", TitleMove="FilteredActions", ArticleDelete="FilteredActions", RecentChange_save="RecentChangeSave", ListDefinedTags="ChangeTags", ChangeTagsListActive="ChangeTags", LoadExtensionSchemaUpdates="SchemaChanges", ContributionsToolLinks="ToolLinks", HistoryPageToolLinks="ToolLinks", UndeletePageToolLinks="ToolLinks", UploadVerifyUpload="FilteredActions", UploadStashFile="FilteredActions", PageSaveComplete="PageSave", RenameUserSQL="UserRename", UserMergeAccountFields="MediaWiki\\Extension\\AbuseFilter\\Hooks\\Handlers\\UserMergeHandler::onUserMergeAccountFields", BeforeCreateEchoEvent="MediaWiki\\Extension\\AbuseFilter\\Hooks\\Handlers\\EchoHandler::onBeforeCreateEchoEvent", ParserOutputStashForEdit="FilteredActions", UnitTestsAfterDatabaseSetup="Tests", UnitTestsBeforeDatabaseTeardown="Tests", }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, config={ AbuseFilterActions={ value={ throttle=true, warn=true, disallow=true, blockautopromote=true, block=true, rangeblock=false, degroup=false, tag=true, }, description="Array of enabled actions in the form [action name => is enabled?]. At the end of setup, false values will be filtered out", }, AbuseFilterConditionLimit={ value=1000, description="The maximum number of 'conditions' that can be used each time the filters are run against a change. (More complex filters require more 'conditions').", }, AbuseFilterEmergencyDisableThreshold={ value={ default=0.05, }, description="Disable potentially dangerous actions (AbuseFilterRestrictions) of a filter if it matches more than X actions, constituting more than Y% (e.g. 0.05 = 5%) of the last Z actions, and the filter has been modified in the last S seconds. X is AbuseFilterEmergencyDisableCount, Y is AbuseFilterEmergencyDisableThreshold, S is AbuseFilterEmergencyDisableAge and Z is the number of analyzed actions since the filter was modified.", }, AbuseFilterEmergencyDisableCount={ value={ default=2, }, description="See description for AbuseFilterEmergencyDisableThreshold", }, AbuseFilterEmergencyDisableAge={ value={ default=86400, }, description="See description for AbuseFilterEmergencyDisableThreshold", }, AbuseFilterActionRestrictions={ value={ throttle=false, warn=false, disallow=false, blockautopromote=true, block=true, rangeblock=true, degroup=true, tag=false, }, description="Do users need 'abusefilter-modify-restricted' user right as well as 'abusefilter-modify' in order to create or modify filters which carry out this action? Array like [action name => is restricted?]", }, AbuseFilterNotifications={ value=false, description="Allows to configure the extension to send hit notifications to Special:RecentChanges or UDP. Available options: rc, udp, rcandudp", }, AbuseFilterNotificationsPrivate={ value=false, description="Enable notifications for private filters", }, AbuseFilterCentralDB={ value=nil, description="Name of a database where global abuse filters will be stored in. To use a DB with prefixed tables, set this to \"{$databaseName}-{$prefix}\".", }, AbuseFilterIsCentral={ value=false, description="Set this variable to true for the wiki where global AbuseFilters are stored in", }, AbuseFilterLocallyDisabledGlobalActions={ value={ throttle=false, warn=false, disallow=false, blockautopromote=false, block=false, rangeblock=false, degroup=false, tag=false, }, description="An array of actions which, if set on a global filter, will not be used for local hits of such filter (not in the central wiki). The array is [ action => will be disabled? ]. NOTE: Locally disabling throttle or warn will *not* disable the remaining actions.", }, AbuseFilterBlockDuration={ value="indefinite", description="Old standard block duration for logged in users. Kept for backward compatibility after T32024.", }, AbuseFilterAnonBlockDuration={ value=nil, description="Old standard block duration for anonymous users, $wgAbuseFilterBlockDuration will be used if null. Kept for backward compatibility after T32024.", }, AbuseFilterBlockAutopromoteDuration={ value=5, description="Duration, in days, for which users' autopromotion is blocked by filters.", }, AbuseFilterValidGroups={ value={ "default",}, description="The list of 'groups' filters can be divided into – used for applying edit filters to certain types of actions. By default there is only one group.", }, AbuseFilterDefaultWarningMessage={ value={ default="abusefilter-warning", }, description="Default warning messages, per filter group", }, AbuseFilterDefaultDisallowMessage={ value={ default="abusefilter-disallowed", }, description="Default disallow messages, per filter group", }, AbuseFilterLogIPMaxAge={ value=7776000, description="Age used as cutoff when purging old IP log data, defaults to 3 months. Used by maintenance script purgeOldLogIPData.php", }, AbuseFilterSlowFilterRuntimeLimit={ value=500, description="Runtime in milliseconds before a filter is considered slow.", }, AbuseFilterRangeBlockSize={ value={ IPv4=16, IPv6=19, }, description="Size of the range blocked by 'rangeblock' action.", }, AbuseFilterLogPrivateDetailsAccess={ value=false, description="Whether accessing private information from a filter log entry is logged.", }, AbuseFilterPrivateDetailsForceReason={ value=false, description="Whether users are forced to provide a reason for accessing private information from a filter log entry.", }, AbuseFilterLogIP={ value=true, description="Whether to include IP in the abuse_filter_log", }, }, composer="mediawiki/abuse-filter", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AbuseFilter", }, AbuseFilterBypass={ name="Abuse Filter Bypass", version="1.1.1", author={ "Nelson Monterroso","Jack Phoenix",}, url="https://www.mediawiki.org/wiki/Extension:AbuseFilterBypass", descriptionmsg="abusefilterbypass-desc", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.31.0", }, type="other", Hooks={ AbuseFilterShouldFilterAction="AbuseFilterBypass::onBypassCheck", }, AvailableRights={ "abusefilter-bypass",}, GroupPermissions={ staff={ ["abusefilter-bypass"]=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AbuseFilterBypass", }, AccessControl={ name="AccessControl", version="2.6", author={ "Aleš Kapica",}, type="parserhook", url="https://www.mediawiki.org/wiki/Extension:AccessControl", descriptionmsg="accesscontrol-desc", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.32.0", }, config={ AdminCanReadAll={ value=true, description="Sysop users can read all restricted pages", }, AccessControlRedirect={ value=true, description="Do not redirect from page in search results to restricted pages", }, }, Hooks={ ParserFirstCallInit="AccessControlHooks::accessControlExtension", userCan="AccessControlHooks::onUserCan", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AccessControl", }, AccountInfo={ name="AccountInfo", version="0.2.0", author={ "Kunal Mehta","Benjamin Lees","Prateek Saxena",}, url="https://www.mediawiki.org/wiki/Extension:AccountInfo", descriptionmsg="accountinfo-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.34.0", }, SpecialPages={ AccountInfo="MediaWiki\\AccountInfo\\SpecialAccountInfo", }, ExtensionMessagesFiles={ AccountInfoAlias="AccountInfo.alias.php", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AccountInfo", }, Acrolinx={ name="Acrolinx", version="0.2", author={ "Yaron Koren","Vedmaka",}, url="https://www.mediawiki.org/wiki/Extension:Acrolinx", descriptionmsg="acrolinx-desc", ["license-name"]="GPL-3.0", type="hook", requires={ MediaWiki=">= 1.34.0", }, Hooks={ MakeGlobalVariablesScript="AcrolinxHooks::setGlobalJSVariables", ["EditPage::showEditForm:initial"]="AcrolinxHooks::addToEditPage", ["PageForms::AddRLModules"]="AcrolinxHooks::addToFormEditPage", BeforePageDisplay="AcrolinxHooks::onBeforePageDisplay", UnitTestsList="AcrolinxHooks::onUnitTestsList", }, config={ AcrolinxServerAddress=nil, AcrolinxClientSignature=nil, AcrolinxNamespaces={ 0,}, AcrolinxPageLocationID=nil, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Acrolinx", }, ActiveAbstract={ name="ActiveAbstract", author={ "Brion Vibber",}, url="https://www.mediawiki.org/wiki/Extension:ActiveAbstract", descriptionmsg="activeabstract-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.36.0", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ActiveAbstract", }, AdManager={ name="AdManager", version="1.2.0", author="Ike Hecht", url="https://www.mediawiki.org/wiki/Extension:AdManager", descriptionmsg="admanager-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.36.0", }, AvailableRights={ "admanager",}, GroupPermissions={ sysop={ admanager=true, }, }, SpecialPages={ AdManagerZones="SpecialAdManagerZones", AdManager="SpecialAdManager", }, ExtensionMessagesFiles={ AdManagerAlias="AdManager.alias.php", }, Hooks={ LoadExtensionSchemaUpdates="AdManagerHooks::onSchemaUpdate", SkinBuildSidebar="AdManagerHooks::onSkinBuildSidebar", BeforePageDisplay="AdManagerHooks::onBeforePageDisplay", }, config={ AdManagerService={ value=nil, }, AdManagerCode={ value=nil, }, AdManagerPlacement={ value="sidebar", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AdManager", }, Add_HTML_Meta_and_Title={ name="AddHTMLMetaAndTitle", version="0.7", author={ "Vladimir Radulovski","Jim Wilson","Dennis Roczek",}, url="https://www.mediawiki.org/wiki/Extension:Add_HTML_Meta_and_Title", descriptionmsg="addhtmlmetaandtitle-desc", ["license-name"]="MIT", type="parserhook", requires={ MediaWiki=">= 1.29.0", }, Hooks={ ParserFirstCallInit="MediaWiki\\Extension\\AddHtmlMetaAndTitle\\Hooks::onParserFirstCallInit", BeforePageDisplay="MediaWiki\\Extension\\AddHtmlMetaAndTitle\\Hooks::onBeforePageDisplay", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AddHTMLMetaAndTitle", }, AddMessages={ name="AddMessages", version="0.3", author="Ike Hecht", url="https://www.mediawiki.org/wiki/Extension:AddMessages", descriptionmsg="addmessages-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.29.0", }, Hooks={ LocalisationCacheRecache="AddMessages::onLocalisationCacheRecache", }, config={ AmMessages={ value={ }, description="Array of message key and value pairs. Will overwrite existing messages. Set in LocalSettings.php, Example: $wgAmMessages = array( 'toolbox' => 'My Toolbox' );", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AddMessages", }, AddPersonalUrls={ name="AddPersonalUrls", version="1.2.2beta", author={ "RV1971",}, descriptionmsg="addpersonalurls-desc", url="https://www.mediawiki.org/wiki/Extension:AddPersonalUrls", ["license-name"]="GPL-3.0-or-later", requires={ MediaWiki=">= 1.30.0", }, ExtensionFunctions={ "AddPersonalUrls::init",}, config={ AddPersonalUrlsTable={ description="Table of URLs to add.", value={ ["addpersonalurls-userpages"]="Special:PrefixIndex?prefix=$username/&namespace=2", ["addpersonalurls-home"]="Special:Mypage/Home", ["addpersonalurls-favorites"]="Special:Mypage/Favorites", ["addpersonalurls-sandbox"]="Special:Mypage/Sandbox", ["addpersonalurls-notes"]="Special:Mypage/Notes", }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AddPersonalUrls", }, AddThis={ name="AddThis", version="1.2.0", author={ "Gregory Varnum","John Du Hart",}, url="https://www.mediawiki.org/wiki/Extension:AddThis", descriptionmsg="addthis-desc", ["license-name"]="GPL-2.0-only", type="other", requires={ MediaWiki=">= 1.34.0", }, Hooks={ ArticleViewHeader="AddThis::AddThisHeader", ParserFirstCallInit="AddThis::AddThisHeaderTag", SkinBuildSidebar="AddThis::AddThisSidebar", }, config={ AddThispubid={ value="", }, AddThisBackground={ value="#f6f6f6", }, AddThisBorder={ value="#a7d7f9", }, AddThisSidebar={ value=true, }, AddThisHeader={ value=true, }, AddThisMain={ value=true, }, AddThis={ value={ addressbarsharing=false, }, }, AddThisSBServ={ value={ { service="compact", },{ service="facebook", },{ service="twitter", },{ service="google_plusone", attribs="g:plusone:count=\"false\" style=\"margin-top:1px;\"", },{ service="email", },}, }, AddThisHServ={ value={ { service="facebook", },{ service="twitter", },{ service="google_plusone", attribs="g:plusone:count=\"false\" style=\"margin-top:1px;\"", },{ service="linkedin", },{ service="tumblr", },{ service="stumbleupon", },{ service="reddit", },{ service="email", },}, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AddThis", }, Admin_Links={ name="Admin Links", version="0.5", author={ "Yaron Koren",}, url="https://www.mediawiki.org/wiki/Extension:Admin_Links", descriptionmsg="adminlinks-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.35.0", }, GroupPermissions={ sysop={ adminlinks=true, }, }, AvailableRights={ "adminlinks",}, SpecialPages={ AdminLinks="AdminLinks", }, ExtensionMessagesFiles={ AdminLinksAlias="AdminLinks.alias.php", }, Hooks={ ["SkinTemplateNavigation::Universal"]="AdminLinks::addURLToUserLinks", }, composer="mediawiki/admin-links", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AdminLinks", }, AdvancedMeta={ name="AdvancedMeta", version="3.0.0", author={ "Stephan Muller","Bart van Heukelom","Zayoo","Patric Wirth ",}, url="https://www.mediawiki.org/wiki/Extension:AdvancedMeta", descriptionmsg="advancedmeta-desc", type="other", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.36.0", }, callback="\\AdvancedMeta\\Extension::onRegistration", ServiceWiringFiles={ "includes/ServiceWiring.php",}, APIModules={ ["advancedmeta-tasks"]="\\AdvancedMeta\\Api\\Tasks", }, GroupPermissions={ ["*"]={ ["advancedmeta-edit"]=false, }, user={ ["advancedmeta-edit"]=false, }, bureaucrat={ ["advancedmeta-edit"]=true, }, sysop={ ["advancedmeta-edit"]=true, }, }, AvailableRights={ "advancedmeta-edit",}, config={ GlobalKeywordsMsgKey={ value="globalkeywords", }, NoIndexOnOldVersions={ value=false, }, }, config_prefix="adwm", ConfigRegistry={ adwm="\\AdvancedMeta\\Config::newInstance", }, Hooks={ LoadExtensionSchemaUpdates="\\AdvancedMeta\\Hook\\LoadExtensionSchemaUpdates\\AddAdvancedMetaDBSchema::callback", BeforePageDisplay={ "\\AdvancedMeta\\Hook\\BeforePageDisplay\\AddResources::callback","\\AdvancedMeta\\Hook\\BeforePageDisplay\\AddPolicies::callback","\\AdvancedMeta\\Hook\\BeforePageDisplay\\AddJSConfigVar::callback","\\AdvancedMeta\\Hook\\BeforePageDisplay\\AddKeywords::callback","\\AdvancedMeta\\Hook\\BeforePageDisplay\\AddDescription::callback","\\AdvancedMeta\\Hook\\BeforePageDisplay\\SetHTMLTitle::callback",}, ["SkinTemplateNavigation::Universal"]="\\AdvancedMeta\\Hook\\SkinTemplateNavigationUniversal\\AddAdvancedMeta::callback", }, composer="mediawiki/advanced-meta", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AdvancedMeta", }, AdvancedSearch={ name="AdvancedSearch", author={ "Wikimedia Deutschland Technical Wishes Team","Thiemo Kreuz","Gabriel Birke","Tonina Zhelyazkova","Christoph Jauera","Kai Nissen","Tim Eulitz",}, url="https://www.mediawiki.org/wiki/Extension:AdvancedSearch", descriptionmsg="advancedsearch-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.35.0", }, config={ AdvancedSearchDeepcatEnabled={ description="Category search also includes child categories.", value=true, }, AdvancedSearchNamespacePresets={ description="Groups of namespaces to offer as presets. Can be specified ('namespaces') or determined dynamically ('provider').", value={ defaultNamespaces={ enabled=true, provider="defaultNamespaces", label="advancedsearch-namespaces-preset-default", }, discussion={ enabled=true, provider="discussion", label="advancedsearch-namespaces-preset-discussion", }, generalHelp={ enabled=true, namespaces={ "4","12",}, label="advancedsearch-namespaces-preset-general-help", }, all={ enabled=true, provider="all", label="advancedsearch-namespaces-preset-all", }, }, merge_strategy="array_plus_2d", }, }, HookHandlers={ main={ class="AdvancedSearch\\Hooks", }, }, Hooks={ GetPreferences="main", SpecialPageBeforeExecute="main", SpecialSearchResultsPrepend="main", }, DefaultUserOptions={ ["advancedsearch-disable"]=false, }, QUnitTestModule={ localBasePath="tests/qunit", remoteExtPath="AdvancedSearch/tests/qunit", scripts={ "FieldCollection.test.js","QueryCompiler.test.js","SearchField.test.js","ui/ArbitraryWordInput.test.js","ui/CheckboxInputWidget.test.js","ui/ItemMenuOptionWidget.test.js","ui/FileTypeSelection.test.js","ui/MenuSelectWidget.test.js","ui/LanguageSelection.test.js","ui/NamespaceFilters.test.js","ui/NamespacePresets.test.js","ui/SearchPreview.test.js","dm/getDefaultNamespaces.test.js","dm/NamespacePresetProviders.test.js","dm/SearchModel.test.js","dm/FileTypeOptionProvider.test.js","dm/TitleCache.test.js","dm/LanguageOptionProvider.test.js","dm/MultiselectLookup.test.js","util.test.js",}, dependencies={ "ext.advancedSearch.elements","ext.advancedSearch.SearchFieldUI","oojs-ui",}, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AdvancedSearch", }, AjaxShowEditors={ name="Ajax Show Editors", version="2.0", author={ "Antoine Musso","Tim Starling","Jack Phoenix","...",}, url="https://www.mediawiki.org/wiki/Extension:AjaxShowEditors", descriptionmsg="ajaxshoweditors-desc", ["license-name"]="GPL-2.0-only", requires={ MediaWiki=">= 1.36.0", }, type="other", config={ AjaxShowEditorsTimeout={ value=60, path=false, description="Number of seconds before a user is considered as no longer editing", public=false, }, }, APIModules={ ajaxshoweditors="ApiAjaxShowEditors", }, Hooks={ PageContentSave="AjaxShowEditorsHooks::onPageContentSave", BeforePageDisplay="AjaxShowEditorsHooks::onBeforePageDisplay", ["EditPage::showEditForm:initial"]="AjaxShowEditorsHooks::onEditPageShowEditFormInitial", LoadExtensionSchemaUpdates="AjaxShowEditorsHooks::onLoadExtensionSchemaUpdates", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AjaxShowEditors", }, AkismetKlik={ name="AkismetKlik", author="Carl Austin Bennett", url="https://www.mediawiki.org/wiki/Extension:AkismetKlik", descriptionmsg="akismetklik-desc", type="other", requires={ MediaWiki=">= 1.34.0", }, config={ AKSiteUrl={ value="", }, AKkey={ value="", }, }, ["license-name"]="BSD-2-Clause", Hooks={ EditFilterMergedContent="AkismetKlik::onAkismetFilterMergedContent", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AkismetKlik", }, AllTimeZones={ name="AllTimeZones", version="0.3.0", author="Nischay Nahata", url="https://www.mediawiki.org/wiki/Extension:AllTimeZones", descriptionmsg="alltimezones-desc", ["license-name"]="GPL-3.0-only", type="parserhook", requires={ MediaWiki=">= 1.31.0", }, Hooks={ ParserFirstCallInit="AllTimeZonesHooks::wfTimezoneSetup", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AllTimeZones", }, AnchorHandler={ name="AnchorHandler", version="0.2", author="Ike Hecht for WikiWorks", url="https://www.mediawiki.org/wiki/Extension:AnchorHandler", descriptionmsg="anchorhandler-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.29.0", }, Hooks={ ParserFirstCallInit="AnchorHandlerHooks::addAnchorHandler", }, config_prefix="eg", config={ AnchorNamespaces={ value="", description="Wiki namespaces where AnchorHandler will work. Set on LocalSettings.php", public=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AnchorHandler", }, AnonPrivacy={ name="AnonPrivacy", version="1.1", author="Sophivorus", url="https://www.mediawiki.org/wiki/Extension:AnonPrivacy", descriptionmsg="anonprivacy-desc", ["license-name"]="GPL-3.0", type="other", requires={ MediaWiki=">=1.35.0", }, AvailableRights={ "anonprivacy",}, GroupPermissions={ sysop={ anonprivacy=true, }, }, Hooks={ HtmlPageLinkRendererEnd="AnonPrivacy::onHtmlPageLinkRendererEnd", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AnonPrivacy", }, AntiSpoof={ name="AntiSpoof", author="Brion Vibber", url="https://www.mediawiki.org/wiki/Extension:AntiSpoof", descriptionmsg="antispoof-desc", ["license-name"]="GPL-2.0-or-later", type="antispam", requires={ MediaWiki=">= 1.37.0", }, GroupPermissions={ sysop={ ["override-antispoof"]=true, }, bureaucrat={ ["override-antispoof"]=true, }, }, AvailableRights={ "override-antispoof",}, GrantPermissions={ createaccount={ ["override-antispoof"]=true, }, }, APIModules={ antispoof="MediaWiki\\Extension\\AntiSpoof\\ApiAntiSpoof", }, AuthManagerAutoConfig={ preauth={ AntiSpoofPreAuthenticationProvider={ class="MediaWiki\\Extension\\AntiSpoof\\AntiSpoofPreAuthenticationProvider", services={ "PermissionManager",}, }, }, }, Hooks={ LoadExtensionSchemaUpdates="MediaWiki\\Extension\\AntiSpoof\\Hooks::asUpdateSchema", LocalUserCreated="MediaWiki\\Extension\\AntiSpoof\\Hooks::asLocalUserCreated", RenameUserComplete="MediaWiki\\Extension\\AntiSpoof\\Hooks::asAddRenameUserHook", DeleteAccount="MediaWiki\\Extension\\AntiSpoof\\Hooks::asDeleteAccount", }, config={ AntiSpoofAccounts={ description="Whether to stop spoofed accounts from being created. When false, only log.", value=true, public=true, }, AntiSpoofProhibitedCharacters={ description="List of characters prohibited from use in your wiki.", value={ "̷","̸","⁄","∕","⎮","⧶","⧸","⫻","⫽","／",}, public=true, }, }, composer="mediawiki/anti-spoof", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AntiSpoof", }, ApiFeatureUsage={ name="ApiFeatureUsage", version="1.0", author="Brad Jorsch", url="https://www.mediawiki.org/wiki/Extension:ApiFeatureUsage", descriptionmsg="apifeatureusage-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.31.0", extensions={ Elastica="*", }, }, ConfigRegistry={ ApiFeatureUsage="GlobalVarConfig::newInstance", }, SpecialPages={ ApiFeatureUsage="MediaWiki\\Extension\\ApiFeatureUsage\\SpecialApiFeatureUsage", }, APIMetaModules={ featureusage="MediaWiki\\Extension\\ApiFeatureUsage\\ApiQueryFeatureUsage", }, ExtensionMessagesFiles={ ApiFeatureUsageAlias="ApiFeatureUsage.alias.php", }, Hooks={ ApiDeprecationHelp="MediaWiki\\Extension\\ApiFeatureUsage\\Hooks::onApiDeprecationHelp", }, config={ ApiFeatureUsageQueryEngineConf={ value={ }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ApiFeatureUsage", }, Approved_Revs={ name="Approved Revs", version="1.8", author={ "Yaron Koren","...",}, url="https://www.mediawiki.org/wiki/Extension:Approved_Revs", descriptionmsg="approvedrevs-desc", ["license-name"]="GPL-2.0-or-later", type="hook", requires={ MediaWiki=">= 1.34.0", }, callback="ApprovedRevsHooks::registerExtension", GroupPermissions={ sysop={ viewapprover=true, approverevisions=true, }, ["*"]={ viewlinktolatest=true, }, }, GrantPermissions={ approvedrevs={ approverevisions=true, viewlinktolatest=true, viewapprover=true, }, }, GrantPermissionGroups={ approvedrevs="approvedrevs", }, AvailableRights={ "approverevisions","viewlinktolatest","viewapprover",}, LogTypes={ "approval",}, LogNames={ approval="approvedrevs-logname", }, LogHeaders={ approval="approvedrevs-logdesc", }, LogActions={ ["approval/approve"]="approvedrevs-approveaction", ["approval/approvefile"]="approvedrevs-approvefileaction", ["approval/unapprove"]="approvedrevs-unapproveaction", }, SpecialPages={ ApprovedRevs="SpecialApprovedRevs", }, APIModules={ approve="ApiApprove", }, ExtensionMessagesFiles={ ApprovedRevsAlias="ApprovedRevs.alias.php", ApprovedRevsMagic="ApprovedRevs.i18n.magic.php", }, Actions={ approve="ARApproveAction", unapprove="ARUnapproveAction", approvefile="ARApproveFileAction", unapprovefile="ARUnapproveFileAction", }, Hooks={ RevisionDataUpdates="ApprovedRevsHooks::updateLinksAfterEdit", SearchResultInitFromTitle="ApprovedRevsHooks::setSearchRevisionID", ParserBeforeInternalParse="ApprovedRevsHooks::removeRobotsTag", ArticleFromTitle="ApprovedRevsHooks::showApprovedRevision", DisplayOldSubtitle="ApprovedRevsHooks::setSubtitle", ["SkinTemplateNavigation::Universal"]="ApprovedRevsHooks::changeEditLink", PageHistoryBeforeList="ApprovedRevsHooks::storeApprovedRevisionForHistoryPage", PageHistoryLineEnding="ApprovedRevsHooks::addApprovalLink", ParserAfterTidy="ApprovedRevsHooks::handleMagicWords", ParserGetVariableValueSwitch="ApprovedRevsHooks::assignAValue", ParserFirstCallInit="ApprovedRevsHooks::registerFunctions", AdminLinks="ApprovedRevsHooks::addToAdminLinks", LoadExtensionSchemaUpdates="ApprovedRevsHooks::describeDBSchema", ["EditPage::showEditForm:initial"]="ApprovedRevsHooks::addWarningToEditPage", ["PageForms::HTMLBeforeForm"]="ApprovedRevsHooks::addWarningToPFForm", ArticleViewHeader={ "ApprovedRevsHooks::setArticleHeader","ApprovedRevsHooks::displayNotApprovedHeader",}, OutputPageBodyAttributes="ApprovedRevsHooks::addBodyClass", ImagePageFileHistoryLine="ApprovedRevsHooks::onImagePageFileHistoryLine", UploadComplete="ApprovedRevsHooks::setLatestFileRevAsApproved", BeforeParserFetchFileAndTitle="ApprovedRevsHooks::modifyFileLinks", ImagePageFindFile="ApprovedRevsHooks::onImagePageFindFile", FileDeleteComplete="ApprovedRevsHooks::onFileDeleteComplete", wgQueryPages="ApprovedRevsHooks::onwgQueryPages", MpdfGetArticle="ApprovedRevsHooks::onMpdfGetArticle", }, config={ ["_prefix"]="eg", ApprovedRevsEnabledNamespaces={ true,true,true,true,true,true,"array_plus",}, ApprovedRevsSelfOwnedNamespaces={ }, ApprovedRevsBlankIfUnapproved=false, ApprovedRevsBlankFileIfUnapproved=false, ApprovedRevsAutomaticApprovals=true, ApprovedRevsFileAutomaticApprovals=true, ApprovedRevsShowApproveLatest=false, ApprovedRevsShowNotApprovedMessage=false, }, composer="mediawiki/approved-revs", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ApprovedRevs", }, Arrays={ name="Arrays", version="2.2.1", author={ "Li Ding","Jie Bao","Daniel Werner",}, url="https://www.mediawiki.org/wiki/Extension:Arrays", descriptionmsg="arrays-desc", ["license-name"]="MIT", type="parserhook", requires={ MediaWiki=">= 1.34.0", }, ExtensionMessagesFiles={ ArraysMagic="Arrays.i18n.magic.php", }, Hooks={ ParserFirstCallInit="ExtArrays::init", ParserClearState="ExtArrays::onParserClearState", }, config_prefix="eg", config={ ArraysCompatibilityMode={ description="Set to false by default since version 2.0.", value=false, }, ArraysExpansionEscapeTemplates={ description="Contains a key-value pair list of characters that should be replaced by a template or parser function call within array values included into an '#arrayprint'. By replacing these special characters before including the values into the string which is being expanded afterwards, array values can't distract the surrounding MW code. Otherwise the array values themselves would be parsed as well.\n\nThis has no effect in case $egArraysCompatibilityMode is set to false! If set to null, Arrays will jump to compatibility mode behavior on this, independently from $egArraysCompatibilityMode.", value={ ["="]="=", ["|"]="|", [""]="}}", }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Arrays", }, ArticleCreationWorkflow={ name="ArticleCreationWorkflow", type="other", author={ "Max Semenik","Niharika Kohli",}, url="https://www.mediawiki.org/wiki/Extension:ArticleCreationWorkflow", descriptionmsg="acw-desc", ["license-name"]="MIT", requires={ MediaWiki=">= 1.34.0", }, Hooks={ CustomEditor="ArticleCreationWorkflow\\Hooks::onCustomEditor", ShowMissingArticle="ArticleCreationWorkflow\\Hooks::onShowMissingArticle", BeforePageDisplay="ArticleCreationWorkflow\\Hooks::onBeforePageDisplay", TitleQuickPermissions="ArticleCreationWorkflow\\Hooks::onTitleQuickPermissions", }, GroupPermissions={ ["*"]={ createpagemainns=true, }, user={ createpagemainns=true, }, autoconfirmed={ createpagemainns=true, }, }, GrantPermissions={ createeditmovepage={ createpagemainns=true, }, }, AvailableRights={ "createpagemainns",}, config={ ArticleCreationLandingPage={ description="The name of the wiki page to which users should be redirected if intercepted.", value="Project:Article wizard", }, UseCustomLandingPageStyles={ description="Whether to load custom CSS for the landing page", value=true, }, }, ConfigRegistry={ ArticleCreationWorkflow="GlobalVarConfig::newInstance", }, composer="mediawiki/acw", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ArticleCreationWorkflow", }, ArticleFeedbackv5={ name="Article Feedback", version="5.6.0", author={ "Greg Chiasson","Reha Sterbin","Sam Reed","Roan Kattouw","Trevor Parscal","Brandon Harris","Adam Miller","Nimish Gautam","Arthur Richards","Timo Tijhof","Ryan Kaldari","Elizabeth M Smith","Michael Jackson","Matthias Mullie","Jack Phoenix",}, ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.37.0", }, url="https://www.mediawiki.org/wiki/Extension:ArticleFeedbackv5", descriptionmsg="articlefeedbackv5-desc", type="other", callback="ArticleFeedbackv5Hooks::registerExtension", DefaultUserOptions={ ["aftv5-last-filter"]=nil, ["echo-subscriptions-web-feedback"]=true, ["echo-subscriptions-email-feedback"]=true, }, AvailableRights={ "aft-reader","aft-member","aft-editor","aft-monitor","aft-administrator","aft-oversighter",}, SpecialPages={ ArticleFeedbackv5="SpecialArticleFeedbackv5", ArticleFeedbackv5Watchlist="SpecialArticleFeedbackv5Watchlist", }, JobClasses={ ArticleFeedbackv5MailerJob="ArticleFeedbackv5MailerJob", }, LogTypes={ "articlefeedbackv5",}, LogActionsHandlers={ ["articlefeedbackv5/protect"]="ArticleFeedbackv5ProtectionLogFormatter", ["articlefeedbackv5/create"]="ArticleFeedbackv5LogFormatter", }, APIModules={ ["articlefeedbackv5-set-status"]="ApiSetStatusArticleFeedbackv5", ["articlefeedbackv5-add-flag-note"]="ApiAddFlagNoteArticleFeedbackv5", ["articlefeedbackv5-flag-feedback"]="ApiFlagFeedbackArticleFeedbackv5", ["articlefeedbackv5-get-count"]="ApiGetCountArticleFeedbackv5", articlefeedbackv5="ApiArticleFeedbackv5", }, APIListModules={ ["articlefeedbackv5-view-feedback"]={ class="ApiViewFeedbackArticleFeedbackv5", services={ "UserOptionsManager",}, }, ["articlefeedbackv5-view-activity"]="ApiViewActivityArticleFeedbackv5", }, ExtensionMessagesFiles={ ArticleFeedbackv5Alias="ArticleFeedbackv5.alias.php", }, Hooks={ LoadExtensionSchemaUpdates="ArticleFeedbackv5Hooks::loadExtensionSchemaUpdates", BeforePageDisplay="ArticleFeedbackv5Hooks::beforePageDisplay", ResourceLoaderGetConfigVars="ArticleFeedbackv5Hooks::resourceLoaderGetConfigVars", MakeGlobalVariablesScript="ArticleFeedbackv5Hooks::makeGlobalVariablesScript", GetPreferences="ArticleFeedbackv5Hooks::getPreferences", ["EditPage::showEditForm:fields"]="ArticleFeedbackv5Hooks::pushFieldsToEdit", ["ContribsPager::reallyDoQuery"]="ArticleFeedbackv5Hooks::contributionsData", ContributionsLineEnding="ArticleFeedbackv5Hooks::contributionsLineEnding", ["ProtectionForm::buildForm"]="ArticleFeedbackv5Hooks::onProtectionForm", ["ProtectionForm::save"]="ArticleFeedbackv5Hooks::onProtectionSave", ["ProtectionForm::showLogExtract"]="ArticleFeedbackv5Hooks::onShowLogExtract", UserLoginComplete="ArticleFeedbackv5Hooks::userLoginComplete", UserGetReservedNames="ArticleFeedbackv5Hooks::onUserGetReservedNames", BeforeCreateEchoEvent="ArticleFeedbackv5Hooks::onBeforeCreateEchoEvent", EchoGetDefaultNotifiedUsers="ArticleFeedbackv5Hooks::onEchoGetDefaultNotifiedUsers", EchoGetBundleRules="ArticleFeedbackv5Hooks::onEchoGetBundleRules", AbuseFilterCustomActions="ArticleFeedbackv5Hooks::onAbuseFilterCustomActions", }, config={ ArticleFeedbackv5DefaultFilters={ description="Default filter and direction settings for groups.\nreaders (= all)\neditors (autoconfirmed)\nmonitors\noversighters", value={ ["aft-reader"]="featured", ["aft-editor"]="featured", ["aft-monitor"]="featured", ["aft-oversighter"]="featured", }, }, ArticleFeedbackv5DefaultSorts={ description="Default sorts by filter. Because privileges don't play a part in default sort, the visible-, notdeleted-, and all- prefixes have been removed.", value={ featured={ "relevance","DESC",}, unreviewed={ "age","DESC",}, helpful={ "helpful","DESC",}, unhelpful={ "helpful","ASC",}, flagged={ "age","DESC",}, useful={ "age","DESC",}, resolved={ "age","DESC",}, noaction={ "age","DESC",}, inappropriate={ "age","DESC",}, archived={ "age","DESC",}, allcomment={ "age","DESC",}, hidden={ "age","DESC",}, requested={ "age","DESC",}, declined={ "age","DESC",}, oversighted={ "age","DESC",}, all={ "age","DESC",}, }, }, ArticleFeedbackv5RelevanceScoring={ description="Relevance Scoring. name => integer scoring actions pairs. After changing this you should also change the values in relevance_score.sql and run it to reset relevance", value={ helpful=1, ["undo-helpful"]=-1, unhelpful=-1, ["undo-unhelpful"]=1, flag=-5, unflag=5, autoflag=5, feature=50, unfeature=-50, resolve=-5, unresolve=5, noaction=-5, unnoaction=5, inappropriate=-50, uninappropriate=50, autohide=-100, hide=-100, unhide=100, archive=-50, unarchive=50, request=-150, unrequest=150, decline=150, oversight=-750, unoversight=750, }, }, ArticleFeedbackv5Permissions={ description="Permissions, which are added to $wgAvailableRights. See ArticleFeedbackv5Hooks.php for more documentation etc. on this.", value={ "aft-reader","aft-member","aft-editor","aft-monitor","aft-administrator","aft-oversighter",}, }, ArticleFeedbackv5AutoArchiveEnabled={ description="Enable/disable the \"archived\" filter. This is a setting that needs to explicitly be set to true since the functionality will depend on a cronjob to be run periodically. True to enable, false to disable.", value=false, }, ArticleFeedbackv5AutoArchiveTtl={ description="Defines the auto-archive period for feedback that is not being considered useful. Value should be an strtotime-capable format.\n\nIf defined as string, this will be a fixed TTL based on the feedback creation date.\n\nIt is also possible to set a certain TTL per offset of unreviewed feedback, e.g.:\narray(\n\t0 => '+2 years', // < 9: 2 years\n\t10 => '+1 month', // 10-19: 1 month\n\t20 => '+1 week', // 20-29: 1 week\n\t30 => '+3 days', // 30-39: 3 days\n\t40 => '+2 days', // > 40: 2 days\n\t);", value="+2 weeks", }, ArticleFeedbackv5ArticlePageLink={ description="Defines whether or not there should be a link to the corresponding feedback on the article page", value=true, }, ArticleFeedbackv5TalkPageLink={ description="Defines whether or not there should be a link to the corresponding feedback on the article page's talk page", value=true, }, ArticleFeedbackv5WatchlistLink={ description="Defines whether or not there should be a link to the watchlisted feedback on the watchlist page", value=true, }, ArticleFeedbackv5Watchlist={ description="Defines whether or not the special page for feedback on a user's watchlisted pages is enabled", value=true, }, ArticleFeedbackv5OversightEmails={ description="Email address to send oversight request emails to, if set to null no emails are sent", value=nil, }, ArticleFeedbackv5OversightEmailName={ description="Name to send oversight request emails to", value="Oversighters", }, ArticleFeedbackv5OversightEmailHelp={ description="Help link for oversight email", value="https://en.wikipedia.org/wiki/Wikipedia:Article_Feedback_Tool/Version_5/Help/Feedback_page_Oversighters", }, ArticleFeedbackv5AutoHelp={ description="Help link for auto flag/hide etc.", value="http://en.wikipedia.org/wiki/Wikipedia:Article_Feedback_Tool/Version_5/Help", }, ArticleFeedbackv5MaxCommentLength={ description="How long text-based feedback is allowed to be before returning an error. Set to 0 to disable length checking entirely.", value=5000, }, ArticleFeedbackv5MaxActivityNoteLength={ description="How long text-based activity items are allowed to be - note this will not return an error but simply chop notes that are too long", value=5000, }, ArticleFeedbackv5RatingLifetime={ description="Number of revisions to keep a rating alive for", value=30, }, ArticleFeedbackv5LotteryOdds={ description="Percentage of article AFT should be enabled on", value=100, }, ArticleFeedbackv5Categories={ description="Which categories the pages must belong to have the rating widget added (with _ in text). Extension is \"disabled\" if this field is an empty array (as per default configuration)", value={ "Article_Feedback_5",}, }, ArticleFeedbackv5BlacklistCategories={ description="Which categories the pages must not belong to have the rating widget added (with _ in text)", value={ "Article_Feedback_Blacklist",}, }, ArticleFeedbackv5EnableProtection={ description="Allow/disallow the ability to enable or disable AFTv5 on a per-article basis. This feature will add an AFTv5 entry in page protection settings (for admins) or a simple enable/disable link for editors. Disabling this will remove said links & entry in ?action=protect & ignore existing opt-in/-outs, leaving only lottery & whitelist/blacklist categories to define if an article should get AFTv5.", value=true, }, ArticleFeedbackv5Debug={ description="This puts the JavaScript into debug mode. In debug mode, you can set your own bucket by passing it in the URL (e.g., ?bucket=1), and the showstopper error mode will have a useful error message, if one exists, rather than the default message.", value=false, }, ArticleFeedbackv5DisplayBuckets={ description="Bucket settings for display options. Users can fall into one of several display buckets (these are defined in modules/jquery.articlefeedbackv5/jquery.articlefeedbackv5.js). When a user arrives at the page, this config will be used by core bucketing to decide which of the available form options they see. Whenever there's an update to the available buckets, change the version number to ensure the new odds are applied to everyone, not just people who have yet to be placed in a bucket.", value={ buckets={ [1]=0, [2]=0, [5]=0, [7]=100, }, version=6, expires=30, }, }, ArticleFeedbackv5LinkBuckets={ description="Bucket settings for links to the feedback form. Users can fall into one of several buckets for links. These are:\nX: No link; user must scroll to the bottom of the page\nA: After the site tagline (below the article title)\nB: Below the titlebar on the right\nC: Button fixed to right side\nD: Button fixed to bottom right\nE: Button fixed to bottom right, design D2\nF: Button fixed to left side\nG: Button below logo\nH: Link on each section bar", value={ buckets={ X=100, A=0, B=0, C=0, D=0, E=0, F=0, G=0, H=0, }, version=5, expires=30, }, }, ArticleFeedbackv5CTABuckets={ description="Bucket settings for CTAs. Users can fall into one of several CTAs (these are defined in modules/jquery.articlefeedbackv5/jquery.articlefeedbackv5.js). When a user arrives at the page, this config will be used by core bucketing to decide which of the available CTAs they see. Whenever there's an update to the available buckets, change the version number to ensure the new odds are applied to everyone, not just people who have yet to be placed in a bucket.", value={ buckets={ 0,0,0,0,90,9,1,}, version=7, expires=0, }, }, ArticleFeedbackv5AbusiveThreshold={ description="Abusive threshold. After this many users flag a comment as abusive, it is marked as such.", value=3, }, ArticleFeedbackv5HideAbuseThreshold={ description="Hide abuse threshold. After this many users flag a comment as abusive, it is hidden.", value=5, }, ArticleFeedbackv5AbuseFiltering={ description="Turn on abuse filtering. If this is set to true, comments will be run through:\n1. $wgSpamRegex, if set\n2. SpamBlacklist, if installed\n3. AbuseFilter, if installed", value=false, }, ArticleFeedbackv5AbuseFilterGroup={ description="This is the custom group name for AbuseFilter. It ensures that AbuseFilter only pulls the filters related to AFT. If you would like AbuseFilter to pull all of the filters, enter 'default' here.", value="feedback", }, ArticleFeedbackv5ThrottleThresholdPostsPerHour={ description="How many feedback posts per hour before triggering a throttling response? This is per-user and is governed by last-posted timestamps stored in a cookie. If this is set to -1, the number of posts is not throttled.", value=20, }, ArticleFeedbackv5LearnToEdit={ description="The full URL for the \"Learn to Edit\" link", value="//en.wikipedia.org/wiki/Wikipedia:Tutorial", }, ArticleFeedbackv5SurveyUrls={ description="The full URL for the survey link", value={ [2]="https://www.surveymonkey.com/s/aft5-1", [3]="https://www.surveymonkey.com/s/aft5-2", [4]="https://www.surveymonkey.com/s/aft5-3", [7]="https://www.surveymonkey.com/s/aft5-6", }, }, ArticleFeedbackv5SpecialPageSurveyUrl={ description="The full URL for the special page survey link", value="https://www.surveymonkey.com/s/aft5-5", }, ArticleFeedbackv5BackendClass={ description="Defines the backend class to be used by AFT's DataModel. Currently, only 1 (ArticleFeedbackv5BackendLBFactory) backend is supported, so better not touch that ;)", value="ArticleFeedbackv5BackendLBFactory", }, ArticleFeedbackv5Cluster={ description="Will define what external server should be used. If set to false, the current database (wfGetDB) will be used to read/write data from/to. If AFT data is supposed to be stored on an external database, set the value of this variable to the $wgExternalServers key representing that external connection.", value=false, }, }, composer="mediawiki/article-feedbackv5", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ArticleFeedbackv5", }, ArticleMetaDescription={ name="ArticleMetaDescription", version="1.3.1", author={ "Adrian Wieczorek",}, url="https://www.mediawiki.org/wiki/Extension:ArticleMetaDescription", descriptionmsg="articlemetadescription-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.34.0", }, Hooks={ OutputPageBeforeHTML="ArticleMetaDescription::onOutputPageBeforeHTML", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ArticleMetaDescription", }, ArticlePlaceholder={ name="ArticlePlaceholder", author={ "Lucie-Aimée Kaffee",}, url="https://www.mediawiki.org/wiki/Extension:ArticlePlaceholder", descriptionmsg="articleplaceholder-desc", type="other", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.35.0", extensions={ Scribunto="*", }, }, SpecialPages={ AboutTopic="ArticlePlaceholder\\Specials\\SpecialAboutTopic::newFromGlobalState", CreateTopicPage="ArticlePlaceholder\\Specials\\SpecialCreateTopicPage", }, ExtensionMessagesFiles={ ArticlePlaceholderAliases="ArticlePlaceholder.alias.php", }, QUnitTestModule={ localBasePath="tests/qunit", remoteExtPath="ArticlePlaceholder/tests/qunit", dependencies={ "ext.articleplaceholder.createArticle",}, scripts={ "ext.articleplaceholder.createArticle/createArticle.test.js","ext.articleplaceholder.createArticle/createArticleTranslation.test.js",}, }, Hooks={ SidebarBeforeOutput="ArticlePlaceholder\\SidebarBeforeOutputHookHandler::onSidebarBeforeOutput", ScribuntoExternalLibraries="ArticlePlaceholder\\Hooks::onScribuntoExternalLibraries", ScribuntoExternalLibraryPaths="ArticlePlaceholder\\Hooks::registerScribuntoExternalLibraryPaths", SpecialSearchResultsAppend="ArticlePlaceholder\\SearchHookHandler::onSpecialSearchResultsAppend", }, config={ ArticlePlaceholderImageProperty={ value="P18", }, ArticlePlaceholderReferencesBlacklist={ value="P143", }, ArticlePlaceholderSearchEngineIndexed={ value=false, }, ArticlePlaceholderSearchIntegrationEnabled={ value=true, }, ArticlePlaceholderRepoApiUrl={ value="https://www.wikidata.org/w/api.php", }, }, composer="mediawiki/article-placeholder", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ArticlePlaceholder", }, ArticleRatings={ name="ArticleRating", version="2.4.2", author="UltrasonicNXT/Adam Carter", url="https://www.mediawiki.org/wiki/Extension:ArticleRatings", descriptionmsg="ratings-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.35.3", }, GroupPermissions={ reviewer={ ["change-rating"]=true, }, }, AvailableRights={ "change-rating",}, SpecialPages={ ChangeRating="SpecialChangeRating", MassRatings="SpecialMassRatings", }, LogTypes={ "ratings",}, LogActionsHandlers={ ["ratings/*"]="LogFormatter", }, ExtensionMessagesFiles={ ArticleRatingsAlias="ArticleRatings.alias.php", }, Hooks={ BaseTemplateToolbox="AreHooks::onBaseTemplateToolbox", TitleMove="AreHooks::onTitleMove", ParserFirstCallInit="AreHooks::onParserFirstCallInit", LoadExtensionSchemaUpdates="AreHooks::onLoadExtensionSchemaUpdates", ArticleDeleteComplete="AreHooks::onArticleDeleteComplete", }, config={ AREUseInitialRatings={ value=false, }, ARENamespaces={ value={ }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ArticleRatings", }, ArticleToCategory2={ name="ArticleToCategory2", version="1.3", author={ "Mikael Lindmark","Liang Chen","Julien Devincre","Cynthia Mattingly",}, url="https://www.mediawiki.org/wiki/Extension:ArticleToCategory2", descriptionmsg="articletocategory2-desc", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.32.0", }, config={ ArticleToCategory2ConfigBlacklist={ value=false, description="Set this flag to true to enable the category blacklist in \"MediaWiki:Add Article to Category 2 excluded categories\" page (you need to create this page first)", }, }, AvailableRights={ "ArticleToCategory2","ArticleToCategory2AddCat",}, GroupPermissions={ ["*"]={ ArticleToCategory2=true, ArticleToCategory2AddCat=false, }, }, Hooks={ EditFormPreloadText="ArticleToCategory2Hooks::onEditFormPreloadText", CategoryPageView="ArticleToCategory2Hooks::onCategoryPageView", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ArticleToCategory2", }, Athena={ name="Athena", version="0.0.4", author={ "Richard Cook",}, url="https://www.mediawiki.org/wiki/Extension:Athena", descriptionmsg="athena-desc", ["license-name"]="GPL-3.0-only", type="antispam", requires={ MediaWiki=">= 1.36.0", }, SpecialPages={ Athena={ class="SpecialAthena", services={ "NamespaceInfo","WikiPageFactory",}, }, }, ExtensionMessagesFiles={ AthenaAlias="Athena.alias.php", }, callback="AthenaHooks::registerExtension", Hooks={ EditFilter="AthenaHooks::editFilter", LoadExtensionSchemaUpdates="AthenaHooks::createTables", ArticleDeleteComplete="AthenaHooks::pageDeleted", }, config={ AthenaSpamThreshold=0.5, AthenaTraining=false, }, AvailableRights={ "athena",}, GroupPermissions={ sysop={ athena=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Athena", }, Auth_remoteuser={ name="Auth_remoteuser", version="2.1.1", requires={ MediaWiki=">= 1.35.0", }, config={ AuthRemoteuserUserName={ value=nil, }, AuthRemoteuserUserNameReplaceFilter={ value=nil, }, AuthRemoteuserUserNameBlacklistFilter={ value=nil, }, AuthRemoteuserUserNameWhitelistFilter={ value=nil, }, AuthRemoteuserUserPrefs={ value=nil, }, AuthRemoteuserUserPrefsForced={ value=nil, }, AuthRemoteuserUserUrls={ value=nil, }, AuthRemoteuserAllowUserSwitch={ value=false, }, AuthRemoteuserRemoveAuthPagesAndLinks={ value=true, }, AuthRemoteuserPriority={ value=50, }, }, type="other", author={ "Otheus Shelling","Rusty Burchfield","James Kinsman","Daniel Thomas","Ian Ward Comfort","Mark A. Hershberger","Stefan Engelhardt",}, url="https://www.mediawiki.org/wiki/Extension:Auth_remoteuser", descriptionmsg="auth_remoteuser-desc", ["license-name"]="GPL-2.0-or-later", SessionProviders={ Auth_remoteuser={ class="MediaWiki\\Extension\\Auth_remoteuser\\AuthRemoteuserSessionProvider", }, }, repository="https://github.com/wikimedia/mediawiki-extensions-Auth_remoteuser", composer="mediawiki/auth-remoteuser", }, AuthorProtect={ name="AuthorProtect", version="1.4.0", author={ "Ryan Schmidt",}, url="https://www.mediawiki.org/wiki/Extension:AuthorProtect", descriptionmsg="authorprotect-desc", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.31.0", }, Hooks={ ["SkinTemplateNavigation::Universal"]="AuthorProtect::makeContentAction", UserGetRights="AuthorProtect::assignAuthor", }, Actions={ authorprotect="AuthorProtectAction", }, config={ RestrictionLevels={ value={ "author",}, merge_strategy="array_merge", }, }, AvailableRights={ "author","authorprotect",}, GroupPermissions={ sysop={ author=true, }, user={ authorprotect=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AuthorProtect", }, AutoCategoriseUploads={ name="AutoCategoriseUploads", version="2.0.1", author={ "Ryan Schmidt",}, url="https://www.mediawiki.org/wiki/Extension:AutoCategoriseUploads", namemsg="autocatuploads", descriptionmsg="autocatuploads-desc", ["license-name"]="GPL-3.0-or-later", type="variable", ExtensionMessagesFiles={ ACUMagic="AutoCategoriseUploads.i18n.magic.php", }, Hooks={ MagicWordwgVariableIDs="AutoCatUploads\\Hooks::onMagicWordwgVariableIDs", ParserGetVariableValueSwitch="AutoCatUploads\\Hooks::onParserGetVariableValueSwitch", ["UploadForm:getInitialPageText"]="AutoCatUploads\\Hooks::onGetInitialPageText", }, requires={ MediaWiki=">= 1.31.0", platform={ ["ext-SimpleXML"]="*", ["ext-zlib"]="*", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AutoCategoriseUploads", }, Auto_Create_Category_Pages={ name="AutoCreateCategoryPages", version="1.0.3", ["license-name"]="GPL-3.0-only", author={ "Merrick Schaefer","Mark Johnston","Evan Wheeler","Adam Mckaig (UNICEF)","Dror S. [FFS] (Kol-Zchut)",}, url="https://www.mediawiki.org/wiki/Extension:Auto_Create_Category_Pages", descriptionmsg="autocreatecategorypages-desc", type="other", requires={ MediaWiki=">= 1.25.0", }, callback="AutoCreateCategoryPages::registerExtension", Hooks={ UserGetReservedNames="AutoCreateCategoryPages::onUserGetReservedNames", }, config={ AutoCreateCategoryStub=nil, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AutoCreateCategoryPages", }, AutoGallery={ name="AutoGallery", ["license-name"]="AGPL-3.0-or-later", author={ "Kunal Mehta",}, descriptionmsg="autogallery-desc", url="https://www.mediawiki.org/wiki/Extension:AutoGallery", version="2.0", requires={ MediaWiki=">= 1.31.0", }, Hooks={ GalleryGetModes="AutoGallery\\Hooks::onGalleryGetModes", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AutoGallery", }, AutoProxyBlock={ name="AutoProxyBlock", version="1.2.0", author="Cryptocoryne", url="https://www.mediawiki.org/wiki/Extension:AutoProxyBlock", descriptionmsg="autoproxyblock-desc", ["license-name"]="GPL-2.0-or-later", type="antispam", requires={ MediaWiki=">= 1.36.0", }, AvailableRights={ "proxyunbannable","notagproxychanges","autoproxyblock-log",}, GroupPermissions={ sysop={ proxyunbannable=true, }, bureaucrat={ ["autoproxyblock-log"]=true, }, }, LogActions={ ["proxyblock/proxyblock"]="proxyblock-logentry", ["proxyblock/blocked"]="proxyblock-logentry-blocked", }, LogHeaders={ proxyblock="proxyblock-log-header", }, LogNames={ proxyblock="proxyblock-log-name", }, LogRestrictions={ proxyblock="autoproxyblock-log", }, LogTypes={ "proxyblock",}, Hooks={ getUserPermissionsErrorsExpensive="AutoProxyBlock::checkProxy", RecentChange_save="AutoProxyBlock::onRecentChangeSave", ListDefinedTags="AutoProxyBlock::addProxyTag", ChangeTagsListActive="AutoProxyBlock::addProxyTag", AbuseFilterAlterVariables="AutoProxyBlock::onAbuseFilterAlterVariables", ["AbuseFilter-builder"]="AutoProxyBlock::AFBuilderVars", }, config={ ProxyCanPerform={ value={ "read","edit","upload",}, }, TagProxyActions={ value=false, }, AutoProxyBlockSources={ value={ api={ "https://en.wikipedia.org/w/api.php",}, raw={ "/var/www/mediawiki/proxy.list",}, key="/blocked proxy/i", }, }, AutoProxyBlockLog={ value=false, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AutoProxyBlock", }, ["Azhàr_Authentication"]={ name="Azhàr Authentication", version="1.4.0", author="Sébastien Santoro", url="https://www.mediawiki.org/wiki/Extension:Azh%C3%A0r_Authentication", descriptionmsg="azharauth-desc", ["license-name"]="GPL-2.0-only", type="other", requires={ MediaWiki=">= 1.31.0", }, SpecialPages={ AzharAuth="SpecialAzharAuth", }, ExtensionMessagesFiles={ AzharAuthAlias="AzharAuth.alias.php", }, Hooks={ PersonalUrls="AzharAuthHooks::editPersonalLinks", SpecialPage_initList="AzharAuthHooks::disableSpecialPages", UserLogoutComplete="AzharAuthHooks::onUserLogoutComplete", }, config={ AzharAuthAddGoToIntranetLink={ value=true, description="@var boolean Determines if a link to the Azhàr intranet homepage should be added.", }, AzharAuthOnlyLoginSource={ value=true, description="@var boolean If true, only allows authentication through Azhàr and disables regular login/logout. Otherwise, Azhàr is an extra option to login.", }, AzharAllowCreateAccounts={ value=false, description="@var boolean If true, creates a new account if the user doesn't exist in the database.", }, AzharMatchAccountBy={ value={ "email",}, description="@var array, each row a string for a parameter to match. The fields to use to match user between the Azhàr sign in and provisioning document, and the local user database. Valid values: username, email.", }, AzharLoginUrl={ value="", description="@var string The Azhàr login URL", }, AzharMainUrl={ value="", description="@var string The Azhàr main intranet URL", }, AzharProductName={ value="", description="@var string The Azhàr product name. If omitted, MediaWiki:defaultproductname is used.", }, AzharConsumerKey={ value="", description=" @var string The Azhàr single sign on and provisioning API consumer key. The purpose of this key is to identify this sitef, like a login.", }, AzharSecretKey={ value="", description="@var string The Azhàr single sign on and provisioning API secret key. The purpose of this key is to be a shared secret shared between Azhàr and this site, to ensure the information exchanged are legit.", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/AzharAuth", }, Babel={ name="Babel", version="1.12.0", author={ "Robert Leverington","Thiemo Kreuz","Legoktm","Nikerabbit","Amir Aharoni","Ricordisamoa",}, url="https://www.mediawiki.org/wiki/Extension:Babel", descriptionmsg="babel-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.37.0", }, ExtensionMessagesFiles={ BabelMagic="Babel.i18n.magic.php", }, APIMetaModules={ babel={ class="MediaWiki\\Babel\\ApiQueryBabel", services={ "UserIdentityLookup",}, }, }, Hooks={ ParserFirstCallInit="MediaWiki\\Babel\\BabelStatic::onParserFirstCallInit", LinksUpdate="MediaWiki\\Babel\\BabelStatic::onLinksUpdate", LoadExtensionSchemaUpdates="MediaWiki\\Babel\\BabelStatic::onLoadExtensionSchemaUpdates", UserGetReservedNames="MediaWiki\\Babel\\BabelAutoCreate::onUserGetReservedNames", }, config={ BabelCategorizeNamespaces={ value=nil, }, BabelCategoryNames={ value={ [1]="%code%-0", [2]="%code%-1", [3]="%code%-2", [4]="%code%-3", [5]="%code%-4", [6]="%code%-5", N="%code%-N", }, merge_strategy="array_plus", }, BabelMainCategory={ value="%code%", }, BabelDefaultLevel={ value="N", }, BabelUseUserLanguage={ value=false, }, BabelCentralDb={ value=false, }, }, composer="mediawiki/babel", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Babel", }, BaseHooks={ name="BaseHooks", version="0.1.0", author={ "Victor Porton",}, url="https://www.mediawiki.org/wiki/Extension:BaseHooks", descriptionmsg="basehooks-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.31.0", }, Hooks={ SkinAfterBottomScripts="BaseHooksHooks::onSkinAfterBottomScripts", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BaseHooks", }, BatchUserRights={ name="BatchUserRights", version="1.2.0", author="Sean Colombo", url="https://www.mediawiki.org/wiki/Extension:BatchUserRights", descriptionmsg="batchuserrights-desc", ["license-name"]="GPL-3.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.37.0", }, AvailableRights={ "batchuserrights",}, GroupPermissions={ bureaucrat={ batchuserrights=true, }, }, SpecialPages={ BatchUserRights={ class="SpecialBatchUserRights", services={ "UserGroupManager",}, }, }, ExtensionMessagesFiles={ BatchUserRightsAliases="BatchUserRights.alias.php", }, config={ BatchUserRightsGrantableGroups={ value={ }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BatchUserRights", }, BetaFeatures={ name="BetaFeatures", version="0.1", author={ "MarkTraceur (Mark Holmquist)",}, url="https://www.mediawiki.org/wiki/Extension:BetaFeatures", descriptionmsg="betafeatures-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.38.0", }, config={ BetaFeaturesWhitelist={ value=nil, }, BetaFeatures={ value={ }, }, }, ExtensionMessagesFiles={ BetaFeaturesAlias="BetaFeatures.alias.php", }, APIListModules={ betafeatures="MediaWiki\\Extension\\BetaFeatures\\ApiQueryBetaFeatures", }, Hooks={ SaveUserOptions="main", GetPreferences="main", UserGetDefaultOptions="main", ["SkinTemplateNavigation::Universal"]="main", LoadExtensionSchemaUpdates="main", MakeGlobalVariablesScript="main", PreferencesGetIcon="main", ExtensionTypes="main", }, HookHandlers={ main={ class="MediaWiki\\Extension\\BetaFeatures\\Hooks", }, }, JobClasses={ updateBetaFeaturesUserCounts="MediaWiki\\Extension\\BetaFeatures\\UpdateBetaFeatureUserCountsJob", }, SpecialPages={ BetaFeatures="MediaWiki\\Extension\\BetaFeatures\\SpecialBetaFeatures", }, DefaultUserOptions={ ["betafeatures-auto-enroll"]=false, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BetaFeatures", }, BibManager={ name="BibManager", version="1.23.0", author={ "Hornemann Institut","Hallo Welt! Medienwerkstatt GmbH","Tobias Weichart","Robert Vogel",}, url="https://www.mediawiki.org/wiki/Extension:BibManager", descriptionmsg="bibmanager-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.36.0", }, AvailableRights={ "bibmanageredit","bibmanagerdelete","bibmanagercreate",}, GroupPermissions={ sysop={ bibmanageredit=true, bibmanagerdelete=true, bibmanagercreate=true, }, }, SpecialPages={ BibManagerList="SpecialBibManagerList", BibManagerListAuthors="SpecialBibManagerListAuthors", BibManagerImport="SpecialBibManagerImport", BibManagerExport="SpecialBibManagerExport", BibManagerDelete="SpecialBibManagerDelete", BibManagerCreate="SpecialBibManagerCreate", BibManagerEdit="SpecialBibManagerEdit", }, ExtensionMessagesFiles={ BibManagerAlias="BibManager.alias.php", }, Hooks={ ParserFirstCallInit="BibManagerHooks::onParserFirstCallInit", BeforePageDisplay="BibManagerHooks::onBeforePageDisplay", LoadExtensionSchemaUpdates="BibManagerHooks::onLoadExtensionSchemaUpdates", }, config={ BibManagerRepoClass={ value="BibManagerLocalMWDatabaseRepo", }, BibManagerCitationFormats={ value={ ["-"]="%author%: %title%, %year%", article="%author% (%year%): %title%. %journal%, %volume%, %pages%", book="%author% (%year%): %title%. (%edition%). %publisher%, %address%, %pages%", booklet="%title%", conference="%author% (%year%): %title%. %booktitle%", inbook="%author% (%year%): %title%. (%edition%). %publisher%, %address%, %pages%, %editor%, %chapter%", incollection="%author% (%year%): %title%. %booktitle%", inproceedings="%author% (%year%): %title%. %publisher%, %booktitle%", manual="%title%", mastersthesis="%author% (%year%): %title%. %school%", misc="%author%: %title%, %year%", phdthesis="%author% (%year%): %title%. %school%", proceedings="%title% (%year%)", techreport="%author% (%year%): %title%. %institution%.", unpublished="%author%: %title%. %note%.", }, }, BibManagerCitationArticleNamespace={ value=0, }, BibManagerScholarLink={ value="http://scholar.google.com/scholar?q=%title%", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BibManager", }, BiblioPlus={ name="BiblioPlus", version="1.3.0", author={ "Karen Eddy","...",}, url="https://www.mediawiki.org/wiki/Extension:BiblioPlus", descriptionmsg="biblioplus-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.34.0", }, Hooks={ BeforePageDisplay="BiblioPlusHooks::onBeforePageDisplay", ParserFirstCallInit="BiblioPlusHooks::biblioPlusSetup", }, config={ BiblioPlusForce={ value=true, }, BiblioPlusVersion={ value="1.3.0", }, }, callback="BiblioPlusHooks::onRegistration", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BiblioPlus", }, Blackout={ name="Blackout", version="1.2", author={ "John Du Hart","Gregory Varnum",}, url="https://www.mediawiki.org/wiki/Extension:Blackout", descriptionmsg="blackout-desc", ["license-name"]="GPL-3.0-or-later", requires={ MediaWiki=">= 1.29.0", }, type="other", Hooks={ MediaWikiPerformAction="Blackout::overrideAction", }, config={ Blackout={ value={ Enable=true, Skin="ProtestSopa", Whitelist={ "Special:Version",}, }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Blackout", }, BlockAndNuke={ name="BlockAndNuke", version="1.1", author={ "Eliora Stahl","...",}, url="https://www.mediawiki.org/wiki/Extension:BlockAndNuke", descriptionmsg="blockandnuke-desc", ["license-name"]="GPL-3.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.34.0", }, GroupPermissions={ sysop={ blockandnuke=true, }, }, AvailableRights={ "blockandnuke",}, SpecialPages={ BlockandNuke="SpecialBlockAndNuke", }, ExtensionMessagesFiles={ BlockAndNukeAlias="BlockAndNuke.alias.php", }, config={ BaNwhitelist={ value="whitelist.txt", path=true, }, BaNSpamUser={ value="Spammer", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlockAndNuke", }, BlockInactive={ name="BlockInactive", author="WikiWorks team", url="https://www.mediawiki.org/wiki/Extension:BlockInactive", descriptionmsg="blockinactive-desc", ["license-name"]="GPL-2.0-or-later", type="extension", requires={ MediaWiki=">= 1.35.0", }, Hooks={ UserLoginComplete="MediaWiki\\Extension\\BlockInactive\\BlockInactiveHooks::onUserLoginComplete", LoadExtensionSchemaUpdates="MediaWiki\\Extension\\BlockInactive\\BlockInactiveHooks::onLoadExtensionSchemaUpdates", }, SpecialPages={ BlockInactive="MediaWiki\\Extension\\BlockInactive\\SpecialBlockInactive", }, ExtensionMessagesFiles={ BlockInactiveAlias="includes/BlockInactive.alias.php", }, AvailableRights={ "blockinactive","alwaysactive",}, GroupPermissions={ sysop={ blockinactive=true, alwaysactive=true, }, bureaucrat={ blockinactive=true, }, }, config={ BlockInactiveThreshold={ value=210, }, BlockInactiveDaysBlock={ value=270, }, BlockInactiveWarningDaysLeft={ value={ 30,5,}, merge_strategy="array_replace_recursive", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlockInactive", }, BlogPage={ name="BlogPage", version="2.9.0", author={ "David Pean","Jack Phoenix",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:BlogPage", descriptionmsg="blogpage-desc", requires={ MediaWiki=">= 1.35.3", }, type="other", namespaces={ { id=500, constant="NS_BLOG", name="Blog", protection="edit", },{ id=501, constant="NS_BLOG_TALK", name="Blog_talk", },}, config={ BlogPageDisplay={ leftcolumn=true, rightcolumn=true, author=true, author_articles=true, recent_editors=true, recent_voters=true, popular_articles=true, in_the_news=true, comments_of_day=false, games=true, new_articles=true, }, UserProfileDisplay={ articles=true, }, }, AvailableRights={ "createblogpost",}, ExtensionMessagesFiles={ BlogPageAlias="includes/BlogPage.alias.php", BlogPageNamespaces="includes/BlogPage.namespaces.php", }, GroupPermissions={ ["*"]={ createblogpost=false, }, user={ createblogpost=true, }, }, Hooks={ ArticleFromTitle="BlogPageHooks::blogFromTitle", AlternateEdit="BlogPageHooks::allowShowEditBlogPage", PageSaveComplete="BlogPageHooks::updateCreatedOpinionsCount", UserProfileRightSideAfterActivity="BlogPageHooks::getArticles", }, SpecialPages={ ArticlesHome="ArticlesHome", ArticleLists="ArticleLists", CreateBlogPost="SpecialCreateBlogPost", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlogPage", }, BlueSpiceAbout={ name="BlueSpiceAbout", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:BlueSpiceAbout", author={ "Markus Glaser","Peter Böhm","Leonid Verhovskij",}, descriptionmsg="bs-bluespiceabout-desc", type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceAbout={ className="\\BlueSpice\\About\\Extension", extPath="/BlueSpiceAbout", }, }, AdminToolRegistry={ ["bs-bluespiceabout"]="BlueSpice\\About\\AdminTool", }, PermissionRegistry={ ["bluespiceabout-viewspecialpage"]={ type="global", roles={ "accountmanager","accountselfcreate","admin","author","bot","commenter","editor","maintenanceadmin","reader","reviewer","structuremanager",}, }, }, }, }, requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, SpecialPages={ BlueSpiceAbout="SpecialBlueSpiceAbout", }, ExtensionMessagesFiles={ BlueSpiceAboutAlias="includes/specials/SpecialBlueSpiceAbout.alias.php", }, GroupPermissions={ ["*"]={ ["bluespiceabout-viewspecialpage"]=false, }, user={ ["bluespiceabout-viewspecialpage"]=true, }, sysop={ ["bluespiceabout-viewspecialpage"]=true, }, }, AvailableRights={ "bluespiceabout-viewspecialpage",}, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\About\\HookHandler\\CommonUserInterface", }, }, Hooks={ BeforePageDisplay="\\BlueSpice\\About\\Hook\\BeforePageDisplay\\AddModules::callback", MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", }, composer="bluespice/about", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceAbout", }, BlueSpiceArticleInfo={ name="BlueSpiceArticleInfo", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:ArticleInfo", author={ "Markus Glaser","Stephan Muggli",}, descriptionmsg="bs-articleinfo-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceArticleInfo={ className="\\BlueSpice\\ArticleInfo\\Extension", extPath="/BlueSpiceArticleInfo", }, }, ConfigDefinitionRegistry={ ArticleInfoCheckRevisionInterval="\\BlueSpice\\ArticleInfo\\ConfigDefinition\\CheckRevisionInterval::getInstance", }, }, BlueSpiceArticleInfo={ FlyoutModules={ }, }, }, config_prefix="bsg", config={ ArticleInfoCheckRevisionInterval={ value=10, descriptionmsg="bs-articleinfo-pref-CheckRevisionInterval", public=true, }, }, Hooks={ ChameleonSkinTemplateOutputPageBeforeExec="\\BlueSpice\\ArticleInfo\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddFlyout::callback", BeforePageDisplay="\\BlueSpice\\ArticleInfo\\Hook\\BeforePageDisplay\\AddModules::callback", BsAdapterAjaxPingResult="\\BlueSpice\\ArticleInfo\\Hook\\BsAdapterAjaxPingResult\\HandleArticleInfo::callback", }, composer="bluespice/articleinfo", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceArticleInfo", }, BlueSpiceArticlePreviewCapture={ name="BlueSpiceArticlePreviewCapture", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:ArticlePreviewCapture", author={ "Patric Wirth","Josef Konrad",}, descriptionmsg="bs-articlepreviewcapture-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceArticlePreviewCapture={ className="\\BlueSpice\\ArticlePreviewCapture\\Extension", extPath="/BlueSpiceArticlePreviewCapture", status="beta", package="BlueSpiceSocial", ["@configDefinitions"]={ }, }, }, DynamicFileRegistry={ articlepreviewimage="\\BlueSpice\\ArticlePreviewCapture\\DynamicFileDispatcher\\ArticlePreviewCaptureImage", }, PhantomJSBackendRegistry={ ["native-shell-exec"]="BlueSpice\\ArticlePreviewCapture\\PhantomJS\\NativeShellExec::factory", ["remote-webservice"]="BlueSpice\\ArticlePreviewCapture\\PhantomJS\\RemoteWebService::factory", ["symfony-process"]="BlueSpice\\ArticlePreviewCapture\\PhantomJS\\SymfonyProcess::factory", ["mediawiki-shell-command"]="BlueSpice\\ArticlePreviewCapture\\PhantomJS\\MediaWikiShellCommand::factory", }, }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, config_prefix="bsg", config={ ArticlePreviewCapturePhantomJSExecutable={ value="/usr/local/bin/phantomjs", }, ArticlePreviewCapturePhantomJSOptions={ value={ "--ignore-ssl-errors","true",}, }, ArticlePreviewCapturePhantomJSBaseUrl={ description="Defaults to $wgServer", value=nil, }, ArticlePreviewCapturePhantomJSEscapeShellCommand={ description="If you need to add command line variable before command set this to false", value=true, }, ArticlePreviewCapturePhantomJSServiceURL={ value=nil, }, ArticlePreviewCapturePhantomJSBackend={ value="native-shell-exec", }, }, Hooks={ SetupAfterCache="\\BlueSpice\\ArticlePreviewCapture\\Hook\\SetupAfterCache\\AddForeignFileRepo::callback", MWStakeCommonWebAPIsQueryStoreResult="addUserImage", }, HookHandlers={ addUserImage={ class="\\BlueSpice\\ArticlePreviewCapture\\Hook\\AddUserImageToUserStore", services={ "UserFactory","BSRendererFactory",}, }, }, composer="bluespice/articlepreviewcapture", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceArticlePreviewCapture", }, BlueSpiceAuthors={ name="BlueSpiceAuthors", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:Authors", author={ "Markus Glaser","Robert Vogel",}, descriptionmsg="bs-authors-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceAuthors={ className="\\BlueSpice\\Authors\\Extension", extPath="/BlueSpiceAuthors", }, }, ConfigDefinitionRegistry={ AuthorsShow="\\BlueSpice\\Authors\\ConfigDefinition\\AuthorsShow::getInstance", }, }, BlueSpiceArticleInfo={ FlyoutModules={ authors={ module="ext.bluespice.authors.flyout", ["make-items-callback"]="bs.authors.flyout.makeItems", ["skip-callback"]="\\BlueSpice\\Authors\\SkipArticleInfoFlyoutModuleChecker::callback", }, }, }, }, ExtensionMessagesFiles={ AuthorsMagic="languages/Authors.i18n.magic.php", }, APIModules={ ["bs-pageauthors-store"]="BlueSpice\\Authors\\Api\\Store\\PageAuthors", }, config_prefix="bsg", config={ AuthorsBlacklist={ value={ "MediaWiki default",}, }, AuthorsShow={ value=true, descriptionmsg="bs-authors-pref-show", public=true, }, AuthorsNamespaceBlacklist={ description="Defaults to NS_FILE, NS_FILE_TALK, NS_MEDIAWIKI, NS_MEDIAWIKI_TALK, NS_CATEGORY, NS_CATEGORY_TALK", value={ 6,7,8,9,14,15,}, public=false, }, }, Hooks={ BSInsertMagicAjaxGetData="\\BlueSpice\\Authors\\Hook\\BSInsertMagicAjaxGetData\\Authors::callback", GetDoubleUnderscoreIDs="\\BlueSpice\\Authors\\Hook\\GetDoubleUnderscoreIDs\\AddNoAuthors::callback", StandardDialogsRegisterPageInfoPanelModules="standard-dialogs", }, HookHandlers={ ["standard-dialogs"]={ class="\\BlueSpice\\Authors\\HookHandler\\StandardDialogs", }, }, composer="bluespice/authors", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceAuthors", }, BlueSpiceAvatars={ name="BlueSpiceAvatars", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:Avatars", author={ "Marc Reymann","Patric Wirth",}, descriptionmsg="bs-avatars-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceAvatars={ className="\\BlueSpice\\Avatars\\Extension", extPath="/BlueSpiceAvatars", }, }, ConfigDefinitionRegistry={ AvatarsGenerator="\\BlueSpice\\Avatars\\ConfigDefinition\\AvatarsGenerator::getInstance", }, DynamicFileRegistry={ userprofileimage="\\BlueSpice\\Avatars\\DynamicFileDispatcher\\UserProfileImage", }, TagRegistry={ profileimage="\\BlueSpice\\Avatars\\Tag\\ProfileImage", }, }, BlueSpicePrivacy={ Handlers={ "\\BlueSpice\\Avatars\\Privacy\\Handler",}, }, BlueSpiceAvatars={ AvatarGeneratorRegistry={ Identicon="\\BlueSpice\\Avatars\\AvatarGenerator\\Identicon::factory", InstantAvatar="\\BlueSpice\\Avatars\\AvatarGenerator\\InstantAvatar::factory", }, }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, APIModules={ ["bs-avatars-tasks"]="BSApiAvatarsTasks", }, config_prefix="bsg", config={ AvatarsGenerator={ value="InstantAvatar", }, }, DefaultUserOptions={ ["bs-avatars-profileimage"]="", }, Hooks={ BeforePageDisplay="\\BlueSpice\\Avatars\\Hook\\BeforePageDisplay\\AddModules::callback", GetPreferences="\\BlueSpice\\Avatars\\Hook\\GetPreferences\\AddProfileImage::callback", PageHistoryLineEnding="\\BlueSpice\\Avatars\\Hook\\PageHistoryLineEnding\\AddProfileImage::callback", BSMigrateUserPropertiesFromDeviatingNames="\\BlueSpice\\Avatars\\Hook\\BSMigrateUserPropertiesFromDeviatingNames\\MigrateUserImage::callback", UploadVerifyFile="\\BlueSpice\\Avatars\\Hook\\UploadVerifyFile\\PreventUserImageOverwrite::callback", SetupAfterCache="\\BlueSpice\\Avatars\\Hook\\SetupAfterCache\\AddForeignFileRepo::callback", }, composer="bluespice/avatars", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceAvatars", }, BlueSpiceBookshelf={ name="BlueSpiceBookshelf", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:Bookshelf", author={ "Robert Vogel","Sebastian Ulbricht",}, descriptionmsg="bs-bookshelf-extension-description", type="bluespice", requires={ MediaWiki=">= 1.38.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceBookshelf={ className="\\BlueSpice\\Bookshelf\\Extension", extPath="/BlueSpiceBookshelf", package="BlueSpice Pro", status="stable", }, }, ConfigDefinitionRegistry={ BookShelfShowChapterNavigationPagerAfterContent="\\BlueSpice\\Bookshelf\\ConfigDefinition\\ChapterPagerAfterContent::getInstance", BookShelfShowChapterNavigationPagerBeforeContent="\\BlueSpice\\Bookshelf\\ConfigDefinition\\ChapterPagerBeforeContent::getInstance", BookshelfSupressBookNS="\\BlueSpice\\Bookshelf\\ConfigDefinition\\SupressBookNS::getInstance", BookshelfTitleDisplayText="\\BlueSpice\\Bookshelf\\ConfigDefinition\\TitleDisplayText::getInstance", BookshelfPrependPageTOCNumbers="\\BlueSpice\\Bookshelf\\ConfigDefinition\\PrependPageTOCNumbers::getInstance", BookshelfMainLinksBookshelf="\\BlueSpice\\Bookshelf\\ConfigDefinition\\MainLinksBookshelf::getInstance", }, SettingPathRegistry={ book="bs-bookshelf-setting-path-feature", }, TagRegistry={ bookmeta="\\BlueSpice\\Bookshelf\\Tag\\BookshelfMeta", bookshelf="\\BlueSpice\\Bookshelf\\Tag\\Bookshelf", booklist="\\BlueSpice\\Bookshelf\\Tag\\BookList", }, DynamicFileRegistry={ bookshelfimage="\\BlueSpice\\Bookshelf\\DynamicFileDispatcher\\BookshelfImage", }, LessVarsRegistry={ ["bs-bookshelf-navtab-icon-active"]="@bs-color-tertiary", ["bs-extjs-bui-panel-header-background"]="transparent", ["bs-extjs-bui-panel-header-text"]="#000000", ["bs-extjs-bui-panel-header-horizontal-border"]="0px solid #3e538a", ["bs-extjs-bui-panel-header-horizontal-background"]="#FFFFFF", ["bs-extjs-bui-panel-header-vertical-border"]="1px solid #3e538a", ["bs-extjs-bui-panel-header-vertical-background"]="#FFFFFF", ["bs-extjs-bui-panel-default-border"]="1px solid #3e538a", ["bs-extjs-bui-grid-header-ct-border"]="1px solid silver", ["bs-extjs-bui-tool-img-image"]="url( 'images/globalnav-sprite.png' )", ["bs-extjs-bui-tool-img-background"]="transparent", }, PermissionRegistry={ ["bookshelfbookmanager-viewspecialpage"]={ type="global", roles={ "reader",}, }, ["bookshelf-viewspecialpage"]={ type="global", roles={ "reader",}, }, }, }, BlueSpiceBookshelf={ LineProcessors={ ["plain-text"]="\\BlueSpice\\Bookshelf\\LineProcessor\\PlainText::factory", tag="\\BlueSpice\\Bookshelf\\LineProcessor\\Tag::factory", ["wikitext-link"]="\\BlueSpice\\Bookshelf\\LineProcessor\\WikiTextLink::factory", }, MassAddHandlerRegistry={ subpages="BlueSpice\\Bookshelf\\MassAdd\\Handler\\Subpage::factory", category="BlueSpice\\Bookshelf\\MassAdd\\Handler\\Category::factory", pagecollection="BlueSpice\\Bookshelf\\MassAdd\\Handler\\PageCollection::factory", }, }, BlueSpiceVisualEditorConnector={ TagDefinitions={ "ext.bluespice.booklist.visualEditorTagDefinition","ext.bluespice.bookmeta.visualEditorTagDefinition","ext.bluespice.bookshelf.visualEditorTagDefinition",}, }, ContentDroplets={ Droplets={ booklist={ class="\\BlueSpice\\Bookshelf\\ContentDroplets\\BooklistDroplet", }, }, }, }, GroupPermissions={ ["*"]={ ["bookshelfbookmanager-viewspecialpage"]=true, ["bookshelf-viewspecialpage"]=true, }, }, AvailableRights={ "bookshelfbookmanager-viewspecialpage","bookshelf-viewspecialpage",}, callback="BlueSpice\\Bookshelf\\Extension::onRegistration", APIModules={ ["bs-bookshelf-store"]="ApiBookshelfStore", ["bs-bookshelf-bookstore"]="ApiBookshelfBookStore", ["bs-bookshelf-manage"]="ApiBookshelfManage", ["bs-bookshelf-page-collection-store"]="ApiBookshelfPageCollectionStore", ["bs-bookshelf-mass-add-page-store"]="ApiBookshelfMassAddPageStore", }, APIListModules={ bsbookshelf="ApiQueryBookshelf", }, ExtensionMessagesFiles={ BookshelfNamespaces="languages/Bookshelf.namespaces.php", BookshelfSpecialAlias="languages/Bookshelf.special.alias.php", }, namespaces={ { id=1504, constant="NS_BOOK", name="Book", defaultcontentmodel="book", },{ id=1505, constant="NS_BOOK_TALK", name="Book_talk", },}, ContentHandlers={ book="\\BlueSpice\\Bookshelf\\ContentHandler\\BookContentHandler", }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, config_prefix="bsg", config={ BookshelfSupressBookNS={ value=true, descriptionmsg="bs-bookshelf-pref-SupressBookNS", public=true, }, BookshelfTitleDisplayText={ value=true, descriptionmsg="bs-bookshelf-pref-TitleDisplayText", public=true, }, BookshelfPrependPageTOCNumbers={ value=true, descriptionmsg="bs-bookshelf-pref-PrependPageTOCNumbers", public=true, }, BookShelfDefaultCoverImage={ value="resources/images/assets/coverimage/dummy.png", path=true, }, BookShelfShowChapterNavigationPagerBeforeContent={ value=false, }, BookShelfShowChapterNavigationPagerAfterContent={ value=false, }, BookshelfMainLinksBookshelf={ value=true, public=true, descriptionmsg="bs-bookshelf-config-mainlinks-bookshelf-label", }, }, SpecialPages={ BookshelfBookManager="\\BlueSpice\\Bookshelf\\Special\\BookshelfBookManager", BookshelfBookEditor="\\BlueSpice\\Bookshelf\\Special\\BookshelfBookEditor", Bookshelf="\\BlueSpice\\Bookshelf\\Special\\Bookshelf", }, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\Bookshelf\\HookHandler\\CommonUserInterface", services={ "ConfigFactory",}, }, ["discovery-skin"]={ class="\\BlueSpice\\Bookshelf\\HookHandler\\DiscoverySkin", }, }, Hooks={ BeforePageDisplay="\\BlueSpice\\Bookshelf\\Hook\\BeforePageDisplay\\AddResources::callback", BSInsertMagicAjaxGetData={ "\\BlueSpice\\Bookshelf\\Hook\\BSInsertMagicAjaxGetData\\AddBookshelfTag::callback","\\BlueSpice\\Bookshelf\\Hook\\BSInsertMagicAjaxGetData\\AddBookmetaTag::callback","\\BlueSpice\\Bookshelf\\Hook\\BSInsertMagicAjaxGetData\\AddBooklistTag::callback",}, ContentHandlerDefaultModelFor="BlueSpice\\Bookshelf\\Hook\\ContentHandlerDefaultModelFor\\GetBookContentHandler::callback", LoadExtensionSchemaUpdates="BlueSpice\\Bookshelf\\Hook\\LoadExtensionSchemaUpdates\\AddConvertContentModel::callback", ChameleonSkinTemplateOutputPageBeforeExec={ "BlueSpice\\Bookshelf\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\SetBookContentModelActions::callback","BlueSpice\\Bookshelf\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddChapterPager::callback","BlueSpice\\Bookshelf\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddBookshelfUI::callback","BlueSpice\\Bookshelf\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddToBookTool::callback",}, BSUEModulePDFbeforeGetPage="\\BlueSpice\\Bookshelf\\Hook\\BSUEModulePDFbeforeGetPage\\AdaptPageTitle::callback", BSUEModulePDFgetPage="\\BlueSpice\\Bookshelf\\Hook\\BSUEModulePDFgetPage\\ModifyForExport::callback", BSUEModulePDFcollectMetaData={ "\\BlueSpice\\Bookshelf\\Hook\\BSUEModulePDFcollectMetaData\\SupressBookNS::callback","\\BlueSpice\\Bookshelf\\Hook\\BSUEModulePDFcollectMetaData\\AddBookMeta::callback",}, BSBookshelfGetBookData="\\BlueSpice\\Bookshelf\\Hook\\BSBookshelfGetBookData\\RunLegacyHook::callback", GetPreferences="\\BlueSpice\\Bookshelf\\Hook\\GetPreferences\\BookshelfDefaultView::callback", ["SkinTemplateNavigation::Universal"]={ "BlueSpice\\Bookshelf\\Hook\\SkinTemplateNavigationUniversal\\AddAddToBookEntry::callback","BlueSpice\\Bookshelf\\Hook\\SkinTemplateNavigationUniversal\\AddEditBook::callback",}, BSUEModulePDFAfterFindFiles="\\BlueSpice\\Bookshelf\\Hook\\BSUEModulePDFAfterFindFiles\\AddAttachments::callback", BSUsageTrackerRegisterCollectors="\\BlueSpice\\Bookshelf\\Hook\\BSUsageTrackerRegisterCollectors\\NoOfUserBooks::callback", BlueSpiceDiscoveryTemplateDataProviderAfterInit="discovery-skin", MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", }, Actions={ editbooksource="\\BlueSpice\\Bookshelf\\Action\\BookEditSourceAction", }, DefaultUserOptions={ ["bs-bookshelf-defaultview"]="gridviewpanel", }, composer="bluespice/bookshelf", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceBookshelf", }, BlueSpiceBookshelfUI={ name="BlueSpiceBookshelfUI", version="4.1.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:BookshelfUI", author={ "Robert Vogel","Sebastian Ulbricht",}, type="bluespice", composer="bluespice/bookshelfui", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceBookshelfUI", }, BlueSpiceCategoryCheck={ name="BlueSpiceCategoryCheck", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:CategoryCheck", author={ "Tobias Weichart","Robert Vogel",}, descriptionmsg="bs-categorycheck-extension-description", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceCategoryCheck={ className="BlueSpice\\CategoryCheck\\Extension", extPath="/BlueSpiceCategoryCheck", }, }, }, BlueSpiceVisualEditorConnector={ PluginModules={ "ext.bluespice.categoryCheck.visualEditorPlugin",}, }, }, config_prefix="bsg", config={ CategoryCheckNamespaces={ value={ }, }, }, Hooks={ BeforePageDisplay="BlueSpice\\CategoryCheck\\Hook\\BeforePageDisplay\\AddModules::callback", ["NamespaceManager::getMetaFields"]="BlueSpice\\CategoryCheck\\Hook\\NamespaceManagerGetMetaFields\\RegisterMetaField::callback", BSApiNamespaceStoreMakeData="BlueSpice\\CategoryCheck\\Hook\\BSApiNamespaceStoreMakeData\\AddData::callback", ["NamespaceManager::editNamespace"]="BlueSpice\\CategoryCheck\\Hook\\NamespaceManagerEditNamespace\\SetCategoryCheckValue::callback", ["NamespaceManager::writeNamespaceConfiguration"]={ "BlueSpice\\CategoryCheck\\Hook\\NamespaceManagerWriteNamespaceConfiguration\\WriteToConfiguration::callback",}, }, composer="bluespice/categorycheck", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceCategoryCheck", }, BlueSpiceCategoryManager={ name="BlueSpiceCategoryManager", author={ "Leonid Verhovskij","Dejan Savuljesku",}, url="https://en.wiki.bluespice.com/wiki/Reference:CategoryManager", descriptionmsg="bluespicecategorymanager-desc", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceCategoryManager={ className="\\BlueSpice\\CategoryManager\\Extension", extPath="/BlueSpiceCategoryManager", }, }, PermissionRegistry={ ["categorymanager-viewspecialpage"]={ type="global", roles={ "admin","editor","maintenanceadmin","structuremanager",}, }, }, AdminToolRegistry={ ["bs-category-manager"]="BlueSpice\\CategoryManager\\AdminTool", }, }, BlueSpiceExtendedStatistics={ SnapshotProviders={ ["cm-categories"]={ class="\\BlueSpice\\CategoryManager\\Statistics\\SnapshotProvider\\Categories", services={ "DBLoadBalancer",}, }, }, Reports={ ["cm-categorypages"]={ class="\\BlueSpice\\CategoryManager\\Statistics\\Report\\CategoryPages", }, }, }, }, GroupPermissions={ ["*"]={ ["categorymanager-viewspecialpage"]=false, }, user={ ["categorymanager-viewspecialpage"]=false, }, sysop={ ["categorymanager-viewspecialpage"]=true, }, }, AvailableRights={ "categorymanager-viewspecialpage",}, SpecialPages={ BlueSpiceCategoryManager="SpecialBlueSpiceCategoryManager", }, ExtensionMessagesFiles={ BlueSpiceCategoryManagerAlias="includes/specials/SpecialBlueSpiceCategoryManager.alias.php", }, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\CategoryManager\\HookHandler\\CommonUserInterface", }, }, Hooks={ MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", }, composer="bluespice/categorymanager", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceCategoryManager", }, BlueSpiceChecklist={ name="BlueSpiceChecklist", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:Checklist", author="Markus Glaser", descriptionmsg="bs-checklist-desc", type="bluespice", requires={ MediaWiki=">= 1.38.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceChecklist={ className="\\BlueSpice\\Checklist\\Extension", extPath="/BlueSpiceChecklist", }, }, ConfigDefinitionRegistry={ ChecklistMarkAsMinorEdit="\\BlueSpice\\Checklist\\ConfigDefinition\\MarkAsMinorEdit::getInstance", }, PermissionRegistry={ checklistmodify={ type="namespace", roles={ "author","bot","editor","maintenanceadmin",}, }, }, }, BlueSpiceVisualEditorConnector={ TagDefinitions={ "ext.bluespice.checklist.visualEditor",}, }, BlueSpiceSMWConnector={ ExtraPropertyRegistry={ checklistfields="\\BlueSpice\\Checklist\\ChecklistPropertyValueProvider::factory", }, }, }, GroupPermissions={ ["*"]={ checklistmodify=false, }, user={ checklistmodify=true, }, sysop={ checklistmodify=true, }, }, AvailableRights={ "checklistmodify",}, LogTypes={ "bs-checklist",}, FilterLogTypes={ ["bs-checklist"]=true, }, LogActionsHandlers={ ["bs-checklist/*"]="LogFormatter", }, APIModules={ ["bs-checklist-available-options-store"]="BSApiChecklistAvailableOptionsStore", ["bs-checklist-template-store"]="BSApiChecklistTemplateStore", ["bs-checklist-tasks"]="BSApiChecklistTasks", }, Hooks={ ParserFirstCallInit="\\BlueSpice\\Checklist\\Extension::onParserFirstCallInit", BSInsertMagicAjaxGetData="\\BlueSpice\\Checklist\\Hook\\BSInsertMagicAjaxGetData\\AddChecklistTag::callback", BSUsageTrackerRegisterCollectors="\\BlueSpice\\Checklist\\Hook\\BSUsageTrackerRegisterCollectors\\AddChecklistTag::callback", ListDefinedTags="\\BlueSpice\\Checklist\\Hook\\ListDefinedTags\\AddChecklistTag::callback", ChangeTagsListActive="\\BlueSpice\\Checklist\\Hook\\ChangeTagsListActive\\AddChecklistTag::callback", }, config_prefix="bsg", config={ ChecklistMarkAsMinorEdit={ value=true, descriptionmsg="bs-checklist-config-markasminoredit", public=true, }, }, composer="bluespice/checklist", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceChecklist", }, BlueSpiceConfigManager={ name="BlueSpiceConfigManager", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:ConfigManager", author={ "Patric Wirth",}, descriptionmsg="bs-configmanager-desc", ["license-name"]="GPL-3.0-only", type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceConfigManager={ className="\\BlueSpice\\ConfigManager\\Extension", extPath="/BlueSpiceConfigManager", }, }, AdminToolRegistry={ ["bs-config-manager"]="BlueSpice\\ConfigManager\\AdminTool", }, PermissionRegistry={ ["bluespiceconfigmanager-viewspecialpage"]={ type="global", roles={ "admin","maintenanceadmin","structuremanager",}, }, }, }, }, requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, ExtensionMessagesFiles={ BlueSpiceConfigManagerAlias="languages/ConfigManager.alias.php", }, APIModules={ ["bs-configmanager-tasks"]="\\BlueSpice\\ConfigManager\\Api\\Task\\ConfigManager", ["bs-configmanager-store"]="\\BlueSpice\\ConfigManager\\Api\\Store\\ConfigManager", }, SpecialPages={ BlueSpiceConfigManager="\\BlueSpice\\ConfigManager\\Special\\ConfigManager", }, GroupPermissions={ ["*"]={ ["bluespiceconfigmanager-viewspecialpage"]=false, }, user={ ["bluespiceconfigmanager-viewspecialpage"]=false, }, sysop={ ["bluespiceconfigmanager-viewspecialpage"]=true, }, }, AvailableRights={ "bluespiceconfigmanager-viewspecialpage",}, LogTypes={ "bs-config-manager",}, FilterLogTypes={ ["bs-config-manager"]=true, }, LogActionsHandlers={ ["bs-config-manager/*"]="LogFormatter", }, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\ConfigManager\\HookHandler\\CommonUserInterface", }, }, Hooks={ MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", }, config_prefix="bsg", config={ ConfigManagerLogExcludeList={ value={ "DistributionConnectorEventBusEventServices",}, }, }, composer="bluespice/configmanager", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceConfigManager", }, BlueSpiceContextMenu={ name="BlueSpiceContextMenu", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:ContextMenu", author={ "Tobias Weichart","Robert Vogel","Peter Boehm",}, descriptionmsg="bs-contextmenu-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceContextMenu={ className="\\BlueSpice\\ContextMenu\\Extension", extPath="/BlueSpiceContextMenu", }, }, }, BlueSpiceContextMenu={ ItemFactories={ edit="BlueSpice\\ContextMenu\\MenuItem\\Edit::factory", delete="BlueSpice\\ContextMenu\\MenuItem\\Delete::factory", history="BlueSpice\\ContextMenu\\MenuItem\\History::factory", move="BlueSpice\\ContextMenu\\MenuItem\\Move::factory", protect="BlueSpice\\ContextMenu\\MenuItem\\Protect::factory", watch="BlueSpice\\ContextMenu\\MenuItem\\Watch::factory", purge="BlueSpice\\ContextMenu\\MenuItem\\Purge::factory", info="BlueSpice\\ContextMenu\\MenuItem\\Info::factory", whatlinkshere="BlueSpice\\ContextMenu\\MenuItem\\Whatlinkshere::factory", download="BlueSpice\\ContextMenu\\MenuItem\\Download::factory", editusertalk="BlueSpice\\ContextMenu\\MenuItem\\EditUserTalk::factory", mailuser="BlueSpice\\ContextMenu\\MenuItem\\MailUser::factory", reupload="BlueSpice\\ContextMenu\\MenuItem\\Reupload::factory", viewmedia="BlueSpice\\ContextMenu\\MenuItem\\ViewMedia::factory", }, }, }, DefaultUserOptions={ ["bs-contextmenu-modus"]="ctrl", }, Hooks={ GetPreferences="\\BlueSpice\\ContextMenu\\Hook\\GetPreferences\\AddModus::callback", BeforePageDisplay="\\BlueSpice\\ContextMenu\\Hook\\BeforePageDisplay\\AddModules::callback", }, APIModules={ ["bs-contextmenu-tasks"]="BSApiContextMenuTasks", }, composer="bluespice/contextmenu", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceContextMenu", }, BlueSpiceCountThings={ name="BlueSpiceCountThings", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:CountThings", author={ "Markus Glaser","Mathias Scheer","Peter Boehm",}, descriptionmsg="bs-countthings-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceCountThings={ className="\\BlueSpice\\CountThings\\Extension", extPath="/BlueSpiceCountThings", }, }, TagRegistry={ countfiles="BlueSpice\\CountThings\\Tag\\CountFiles", countarticles="BlueSpice\\CountThings\\Tag\\CountArticles", countusers="BlueSpice\\CountThings\\Tag\\CountUsers", countcharacters="BlueSpice\\CountThings\\Tag\\CountCharacters", }, RendererRegistry={ ["countthings-countcharacters"]="BlueSpice\\CountThings\\Renderer\\CountCharacters::factory", }, }, BlueSpiceVisualEditorConnector={ TagDefinitions={ "ext.bluespice.countthings.visualEditorTagDefinition",}, }, ContentDroplets={ Droplets={ ["count-users"]={ class="BlueSpice\\CountThings\\ContentDroplets\\CountUserDroplet", }, ["count-characters"]={ class="BlueSpice\\CountThings\\ContentDroplets\\CountCharactersDroplet", }, ["count-articles"]={ class="BlueSpice\\CountThings\\ContentDroplets\\CountArticlesDroplet", }, ["count-files"]={ class="BlueSpice\\CountThings\\ContentDroplets\\CountFilesDroplet", }, }, }, }, Hooks={ BSInsertMagicAjaxGetData={ "\\BlueSpice\\CountThings\\Hook\\BSInsertMagicAjaxGetData\\CountArticles::callback","\\BlueSpice\\CountThings\\Hook\\BSInsertMagicAjaxGetData\\CountUsers::callback","\\BlueSpice\\CountThings\\Hook\\BSInsertMagicAjaxGetData\\CountFiles::callback","\\BlueSpice\\CountThings\\Hook\\BSInsertMagicAjaxGetData\\CountCharacters::callback",}, BSUsageTrackerRegisterCollectors={ "\\BlueSpice\\CountThings\\Hook\\BSUsageTrackerRegisterCollectors\\AddCountArticlesTag::callback","\\BlueSpice\\CountThings\\Hook\\BSUsageTrackerRegisterCollectors\\AddCountCaractersTag::callback","\\BlueSpice\\CountThings\\Hook\\BSUsageTrackerRegisterCollectors\\AddCountFilesTag::callback","\\BlueSpice\\CountThings\\Hook\\BSUsageTrackerRegisterCollectors\\AddCountUsersTag::callback",}, }, composer="bluespice/countthings", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceCountThings", }, BlueSpiceCustomMenu={ name="BlueSpiceCustomMenu", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:BlueSpiceCustomMenu", ["license-name"]="GPL-3.0-only", author={ "Patric Wirth",}, descriptionmsg="bs-custommenu-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceCustomMenu={ className="\\BlueSpice\\CustomMenu\\Extension", extPath="/BlueSpiceCustomMenu", }, }, RendererRegistry={ custommenu="\\BlueSpice\\CustomMenu\\Renderer\\Menu::factory", custommenuitem="\\BlueSpice\\CustomMenu\\Renderer\\Menu\\Item::factory", custommenuheader="\\BlueSpice\\CustomMenu\\Renderer\\Menu\\Header::factory", custommenuheaderitem="\\BlueSpice\\CustomMenu\\Renderer\\Menu\\Header\\Item::factory", }, }, BlueSpiceCustomMenu={ Registry={ header="\\BlueSpice\\CustomMenu\\CustomMenu\\Header::getInstance", }, }, MenuEditor={ Menus={ custommenu={ class="BlueSpice\\CustomMenu\\MenuEditor\\Header", services={ "MWStakeWikitextParserFactory",}, }, }, }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, config_prefix="bsg", config={ CustomMenuHeaderNumberOfLevels={ value=2, }, CustomMenuHeaderNumberOfMainEntries={ value=10, }, CustomMenuHeaderNumberOfSubEntries={ value=10, }, }, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\CustomMenu\\HookHandler\\CommonUserInterface", }, }, Hooks={ ChameleonSkinTemplateOutputPageBeforeExec="\\BlueSpice\\CustomMenu\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddCustomMenus::callback", EditFormPreloadText="\\BlueSpice\\CustomMenu\\Hook\\EditFormPreloadText\\PreloadHeaderMenu::callback", ArticleDeleteComplete="\\BlueSpice\\CustomMenu\\Hook\\ArticleDeleteComplete\\InvalidateHeaderMenu::callback", PageSaveComplete="\\BlueSpice\\CustomMenu\\Hook\\PageSaveComplete\\InvalidateHeaderMenu::callback", PageMoveComplete="\\BlueSpice\\CustomMenu\\Hook\\PageMoveComplete\\InvalidateHeaderMenu::callback", LoadExtensionSchemaUpdates="\\BlueSpice\\CustomMenu\\Hook\\LoadExtensionSchemaUpdates\\AddMigrateTopBarMenu::callback", BSUsageTrackerRegisterCollectors="\\BlueSpice\\CustomMenu\\Hook\\BSUsageTrackerRegisterCollectors\\NoOfUserCustomMenus::callback", OutputPageBodyAttributes="\\BlueSpice\\CustomMenu\\Hook\\OutputPageBodyAttributes\\AddOutputPageBodyClass::callback", MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", }, composer="bluespice/custommenu", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceCustomMenu", }, BlueSpiceDashboards={ name="BlueSpiceDashboards", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:Dashboards", author={ "Robert Vogel","Stephan Muggli","Peter Böhm",}, descriptionmsg="bs-dashboards-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceDashboards={ className="\\BlueSpice\\Dashboards\\Extension", extPath="/BlueSpiceDashboards", }, }, PermissionRegistry={ ["dashboards-viewspecialpage-userdashboard"]={ type="global", roles={ "accountmanager","admin","author","commenter","editor","maintenanceadmin","reader","reviewer","structuremanager",}, }, }, }, }, GroupPermissions={ ["*"]={ ["dashboards-viewspecialpage-userdashboard"]=false, }, user={ ["dashboards-viewspecialpage-userdashboard"]=true, }, sysop={ ["dashboards-viewspecialpage-userdashboard"]=true, }, }, AvailableRights={ "dashboards-viewspecialpage-userdashboard",}, SpecialPages={ AdminDashboard="SpecialAdminDashboard", UserDashboard="SpecialUserDashboard", }, APIModules={ ["bs-dashboards-tasks"]="BSApiDashboardTasks", ["bs-dashboards-store"]="BSApiDashboardStore", ["bs-dashboards-widgets-tasks"]="BSApiDashboardWidgetsTasks", }, DefaultUserOptions={ ["bs-dashboards-userdashboardonlogo"]=false, }, ExtensionMessagesFiles={ DashboardsAlias="languages/Dashboards.alias.php", }, Hooks={ GetPreferences="\\BlueSpice\\Dashboards\\Hook\\GetPreferences\\AddUserDashboardOnLogo::callback", PersonalUrls="\\BlueSpice\\Dashboards\\Hook\\PersonalUrls\\AddDashboardUrls::callback", BeforePageDisplay="\\BlueSpice\\Dashboards\\Hook\\BeforePageDisplay\\AddModules::callback", BSDashboardsUserDashboardPortalConfig="\\BlueSpice\\Dashboards\\Hook\\UserDashboardPortalConfig\\AddConfig::callback", BSDashboardsUserDashboardPortalPortlets="\\BlueSpice\\Dashboards\\Hook\\UserDashboardPortalPortlets\\AddPortlets::callback", LoadExtensionSchemaUpdates={ "\\BlueSpice\\Dashboards\\Hook\\LoadExtensionSchemaUpdates\\AddDashboardConfigsTable::callback","\\BlueSpice\\Dashboards\\Hook\\LoadExtensionSchemaUpdates\\AddPostDatabaseUpdateMaintenance::callback",}, DeleteAccount="\\BlueSpice\\Dashboards\\Hook\\DeleteAccount\\DeleteUserDashboard::callback", }, composer="bluespice/dashboards", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceDashboards", }, BlueSpiceDistributionConnector={ name="BlueSpiceDistributionConnector", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:BlueSpiceDistributionConnector", author={ "Robert Vogel","Leonid Verhovskij","Markus Glaser","Daniel Vogel","Dejan Savuljesku","Peter Boehm","Patric Wirth",}, descriptionmsg="bs-distributionconnector-extension-description", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceDistributionConnector={ className="\\BlueSpice\\DistributionConnector\\Extension", extPath="/BlueSpiceDistributionConnector", }, }, ConfigDefinitionRegistry={ DistributionConnectorOpenIDConnectConfig="\\BlueSpice\\DistributionConnector\\ConfigDefinition\\OpenIDConnect\\Config::getInstance", DistributionConnectorOpenIDConnectUseRealNameAsUserName="\\BlueSpice\\DistributionConnector\\ConfigDefinition\\OpenIDConnect\\UseRealNameAsUserName::getInstance", DistributionConnectorOpenIDConnectUseEmailNameAsUserName="\\BlueSpice\\DistributionConnector\\ConfigDefinition\\OpenIDConnect\\UseEmailNameAsUserName::getInstance", DistributionConnectorOpenIDConnectMigrateUsersByUserName="\\BlueSpice\\DistributionConnector\\ConfigDefinition\\OpenIDConnect\\MigrateUsersByUserName::getInstance", DistributionConnectorOpenIDConnectMigrateUsersByEmail="\\BlueSpice\\DistributionConnector\\ConfigDefinition\\OpenIDConnect\\MigrateUsersByEmail::getInstance", DistributionConnectorOpenIDConnectForceLogout="\\BlueSpice\\DistributionConnector\\ConfigDefinition\\OpenIDConnect\\ForceLogout::getInstance", DistributionConnectorSimpleSAMLphpEmailAttribute="\\BlueSpice\\DistributionConnector\\ConfigDefinition\\SimpleSAMLphp\\EmailAttribute::getInstance", DistributionConnectorSimpleSAMLphpGroupAttributeDelimiter="\\BlueSpice\\DistributionConnector\\ConfigDefinition\\SimpleSAMLphp\\GroupAttributeDelimiter::getInstance", DistributionConnectorSimpleSAMLphpRealNameAttribute="\\BlueSpice\\DistributionConnector\\ConfigDefinition\\SimpleSAMLphp\\RealNameAttribute::getInstance", DistributionConnectorSimpleSAMLphpSyncAllGroupsGroupAttributeName="\\BlueSpice\\DistributionConnector\\ConfigDefinition\\SimpleSAMLphp\\SyncAllGroupsGroupAttributeName::getInstance", DistributionConnectorSimpleSAMLphpUsernameAttribute="\\BlueSpice\\DistributionConnector\\ConfigDefinition\\SimpleSAMLphp\\UsernameAttribute::getInstance", DistributionConnectorEventBusEventServices="\\BlueSpice\\DistributionConnector\\ConfigDefinition\\EventBus\\EventServices::getInstance", }, PermissionRegistry={ dpl_param_delete_rules={ type="global", roles={ "admin","editor","maintenanceadmin",}, }, dpl_param_update_rules={ type="global", roles={ "admin","editor","maintenanceadmin",}, }, duplicate={ type="global", roles={ "admin","author","editor","maintenanceadmin",}, }, editwidgets={ type="global", roles={ "admin","maintenanceadmin","structuremanager",}, }, generatepages={ type="global", roles={ "admin","maintenanceadmin",}, }, nuke={ type="global", roles={ "admin","maintenanceadmin","structuremanager",}, }, renameuser={ type="global", roles={ "accountmanager","admin","maintenanceadmin",}, }, replacetext={ type="global", roles={ "admin","maintenanceadmin","structuremanager",}, }, usermerge={ type="global", roles={ "accountmanager","admin","maintenanceadmin",}, }, ["gadgets-edit"]={ type="global", roles={ "admin","maintenanceadmin",}, }, ["gadgets-definition-edit"]={ type="global", roles={ "admin","maintenanceadmin",}, }, }, SettingPathRegistry={ authentication="bs-distributionconnector-setting-path-authentication", }, }, VisualEditor={ PluginModules={ "ext.bluespice.distribution.categoryTree.visualEditor",}, }, BlueSpiceArticleInfo={ FlyoutModules={ hitcounters={ module="ext.bluespice.hitcounters.flyout", ["make-items-callback"]="bs.hitcounters.flyout.makeItems", }, }, }, BlueSpiceSMWConnector={ ExtraPropertyRegistry={ hitcountersfields="\\BlueSpice\\DistributionConnector\\HitCountersPropertyValueProvider::factory", }, }, Workflows={ WorkflowDefinitions={ ["user-approval"]="BlueSpiceDistributionConnector/workflow/UserApproval.bpmn", ["document-control"]="BlueSpiceDistributionConnector/workflow/DocumentControl.bpmn", }, TriggerTypes={ ["time-smw-prop"]={ factory="\\MediaWiki\\Extension\\Workflows\\Trigger\\TimeBasedTrigger::factory", services={ "TitleFactory",}, }, }, TriggerEditors={ ["time-smw-prop"]={ supports={ "time-smw-prop",}, module="ext.bluespice.distribution.workflows.trigger.editor", class="bs.distributionConnector.workflows.trigger.TimeSMWProperty", }, }, }, BlueSpiceExtendedStatistics={ SnapshotProviders={ ["dc-pagehits"]={ class="\\BlueSpice\\DistributionConnector\\Statistics\\SnapshotProvider\\PageHits", services={ "DBLoadBalancer","ExtendedStatisticsSnapshotStore",}, }, }, Reports={ ["dc-pagehits"]={ class="\\BlueSpice\\DistributionConnector\\Statistics\\Report\\PageHits", }, ["dc-pagetrends"]={ class="\\BlueSpice\\DistributionConnector\\Statistics\\Report\\PageTrends", }, ["dc-pagehitsrelation"]={ class="\\BlueSpice\\DistributionConnector\\Statistics\\Report\\PageHitsRelation", }, }, }, ContentDroplets={ Droplets={ gallery={ class="\\BlueSpice\\DistributionConnector\\ContentDroplets\\GalleryDroplet", }, categorytree={ class="\\BlueSpice\\DistributionConnector\\ContentDroplets\\CategoryTreeDroplet", }, }, }, }, callback="\\BlueSpice\\DistributionConnector\\Extension::onRegistration", ExtensionMessagesFiles={ BlueSpiceDistributionConnectorCheckPermissions="languages/SpecialCheckPermissions.alias.php", }, SpecialPages={ CheckPermissions="BlueSpice\\DistributionConnector\\Specials\\CheckPermissions", }, config_prefix="bsg", config={ DistributionConnectorOpenIDConnectConfig={ value={ }, descriptionmsg="bs-distributionconnector-pref-openidconnect-config", public=true, }, DistributionConnectorOpenIDConnectUseRealNameAsUserName={ value=false, descriptionmsg="bs-distributionconnector-pref-openidconnect-userealnameasusername", public=true, }, DistributionConnectorOpenIDConnectUseEmailNameAsUserName={ value=false, descriptionmsg="bs-distributionconnector-pref-openidconnect-useemailasusername", public=true, }, DistributionConnectorOpenIDConnectMigrateUsersByUserName={ value=false, descriptionmsg="bs-distributionconnector-pref-openidconnect-migrateusersbyusername", public=true, }, DistributionConnectorOpenIDConnectMigrateUsersByEmail={ value=false, descriptionmsg="bs-distributionconnector-pref-openidconnect-migrateusersbyemail", public=true, }, DistributionConnectorOpenIDConnectForceLogout={ value=false, descriptionmsg="bs-distributionconnector-pref-openidconnect-forcelogout", public=true, }, DistributionConnectorSimpleSAMLphpEmailAttribute={ value={ }, descriptionmsg="bs-distributionconnector-pref-simplesamlphp-emailattribute", public=true, }, DistributionConnectorSimpleSAMLphpGroupAttributeDelimiter={ value={ }, descriptionmsg="bs-distributionconnector-pref-simplesamlphp-groupattributedelimiter", public=true, }, DistributionConnectorSimpleSAMLphpRealNameAttribute={ value={ }, descriptionmsg="bs-distributionconnector-pref-simplesamlphp-realnameattribute", public=true, }, DistributionConnectorSimpleSAMLphpSyncAllGroupsGroupAttributeName={ value={ }, descriptionmsg="bs-distributionconnector-pref-simplesamlphp-syncallgroups-groupattributename", public=true, }, DistributionConnectorSimpleSAMLphpUsernameAttribute={ value={ }, descriptionmsg="bs-distributionconnector-pref-simplesamlphp-usernameattribute", public=true, }, DistributionConnectorEventBusEventServices={ value={ }, descriptionmsg="bs-distributionconnector-pref-eventbus-eventservices", public=true, }, }, Hooks={ BeforePageDisplay={ "\\BlueSpice\\DistributionConnector\\Hook\\BeforePageDisplay\\AddResources::callback","\\BlueSpice\\DistributionConnector\\Hook\\BeforePageDisplay\\AddHitCounters::callback",}, BaseTemplateToolbox="BlueSpiceDistributionHooks::onBaseTemplateToolbox", BSInsertMagicAjaxGetData={ "\\BlueSpice\\DistributionConnector\\Hook\\BSInsertMagicAjaxGetData\\CategoryTree::callback","\\BlueSpice\\DistributionConnector\\Hook\\BSInsertMagicAjaxGetData\\Ref::callback","\\BlueSpice\\DistributionConnector\\Hook\\BSInsertMagicAjaxGetData\\References::callback","\\BlueSpice\\DistributionConnector\\Hook\\BSInsertMagicAjaxGetData\\EmbedVideo::callback","\\BlueSpice\\DistributionConnector\\Hook\\BSInsertMagicAjaxGetData\\DynamicPageList::callback",}, ChameleonSkinTemplateOutputPageBeforeExec={ "\\BlueSpice\\DistributionConnector\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\ModifySidebar::callback",}, LoadExtensionSchemaUpdates={ "BlueSpice\\DistributionConnector\\Hook\\LoadExtensionSchemaUpdates\\AddTemplateUserPageStandardContent::callback",}, ["WikiExplorer::getFieldDefinitions"]="\\BlueSpice\\DistributionConnector\\Hook\\WikiExplorer\\AddHitCounterColumn::onGetFieldDefinitions", ["WikiExplorer::getColumnDefinitions"]="\\BlueSpice\\DistributionConnector\\Hook\\WikiExplorer\\AddHitCounterColumn::onGetColumnDefinitions", ["WikiExplorer::buildDataSets"]="\\BlueSpice\\DistributionConnector\\Hook\\WikiExplorer\\AddHitCounterColumn::onBuildDataSets", UserLoggedIn="BlueSpice\\DistributionConnector\\Hook\\UserLoggedIn\\AddLoginNotification::onUserLoggedIn", BSUserManagerRegisterModules="user-manager", }, HookHandlers={ ["user-manager"]={ class="\\BlueSpice\\DistributionConnector\\Hook\\AddInviteLink", }, }, composer="bluespice/distributionconnector", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceDistributionConnector", }, BlueSpiceEchoConnector={ name="BlueSpiceEchoConnector", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:BlueSpiceEchoConnector", author={ "Sebastian Ulbricht","Robert Vogel","Dejan Savuljesku",}, descriptionmsg="bs-echoconnector-extension-description", type="bluespice", requires={ MediaWiki=">= 1.38.0", extensions={ BlueSpiceFoundation=">= 4.1", Echo="*", }, }, attributes={ BlueSpiceFoundation={ NotificationRegistrationFunctions={ "\\BlueSpice\\EchoConnector\\Extension::registerNotifications",}, RunJobsTriggerHandlerRegistry={ ["bs-echoconnector-send-digest"]="BlueSpice\\EchoConnector\\RunJobsTriggerHandler\\SendDigest::factory", }, }, BlueSpiceEchoConnector={ ParamParsers={ }, NotificationIcons={ delete={ path="BlueSpiceEchoConnector/resources/images/delete.png", }, }, }, BlueSpiceDiscovery={ AttentionIndicatorRegistry={ ["notifications-notice"]="\\BlueSpice\\EchoConnector\\AttentionIndicator\\Notice::factory", ["notifications-alert"]="\\BlueSpice\\EchoConnector\\AttentionIndicator\\Alert::factory", notifications="\\BlueSpice\\EchoConnector\\AttentionIndicator\\Notifications::factory", }, }, }, callback="\\BlueSpice\\EchoConnector\\Extension::onRegistration", HookHandlers={ skin={ class="\\BlueSpice\\EchoConnector\\HookHandler\\Skin", }, update={ class="\\BlueSpice\\EchoConnector\\HookHandler\\Update", }, }, Hooks={ ArticleDeleteComplete="\\BlueSpice\\EchoConnector\\Hook\\ArticleDeleteComplete\\NotifyUsers::callback", PageMoveComplete="\\BlueSpice\\EchoConnector\\Hook\\PageMoveComplete\\NotifyUsers::callback", PageSaveComplete="\\BlueSpice\\EchoConnector\\Hook\\PageSaveComplete\\NotifyUsers::callback", BSUserManagerAfterAddUser="\\BlueSpice\\EchoConnector\\Hook\\BSUserManagerAfterAddUser\\NotifyUsers::callback", EchoGetNotificationTypes="\\BlueSpice\\EchoConnector\\Hook\\EchoGetNotificationTypes\\GetNotificationTypesForEvent::callback", EchoGetBundleRules="\\BlueSpice\\EchoConnector\\Hook\\EchoGetBundleRules\\GetBundleRules::callback", LocalUserCreated="\\BlueSpice\\EchoConnector\\Hook\\LocalUserCreated\\NotifyUsers::callback", GetPreferences={ "\\BlueSpice\\EchoConnector\\Hook\\GetPreferences\\AddNotificationMatrix::callback","\\BlueSpice\\EchoConnector\\Hook\\GetPreferences\\HidePreferences::callback",}, ["SkinTemplateNavigation::Universal"]="skin", LoadExtensionSchemaUpdates="update", }, config_prefix="bsg", config={ EchoHtmlMailTemplatePath={ value="/templates", path=true, }, EchoHtmlMailTemplateNames={ value={ single="SingleMail", digest="Digest", primary_link="PrimaryLink", secondary_link="SecondaryLink", digest_list="DigestList", }, }, UseJobQueueForNotifications={ value=false, }, ForceJobQueueForLargeAudienceThreshold={ value=499, }, EchoEmailFormatterClasses={ value={ ["plain-text"]={ class="BlueSpice\\EchoConnector\\Formatter\\EchoPlainTextEmailFormatter", }, ["plain-text-digest"]={ class="BlueSpice\\EchoConnector\\Formatter\\EchoPlainTextDigestEmailFormatter", }, html={ class="BlueSpice\\EchoConnector\\Formatter\\EchoHTMLEmailFormatter", }, ["html-digest"]={ class="BlueSpice\\EchoConnector\\Formatter\\EchoHtmlDigestEmailFormatter", }, }, }, }, JobClasses={ sendNotification="BlueSpice\\EchoConnector\\Job\\SendNotification", }, ServiceWiringFiles={ "ServiceWiring.php",}, composer="bluespice/echoconnector", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceEchoConnector", }, BlueSpiceEditNotifyConnector={ name="BlueSpiceEditNotifyConnector", ["license-name"]="GPL-3.0-only", version="3.4.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:BlueSpiceEditNotifyConnector", descriptionmsg="bluespiceeditnotifyconnector-desc", author={ "Leonid Verhovskij",}, type="bluespice", composer="bluespice/editnotifyconnector", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceEditNotifyConnector", }, BlueSpiceEmoticons={ name="BlueSpiceEmoticons", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:Emoticons", author={ "Alex Wollangk","Marc Reymann","Sebastian Ulbricht","Mathias Scheer","Robert Vogel","Patric Wirth","Peter Böhm",}, descriptionmsg="bs-emoticons-desc", type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceEmoticons={ className="\\BlueSpice\\Emoticons\\Extension", extPath="/BlueSpiceEmoticons", }, }, }, }, requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, Hooks={ OutputPageBeforeHTML="\\BlueSpice\\Emoticons\\Hook\\OutputPageBeforeHTML\\ReplaceEmoticons::callback", }, composer="bluespice/emoticons", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceEmoticons", }, BlueSpiceExpiry={ name="BlueSpiceExpiry", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:Expiry", author={ "Sebastian Ulbricht","Markus Glaser",}, descriptionmsg="bs-expiry-extension-description", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpiceReminder=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceExpiry={ className="\\BlueSpice\\Expiry\\Extension", extPath="/BlueSpiceExpiry", package="BlueSpice Pro", }, }, ConfigDefinitionRegistry={ ExpiryEnablePDFWatermark="\\BlueSpice\\Expiry\\ConfigDefinition\\EnablePDFWatermark::getInstance", ExpiryEnablePageWatermark="\\BlueSpice\\Expiry\\ConfigDefinition\\EnablePageWatermark::getInstance", ExpiryEnablePrintWatermark="\\BlueSpice\\Expiry\\ConfigDefinition\\EnablePrintWatermark::getInstance", }, PermissionRegistry={ expirearticle={ type="namespace", roles={ "admin","editor","maintenanceadmin",}, }, ["expiry-delete"]={ type="namespace", roles={ "admin","editor","maintenanceadmin",}, }, }, ["@AlertProviderRegistry"]={ ["bs-expiry-expired"]="\\BlueSpice\\Expiry\\AlertProvider\\ExpiryState::factory", }, PageInfoElementRegistry={ ["bs-expiry-expired"]="\\BlueSpice\\Expiry\\PageInfoElement\\Expired::factory", }, NotificationRegistrationFunctions={ "\\BlueSpice\\Expiry\\Notification\\Expiry::registerNotifications",}, RunJobsTriggerHandlerRegistry={ ["bs-expiry-send-daily"]="\\BlueSpice\\Expiry\\RunJobsTriggerHandler\\SendNotification\\Daily::factory", ["bs-expiry-send-weekly"]="\\BlueSpice\\Expiry\\RunJobsTriggerHandler\\SendNotification\\Weekly::factory", ["bs-expiry-log-expirations"]="\\BlueSpice\\Expiry\\RunJobsTriggerHandler\\LogExpirations::factory", }, }, BlueSpiceEchoConnector={ NotificationIcons={ expiry={ path="BlueSpiceExpiry/resources/images/bs-infobar-expired.png", }, }, }, BlueSpiceReminder={ Registry={ expiry="\\BlueSpice\\Expiry\\Reminder\\Expiry::factory", }, }, BlueSpiceSMWConnector={ ExtraPropertyRegistry={ expirationdate="BlueSpice\\Expiry\\SMWConnector\\PropertyValueProvider\\ExpirationDate::factory", isexpired="BlueSpice\\Expiry\\SMWConnector\\PropertyValueProvider\\IsExpired::factory", }, }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, GroupPermissions={ ["*"]={ expirearticle=false, ["expiry-delete"]=false, }, user={ expirearticle=true, ["expiry-delete"]=true, }, sysop={ expirearticle=true, ["expiry-delete"]=true, }, }, AvailableRights={ "expirearticle","expiry-delete",}, SpecialPages={ Expiry="SpecialExpiry", }, APIModules={ ["bs-expiry-tasks"]="ApiExpiryTasks", ["bs-expiry-store"]="ApiExpiryStore", }, ExtensionMessagesFiles={ ExpiryAlias="languages/SpecialExpiry.alias.php", }, config_prefix="bsg", config={ ExpiryEnablePDFWatermark={ value=true, descriptionmsg="bs-expiry-pref-enablepdfwatermark", public=true, }, ExpiryEnablePageWatermark={ value=true, descriptionmsg="bs-expiry-pref-enablepagewatermark", public=true, }, ExpiryEnablePrintWatermark={ value=true, descriptionmsg="bs-expiry-pref-enableprintwatermark", public=true, }, }, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\Expiry\\HookHandler\\CommonUserInterface", }, ["discovery-skin"]={ class="\\BlueSpice\\Expiry\\HookHandler\\DiscoverySkin", }, ["standard-dialogs"]={ class="\\BlueSpice\\Expiry\\HookHandler\\StandardDialogs", }, addExpiryCreateEntry={ class="\\BlueSpice\\Expiry\\HookHandler\\AddExpiryCreateEntry", }, }, Hooks={ ["SkinTemplateNavigation::Universal"]="addExpiryCreateEntry", BeforePageDisplay={ "\\BlueSpice\\Expiry\\Hook\\BeforePageDisplay\\AddResources::callback","\\BlueSpice\\Expiry\\Hook\\BeforePageDisplay\\AddPageWatermark::callback","\\BlueSpice\\Expiry\\Hook\\BeforePageDisplay\\AddPrintWatermark::callback",}, ChameleonSkinTemplateOutputPageBeforeExec={ "\\BlueSpice\\Expiry\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddToGlobalActions::callback","\\BlueSpice\\Expiry\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddExpiredInfo::callback",}, BSUEModulePDFgetPage="\\BlueSpice\\Expiry\\Hook\\BSUEModulePDFgetPage\\AddPDFWatermarkClass::callback", BSUEModulePDFBeforeAddingStyleBlocks="\\BlueSpice\\Expiry\\Hook\\BSUEModulePDFBeforeAddingStyleBlocks\\AddPDFWatermarkStyles::callback", wgQueryPages="ExpiryHooks::onQueryPages", LoadExtensionSchemaUpdates="\\BlueSpice\\Expiry\\Hook\\LoadExtensionSchemaUpdates\\AddExpiryTable::callback", MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", BlueSpiceDiscoveryTemplateDataProviderAfterInit="discovery-skin", StandardDialogsRegisterPageInfoPanelModules="standard-dialogs", }, LogTypes={ "bs-expiry",}, LogActionsHandlers={ ["bs-expiry/*"]="LogFormatter", }, composer="bluespice/expiry", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceExpiry", }, BlueSpiceExportTables={ name="BlueSpiceExportTables", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:ExportTables", author={ "Patric Wirth","Robert Vogel",}, descriptionmsg="bs-exporttables-extension-description", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpiceUEModuleTable2Excel=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceExportTables={ className="\\BlueSpice\\ExportTables\\Extension", extPath="/BlueSpiceExportTables", package="BlueSpice Pro", status="beta", }, }, }, BlueSpiceVisualEditorConnector={ PluginModules={ "ext.bluespice.exportTables.visualEditorPlugin",}, }, BlueSpiceExtendedStatistics={ PluginModules={ "ext.bluespice.exportTables.statistics",}, }, }, config_prefix="bsg", config={ ExportTablesMenuTargetSelector={ value="#mw-content-text table.bs-exportable, .mw-datatable", }, }, Hooks={ BeforePageDisplay="\\BlueSpice\\ExportTables\\Hook\\BeforePageDisplay\\AddResources::callback", }, composer="bluespice/exporttables", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceExportTables", }, BlueSpiceExtendedFilelist={ name="BlueSpiceExtendedFilelist", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:ExtendedFilelist", author={ "Dejan Savuljesku",}, descriptionmsg="bs-extendedfilelist-desc", type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceExtendedFilelist={ className="\\BlueSpice\\ExtendedFilelist\\Extension", extPath="/BlueSpiceExtendedFilelist", }, }, }, }, requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, ExtensionMessagesFiles={ BlueSpiceExtendedFilelistAlias="BlueSpiceExtendedFilelist.alias.php", }, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\ExtendedFilelist\\HookHandler\\CommonUserInterface", }, }, Hooks={ ChameleonSkinTemplateOutputPageBeforeExec="\\BlueSpice\\ExtendedFilelist\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddExtendedFilelist::callback", ResourceLoaderRegisterModules="BlueSpiceExtendedFilelistHooks::onResourceLoaderRegisterModules", SpecialPage_initList="BlueSpiceExtendedFilelistHooks::onSpecialPage_initList", MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", }, SpecialPages={ BlueSpiceExtendedFilelist="SpecialBlueSpiceExtendedFilelist", }, config_prefix="bsg", config={ EFLOverrideStandardFilelist={ value=false, }, EFLPluginModules={ value={ }, }, }, composer="bluespice/extendedfilelist", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceExtendedFilelist", }, BlueSpiceExtendedSearch={ name="BlueSpiceExtendedSearch", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", author={ "Robert Vogel","Dejan Savuljesku",}, url="https://en.wiki.bluespice.com/wiki/Reference:ExtendedSearch", descriptionmsg="bs-extsearch-desc", namemsg="bs-extsearch-extensionname", type="bluespice", requires={ MediaWiki=">= 1.37.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceExtendedSearch={ className="BS\\ExtendedSearch\\Extension", }, }, ConfigDefinitionRegistry={ ESExternalFilePaths="BS\\ExtendedSearch\\ConfigDefinition\\ExternalFilePaths::getInstance", ESCompactAutocomplete="BS\\ExtendedSearch\\ConfigDefinition\\CompactAutocomplete::getInstance", ESAutoSetLangFilter="BS\\ExtendedSearch\\ConfigDefinition\\AutoSetLanguageFilter::getInstance", ExtendedSearchExternalFilePathsExcludes="\\BS\\ExtendedSearch\\ConfigDefinition\\ExternalFilePathsExcludes::getInstance", }, AdminToolRegistry={ ["bs-extended-search"]="BS\\ExtendedSearch\\AdminTool", }, RunJobsTriggerHandlerRegistry={ ["bs-extendedsearch-update-external-files"]="BS\\ExtendedSearch\\Source\\Updater\\ExternalFile::factory", }, PermissionRegistry={ ["extendedsearch-search-specialpage"]={ type="global", roles={ "accountmanager","admin","author","bot","commenter","editor","maintenanceadmin","reader","reviewer","structuremanager",}, }, ["extendedsearch-search-wikipage"]={ type="global", roles={ "accountmanager","admin","author","bot","commenter","editor","maintenanceadmin","reader","reviewer","structuremanager",}, }, ["extendedsearch-search-repofile"]={ type="global", roles={ "accountmanager","admin","author","bot","commenter","editor","maintenanceadmin","reader","reviewer","structuremanager",}, }, ["extendedsearch-search-externalfile"]={ type="global", roles={ "accountmanager","admin","author","bot","commenter","editor","maintenanceadmin","reader","reviewer","structuremanager",}, }, }, TagRegistry={ ["bs-tagsearch"]="BS\\ExtendedSearch\\Tag\\TagSearch", }, JSConfigVars={ AutocompleteConfig="\\BS\\ExtendedSearch\\JSConfigVariable\\AutocompleteConfig::factory", SourceIcons="\\BS\\ExtendedSearch\\JSConfigVariable\\SourceIcons::factory", UseCompactAutocomplete="\\BS\\ExtendedSearch\\JSConfigVariable\\UseCompactAutocomplete::factory", ESSimilarPages="\\BS\\ExtendedSearch\\JSConfigVariable\\ESSimilarPages::factory", }, }, BlueSpiceVisualEditorConnector={ TagDefinitions={ "ext.bluespice.tagsearch.visualEditor",}, }, BlueSpiceArticleInfo={ FlyoutModules={ ["similar-pages"]={ module="ext.blueSpiceExtendedSearch.similarpages.flyout", ["make-items-callback"]="bs.extendedsearch.flyout.makeSimilarPages", }, }, }, BlueSpiceExtendedSearch={ Sources={ wikipage="BS\\ExtendedSearch\\Source\\WikiPages::create", specialpage="BS\\ExtendedSearch\\Source\\SpecialPages::create", repofile="BS\\ExtendedSearch\\Source\\RepoFiles::create", externalfile="BS\\ExtendedSearch\\Source\\ExternalFiles::create", }, LookupModifierRegistry={ ["base-extensionaggregation"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\BaseExtensionAggregation::factory", ["base-tagsaggregation"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\BaseTagsAggregation::factory", ["base-simpleqsfields"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\BaseSimpleQSFields::factory", ["base-wildcarder"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\BaseWildcarder::factory", ["base-idsort"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\BaseSortByID::factory", ["base-userrelevance"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\BaseUserRelevance::factory", ["base-typesecuritytrimmings"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\BaseTypeSecurityTrimming::factory", ["base-titlesecuritytrimmings"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\BaseTitleSecurityTrimmings::factory", ["base-mtimeboost"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\BaseMTimeBoost::factory", ["base-acsourcefields"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\BaseAutocompleteSourceFields::factory", ["wikipage-namespacetextaggregation"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\WikiPageNamespaceTextAggregation::factory", ["wikipage-userpreferences"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\WikiPageUserPreferences::factory", ["wikipage-namespaceprefixresolver"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\WikiPageNamespacePrefixResolver::factory", ["wikipage-securitytrimming"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\WikiPageSecurityTrimming::factory", ["wikipage-categoriesaggregation"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\WikiPageCategoriesAggregation::factory", ["wikipage-renderedcontenthighlight"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\WikiPageRenderedContentHighlight::factory", ["wikipage-qssourcefields"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\WikiPageQSSourceFields::factory", ["wikipage-boosters"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\WikiPageBoosters::factory", ["wikipage-subpagefilter"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\WikiPageSubpageFilter::factory", ["wikipage-unwanted"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\WikiPageRemoveUnwanted::factory", ["wikipage-pagelangaggregation"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\WikiPageLanguageAggregation::factory", ["wikipage-langfilter"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\WikiPageLanguageFilter::factory", ["wikipage-acunwanted"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\WikiPageAutocompleteRemoveUnwanted::factory", ["wikipage-acsourcefields"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\WikiPageAutocompleteSourceFields::factory", ["file-content"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\FileContent::factory", ["regexp-quoter"]="\\BS\\ExtendedSearch\\Source\\LookupModifier\\RegExpQuoter::factory", }, AdditionalLookupModifiers={ }, DefaultResultStructure={ headerText="basename", headerUri="uri", secondaryInfos={ top={ items={ }, }, bottom={ items={ { name="typetext", },{ name="ctime", },{ name="mtime", },}, }, }, featured={ }, }, Autocomplete={ SuggestField="ac_ngram", DisplayLimits={ normal=7, top=1, secondary=4, }, }, SourceIcons={ wikipage="extensions/BlueSpiceExtendedSearch/resources/images/wikipage-icon.png", specialpage="extensions/BlueSpiceExtendedSearch/resources/images/specialpage-icon.png", default="extensions/BlueSpiceExtendedSearch/resources/images/default-icon.png", }, Icons={ pdf="/extensions/BlueSpiceExtendedSearch/resources/images/file-icon/icon-pdf.png", docx="/extensions/BlueSpiceExtendedSearch/resources/images/file-icon/icon-docx.png", doc="/extensions/BlueSpiceExtendedSearch/resources/images/file-icon/icon-doc.png", xls="/extensions/BlueSpiceExtendedSearch/resources/images/file-icon/icon-xls.png", xlsx="/extensions/BlueSpiceExtendedSearch/resources/images/file-icon/icon-xlsx.png", ppt="/extensions/BlueSpiceExtendedSearch/resources/images/file-icon/icon-ppt.png", pptx="/extensions/BlueSpiceExtendedSearch/resources/images/file-icon/icon-pptx.png", mp4="/extensions/BlueSpiceExtendedSearch/resources/images/file-icon/icon-mp4.png", default="/extensions/BlueSpiceExtendedSearch/resources/images/file-icon/default.png", redirect="/extensions/BlueSpiceExtendedSearch/resources/images/icon/redirect.png", }, FieldsWithANDFilterEnabled={ fields={ "categories",}, }, SpellCheck={ suggestField="basename", replaceThreshold=0.01, suggestThreshold=0.3, }, SingleSelectFilters={ "page_language",}, ExternalIndexRegistry={ }, }, BlueSpiceTagCloud={ StoreRegistry={ searchstats="\\BS\\ExtendedSearch\\Data\\TagCloud\\Searchstats\\Store", }, }, BlueSpiceSimpleFarmer={ PostInstanceCreationCommandFactories={ initbackend="BS\\ExtendedSearch\\SimpleFarmer\\CommandDescription\\InitBackend::factory", rebuildindex="BS\\ExtendedSearch\\SimpleFarmer\\CommandDescription\\RebuildIndex::factory", }, PreInstanceDeletionCommandFactories={ deleteindices="BS\\ExtendedSearch\\SimpleFarmer\\CommandDescription\\DeleteIndices::factory", }, }, BlueSpicePrivacy={ Handlers={ "\\BS\\ExtendedSearch\\Privacy\\Handler",}, }, VisualEditor={ PluginModules={ "ext.bluespice.extendedsearch.tagsearch.visualEditor",}, }, BlueSpiceExtendedStatistics={ SnapshotProviders={ ["es-searchstats"]={ class="\\BS\\ExtendedSearch\\Statistics\\SnapshotProvider\\SearchStats", services={ "DBLoadBalancer",}, }, }, Reports={ ["es-searchterms"]={ class="\\BS\\ExtendedSearch\\Statistics\\Report\\SearchTerms", }, }, }, ContentDroplets={ Droplets={ search={ class="\\BS\\ExtendedSearch\\ContentDroplets\\SearchDroplet", }, }, }, }, GroupPermissions={ ["*"]={ ["extendedsearch-search-specialpage"]=true, ["extendedsearch-search-wikipage"]=true, ["extendedsearch-search-repofile"]=true, ["extendedsearch-search-externalfile"]=true, }, user={ ["extendedsearch-search-specialpage"]=true, ["extendedsearch-search-wikipage"]=true, ["extendedsearch-search-repofile"]=true, ["extendedsearch-search-externalfile"]=true, }, sysop={ ["extendedsearch-search-specialpage"]=true, ["extendedsearch-search-wikipage"]=true, ["extendedsearch-search-repofile"]=true, ["extendedsearch-search-externalfile"]=true, }, }, GrantPermissions={ basic={ ["extendedsearch-search-specialpage"]=true, ["extendedsearch-search-wikipage"]=true, ["extendedsearch-search-repofile"]=true, ["extendedsearch-search-externalfile"]=true, }, }, AvailableRights={ "extendedsearch-search-specialpage","extendedsearch-search-wikipage","extendedsearch-search-repofile","extendedsearch-search-externalfile",}, ServiceWiringFiles={ "includes/ServiceWiring.php",}, ExtensionMessagesFiles={ BlueSpiceExtendedSearchAdminAlias="languages/BSSearchAdmin.alias.php", BlueSpiceExtendedSearchCenterAlias="languages/BSSearchCenter.alias.php", }, ExtensionFunctions={ "BS\\ExtendedSearch\\Setup::init",}, HookHandlers={ extendedsearchform={ class="BS\\ExtendedSearch\\HookHandler\\SkinSlotNavbarPrimarySearchForm", }, }, Hooks={ ChameleonSkinTemplateOutputPageBeforeExec="BS\\ExtendedSearch\\Setup::onSkinTemplateOutputPageBeforeExec", BeforePageDisplay={ "BS\\ExtendedSearch\\Hook\\BeforePageDisplay\\AddResources::callback",}, LoadExtensionSchemaUpdates={ "BS\\ExtendedSearch\\Hook\\LoadExtensionSchemaUpdates\\AddRelevanceTable::callback","BS\\ExtendedSearch\\Hook\\LoadExtensionSchemaUpdates\\AddHistoryTable::callback",}, GetPreferences="BS\\ExtendedSearch\\Hook\\GetPreferences\\AddUserPreferredNamespaces::callback", BSInsertMagicAjaxGetData="BS\\ExtendedSearch\\Hook\\BSInsertMagicAjaxGetData\\AddTagSearch::callback", BSUEModulePDFBeforeCreatePDF="\\BS\\ExtendedSearch\\Hook\\BSUEModulePDFBeforeCreatePDF\\RemoveTagSearch::callback", ["NamespaceManager::editNamespace"]="\\BS\\ExtendedSearch\\Hook\\NamespaceManagerEditNamespace\\ReindexNamespace::callback", UserMergeAccountFields="\\BS\\ExtendedSearch\\Hook\\UserMergeAccountFields\\MergeExtendedSearchDBFields::callback", MWStakeCommonUIRegisterSkinSlotComponents={ "extendedsearchform",}, }, SpecialPages={ BSSearchCenter="BS\\ExtendedSearch\\MediaWiki\\Specials\\SearchCenter", BSSearchAdmin="BS\\ExtendedSearch\\MediaWiki\\Specials\\SearchAdmin", }, APIModules={ ["bs-extendedsearch-query"]="BS\\ExtendedSearch\\MediaWiki\\Api\\Query", ["bs-extendedsearch-stats"]="BS\\ExtendedSearch\\MediaWiki\\Api\\Stats", ["bs-extendedsearch-triggerupdate"]="BS\\ExtendedSearch\\MediaWiki\\Api\\TriggerUpdate", ["bs-extendedsearch-autocomplete"]="BS\\ExtendedSearch\\MediaWiki\\Api\\Autocomplete", ["bs-extendedsearch-resultrelevance"]="BS\\ExtendedSearch\\MediaWiki\\Api\\ResultRelevance", ["bs-extendedsearch-type-store"]="BS\\ExtendedSearch\\MediaWiki\\Api\\TypeStore", }, config_prefix="bsg", config={ ESBackendClass={ value="\\BS\\ExtendedSearch\\Backend", }, ESBackendHost={ value="127.0.0.1", }, ESBackendPort={ value="9200", }, ESBackendTransport={ value="http", }, ESBackendUsername={ value="", }, ESBackendPassword={ value="", }, ESEnableSearchHistoryTracking={ value=true, }, ESExternalFilePaths={ descriptionmsg="bs-extendedsearch-external-file-paths-desc", public=true, value={ }, }, ExtendedSearchExternalFilePathsExcludes={ descriptionmsg="bs-extendedsearch-pref-external-file-paths-excludes", public=true, value={ }, }, ESCompactAutocomplete={ descriptionmsg="bs-extendedsearch-compact-ac-paths-desc", public=true, value=false, }, ESSearchCenterDefaultFilters={ descriptionmsg="bs-extendedsearch-default-filters-desc", public=true, value={ "namespace_text","categories",}, }, ESAutoSetLangFilter={ descriptionmsg="bs-extendedsearch-auto-set-lang-filter-desc", public=true, value=false, }, ESWildcardingOperators={ public=false, value={ "+","|","*","(",")","~",}, }, ESWildcardingSeparators={ public=false, value={ ",",".",";","-","_",}, }, ESRecentBoostFactor={ description="Value must be between 0 and 1. If set to 1, very recent pages will almost double their score", public=false, value="0.5", }, ESMatchPercentBoostFactor={ description="How much to boost the result based on the percent of its title taken up by the search term. Set to 0 to disable", public=false, value="0.5", }, ESMatchPercentTitleField={ description="Field on which to base the match percent boosting. If empty, default title field of the source will be used", public=false, value="", }, ESSourceConfig={ value={ wikipage={ skip_namespaces={ 8,9,}, }, repofile={ extension_blacklist={ "mp4",}, max_size=20000000, }, externalfile={ extension_blacklist={ "mp4",}, max_size=20000000, }, }, public=false, }, TagSearchSearchFieldTemplatePath={ value="/resources/templates", path=true, }, ESAllowIndexingDocumentsWithoutContent={ value=true, }, ESAutoRecognizeSubpages={ description="If true, search for subpages will automatically be recognized and filters adjusted", value=true, }, ESSearchInRawWikitext={ value=true, }, ESLookupModifierRegExPatterns={ value={ "[0-9]{2}\\-[0-9]{2}\\-[0-9]{4}","[0-9]{4}\\-[0-9]{2}\\-[0-9]{2}","[0-9]{2}\\-[0-9]{4}\\-[0-9]{2}","[0-9]{2}\\/[0-9]{2}\\/[0-9]{4}","[0-9]{4}\\/[0-9]{2}\\/[0-9]{2}","[0-9]{2}\\/[0-9]{4}\\/[0-9]{2}","[0-9]{2}\\.[0-9]{2}\\.[0-9]{4}","[0-9]{4}\\.[0-9]{2}\\.[0-9]{2}","[0-9]{2}\\.[0-9]{4}\\.[0-9]{2}","[0-9]{2}\\\\[0-9]{2}\\\\[0-9]{4}","[0-9]{4}\\\\[0-9]{2}\\\\[0-9]{2}","[0-9]{2}\\\\[0-9]{4}\\\\[0-9]{2}","[0-9]{1}\\-[0-9]{2}\\-[0-9]{4}","[0-9]{4}\\-[0-9]{2}\\-[0-9]{1}","[0-9]{1}\\-[0-9]{4}\\-[0-9]{2}","[0-9]{4}\\-[0-9]{1}\\-[0-9]{2}","[0-9]{2}\\-[0-9]{4}\\-[0-9]{1}","[0-9]{2}\\-[0-9]{1}\\-[0-9]{4}","[0-9]{1}\\/[0-9]{2}\\/[0-9]{4}","[0-9]{4}\\/[0-9]{2}\\/[0-9]{1}","[0-9]{1}\\/[0-9]{4}\\/[0-9]{2}","[0-9]{4}\\/[0-9]{1}\\/[0-9]{2}","[0-9]{2}\\/[0-9]{4}\\/[0-9]{1}","[0-9]{2}\\/[0-9]{1}\\/[0-9]{4}","[0-9]{1}\\.[0-9]{2}\\.[0-9]{4}","[0-9]{4}\\.[0-9]{2}\\.[0-9]{1}","[0-9]{1}\\.[0-9]{4}\\.[0-9]{2}","[0-9]{4}\\.[0-9]{1}\\.[0-9]{2}","[0-9]{2}\\.[0-9]{4}\\.[0-9]{1}","[0-9]{2}\\.[0-9]{1}\\.[0-9]{4}","[0-9]{1}\\\\[0-9]{2}\\\\[0-9]{4}","[0-9]{4}\\\\[0-9]{2}\\\\[0-9]{1}","[0-9]{1}\\\\[0-9]{4}\\\\[0-9]{2}","[0-9]{4}\\\\[0-9]{1}\\\\[0-9]{2}","[0-9]{2}\\\\[0-9]{4}\\\\[0-9]{1}","[0-9]{2}\\\\[0-9]{1}\\\\[0-9]{4}","[0-9]{2}\\-[0-9]{2}\\-[0-9]{2}","[0-9]{2}\\/[0-9]{2}\\/[0-9]{2}","[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}","[0-9]{2}\\\\[0-9]{2}\\\\[0-9]{2}","[0-9]{1}\\-[0-9]{1}\\-[0-9]{4}","[0-9]{4}\\-[0-9]{1}\\-[0-9]{1}","[0-9]{1}\\-[0-9]{4}\\-[0-9]{1}","[0-9]{1}\\/[0-9]{1}\\/[0-9]{4}","[0-9]{4}\\/[0-9]{1}\\/[0-9]{1}","[0-9]{1}\\/[0-9]{4}\\/[0-9]{1}","[0-9]{1}\\.[0-9]{1}\\.[0-9]{4}","[0-9]{4}\\.[0-9]{1}\\.[0-9]{1}","[0-9]{1}\\.[0-9]{4}\\.[0-9]{1}","[0-9]{1}\\\\[0-9]{1}\\\\[0-9]{4}","[0-9]{4}\\\\[0-9]{1}\\\\[0-9]{1}","[0-9]{1}\\\\[0-9]{4}\\\\[0-9]{1}","[0-9]{1}\\-[0-9]{1}\\-[0-9]{2}","[0-9]{2}\\-[0-9]{1}\\-[0-9]{1}","[0-9]{1}\\-[0-9]{2}\\-[0-9]{1}","[0-9]{1}\\/[0-9]{1}\\/[0-9]{2}","[0-9]{2}\\/[0-9]{1}\\/[0-9]{1}","[0-9]{1}\\/[0-9]{2}\\/[0-9]{1}","[0-9]{1}\\.[0-9]{1}\\.[0-9]{2}","[0-9]{2}\\.[0-9]{1}\\.[0-9]{1}","[0-9]{1}\\.[0-9]{2}\\.[0-9]{1}","[0-9]{1}\\\\[0-9]{1}\\\\[0-9]{2}","[0-9]{2}\\\\[0-9]{1}\\\\[0-9]{1}","[0-9]{1}\\\\[0-9]{2}\\\\[0-9]{1}","[0-9]{2}\\-[0-9]{4}","[0-9]{2}\\/[0-9]{4}","[0-9]{2}\\.[0-9]{4}","[0-9]{2}\\\\[0-9]{4}","[0-9]{4}\\-[0-9]{2}","[0-9]{4}\\/[0-9]{2}","[0-9]{4}\\.[0-9]{2}","[0-9]{4}\\\\[0-9]{2}","[0-9]{2}\\-[0-9]{2}","[0-9]{2}\\/[0-9]{2}","[0-9]{2}\\.[0-9]{2}","[0-9]{2}\\\\[0-9]{2}",}, }, ESOfferOperatorSuggestion={ value=true, }, ESEnableTypeFilter={ value=true, }, ESSubpageMasterFilterPatterns={ description="List of regexes specifying pattern of page names on which to turn this feature on", value={ }, }, ESSubpageMasterFilterUseRootOnly={ description="Whether to use the whole name of the current page or just the root part", value=true, }, ESDefaultSearchOperator={ value="AND", }, ESIndexPrefix={ description="Which prefix to use on the index names. Will use `WikiMap::getCurrentWikiId` if empty.", value="", }, }, callback="\\BS\\ExtendedSearch\\Setup::onRegistration", JobClasses={ updateWikiPageIndex="BS\\ExtendedSearch\\Source\\Job\\UpdateWikiPage", updateSpecialPageIndex="BS\\ExtendedSearch\\Source\\Job\\UpdateSpecialPage", updateRepoFileIndex="BS\\ExtendedSearch\\Source\\Job\\UpdateRepoFile", updateExternalFileIndex="BS\\ExtendedSearch\\Source\\Job\\UpdateExternalFile", updateLinkedFileIndex="BS\\ExtendedSearch\\Source\\Job\\UpdateLinkedFile", }, composer="bluespice/extendedsearch", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceExtendedSearch", }, BlueSpiceExtendedStatistics={ name="BlueSpiceExtendedStatistics", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:ExtendedStatistics", author={ "Markus Glaser","Patric Wirth","Oleksandr Pinchuk",}, descriptionmsg="bs-statistics-desc", type="bluespice", requires={ MediaWiki=">= 1.38.0", extensions={ BlueSpiceFoundation=">= 4.1", }, platform={ php=">= 7.2", ["ext-ctype"]="*", ["ext-dom"]="*", ["ext-gd"]="*", ["ext-iconv"]="*", ["ext-fileinfo"]="*", ["ext-libxml"]="*", ["ext-mbstring"]="*", ["ext-SimpleXML"]="*", ["ext-xml"]="*", ["ext-xmlreader"]="*", ["ext-xmlwriter"]="*", ["ext-zip"]="*", ["ext-zlib"]="*", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceExtendedStatistics={ className="\\BlueSpice\\ExtendedStatistics\\Extension", extPath="/BlueSpiceExtendedStatistics", }, }, ConfigDefinitionRegistry={ StatisticsExcludeUsers="\\BlueSpice\\ExtendedStatistics\\ConfigDefinition\\ExcludeUsers::getInstance", StatisticsMaxNumberOfIntervals="\\BlueSpice\\ExtendedStatistics\\ConfigDefinition\\MaxNumberOfIntervals::getInstance", }, PermissionRegistry={ ["statistic-viewspecialpage"]={ type="global", roles={ "admin","maintenanceadmin",}, }, ["extendedstatistics-viewspecialpage-aggregated"]={ type="global", roles={ "admin","maintenanceadmin",}, }, }, TagRegistry={ progress="\\BlueSpice\\ExtendedStatistics\\Tag\\Progress", }, }, BlueSpiceExtendedStatistics={ SnapshotProviders={ }, Reports={ }, SnapshotStores={ database={ class="BlueSpice\\ExtendedStatistics\\SnapshotStore\\DatabaseStore", services={ "DBLoadBalancer",}, }, }, DiagramRegistry={ BsDiagramNumberOfUsers="\\BsDiagramNumberOfUsers::factory", BsDiagramNumberOfPages="\\BsDiagramNumberOfPages::factory", BsDiagramNumberOfArticles="\\BsDiagramNumberOfArticles::factory", BsDiagramNumberOfEdits="\\BsDiagramNumberOfEdits::factory", BsDiagramEditsPerUser="\\BsDiagramEditsPerUser::factory", BsDiagramSearches="\\BsDiagramSearches::factory", }, PluginModules={ }, }, BlueSpiceVisualEditorConnector={ TagDefinitions={ "ext.bluespice.extendedstatistics.visualEditorTagDefinition",}, }, ContentDroplets={ Droplets={ progress={ class="BlueSpice\\ExtendedStatistics\\ContentDroplets\\ProgressDroplet", }, }, }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, APIMetaModules={ ["statistics-reports"]="BlueSpice\\ExtendedStatistics\\Api\\ApiQueryReports", }, GroupPermissions={ ["*"]={ ["statistic-viewspecialpage"]=false, ["extendedstatistics-viewspecialpage-aggregated"]=false, }, user={ ["statistic-viewspecialpage"]=true, ["extendedstatistics-viewspecialpage-aggregated"]=false, }, sysop={ ["statistic-viewspecialpage"]=true, ["extendedstatistics-viewspecialpage-aggregated"]=true, }, }, AvailableRights={ "statistic-viewspecialpage","extendedstatistics-viewspecialpage-aggregated",}, SpecialPages={ ExtendedStatistics="SpecialExtendedStatistics", AggregatedStatistic="\\BlueSpice\\ExtendedStatistics\\Special\\AggregatedStatistic", }, JobClasses={ updateCollectionIndex="\\BlueSpice\\ExtendedStatistics\\ExtendedSearch\\Job\\Snapshot", }, APIModules={ ["bs-statistics-search-options-store"]="BSApiStatisticsSearchOptionsStore", ["bs-statistics-available-diagrams-store"]="BSApiStatisticsAvailableDiagramsStore", ["bs-statistics-tasks"]="BSApiStatisticsTasks", }, ExtensionMessagesFiles={ ExtendedStatisticsAlias="languages/ExtendedStatistics.alias.php", }, Hooks={ ChameleonSkinTemplateOutputPageBeforeExec="\\BlueSpice\\ExtendedStatistics\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddExtendedStatistics::callback", BeforePageDisplay="\\BlueSpice\\ExtendedStatistics\\Hook\\BeforePageDisplay\\AddResources::callback", LoadExtensionSchemaUpdates="\\BlueSpice\\ExtendedStatistics\\Hook\\LoadExtensionSchemaUpdates\\AddSnapshotTable::callback", BSUsageTrackerRegisterCollectors="\\BlueSpice\\ExtendedStatistics\\Hook\\BSUsageTrackerRegisterCollectors\\AddStatisticsProgressTag::callback", BSDashboardsAdminDashboardPortalConfig="\\BlueSpice\\ExtendedStatistics\\Hook\\BSDashboardsAdminDashboardPortalConfig\\AddConfigs::callback", BSDashboardsAdminDashboardPortalPortlets="\\BlueSpice\\ExtendedStatistics\\Hook\\BSDashboardsAdminDashboardPortalPortlets\\AddPortlets::callback", BSDashboardsUserDashboardPortalConfig="\\BlueSpice\\ExtendedStatistics\\Hook\\BSDashboardsUserDashboardPortalConfig\\AddConfigs::callback", BSDashboardsUserDashboardPortalPortlets="\\BlueSpice\\ExtendedStatistics\\Hook\\BSDashboardsUserDashboardPortalPortlets\\AddPortlets::callback", BSInsertMagicAjaxGetData="\\BlueSpice\\ExtendedStatistics\\Hook\\BSInsertMagicAjaxGetData\\AddProgressTag::callback", }, config_prefix="bsg", config={ StatisticsExcludeUsers={ value={ "WikiSysop",}, descriptionmsg="bs-statistics-pref-excludeusers", }, StatisticsMaxNumberOfIntervals={ value=366, descriptionmsg="bs-statistics-pref-maxnumberofintervals", }, StatisticsAvailableGrains={ value={ Y="bs-statistics-year", m="bs-statistics-month", W="bs-statistics-week", d="bs-statistics-day", }, descriptionmsg="bs-statistics-pref-AvailableGrains", }, StatisticsSnapshotStoreType={ public=false, value="database", }, }, composer="bluespice/extendedstatistics", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceExtendedStatistics", }, BlueSpiceExtensions={ name="BlueSpiceExtensions", ["license-name"]="GPL-3.0-only", version="3.0.0-alpha", url="https://www.mediawiki.org/wiki/BlueSpice", author={ "Hallo Welt! GmbH",}, composer="bluespice/legacy-extensions", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceExtensions", }, BlueSpiceFilterableTables={ name="BlueSpiceFilterableTables", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:FilterableTables", author="Patric Wirth", descriptionmsg="bs-filterabletables-extension-description", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceFilterableTables={ className="\\BlueSpice\\FilterableTables\\Extension", extPath="/BlueSpiceFilterableTables", package="BlueSpice Pro", }, }, }, BlueSpiceVisualEditorConnector={ PluginModules={ "ext.bluespice.filterabletables.visualEditorPlugin",}, }, }, Hooks={ BeforePageDisplay="\\BlueSpice\\FilterableTables\\Hook\\BeforePageDisplay\\AddResources::callback", }, composer="bluespice/filterabletables", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceFilterableTables", }, BlueSpiceFlaggedRevsConnector={ name="BlueSpiceFlaggedRevsConnector", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:FlaggedRevsConnector", author={ "Patric Wirth","Robert Vogel",}, descriptionmsg="bs-flaggedrevsconnector-extension-description", requires={ MediaWiki=">= 1.37.0", extensions={ BlueSpiceFoundation=">= 4.0", FlaggedRevs="*", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceFlaggedRevsConnector={ className="\\BlueSpice\\FlaggedRevsConnector\\Extension", extPath="/BlueSpiceFlaggedRevsConnector", package="BlueSpice Pro", }, }, ConfigDefinitionRegistry={ FlaggedRevsConnectorDraftGroups="\\BlueSpice\\FlaggedRevsConnector\\ConfigDefinition\\DraftGroups::getInstance", FlaggedRevsConnectorIndexStableOnly="\\BlueSpice\\FlaggedRevsConnector\\ConfigDefinition\\IndexingStableOnly::getInstance", FlaggedRevsConnectorBookshelfShowStable="\\BlueSpice\\FlaggedRevsConnector\\ConfigDefinition\\BookshelfShowStable::getInstance", FlaggedRevsConnectorBookshelfShowNoStable="\\BlueSpice\\FlaggedRevsConnector\\ConfigDefinition\\BookshelfShowNoStable::getInstance", FlaggedRevsConnectorBookshelfShowNoFR="\\BlueSpice\\FlaggedRevsConnector\\ConfigDefinition\\BookshelfShowNoFR::getInstance", FlaggedRevsConnectorUEModulePDFShowFRTag="\\BlueSpice\\FlaggedRevsConnector\\ConfigDefinition\\UEModulePDFShowFRTag::getInstance", FlaggedRevsConnectorFlaggedRevsHandleIncludes="\\BlueSpice\\FlaggedRevsConnector\\ConfigDefinition\\HandleIncludes::getInstance", }, PageInfoElementRegistry={ ["bs-frc-versionswitch"]="\\BlueSpice\\FlaggedRevsConnector\\PageInfoElement\\VersionSwitch::factory", ["bs-frc-pagestatus-dropdown"]="\\BlueSpice\\FlaggedRevsConnector\\PageInfoElement\\PageStatusDropdown::factory", }, PermissionRegistry={ autoreview={ type="global", roles={ "bot","maintenanceadmin",}, }, autoreviewrestore={ type="global", roles={ "bot","maintenanceadmin",}, }, movestable={ type="global", roles={ "admin","editor","maintenanceadmin","reviewer","structuremanager",}, }, review={ type="global", roles={ "admin","maintenanceadmin","reviewer",}, }, stablesettings={ type="global", roles={ "admin","maintenanceadmin","reader",}, }, unreviewedpages={ type="global", roles={ "admin","editor","maintenanceadmin","reviewer",}, }, validate={ type="global", roles={ "admin","maintenanceadmin","reviewer",}, }, }, PermissionLockdownRegistry={ ["flaggedrevsconnector-draft"]="\\BlueSpice\\FlaggedRevsConnector\\Permission\\Lockdown\\Module\\Draft::getInstance", }, NotificationRegistrationFunctions={ "\\BlueSpice\\FlaggedRevsConnector\\Notifications\\Registrator::registerNotifications",}, AlertProviderRegistry={ ["bs-flaggedrevsconnector-revisionstate"]="\\BlueSpice\\FlaggedRevsConnector\\AlertProvider\\RevisionState::factory", }, AdminToolRegistry={ ["bs-qm-overview"]="BlueSpice\\FlaggedRevsConnector\\AdminTool\\QMOverview", }, RendererRegistry={ ["pageheader-lastedit"]="\\BlueSpice\\FlaggedRevsConnector\\Renderer\\PageHeader\\LastEdit::factory", }, LessVarsRegistry={ ["bs-frc-unmarked-color"]="#ff8080", ["bs-frc-stable-color"]="#38c748", ["bs-frc-draft-color"]="#e49c00", }, }, BlueSpicePrivacy={ Handlers={ "\\BlueSpice\\FlaggedRevsConnector\\Privacy\\Handler",}, }, BlueSpiceSMWConnector={ ExtraPropertyRegistry={ docstatefields="\\BlueSpice\\FlaggedRevsConnector\\DocumentStatePropertyValueProvider::factory", docsversionfields="\\BlueSpice\\FlaggedRevsConnector\\DocumentVersionPropertyValueProvider::factory", approvaldatefields="\\BlueSpice\\FlaggedRevsConnector\\ApprovalDatePropertyValueProvider::factory", approvaluserfields="\\BlueSpice\\FlaggedRevsConnector\\ApprovalUserPropertyValueProvider::factory", }, }, BlueSpiceReview={ ReviewTypeRegistry={ flagging="BlueSpice\\FlaggedRevsConnector\\Review\\Type\\Flagging::factory", }, }, Workflows={ LogicObjects={ ActivityRegistry={ approve_revision={ class="\\BlueSpice\\FlaggedRevsConnector\\Workflows\\Activity\\ApprovePageActivity", services={ "BSFlaggedRevsConnectorUtils","RevisionStore","BSUtilityFactory","UserFactory","BSSecondaryDataUpdater",}, }, }, }, PropertyValidators={ ["valid-reviewer"]={ class="\\BlueSpice\\FlaggedRevsConnector\\Workflows\\PropertyValidator\\ValidReviewer", services={ "UserFactory","PermissionManager",}, }, }, }, BlueSpiceExtendedStatistics={ SnapshotProviders={ ["frc-flaggedpages"]={ class="\\BlueSpice\\FlaggedRevsConnector\\Statistics\\SnapshotProvider\\FlaggedPages", services={ "DBLoadBalancer","MainConfig",}, }, }, Reports={ ["frc-flaggedpages"]={ class="\\BlueSpice\\FlaggedRevsConnector\\Statistics\\Report\\FlaggedPages", }, }, }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, callback="\\BlueSpice\\FlaggedRevsConnector\\Extension::onRegistration", GroupPermissions={ sysop={ review=true, validate=true, autoreview=true, autoreviewrestore=true, unreviewedpages=true, stablesettings=true, movestable=true, }, }, SpecialPages={ QMOverview="\\BlueSpice\\FlaggedRevsConnector\\Special\\QMOverview", }, APIModules={ ["bs-flaggedpages-store"]="\\BlueSpice\\FlaggedRevsConnector\\Api\\Store\\FlaggedPages", }, ExtensionMessagesFiles={ BlueSpiceQMOverviewAdminAlias="languages/SpecialQMOverview.alias.php", }, config_prefix="bsg", config={ FlaggedRevsConnectorautoDeleteWorkflow={ value=true, descriptionmsg="bs-flaggedrevsconnector-pref-autodeleteworkflow", public=true, }, FlaggedRevsConnectorDraftGroups={ value={ "user",}, descriptionmsg="bs-flaggedrevsconnector-pref-draftgroups", public=true, }, FlaggedRevsConnectorIndexStableOnly={ value=false, descriptionmsg="bs-flaggedrevsconnector-pref-indexingstableonly", public=true, }, FlaggedRevsConnectorBookshelfShowStable={ value=true, descriptionmsg="bs-flaggedrevsconnector-pref-bookshelfshowstable", public=true, }, FlaggedRevsConnectorBookshelfShowNoStable={ value=true, descriptionmsg="bs-flaggedrevsconnector-pref-bookshelfshownostable", public=true, }, FlaggedRevsConnectorBookshelfShowNoFR={ value=true, descriptionmsg="bs-flaggedrevsconnector-pref-bookshelfshownofr", public=true, }, FlaggedRevsConnectorUEModulePDFShowFRTag={ value=true, descriptionmsg="bs-flaggedrevsconnector-pref-uemodulepdfshowfrtag", public=true, }, FlaggedRevsConnectorFlaggedPagesStore={ value="BlueSpice\\FlaggedRevsConnector\\Data\\FlaggedPages\\Store", public=false, }, FlaggedRevsConnectorPageApprovedReminderDelay={ public=false, value=168, }, FlaggedRevsConnectorFlaggedRevsHandleIncludes={ value=2, descriptionmsg="bs-flaggedrevsconnector-pref-handleincludes", public=true, }, FlaggedRevsConnectorStabilizeSMWPropertyValues={ public=false, value=true, }, }, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\FlaggedRevsConnector\\HookHandler\\CommonUserInterface", }, getStableFile={ class="\\BlueSpice\\FlaggedRevsConnector\\HookHandler\\GetStableFile", services={ "BSFlaggedRevsConnectorUtils","RevisionStore",}, }, }, Hooks={ ["MessageCache::get"]="\\BlueSpice\\FlaggedRevsConnector\\Hook\\MessageCacheGet\\ApplyBusinessVocabulary::callback", ArticleViewHeader="FRCUEModulePDF::onArticleViewHeader", PageHistoryLineEnding="FRCHistoryView::onPageHistoryLineEnding", checkPageIsReviewable="FRCReview::onCheckPageIsReviewable", FlaggedRevsRevisionReviewFormAfterDoSubmit={ "FRCReview::onFlaggedRevsRevisionReviewFormAfterDoSubmit","\\BlueSpice\\FlaggedRevsConnector\\Hook\\FlaggedRevsRevisionReviewFormAfterDoSubmit\\UpdateSearchIndexAfterSetStable::callback","\\BlueSpice\\FlaggedRevsConnector\\Hook\\FlaggedRevsRevisionReviewFormAfterDoSubmit\\SendReadConfirmationOnApprove::callback",}, ChameleonSkinTemplateOutputPageBeforeExec={ "\\BlueSpice\\FlaggedRevsConnector\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddFlyout::callback",}, ["SkinTemplateNavigation::Universal"]={ "\\BlueSpice\\FlaggedRevsConnector\\Hook\\SkinTemplateNavigationUniversal\\ChangePendingActionText::callback","\\BlueSpice\\FlaggedRevsConnector\\Hook\\SkinTemplateNavigationUniversal\\RemoveFlaggedRevsContentActions::callback",}, ImagePageFileHistoryLine={ "BlueSpice\\FlaggedRevsConnector\\Hook\\ImagePageFileHistoryLine\\HideDraftVersions::callback",}, BeforePageDisplay={ "\\BlueSpice\\FlaggedRevsConnector\\Hook\\BeforePageDisplay\\AddResources::callback","\\BlueSpice\\FlaggedRevsConnector\\Hook\\BeforePageDisplay\\ChangeRevisionForEdit::callback","\\BlueSpice\\FlaggedRevsConnector\\Hook\\BeforePageDisplay\\HideFileDraftResources::callback","\\BlueSpice\\FlaggedRevsConnector\\Hook\\BeforePageDisplay\\ChangeRevisionForEdit::callback",}, ["SMW::RevisionGuard::IsApprovedRevision"]="\\BlueSpice\\FlaggedRevsConnector\\Hook\\SMWRevisionGuard\\IsApprovedFlaggedRevision::callback", ["SMW::RevisionGuard::ChangeRevision"]="\\BlueSpice\\FlaggedRevsConnector\\Hook\\SMWRevisionGuard\\ChangeFlaggedRevision::callback", ["SMW::RevisionGuard::ChangeRevisionID"]="\\BlueSpice\\FlaggedRevsConnector\\Hook\\SMWRevisionGuard\\ChangeFlaggedRevisionId::callback", LoadExtensionSchemaUpdates="\\BlueSpice\\FlaggedRevsConnector\\Hook\\LoadExtensionSchemaUpdates\\AddRemoveTMPGroupMaintenanceScript::callback", ImgAuthBeforeStream="\\BlueSpice\\FlaggedRevsConnector\\Hook\\ImgAuthBeforeStream\\LockdownDraft::callback", BlueSpiceEchoConnectorUserLocatorValidUsers="\\BlueSpice\\FlaggedRevsConnector\\Hook\\BlueSpiceEchoConnectorUserLocatorValidUsers\\LockdownNotifications::callback", BSExtendedSearchWikipageFetchRevision="\\BlueSpice\\FlaggedRevsConnector\\Hook\\BSExtendedSearchWikipageFetchRevision\\GetStableRevision::callback", BSExtendedSearchRepoFileGetRepoFile="\\BlueSpice\\FlaggedRevsConnector\\Hook\\BSExtendedSearchRepoFileGetRepoFile\\GetStableFile::callback", EditPageGetCheckboxesDefinition="\\BlueSpice\\FlaggedRevsConnector\\Hook\\EditPageGetCheckboxesDefinition\\ReplaceVisualEditorAutoReview::callback", PageSaveComplete="\\BlueSpice\\FlaggedRevsConnector\\Hook\\PageSaveComplete\\AutoReviewAfterVisualEditorEdit::callback", SpecialPage_initList="\\BlueSpice\\FlaggedRevsConnector\\Hook\\SpecialPageInitList\\RemoveDefaultFRPages::callback", BeforeParserFetchTemplateAndtitle={ "BlueSpice\\FlaggedRevsConnector\\Hook\\BeforeParserFetchTemplateAndTitle\\SetTransclusionVersion::callback",}, MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", DrawioGetFile="getStableFile", }, composer="bluespice/flaggedrevsconnector", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceFlaggedRevsConnector", }, BlueSpiceFoundation={ name="BlueSpiceFoundation", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", author={ "Hallo Welt! GmbH",}, url="https://en.wiki.bluespice.com/wiki/Reference:BlueSpiceFoundation", descriptionmsg="bluespicefoundation-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ ExtJSBase=">=1.31", OOJSPlus=">=0.2", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceFoundation={ extPath="/BlueSpiceFoundation", }, }, ConfigDefinitionRegistry={ Logo="\\BlueSpice\\ConfigDefinition\\Logo::getInstance", FileExtensions="\\BlueSpice\\ConfigDefinition\\FileExtensions::getInstance", ImageExtensions="\\BlueSpice\\ConfigDefinition\\ImageExtensions::getInstance", Favicon="\\BlueSpice\\ConfigDefinition\\Favicon::getInstance", }, DynamicFileRegistry={ userprofileimage="\\BlueSpice\\DynamicFileDispatcher\\UserProfileImage", groupimage="\\BlueSpice\\DynamicFileDispatcher\\GroupImage", articlepreviewimage="\\BlueSpice\\DynamicFileDispatcher\\ArticlePreviewImage", }, EntityRegistry={ }, GraphicalListRegistry={ }, ExtendedSiteToolRegistry={ }, AdminToolRegistry={ }, PageInfoElementRegistry={ }, PageHeaderBeforeContentRegistry={ }, TagRegistry={ }, PermissionRegistry={ }, RoleRegistry={ admin="\\BlueSpice\\Permission\\Role\\Admin::factory", editor="\\BlueSpice\\Permission\\Role\\Editor::factory", reader="\\BlueSpice\\Permission\\Role\\Reader::factory", author="\\BlueSpice\\Permission\\Role\\Author::factory", reviewer="\\BlueSpice\\Permission\\Role\\Reviewer::factory", accountmanager="\\BlueSpice\\Permission\\Role\\AccountManager::factory", structuremanager="\\BlueSpice\\Permission\\Role\\StructureManager::factory", maintenanceadmin="\\BlueSpice\\Permission\\Role\\MaintenanceAdmin::factory", commenter="\\BlueSpice\\Permission\\Role\\Commenter::factory", accountselfcreate="\\BlueSpice\\Permission\\Role\\AccountSelfCreate::factory", autocreateaccount="\\BlueSpice\\Permission\\Role\\AutoCreateAccount::factory", bot="\\BlueSpice\\Permission\\Role\\Bot::factory", }, RendererRegistry={ list="\\BlueSpice\\Renderer\\SimpleList::factory", linklist="\\BlueSpice\\Renderer\\LinkList::factory", userimage="\\BlueSpice\\Renderer\\UserImage::factory", groupimage="\\BlueSpice\\Renderer\\GroupImage::factory", entity="\\BlueSpice\\Renderer\\Entity::factory", }, SkinDataRendererRegistry={ bs_navigation_site="\\BlueSpice\\Renderer\\TreeNavigation", bs_navigation_globalactions_general="\\BlueSpice\\Renderer\\SimpleList", bs_navigation_globalactions_admin="\\BlueSpice\\Renderer\\SimpleList", }, SettingPathRegistry={ feature="bs-setting-path-feature", extension="bs-setting-path-extension", package="bs-setting-path-package", system="bs-setting-path-system", dataanalysis="bs-setting-path-dataanalysis", editor="bs-setting-path-editor", search="bs-setting-path-search", personalisation="bs-setting-path-personalisation", skinning="bs-setting-path-skinning", customizing="bs-setting-path-customizing", contentstructuring="bs-setting-path-contentstructuring", communication="bs-setting-path-communication", administration="bs-setting-path-administration", qualityassurance="bs-setting-path-qualityassurance", export="bs-setting-path-export", }, RunJobsTriggerHandlerRegistry={ }, NotificationRegistrationFunctions={ }, AlertProviderRegistry={ ["bs-readonly-warning"]="\\BlueSpice\\AlertProvider\\ReadOnlyWarning::factory", ["bs-testsystem-warning"]="\\BlueSpice\\AlertProvider\\TestsystemWarning::factory", }, LessVarsRegistry={ }, TargetCacheRegistry={ title="\\BlueSpice\\TargetCache\\Title", }, TargetCacheTitleRegistry={ pageprops="\\BlueSpice\\TargetCacheHandler", }, PermissionLockdownRegistry={ namespaces="\\BlueSpice\\Permission\\Lockdown\\Module\\Namespaces::getInstance", groups="\\BlueSpice\\Permission\\Lockdown\\Module\\Groups::getInstance", }, PermissionLockdownGroupModuleRegistry={ }, TaskRegistry={ ["wikipage-setlanguagelinks"]="\\BlueSpice\\Task\\WikiPage\\SetLanguageLinks::factory", ["wikipage-setcategories"]="\\BlueSpice\\Task\\WikiPage\\SetCategories::factory", ["wikipage-addcategories"]="\\BlueSpice\\Task\\WikiPage\\AddCategories::factory", ["wikipage-removecategories"]="\\BlueSpice\\Task\\WikiPage\\RemoveCategories::factory", }, TemplateHanderRegistry={ mustache="\\BlueSpice\\Template\\Mustache::factory", }, LoadPlaceholders={ CRUDGrid="extensions/BlueSpiceFoundation/resources/templates/loadPlaceholder", ExtJSGeneric="extensions/BlueSpiceFoundation/resources/templates/loadPlaceholder", }, DynamicSettingsRegistry={ ["@note"]="Can not be overridden using `$bsgExtensionAttributeRegistryOverrides`", GroupManager="BlueSpice\\DynamicSettings\\NullSettings::factory", NamespaceManager="BlueSpice\\DynamicSettings\\NullSettings::factory", PermissionManager="BlueSpice\\DynamicSettings\\NullSettings::factory", }, JSConfigVars={ }, SecondaryDataUpdateRegistry={ }, }, BlueSpicePrivacy={ CookieConsentNativeMWCookies={ notificationFlag={ group="necessary", addPrefix=true, }, }, }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, SpecialPages={ SpecialCredits="\\BlueSpice\\Special\\Credits", WikiAdmin="SpecialWikiAdmin", }, APIModules={ ["bs-filebackend-store"]="BSApiFileBackendStore", ["bs-user-store"]="BSApiUserStore", ["bs-category-store"]="BSApiCategoryStore", ["bs-adminuser-store"]="BSApiAdminUserStore", ["bs-group-store"]="BSApiGroupStore", ["bs-interwiki-store"]="BSApiInterwikiStore", ["bs-wikipage-tasks"]="BSApiWikiPageTasks", ["bs-wikipage-store"]="BSApiWikiPageStore", ["bs-wikisubpage-treestore"]="BSApiWikiSubPageTreeStore", ["bs-titlequery-store"]="BSApiTitleQueryStore", ["bs-ping-tasks"]="BSApiPingTasks", ["bs-upload-license-store"]="BSApiUploadLicenseStore", ["bs-category-treestore"]="BSApiCategoryTreeStore", ["bs-watchlist-store"]="BlueSpice\\Api\\Store\\Watchlist", ["bs-recentchanges-store"]="BlueSpice\\Api\\Store\\RecentChanges", ["bs-task"]="\\BlueSpice\\Api\\Task", ["bs-js-var-config"]="\\BlueSpice\\Api\\JSConfigVarsApi", ["bs-templatelinks-store"]="\\BlueSpice\\Api\\Store\\Templatelinks", ["bs-categorylinks-store"]="\\BlueSpice\\Api\\Store\\Categorylinks", ["bs-linker"]="\\BlueSpice\\Api\\Linker", }, GroupPermissions={ ["*"]={ wikiadmin=false, editor=false, }, user={ wikiadmin=false, editor=false, }, sysop={ wikiadmin=true, editor=false, }, }, AvailableRights={ "wikiadmin","editor",}, ExtensionMessagesFiles={ CreditsAlias="languages/BlueSpice.Credits.alias.php", WikiAdminAlias="languages/BlueSpice.WikiAdmin.alias.php", }, HookHandlers={ mediawikiservices={ class="\\BlueSpice\\HookHandler\\MediaWikiServices", }, }, Hooks={ SetupAfterCache={ "\\BlueSpice\\Hook\\SetupAfterCache\\AddParamDefinitions::callback",}, SoftwareInfo="BlueSpice\\Hook\\SoftwareInfo\\AddBlueSpice::callback", BeforePageDisplay={ "\\BlueSpice\\Hook\\BeforePageDisplay\\AddResources::callback","\\BlueSpice\\Hook\\BeforePageDisplay\\AddLoadingIndicator::callback",}, HtmlPageLinkRendererEnd={ "BlueSpice\\Hook\\HtmlPageLinkRendererEnd\\AddDataUserName::callback","BlueSpice\\Hook\\HtmlPageLinkRendererEnd\\AddDataTitle::callback",}, LinkerMakeMediaLinkFile="\\BlueSpice\\Hook\\LinkerMakeMediaLinkFile\\AddDataAttributes::callback", ThumbnailBeforeProduceHTML="\\BlueSpice\\Hook\\ThumbnailBeforeProduceHTML\\AddDataAttributes::callback", MakeGlobalVariablesScript={ "\\BlueSpice\\Hook\\MakeGlobalVariablesScript\\AddTaskAPIPermissions::callback","\\BlueSpice\\Hook\\MakeGlobalVariablesScript\\AddDeferredNotifications::callback",}, LoadExtensionSchemaUpdates={ "BlueSpice\\Hook\\LoadExtensionSchemaUpdates\\AddBlueSpice3SettingsAndMigrationMaintenanceScript::callback","BlueSpice\\Hook\\LoadExtensionSchemaUpdates\\AddBlueSpiceUserPropertiesMigrationMaintenanceScript::callback","BlueSpice\\Hook\\LoadExtensionSchemaUpdates\\AddBlueSpiceConfigFilesMigrationMaintenanceScript::callback","BlueSpice\\Hook\\LoadExtensionSchemaUpdates\\AddBlueSpiceCleanUpDeletedUsersBlocksMaintenanceScript::callback",}, ChameleonSkinTemplateOutputPageBeforeExec={ "\\BlueSpice\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddAdminTools::callback","\\BlueSpice\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddExportDownloadFile::callback",}, ParserFirstCallInit={ "BlueSpice\\Hook\\ParserFirstCallInit\\AddTags::callback",}, ExtensionTypes="\\BlueSpice\\Hook\\ExtensionTypes\\AddBlueSpice::callback", PageSaveComplete={ "\\BlueSpice\\Hook\\PageSaveComplete\\InvalidateArticleHelper::callback","\\BlueSpice\\Hook\\PageSaveComplete\\InvalidateTargetCacheTitle::callback",}, ArticleDeleteComplete="\\BlueSpice\\Hook\\ArticleDeleteComplete\\InvalidateTargetCacheTitle::callback", PageMoveComplete="\\BlueSpice\\Hook\\PageMoveComplete\\InvalidateTargetCacheTitle::callback", ResourceLoaderGetConfigVars={ "\\BlueSpice\\Hook\\ResourceLoaderGetConfigVars\\AddVersion::callback","\\BlueSpice\\Hook\\ResourceLoaderGetConfigVars\\AddBSGConfig::callback","\\BlueSpice\\Hook\\ResourceLoaderGetConfigVars\\AddGraphicalListRegistry::callback","\\BlueSpice\\Hook\\ResourceLoaderGetConfigVars\\AddExtendedSiteToolsRegistry::callback","\\BlueSpice\\Hook\\ResourceLoaderGetConfigVars\\AddAssetsPaths::callback","\\BlueSpice\\Hook\\ResourceLoaderGetConfigVars\\AddPingVars::callback",}, getUserPermissionsErrors={ "\\BlueSpice\\Hook\\GetUserPermissionsErrors\\ApplyLockdown::callback",}, SearchableNamespaces={ "BlueSpice\\Hook\\SearchableNamespaces\\ApplySearchableNamespacesLockdown::callback",}, SearchGetNearMatchComplete={ "BlueSpice\\Hook\\SearchGetNearMatchComplete\\ApplyNearMatchLockdown::callback",}, BeforeParserFetchTemplateAndTitle={ "BlueSpice\\Hook\\BeforeParserFetchTemplateAndTitle\\CheckTransclusionPermissions::callback",}, TitleReadWhitelist="\\BlueSpice\\Hook\\TitleReadWhitelist\\AddFooterLinks::callback", MediaWikiServices="mediawikiservices", }, config_prefix="bsg", config={ PermissionConfig={ value={ }, }, BlueSpiceExtInfo={ value={ name="BlueSpice", version="4.2.0-alpha", status="stable", package="BlueSpice Free", url="https://bluespice.com", desc="Makes MediaWiki enterprise ready.", author={ "Hallo Welt! GmbH",}, }, }, DefaultUserImage={ value="resources/bluespice/images/bs-user-default-image.png", path=true, }, DefaultAnonImage={ value="resources/bluespice/images/bs-user-anon-image.png", path=true, }, DefaultGroupImage={ value="resources/bluespice/images/bs-group-default-image.png", path=true, }, UIPermissionBlacklist={ value={ "reupload","reupload-shared","minoredit","deletedhistory","editinterface","importupload","patrol","autopatrol","proxyunbannable","trackback","unwatchedpages","autoconfirmed","upload_by_url","ipblock-exempt","blockemail","purge","emailconfirmed","nominornewtalk",}, }, MaintenanceUserName={ value="BSMaintenance", }, RunJobsTriggerHandlerOptions={ value={ ["*"]={ basetime={ 1,0,0,}, ["once-a-week-day"]="sunday", }, }, }, CreditsProgrammers={ value={ "Markus Glaser","Radovan Kubani","Sebastian Ulbricht","Marc Reymann","Mathias Scheer","Thomas Lorenz","Tobias Weichart","Robert Vogel","Erwin Forster","Karl Waldmannstetter","Daniel Lynge","Tobias Davids","Patric Wirth","Stephan Muggli","Stefan Widmann","Jan Göttlich","Benedikt Hofmann","Daniel Vogel","Leonid Verhovskij","Gerhard Diller","Mannfred Dennerlein","Dejan Savuljesku","Josef Konrad","Philipp Pirzer","Peter Böhm","Gökhan Geyik","Oleksandr Pinchuck","Dmitry Shevliakov","Jenya Punchenko",}, }, CreditsDesignAndTesting={ value={ "Anja Ebersbach","Richard Heigl","Nathalie Köpff","Michael Rödl","Michael Scherm","Dardan Diugan","Christina Glaser","Christian Graf","Angelika Müller","Karl Skodnik","Astrid Scheffler","Sabine Gürtler","Thomas Schnakenberg","Sabrina Dürr","Tobias Kornprobst","Luisa Roth","Ljubica Sireta","David Schweiger","Florian Bäckmann","Alexander Ziegltrum","Margit Link-Rodrigue",}, }, CreditsContributors={ value={ "Aaron Schulz","Acamicamacaraca","Alangi Derick","addshore","Albert221","Amir Sarabadani","Ammar","Ammarpad","amritsreekumar","Antoine Musso","Aryeh Gregor","Aude","Basil Hershberger","Bill Pirkle","Brad Jorsch","Chad Horohoe","Christian Aistleitner","DannyS712","David Sn","Demon","Derick Alangi","DrishyaR","Florian","Florianschmidtwelzow","Fomafix","Frederic Mohr","Gergő Tisza","Guycn2","hexmode","Holger Knust","idakuch","James D. Forrester","Jayprakash12345","Jforrester","jhsoby","Justin Du","Kunal Mehta","Legoktm","libraryupgrader","MarcoAurelio","Mark A. Hershberger","Max Semenik","MaxSem","MtDu","Nikita Rana","OmkarJ","Ori Livneh","Paladox","Phantom42","Prateek Saxena","Purodha","QChris","Rafid Aslam","Raimond Spekking","Raymond","RazeSoldier","Reedy","rlot","Rohitt Vashishtha","Siebrand Mazeland","Subin Siby","TGC","Tulsi Bhagat","Umherirrender","Yuki Shira","Yuriy Shnitkovskiy","withoutaname","Zoranzoki21",}, }, CreditsTranslation={ value={ "Siebrand Mazeland","Raimond Spekking","Stephan Muggli",}, }, LessVars={ value={ }, }, ExtensionAttributeRegistryOverrides={ description={ "Key is the full extension attribute name, e.g. `BlueSpiceFoundationLessVarsRegistry`","Value is a array that supports three keys:","`set`: Contains an associative array that completely replaces the original value of the attribute.","`merge`: Contains an associative array the will be merged with the original value of the attribute. Will not be evaluated if `set` is defined.","`remove`: Contains a indexed array of keys that should be removed from the original value of the attribute. Will not be evaluated if `set` is defined.",}, value={ }, }, PingOnInit={ descriptionmsg="bs-ping-on-init-desc", public=true, value=false, }, HttpRequestDefaultOptions={ description={ "Default connection options for all HTTP requests made via HttpRequestFactory",}, public=false, value={ }, }, }, ConfigRegistry={ bsg="BlueSpice\\Config::newInstance", }, callback="\\BlueSpice\\Foundation::onRegistry", composer="bluespice/foundation", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceFoundation", }, BlueSpiceGroupManager={ name="BlueSpiceGroupManager", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:GroupManager", author={ "Markus Glaser","Sebastian Ulbricht",}, descriptionmsg="bs-groupmanager-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceGroupManager={ className="\\BlueSpice\\GroupManager\\Extension", extPath="/BlueSpiceGroupManager", }, }, PermissionRegistry={ ["groupmanager-viewspecialpage"]={ type="global", roles={ "accountmanager","admin","maintenanceadmin",}, }, }, AdminToolRegistry={ ["bs-group-manager"]="BlueSpice\\GroupManager\\AdminTool", }, DynamicSettingsRegistry={ GroupManager="BlueSpice\\GroupManager\\DynamicSettings\\GmSettings::factory", }, }, }, GroupPermissions={ ["*"]={ ["groupmanager-viewspecialpage"]=false, }, user={ ["groupmanager-viewspecialpage"]=false, }, sysop={ ["groupmanager-viewspecialpage"]=true, }, }, AvailableRights={ "groupmanager-viewspecialpage",}, SpecialPages={ GroupManager="SpecialGroupManager", }, LogTypes={ "bs-group-manager",}, FilterLogTypes={ ["bs-group-manager"]=true, }, LogActionsHandlers={ ["bs-group-manager/*"]="LogFormatter", }, APIModules={ ["bs-groupmanager"]="BSApiTasksGroupManager", }, ExtensionMessagesFiles={ SpecialGroupManagerAlias="includes/specials/SpecialGroupManager.alias.php", }, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\GroupManager\\HookHandler\\CommonUserInterface", }, }, Hooks={ MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", LoadExtensionSchemaUpdates="\\BlueSpice\\GroupManager\\Hook\\LoadExtensionSchemaUpdates\\AddCleanUpUserGroupTableMaintenanceScript::callback", }, composer="bluespice/groupmanager", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceGroupManager", }, BlueSpiceHideTitle={ name="BlueSpiceHideTitle", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:HideTitle", author={ "Markus Glaser","Peter Boehm",}, descriptionmsg="bs-hidetitle-desc", type="bluespice", requires={ MediaWiki=">= 1.38.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceHideTitle={ className="\\BlueSpice\\HideTitle\\Extension", extPath="/BlueSpiceHideTitle", }, }, }, BlueSpiceVisualEditorConnector={ PluginModules={ "ext.bluespice.hideTitle.visualEditorPlugin",}, }, BlueSpiceHideTitle={ CssSelectorModules={ default={ class="\\BlueSpice\\HideTitle\\DefaultCssSelectorModule", }, }, }, }, ExtensionMessagesFiles={ HideTitleMagic="languages/HideTitle.i18n.magic.php", }, Hooks={ BSInsertMagicAjaxGetData="\\BlueSpice\\HideTitle\\Hook\\BSInsertMagicAjaxGetData\\CheckHideTitle::callback", BeforePageDisplay="\\BlueSpice\\HideTitle\\Hook\\BeforePageDisplay\\AddModules::callback", GetDoubleUnderscoreIDs="\\BlueSpice\\HideTitle\\Hook\\GetDoubleUnderscoreIDs\\AddHideTitle::callback", BSUsageTrackerRegisterCollectors="\\BlueSpice\\HideTitle\\Hook\\BSUsageTrackerRegisterCollectors\\AddHideTitleTag::callback", OutputPageBodyAttributes="\\BlueSpice\\HideTitle\\Hook\\OutputPageBodyAttributes\\HideTitleBodyClass::onOutputPageBodyAttributes", }, composer="bluespice/hidetitle", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceHideTitle", }, BlueSpiceInsertCategory={ name="BlueSpiceInsertCategory", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:InsertCategory", author={ "Markus Glaser","Sebastian Ulbricht","Stefan Widmann",}, descriptionmsg="bs-insertcategory-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceInsertCategory={ className="\\BlueSpice\\InsertCategory\\Extension", extPath="/BlueSpiceInsertCategory", }, }, ConfigDefinitionRegistry={ InsertCategoryWithParents="\\BlueSpice\\InsertCategory\\ConfigDefinition\\WithParents::getInstance", InsertCategoryUploadPanelIntegration="\\BlueSpice\\InsertCategory\\ConfigDefinition\\UploadPanelIntegration::getInstance", }, RendererRegistry={ ["pageheader-category"]="\\BlueSpice\\InsertCategory\\Renderer\\PageHeader\\Category::factory", }, }, BlueSpiceArticleInfo={ FlyoutModules={ insert_category={ module="ext.bluespice.insertcategory.flyout", ["make-items-callback"]="bs.insertcategory.flyout.makeItems", ["skip-callback"]="\\BlueSpice\\InsertCategory\\Extension::flyoutModuleSkip", }, }, }, }, config_prefix="bsg", config={ InsertCategoryWithParents={ value=false, descriptionmsg="bs-insertcategory-pref-withparents", }, InsertCategoryUploadPanelIntegration={ value=false, descriptionmsg="bs-insertcategory-pref-uploadpanelintegration", }, }, HookHandlers={ toolaftercontent={ class="\\BlueSpice\\InsertCategory\\HookHandler\\AddToolAfterContent", }, }, Hooks={ ChameleonSkinTemplateOutputPageBeforeExec={ "\\BlueSpice\\InsertCategory\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddContentActionToBlacklist::callback",}, ["SkinTemplateNavigation::Universal"]="\\BlueSpice\\InsertCategory\\Hook\\SkinTemplateNavigationUniversal\\AddInsertCategoryAction::callback", BeforePageDisplay="\\BlueSpice\\InsertCategory\\Hook\\BeforePageDisplay\\AddResources::callback", MWStakeCommonUIRegisterSkinSlotComponents="toolaftercontent", }, composer="bluespice/insertcategory", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceInsertCategory", }, BlueSpiceInsertFile={ name="BlueSpiceInsertFile", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:InsertFile", author={ "Markus Glaser","Sebastian Ulbricht","Robert Vogel",}, descriptionmsg="bs-insertfile-desc", type="bluespice", ["license-name"]="GPL-3.0-only", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceInsertFile={ className="\\BlueSpice\\InsertFile\\Extension", extPath="/BlueSpiceInsertFile", }, }, }, BlueSpiceVisualEditorConnector={ PluginModules={ "ext.bluespice.insertFile.visualEditorPlugin",}, }, }, APIModules={ ["bs-insertfile-license-store"]="BSApiInsertFileLicenseStore", }, composer="bluespice/insertfile", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceInsertFile", }, BlueSpiceInsertLink={ name="BlueSpiceInsertLink", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:InsertLink", author={ "Markus Glaser","Sebastian Ulbricht","Patric Wirth",}, descriptionmsg="bs-insertlink-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpiceVisualEditorConnector=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceInsertLink={ className="\\BlueSpice\\InsertLink\\Extension", extPath="/BlueSpiceInsertLink", }, }, ConfigDefinitionRegistry={ InsertLinkAllowUnMapped="\\BlueSpice\\InsertLink\\ConfigDefinition\\AllowUnMapped::getInstance", InsertLinkFilesystemMap="\\BlueSpice\\InsertLink\\ConfigDefinition\\FilesystemMap::getInstance", }, }, BlueSpiceVisualEditorConnector={ PluginModules={ "ext.bluespice.insertlink.visualEditorPlugin",}, }, }, ExtensionMessagesFiles={ InsertLinkAlias="languages/InsertLink.alias.php", }, SpecialPages={ InsertLinkFileChooserJNLP="SpecialInsertLinkFileChooserJNLP", }, Hooks={ BeforePageDisplay="\\BlueSpice\\InsertLink\\Hook\\BeforePageDisplay\\AddConfigs::callback", }, config_prefix="bsg", config={ InsertLinkEnableJava={ value=false, }, InsertLinkFilesystemMap={ value={ }, }, InsertLinkAllowUnMapped={ value=true, }, }, composer="bluespice/insertlink", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceInsertLink", }, BlueSpiceInsertMagic={ name="BlueSpiceInsertMagic", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:InsertMagic", author={ "Robert Vogel","Stephan Muggli",}, descriptionmsg="bs-insertmagic-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceInsertMagic={ className="\\BlueSpice\\InsertMagic\\Extension", extPath="/BlueSpiceInsertMagic", }, }, }, VisualEditor={ PluginModules={ "ext.bluespice.insertmagic.visualEditor",}, }, }, APIModules={ ["bs-insertmagic-data-store"]="BSApiInsertMagicDataStore", }, Hooks={ BeforePageDisplay="BlueSpice\\InsertMagic\\Hook\\BeforePageDisplay\\AddModules::callback", }, composer="bluespice/insertmagic", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceInsertMagic", }, BlueSpiceInsertTemplate={ name="BlueSpiceInsertTemplate", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:InsertTemplate", author={ "Josef Konrad","Robert Vogel",}, descriptionmsg="bs-insertTemplate-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceInsertTemplate={ className="\\BlueSpice\\InsertTemplate\\Extension", extPath="/BlueSpiceInsertTemplate", }, }, }, }, config_prefix="bsg", config={ InsertTemplateFavorites={ value={ }, }, }, APIModules={ ["bs-inserttemplate-store"]="BSApiInsertTemplateTemplateStore", }, composer="bluespice/inserttemplate", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceInsertTemplate", }, BlueSpiceInterWikiLinks={ name="BlueSpiceInterWikiLinks", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:InterWikiLinks", author={ "Markus Glaser","Sebastian Ulbricht","Leonid Verhovskij",}, descriptionmsg="bs-interwikilinks-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceInterWikiLinks={ className="\\BlueSpice\\InterWikiLinks\\Extension", extPath="/BlueSpiceInterWikiLinks", }, }, PermissionRegistry={ ["interwikilinks-viewspecialpage"]={ type="global", roles={ "admin","editor","maintenanceadmin",}, }, }, AdminToolRegistry={ ["bs-interwikilinks-manager"]="BlueSpice\\InterWikiLinks\\AdminTool", }, }, }, GroupPermissions={ ["*"]={ ["interwikilinks-viewspecialpage"]=false, }, user={ ["interwikilinks-viewspecialpage"]=false, }, sysop={ ["interwikilinks-viewspecialpage"]=true, }, }, AvailableRights={ "interwikilinks-viewspecialpage",}, SpecialPages={ InterWikiLinks="SpecialInterWikiLinks", }, APIModules={ ["bs-interwikilinks-tasks"]="BSApiTasksInterWikiLinksManager", }, ExtensionMessagesFiles={ InterWikiLinksAlias="includes/specials/SpecialInterWikiLinks.alias.php", }, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\InterWikiLinks\\HookHandler\\CommonUserInterface", }, }, Hooks={ BeforePageDisplay="\\BlueSpice\\InterWikiLinks\\Hook\\BeforePageDisplay\\AddResources::callback", MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", }, composer="bluespice/interwikilinks", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceInterWikiLinks", }, BlueSpiceMultiUpload={ name="BlueSpiceMultiUpload", version="4.2.0-alpha", author={ "Robert Vogel","Leonid Verhovskij",}, url="https://en.wiki.bluespice.com/wiki/Reference:MultiUpload", descriptionmsg="bs-multiupload-desc", ["license-name"]="GPL-3.0-only", type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceMultiUpload={ className="\\BlueSpice\\MultiUpload\\Extension", extPath="/BlueSpiceMultiUpload", }, }, }, }, requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, Hooks={ BeforePageDisplay="\\BlueSpice\\MultiUpload\\Hook\\BeforePageDisplay\\AddResources::callback", BeforePageDisplayMobile="BlueSpiceMultiUploadHooks::onBeforePageDisplayMobile", MobileMenu="BlueSpiceMultiUploadHooks::onMobileMenu", BSInsertMagicAjaxGetData="BlueSpice\\MultiUpload\\Hook\\BSInsertMagicAjaxGetData\\AddTags::callback", ParserFirstCallInit="BlueSpice\\MultiUpload\\Hook\\ParserFirstCallInit\\AddTags::callback", }, config_prefix="bsg", config={ MultiUploadIntegrateWithUploadLink={ value=true, }, }, composer="bluespice/multiupload", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceMultiUpload", }, BlueSpiceNSFileRepoConnector={ name="BlueSpiceNSFileRepoConnector", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", author="[mailto:vogel@hallowelt.com Robert Vogel (Hallo Welt! GmbH)]", url="https://en.wiki.bluespice.com/wiki/Reference:NSFileRepoConnector", descriptionmsg="bs-nsfrc-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", NSFileRepo=">= 1.27", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceNSFileRepoConnector={ className="\\BlueSpice\\NSFileRepoConnector\\Extension", extPath="/BlueSpiceNSFileRepoConnector", }, }, }, BlueSpiceVisualEditorConnector={ PluginModules={ "ext.bluespice.NSFRC.uploadDialogIntegration",}, }, }, ExtensionFunctions={ "NSFileRepoConnectorHooks::setup",}, APIModules={ ["bs-nsfilerepo-connector"]="BSApiNSFileRepoConnector", ["bs-nsfrc-tasks"]="BSApiNSFileRepoConnector", }, Hooks={ BeforePageDisplay="\\BlueSpice\\NSFileRepoConnector\\Hook\\BeforePageDisplay\\AddResources::callback", BSApiExtJSStoreBaseBeforePostProcessData="NSFileRepoConnectorHooks::onBSApiExtJSStoreBaseBeforePostProcessData", BSApiExtJSStoreBaseAfterFilterData="NSFileRepoConnectorHooks::onBSApiExtJSStoreBaseAfterFilterData", WebDAVUrlProviderGetUrl="NSFileRepoConnectorHooks::onWebDAVUrlProviderGetUrl", MakeGlobalVariablesScript="NSFileRepoConnectorHooks::onMakeGlobalVariablesScript", BSUEModulePDFFindFiles="NSFileRepoConnectorHooks::onBSUEModulePDFFindFiles", BSImportFilesMakeTitle="NSFileRepoConnectorHooks::onBSImportFilesMakeTitle", BSExportFilesBeforeSave="NSFileRepoConnectorHooks::onBSExportFilesBeforeSave", BSExtendedSearchSearchOptionsAssembleSearchOptions="NSFRCBSExtendedSearchSearchOptionsAssembleSearchOptions::handle", WebDAVGetFilenameFromUrl="NSFileRepoConnectorHooks::onWebDAVGetFilenameFromUrl", ImgAuthBeforeCheckFileExists="\\BlueSpice\\NSFileRepoConnector\\Hook\\ImgAuthBeforeCheckFileExists\\FixFileNameEncodingForIIS::callback", }, composer="bluespice/nsfilerepoconnector", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceNSFileRepoConnector", }, BlueSpiceNamespaceCSS={ name="BlueSpiceNamespaceCSS", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:NamespaceCss", author={ "Robert Vogel","Tobias Weichart","Patric Wirth",}, descriptionmsg="bs-namespacecss-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceNamespaceCSS={ className="\\BlueSpice\\NamespaceCSS\\Extension", extPath="/BlueSpiceNamespaceCSS", }, }, AdminToolRegistry={ ["bs-namespacecss-manager"]="\\BlueSpice\\NamespaceCSS\\AdminTool", }, }, }, ExtensionMessagesFiles={ BlueSpiceNamespaceCSSManagerAlias="languages/SpecialNamespaceCSSManager.alias.php", }, SpecialPages={ BlueSpiceNamespaceCSSManager="\\BlueSpice\\NamespaceCSS\\Special\\Manager", }, APIModules={ ["bs-namespacecss-store"]="\\BlueSpice\\NamespaceCSS\\Api\\Store\\NamespaceCSS", }, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\NamespaceCSS\\HookHandler\\CommonUserInterface", }, }, Hooks={ BeforePageDisplay="\\BlueSpice\\NamespaceCSS\\Hook\\BeforePageDisplay\\AddResources::callback", LoadExtensionSchemaUpdates="\\BlueSpice\\NamespaceCSS\\Hook\\LoadExtensionSchemaUpdates\\AddMoveToDotPostDatabaseMaintenance::callback", MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", }, config_prefix="bsg", config={ NamespaceCSSExcludeNamespaces={ value={ -2,}, }, }, composer="bluespice/namespacecss", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceNamespaceCSS", }, BlueSpiceNamespaceManager={ name="BlueSpiceNamespaceManager", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:NamespaceManager", author={ "Sebastian Ulbricht","Stefan Widmann","Robert Vogel",}, descriptionmsg="bs-namespacemanager-desc", type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceNamespaceManager={ className="\\BlueSpice\\NamespaceManager\\Extension", extPath="/BlueSpiceNamespaceManager", }, }, AdminToolRegistry={ ["bs-namespace-manager"]="BlueSpice\\NamespaceManager\\AdminTool", }, PermissionRegistry={ ["namespacemanager-viewspecialpage"]={ type="namespace", roles={ "admin","maintenanceadmin","structuremanager",}, }, }, DynamicSettingsRegistry={ NamespaceManager="BlueSpice\\NamespaceManager\\DynamicSettings\\NmSettings::factory", }, }, }, requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, LogTypes={ "bs-namespace-manager",}, FilterLogTypes={ ["bs-namespace-manager"]=true, }, LogActionsHandlers={ ["bs-namespace-manager/*"]="LogFormatter", }, APIModules={ ["bs-namespace-store"]="BSApiNamespaceStore", ["bs-namespace-tasks"]="BSApiNamespaceTasks", }, SpecialPages={ NamespaceManager="SpecialNamespaceManager", }, ExtensionMessagesFiles={ NamespaceManagerAlias="includes/specials/SpecialNamespaceManager.alias.php", }, config_prefix="bsg", config={ NamespaceManagerNsOffset={ value=2999, }, }, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\NamespaceManager\\HookHandler\\CommonUserInterface", }, }, Hooks={ LoadExtensionSchemaUpdates="\\BlueSpice\\NamespaceManager\\Hook\\LoadExtensionSchemaUpdates\\AddRemoveLegacyBackupTablesMaintenanceScript::callback", ["NamespaceManager::editNamespace"]={ "\\BlueSpice\\NamespaceManager\\Hook\\NamespaceManagerEditNamespace\\SetContentFlag::callback","\\BlueSpice\\NamespaceManager\\Hook\\NamespaceManagerEditNamespace\\SetSubPagesFlag::callback",}, ["NamespaceManager::writeNamespaceConfiguration"]={ "\\BlueSpice\\NamespaceManager\\Hook\\NamespaceManagerWriteNamespaceConfiguration\\WriteContentFlag::callback","\\BlueSpice\\NamespaceManager\\Hook\\NamespaceManagerWriteNamespaceConfiguration\\WriteSubPagesFlag::callback",}, BSMigrateSettingsSaveNewSettings="\\BlueSpice\\NamespaceManager\\Hook\\BSMigrateSettingsSaveNewSettings\\WriteConfiguration::callback", MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", }, GroupPermissions={ sysop={ ["namespacemanager-viewspecialpage"]=true, }, }, AvailableRights={ "namespacemanager-viewspecialpage",}, composer="bluespice/namespacemanager", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceNamespaceManager", }, BlueSpicePageAccess={ name="BlueSpicePageAccess", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:PageAccess", author="Marc Reymann", descriptionmsg="bs-pageaccess-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpicePageAccess={ className="\\BlueSpice\\PageAccess\\Extension", extPath="/BlueSpicePageAccess", }, }, TagRegistry={ pageaccess="\\BlueSpice\\PageAccess\\Tag\\PageAccess", }, AlertProviderRegistry={ ["bs-pageaccess-accessstate"]="\\BlueSpice\\PageAccess\\AlertProvider\\AccessState::factory", }, PermissionRegistry={ ["pageaccess-viewspecialpage"]={ type="global", roles={ "admin","maintenanceadmin","structuremanager",}, }, }, PermissionLockdownRegistry={ ["pageaccess-blockactionsontagpageaccess"]="\\BlueSpice\\PageAccess\\Permission\\Lockdown\\Module\\BlockActionsOnTagPageAccess::getInstance", }, }, BlueSpiceVisualEditorConnector={ TagDefinitions={ "ext.bluespice.pageaccess.visualEditorTagDefinition",}, }, ContentDroplets={ Droplets={ ["page-access"]={ class="\\BlueSpice\\PageAccess\\ContentDroplets\\AccessDroplet", }, }, }, }, GroupPermissions={ ["*"]={ ["pageaccess-viewspecialpage"]=false, }, user={ ["pageaccess-viewspecialpage"]=true, }, sysop={ ["pageaccess-viewspecialpage"]=true, }, }, AvailableRights={ "pageaccess-viewspecialpage",}, SpecialPages={ PageAccess="SpecialPageAccess", }, APIModules={ ["bs-pageaccess-store"]="BSApiPageAccessStore", }, LogTypes={ "bs-pageaccess",}, FilterLogTypes={ ["bs-pageaccess"]=true, }, LogActionsHandlers={ ["bs-pageaccess/*"]="LogFormatter", }, ExtensionMessagesFiles={ BlueSpicePageAccessAlias="includes/specials/SpecialPageAccess.alias.php", }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, Hooks={ BSInsertMagicAjaxGetData="\\BlueSpice\\PageAccess\\Hook\\BSInsertMagicAjaxGetData\\AddPageAccessTag::callback", PageContentSave="\\BlueSpice\\PageAccess\\Hook\\PageContentSave\\EditPageAccess::callback", BSUsageTrackerRegisterCollectors="\\BlueSpice\\PageAccess\\Hook\\BSUsageTrackerRegisterCollectors\\AddPageAccessTag::callback", }, config_prefix="bsg", config={ PageAccessBlockableActions={ value={ "read","edit","delete","move",}, }, }, composer="bluespice/pageaccess", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpicePageAccess", }, BlueSpicePageAssignments={ name="BlueSpicePageAssignments", author={ "Robert Vogel","Patric Wirth","Leonid Verhovskij",}, ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:PageAssignments", type="bluespice", version="4.2.0-alpha", descriptionmsg="bs-pageassignments-desc", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpicePageAssignments={ className="\\BlueSpice\\PageAssignments\\Extension", extPath="/BlueSpicePageAssignments", }, }, ConfigDefinitionRegistry={ PageAssignmentsLockdownGroups="\\BlueSpice\\PageAssignments\\ConfigDefinition\\LockdownGroups::getInstance", }, TargetCacheTitleRegistry={ ["pageassignments-everyone-blacklist"]="\\BlueSpice\\TargetCacheHandler", }, AdminToolRegistry={ ["bs-pageassignments-manager"]="BlueSpice\\PageAssignments\\AdminTool", }, PermissionRegistry={ pageassignable={ type="namespace", roles={ "reader","admin","author","editor","maintenanceadmin","reviewer",}, }, pageassignments={ type="namespace", roles={ "admin","maintenanceadmin","reviewer",}, }, }, RendererRegistry={ assignment="\\BlueSpice\\PageAssignments\\Renderer\\Assignment::factory", ["assignment-user"]="\\BlueSpice\\PageAssignments\\Renderer\\User::factory", ["pageheader-assignments"]="\\BlueSpice\\PageAssignments\\Renderer\\PageHeaderAssignments::factory", ["pageheader-assignments-base"]="\\BlueSpice\\PageAssignments\\Renderer\\PageHeaderAssignmentBase::factory", ["pageheader-assignments-user"]="\\BlueSpice\\PageAssignments\\Renderer\\PageHeaderAssignmentUser::factory", }, NotificationRegistrationFunctions={ "\\BlueSpice\\PageAssignments\\Notifications\\Registrator::registerNotifications",}, LessVarsRegistry={ ["bs-pageassignments-icon-specialeveryone-color"]="@bs-color-tertiary", }, PermissionLockdownRegistry={ ["pageassignments-secure"]="\\BlueSpice\\PageAssignments\\Permission\\Lockdown\\Module\\Secure::getInstance", }, PermissionLockdownGroupModuleRegistry={ pageassignments="\\BlueSpice\\PageAssignments\\Permission\\Lockdown\\Module\\Groups\\PageAssignment::getInstance", }, PageHeaderBeforeContentRegistry={ ["pageheader-assignments"]="\\BlueSpice\\PageAssignments\\Renderer\\PageHeaderAssignments::factory", }, }, BlueSpicePageAssignments={ TargetRegistry={ title="\\BlueSpice\\PageAssignments\\TitleTarget", }, TypeRegistry={ group="\\BlueSpice\\PageAssignments\\Assignable\\Group", user="\\BlueSpice\\PageAssignments\\Assignable\\User", specialeveryone="\\BlueSpice\\PageAssignments\\Assignable\\Everyone", }, }, BlueSpicePrivacy={ Handlers={ "\\BlueSpice\\PageAssignments\\Privacy\\Handler",}, }, BlueSpiceSMWConnector={ ExtraPropertyRegistry={ pageassignment="\\BlueSpice\\PageAssignments\\PageAssignmentsPropertyValueProvider::factory", }, }, BlueSpiceExtendedStatistics={ SnapshotProviders={ ["pa-assignedpages"]={ class="\\BlueSpice\\PageAssignments\\Statistics\\SnapshotProvider\\AssignedPages", services={ "DBLoadBalancer",}, }, }, Reports={ ["pa-assignedpages"]={ class="\\BlueSpice\\PageAssignments\\Statistics\\Report\\AssignedPages", }, }, }, }, GroupPermissions={ ["*"]={ pageassignable=false, pageassignments=false, }, user={ pageassignable=true, pageassignments=false, }, sysop={ pageassignable=true, pageassignments=true, }, }, AvailableRights={ "pageassignable","pageassignments",}, DefaultUserOptions={ ["echo-subscriptions-web-bs-pageassignments-action-cat"]=true, ["echo-subscriptions-email-bs-pageassignments-action-cat"]=true, }, SpecialPages={ PageAssignments="SpecialPageAssignments", ManagePageAssignments="SpecialManagePageAssignments", }, LogTypes={ "bs-pageassignments",}, FilterLogTypes={ ["bs-pageassignments"]=true, }, LogActionsHandlers={ ["bs-pageassignments/*"]="LogFormatter", }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, APIModules={ ["bs-pageassignable-store"]="\\BlueSpice\\PageAssignments\\Api\\Store\\Assignable", ["bs-pageassignment-store"]="\\BlueSpice\\PageAssignments\\Api\\Store\\Page", ["bs-mypageassignment-store"]="BSApiMyPageAssignmentStore", ["bs-pageassignment-tasks"]="\\BlueSpice\\PageAssignments\\Api\\Task\\PageAssignments", }, ExtensionMessagesFiles={ PageAssignmentsAlias="languages/PageAssignments.alias.php", }, config_prefix="bsg", config={ PageAssignmentsLockdownGroups={ value={ "user",}, descriptionmsg="bs-pageassignments-pref-lockdowngroups", public=true, }, PageAssignmentsActivatedTypes={ value={ "user","group",}, }, PageAssignmentsUseAdditionalPermissions={ value=false, }, PageAssignmentsSecureEnabledNamespaces={ value={ }, }, PageAssignmentsSecureRemoveRightList={ value={ "edit",}, }, PageAssignmentsTarget={ value="title", }, PageAssignmentsPageHeaderLimit={ value=3, }, }, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\PageAssignments\\HookHandler\\CommonUserInterface", }, ["discovery-skin"]={ class="\\BlueSpice\\PageAssignments\\HookHandler\\DiscoverySkin", }, ["standard-dialogs"]={ class="\\BlueSpice\\PageAssignments\\HookHandler\\StandardDialogs", }, addMyPageAssignments={ class="\\BlueSpice\\PageAssignments\\HookHandler\\SkinTemplateNavigation\\AddMyPageAssignments", }, addPageAssignmentsEntry={ class="\\BlueSpice\\PageAssignments\\HookHandler\\SkinTemplateNavigation\\AddPageAssignmentsEntry", }, }, Hooks={ LoadExtensionSchemaUpdates={ "\\BlueSpice\\PageAssignments\\Hook\\LoadExtensionSchemaUpdates\\AddPageAssignmentsTable::callback","\\BlueSpice\\PageAssignments\\Hook\\LoadExtensionSchemaUpdates\\AddMigrateRespEditorsUpdateMaintenance::callback",}, ["SkinTemplateNavigation::Universal"]={ "addMyPageAssignments","addPageAssignmentsEntry",}, BeforePageDisplay={ "\\BlueSpice\\PageAssignments\\Hook\\BeforePageDisplay\\AddResources::callback","\\BlueSpice\\PageAssignments\\Hook\\BeforePageDisplay\\AddWikiExplorerResources::callback","\\BlueSpice\\PageAssignments\\Hook\\BeforePageDisplay\\FetchPageAssignments::callback",}, ChameleonSkinTemplateOutputPageBeforeExec={ "\\BlueSpice\\PageAssignments\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddFlyout::callback",}, PageMoveComplete="\\BlueSpice\\PageAssignments\\Hook\\PageMoveComplete\\MoveAssignments::callback", ArticleDeleteComplete={ "PageAssignmentsHooks::onArticleDeleteComplete",}, BSUserManagerAfterSetGroups="\\BlueSpice\\PageAssignments\\Hook\\BSUserManagerAfterSetGroups\\NotifyUsers::callback", BSBookshelfBookManager="PageAssignmentsBookmakerHooks::onBSBookshelfBookManager", BSBookshelfManagerGetBookDataRow="PageAssignmentsBookmakerHooks::onBSBookshelfManagerGetBookDataRow", BSUEModulePDFcollectMetaData="PageAssignmentsBookmakerHooks::onBSUEModulePDFcollectMetaData", ["WikiExplorer::getFieldDefinitions"]="PageAssignmentsWikiExplorerHooks::onWikiExplorerGetFieldDefinitions", ["WikiExplorer::getColumnDefinitions"]="PageAssignmentsWikiExplorerHooks::onWikiExplorerGetColumnDefinitions", ["WikiExplorer::queryPagesWithFilter"]="PageAssignmentsWikiExplorerHooks::onWikiExplorerQueryPagesWithFilter", ["WikiExplorer::buildDataSets"]="PageAssignmentsWikiExplorerHooks::onWikiExplorerBuildDataSets", BSDashboardsUserDashboardPortalConfig="PageAssignmentsDashboardHooks::onBSDashboardsUserDashboardPortalConfig", BSDashboardsUserDashboardPortalPortlets="PageAssignmentsDashboardHooks::onBSDashboardsUserDashboardPortalPortlets", BSUsageTrackerRegisterCollectors="\\BlueSpice\\PageAssignments\\Hook\\BSUsageTrackerRegisterCollectors\\AddPageAssignmentsPagesTag::callback", BSUserManagerAfterDeleteUser="PageAssignmentsHooks::onBSUserManagerAfterDeleteUser", BSGroupManagerGroupNameChanged="PageAssignmentsHooks::onBSGroupManagerGroupNameChanged", BSGroupManagerGroupDeleted="PageAssignmentsHooks::onBSGroupManagerGroupDeleted", ["NamespaceManager::getMetaFields"]="\\BlueSpice\\PageAssignments\\Hook\\NamespaceManagerGetMetaFields\\RegisterMetaFields::callback", BSApiNamespaceStoreMakeData="\\BlueSpice\\PageAssignments\\Hook\\BSApiNamespaceStoreMakeData\\AddData::callback", ["NamespaceManager::editNamespace"]="\\BlueSpice\\PageAssignments\\Hook\\NamespaceManagerEditNamespace\\SetValues::callback", ["NamespaceManager::writeNamespaceConfiguration"]="\\BlueSpice\\PageAssignments\\Hook\\NamespaceManagerWriteNamespaceConfiguration\\WriteToConfiguration::callback", MergeAccountFromTo="\\BlueSpice\\PageAssignments\\Hook\\MergeAccountFromTo\\MergePageAssignmentsDBFields::callback", EchoGetDefaultNotifiedUsers="\\BlueSpice\\PageAssignments\\Notifications\\Registrator::onEchoGetDefaultNotifiedUsers", MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", BlueSpiceDiscoveryTemplateDataProviderAfterInit="discovery-skin", StandardDialogsRegisterPageInfoPanelModules="standard-dialogs", }, composer="bluespice/pageassignments", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpicePageAssignments", }, BlueSpicePageFormsConnector={ name="BlueSpicePageFormsConnector", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:BlueSpicePageFormsConnector", author="Dejan Savuljesku", descriptionmsg="bs-pageformsconnector-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", PageForms="~5", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpicePageFormsConnector={ className="\\BlueSpice\\PageFormsConnector\\Extension", extPath="/BlueSpicePageFormsConnector", }, }, }, BlueSpiceSaferEdit={ EnvironmentCheckers={ formedit="\\BlueSpice\\PageFormsConnector\\SaferEdit\\EnvironmentChecker\\FormEdit::factory", }, }, }, Hooks={ BeforePageDisplay="\\BlueSpice\\PageFormsConnector\\Hook\\BeforePageDisplay\\AddModuleStyles::callback", }, composer="bluespice/pageformsconnector", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpicePageFormsConnector", }, BlueSpicePageTemplates={ name="BlueSpicePageTemplates", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:PageTemplates", author={ "Markus Glaser","Stephan Muggli",}, descriptionmsg="bs-pagetemplates-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpicePageTemplates={ className="\\BlueSpice\\PageTemplates\\Extension", extPath="/BlueSpicePageTemplates", }, }, ConfigDefinitionRegistry={ PageTemplatesForceNamespace="\\BlueSpice\\PageTemplates\\ConfigDefinition\\PageTemplatesForceNamespace::getInstance", PageTemplatesHideDefaults="\\BlueSpice\\PageTemplates\\ConfigDefinition\\PageTemplatesHideDefaults::getInstance", PageTemplatesHideIfNotInTargetNs="\\BlueSpice\\PageTemplates\\ConfigDefinition\\PageTemplatesHideIfNotInTargetNs::getInstance", }, TagRegistry={ pagetemplates="\\BlueSpice\\PageTemplates\\Tag\\PageTemplates", }, AdminToolRegistry={ ["bs-pagetemplates"]="BlueSpice\\PageTemplates\\AdminTool", }, PermissionRegistry={ ["pagetemplatesadmin-viewspecialpage"]={ type="global", roles={ "admin","maintenanceadmin","structuremanager",}, }, }, }, MWStakeContentProvisioner={ ContentManifests={ DefaultContentProvisioner={ "extensions/BlueSpicePageTemplates/data/Content/PageTemplates/manifest.json",}, DefaultPageTemplates={ "extensions/BlueSpicePageTemplates/data/Content/PageTemplates/manifest.json",}, }, ContentProvisioners={ DefaultPageTemplates={ class="\\BlueSpice\\PageTemplates\\ContentProvisioner\\PageTemplatesProvisioner", args={ "DefaultPageTemplates",}, services={ "ContentLanguage","LanguageFallback","TitleFactory","DBLoadBalancer",}, }, }, }, }, GroupPermissions={ ["*"]={ ["pagetemplatesadmin-viewspecialpage"]=false, }, user={ ["pagetemplatesadmin-viewspecialpage"]=false, }, sysop={ ["pagetemplatesadmin-viewspecialpage"]=true, }, }, AvailableRights={ "pagetemplatesadmin-viewspecialpage",}, APIModules={ ["bs-pagetemplates-store"]="BSApiPageTemplatesStore", ["bs-pagetemplates-tasks"]="BSApiPageTemplatesTasks", }, ExtensionMessagesFiles={ PageTemplatesAdminAlias="includes/specials/SpecialPageTemplatesAdmin.alias.php", }, config_prefix="bsg", config={ PageTemplatesExcludeNs={ value={ -2,-1,6,7,8,9,10,11,14,15,}, }, PageTemplatesForceNamespace={ value=false, descriptionmsg="bs-pagetemplates-pref-forcenamespace", public=true, }, PageTemplatesHideIfNotInTargetNs={ value=true, descriptionmsg="bs-pagetemplates-pref-hideifnotintargetns", public=true, }, PageTemplatesHideDefaults={ value=false, descriptionmsg="bs-pagetemplates-pref-hidedefaults", public=true, }, }, SpecialPages={ PageTemplatesAdmin="SpecialPageTemplatesAdmin", }, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\PageTemplates\\HookHandler\\CommonUserInterface", }, }, Hooks={ BeforePageDisplay={ "common-user-interface",}, BSUEModulePDFBeforeAddingStyleBlocks="\\BlueSpice\\PageTemplates\\Hook\\BSUEModulePDFBeforeAddingStyleBlocks\\AddStandardTemplatesStyles::callback", LoadExtensionSchemaUpdates={ "\\BlueSpice\\PageTemplates\\Hook\\LoadExtensionSchemaUpdates\\AddPageTemplateTable::callback",}, BSUsageTrackerRegisterCollectors="\\BlueSpice\\PageTemplates\\Hook\\BSUsageTrackerRegisterCollectors\\AddPageTemplatesTag::callback", ["NamespaceManager::getMetaFields"]="BlueSpice\\PageTemplates\\Hook\\NamespaceManagerGetMetaFields\\RegisterMetaField::callback", BSApiNamespaceStoreMakeData="BlueSpice\\PageTemplates\\Hook\\BSApiNamespaceStoreMakeData\\AddData::callback", ["NamespaceManager::editNamespace"]="BlueSpice\\PageTemplates\\Hook\\NamespaceManagerEditNamespace\\SetPageTemplateValues::callback", ["NamespaceManager::writeNamespaceConfiguration"]={ "BlueSpice\\PageTemplates\\Hook\\NamespaceManagerWriteNamespaceConfiguration\\WriteToConfiguration::callback",}, HtmlPageLinkRendererBegin="\\BlueSpice\\PageTemplates\\Extension::onHtmlPageLinkRendererBegin", MessagesPreLoad="\\BlueSpice\\PageTemplates\\Extension::onMessagesPreLoad", MediaWikiPerformAction="\\BlueSpice\\PageTemplates\\Hook\\MediaWikiPerformAction\\PreventEditMode::callback", MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", ["SkinTemplateNavigation::Universal"]="\\BlueSpice\\PageTemplates\\Hook\\SkinTemplateNavigationUniversal\\AddPreloadForActions::callback", }, composer="bluespice/pagetemplates", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpicePageTemplates", }, BlueSpicePageVersion={ name="BlueSpicePageVersion", version="2.27.1-alpha", ["license-name"]="GPL-2.0-or-later", author={ "Hallo Welt! GmbH",}, url="https://bluespice.com", descriptionmsg="bs-pageversion-desc", type="variable", requires={ MediaWiki=">= 1.31.0", }, ExtensionFunctions={ "BS\\PageVersion\\Setup::init",}, ExtensionMessagesFiles={ BlueSpicePageVersionMagic="BlueSpicePageVersion.i18n.magic.php", }, composer="mediawiki/blue-spice-page-version", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpicePageVersion", }, BlueSpicePagesVisited={ name="BlueSpicePagesVisited", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:PagesVisited", author={ "Robert Vogel","Stephan Muggli","Dejan Savuljesku",}, descriptionmsg="bs-pagesvisited-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpiceWhoIsOnline=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpicePagesVisited={ className="\\BlueSpice\\PagesVisited\\Extension", extPath="/BlueSpicePagesVisited", }, }, TagRegistry={ pagesvisited="\\BlueSpice\\PagesVisited\\Tag\\PagesVisited", }, RendererRegistry={ ["pagesvisited-pagelist"]="\\BlueSpice\\PagesVisited\\Renderer\\PageList::factory", }, }, BlueSpiceVisualEditorConnector={ TagDefinitions={ "ext.bluespice.pagesvisited.visualEditorTagDefinition",}, }, BlueSpiceUserSidebar={ Widgets={ PAGESVISITED={ callback="\\BlueSpice\\PagesVisited\\Panel\\PagesVisited::factory", default=true, }, }, WidgetRegistry={ PAGESVISITED="\\BlueSpice\\PagesVisited\\UserSidebar\\Widget\\PagesVisited::factory", }, }, ContentDroplets={ Droplets={ ["pages-visited"]={ class="\\BlueSpice\\PagesVisited\\ContentDroplets\\VisitedDroplet", }, }, }, }, Hooks={ BSUsageTrackerRegisterCollectors="\\BlueSpice\\PagesVisited\\Extension::onBSUsageTrackerRegisterCollectors", BSInsertMagicAjaxGetData="\\BlueSpice\\PagesVisited\\Hook\\BSInsertMagicAjaxGetData\\AddPagesVisited::callback", }, composer="bluespice/pagesvisited", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpicePagesVisited", }, BlueSpicePermissionManager={ name="BlueSpicePermissionManager", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:PermissionManager", author="Dejan Savuljesku ", descriptionmsg="bs-permissionmanager-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpicePermissionManager={ className="BlueSpice\\PermissionManager\\Extension", extPath="/BlueSpicePermissionManager", }, }, ConfigDefinitionRegistry={ PermissionManagerMaxBackups="\\BlueSpice\\PermissionManager\\ConfigDefinition\\PermissionManagerMaxBackups::getInstance", PermissionManagerActivePreset="\\BlueSpice\\PermissionManager\\ConfigDefinition\\PermissionManagerActivePresetConfig::getInstance", }, AdminToolRegistry={ ["bs-permission-manager"]="BlueSpice\\PermissionManager\\AdminTool", }, PermissionRegistry={ ["permissionmanager-viewspecialpage"]={ type="namespace", roles={ "admin","maintenanceadmin",}, }, }, DynamicSettingsRegistry={ PermissionManager="BlueSpice\\PermissionManager\\DynamicSettings\\PmSettings::factory", }, }, BlueSpicePermissionManager={ PermissionPresets={ public="BlueSpice\\PermissionManager\\Preset\\PublicWiki::factory", protected="BlueSpice\\PermissionManager\\Preset\\ProtectedWiki::factory", private="BlueSpice\\PermissionManager\\Preset\\PrivateWiki::factory", custom="BlueSpice\\PermissionManager\\Preset\\CustomPreset::factory", }, }, }, AvailableRights={ "permissionmanager-viewspecialpage",}, GroupPermissions={ ["*"]={ ["permissionmanager-viewspecialpage"]=false, }, user={ ["permissionmanager-viewspecialpage"]=false, }, bureaucrat={ ["permissionmanager-viewspecialpage"]=false, }, sysop={ ["permissionmanager-viewspecialpage"]=true, }, }, APIModules={ ["bs-permissionmanager-tasks"]="BlueSpice\\PermissionManager\\Api\\ApiPermissionManager", ["bs-role-permission-store"]="BlueSpice\\PermissionManager\\Api\\RolePermissionsStore", }, LogTypes={ "bs-permission-manager",}, FilterLogTypes={ ["bs-permission-manager"]=true, }, LogActionsHandlers={ ["bs-permission-manager/*"]="LogFormatter", }, SpecialPages={ PermissionManager="BlueSpice\\PermissionManager\\Special\\SpecialPermissionManager", }, ExtensionMessagesFiles={ PermissionManagerAlias="PermissionManager.alias.php", }, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\PermissionManager\\HookHandler\\CommonUserInterface", }, }, Hooks={ BSGroupManagerGroupDeleted="\\BlueSpice\\PermissionManager\\Hook\\BSGroupManagerGroupDeleted\\UnassignRoles::callback", BSGroupManagerGroupNameChanged={ "\\BlueSpice\\PermissionManager\\Hook\\BSGroupManagerGroupNameChanged\\ChangeGroupRoleAssignments::callback",}, LoadExtensionSchemaUpdates={ "\\BlueSpice\\PermissionManager\\Hook\\LoadExtensionSchemaUpdates\\RemoveNonIncludableNamespaces::callback",}, MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", }, ServiceWiringFiles={ "ServiceWiring.php",}, config_prefix="bsg", config={ PermissionManagerMaxBackups={ value=50, descriptionmsg="bs-permissionmanager-pref-max-backups", public=true, }, PermissionManagerActivePreset={ value="custom", }, PermissionManagerAllowedPresets={ value={ "public","protected","private","custom",}, }, }, callback="BlueSpice\\PermissionManager\\Extension::onCallback", composer="bluespice/permissionmanager", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpicePermissionManager", }, BlueSpicePlayer={ name="BlueSpicePlayer", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:Player", author={ "Tobias Weichart","Markus Glaser",}, descriptionmsg="bs-player-extension-description", type="bluespice", requires={ MediaWiki=">= 1.31.0", }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpicePlayer={ className="\\BlueSpice\\Player\\Extension", extPath="/BlueSpicePlayer", package="BlueSpice Pro", }, }, TagRegistry={ showtime="BlueSpice\\Player\\Tag\\ShowTime", }, }, }, DefaultUserOptions={ ["bs-showtime-pref-autostart"]=false, }, config_prefix="bsg", config={ ShowtimePrefWidth={ value=320, descriptionmsg="bs-player-config-prefwidth", }, ShowtimePrefHeight={ value=240, descriptionmsg="bs-player-config-prefheight", }, }, Hooks={ BSInsertMagicAjaxGetData="\\BlueSpice\\Player\\Hook\\BSInsertMagicAjaxGetData\\AddDescription::callback", GetPreferences="\\BlueSpice\\Player\\Hook\\GetPreferences\\Autostart::callback", }, composer="bluespice/player", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpicePlayer", }, BlueSpicePrivacy={ name="BlueSpicePrivacy", author={ "Dejan Savuljesku ",}, ["license-name"]="GPL-3.0-only", descriptionmsg="bs-privacy-desc", url="https://en.wiki.bluespice.com/wiki/Reference:BlueSpicePrivacy", type="bluespice", version="4.2.0-alpha", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpicePrivacy={ className="\\BlueSpice\\Privacy\\Extension", extPath="/BlueSpicePrivacy", }, }, PermissionRegistry={ ["bs-privacy-admin"]={ type="global", roles={ "admin","accountmanager",}, }, }, NotificationRegistrationFunctions={ "\\BlueSpice\\Privacy\\Notifications\\Registrator::registerNotifications",}, AdminToolRegistry={ ["bs-privacy-admin"]="BlueSpice\\Privacy\\AdminTool", }, }, BlueSpicePrivacy={ Modules={ anonymization={ class="\\BlueSpice\\Privacy\\Module\\Anonymization", }, deletion={ class="\\BlueSpice\\Privacy\\Module\\Deletion", }, transparency={ class="\\BlueSpice\\Privacy\\Module\\Transparency", }, consent={ class="\\BlueSpice\\Privacy\\Module\\Consent", }, }, Handlers={ "\\BlueSpice\\Privacy\\Handler\\Anonymize","\\BlueSpice\\Privacy\\Handler\\Delete","\\BlueSpice\\Privacy\\Handler\\ExportData",}, CookieConsentProviders={ ["native-mw"]="\\BlueSpice\\Privacy\\CookieConsentProvider\\NativeMW::factory", onetrust="\\BlueSpice\\Privacy\\CookieConsentProvider\\OneTrust::factory", }, CookieConsentNativeMWCookieGroups={ necessary={ label="bs-privacy-cookie-consent-group-necessary-label", desc="bs-privacy-cookie-consent-group-necessary-desc", type="always-on", }, convenience={ label="bs-privacy-cookie-convenience-group-label", desc="bs-privacy-cookie-convenience-group-desc", type="opt-in", }, }, CookieConsentNativeMWCookies={ ["_session"]={ group="necessary", addPrefix=true, }, ["mwuser-sessionId"]={ group="necessary", addPrefix=true, }, UserID={ group="necessary", addPrefix=true, }, UserName={ group="necessary", addPrefix=true, }, VEE={ group="convenience", addPrefix=false, }, UseDC={ group="necessary", addPrefix=false, }, UseCDNCache={ group="necessary", addPrefix=false, }, forceHTTPS={ group="necessary", addPrefix=false, }, }, }, }, AvailableRights={ "bs-privacy-admin",}, APIModules={ ["bs-privacy"]="\\BlueSpice\\Privacy\\Api\\PrivacyApi", ["bs-privacy-get-requests"]="\\BlueSpice\\Privacy\\Api\\GetRequests", ["bs-privacy-get-all-consents"]="\\BlueSpice\\Privacy\\Api\\GetAllConsents", }, ExtensionMessagesFiles={ BlueSpicePrivacyAliases="languages/BlueSpicePrivacy.alias.php", }, SpecialPages={ PrivacyCenter="\\BlueSpice\\Privacy\\Special\\PrivacyCenter", PrivacyAdmin="\\BlueSpice\\Privacy\\Special\\PrivacyAdmin", PrivacyConsent="\\BlueSpice\\Privacy\\Special\\PrivacyConsent", }, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\Privacy\\HookHandler\\CommonUserInterface", }, addPrivacyUrls={ class="\\BlueSpice\\Privacy\\HookHandler\\AddPrivacyUrls", }, }, Hooks={ ["SkinTemplateNavigation::Universal"]="addPrivacyUrls", LoadExtensionSchemaUpdates={ "\\BlueSpice\\Privacy\\Hook\\LoadExtensionSchemaUpdates\\AddPrivacyRequestTable::callback",}, GetPreferences={ "\\BlueSpice\\Privacy\\Hook\\GetPreferences\\AddConsentPrefs::callback",}, BeforePageDisplay={ "\\BlueSpice\\Privacy\\Hook\\BeforePageDisplay\\AddCookieConsent::callback",}, WebResponseSetCookie="\\BlueSpice\\Privacy\\Hook\\WebResponseSetCookie\\BlockCookie::callback", ChameleonSkinTemplateOutputPageBeforeExec="\\BlueSpice\\Privacy\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddCookieConsentFooterLink::callback", OutputPageParserOutput="\\BlueSpice\\Privacy\\Hook\\OutputPageParserOutput\\RedirectToConsent::callback", SpecialPageBeforeExecute="\\BlueSpice\\Privacy\\Hook\\SpecialPageBeforeExecute\\RedirectToConsent::callback", MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", }, callback="\\BlueSpice\\Privacy\\Extension::onCallback", config_prefix="bsg", config={ PrivacyEnableRequests={ value=true, }, PrivacyDeleteUsername={ value="DeletedUser", }, PrivacyRequestDeadline={ value=30, }, PrivacyConsentTypes={ value={ ["privacy-policy"]="bs-privacy-prefs-consent-privacy-policy", ["terms-of-service"]="bs-privacy-prefs-consent-tos", }, }, PrivacyCookieConsentProvider={ value="native-mw", description="Cookie consent provider to be used. One of the keys of BlueSpicePrivacyCookieConsentProviders attribute. Can be a provider key or an array containing the \"name\" and \"config\" properties", }, PrivacyCookieAcceptMandatory={ value=true, description="If true, will grey-out the screen and prevent user from doing anything until cookies are accepted", }, PrivacyPrivacyPolicyMandatory={ value=false, description="If true, user will be forced to consent to privacy policy and terms of service before accessing any other page", }, PrivacyPrivacyPolicyOnLogin={ value=true, description="If true, accepting of privacy policy will be included in the login process", }, }, LogTypes={ "bs-privacy",}, LogNames={ ["bs-privacy"]="bs-privacy", }, LogHeaders={ ["bs-privacy"]="bs-privacy-header", }, LogActionsHandlers={ ["bs-privacy/*"]="LogFormatter", }, composer="bluespice/privacy", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpicePrivacy", }, BlueSpiceProDistributionConnector={ name="BlueSpiceProDistributionConnector", version="4.1.0-RC2", ["license-name"]="GPL-3.0-only", author={ "Hallo Welt! GmbH",}, url="https://en.wiki.bluespice.com/wiki/Reference:BlueSpiceProDistributionConnector", descriptionmsg="bs-prodistributionconnector-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ MWStakeContentProvisioner={ ContentManifests={ DefaultContentProvisioner={ "extensions/BlueSpiceProDistributionConnector/data/Content/PageTemplates/manifest.json",}, DefaultPageTemplates={ "extensions/BlueSpiceProDistributionConnector/data/Content/PageTemplates/manifest.json",}, }, }, ContentDroplets={ Droplets={ ["math-form"]={ class="\\BlueSpice\\ProDistributionConnector\\ContentDroplets\\MathFormDroplet", }, ["chem-form"]={ class="\\BlueSpice\\ProDistributionConnector\\ContentDroplets\\ChemFormDroplet", }, }, }, }, HookHandlers={ ["pdfexport-convert-math-svg-to-png"]={ factory="BlueSpice\\ProDistributionConnector\\HookHandler\\PdfExportConvertMathSVGtoPNG::factory", services={ "MediaHandlerFactory",}, }, }, Hooks={ BSUEModulePDFFindFiles="pdfexport-convert-math-svg-to-png", BSUsageTrackerRegisterCollectors="BlueSpice\\ProDistributionConnector\\Hook\\BSUsageTrackerRegisterCollectors\\NumberOfNamespaces::callback", }, composer="bluespice/prodistributionconnector", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceProDistributionConnector", }, BlueSpiceQrCode={ name="BlueSpiceQrCode", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", author={ "Josef Konrad",}, descriptionmsg="bs-qr-code-extension-description", url="https://en.wiki.bluespice.com/wiki/Reference:QrCode", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceQrCode={ className="\\BlueSpice\\QrCode\\Extension", extPath="/BlueSpiceQrCode", package="BlueSpice Pro", }, }, }, }, HookHandlers={ skin={ class="\\BlueSpice\\QrCode\\HookHandler\\Skin", }, ["discovery-skin"]={ class="\\BlueSpice\\QrCode\\HookHandler\\BlueSpiceDiscovery", }, }, Hooks={ ChameleonSkinTemplateOutputPageBeforeExec={ "\\BlueSpice\\QrCode\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddQrCode::callback",}, BeforePageDisplay={ "\\BlueSpice\\QrCode\\Hook\\BeforePageDisplay\\AddRessources::callback",}, ["SkinTemplateNavigation::Universal"]={ "skin",}, BlueSpiceDiscoveryTemplateDataProviderAfterInit={ "discovery-skin",}, }, APIModules={ ["bs-qr-code"]="\\BlueSpice\\QrCode\\Api\\QrCodeApi", }, composer="bluespice/qrcode", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceQrCode", }, BlueSpiceRSSFeeder={ name="BlueSpiceRSSFeeder", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:RSSFeeder", author="Sebastian Ulbricht", descriptionmsg="bs-rssfeeder-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceRSSFeeder={ className="\\BlueSpice\\RSSFeeder\\Extension", extPath="/BlueSpiceRSSFeeder", }, }, ConfigDefinitionRegistry={ RSSUrlWhitelist="BlueSpice\\RSSFeeder\\ConfigDefinition\\URLWhitelist::getInstance", RSSUrlNumberOfAllowedRedirects="BlueSpice\\RSSFeeder\\ConfigDefinition\\MaxRedirects::getInstance", }, }, BlueSpiceRSSFeeder={ Feeds={ recentchanges="BlueSpice\\RSSFeeder\\RSSFeed\\RecentChanges::factory", followOwn="BlueSpice\\RSSFeeder\\RSSFeed\\FollowOwn::factory", followPage="BlueSpice\\RSSFeeder\\RSSFeed\\FollowPage::factory", namespace="BlueSpice\\RSSFeeder\\RSSFeed\\NamespaceFeed::factory", category="BlueSpice\\RSSFeeder\\RSSFeed\\Category::factory", watchlist="BlueSpice\\RSSFeeder\\RSSFeed\\Watchlist::factory", }, }, }, SpecialPages={ RSSFeeder="SpecialRSSFeeder", }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, APIModules={ ["bs-rssfeeder-tasks"]="BSApiTasksRSSFeeder", ["bs-rss-standards-pages-store"]="ApiRSSStandardsPagesStore", }, ExtensionMessagesFiles={ BlueSpiceRSSFeederAlias="languages/SpecialRSSFeeder.alias.php", }, config_prefix="bsg", config={ RSSUrlNumberOfAllowedRedirects={ value=0, }, RSSUrlWhitelist={ value={ }, }, }, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\RSSFeeder\\HookHandler\\CommonUserInterface", }, }, Hooks={ TitleReadWhitelist="\\BlueSpice\\RSSFeeder\\Hook\\TitleReadWhitelist\\AddRSSFeeder::callback", ChameleonSkinTemplateOutputPageBeforeExec={ "\\BlueSpice\\RSSFeeder\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddToGlobalActions::callback",}, BSDashboardsAdminDashboardPortalPortlets="\\BlueSpice\\RSSFeeder\\Hook\\BSDashboardsAdminDashboardPortalPortlets\\AddPortlets::callback", BSDashboardsAdminDashboardPortalConfig="\\BlueSpice\\RSSFeeder\\Hook\\BSDashboardsAdminDashboardPortalConfig\\AddConfigs::callback", BSDashboardsUserDashboardPortalPortlets="\\BlueSpice\\RSSFeeder\\Hook\\BSDashboardsUserDashboardPortalPortlets\\AddPortlets::callback", BSDashboardsUserDashboardPortalConfig="\\BlueSpice\\RSSFeeder\\Hook\\BSDashboardsUserDashboardPortalConfig\\AddConfigs::callback", MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", }, composer="bluespice/rssfeeder", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceRSSFeeder", }, BlueSpiceRating={ name="BlueSpiceRating", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:Rating", author="Patric Wirth", descriptionmsg="bs-rating-extension-description", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceRating={ className="\\BlueSpice\\Rating\\Extension", extPath="/BlueSpiceRating", package="BlueSpice Pro", }, }, PermissionRegistry={ ["rating-archive"]={ type="namespace", roles={ "admin","editor","maintenanceadmin",}, }, ["rating-read"]={ type="namespace", roles={ "admin","commenter","editor","maintenanceadmin","reader",}, }, ["rating-viewspecialpage"]={ type="global", roles={ "admin","editor","maintenanceadmin","reader",}, }, ["rating-write"]={ type="namespace", roles={ "author","commenter","editor","maintenanceadmin",}, }, }, }, BlueSpiceRating={ RatingRegistry={ article="\\BlueSpice\\Rating\\RatingConfig\\Article", articlelike="\\BlueSpice\\Rating\\RatingConfig\\ArticleLike", }, }, BlueSpicePrivacy={ Handlers={ "\\BlueSpice\\Rating\\Privacy\\Handler",}, }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, SpecialPages={ Rating="\\BlueSpice\\Rating\\Special\\Rating", Recommendations="\\BlueSpice\\Rating\\Special\\Recommendations", }, APIModules={ ["bs-rating-tasks"]="\\BlueSpice\\Rating\\Api\\Task\\Rating", ["bs-ratingarticle-store"]="\\BlueSpice\\Rating\\Api\\Store\\Article", ["bs-ratingarticlelike-store"]="\\BlueSpice\\Rating\\Api\\Store\\ArticleLike", }, ExtensionMessagesFiles={ BlueSpiceRatingMagic="languages/Rating.i18n.magic.php", BlueSpiceRatingSpecialRatingAlias="languages/SpecialRating.alias.php", BlueSpiceRatingSpecialRecommendationsAlias="languages/SpecialRecommendations.alias.php", }, AvailableRights={ "rating-read","rating-write","rating-archive","rating-viewspecialpage",}, GroupPermissions={ ["*"]={ ["rating-read"]=true, ["rating-write"]=false, ["rating-archive"]=false, ["rating-viewspecialpage"]=false, }, user={ ["rating-read"]=true, ["rating-write"]=true, ["rating-archive"]=false, ["rating-viewspecialpage"]=true, }, sysop={ ["rating-read"]=true, ["rating-write"]=true, ["rating-archive"]=true, ["rating-viewspecialpage"]=true, }, }, config_prefix="bsg", config={ RatingArticleEnabledNamespaces={ value={ }, }, RatingArticleLikeEnabledNamespaces={ value={ }, }, }, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\Rating\\HookHandler\\CommonUserInterface", }, }, Hooks={ LoadExtensionSchemaUpdates={ "\\BlueSpice\\Rating\\Hook\\LoadExtensionSchemaUpdates\\AddRatingDatabase::callback","\\BlueSpice\\Rating\\Hook\\LoadExtensionSchemaUpdates\\AddRatingRemoveArchivedMaintenanceScript::callback","\\BlueSpice\\Rating\\Hook\\LoadExtensionSchemaUpdates\\AddRatingSetDefaultSubTypeMaintenanceScript::callback","\\BlueSpice\\Rating\\Hook\\LoadExtensionSchemaUpdates\\AddBSRatingRemoveDuplicateEntriesMaintenanceScript::callback","\\BlueSpice\\Rating\\Hook\\LoadExtensionSchemaUpdates\\AddRatingMigrateRatedCommentsScript::callback","\\BlueSpice\\Rating\\Hook\\LoadExtensionSchemaUpdates\\AddMigrateSettingsFromDBMaintenanceScript::callback",}, BeforePageDisplay="\\BlueSpice\\Rating\\Hook\\BeforePageDisplay\\AddResources::callback", ChameleonSkinTemplateOutputPageBeforeExec={ "\\BlueSpice\\Rating\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddArticleRating::callback","\\BlueSpice\\Rating\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddArticleLikeRating::callback","\\BlueSpice\\Rating\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddRating::callback","\\BlueSpice\\Rating\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddRecommendationsGlobalAction::callback",}, BSMigrateSettingsFromDeviatingNames="\\BlueSpice\\Rating\\Extension::onBSMigrateSettingsFromDeviatingNames", ["NamespaceManager::getMetaFields"]="BlueSpice\\Rating\\Hook\\NamespaceManagerGetMetaFields\\RegisterMetaFields::callback", BSApiNamespaceStoreMakeData="BlueSpice\\Rating\\Hook\\BSApiNamespaceStoreMakeData\\AddData::callback", ["NamespaceManager::editNamespace"]="BlueSpice\\Rating\\Hook\\NamespaceManagerEditNamespace\\SetRatingValues::callback", ["NamespaceManager::writeNamespaceConfiguration"]={ "BlueSpice\\Rating\\Hook\\NamespaceManagerWriteNamespaceConfiguration\\WriteToConfiguration::callback",}, GetDoubleUnderscoreIDs="\\BlueSpice\\Rating\\Hook\\GetDoubleUnderscoreIDs\\AddNoRating::callback", BSMigrateSettingsSetNewSettings="\\BlueSpice\\Rating\\Hook\\BSMigrateSettingsSetNewSettings\\SetGlobals::callback", UserMergeAccountFields="\\BlueSpice\\Rating\\Hook\\UserMergeAccountFields\\MergeRatingDBFields::callback", MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", }, composer="bluespice/rating", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceRating", }, BlueSpiceReadConfirmation={ name="BlueSpiceReadConfirmation", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", author={ "Robert Vogel","Leonid Verhovskij",}, url="https://en.wiki.bluespice.com/wiki/Reference:ReadConfirmation", descriptionmsg="bs-readconfirmation-desc", type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceReadConfirmation={ className="\\BlueSpice\\ReadConfirmation\\Extension", extPath="/BlueSpiceReadConfirmation", package="BlueSpice Pro", }, }, PermissionRegistry={ readconfirmationremind={ type="global", roles={ "admin","maintenanceadmin",}, }, }, NotificationRegistrationFunctions={ "\\BlueSpice\\ReadConfirmation\\Notifications\\Registrator::registerNotifications",}, RunJobsTriggerHandlerRegistry={ ["bs-readconfirmation-autonotifier"]="BlueSpice\\ReadConfirmation\\RunJobsTriggerHandler\\AutomaticReadConfirmationNotifier::factory", }, }, BlueSpicePrivacy={ Handlers={ "\\BlueSpice\\ReadConfirmation\\Privacy\\Handler",}, }, BlueSpiceDiscovery={ AttentionIndicatorRegistry={ readconfirmation="\\BlueSpice\\ReadConfirmation\\AttentionIndicator\\ReadConfirmation::factory", }, }, UnifiedTaskOverview={ AttentionIndicatorCollectionRegistry={ "readconfirmation",}, }, }, requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpicePageAssignments=">= 4.1", }, }, ExtensionFunctions={ "BlueSpice\\ReadConfirmation\\TriggerRegistration::addNotificationTrigger",}, APIModules={ ["bs-readconfirmation-tasks"]="BSApiReadConfirmationTasks", }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, Hooks={ BSApiExtJSStoreBaseBeforePostProcessData="ReadConfirmationPageAssignmentHooks::onBSApiExtJSStoreBaseBeforePostProcessData", BSPageStoreDataProviderBeforeAppendRow="ReadConfirmationPageAssignmentHooks::onBSPageStoreDataProviderBeforeAppendRow", BSPageAssignmentsManager="ReadConfirmationPageAssignmentHooks::onBSPageAssignmentsSpecialPages", BSPageAssignmentsOverview="ReadConfirmationPageAssignmentHooks::onBSPageAssignmentsSpecialPages", LoadExtensionSchemaUpdates="\\BlueSpice\\ReadConfirmation\\Hook\\LoadExtensionSchemaUpdates\\AddReadConfirmationDatabase::callback", BeforePageDisplay={ "\\BlueSpice\\ReadConfirmation\\Hook\\BeforePageDisplay\\AddManagePageAssignmentsIntegration::callback","\\BlueSpice\\ReadConfirmation\\Hook\\BeforePageDisplay\\AddResources::callback",}, PageSaveComplete="ReadConfirmationHooks::onPageSaveComplete", ["NamespaceManager::getMetaFields"]="ReadConfirmationHooks::onNamespaceManager_getMetaFields", ["NamespaceManager::editNamespace"]="ReadConfirmationHooks::onNamespaceManager_editNamespace", ["NamespaceManager::writeNamespaceConfiguration"]="ReadConfirmationHooks::onNamespaceManager_writeNamespaceConfiguration", BSApiNamespaceStoreMakeData="ReadConfirmationHooks::onBSApiNamespaceStoreMakeData", UserMergeAccountFields="\\BlueSpice\\ReadConfirmation\\Hook\\UserMergeAccountFields\\MergeReadConfirmationDBFields::callback", UnifiedTaskOverviewGetTaskDescriptors="addUTOReadConfirmations", PersonalUrls="skin", }, HookHandlers={ addUTOReadConfirmations={ factory="\\BlueSpice\\ReadConfirmation\\HookHandler\\UnifiedTaskOverview::factory", services={ "DBLoadBalancer","UserGroupManager","BSReadConfirmationMechanismFactory","MainConfig",}, }, skin={ class="\\BlueSpice\\ReadConfirmation\\HookHandler\\Skin", }, }, LogTypes={ "bs-readconfirmation",}, FilterLogTypes={ ["bs-readconfirmation"]=true, }, LogActionsHandlers={ ["bs-readconfirmation/*"]="LogFormatter", ["bs-readconfirmation/confirm"]="\\BlueSpice\\ReadConfirmation\\Logging\\ConfirmFormatter", }, GroupPermissions={ sysop={ readconfirmationremind=true, }, }, AvailableRights={ "readconfirmationremind",}, config_prefix="bsgReadConfirmation", config={ Mechanism={ value="BlueSpice\\ReadConfirmation\\Mechanism\\NonMinorEdit::factory", }, }, composer="bluespice/readconfirmation", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceReadConfirmation", }, BlueSpiceReaders={ name="BlueSpiceReaders", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:Readers", author={ "Stephan Muggli","Leonid Verhovskij","Dejan Savuljesku",}, descriptionmsg="bs-readers-desc", type="bluespice", requires={ MediaWiki=">= 1.37.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceReaders={ className="\\BlueSpice\\Readers\\Extension", extPath="/BlueSpiceReaders", }, }, ConfigDefinitionRegistry={ ReadersNumOfReaders="\\BlueSpice\\Readers\\ConfigDefinition\\ReadersNumOfReaders::getInstance", }, PermissionRegistry={ viewreaders={ type="global", roles={ "admin","maintenanceadmin",}, }, viewrevisionreaders={ type="global", roles={ }, }, }, }, BlueSpiceArticleInfo={ FlyoutModules={ pagereaders={ module="ext.bluespice.pagereaders.flyout", ["make-items-callback"]="bs.pagereaders.flyout.makeItems", ["skip-callback"]="\\BlueSpice\\Readers\\Extension::pageReadersFlyoutCheckPermissions", }, revisionreaders={ module="ext.bluespice.revisionreaders.flyout", ["make-items-callback"]="bs.revisionreaders.flyout.makeItems", ["skip-callback"]="\\BlueSpice\\Readers\\Extension::revisionReadersFlyoutCheckPermissions", }, }, }, BlueSpicePrivacy={ Handlers={ "\\BlueSpice\\Readers\\Privacy\\Handler",}, }, }, GroupPermissions={ ["*"]={ viewreaders=false, viewrevisionreaders=false, }, user={ viewreaders=false, viewrevisionreaders=false, }, sysop={ viewreaders=true, viewrevisionreaders=false, }, }, AvailableRights={ "viewreaders","viewrevisionreaders",}, SpecialPages={ Readers="\\BlueSpice\\Readers\\Special\\Readers", RevisionReaders="\\BlueSpice\\Readers\\Special\\RevisionReaders", }, JobClasses={ BlueSpiceReadersInsertTrace="\\BlueSpice\\Readers\\Job\\InsertTrace", }, APIModules={ ["bs-readers-data-store"]="BSApiReadersDataStore", ["bs-readers-users-store"]="BSApiReadersUsersStore", ["bs-readers-page-readers-store"]="\\BlueSpice\\Readers\\Api\\Store\\PageReaders", ["bs-readers-revision-readers-store"]="\\BlueSpice\\Readers\\Api\\Store\\RevisionReaders", ["bs-readers-tasks"]="\\BlueSpice\\Readers\\Api\\Task\\PageReaders", }, ExtensionMessagesFiles={ ReadersAlias="languages/SpecialReaders.alias.php", }, config_prefix="bsg", config={ ReadersNumOfReaders={ value=10, descriptionmsg="bs-readers-pref-numofreaders", public=true, }, ReadersNamespaceBlacklist={ description="Defaults to NS_FILE, NS_FILE_TALK, NS_MEDIAWIKI, NS_MEDIAWIKI_TALK, NS_CATEGORY, NS_CATEGORY_TALK", value={ 6,7,8,9,14,15,}, public=false, }, ReadersCleanData={ description="Set to 'true' if you want to remove old entries from the database", value=false, }, ReadersCleanDataTTL={ description="How many days each readers entry will be available in the database (365 days * 3 = 1095 days or 3 years)", value=1095, }, }, HookHandlers={ ["standard-dialogs"]={ class="\\BlueSpice\\Readers\\HookHandler\\StandardDialogs", }, }, Hooks={ LoadExtensionSchemaUpdates={ "\\BlueSpice\\Readers\\Hook\\LoadExtensionSchemaUpdates\\AddReadersTable::callback",}, ChameleonSkinTemplateOutputPageBeforeExec={ "\\BlueSpice\\Readers\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddContentActionToBlacklist::callback",}, BeforePageDisplay={ "\\BlueSpice\\Readers\\Hook\\BeforePageDisplay\\AddResources::callback",}, ["SkinTemplateNavigation::Universal"]="\\BlueSpice\\Readers\\Hook\\SkinTemplateNavigationUniversal\\AddReaders::callback", UserMergeAccountFields="\\BlueSpice\\Readers\\Hook\\UserMergeAccountFields\\MergeReadersDBFields::callback", StandardDialogsRegisterPageInfoPanelModules="standard-dialogs", }, composer="bluespice/readers", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceReaders", }, BlueSpiceReminder={ name="BlueSpiceReminder", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:Reminder", author={ "Sebastian Ulbricht","Stephan Muggli","Tobias Weichart","Markus Glaser","Peter Böhm",}, descriptionmsg="bs-reminder-extension-description", ["license-name"]="GPL-3.0-only", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceReminder={ className="\\BlueSpice\\Reminder\\Extension", extPath="/BlueSpiceReminder", package="BlueSpice Pro", }, }, PermissionRegistry={ remindereditall={ type="global", roles={ "admin","maintenanceadmin",}, }, }, NotificationRegistrationFunctions={ "\\BlueSpice\\Reminder\\Notification\\Registrator::registerNotifications",}, RunJobsTriggerHandlerRegistry={ ["bs-reminder-send-daily"]="BlueSpice\\Reminder\\RunJobsTriggerHandler\\SendTodayReminderNotification::factory", ["bs-reminder-send-weekly"]="BlueSpice\\Reminder\\RunJobsTriggerHandler\\SendInOneWeekReminderNotification::factory", }, AdminToolRegistry={ ["bs-reminder-manager"]="BlueSpice\\Reminder\\AdminTool", }, }, BlueSpiceEchoConnector={ NotificationIcons={ reminder={ path="BlueSpiceReminder/resources/images/userbar-icon-reminder.png", }, }, }, BlueSpicePrivacy={ Handlers={ "\\BlueSpice\\Reminder\\Privacy\\Handler",}, }, BlueSpiceReminder={ Registry={ page="\\BlueSpice\\Reminder\\Reminder\\Page::factory", }, }, BlueSpiceDiscovery={ AttentionIndicatorRegistry={ reminder="\\BlueSpice\\Reminder\\AttentionIndicator\\Reminder::factory", }, }, Workflows={ LogicObjects={ ActivityRegistry={ set_reminder={ class="\\BlueSpice\\Reminder\\Activity\\SetReminderActivity", services={ "TitleFactory","UserFactory","DBLoadBalancer",}, }, }, }, }, }, GroupPermissions={ ["*"]={ remindereditall=false, }, user={ remindereditall=false, }, sysop={ remindereditall=true, }, }, AvailableRights={ "remindereditall",}, SpecialPages={ Reminder="SpecialReminder", }, APIModules={ ["bs-reminder-store"]="ApiReminderStore", ["bs-reminder-tasks"]="ApiReminderTasks", }, ExtensionMessagesFiles={ ReminderAlias="languages/SpecialReminder.alias.php", }, DefaultUserOptions={ ["bs-reminder-oncreate"]=false, ["bs-reminder-forns"]="", ["bs-reminder-period"]=6, ["echo-subscriptions-web-notification-bs-reminder-cat"]=1, ["echo-subscriptions-email-notification-bs-reminder-cat"]=1, }, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\Reminder\\HookHandler\\CommonUserInterface", }, ["discovery-skin"]={ class="\\BlueSpice\\Reminder\\HookHandler\\DiscoverySkin", }, ["standard-dialogs"]={ class="\\BlueSpice\\Reminder\\HookHandler\\StandardDialogs", }, addReminderUrl={ class="\\BlueSpice\\Reminder\\HookHandler\\SkinTemplateNavigation\\AddReminderUrl", }, addReminderEntry={ class="\\BlueSpice\\Reminder\\HookHandler\\SkinTemplateNavigation\\AddReminderEntry", }, }, Hooks={ LoadExtensionSchemaUpdates="\\BlueSpice\\Reminder\\Hook\\LoadExtensionSchemaUpdates\\AddReminderTable::callback", GetPreferences={ "\\BlueSpice\\Reminder\\Hook\\GetPreferences\\AddDefaultReminderPeriod::callback","\\BlueSpice\\Reminder\\Hook\\GetPreferences\\AddSetReminderOnCreate::callback","\\BlueSpice\\Reminder\\Hook\\GetPreferences\\AddDisableReminderForNS::callback",}, ChameleonSkinTemplateOutputPageBeforeExec={ "\\BlueSpice\\Reminder\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddFlyout::callback",}, ["SkinTemplateNavigation::Universal"]={ "addReminderUrl","addReminderEntry",}, BeforePageDisplay="\\BlueSpice\\Reminder\\Hook\\BeforePageDisplay\\AddResources::callback", PageSaveComplete="\\BlueSpice\\Reminder\\Hook\\PageSaveComplete\\SetReminderOnCreate::callback", BSUserManagerAfterDeleteUser="\\BlueSpice\\Reminder\\Hook\\BSUserManagerAfterDeleteUser\\DeleteReminders::callback", UserMergeAccountFields="\\BlueSpice\\Reminder\\Hook\\UserMergeAccountFields\\MergeReminderDBFields::callback", MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", BlueSpiceDiscoveryTemplateDataProviderAfterInit="discovery-skin", StandardDialogsRegisterPageInfoPanelModules="standard-dialogs", }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, composer="bluespice/reminder", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceReminder", }, BlueSpiceSMWConnector={ name="BlueSpiceSMWConnector", descriptionmsg="bs-bssmwconnector-desc", ["license-name"]="GPL-3.0-only", type="bluespice", version="4.2.0-alpha", author={ "Robert Vogel","Leonid Verhovskij",}, url="https://en.wiki.bluespice.com/wiki/Reference:SMWConnector", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceExtendedSearch={ Sources={ wikipage="\\BlueSpice\\SMWConnector\\ExtendedSearch\\Source\\SMWWikiPage::create", }, LookupModifierRegistry={ ["smw-source-fields"]="\\BlueSpice\\SMWConnector\\ExtendedSearch\\Source\\LookupModifier\\AddSourceFields::factory", ["smw-aggregation"]="\\BlueSpice\\SMWConnector\\ExtendedSearch\\Source\\LookupModifier\\AddSMWAggregation::factory", ["smw-filter-parser"]="\\BlueSpice\\SMWConnector\\ExtendedSearch\\Source\\LookupModifier\\ParseSMWFilters::factory", }, }, BlueSpiceFoundation={ Extensions={ BlueSpiceSMWConnector={ className="\\BlueSpice\\SMWConnector\\Extension", extPath="/BlueSpiceSMWConnector", package="BlueSpice Pro", }, }, PermissionRegistry={ createclass={ type="global", roles={ "admin","author","editor","maintenanceadmin",}, }, editrestrictedfields={ type="global", roles={ "admin","editor","maintenanceadmin",}, }, geocode={ type="global", roles={ "admin","author","editor","maintenanceadmin",}, }, ["smw-admin"]={ type="global", roles={ "admin","maintenanceadmin",}, }, viewedittab={ type="global", roles={ "admin","editor","maintenanceadmin","structuremanager",}, }, }, SecondaryDataUpdateRegistry={ ["smw:opt.forced.update"]="\\BlueSpice\\SMWConnector\\SecondaryDataUpdate\\SMWOptFoceUpdate::factory", }, }, BlueSpiceBookshelfUI={ MassAddHandlerRegistry={ smwproperty="BSSMWPropertyPageProvider::factory", }, }, BlueSpiceSMWConnector={ ExtraPropertyRegistry={ usermentions="BlueSpice\\SMWConnector\\PropertyValueProvider\\UserMentions::factory", }, AsyncAskHandlers={ grid="\\BlueSpice\\SMWConnector\\AsyncAskHandler\\Grid::factory", tree="\\BlueSpice\\SMWConnector\\AsyncAskHandler\\Tree::factory", }, }, BlueSpiceDiscovery={ BreadcrumbDataProviderRegistry={ ["special-browse"]={ class="BlueSpice\\SMWConnector\\BreadcrumbDataProvider\\SpecialBrowseProvider", }, ["special-ask"]={ class="BlueSpice\\SMWConnector\\BreadcrumbDataProvider\\SpecialAskProvider", services={ "SpecialPageFactory",}, }, }, }, }, GroupPermissions={ sysop={ ["smw-admin"]=true, ["smw-patternedit"]=true, ["smw-pageedit"]=true, geocode=true, editrestrictedfields=true, }, ["*"]={ viewedittab=true, }, user={ createclass=true, }, }, APIModules={ ["bs-smw-connector-smw-property-store"]="ApiSMWPropertyStore", ["bs-smw-connector-ask-store"]="\\BlueSpice\\SMWConnector\\Api\\Store\\Ask", ["bs-smw-connector-tree-ask-store"]="\\BlueSpice\\SMWConnector\\Api\\Store\\TreeAsk", }, ExtensionMessagesFiles={ BlueSpiceSMWConnectorMagic="BlueSpiceSMWConnector.magic.php", }, ExtensionFunctions={ "BlueSpice\\SMWConnector\\Extension::setup",}, HookHandlers={ ["discovery-skin"]={ class="\\BlueSpice\\SMWConnector\\HookHandler\\DiscoverySkin", }, }, Hooks={ SetupAfterCache="BlueSpice\\SMWConnector\\PropertyValueProvidersRegistration::addExtensions", BeforePageDisplay={ "BSSMWConnectorHooks::onBeforePageDisplay","BlueSpice\\SMWConnector\\Hook\\BeforePageDisplay\\AddModules::callback",}, ["PageForms::FormPrinterSetup"]={ "BlueSpice\\SMWConnector\\Hook\\PFFormPrinterSetup\\RegisterInputTypes::callback",}, BSBookshelfExportTag="BSSMWConnectorHooks::onBSBookshelfExportTag", ["NamespaceManager::getMetaFields"]="BSSMWCNamespaceManager::onGetMetaFields", BSApiNamespaceStoreMakeData="BSSMWCNamespaceManager::onGetNamespaceData", ["NamespaceManager::editNamespace"]="BSSMWCNamespaceManager::onEditNamespace", ["NamespaceManager::writeNamespaceConfiguration"]="BSSMWCNamespaceManager::onWriteNamespaceConfiguration", BSPageTemplatesBeforeRender="BSSMWCPageTemplates::onBSPageTemplatesBeforeRender", PageSaveComplete="BSSMWConnectorHooks::onPageSaveComplete", ["SMW::Store::AfterQueryResultLookupComplete"]="BlueSpice\\SMWConnector\\Hook\\SMWStoreAfterQueryResultLookupComplete\\ApplySecurityTrimming::callback", ChameleonSkinTemplateOutputPageBeforeExec="BlueSpice\\SMWConnector\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddFormEditAction::callback", BSUEModulePDFcollectMetaData="BlueSpice\\SMWConnector\\Hook\\BSUEModulePDFcollectMetaData\\AddSemanitcMetaData::callback", ParserFirstCallInit="BlueSpice\\SMWConnector\\Hook\\ParserFirstCallInit\\AsyncAsk::callback", BlueSpiceDiscoveryTemplateDataProviderAfterInit="discovery-skin", }, config_prefix="bsg", config={ UEModulePDFsmwProperties={ value={ }, }, ESSMWPropertyFilter={ description="Which SMW properties to offer as filters. List of regex-es. Properties are matched against the names as written in ES filter list", value={ type="blacklist", props={ }, }, }, }, composer="bluespice/smwconnector", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceSMWConnector", }, BlueSpiceSaferEdit={ name="BlueSpiceSaferEdit", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:SaferEdit", author={ "Markus Glaser ","Tobias Weichart",}, descriptionmsg="bs-saferedit-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceSaferEdit={ className="\\BlueSpice\\SaferEdit\\Extension", extPath="/BlueSpiceSaferEdit", }, }, ConfigDefinitionRegistry={ SaferEditInterval="\\BlueSpice\\SaferEdit\\ConfigDefinition\\Interval::getInstance", SaferEditShowNameOfEditingUser="\\BlueSpice\\SaferEdit\\ConfigDefinition\\ShowNameOfEditingUser::getInstance", }, AlertProviderRegistry={ ["bs-saferedit-warning"]="\\BlueSpice\\SaferEdit\\AlertProvider\\EditWarning::factory", }, }, BlueSpicePrivacy={ Handlers={ "\\BlueSpice\\SaferEdit\\Privacy\\Handler",}, }, BlueSpiceSaferEdit={ EnvironmentCheckers={ standardEdit="\\BlueSpice\\SaferEdit\\EnvironmentChecker\\StandardEdit::factory", }, }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, config_prefix="bsg", config={ SaferEditInterval={ value=10, descriptionmsg="bs-saferedit-pref-interval", }, SaferEditShowNameOfEditingUser={ value=true, descriptionmsg="bs-saferedit-pref-shownameofeditinguser", }, }, Hooks={ LoadExtensionSchemaUpdates="\\BlueSpice\\SaferEdit\\Hook\\LoadExtensionSchemaUpdates\\AddSaferEditTable::callback", BeforePageDisplay="\\BlueSpice\\SaferEdit\\Hook\\BeforePageDisplay\\AddModules::callback", BsAdapterAjaxPingResult={ "\\BlueSpice\\SaferEdit\\Hook\\BsAdapterAjaxPingResult\\HandleSaferEditIsSomeoneEditing::callback","\\BlueSpice\\SaferEdit\\Hook\\BsAdapterAjaxPingResult\\HandleSaferEditSave::callback",}, PageSaveComplete="\\BlueSpice\\SaferEdit\\Hook\\PageSaveComplete\\ClearSaferEdit::callback", ["EditPage::showEditForm:initial"]="\\BlueSpice\\SaferEdit\\Hook\\EditPage_showEditForm_initial\\SetEditSection::callback", MergeAccountFromTo="\\BlueSpice\\SaferEdit\\Hook\\MergeAccountFromTo\\MergeSaferEditDBFields::callback", }, composer="bluespice/saferedit", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceSaferEdit", }, BlueSpiceSignHere={ name="BlueSpiceSignHere", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", author={ "Robert Vogel",}, url="https://en.wiki.bluespice.com/wiki/Reference:SignHere", descriptionmsg="bs-signhere-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceSignHere={ className="\\BlueSpice\\SignHere\\Extension", extPath="/BlueSpiceSignHere", }, }, }, BlueSpiceVisualEditorConnector={ TagDefinitions={ "ext.bluespice.signhere.visualEditorTagDefinition",}, }, ContentDroplets={ Droplets={ ["sign-here"]={ class="\\BlueSpice\\SignHere\\ContentDroplets\\SignHereDroplet", }, }, }, }, Hooks={ ParserFirstCallInit="BlueSpice\\SignHere\\Hook\\ParserFirstCallInit::handle", BSInsertMagicAjaxGetData="\\BlueSpice\\SignHere\\Hook\\BSInsertMagicAjaxGetData\\SignHere::callback", }, composer="bluespice/signhere", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceSignHere", }, BlueSpiceSmartList={ name="BlueSpiceSmartList", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:SmartList", author={ "Markus Glaser","Robert Vogel","Patric Wirth","Stephan Muggli","Leonid Verhovskij",}, descriptionmsg="bs-smartlist-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceSmartList={ className="SmartList", extPath="/BlueSpiceSmartList", }, }, }, VisualEditor={ PluginModules={ "ext.bluespice.smartList.visualEditor","ext.bluespice.smartList.newbies.visualEditor","ext.bluespice.smartList.toplist.visualEditor",}, }, BlueSpiceUserSidebar={ Widgets={ YOUREDITS={ callback="\\BlueSpice\\SmartList\\Panel\\YourEdits::factory", default=true, }, }, WidgetRegistry={ YOUREDITS="\\BlueSpice\\SmartList\\UserSidebar\\Widget\\YourEdits::factory", }, }, ContentDroplets={ Droplets={ smartlist={ class="\\BlueSpice\\SmartList\\ContentDroplets\\SmartListDroplet", }, toplist={ class="\\BlueSpice\\SmartList\\ContentDroplets\\TopListDroplet", }, newbies={ class="\\BlueSpice\\SmartList\\ContentDroplets\\NewbiesDroplet", }, }, }, }, APIModules={ ["bs-smartlist-tasks"]="BSApiTasksSmartList", }, Hooks={ BSInsertMagicAjaxGetData={ "\\BlueSpice\\SmartList\\Hook\\BSInsertMagicAjaxGetData\\AddSmartListTag::callback","\\BlueSpice\\SmartList\\Hook\\BSInsertMagicAjaxGetData\\AddNewbiesTag::callback","\\BlueSpice\\SmartList\\Hook\\BSInsertMagicAjaxGetData\\AddToplistTag::callback",}, BSUsageTrackerRegisterCollectors="\\BlueSpice\\SmartList\\Hook\\BSUsageTrackerRegisterCollectors\\AddSmartlistTag::callback", BSDashboardsAdminDashboardPortalPortlets="\\BlueSpice\\SmartList\\Hook\\BSDashboardsAdminDashboardPortalPortlets\\AddPortlets::callback", BSDashboardsAdminDashboardPortalConfig="\\BlueSpice\\SmartList\\Hook\\BSDashboardsAdminDashboardPortalConfig\\AddConfigs::callback", BSDashboardsUserDashboardPortalPortlets="\\BlueSpice\\SmartList\\Hook\\BSDashboardsUserDashboardPortalPortlets\\AddPortlets::callback", BSDashboardsUserDashboardPortalConfig="\\BlueSpice\\SmartList\\Hook\\BSDashboardsUserDashboardPortalConfig\\AddConfigs::callback", }, composer="bluespice/smartlist", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceSmartList", }, BlueSpiceSocial={ name="BlueSpiceSocial", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:Social", author="Patric Wirth", descriptionmsg="bs-social-desc", requires={ MediaWiki=">= 1.37.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpiceExtendedSearch=">= 4.1", }, platform={ php=">= 7.0", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceSocial={ className="\\BlueSpice\\Social\\Extension", extPath="/BlueSpiceSocial", status="beta", package="BlueSpiceSocial", }, }, PermissionRegistry={ ["social-deleteothers"]={ type="namespace", roles={ "admin","maintenanceadmin",}, }, ["social-editothers"]={ type="namespace", roles={ "admin","maintenanceadmin",}, }, ["social-source"]={ type="namespace", roles={ "maintenanceadmin",}, }, }, NotificationRegistrationFunctions={ "\\BlueSpice\\Social\\Notifications\\Registrator::registerNotifications",}, RendererRegistry={ entitylist="\\BlueSpice\\Social\\Renderer\\EntityList::factory", entitylistmenu="\\BlueSpice\\Social\\Renderer\\EntityList\\Menu::factory", entitylistmore="\\BlueSpice\\Social\\Renderer\\EntityList\\More::factory", entitylistheadline="\\BlueSpice\\Social\\Renderer\\EntityList\\Headline::factory", socialentity="\\BlueSpice\\Social\\Renderer\\Entity::factory", socialentitytext="\\BlueSpice\\Social\\Renderer\\Entity\\Text::factory", socialentitypage="\\BlueSpice\\Social\\Renderer\\Entity\\Page::factory", entityactions="\\BlueSpice\\Social\\Renderer\\EntityActions::factory", }, TagRegistry={ timeline="\\BlueSpice\\Social\\Tag\\Timeline", socialentity="\\BlueSpice\\Social\\Tag\\SocialEntity", }, TaskRegistry={ ["social-entitylist-reload"]="\\BlueSpice\\Social\\Task\\EntityList\\Reload::factory", }, PermissionLockdownRegistry={ ["social-sourcetitle"]="\\BlueSpice\\Social\\Permission\\Lockdown\\Module\\SourceTitle::getInstance", ["social-readpermissioncheckhandover"]="\\BlueSpice\\Social\\Permission\\Lockdown\\Module\\ReadPermissionCheckHandOver::getInstance", }, ConfigDefinitionRegistry={ SocialMainLinksTimeline="\\BlueSpice\\Social\\ConfigDefinition\\MainLinksTimeline::getInstance", }, }, BlueSpiceExtendedSearch={ Sources={ socialentity="\\BlueSpice\\Social\\ExtendedSearch\\Entities::create", }, LookupModifierRegistry={ ["entity-filteroutactionentities"]="\\BlueSpice\\Social\\ExtendedSearch\\LookupModifier\\FilterOutActionEntities::factory", ["entity-addhighlighters"]="\\BlueSpice\\Social\\ExtendedSearch\\LookupModifier\\LookupModifier\\AddHighlighters::factory", ["entity-entitytypeaggregation"]="\\BlueSpice\\Social\\ExtendedSearch\\LookupModifier\\LookupModifier\\EntityTypeAggregation::factory", ["entity-entitysimpleqsfields"]="\\BlueSpice\\Social\\ExtendedSearch\\LookupModifier\\LookupModifier\\EntitySimpleQSFields::factory", ["entity-autocompletesourcefields"]="\\BlueSpice\\Social\\ExtendedSearch\\LookupModifier\\LookupModifier\\AutocompleteSourceFields::factory", }, }, BlueSpicePrivacy={ Handlers={ "\\BlueSpice\\Social\\Privacy\\Handler",}, }, }, callback="\\BlueSpice\\Social\\Extension::onRegistration", ServiceWiringFiles={ "includes/ServiceWiring.php",}, GroupPermissions={ ["*"]={ ["social-deleteothers"]=false, ["social-editothers"]=false, ["social-source"]=false, }, user={ ["social-deleteothers"]=false, ["social-editothers"]=false, ["social-source"]=false, }, sysop={ ["social-deleteothers"]=true, ["social-editothers"]=true, ["social-source"]=true, }, }, AvailableRights={ "social-deleteothers","social-editothers","social-source",}, APIModules={ ["bs-social-tasks"]="\\BlueSpice\\Social\\Api\\Task\\Entities", ["bs-socialtitlequery-store"]="\\BlueSpice\\Social\\Api\\Store\\TitleQuery", ["bs-socialentity-store"]="\\BlueSpice\\Social\\Api\\Store\\Entity", }, SpecialPages={ Timeline="\\BlueSpice\\Social\\Special\\Timeline", Activities="\\BlueSpice\\Social\\Special\\Activities", }, ExtensionMessagesFiles={ SocialAlias="languages/Social.alias.php", }, JobClasses={ updateEntityIndex="\\BlueSpice\\Social\\ExtendedSearch\\Job\\Entity", socialentityupdate="\\BlueSpice\\Social\\Job\\Update", socialentitychangeowner="\\BlueSpice\\Social\\Job\\ChangeOwner", socialentityarchive="\\BlueSpice\\Social\\Job\\Archive", privacyDeleteEntity="\\BlueSpice\\Social\\Privacy\\Job\\DeleteEntity", }, config_prefix="bsg", config={ SocialUseRenderCache={ value=true, }, SocialRenderCacheEntityBlacklist={ value={ }, }, SocialCanHaveChildrenBlacklist={ value={ }, }, SocialMainLinksTimeline={ value=true, public=true, descriptionmsg="bs-social-config-mainlinks-timeline-label", }, }, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\Social\\HookHandler\\CommonUserInterface", services={ "ConfigFactory",}, }, }, Hooks={ BeforePageDisplay={ "\\BlueSpice\\Social\\Hook\\BeforePageDisplay\\AddResources::callback","\\BlueSpice\\Social\\Hook\\BeforePageDisplay\\EntitySpawnerUserPermissions::callback","\\BlueSpice\\Social\\Hook\\BeforePageDisplay\\AddSourceBacklLink::callback",}, BSUEModulePDFBeforeAddingStyleBlocks="\\BlueSpice\\Social\\Extension::onBSUEModulePDFBeforeAddingStyleBlocks", GetPreferences={ "\\BlueSpice\\Social\\Hook\\GetPreferences\\AddTimeDisplayMode::callback","\\BlueSpice\\Social\\Hook\\GetPreferences\\AddWarnOnLeave::callback",}, HtmlPageLinkRendererEnd="\\BlueSpice\\Social\\Hook\\HtmlPageLinkRendererEnd\\MaskEntityLinks::callback", BeforeEchoEventInsert="\\BlueSpice\\Social\\Hook\\BeforeEchoEventInsert\\DisableOtherNotificationsForEntityPages::callback", SendWatchlistEmailNotification="\\BlueSpice\\Social\\Extension::onSendWatchlistEmailNotification", BSEntitySaveComplete="\\BlueSpice\\Social\\Hook\\BSEntitySaveComplete\\NotifyUsers::callback", BSEntityDeleteComplete="\\BlueSpice\\Social\\Hook\\BSEntityDeleteComplete\\NotifyUsers::callback", SkinBuildSidebar="\\BlueSpice\\Social\\Hook\\SkinBuildSidebar\\AddTimelineNavigationItem::callback", BSRSSFeederBeforeGetRecentChanges="\\BlueSpice\\Social\\Hook\\BSRSSFeederBeforeGetRecentChanges\\RCRemoveSocial::callback", ChangesListSpecialPageStructuredFilters="\\BlueSpice\\Social\\Hook\\ChangesListSpecialPageStructuredFilters\\AddSocialEntityFilter::callback", MergeAccountFromTo="\\BlueSpice\\Social\\Hook\\MergeAccountFromTo\\ChangeEntityOwner::callback", MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", LoadExtensionSchemaUpdates="\\BlueSpice\\Social\\Hook\\LoadExtensionSchemaUpdates\\AddMigrationMaintenanceScript::callback", }, DefaultUserOptions={ ["bs-social-datedisplaymode"]="age", ["bs-social-warnonleave"]=true, ["echo-subscriptions-web-bs-social-entity-cat"]=1, }, composer="bluespice/social", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceSocial", }, BlueSpiceSocialArticleActions={ name="BlueSpiceSocialArticleActions", version="4.1.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:SocialArticleActions", author="Patric Wirth", descriptionmsg="bs-socialarticleactions-desc", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpiceSocial=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceSocialArticleActions={ className="\\BlueSpice\\Social\\ArticleActions\\Extension", extPath="/BlueSpiceSocialArticleActions", status="beta", package="BlueSpiceSocial", }, }, EntityRegistry={ articlesave="\\BlueSpice\\Social\\ArticleActions\\EntityConfig\\ActionArticleSave", articlecreate="\\BlueSpice\\Social\\ArticleActions\\EntityConfig\\ActionArticleCreate", articledelete="\\BlueSpice\\Social\\ArticleActions\\EntityConfig\\ActionArticleDelete", filesave="\\BlueSpice\\Social\\ArticleActions\\EntityConfig\\ActionFileSave", filecreate="\\BlueSpice\\Social\\ArticleActions\\EntityConfig\\ActionFileCreate", filedelete="\\BlueSpice\\Social\\ArticleActions\\EntityConfig\\ActionFileDelete", }, }, }, Hooks={ PageSaveComplete={ "\\BlueSpice\\Social\\ArticleActions\\Hook\\PageSaveComplete\\CreateArticleCreateEntity::callback","\\BlueSpice\\Social\\ArticleActions\\Hook\\PageSaveComplete\\CreateArticleSaveEntity::callback",}, ArticleDeleteComplete="\\BlueSpice\\Social\\ArticleActions\\Hook\\ArticleDeleteComplete\\CreateArticleDeleteEntity::callback", UploadComplete={ "\\BlueSpice\\Social\\ArticleActions\\Hook\\UploadComplete\\CreateFileCreateEntity::callback","\\BlueSpice\\Social\\ArticleActions\\Hook\\UploadComplete\\CreateFileSaveEntity::callback",}, FileDeleteComplete="\\BlueSpice\\Social\\ArticleActions\\Hook\\FileDeleteComplete\\CreateFileDeleteEntity::callback", }, composer="bluespice/socialarticleactions", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceSocialArticleActions", }, BlueSpiceSocialBlog={ name="BlueSpiceSocialBlog", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:SocialBlog", author="Patric Wirth", descriptionmsg="bs-socialblog-desc", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpiceSocial=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceSocialBlog={ className="\\BlueSpice\\Social\\Blog\\Extension", extPath="/BlueSpiceSocialBlog", status="beta", package="BlueSpiceSocial", }, }, ConfigDefinitionRegistry={ BSSocialUseBlogTeaser="\\BlueSpice\\Social\\Blog\\ConfigDefinition\\BSSocialUseBlogTeaser::getInstance", SocialBlogMainLinksBlog="\\BlueSpice\\Social\\Blog\\ConfigDefinition\\MainLinksBlog::getInstance", }, EntityRegistry={ blog="\\BlueSpice\\Social\\Blog\\EntityConfig\\Blog", groupblog="\\BlueSpice\\Social\\Blog\\EntityConfig\\GroupBlog", }, RendererRegistry={ socialentityblog="\\BlueSpice\\Social\\Blog\\Renderer\\Entity\\Blog::factory", }, NotificationRegistrationFunctions={ "\\BlueSpice\\Social\\Blog\\Notification\\Registrator::registerNotifications",}, PermissionRegistry={ ["social-blog"]={ type="global", roles={ "editor","admin","maintenanceadmin",}, }, ["social-blog-comment"]={ type="global", roles={ "commenter","editor","admin","maintenanceadmin",}, }, }, }, }, ExtensionMessagesFiles={ BlueSpiceSocialBlogAlias="languages/Blog.alias.php", }, GroupPermissions={ ["*"]={ ["social-blog"]=false, ["social-blog-comment"]=false, }, user={ ["social-blog"]=true, ["social-blog-comment"]=true, }, sysop={ ["social-blog"]=true, ["social-blog-comment"]=true, }, }, AvailableRights={ "social-blog","social-blog-comment",}, SpecialPages={ Blog="\\BlueSpice\\Social\\Blog\\Special\\Blog", }, config_prefix="bsg", config={ BSSocialUseBlogTeaser={ value=true, descriptionmsg="bs-socialblog-toc-useblogteaser", public=true, }, SocialBlogPreloadTitle={ value="Template:Blog", }, SocialBlogMainLinksBlog={ value=true, public=true, descriptionmsg="bs-socialblog-config-mainlinks-blog-label", }, }, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\Social\\Blog\\HookHandler\\CommonUserInterface", services={ "ConfigFactory",}, }, }, Hooks={ LoadExtensionSchemaUpdates="\\BlueSpice\\Social\\Blog\\Hook\\LoadExtensionSchemaUpdates\\AddBlogMigrationMaintenanceScript::callback", SkinBuildSidebar="\\BlueSpice\\Social\\Blog\\Hook\\SkinBuildSidebar\\AddNavigationItem::callback", BeforePageDisplay="\\BlueSpice\\Social\\Blog\\Hook\\BeforePageDisplay\\AddResources::callback", MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", }, composer="bluespice/socialblog", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceSocialBlog", }, BlueSpiceSocialComments={ name="BlueSpiceSocialComments", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:SocialComments", author="Patric Wirth", descriptionmsg="bs-socialcomments-desc", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpiceSocial=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceSocialComments={ className="\\BlueSpice\\Social\\Comments\\Extension", extPath="/BlueSpiceSocialComments", status="beta", package="BlueSpiceSocial", }, }, EntityRegistry={ comment="\\BlueSpice\\Social\\Comments\\EntityConfig\\Comment", }, NotificationRegistrationFunctions={ "\\BlueSpice\\Social\\Comments\\Notification\\Registrator::registerNotifications",}, }, }, DefaultUserOptions={ ["echo-subscriptions-web-bs-social-comment-cat"]=1, }, Hooks={ BSSocialEntityOutputRenderAfterContent="\\BlueSpice\\Social\\Comments\\Hook\\BSSocialEntityOutputRenderAfterContent\\AddCommentSection::callback", BSEntityGetFullData="\\BlueSpice\\Social\\Comments\\Hook\\BSEntityGetFullData\\AddCommentsCount::callback", BSSocialModuleDepths="\\BlueSpice\\Social\\Comments\\Hook\\BSSocialModuleDepths\\AddModules::callback", BSEntityConfigAttributeDefinitions="\\BlueSpice\\Social\\Comments\\Hook\\BSEntityConfigAttributeDefinitions\\AddCommentCount::callback", BSSocialEntityListInitialized="\\BlueSpice\\Social\\Comments\\Hook\\BSSocialEntityListInitialized\\PreloadNewComment::callback", }, composer="bluespice/socialcomments", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceSocialComments", }, BlueSpiceSocialMicroBlog={ name="BlueSpiceSocialMicroBlog", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:SocialMicroBlog", author="Patric Wirth", descriptionmsg="bs-socialmicroblog-desc", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpiceSocial=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceSocialMicroBlog={ className="\\BlueSpice\\Social\\MicroBlog\\Extension", extPath="/BlueSpiceSocialMicroBlog", status="beta", package="BlueSpiceSocial", }, }, EntityRegistry={ microblog="\\BlueSpice\\Social\\MicroBlog\\EntityConfig\\MicroBlog", }, PermissionRegistry={ ["social-microblog"]={ type="global", roles={ "commenter","editor","admin","maintenanceadmin",}, }, ["social-microblog-comment"]={ type="global", roles={ "commenter","editor","admin","maintenanceadmin",}, }, }, }, }, GroupPermissions={ ["*"]={ ["social-microblog"]=false, ["social-microblog-comment"]=false, }, user={ ["social-microblog"]=true, ["social-microblog-comment"]=true, }, sysop={ ["social-microblog"]=true, ["social-microblog-comment"]=true, }, }, AvailableRights={ "social-microblog","social-microblog-comment",}, composer="bluespice/socialmicroblog", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceSocialMicroBlog", }, BlueSpiceSocialProfile={ name="BlueSpiceSocialProfile", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:SocialProfile", author="Patric Wirth", descriptionmsg="bs-socialprofile-desc", requires={ MediaWiki=">= 1.37.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpiceSocial=">= 4.1", BlueSpiceAvatars=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceSocialProfile={ className="\\BlueSpice\\Social\\Profile\\Extension", extPath="/BlueSpiceSocialProfile", status="beta", package="BlueSpiceSocial", }, }, EntityRegistry={ profile="\\BlueSpice\\Social\\Profile\\EntityConfig\\Profile", }, PermissionRegistry={ ["social-editothersprofile"]={ type="global", roles={ "admin","maintenanceadmin",}, }, ["socialprofile-viewspecialpage"]={ type="global", roles={ "accountmanager","admin","author","bot","commenter","editor","maintenanceadmin","reader","reviewer","structuremanager",}, }, }, RendererRegistry={ socialentityprofile="\\BlueSpice\\Social\\Profile\\Renderer\\Entity\\Profile::factory", }, TagRegistry={ socialentityprofile="\\BlueSpice\\Social\\Profile\\Tag\\SocialEntityProfile", }, AssocLinksProviderRegistry={ ["profile-classic"]="\\BlueSpice\\Social\\Profile\\AssocLinksProvider\\Profile\\Classic::factory", ["profile-modern"]="\\BlueSpice\\Social\\Profile\\AssocLinksProvider\\Profile\\Modern::factory", }, }, BlueSpiceSocialProfile={ CustomFieldTypesRegistry={ string="\\BlueSpice\\Social\\Profile\\CustomField\\StringValue::getInstance", select="\\BlueSpice\\Social\\Profile\\CustomField\\SelectValue::getInstance", integer="\\BlueSpice\\Social\\Profile\\CustomField\\IntegerValue::getInstance", boolean="\\BlueSpice\\Social\\Profile\\CustomField\\BooleanValue::getInstance", text="\\BlueSpice\\Social\\Profile\\CustomField\\TextValue::getInstance", }, }, BlueSpicePrivacy={ Handlers={ "\\BlueSpice\\Social\\Profile\\Privacy\\Handler",}, }, BlueSpiceSMWConnector={ ExtraPropertyRegistry={ socialprofilefields="\\BlueSpice\\Social\\Profile\\SocialProfilePropertyValueProvider::factory", }, }, BlueSpiceVisualEditorConnector={ TagDefinitions={ "ext.bluespice.socialprofile.visualEditorTagDefinition",}, }, ContentDroplets={ Droplets={ ["social-profile"]={ class="\\BlueSpice\\Social\\Profile\\ContentDroplets\\ProfileDroplet", }, }, }, }, callback="\\BlueSpice\\Social\\Profile\\Extension::onRegistration", ServiceWiringFiles={ "includes/ServiceWiring.php",}, ExtensionMessagesFiles={ SocialProfilesAlias="languages/Profiles.alias.php", }, SpecialPages={ SocialProfiles="\\BlueSpice\\Social\\Profile\\Special\\Profiles", }, JobClasses={ socialprofilecreate="\\BlueSpice\\Social\\Profile\\Job\\CreateProfile", }, GroupPermissions={ ["*"]={ ["social-editothersprofile"]=false, ["socialprofile-viewspecialpage"]=false, }, user={ ["social-editothersprofile"]=false, ["socialprofile-viewspecialpage"]=false, }, sysop={ ["social-editothersprofile"]=true, ["socialprofile-viewspecialpage"]=true, }, }, AvailableRights={ "social-editothersprofile","socialprofile-viewspecialpage",}, DefaultUserOptions={ ["bs-social-profile-infoshowemail"]=false, }, config_prefix="bsg", config={ BSSocialProfileFields={ value={ ["social-profile-title"]={ i18n="bs-social-profile-field-title", callback="\\BlueSpice\\Social\\Profile\\Field\\Title::getInstance", }, ["social-profile-name"]={ i18n="bs-social-profile-field-name", callback="\\BlueSpice\\Social\\Profile\\Field\\Name::getInstance", }, ["social-profile-email"]={ i18n="bs-social-profile-field-email", callback="\\BlueSpice\\Social\\Profile\\Field\\Email::getInstance", }, }, }, BSSocialProfileCustomFields={ value={ ["social-profile-department"]={ i18n="bs-social-profile-field-department", type="string", }, ["social-profile-function"]={ i18n="bs-social-profile-field-function", type="string", }, ["social-profile-location"]={ i18n="bs-social-profile-field-location", type="string", }, ["social-profile-phone"]={ i18n="bs-social-profile-field-phone", type="string", }, }, }, }, Hooks={ PageSaveComplete="\\BlueSpice\\Social\\Profile\\Hook\\PageSaveComplete\\InvalidateProfileEntity::callback", ArticleViewHeader="\\BlueSpice\\Social\\Profile\\Extension::onArticleViewHeader", HtmlPageLinkRendererBegin="\\BlueSpice\\Social\\Profile\\Hook\\HtmlPageLinkRendererBegin\\SetProfileLinksKnown::callback", UserSaveSettings="\\BlueSpice\\Social\\Profile\\Hook\\UserSaveSettings\\CreateAndInvalidateUserProfile::callback", BSUserInfoMetaDataFactoryAllKeys="\\BlueSpice\\Social\\Profile\\Hook\\BSUserInfoMetaDataFactoryAllKeys\\AddCustomProfileFieldKeys::callback", BSUserInfoMetaDataFactoryCallback="\\BlueSpice\\Social\\Profile\\Hook\\BSUserInfoMetaDataFactoryCallback\\AddCustomProfileFieldCallbacks::callback", GetPreferences="\\BlueSpice\\Social\\Profile\\Hook\\GetPreferences\\AddShowProfileInfoEmail::callback", BSPageTemplatesModifyTargetUrl="\\BlueSpice\\Social\\Profile\\Hook\\BSPageTemplatesModifyTargetUrl\\AddClassicProfileLink::callback", UserLoadAfterLoadFromSession="\\BlueSpice\\Social\\Profile\\Hook\\UserLoadAfterLoadFromSession\\AddLDAPProfileDataSync::callback", LocalUserCreated="\\BlueSpice\\Social\\Profile\\Hook\\LocalUserCreated\\CreateUserProfile::callback", DeleteAccount="\\BlueSpice\\Social\\Profile\\Hook\\DeleteAccount\\DeleteUserProfile::callback", BSInsertMagicAjaxGetData="\\BlueSpice\\Social\\Profile\\Hook\\BSInsertMagicAjaxGetData\\AddSocialEntityProfileTag::callback", }, composer="bluespice/socialprofile", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceSocialProfile", }, BlueSpiceSocialRating={ name="BlueSpiceSocialRating", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:SocialRating", author="Patric Wirth", descriptionmsg="bs-socialrating-desc", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpiceSocial=">= 4.1", BlueSpiceRating=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceSocialRating={ className="\\BlueSpice\\Social\\Rating\\Extension", extPath="/BlueSpiceSocialRating", status="beta", package="BlueSpiceSocial", }, }, }, BlueSpiceRating={ RatingRegistry={ bssocial="\\BlueSpice\\Social\\Rating\\RatingConfig\\Entity", }, }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, Hooks={ BSEntityConfigDefaults="\\BlueSpice\\Social\\Rating\\Hook\\BSEntityConfigDefaults\\IsRateable::callback", BSEntityGetFullData="\\BlueSpice\\Social\\Rating\\Hook\\BSEntityGetFullData\\AddRating::callback", BSSocialModuleDepths="\\BlueSpice\\Social\\Rating\\Hook\\BSSocialModuleDepths\\AddModules::callback", BSEntityConfigAttributeDefinitions="\\BlueSpice\\Social\\Rating\\Hook\\BSEntityConfigAttributeDefinitions\\AddRating::callback", BSSocialEntityGetActions="\\BlueSpice\\Social\\Rating\\Hook\\BSSocialEntityGetActions\\AddRating::callback", }, composer="bluespice/socialrating", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceSocialRating", }, BlueSpiceSocialResolve={ name="BlueSpiceSocialResolve", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:SocialResolve", author="Patric Wirth", descriptionmsg="bs-socialresolve-desc", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpiceSocial=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceSocialResolve={ className="\\BlueSpice\\Social\\Resolve\\Extension", extPath="/BlueSpiceSocialResolve", status="beta", package="BlueSpiceSocial", }, }, RendererRegistry={ entityresolve="\\BlueSpice\\Social\\Resolve\\Renderer\\Resolve::factory", }, LessVarsRegistry={ ["bs-social-background-color-resolved"]="#D9F2DA", }, PermissionRegistry={ ["social-resolve"]={ type="namespace", roles={ "editor",}, }, }, }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, GroupPermissions={ ["*"]={ ["social-resolve"]=false, }, user={ ["social-resolve"]=true, }, sysop={ ["social-resolve"]=true, }, }, AvailableRights={ "social-resolve",}, APIModules={ ["bs-socialresolve-tasks"]="\\BlueSpice\\Social\\Resolve\\Api\\Task\\Resolve", }, Hooks={ BSEntityConfigDefaults="\\BlueSpice\\Social\\Resolve\\Hook\\BSEntityConfigDefaults\\IsResolvable::callback", BSEntityGetFullData="\\BlueSpice\\Social\\Resolve\\Hook\\BSEntityGetFullData\\AddResolve::callback", BSEntitySetValuesByObject="\\BlueSpice\\Social\\Resolve\\Hook\\BSEntitySetValuesByObject\\AddResolve::callback", BSSocialModuleDepths="\\BlueSpice\\Social\\Resolve\\Hook\\BSSocialModuleDepths\\AddModules::callback", BSEntityConfigAttributeDefinitions="\\BlueSpice\\Social\\Resolve\\Hook\\BSEntityConfigAttributeDefinitions\\AddResolve::callback", BSFoundationRendererMakeTagAttribs="\\BlueSpice\\Social\\Resolve\\Hook\\BSFoundationRendererMakeTagAttribs\\AddResolveClassToEntityRenderer::callback", BSSocialEntityListRenderEntity="\\BlueSpice\\Social\\Resolve\\Hook\\BSSocialEntityListRenderEntity\\RenderShortWhenResolved::callback", BSSocialEntityGetActions="\\BlueSpice\\Social\\Resolve\\Hook\\BSSocialEntityGetActions\\AddResolve::callback", }, composer="bluespice/socialresolve", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceSocialResolve", }, BlueSpiceSocialTags={ name="BlueSpiceSocialTags", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:SocialTags", author="Patric Wirth", descriptionmsg="bs-socialtags-desc", requires={ MediaWiki=">= 1.37.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpiceSocial=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceSocialTags={ className="\\BlueSpice\\Social\\Tags\\Extension", extPath="/BlueSpiceSocialTags", status="beta", package="BlueSpiceSocial", }, }, PermissionRegistry={ ["social-tagging"]={ type="namespace", roles={ "admin","author","commenter","editor","maintenanceadmin","reviewer",}, }, }, }, }, callback="\\BlueSpice\\Social\\Tags\\Extension::onRegistration", ExtensionMessagesFiles={ BlueSpiceSocialTagsAlias="languages/Tags.alias.php", }, APIModules={ ["bs-socialtags-tasks"]="\\BlueSpice\\Social\\Tags\\Api\\Task\\Tags", }, GroupPermissions={ ["*"]={ ["social-tagging"]=false, }, user={ ["social-tagging"]=true, }, sysop={ ["social-tagging"]=true, }, }, AvailableRights={ "social-tagging",}, SpecialPages={ SocialTags="\\BlueSpice\\Social\\Tags\\Special\\Tags", }, config_prefix="bsg", config={ SocialTagsTimelineAfterContentNamespaceBlackList={ value={ }, }, SocialTagsTimelineAfterContentShow={ value=false, }, }, Hooks={ BSSocialModuleDepths="\\BlueSpice\\Social\\Tags\\Hook\\BSSocialModuleDepths\\AddModules::callback", BSEntitySetValuesByObject="\\BlueSpice\\Social\\Tags\\Hook\\BSEntitySetValuesByObject\\SetTags::callback", BSEntityGetFullData="\\BlueSpice\\Social\\Tags\\Hook\\BSEntityGetFullData\\AddTags::callback", BSEntityConfigDefaults={ "\\BlueSpice\\Social\\Tags\\Hook\\BSEntityConfigDefaults\\IsTagable::callback","\\BlueSpice\\Social\\Tags\\Hook\\BSEntityConfigDefaults\\TagPermission::callback",}, BSSocialEntityOutputRenderBeforeContent="\\BlueSpice\\Social\\Tags\\Hook\\BSSocialEntityOutputRenderBeforeContent\\AddTagInfo::callback", BSEntityConfigAttributeDefinitions="\\BlueSpice\\Social\\Tags\\Hook\\BSEntityConfigAttributeDefinitions\\AddTags::callback", ChameleonSkinTemplateOutputPageBeforeExec="\\BlueSpice\\Social\\Tags\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddTimeline::callback", BSSocialEntityListInitialized="\\BlueSpice\\Social\\Tags\\Hook\\BSSocialEntityListInitialized\\ReplaceDiscussionPageListFilter::callback", PageMoveComplete="\\BlueSpice\\Social\\Tags\\Hook\\PageMoveComplete\\UpdateTags::callback", BSFoundationRendererMakeTagAttribs="\\BlueSpice\\Social\\Tags\\Hook\\BSFoundationRendererMakeTagAttribs\\AddForeignTopicClassToEntityRenderer::callback", BSSocialEntityGetActions="\\BlueSpice\\Social\\Tags\\Hook\\BSSocialEntityGetActions\\AddTags::callback", }, composer="bluespice/socialtags", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceSocialTags", }, BlueSpiceSocialTimelineUpdate={ name="BlueSpiceSocialTimelineUpdate", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:SocialTimelineUpdate", author="Josef Konrad", descriptionmsg="bs-socialtimelineupdate-desc", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpiceSocial=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceSocialTimelineUpdate={ className="\\BlueSpice\\Social\\TimelineUpdate\\Extension", extPath="/BlueSpiceSocialTimelineUpdate", status="beta", package="BlueSpiceSocial", }, }, }, }, Hooks={ BSSocialModuleDepths="\\BlueSpice\\Social\\TimelineUpdate\\Hook\\BSSocialModuleDepths\\AddModules::callback", BsAdapterAjaxPingResult="\\BlueSpice\\Social\\TimelineUpdate\\Hook\\BsAdapterAjaxPingResult\\CheckUpdate::callback", }, composer="bluespice/socialtimelineupdate", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceSocialTimelineUpdate", }, BlueSpiceSocialTopics={ name="BlueSpiceSocialTopics", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:SocialTopics", author="Patric Wirth", descriptionmsg="bs-socialtopics-desc", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpiceSocial=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceSocialTopics={ className="\\BlueSpice\\Social\\Topics\\Extension", extPath="/BlueSpiceSocialTopics", status="beta", package="BlueSpiceSocial", }, }, ConfigDefinitionRegistry={ SocialTopicsTalkPageAutoCreate="\\BlueSpice\\Social\\Topics\\ConfigDefinition\\BSSocialTalkpageAutoCreate::getInstance", }, RendererRegistry={ ["social-topics-entity-discussion"]="\\BlueSpice\\Social\\Topics\\Renderer\\Entity\\Discussion::factory", ["social-topics-entity-topic"]="\\BlueSpice\\Social\\Topics\\Renderer\\Entity\\Topic::factory", ["social-topics-entitylist-newdiscussion"]="\\BlueSpice\\Social\\Topics\\Renderer\\EntityList\\NewDiscussion::factory", ["social-topics-entitylist-topicsaftercontent"]="\\BlueSpice\\Social\\Topics\\Renderer\\EntityList\\TopicsAfterContent::factory", ["social-topics-createnewdiscussion"]="\\BlueSpice\\Social\\Topics\\Renderer\\CreateNewDiscussion::factory", ["social-topics-createnewdiscussionpage"]="\\BlueSpice\\Social\\Topics\\Renderer\\CreateNewDiscussionPage::factory", ["social-topics-createfirsttopicaftercontent"]="\\BlueSpice\\Social\\Topics\\Renderer\\CreateFirstTopicAfterContent::factory", }, EntityRegistry={ discussion="\\BlueSpice\\Social\\Topics\\EntityConfig\\Discussion", topic="\\BlueSpice\\Social\\Topics\\EntityConfig\\Topic", }, PermissionRegistry={ ["social-topics"]={ type="namespace", roles={ "commenter","editor","admin","maintenanceadmin",}, }, ["social-topics-comment"]={ type="namespace", roles={ "commenter","editor","admin","maintenanceadmin",}, }, }, }, }, callback="\\BlueSpice\\Social\\Topics\\Extension::onRegistration", ServiceWiringFiles={ "includes/ServiceWiring.php",}, APIModules={ ["bs-socialtopics-tasks"]="\\BlueSpice\\Social\\Topics\\Api\\Task\\Topics", }, GroupPermissions={ ["*"]={ ["social-topics"]=false, ["social-topics-comment"]=false, }, user={ ["social-topics"]=true, ["social-topics-comment"]=true, }, sysop={ ["social-topics"]=true, ["social-topics-comment"]=true, }, }, AvailableRights={ "social-topics","social-topics-comment",}, ExtensionMessagesFiles={ BlueSpiceSocialTopicsAlias="languages/Topics.alias.php", TopicsDiscussionMagic="languages/TopicsDiscussion.i18n.magic.php", }, SpecialPages={ Topics="\\BlueSpice\\Social\\Topics\\Special\\Topics", }, config_prefix="bsg", config={ SocialTopicsTalkPageAutoCreate={ value=false, descriptionmsg="bs-socialtopics-toc-entalkpageautocreate", public=true, }, SocialTopicsTimelineAfterContentNamespaceBlackList={ value={ }, }, SocialTopicsTimelineAfterContentShow={ value=true, }, }, DefaultUserOptions={ ["bs-social-topics-skipcreatedialog"]=true, }, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\Social\\Topics\\HookHandler\\CommonUserInterface", }, }, Hooks={ ArticleViewHeader="\\BlueSpice\\Social\\Topics\\Extension::onArticleViewHeader", PageSaveComplete={ "\\BlueSpice\\Social\\Topics\\Hook\\PageSaveComplete\\AutoCreateDiscussionPage::callback","\\BlueSpice\\Social\\Topics\\Hook\\PageSaveComplete\\AutoCreateDiscussionEntity::callback",}, LoadExtensionSchemaUpdates={ "\\BlueSpice\\Social\\Topics\\Hook\\LoadExtensionSchemaUpdates\\AddShoutboxMigrationMaintenanceScript::callback","\\BlueSpice\\Social\\Topics\\Hook\\LoadExtensionSchemaUpdates\\AddRatedCommentsMigrationMaintenanceScript::callback",}, ChameleonSkinTemplateOutputPageBeforeExec="\\BlueSpice\\Social\\Topics\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddTimeline::callback", BSSocialTagsBeforeSetTags="\\BlueSpice\\Social\\Topics\\Hook\\BSSocialTagsBeforeSetTags\\AddTopicTalkPageTag::callback", BSMigrateSettingsFromDeviatingNames="\\BlueSpice\\Social\\Topics\\Hook\\BSMigrateSettingsFromDeviatingNames\\MigrateSettings::callback", BSSocialModuleDepths="\\BlueSpice\\Social\\Topics\\Hook\\BSSocialModuleDepths\\AddModules::callback", GetDoubleUnderscoreIDs="\\BlueSpice\\Social\\Topics\\Hook\\GetDoubleUnderscoreIDs\\AddNoDiscussion::callback", BSInsertMagicAjaxGetData="\\BlueSpice\\Social\\Topics\\Hook\\BSInsertMagicAjaxGetData\\AddNoDiscussionSwitch::callback", GetPreferences="\\BlueSpice\\Social\\Topics\\Hook\\GetPreferences\\AddSkipCreateDialoge::callback", MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", }, composer="bluespice/socialtopics", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceSocialTopics", }, BlueSpiceSocialWatch={ name="BlueSpiceSocialWatch", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:SocialWatch", author="Patric Wirth", descriptionmsg="bs-socialwatch-desc", requires={ MediaWiki=">= 1.37.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpiceSocial=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceSocialWatch={ className="\\BlueSpice\\Social\\Watch\\Extension", extPath="/BlueSpiceSocialWatch", status="beta", package="BlueSpiceSocial", }, }, }, }, APIModules={ ["bs-socialwatch-tasks"]="\\BlueSpice\\Social\\Watch\\Api\\Task\\WatchEntities", }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, Hooks={ BSSocialModuleDepths="\\BlueSpice\\Social\\Watch\\Hook\\BSSocialModuleDepths\\AddModules::callback", BSEntityGetFullData="\\BlueSpice\\Social\\Watch\\Hook\\BSEntityGetFullData\\AddWatch::callback", BSEntityConfigDefaults="\\BlueSpice\\Social\\Watch\\Hook\\BSEntityConfigDefaults\\IsWatchable::callback", BSEntitySaveComplete="\\BlueSpice\\Social\\Watch\\Hook\\BSEntitySaveComplete\\AutoWatch::callback", BSSocialEntityGetActions="\\BlueSpice\\Social\\Watch\\Hook\\BSSocialEntityGetActions\\AddWatch::callback", }, composer="bluespice/socialwatch", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceSocialWatch", }, BlueSpiceSocialWikiPage={ name="BlueSpiceSocialWikiPage", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:SocialWikiPage", author="Patric Wirth", descriptionmsg="bs-socialwikipage-desc", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpiceSocial=">= 4.1", BlueSpiceMultiUpload=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceSocialWikiPage={ className="\\BlueSpice\\Social\\WikiPage\\Extension", extPath="/BlueSpiceSocialWikiPage", status="beta", package="BlueSpiceSocial", }, }, EntityRegistry={ wikipage="\\BlueSpice\\Social\\WikiPage\\EntityConfig\\WikiPage", stash="\\BlueSpice\\Social\\WikiPage\\EntityConfig\\Stash", }, RendererRegistry={ ["social-wikipage-entity-wikipage"]="\\BlueSpice\\Social\\WikiPage\\Renderer\\Entity\\WikiPage::factory", ["social-wikipage-entity-stash"]="\\BlueSpice\\Social\\WikiPage\\Renderer\\Entity\\Stash::factory", ["social-wikipage-entitylist-attachments"]="\\BlueSpice\\Social\\WikiPage\\Renderer\\EntityList\\Attachments::factory", ["social-wikipage-createnewwikipageentity"]="\\BlueSpice\\Social\\WikiPage\\Renderer\\CreateNewWikiPageEntity::factory", ["social-wikipage-entitylist-newwikipageentity"]="\\BlueSpice\\Social\\WikiPage\\Renderer\\EntityList\\NewWikiPageEntity::factory", ["social-wikipage-createfirstattachmentaftercontent"]="\\BlueSpice\\Social\\WikiPage\\Renderer\\CreateFirstAttachmentAfterContent::factory", }, PermissionRegistry={ ["social-stash"]={ type="namespace", roles={ "editor","admin","maintenanceadmin",}, }, }, }, }, callback="\\BlueSpice\\Social\\WikiPage\\Extension::onRegistration", SpecialPages={ WikiPageStash="\\BlueSpice\\Social\\WikiPage\\Special\\Stash", }, APIModules={ ["bs-socialstash-tasks"]="\\BlueSpice\\Social\\WikiPage\\Api\\Task\\Stash", }, ExtensionMessagesFiles={ WikiPageStashAlias="languages/WikiPageStash.alias.php", WikiPageStashMagic="languages/WikiPageStash.i18n.magic.php", }, GroupPermissions={ ["*"]={ ["social-stash"]=false, }, user={ ["social-stash"]=true, }, sysop={ ["social-stash"]=true, }, }, AvailableRights={ "social-stash",}, ServiceWiringFiles={ "includes/ServiceWiring.php",}, config_prefix="bsg", config={ SocialWikiPageTimelineAfterContentNamespaceBlackList={ value={ }, }, SocialWikiPageTimelineAfterContentShow={ value=true, }, }, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\Social\\WikiPage\\HookHandler\\CommonUserInterface", }, }, Hooks={ BSSocialModuleDepths="\\BlueSpice\\Social\\WikiPage\\Hook\\BSSocialModuleDepths\\AddModules::callback", PageSaveComplete="\\BlueSpice\\Social\\WikiPage\\Hook\\PageSaveComplete\\CreateWikiPageEntity::callback", ChameleonSkinTemplateOutputPageBeforeExec="\\BlueSpice\\Social\\WikiPage\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddTimeline::callback", GetDoubleUnderscoreIDs="\\BlueSpice\\Social\\WikiPage\\Hook\\GetDoubleUnderscoreIDs\\AddStash::callback", BSInsertMagicAjaxGetData="\\BlueSpice\\Social\\WikiPage\\Hook\\BSInsertMagicAjaxGetData\\AddNoStashSwitch::callback", MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", }, composer="bluespice/socialwikipage", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceSocialWikiPage", }, BlueSpiceSubPageTree={ name="BlueSpiceSubPageTree", version="3.0.0-beta", ["license-name"]="GPL-3.0-only", url="https://help.bluespice.com/index.php/BlueSpiceSubPageTree", author="Leonid Verhovskij", type="bluespice", descriptionmsg="bs-subpagetree-desc", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceSubPageTree={ className="BlueSpiceSubPageTree", extPath="/BlueSpiceSubPageTree", }, }, }, }, requires={ MediaWiki=">= 1.31.0", extensions={ BlueSpiceFoundation="*", }, }, Hooks={ ParserFirstCallInit="BlueSpiceSubPageTree::onParserSetup", }, config_prefix="bsg", config={ SubPageTreeRoot={ value=":", }, }, composer="mediawiki/blue-spice-sub-page-tree", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceSubPageTree", }, BlueSpiceTagCloud={ name="BlueSpiceTagCloud", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:TagCloud", author={ "Patric Wirth",}, descriptionmsg="bs-tagcloud-desc", type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceTagCloud={ className="\\BlueSpice\\TagCloud\\Extension", extPath="/BlueSpiceTagCloud", package="BlueSpice Pro", status="beta", }, }, TagRegistry={ tagcloud="\\BlueSpice\\TagCloud\\Tag\\TagCloud", }, RendererRegistry={ tagcloudtext="\\BlueSpice\\TagCloud\\Renderer\\TagCloud\\Text::factory", tagcloudlist="\\BlueSpice\\TagCloud\\Renderer\\TagCloud\\LinkList::factory", tagcloudcanvas3d="\\BlueSpice\\TagCloud\\Renderer\\TagCloud\\Canvas3D::factory", }, }, BlueSpiceTagCloud={ StoreRegistry={ category="\\BlueSpice\\TagCloud\\Data\\TagCloud\\Category\\Store", }, RendererRegistry={ text="tagcloudtext", list="tagcloudlist", canvas3d="tagcloudcanvas3d", }, }, BlueSpiceVisualEditorConnector={ TagDefinitions={ "ext.bluespice.tagcloud.visualEditorPlugin",}, }, ContentDroplets={ Droplets={ tagcloud={ class="\\BlueSpice\\TagCloud\\ContentDroplets\\TagCloudDroplet", }, }, }, }, requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, Hooks={ BSInsertMagicAjaxGetData="\\BlueSpice\\TagCloud\\Hook\\BSInsertMagicAjaxGetData\\TagCloud::callback", }, composer="bluespice/tagcloud", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceTagCloud", }, BlueSpiceUEModuleBookPDF={ name="BlueSpiceUEModuleBookPDF", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:UEModuleBookPDF", author={ "Robert Vogel","Sebastian Ulbricht",}, descriptionmsg="bs-uemodulebookpdf-extension-description", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpiceUniversalExport=">= 4.1", BlueSpiceBookshelf=">= 4.1", BlueSpiceUEModulePDF=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceUEModuleBookPDF={ className="\\BlueSpice\\UEModuleBookPDF\\Extension", extPath="/BlueSpiceUEModuleBookPDF", package="BlueSpice Pro", status="stable", }, }, ConfigDefinitionRegistry={ UEModuleBookPDFBookExportTOC="\\BlueSpice\\UEModuleBookPDF\\ConfigDefinition\\BookExportTOC::getInstance", }, PermissionRegistry={ ["uemodulebookpdf-export"]={ type="namespace", roles={ "reader",}, }, }, }, BlueSpiceUniversalExport={ ModuleRegistry={ bookpdf="\\BsBookExportModulePDF::factory", }, ExportDialogPluginRegistry={ bookpdf={ factory="\\BlueSpice\\UEModuleBookPDF\\ExportDialogPluginBook::factory", }, }, }, }, GroupPermissions={ ["*"]={ ["uemodulebookpdf-export"]=true, }, }, AvailableRights={ "uemodulebookpdf-export",}, config_prefix="bsg", config={ UEModuleBookPDFBookExportTOC={ value="only-articles", descriptionmsg="bs-uemodulebookpdf-pref-bookexporttoc", public=true, }, UEModuleBookPDFTemplatePath={ value="extensions/BlueSpiceUEModuleBookPDF/data/PDFTemplates", }, UEModuleBookPDFDefaultTemplate={ value="BlueSpice Book", }, }, Hooks={ BeforePageDisplay="\\BlueSpice\\UEModuleBookPDF\\Hook\\BeforePageDisplay\\AddResources::callback", BSMigrateSettingsFromDeviatingNames="\\BlueSpice\\UEModuleBookPDF\\Hook\\BSMigrateSettingsFromDeviatingNames\\SkipServiceSettings::callback", BSBookshelfGetBookData="\\BlueSpice\\UEModuleBookPDF\\Hook\\BSBookshelfGetBookData\\AddTemplateMetaData::callback", BSBookshelfBookManager="\\BlueSpice\\UEModuleBookPDF\\Hook\\BSBookshelfBookManager\\AddDependencies::callback", }, composer="bluespice/uemodulebookpdf", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceUEModuleBookPDF", }, BlueSpiceUEModuleDOCX={ name="BlueSpiceUEModuleDOCX", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:UEModuleDOCX", author={ "Robert Vogel",}, descriptionmsg="bs-uemoduledocx-extension-description", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpiceUniversalExport=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceUEModuleDOCX={ className="\\BlueSpice\\UEModuleDOCX\\Extension", extPath="/BlueSpiceUEModuleDOCX", package="BlueSpice Pro", status="stable", }, }, ConfigDefinitionRegistry={ UEModuleDOCXSuppressNS="\\BlueSpice\\UEModuleDOCX\\ConfigDefinition\\SuppressNS::getInstance", }, PermissionRegistry={ ["uemoduledocx-export"]={ type="namespace", roles={ "reader",}, }, ["uemoduledocxsubpages-export"]={ type="namespace", roles={ "reader",}, }, }, }, BlueSpiceUniversalExport={ ModuleRegistry={ docx="\\ExportModuleDOCX::factory", }, }, }, GroupPermissions={ ["*"]={ ["uemoduledocx-export"]=true, ["uemoduledocxsubpages-export"]=true, }, }, AvailableRights={ "uemoduledocx-export","uemoduledocxsubpages-export",}, config_prefix="bsg", config={ UEModuleDOCXSuppressNS={ value=false, descriptionmsg="bs-uemoduledocx-pref-SuppressNS", public=true, }, UEModuleDOCXDOCXServiceURL={ value="http://localhost/BShtml2DOCX", }, UEModuleDOCXDOCXServiceSecret={ value="$1$DP0.QV2.$BPGuGZOMuWwuc5DlGI1lK/", }, UEModuleDOCXDefaultTemplate={ value="BlueSpice.docx", }, UEModuleDOCXTemplatePath={ value="extensions/BlueSpiceUEModuleDOCX/data/templates", }, }, Hooks={ BSMigrateSettingsFromDeviatingNames="\\BlueSpice\\UEModuleDOCX\\Hook\\BSMigrateSettingsFromDeviatingNames\\SkipServiceSettings::callback", }, composer="bluespice/uemoduledocx", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceUEModuleDOCX", }, BlueSpiceUEModuleHTML={ name="BlueSpiceUEModuleHTML", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:UEModuleHTML", author={ "Robert Vogel",}, descriptionmsg="bs-uemodulehtml-extension-description", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpiceUniversalExport=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceUEModuleHTML={ className="\\BlueSpice\\UEModuleHTML\\Extension", extPath="/BlueSpiceUEModuleHTML", package="BlueSpice Pro", status="stable", }, }, ConfigDefinitionRegistry={ UEModuleHTMLSuppressNS="\\BlueSpice\\UEModuleHTML\\ConfigDefinition\\SuppressNS::getInstance", }, }, BlueSpiceUniversalExport={ ModuleRegistry={ html="\\ExportModuleHTML::factory", }, }, }, config_prefix="bsg", config={ UEModuleHTMLSuppressNS={ value=false, descriptionmsg="bs-uemodulehtml-pref-SuppressNS", public=true, }, UEModuleHTMLTemplatePath={ value="extensions/BlueSpiceUEModuleHTML/data/HTMLTemplates", }, }, Hooks={ BSMigrateSettingsFromDeviatingNames="\\BlueSpice\\UEModuleHTML\\Hook\\BSMigrateSettingsFromDeviatingNames\\SkipServiceSettings::callback", }, composer="bluespice/uemodulehtml", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceUEModuleHTML", }, BlueSpiceUEModulePDF={ name="BlueSpiceUEModulePDF", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:UEModulePDF", author="Robert Vogel", descriptionmsg="bs-uemodulepdf-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpiceUniversalExport=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceUEModulePDF={ className="\\BlueSpice\\UEModulePDF\\Extension", extPath="/BlueSpiceUEModulePDF", }, }, ConfigDefinitionRegistry={ UEModulePDFSuppressNS="\\BlueSpice\\UEModulePDF\\ConfigDefinition\\SuppressNS::getInstance", }, PermissionRegistry={ ["uemodulepdf-export"]={ type="namespace", roles={ "reader",}, }, ["uemodulepdfsubpages-export"]={ type="namespace", roles={ "reader",}, }, ["uemodulepdfrecursive-export"]={ type="namespace", roles={ "reader",}, }, }, }, BlueSpiceUniversalExport={ ModuleRegistry={ pdf="\\BsExportModulePDF::factory", }, ExportDialogPluginRegistry={ pdf={ factory="\\BlueSpice\\UEModulePDF\\ExportDialogPluginPage::factory", }, }, }, }, callback="\\BlueSpice\\UEModulePDF\\Extension::onRegistration", GroupPermissions={ ["*"]={ ["uemodulepdf-export"]=true, ["uemodulepdfsubpages-export"]=true, ["uemodulepdfrecursive-export"]=true, }, }, AvailableRights={ "uemodulepdf-export","uemodulepdfsubpages-export","uemodulepdfrecursive-export",}, Hooks={ BSMigrateSettingsFromDeviatingNames="\\BlueSpice\\UEModulePDF\\Hook\\BSMigrateSettingsFromDeviatingNames\\SkipServiceSettings::callback", }, config_prefix="bsg", config={ UEModulePDFSuppressNS={ value=false, descriptionmsg="bs-uemodulepdf-pref-suppressns", public=true, }, UEModulePDFPdfServiceURL={ value="http://127.0.0.1:8080/BShtml2PDF", }, UEModulePDFDefaultTemplate={ value="BlueSpice", }, UEModulePDFTemplatePath={ value="extensions/BlueSpiceUEModulePDF/data/PDFTemplates", }, UEModulePDFAllowPartialExport={ value=false, }, }, composer="bluespice/uemodulepdf", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceUEModulePDF", }, BlueSpiceUEModulePDFRecursive={ name="BlueSpiceUEModulePDFRecursive", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:UEModulePDFRecursive", author={ "Robert Vogel",}, descriptionmsg="bs-uemodulepdfrecursive-extension-description", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpiceUniversalExport=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceUEModulePDFRecursive={ className="\\BlueSpice\\UEModulePDFRecursive\\Extension", extPath="/BlueSpiceUEModulePDFRecursive", package="BlueSpice Pro", status="stable", }, }, }, }, composer="bluespice/uemodulepdfrecursive", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceUEModulePDFRecursive", }, BlueSpiceUEModulePDFSubpages={ name="BlueSpiceUEModulePDFSubpages", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:UEModulePDFSubpages", author={ "Robert Vogel","Tobias Weichart",}, descriptionmsg="bs-uemodulepdfsubpages-extension-description", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpiceUniversalExport=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceUEModulePDFSubpages={ className="\\BlueSpice\\UEModulePDFSubpages\\Extension", extPath="/BlueSpiceUEModulePDFSubpages", package="BlueSpice Pro", status="stable", }, }, }, }, composer="bluespice/uemodulepdfsubpages", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceUEModulePDFSubpages", }, BlueSpiceUEModuleTable2Excel={ name="BlueSpiceUEModuleTable2Excel", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:UEModuleTable2Excel", author={ "Patric Wirth",}, descriptionmsg="bs-uemoduletable2excel-extension-description", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpiceUniversalExport=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceUEModuleTable2Excel={ className="\\BlueSpice\\UEModuleTable2Excel\\Extension", extPath="/BlueSpiceUEModuleTable2Excel", package="BlueSpice Pro", status="beta", }, }, }, BlueSpiceUniversalExport={ ModuleRegistry={ table2excel="\\BsUEModuleTable2Excel::factory", }, }, }, composer="bluespice/uemoduletable2excel", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceUEModuleTable2Excel", }, BlueSpiceUniversalExport={ name="BlueSpiceUniversalExport", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:UniversalExport", author="Robert Vogel", descriptionmsg="bs-universalexport-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceUniversalExport={ className="\\BlueSpice\\UniversalExport\\Extension", extPath="/BlueSpiceUniversalExport", }, }, ConfigDefinitionRegistry={ UniversalExportMetadataDefaults="\\BlueSpice\\UniversalExport\\ConfigDefinition\\MetadataDefaults::getInstance", UniversalExportMetadataOverrides="\\BlueSpice\\UniversalExport\\ConfigDefinition\\MetadataOverrides::getInstance", }, TagRegistry={ uepagebreak="\\BlueSpice\\UniversalExport\\Tag\\PageBreak", universalexport="\\BlueSpice\\UniversalExport\\Tag\\NoExport", uehidetitle="\\BlueSpice\\UniversalExport\\Tag\\HideTitle", ueexcludearticle="\\BlueSpice\\UniversalExport\\Tag\\ExcludeArticle", ["universalexport:meta"]="\\BlueSpice\\UniversalExport\\Tag\\Meta", ["universalexport:params"]="\\BlueSpice\\UniversalExport\\Tag\\Params", }, }, BlueSpiceUniversalExport={ ExportTargetRegistry={ download="BlueSpice\\UniversalExport\\ExportTarget\\Download::factory", localfilerepo="BlueSpice\\UniversalExport\\ExportTarget\\LocalFileRepo::factory", localfilesystem="BlueSpice\\UniversalExport\\ExportTarget\\LocalFileSystem::factory", }, ModuleRegistry={ }, ExportDialogPluginRegistry={ }, }, BlueSpiceVisualEditorConnector={ TagDefinitions={ "ext.bluespice.universalExport.visualEditorTagDefinition",}, PluginModules={ "ext.bluespice.universalExport.visualEditor",}, }, ContentDroplets={ Droplets={ ["pdf-pagebreak"]={ class="BlueSpice\\UniversalExport\\ContentDroplets\\PDFPageBreakDroplet", }, ["pdf-noexport"]={ class="BlueSpice\\UniversalExport\\ContentDroplets\\PDFNoExportDroplet", }, }, }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, SpecialPages={ UniversalExport="SpecialUniversalExport", }, ExtensionMessagesFiles={ UniversalExportAlias="languages/SpecialUniversalExport.alias.php", }, config_prefix="bsg", config={ UniversalExportCategoryWhitelist={ value={ "Exportable","Public",}, }, UniversalExportCategoryBlacklist={ value={ "Confidential","Internal",}, }, UniversalExportMetadataDefaults={ value="{\"creator\":\"Hallo Welt! GmbH\"}", descriptionmsg="bs-universalexport-pref-metadatadefaults", public=true, }, UniversalExportMetadataOverrides={ value="{\"producer\":\"UniversalExport 3.0.0 (BlueSpice MediaWiki)\"}", descriptionmsg="bs-universalexport-pref-metadataoverrides", public=true, }, UniversalExportParamsDefaults={ value={ format="pdf", ["pdf-merging"]="0", attachments="0", recursive=false, filter="use-all", }, }, UniversalExportParamsOverrides={ value={ ["use-serverside-caching"]=false, ["pdf-attachment-formats"]={ "doc","docx","xls","xlsx","ppt","pptx","odt","ods","odp","odg","svg",}, }, }, }, HookHandlers={ skin={ class="\\BlueSpice\\UniversalExport\\HookHandler\\SkinHandler", services={ "BSUniversalExportDialogPluginFactory",}, }, ["discovery-skin"]={ class="\\BlueSpice\\UniversalExport\\HookHandler\\DiscoverySkinHandler", }, }, Hooks={ BSInsertMagicAjaxGetData={ "\\BlueSpice\\UniversalExport\\Hook\\BSInsertMagicAjaxGetData\\AddUEMetaTag::callback","\\BlueSpice\\UniversalExport\\Hook\\BSInsertMagicAjaxGetData\\AddUEParamsTag::callback","\\BlueSpice\\UniversalExport\\Hook\\BSInsertMagicAjaxGetData\\AddPdfUENoExportTag::callback","\\BlueSpice\\UniversalExport\\Hook\\BSInsertMagicAjaxGetData\\AddPdfUEPageBreakTag::callback",}, BSUsageTrackerRegisterCollectors={ "\\BlueSpice\\UniversalExport\\Hook\\BSUsageTrackerRegisterCollectors\\AddUEExcludeArticleTag::callback","\\BlueSpice\\UniversalExport\\Hook\\BSUsageTrackerRegisterCollectors\\AddUEExcludeTag::callback","\\BlueSpice\\UniversalExport\\Hook\\BSUsageTrackerRegisterCollectors\\AddUEHideTitleTag::callback","\\BlueSpice\\UniversalExport\\Hook\\BSUsageTrackerRegisterCollectors\\AddUEMetaTag::callback","\\BlueSpice\\UniversalExport\\Hook\\BSUsageTrackerRegisterCollectors\\AddUEPageBreakTag::callback","\\BlueSpice\\UniversalExport\\Hook\\BSUsageTrackerRegisterCollectors\\AddUEParamsTag::callback",}, SidebarBeforeOutput="skin", BeforePageDisplay="skin", MWStakeCommonUIRegisterSkinSlotComponents="discovery-skin", }, composer="bluespice/universalexport", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceUniversalExport", }, BlueSpiceUsageTracker={ name="BlueSpiceUsageTracker", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:UsageTracker", author="Markus Glaser", descriptionmsg="bs-usagetracker-desc", type="bluespice", SpecialPages={ UsageTracker="\\BS\\UsageTracker\\Special\\UsageTracker", }, requires={ MediaWiki=">= 1.37.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceUsageTracker={ className="\\BS\\UsageTracker\\Extension", extPath="/BlueSpiceUsageTracker", }, }, PermissionRegistry={ ["usagetracker-update"]={ type="global", roles={ "admin","maintenanceadmin",}, }, }, }, }, GroupPermissions={ ["*"]={ ["usagetracker-update"]=false, }, user={ ["usagetracker-update"]=false, }, sysop={ ["usagetracker-update"]=true, }, }, AvailableRights={ "usagetracker-update",}, APIModules={ ["bs-usagetracker-store"]="BS\\UsageTracker\\Api\\UsageTrackerStore", }, ExtensionMessagesFiles={ BlueSpiceUsageTrackerAlias="languages/SpecialUsageTracker.alias.php", }, Hooks={ LoadExtensionSchemaUpdates="BS\\UsageTracker\\Hook\\LoadExtensionSchemaUpdates\\AddUsageTrackerTable::callback", BSUsageTrackerRegisterCollectors={ "BlueSpice\\UsageTracker\\Hook\\BSUsageTrackerRegisterCollectors\\NoOfCategories::callback","BlueSpice\\UsageTracker\\Hook\\BSUsageTrackerRegisterCollectors\\NoOfUsersPerGroup::callback","BlueSpice\\UsageTracker\\Hook\\BSUsageTrackerRegisterCollectors\\NoOfPagesByPageProperty::callback","BlueSpice\\UsageTracker\\Hook\\BSUsageTrackerRegisterCollectors\\NoOfPageContentModels::callback",}, }, JobClasses={ usageTrackerCollectJob="BS\\UsageTracker\\Jobs\\UsageTrackerCollectJob", }, composer="bluespice/usagetracker", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceUsageTracker", }, BlueSpiceUserInfo={ name="BlueSpiceUserInfo", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:UserInfo", author="Patric Wirth", descriptionmsg="bs-userinfo-description", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceUserInfo={ className="\\BlueSpice\\UserInfo\\Extension", extPath="/BlueSpiceUserInfo", package="BlueSpice Pro", }, }, LessVarsRegistry={ ["bs-userinfo-color-lighten-information"]="#BABABA", }, }, BlueSpiceUserInfo={ MetaData={ name="\\BlueSpice\\UserInfo\\MetaData\\Name::getInstance", email="\\BlueSpice\\UserInfo\\MetaData\\Email::getInstance", }, }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, APIModules={ ["bs-userinfometa"]="\\BlueSpice\\UserInfo\\Api\\Meta", }, config_prefix="bsg", config={ UserInfoHiddenMeta={ value={ "email",}, }, }, Hooks={ BeforePageDisplay="\\BlueSpice\\UserInfo\\Hook\\BeforePageDisplay\\AddResources::callback", BSFoundationRendererMakeTagAttribs="\\BlueSpice\\UserInfo\\Hook\\BSFoundationRendererMakeTagAttribs\\AddMetaData::callback", }, composer="bluespice/userinfo", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceUserInfo", }, BlueSpiceUserManager={ name="BlueSpiceUserManager", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:UserManager", author={ "Sebastian Ulbricht","Stephan Muggli","Markus Glaser","Leonid Verhovskij",}, descriptionmsg="bs-usermanager-desc", type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceUserManager={ className="\\BlueSpice\\UserManager\\Extension", extPath="/BlueSpiceUserManager", }, }, AdminToolRegistry={ ["bs-usermanager-manager"]="BlueSpice\\UserManager\\AdminTool", }, PermissionRegistry={ ["usermanager-viewspecialpage"]={ type="global", roles={ "accountmanager","admin","maintenanceadmin",}, }, ["usermanager-editpassword"]={ type="global", roles={ "accountmanager","admin","maintenanceadmin",}, }, ["usermanager-deleteuser"]={ type="global", roles={ }, }, }, }, }, requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, SpecialPages={ UserManager="SpecialUserManager", }, ExtensionMessagesFiles={ UserManagerAlias="includes/specials/SpecialUserManager.alias.php", }, APIModules={ ["bs-usermanager-tasks"]="BSApiTasksUserManager", ["bs-usermanager-group-store"]="BSApiChangeableGroupStore", }, GroupPermissions={ sysop={ ["usermanager-viewspecialpage"]=true, ["usermanager-deleteuser"]=false, }, }, AvailableRights={ "usermanager-viewspecialpage","usermanager-deleteuser",}, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\UserManager\\HookHandler\\CommonUserInterface", }, }, Hooks={ MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", BeforePageDisplay="\\BlueSpice\\UserManager\\Hook\\BeforePageDisplay\\AddModules::callback", }, config_prefix="bsg", config={ UserManagerForceResetLink={ value=false, }, }, composer="bluespice/usermanager", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceUserManager", }, BlueSpiceUserSidebar={ name="BlueSpiceUserSidebar", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", author={ "Dejan Savuljesku",}, url="https://en.wiki.bluespice.com/wiki/Reference:UserSidebar", descriptionmsg="bs-usersidebar-desc", type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceUserSidebar={ className="\\BlueSpice\\UserSidebar\\Extension", extPath="/BlueSpiceUserSidebar", }, }, }, BlueSpiceUserSidebar={ Widgets={ }, WidgetRegistry={ }, }, MenuEditor={ Menus={ ["user-sidebar"]={ class="BlueSpice\\UserSidebar\\Menu\\UserSidebar", services={ "BSUserSidebarWidgetFactory","MWStakeWikitextParserFactory",}, }, }, Nodes={ ["menu-user-sidebar-keyword"]={ classname="ext.usersidebar.data.UsersidebarKeywordNode", module="ext.blueSpice.userSidebar.data", }, }, }, }, requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, callback="\\BlueSpice\\UserSidebar\\Extension::onRegistry", ServiceWiringFiles={ "includes/ServiceWiring.php",}, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\UserSidebar\\HookHandler\\CommonUserInterface", }, }, Hooks={ BeforePageDisplay="\\BlueSpice\\UserSidebar\\Hook\\BeforePageDisplay\\AddStyles::callback", ChameleonSkinTemplateOutputPageBeforeExec="\\BlueSpice\\UserSidebar\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddUserSidebar::callback", BSUsageTrackerRegisterCollectors="\\BlueSpice\\UserSidebar\\Hook\\BSUsageTrackerRegisterCollectors\\NoOfUserSidebars::callback", EditFormPreloadText={ "\\BlueSpice\\UserSidebar\\Hook\\EditFormPreloadText\\UserSidebarDefaultText::callback",}, MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", }, config={ MenuEditorUserSidebarAllowedKeywords={ value={ "PAGESVISITED","YOUREDITS",}, }, }, composer="bluespice/usersidebar", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceUserSidebar", }, BlueSpiceVisualDiff={ name="BlueSpiceVisualDiff", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:VisualDiff", author={ "Markus Glaser","Robert Vogel",}, descriptionmsg="bs-visualdiff-extension-description", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceVisualDiff={ className="\\BlueSpice\\VisualDiff\\Extension", extPath="/BlueSpiceVisualDiff", package="BlueSpice Pro", }, }, }, BlueSpiceVisualDiff={ DiffEngineRegistry={ HTMLDiffEngine="\\HTMLDiffEngine::factory", UnifiedTextDiffEngine="\\UnifiedTextDiffEngine::factory", }, }, }, callback="\\BlueSpice\\VisualDiff\\Extension::onRegistration", ServiceWiringFiles={ "includes/ServiceWiring.php",}, DefaultUserOptions={ diffonly=0, }, config_prefix="bsg", config={ VisualDiffHtmlDiffEngineUrl={ value="http://localhost:8080/BShtmlDiff", }, VisualDiffForceCurlHttp11={ value=false, }, }, Hooks={ BSUEModulePDFBeforeAddingStyleBlocks="\\BlueSpice\\VisualDiff\\Hook\\BSUEModulePDFBeforeAddingStyleBlocks\\AddVisualDiffStyles::callback", BSUEModulePDFBeforeCreatePDF="\\BlueSpice\\VisualDiff\\Hook\\BSUEModulePDFBeforeCreatePDF\\HideUnselectedDiffs::callback", }, composer="bluespice/visualdiff", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceVisualDiff", }, BlueSpiceVisualEditorConnector={ name="BlueSpiceVisualEditorConnector", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:BlueSpiceVisualEditorConnector", author={ "Markus Glaser",}, descriptionmsg="bs-visualeditorconnector-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", VisualEditor="*", OOJSPlus="*", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceVisualEditorConnector={ className="\\BlueSpice\\VisualEditorConnector\\Extension", extPath="/BlueSpiceVisualEditorConnector", status="beta", package="BlueSpice Pro", }, }, ConfigDefinitionRegistry={ VisualEditorConnectorEnableVisualEditor="\\BlueSpice\\VisualEditorConnector\\ConfigDefinition\\EnableVisualEditor::getInstance", VisualEditorConnectorUploadDialogType="\\BlueSpice\\VisualEditorConnector\\ConfigDefinition\\UploadDialogType::getInstance", }, JSConfigVars={ BlueSpiceVisualEditorConfig="\\BlueSpice\\VisualEditorConnector\\ClientConfig::factory", }, }, BlueSpiceVisualEditorConnector={ PluginModules={ "ext.bluespice.visualEditorConnector.tableStyle","ext.bluespice.visualEditorConnector.internalLink",}, TagDefinitions={ }, PostProcessors={ }, PreProcessors={ }, ClientConfig={ ColorPickerColors="\\BlueSpice\\VisualEditorConnector\\ClientConfig\\ColorPickerColors::factory", ColorPickerColorsBackground="\\BlueSpice\\VisualEditorConnector\\ClientConfig\\ColorPickerColorsBackground::factory", CellBorderColors="\\BlueSpice\\VisualEditorConnector\\ClientConfig\\CellBorderColors::factory", PluginModules="\\BlueSpice\\VisualEditorConnector\\ClientConfig\\PluginModules::factory", TableStyleRegistry="\\BlueSpice\\VisualEditorConnector\\ClientConfig\\TableStyleRegistry::factory", TagDefinitions="\\BlueSpice\\VisualEditorConnector\\ClientConfig\\TagDefinitions::factory", UploadType="\\BlueSpice\\VisualEditorConnector\\ClientConfig\\UploadType::factory", PasteFilename="\\BlueSpice\\VisualEditorConnector\\ClientConfig\\PasteFilename::factory", HelpUrl="\\BlueSpice\\VisualEditorConnector\\ClientConfig\\HelpUrl::factory", }, }, VisualEditor={ PluginModules={ "ext.bluespice.visualEditorConnector.plugin",}, }, BlueSpiceSaferEdit={ EnvironmentCheckers={ veaction="\\BlueSpice\\VisualEditorConnector\\SaferEdit\\EnvironmentChecker\\VeActionChecker::factory", }, }, }, callback="\\BlueSpice\\VisualEditorConnector\\Extension::onRegistration", config_prefix="bsg", config={ VisualEditorConnectorEnableVisualEditor={ value=true, descriptionmsg="bs-visualeditorconnector-enable-visualeditor", public=true, }, VisualEditorConnectorUploadDialogType={ value="original", descriptionmsg="bs-visualeditorconnector-upload-dialog-type", public=true, }, VisualEditorConnectorTableStyleRegistry={ value={ ["No table style"]="nostyle", Standard="wikitable", Content="contenttable", ["Content (black)"]="contenttable-black", ["Content (blue)"]="contenttable-blue", ["Content (darkblue)"]="contenttable-darkblue", ["Cusco Sky"]="cuscosky", Casablanca="casablanca", Greyscale="greyscale", ["Greyscale (narrow)"]="greyscale-narrow", }, }, VisualEditorConnectorColorPickerColors={ description="Usage described in docs/custom_text_colors.md", value={ { class="col-white", name="White", },{ class="col-blue-light", name="Light Blue", },{ class="col-blue", name="Blue", },{ class="col-blue-dark", name="Dark Blue", },{ class="col-blue-navy", name="Navy Blue", },{ class="col-orange", name="Orange", },{ class="col-turquoise", name="Turquoise", },{ class="col-green", name="Green", },{ class="col-purple", name="Purple", },{ class="col-red", name="Red", },{ class="col-grey-light", name="Light Grey", },{ class="col-grey-medium", name="Medium Grey", },{ class="col-grey", name="Grey", },{ class="col-grey-dark", name="Dark Grey", },{ class="col-black", name="Black", },}, }, VisualEditorConnectorColorPickerColorsBackground={ description="Usage described in docs/custom_text_colors.md", value={ { class="col-white-bg", name="White", },{ class="col-blue-light-bg", name="Light Blue", },{ class="col-blue-bg", name="Blue", },{ class="col-blue-dark-bg", name="Dark Blue", },{ class="col-blue-navy-bg", name="Navy Blue", },{ class="col-orange-bg", name="Orange", },{ class="col-turquoise-bg", name="Turquoise", },{ class="col-green-bg", name="Green", },{ class="col-purple-bg", name="Purple", },{ class="col-red-bg", name="Red", },{ class="col-grey-light-bg", name="Light Grey", },{ class="col-grey-medium-bg", name="Medium Grey", },{ class="col-grey-bg", name="Grey", },{ class="col-grey-dark-bg", name="Dark Grey", },{ class="col-black-bg", name="Black", },}, }, VisualEditorConnectorCellBorderColors={ value={ { code="#97bfe7", },{ code="#5185b9", },{ code="#0060df", },{ code="#3e5389", },{ code="#e49c00", },{ code="#259596", },{ code="#3fb34c", },{ code="#cd41cb", },{ code="#b73a3a", },{ code="#d2d2d2", },{ code="#acacac", },{ code="#787878", },{ code="#434343", },{ code="#000000", },}, }, VisualEditorConnectorPasteFilename={ value="", description={ "Default name pasted files will receive.","Tokens, and  can be used to generate unique parts of the name.","This name should not include the file extension",}, }, VisualEditorConnectorHelpUrl={ value="https://en.wiki.bluespice.com/wiki/Manual:Extension/VisualEditor", description="Help URL for the VE help button", }, }, Hooks={ BSSocialModuleDepths="\\BlueSpice\\VisualEditorConnector\\Hook\\BSSocialModuleDepths\\AddVECModules::callback", BSPageTemplatesModifyTargetUrl="\\BlueSpice\\VisualEditorConnector\\Hook\\BSPageTemplatesModifyTargetUrl\\UseVisualEditor::callback", BeforePageDisplay={ "\\BlueSpice\\VisualEditorConnector\\Hook\\BeforePageDisplay\\AddStaticStyles::callback",}, ["NamespaceManager::getMetaFields"]="\\BlueSpice\\VisualEditorConnector\\Hook\\NamespaceManagerGetMetaFields\\RegisterMetaFields::callback", BSApiNamespaceStoreMakeData="\\BlueSpice\\VisualEditorConnector\\Hook\\BSApiNamespaceStoreMakeData\\AddData::callback", ["NamespaceManager::editNamespace"]="\\BlueSpice\\VisualEditorConnector\\Hook\\NamespaceManagerEditNamespace\\SetVisualEditorValues::callback", ["NamespaceManager::writeNamespaceConfiguration"]={ "\\BlueSpice\\VisualEditorConnector\\Hook\\NamespaceManagerWriteNamespaceConfiguration\\WriteToConfiguration::callback",}, BSUEModulePDFBeforeAddingStyleBlocks="\\BlueSpice\\VisualEditorConnector\\Hook\\BSUEModulePDFBeforeAddingStyleBlock\\AddColors::callback", UnitTestsList="\\BlueSpice\\VisualEditorConnector\\Hook\\UnitTestsList\\DisableFlaggedRevsTests::callback", }, composer="bluespice/visualeditorconnector", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceVisualEditorConnector", }, BlueSpiceWatchList={ name="BlueSpiceWatchList", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:BlueSpiceWatchList", author="Robert Vogel", descriptionmsg="bs-watchlist-desc", type="bluespice", ["license-name"]="GPL-3.0-only", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceWatchList={ className="\\BlueSpice\\WatchList\\Extension", extPath="/BlueSpiceWatchList", }, }, TagRegistry={ watchlist="\\BlueSpice\\WatchList\\Tag\\WatchList", }, }, BlueSpiceUserSidebar={ Widgets={ WATCHLIST={ callback="\\BlueSpice\\WatchList\\Panel\\WatchList::factory", default=true, }, }, }, BlueSpiceDiscovery={ AttentionIndicatorRegistry={ watchlist="\\BlueSpice\\WatchList\\AttentionIndicator\\WatchList::factory", }, }, BlueSpiceVisualEditorConnector={ TagDefinitions={ "ext.bluespice.watchlist.visualEditor",}, }, ContentDroplets={ Droplets={ watchlist={ class="\\BlueSpice\\WatchList\\ContentDroplets\\WatchlistDroplet", }, }, }, }, HookHandlers={ skin={ class="\\BlueSpice\\WatchList\\HookHandler\\Skin", }, }, Hooks={ BeforePageDisplay={ "\\BlueSpice\\WatchList\\Hook\\BeforePageDisplay\\AddModules::callback",}, BSInsertMagicAjaxGetData="\\BlueSpice\\WatchList\\Hook\\BSInsertMagicAjaxGetData\\AddWatchListTag::callback", BSUsageTrackerRegisterCollectors="\\BlueSpice\\WatchList\\Hook\\BSUsageTrackerRegisterCollectors\\AddWatchListTag::callback", ["SkinTemplateNavigation::Universal"]="skin", }, composer="bluespice/watchlist", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceWatchList", }, BlueSpiceWhoIsOnline={ name="BlueSpiceWhoIsOnline", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:WhoIsOnline", author={ "Markus Glaser","Patric Wirth",}, descriptionmsg="bs-whoisonline-desc", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceWhoIsOnline={ className="\\BlueSpice\\WhoIsOnline\\Extension", extPath="/BlueSpiceWhoIsOnline", }, }, ConfigDefinitionRegistry={ WhoIsOnlineMaxIdleTime="\\BlueSpice\\WhoIsOnline\\ConfigDefinition\\MaxIdleTime::getInstance", WhoIsOnlineInterval="\\BlueSpice\\WhoIsOnline\\ConfigDefinition\\Interval::getInstance", }, RunJobsTriggerHandlerRegistry={ ["bs-whoisonline-deleteoldentries"]="\\BlueSpice\\WhoIsOnline\\RunJobsTriggerHandler\\DeleteOldEntries::factory", }, TagRegistry={ whoisonlinecount="\\BlueSpice\\WhoIsOnline\\Tag\\Count", whoisonlinepopup="\\BlueSpice\\WhoIsOnline\\Tag\\PopUp", }, RendererRegistry={ ["whoisonline-userlist"]="\\BlueSpice\\WhoIsOnline\\Renderer\\UserList::factory", }, }, BlueSpiceVisualEditorConnector={ TagDefinitions={ "ext.bluespice.whoisonlinecount.visualEditorTagDefinition","ext.bluespice.whoisonlinepopup.visualEditorTagDefinition",}, }, BlueSpiceExtendedStatistics={ SnapshotProviders={ ["wo-logincount"]={ class="\\BlueSpice\\WhoIsOnline\\Statistics\\SnapshotProvider\\LoginCount", services={ "DBLoadBalancer",}, }, }, Reports={ ["wo-logincount"]={ class="\\BlueSpice\\WhoIsOnline\\Statistics\\Report\\LoginCount", }, }, }, ContentDroplets={ Droplets={ ["whoisonline-popup"]={ class="\\BlueSpice\\WhoIsOnline\\ContentDroplets\\WhoIsOnlinePopupDroplet", }, ["whoisonline-count"]={ class="\\BlueSpice\\WhoIsOnline\\ContentDroplets\\WhoIsOnlineCountDroplet", }, }, }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, ExtensionMessagesFiles={ WhoIsOnlineMagic="languages/WhoIsOnline.i18n.magic.php", }, Hooks={ ParserFirstCallInit="\\BlueSpice\\WhoIsOnline\\Hook\\ParserFirstCallInit\\Trace::callback", BSInsertMagicAjaxGetData={ "\\BlueSpice\\WhoIsOnline\\Hook\\BSInsertMagicAjaxGetData\\AddCountTag::callback","\\BlueSpice\\WhoIsOnline\\Hook\\BSInsertMagicAjaxGetData\\AddPopUpTag::callback",}, BSUsageTrackerRegisterCollectors={ "\\BlueSpice\\WhoIsOnline\\Hook\\BSUsageTrackerRegisterCollectors\\AddWhoIsOnlineCountTag::callback","\\BlueSpice\\WhoIsOnline\\Hook\\BSUsageTrackerRegisterCollectors\\AddWhoIsOnlinePopUpTag::callback",}, BeforePageDisplay="\\BlueSpice\\WhoIsOnline\\Hook\\BeforePageDisplay\\AddModules::callback", LoadExtensionSchemaUpdates={ "\\BlueSpice\\WhoIsOnline\\Hook\\LoadExtensionSchemaUpdates\\AddWhoIsOnlineTable::callback","\\BlueSpice\\WhoIsOnline\\Hook\\LoadExtensionSchemaUpdates\\AddClearTableLoggedUpdate::callback",}, BsAdapterAjaxPingResult={ "\\BlueSpice\\WhoIsOnline\\Hook\\BsAdapterAjaxPingResult\\UpdatePortlets::callback","\\BlueSpice\\WhoIsOnline\\Hook\\BsAdapterAjaxPingResult\\UpdateOnlineMarkers::callback",}, BSFoundationRendererMakeTagAttribs="\\BlueSpice\\WhoIsOnline\\Hook\\BSFoundationRendererMakeTagAttribs\\AddUserProfileOnlineMarkerMetaData::callback", MergeAccountFromTo="\\BlueSpice\\WhoIsOnline\\Hook\\MergeAccountFromTo\\MergeWhoIsOnlineDBFields::callback", }, config_prefix="bsg", config={ WhoIsOnlineMaxIdleTime={ value=600, descriptionmsg="bs-whoisonline-pref-maxidletime", public=true, }, WhoIsOnlineInterval={ value=10, descriptionmsg="bs-whoisonline-pref-interval", public=true, }, WhoIsOnlineLimitCount={ value=7, descriptionmsg="bs-whoisonline-pref-limitcount", public=true, }, }, composer="bluespice/whoisonline", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceWhoIsOnline", }, BlueSpiceWikiExplorer={ name="BlueSpiceWikiExplorer", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:WikiExplorer", author={ "Sebastian Ulbricht","Patric Wirth",}, descriptionmsg="bs-wikiexplorer-extension-description", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, type="bluespice", attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceWikiExplorer={ className="\\BlueSpice\\WikiExplorer\\Extension", extPath="/BlueSpiceWikiExplorer", package="BlueSpice Pro", }, }, }, }, APIModules={ ["bs-wikiexplorer-store"]="BSApiWikiExplorerStore", }, SpecialPages={ WikiExplorer="SpecialWikiExplorer", }, ExtensionMessagesFiles={ WikiExplorerAlias="languages/SpecialWikiExplorer.alias.php", }, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\WikiExplorer\\HookHandler\\CommonUserInterface", }, }, Hooks={ ChameleonSkinTemplateOutputPageBeforeExec="\\BlueSpice\\WikiExplorer\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddWikiExplorer::callback", BSUserSidebarGlobalActionsWidgetGlobalActions="WikiExplorer::onBSUserSidebarGlobalActionsWidgetGlobalActions", BeforePageDisplay="\\BlueSpice\\WikiExplorer\\Hook\\BeforePageDisplay\\AddModuleStyles::callback", MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", }, composer="bluespice/wikiexplorer", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceWikiExplorer", }, BoilerPlate={ name="BoilerPlate", author={ "Your Name",}, url="https://www.mediawiki.org/wiki/Extension:BoilerPlate", descriptionmsg="boilerplate-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.35.0", }, config={ BoilerPlateEnableFoo={ description="Enable the Foo feature.", value=true, }, BoilerPlateVandalizeEachPage={ description="Write 'BoilerPlate was here' on each page", value=false, }, }, HookHandlers={ BoilerPlateHooks={ class="MediaWiki\\Extension\\BoilerPlate\\Hooks", }, }, Hooks={ BeforePageDisplay="BoilerPlateHooks", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BoilerPlate", }, Bootstrap={ name="Bootstrap", type="other", author={ "Stephan Gambke","Professional.Wiki","James Hong Kong",}, version="4.2", url="https://www.mediawiki.org/wiki/Extension:Bootstrap", descriptionmsg="bootstrap-desc", ["license-name"]="GPL-3.0-or-later", requires={ MediaWiki=">= 1.29.0", }, callback="\\Bootstrap\\Bootstrap::init", repository="https://github.com/cmln/mw-bootstrap", composer="mediawiki/bootstrap", }, BounceHandler={ name="BounceHandler", version="1.0", author={ "Tony Thomas","Kunal Mehta","Jeff Green","Sam Reed",}, url="https://www.mediawiki.org/wiki/Extension:BounceHandler", descriptionmsg="bouncehandler-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.38.0", }, APIModules={ bouncehandler={ class="MediaWiki\\Extension\\BounceHandler\\ApiBounceHandler", services={ "JobQueueGroupFactory",}, }, }, config={ BounceHandlerCluster={ value=false, }, BounceHandlerInternalIPs={ value={ "127.0.0.1","::1",}, }, BounceHandlerSharedDB={ value=false, }, BounceHandlerUnconfirmUsers={ value=false, }, BounceRecordLimit={ value=10, }, BounceRecordMaxAge={ value=5184000, }, BounceRecordPeriod={ value=604800, }, GenerateVERP={ value=true, }, UnrecognizedBounceNotify={ value={ }, }, VERPAcceptTime={ value=259200, }, VERPalgorithm={ value="md5", }, VERPdomainPart={ value=nil, }, VERPprefix={ value="wiki", }, VERPsecret={ value="MediawikiVERP", }, }, Hooks={ UserMailerChangeReturnPath="MediaWiki\\Extension\\BounceHandler\\Hooks::onVERPAddressGenerate", LoadExtensionSchemaUpdates="MediaWiki\\Extension\\BounceHandler\\Hooks::onLoadExtensionSchemaUpdates", BeforeCreateEchoEvent="MediaWiki\\Extension\\BounceHandler\\Hooks::onBeforeCreateEchoEvent", EchoGetDefaultNotifiedUsers="MediaWiki\\Extension\\BounceHandler\\Hooks::onEchoGetDefaultNotifiedUsers", }, JobClasses={ BounceHandlerJob="MediaWiki\\Extension\\BounceHandler\\BounceHandlerJob", BounceHandlerNotificationJob="MediaWiki\\Extension\\BounceHandler\\BounceHandlerNotificationJob", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BounceHandler", }, BreadCrumbs={ name="BreadCrumbs", version="0.6.1", author={ "Manuel Schneider","Tony Boyles","...",}, url="https://www.mediawiki.org/wiki/Extension:BreadCrumbs", descriptionmsg="breadcrumbs-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.35.0", }, DefaultUserOptions={ ["breadcrumbs-showcrumbs"]=true, ["breadcrumbs-delimiter"]=">", ["breadcrumbs-numberofcrumbs"]=5, ["breadcrumbs-namespaces"]=true, ["breadcrumbs-filter-duplicates"]=false, ["breadcrumbs-preceding-text"]="", }, Hooks={ BeforePageDisplay="BreadCrumbsFunctions::fnBreadCrumbsShowHook", GetPreferences="BreadCrumbsFunctions::fnBreadCrumbsAddPreferences", }, config={ BreadCrumbsShowAnons={ value=true, description="Whether to provide the links also for anonymous users.", }, BreadCrumbsAllowUPOs={ value=true, description="Whether users should be allowed to configure BreadCrumbs options.", }, BreadCrumbsIgnoreRefreshes={ value=true, description="Whether to ignore page refreshes.", }, BreadCrumbsRearrangeHistory={ value=false, description="Whether to rearrange history - not yet used.", }, BreadCrumbsLink={ value=true, description="Whether to link our breadcrumbs.", }, BreadCrumbsIgnoreNameSpaces={ value={ }, description="If you do not want certain namespaces recorded use this value to add them here.", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BreadCrumbs", }, BreadCrumbs2={ name="BreadCrumbs2", version="2.1.1", author={ "Eric Hartwell","Ike Hecht",}, url="https://www.mediawiki.org/wiki/Extension:BreadCrumbs2", descriptionmsg="breadcrumbs2-desc", ["license-name"]="CC-BY-3.0", type="other", requires={ MediaWiki=">= 1.29.0", }, Hooks={ SkinSubPageSubtitle="BreadCrumbs2Hooks::onSkinSubPageSubtitle", SidebarBeforeOutput="BreadCrumbs2Hooks::onSidebarBeforeOutput", }, config={ BreadCrumbs2RemoveBasePageLink={ description="If breadcrumbs are defined for this page, remove the link back to the base page.", value=false, }, BreadCrumbs2HideUnmatched={ description="If no breadcrumbs are defined for this page, show nothing.", value=false, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BreadCrumbs2", }, BrickipediaExtra={ name="Brickipedia Extra", version="1.2", author={ "Adam Carter/UltrasonicNXT","George Barnick","Lewis Cawte","Jack Phoenix","Samantha Nguyen","...",}, requires={ MediaWiki=">= 1.35.0", }, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:BrickipediaExtra", descriptionmsg="brickipedia-extra-desc", type="other", Hooks={ SkinAddFooterLinks="BrickipediaExtraHooks::onSkinAddFooterLinks", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BrickipediaExtra", }, Buggy={ name="Buggy", version="0.1.0", author={ "Gergő Tisza",}, url="https://www.mediawiki.org/wiki/Extension:Buggy", descriptionmsg="buggy-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.31.0", }, Hooks={ BeforePageDisplay={ "BuggyHooks::onBeforePageDisplay",}, }, APIModules={ buggy="ApiBuggy", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Buggy", }, CIForms={ name="CIForms", author="thomas-topway-it", version="1.3.1", url="https://www.mediawiki.org/wiki/Extension:CIForms", descriptionmsg="ci-forms-extension-description", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.35.0", }, callback="CIForms::initExtension", ExtensionMessagesFiles={ CIFormsAlias="CIForms.alias.php", CIFormsMagic="CIForms.i18n.php", }, APIModules={ ["ciforms-check-latest-version"]="CIFormsApiCheckLatestVersion", }, Hooks={ LoadExtensionSchemaUpdates="CIForms::onLoadExtensionSchemaUpdates", ParserFirstCallInit="CIForms::onParserFirstCallInit", OutputPageParserOutput="CIForms::onOutputPageParserOutput", }, SpecialPages={ CIFormsSubmit="CIFormsSubmit", CIFormsManage="CIFormsManage", }, config_prefix="CIForms", config={ SubmissionGroups={ value={ }, }, SubmissionGroupsGlobalMode={ value=0, }, SubmitEmail={ value={ }, }, SubmitEmailGlobalMode={ value=0, }, SuccessMessage={ value=nil, }, SuccessMessageGlobalMode={ value=0, }, SuccessPage={ value=nil, }, SuccessPageGlobalMode={ value=0, }, ErrorMessage={ value=nil, }, ErrorMessageGlobalMode={ value=0, }, ErrorPage={ value=nil, }, ErrorPageGlobalMode={ value=0, }, GoogleRecaptchaSiteKey={ value=nil, }, GoogleRecaptchaSecret={ value=nil, }, SenderEmail={ value=nil, }, SenderName={ value=nil, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CIForms", }, CSS={ name="CSS", version="3.5.0", author={ "Aran Dunkley","Rusty Burchfield",}, url="https://www.mediawiki.org/wiki/Extension:CSS", descriptionmsg="css-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.31.0", }, ExtensionMessagesFiles={ CSSMagic="CSS.i18n.magic.php", }, Hooks={ ParserFirstCallInit="CSS::onParserFirstCallInit", RawPageViewBeforeOutput="CSS::onRawPageViewBeforeOutput", }, config={ CSSPath=false, CSSIdentifier="css-extension", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CSS", }, ["Calendar-Wikivoyage"]={ name="Calendar", version="1.1", author="Roland Unger", url="https://www.mediawiki.org/wiki/Extension:Calendar-Wikivoyage", descriptionmsg="calendar-desc", type="parserhook", requires={ MediaWiki=">= 1.32.0", }, ["license-name"]="GPL-2.0-or-later", ExtensionMessagesFiles={ CalendarMagic="Calendar.i18n.magic.php", }, Hooks={ ParserFirstCallInit="MediaWiki\\Extension\\Calendar\\Hooks::setupParserHooks", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Calendar", }, CampaignEvents={ name="CampaignEvents", author={ "WMF Campaigns Team",}, url="https://www.mediawiki.org/wiki/Extension:CampaignEvents", descriptionmsg="campaignevents-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.40.0", }, attributes={ VisualEditor={ AvailableNamespaces={ Event=true, }, }, }, AvailableRights={ "campaignevents-enable-registration","campaignevents-delete-registration",}, config={ CampaignEventsDatabaseCluster={ description="The database cluster to use. False means the cluster of the current wiki will be used.", value=false, }, CampaignEventsDatabaseName={ description="The database to use. False means the database of the current wiki will be used.", value=false, }, CampaignEventsProgramsAndEventsDashboardInstance={ description="Determines which instance of the P&E Dashboard should be used, if any. Supported values are 'production', 'staging', or null to not use the dashboard.", value=nil, }, CampaignEventsProgramsAndEventsDashboardAPISecret={ description="API secret to use with the selected P&E Dashboard instance. Must be configured if you intend to use the P&E Dashboard.", value=nil, }, }, DefaultUserOptions={ ["echo-subscriptions-email-campaign-events-notification-registration"]=true, ["echo-subscriptions-web-campaign-events-notification-registration"]=false, }, GroupPermissions={ user={ ["campaignevents-enable-registration"]=true, }, sysop={ ["campaignevents-delete-registration"]=true, }, }, ExtensionMessagesFiles={ CampaignEventsAliases="CampaignEvents.alias.php", CampaignEventsNamespaces="CampaignEvents.namespaces.php", }, HookHandlers={ SchemaChanges={ class="MediaWiki\\Extension\\CampaignEvents\\Hooks\\Handlers\\SchemaChangesHandler", }, ArticleViewHeader={ class="MediaWiki\\Extension\\CampaignEvents\\Hooks\\Handlers\\ArticleViewHeaderHandler", services={ "CampaignEventsEventPageDecorator",}, }, PageMoveAndDeleteHandler={ class="MediaWiki\\Extension\\CampaignEvents\\Hooks\\Handlers\\PageMoveAndDeleteHandler", services={ "CampaignEventsMWEventLookupFromPage","CampaignEventsEventStore","PageStore","TitleFormatter",}, }, }, Hooks={ LoadExtensionSchemaUpdates="SchemaChanges", ArticleViewHeader="ArticleViewHeader", PageMoveComplete="PageMoveAndDeleteHandler", PageDeleteComplete="PageMoveAndDeleteHandler", BeforeCreateEchoEvent="MediaWiki\\Extension\\CampaignEvents\\Hooks\\Handlers\\EchoHooksHandler::onBeforeCreateEchoEvent", }, namespaces={ { id=1728, constant="NS_EVENT", name="Event", },{ id=1729, constant="NS_EVENT_TALK", name="Event_talk", },}, RestRoutes={ { path="/campaignevents/v0/event_registration", method="POST", class="MediaWiki\\Extension\\CampaignEvents\\Rest\\EnableEventRegistrationHandler", services={ "CampaignEventsEventFactory","CampaignEventsPermissionChecker","CampaignEventsEditEventCommand","UserFactory",}, },{ path="/campaignevents/v0/event_registration/{id}", method="GET", class="MediaWiki\\Extension\\CampaignEvents\\Rest\\GetEventRegistrationHandler", services={ "CampaignEventsEventLookup",}, },{ path="/campaignevents/v0/event_registration/{id}", method="DELETE", class="MediaWiki\\Extension\\CampaignEvents\\Rest\\DeleteEventRegistrationHandler", services={ "CampaignEventsEventLookup","CampaignEventsDeleteEventCommand","UserFactory",}, },{ path="/campaignevents/v0/event_registration/{id}/participants/self", method="PUT", class="MediaWiki\\Extension\\CampaignEvents\\Rest\\RegisterForEventHandler", services={ "CampaignEventsEventLookup","CampaignEventsRegisterParticipantCommand","UserFactory",}, },{ path="/campaignevents/v0/event_registration/{id}/participants/self", method="DELETE", class="MediaWiki\\Extension\\CampaignEvents\\Rest\\CancelEventRegistrationHandler", services={ "CampaignEventsEventLookup","CampaignEventsUnregisterParticipantCommand","UserFactory",}, },{ path="/campaignevents/v0/event_registration/{id}", method="PUT", class="MediaWiki\\Extension\\CampaignEvents\\Rest\\UpdateEventRegistrationHandler", services={ "CampaignEventsEventFactory","CampaignEventsPermissionChecker","CampaignEventsEditEventCommand","UserFactory","CampaignEventsEventLookup",}, },{ path="/campaignevents/v0/event_registration/{id}/organizers", method="GET", class="MediaWiki\\Extension\\CampaignEvents\\Rest\\ListOrganizersHandler", services={ "CampaignEventsEventLookup","CampaignEventsOrganizersStore","CampaignEventsRoleFormatter","CampaignEventsCentralUserLookup","CampaignEventsUserLinker",}, },{ path="/campaignevents/v0/event_registration/{id}/participants", method="GET", class="MediaWiki\\Extension\\CampaignEvents\\Rest\\ListParticipantsHandler", services={ "CampaignEventsPermissionChecker","CampaignEventsEventLookup","CampaignEventsParticipantsStore","CampaignEventsCentralUserLookup","CampaignEventsUserLinker",}, },{ path="/campaignevents/v0/organizer/{userid}/event_registrations", method="GET", class="MediaWiki\\Extension\\CampaignEvents\\Rest\\ListEventsByOrganizerHandler", services={ "CampaignEventsEventLookup","CampaignEventsCentralUserLookup",}, },{ path="/campaignevents/v0/participant/{userid}/event_registrations", method="GET", class="MediaWiki\\Extension\\CampaignEvents\\Rest\\ListEventsByParticipantHandler", services={ "CampaignEventsEventLookup","CampaignEventsCentralUserLookup",}, },{ path="/campaignevents/v0/event_registration/{id}/participants", method="DELETE", class="MediaWiki\\Extension\\CampaignEvents\\Rest\\RemoveParticipantsFromEventHandler", services={ "CampaignEventsEventLookup","CampaignEventsUnregisterParticipantCommand","UserFactory",}, },}, ServiceWiringFiles={ "src/ServiceWiring.php",}, SpecialPages={ EnableEventRegistration={ class="MediaWiki\\Extension\\CampaignEvents\\Special\\SpecialEnableEventRegistration", services={ "CampaignEventsEventLookup","CampaignEventsEventFactory","CampaignEventsEditEventCommand","CampaignEventsPolicyMessagesLookup",}, }, EditEventRegistration={ class="MediaWiki\\Extension\\CampaignEvents\\Special\\SpecialEditEventRegistration", services={ "CampaignEventsEventLookup","CampaignEventsEventFactory","CampaignEventsEditEventCommand","CampaignEventsPermissionChecker","CampaignEventsPolicyMessagesLookup",}, }, DeleteEventRegistration={ class="MediaWiki\\Extension\\CampaignEvents\\Special\\SpecialDeleteEventRegistration", services={ "CampaignEventsEventLookup","CampaignEventsDeleteEventCommand","CampaignEventsPermissionChecker",}, }, RegisterForEvent={ class="MediaWiki\\Extension\\CampaignEvents\\Special\\SpecialRegisterForEvent", services={ "CampaignEventsEventLookup","CampaignEventsCentralUserLookup","CampaignEventsRegisterParticipantCommand","CampaignEventsParticipantsStore","CampaignEventsPolicyMessagesLookup",}, }, CancelEventRegistration={ class="MediaWiki\\Extension\\CampaignEvents\\Special\\SpecialCancelEventRegistration", services={ "CampaignEventsEventLookup","CampaignEventsCentralUserLookup","CampaignEventsUnregisterParticipantCommand","CampaignEventsParticipantsStore",}, }, MyEvents={ class="MediaWiki\\Extension\\CampaignEvents\\Special\\SpecialMyEvents", services={ "CampaignEventsEventsPagerFactory","CampaignEventsCentralUserLookup",}, }, EventDetails={ class="MediaWiki\\Extension\\CampaignEvents\\Special\\SpecialEventDetails", services={ "CampaignEventsEventLookup","CampaignEventsParticipantsStore","CampaignEventsOrganizersStore","MessageFormatterFactory","CampaignEventsCentralUserLookup","CampaignEventsFrontendModulesFactory",}, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CampaignEvents", }, Campaigns={ name="Campaigns", version="0.2.0", author="S Page", url="https://www.mediawiki.org/wiki/Extension:Campaigns", descriptionmsg="campaigns-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.36.0", extensions={ EventLogging="*", }, }, Hooks={ AuthChangeFormFields="MediaWiki\\Extension\\Campaigns\\Hooks::onAuthChangeFormFields", }, attributes={ EventLogging={ Schemas={ ServerSideAccountCreation="/analytics/legacy/serversideaccountcreation/1.1.0", }, }, }, AuthManagerAutoConfig={ secondaryauth={ CampaignsSecondaryAuthenticationProvider={ class="MediaWiki\\Extension\\Campaigns\\CampaignsSecondaryAuthenticationProvider", sort=0, }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Campaigns", }, Capiunto={ name="Capiunto", author="Marius Hoch", url="https://www.mediawiki.org/wiki/Extension:Capiunto", descriptionmsg="capiunto-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.31.0", }, Hooks={ ScribuntoExternalLibraries="\\Capiunto\\Hooks::registerScribuntoLibraries", ScribuntoExternalLibraryPaths="\\Capiunto\\Hooks::registerScribuntoExternalLibraryPaths", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Capiunto", }, Cargo={ name="Cargo", namemsg="cargo-extensionname", version="3.3", author="Yaron Koren", url="https://www.mediawiki.org/wiki/Extension:Cargo", descriptionmsg="cargo-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.33", }, callback="CargoHooks::registerExtension", ExtensionFunctions={ "CargoHooks::initialize",}, AvailableRights={ "recreatecargodata","deletecargodata","runcargoqueries",}, GroupPermissions={ ["*"]={ runcargoqueries=true, }, sysop={ recreatecargodata=true, deletecargodata=true, }, }, GrantPermissions={ cargo={ recreatecargodata=true, deletecargodata=true, runcargoqueries=true, }, }, GrantPermissionGroups={ cargo="cargo", }, SpecialPages={ CargoTables="CargoTables", CargoTableDiagram="CargoTableDiagram", DeleteCargoTable="SpecialDeleteCargoTable", SwitchCargoTable="SpecialSwitchCargoTable", RecreateCargoData="SpecialCargoRecreateData", CargoQuery="SpecialCargoQuery", CargoExport="CargoExport", PageValues="CargoPageValues", Drilldown="CargoSpecialDrilldown", }, JobClasses={ cargoPopulateTable="CargoPopulateTableJob", }, APIModules={ cargoquery="CargoQueryAPI", cargorecreatetables="CargoRecreateTablesAPI", cargorecreatedata="CargoRecreateDataAPI", cargorecreatespecialtable="CargoRecreateSpecialTableAPI", cargoautocomplete="CargoAutocompleteAPI", cargoqueryautocomplete="CargoQueryAutocompleteAPI", cargoformatparams="CargoFormatParamsAPI", cargotables="CargoTablesAPI", cargofields="CargoFieldsAPI", }, LogTypes={ "cargo",}, LogNames={ cargo="cargo-logname", }, LogHeaders={ cargo="cargo-logdesc", }, LogActions={ ["cargo/createtable"]="cargo-createtableaction", ["cargo/recreatetable"]="cargo-recreatetableaction", ["cargo/replacetable"]="cargo-replacetableaction", ["cargo/deletetable"]="cargo-deletetableaction", }, ExtensionMessagesFiles={ CargoMagic="Cargo.i18n.magic.php", CargoAlias="Cargo.alias.php", }, Actions={ recreatedata="CargoRecreateDataAction", pagevalues="CargoPageValuesAction", }, Hooks={ ParserFirstCallInit="CargoHooks::registerParserFunctions", MakeGlobalVariablesScript="CargoHooks::setGlobalJSVariables", ApprovedRevsRevisionApproved="CargoHooks::onARRevisionApproved", ApprovedRevsRevisionUnapproved="CargoHooks::onARRevisionUnapproved", TitleMoveComplete="CargoHooks::onTitleMoveComplete", MultiContentSave="CargoHooks::onMultiContentSave", UploadComplete="CargoHooks::onUploadComplete", CategoryAfterPageAdded="CargoHooks::addCategoryToPageData", CategoryAfterPageRemoved="CargoHooks::removeCategoryFromPageData", LoadExtensionSchemaUpdates={ "CargoHooks::describeDBSchema","CargoHooks::cargoSchemaUpdates",}, ["SkinTemplateNavigation::Universal"]={ "CargoRecreateDataAction::displayTab","CargoHooks::addPurgeCacheTab",}, ["PageForms::TemplateFieldStart"]="CargoHooks::addTemplateFieldStart", ["PageForms::TemplateFieldEnd"]="CargoHooks::addTemplateFieldEnd", AdminLinks="CargoHooks::addToAdminLinks", PageSchemasRegisterHandlers="CargoPageSchemas::registerClass", ResourceLoaderRegisterModules="CargoHooks::registerModules", ResourceLoaderGetConfigVars="CargoHooks::onResourceLoaderGetConfigVars", ScribuntoExternalLibraries="CargoHooks::addLuaLibrary", }, config={ CargoDecimalMark=".", CargoDigitGroupingCharacter=",", CargoRecurringEventMaxInstances=100, CargoDBtype=nil, CargoDBserver=nil, CargoDBname=nil, CargoDBuser=nil, CargoDBpassword=nil, CargoDBprefix=nil, CargoDBRowFormat=nil, CargoDefaultStringBytes=300, CargoDefaultQueryLimit=100, CargoMaxQueryLimit=5000, Cargo24HourTime=false, CargoDefaultMapService="OpenLayers", CargoGoogleMapsKey=nil, CargoMapClusteringMinimum=80, CargoDrilldownUseTabs=true, CargoDrilldownSmallestFontSize=-1, CargoDrilldownLargestFontSize=-1, CargoDrilldownMinValuesForComboBox=40, CargoDrilldownNumRangesForNumbers=5, CargoMaxVisibleHierarchyDrilldownValues=30, CargoTablesPrioritizeReplacements=false, CargoLegacyNullLuaFieldsAsEmptyString=false, CargoStoreUseTemplateArgsFallback=true, CargoPageDataColumns={ }, CargoFileDataColumns={ }, CargoHideNamespaceName={ 6,}, CargoAllowedSQLFunctions={ "AVG","CEIL","CONCAT","COUNT","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAYOFMONTH","FLOOR","FORMAT","GROUP_CONCAT","IF","LCASE","LN","LOG","LOWER","MAX","MIN","MONTH","NEAR","NOW","POWER","ROUND","SUBSTRING","SUM","TRIM","UCASE","UPPER","YEAR",}, }, repository="https://phabricator.wikimedia.org/diffusion/ECRG/", composer="mediawiki/cargo", }, Carp={ name="Carp", version="0.2.0", author={ "Van de Bugger",}, url="https://www.mediawiki.org/wiki/Extension:Carp", descriptionmsg="carp-desc", ["license-name"]="AGPL-3.0-only", type="other", requires={ MediaWiki=">= 1.34.0", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Carp", }, CategoryExplorer={ name="CategoryExplorer", author={ }, url="https://www.mediawiki.org/wiki/Extension:CategoryExplorer", descriptionmsg="categoryexplorer-desc", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.38.0", }, ConfigRegistry={ categoryexplorer="GlobalVarConfig::newInstance", }, SpecialPages={ }, APIModules={ }, ExtensionMessagesFiles={ CategoryExplorerAlias="CategoryExplorer.alias.php", }, Hooks={ SkinAfterPortlet="CategoryExplorer\\Hooks::onSkinAfterPortlet", }, config={ }, DefaultUserOptions={ }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CategoryExplorer", }, CategoryLockdown={ name="CategoryLockdown", version="3.1", url="https://www.mediawiki.org/wiki/Extension:CategoryLockdown", author="Sophivorus", descriptionmsg="categorylockdown-desc", ["license-name"]="GPL-3.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.29.0", }, config={ CategoryLockdown={ value={ }, }, }, Hooks={ getUserPermissionsErrors="CategoryLockdown::onGetUserPermissionsErrors", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CategoryLockdown", }, CategorySortHeaders={ name="CategorySortHeaders", version="0.4.0", author={ "Brian Wolff","Universal Omega",}, url="https://www.mediawiki.org/wiki/Extension:CategorySortHeaders", descriptionmsg="categorysortheaders-desc", ["license-name"]="GPL-2.0-or-later", type="other", callback="CustomHeaderCollation::onRegistration", requires={ MediaWiki=">= 1.35.0", }, Hooks={ ["Collation::factory"]="CustomHeaderCollation::onCategorySortHeadersSetup", }, config={ CategorySortHeaderAppendPageNameToKey={ value=true, description="Control if a sortkey of ^foo^ is considered just ^foo^ or ^foo^. After changing this option, you should run php updateCollations.php --force", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CategorySortHeaders", }, CategoryTagSorter={ name="CategoryTagSorter", version="0.4.0", author={ "Dan Barrett","Daniel Renfro",}, url="https://www.mediawiki.org/wiki/Extension:CategoryTagSorter", descriptionmsg="categorytagsorter-desc", ["license-name"]="Apache-2.0", type="other", requires={ MediaWiki=">= 1.36.0", }, Hooks={ ParserAfterTidy="CategoryTagSorter::sort", GetPreferences="CategoryTagSorter::prefs", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CategoryTagSorter", }, CategoryTests={ name="Category Tests", version="1.7.0", author="Ryan Schmidt", ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:CategoryTests", descriptionmsg="categorytests-desc", type="parserhook", requires={ MediaWiki=">= 1.32.0", }, ExtensionMessagesFiles={ CategoryTestsMagic="CategoryTests.i18n.magic.php", }, Hooks={ ParserFirstCallInit="ExtCategoryTestsHooks::onParserFirstCallInit", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CategoryTests", }, CategoryTree={ name="CategoryTree", author="Daniel Kinzler", url="https://www.mediawiki.org/wiki/Extension:CategoryTree", descriptionmsg="categorytree-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.38.0", }, ConfigRegistry={ categorytree="GlobalVarConfig::newInstance", }, SpecialPages={ CategoryTree={ class="MediaWiki\\Extension\\CategoryTree\\CategoryTreePage", services={ "SearchEngineFactory",}, }, }, APIModules={ categorytree={ class="MediaWiki\\Extension\\CategoryTree\\ApiCategoryTree", services={ "ConfigFactory","LanguageConverterFactory","MainWANObjectCache",}, }, }, ExtensionMessagesFiles={ CategoryTreeAlias="CategoryTree.alias.php", CategoryTreeMagic="CategoryTree.i18n.magic.php", }, HookHandlers={ default={ class="MediaWiki\\Extension\\CategoryTree\\Hooks", services={ "DBLoadBalancer","MainConfig",}, }, config={ class="MediaWiki\\Extension\\CategoryTree\\ConfigHookHandler", }, }, Hooks={ MediaWikiServices="config", ArticleFromTitle="default", ["SpecialTrackingCategories::preprocess"]="default", ["SpecialTrackingCategories::generateCatLink"]="default", SkinAfterPortlet="default", SkinBuildSidebar="default", ParserFirstCallInit="default", OutputPageMakeCategoryLinks="default", OutputPageParserOutput="default", }, config={ CategoryTreeMaxChildren={ value=200, }, CategoryTreeAllowTag={ value=true, }, CategoryTreeDisableCache={ value=21600, }, CategoryTreeMaxDepth={ value={ [11]=1, [21]=1, [1]=2, }, merge_strategy="array_plus", }, CategoryTreeSidebarRoot={ value=nil, }, CategoryTreeHijackPageCategories={ value=false, }, CategoryTreeUseCategoryTable={ value=true, }, CategoryTreeOmitNamespace={ value=20, }, CategoryTreeDefaultMode={ value=0, }, CategoryTreeDefaultOptions={ value={ mode=nil, hideprefix=nil, showcount=false, namespaces=false, notranslations=false, }, }, CategoryTreeCategoryPageMode={ value=0, }, CategoryTreeCategoryPageOptions={ value={ mode=nil, showcount=true, }, }, CategoryTreeSpecialPageOptions={ value={ showcount=true, }, }, CategoryTreeSidebarOptions={ value={ mode=0, hideprefix=20, showcount=false, hideroot=true, namespaces=false, depth=1, }, }, CategoryTreePageCategoryOptions={ value={ mode=100, hideprefix=20, showcount=false, hideroot=false, namespaces=false, depth=0, }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CategoryTree", }, CategoryWatch={ name="CategoryWatch", version="2.0, 2017-09-19", author={ "User:Nad","Sean Chen","Mark A. Hershberger",}, url="https://www.mediawiki.org/wiki/Extension:CategoryWatch", descriptionmsg="categorywatch-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.29.0", }, DefaultUserOptions={ ["echo-subscriptions-email-categorywatch"]=true, ["echo-subscriptions-web-categorywatch"]=true, }, Hooks={ BeforeCreateEchoEvent="CategoryWatch\\Hook::onBeforeCreateEchoEvent", EchoGetBundleRules="CategoryWatch\\Hook::onEchoGetBundleRules", CategoryAfterPageAdded="CategoryWatch\\Hook::onCategoryAfterPageAdded", CategoryAfterPageRemoved="CategoryWatch\\Hook::onCategoryAfterPageRemoved", GetPreferences="CategoryWatch\\Hook::onGetPreferences", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CategoryWatch", }, CentralAuth={ name="CentralAuth", author={ "Brion Vibber","Kunal Mehta","Sam Reed","Aaron Schulz","Brad Jorsch","Umherirrender","Marius Hoch","Andrew Garrett","Chris Steipp","Tim Starling","Gergő Tisza","Alexandre Emsenhuber","Victor Vasiliev","Glaisher","DannyS712","Peter Gehres","Bryan Davis","James D. Forrester","Taavi Väänänen","Alexander Vorwerk",}, url="https://www.mediawiki.org/wiki/Extension:CentralAuth", descriptionmsg="centralauth-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.39.0", }, GroupPermissions={ steward={ ["centralauth-createlocal"]=true, ["centralauth-unmerge"]=true, ["centralauth-lock"]=true, ["centralauth-suppress"]=true, }, sysop={ ["centralauth-createlocal"]=true, }, ["*"]={ ["centralauth-merge"]=true, }, }, GrantPermissions={ setglobalaccountstatus={ ["centralauth-lock"]=true, ["centralauth-suppress"]=true, }, createlocalaccount={ ["centralauth-createlocal"]=true, }, }, GrantPermissionGroups={ setglobalaccountstatus="administration", }, AvailableRights={ "centralauth-createlocal","centralauth-merge","centralauth-unmerge","centralauth-lock","centralauth-suppress","globalgrouppermissions","globalgroupmembership","centralauth-rename",}, SessionProviders={ CentralAuthSessionProvider={ class="CentralAuthSessionProvider", args={ { priority=50, },}, services={ "CentralAuth.CentralAuthSessionManager","CentralAuth.CentralAuthUtilityService",}, }, CentralAuthApiSessionProvider={ class="CentralAuthApiSessionProvider", args={ }, services={ "CentralAuth.CentralAuthSessionManager","CentralAuth.CentralAuthUtilityService",}, }, CentralAuthHeaderSessionProvider={ class="CentralAuthHeaderSessionProvider", args={ }, services={ "CentralAuth.CentralAuthSessionManager","CentralAuth.CentralAuthUtilityService",}, }, }, CentralIdLookupProviders={ CentralAuth={ class="MediaWiki\\Extension\\CentralAuth\\User\\CentralAuthIdLookup", services={ "CentralAuth.CentralAuthDatabaseManager",}, }, }, ExtensionFunctions={ "MediaWiki\\Extension\\CentralAuth\\CentralAuthHooks::onRunExtensionFunctions",}, SpecialPages={ CentralAuth={ class="MediaWiki\\Extension\\CentralAuth\\Special\\SpecialCentralAuth", services={ "NamespaceInfo","CentralAuth.CentralAuthDatabaseManager","CentralAuth.CentralAuthUIService","ReadOnlyMode","UserNameUtils",}, }, CentralLogin={ class="MediaWiki\\Extension\\CentralAuth\\Special\\SpecialCentralLogin", services={ "StatsdDataFactory","CentralAuth.CentralAuthUtilityService","CentralAuth.CentralAuthSessionManager",}, }, CentralAutoLogin={ class="MediaWiki\\Extension\\CentralAuth\\Special\\SpecialCentralAutoLogin", services={ "CentralAuth.CentralAuthUtilityService","UserOptionsManager","ReadOnlyMode","CentralAuth.CentralAuthSessionManager","LanguageFactory",}, }, CreateLocalAccount={ class="MediaWiki\\Extension\\CentralAuth\\Special\\SpecialCreateLocalAccount", services={ "CentralAuth.CentralAuthForcedLocalCreationService",}, }, MergeAccount={ class="MediaWiki\\Extension\\CentralAuth\\Special\\SpecialMergeAccount", services={ "CentralAuth.CentralAuthDatabaseManager","NamespaceInfo","UserFactory",}, }, GlobalGroupMembership={ class="MediaWiki\\Extension\\CentralAuth\\Special\\SpecialGlobalGroupMembership", services={ "CentralAuth.GlobalGroupLookup","UserNameUtils","UserNamePrefixSearch",}, }, GlobalGroupPermissions={ class="MediaWiki\\Extension\\CentralAuth\\Special\\SpecialGlobalGroupPermissions", services={ "CentralAuth.CentralAuthDatabaseManager","CentralAuth.GlobalGroupLookup","PermissionManager",}, }, WikiSets={ class="MediaWiki\\Extension\\CentralAuth\\Special\\SpecialWikiSets", services={ "CentralAuth.CentralAuthWikiListService",}, }, GlobalUsers={ class="MediaWiki\\Extension\\CentralAuth\\Special\\SpecialGlobalUsers", services={ "ContentLanguage","CentralAuth.CentralAuthDatabaseManager","CentralAuth.GlobalGroupLookup",}, }, MultiLock={ class="MediaWiki\\Extension\\CentralAuth\\Special\\SpecialMultiLock", services={ "CentralAuth.CentralAuthDatabaseManager","CentralAuth.CentralAuthUIService",}, }, GlobalRenameUser={ class="MediaWiki\\Extension\\CentralAuth\\Special\\SpecialGlobalRenameUser", services={ "CentralAuth.CentralAuthUIService","CentralAuth.GlobalRenameDenylist","CentralAuth.GlobalRenameUserValidator","CentralAuth.CentralAuthDatabaseManager","JobQueueGroupFactory",}, }, GlobalRenameProgress={ class="MediaWiki\\Extension\\CentralAuth\\Special\\SpecialGlobalRenameProgress", services={ "UserNameUtils","CentralAuth.CentralAuthUIService",}, }, }, JobClasses={ crosswikiSuppressUser="MediaWiki\\Extension\\CentralAuth\\User\\CentralAuthSuppressUserJob", LocalRenameUserJob="MediaWiki\\Extension\\CentralAuth\\GlobalRename\\LocalRenameJob\\LocalRenameUserJob", LocalPageMoveJob="MediaWiki\\Extension\\CentralAuth\\GlobalRename\\LocalRenameJob\\LocalPageMoveJob", CentralAuthCreateLocalAccountJob="MediaWiki\\Extension\\CentralAuth\\User\\CentralAuthCreateLocalAccountJob", CentralAuthUnattachUserJob="MediaWiki\\Extension\\CentralAuth\\User\\CentralAuthUnattachUserJob", }, LogTypes={ "globalauth","gblrights","gblrename",}, LogNames={ globalauth="centralauth-log-name", gblrights="centralauth-rightslog-name", }, LogHeaders={ globalauth="centralauth-log-header", gblrights="centralauth-rightslog-header", }, ActionFilteredLogs={ suppress={ setstatus={ "setstatus",}, cadelete={ "cadelete",}, }, globalauth={ delete={ "delete",}, setstatus={ "setstatus","lock","unlock","hide","unhide","lockandhid",}, }, gblrights={ usergroups={ "usergroups",}, groupprms={ "groupperms","groupprms2","groupprms3","grouprename",}, setmodify={ "newset","deleteset","setchange","setrename","setnewtype",}, }, newusers={ forcecreatelocal={ "forcecreatelocal",}, }, ["_merge_strategy"]="array_plus_2d", }, LogActions={ ["globalauth/lock"]="centralauth-log-entry-lock", ["globalauth/unlock"]="centralauth-log-entry-unlock", ["globalauth/hide"]="centralauth-log-entry-hide", ["globalauth/unhide"]="centralauth-log-entry-unhide", ["globalauth/lockandhid"]="centralauth-log-entry-lockandhide", ["gblrights/groupperms"]="centralauth-rightslog-entry-groupperms", }, LogActionsHandlers={ ["globalauth/delete"]="MediaWiki\\Extension\\CentralAuth\\LogFormatter\\GlobalDeleteLogFormatter", ["globalauth/setstatus"]="MediaWiki\\Extension\\CentralAuth\\LogFormatter\\ChangeStatusLogFormatter", ["newusers/forcecreatelocal"]="MediaWiki\\Extension\\CentralAuth\\LogFormatter\\ForceCreateLocalUserLogFormatter", ["suppress/cadelete"]="MediaWiki\\Extension\\CentralAuth\\LogFormatter\\GlobalDeleteLogFormatter", ["suppress/setstatus"]="MediaWiki\\Extension\\CentralAuth\\LogFormatter\\ChangeStatusLogFormatter", ["gblrights/usergroups"]="MediaWiki\\Extension\\CentralAuth\\LogFormatter\\GroupMembershipChangeLogFormatter", ["gblrights/groupprms2"]="MediaWiki\\Extension\\CentralAuth\\LogFormatter\\PermissionChangeLogFormatter", ["gblrights/groupprms3"]="LogFormatter", ["gblrights/grouprename"]="MediaWiki\\Extension\\CentralAuth\\LogFormatter\\GroupRenameLogFormatter", ["gblrename/rename"]="MediaWiki\\Extension\\CentralAuth\\GlobalRename\\GlobalRenameLogFormatter", ["gblrename/promote"]="MediaWiki\\Extension\\CentralAuth\\GlobalRename\\GlobalRenameLogFormatter", ["gblrename/merge"]="MediaWiki\\Extension\\CentralAuth\\LogFormatter\\GlobalUserMergeLogFormatter", ["gblrights/newset"]="MediaWiki\\Extension\\CentralAuth\\LogFormatter\\WikiSetLogFormatter", ["gblrights/setrename"]="MediaWiki\\Extension\\CentralAuth\\LogFormatter\\WikiSetLogFormatter", ["gblrights/setnewtype"]="MediaWiki\\Extension\\CentralAuth\\LogFormatter\\WikiSetLogFormatter", ["gblrights/setchange"]="MediaWiki\\Extension\\CentralAuth\\LogFormatter\\WikiSetLogFormatter", ["gblrights/deleteset"]="MediaWiki\\Extension\\CentralAuth\\LogFormatter\\WikiSetLogFormatter", }, APIModules={ createlocalaccount={ class="MediaWiki\\Extension\\CentralAuth\\Api\\ApiCreateLocalAccount", services={ "CentralAuth.CentralAuthForcedLocalCreationService",}, }, deleteglobalaccount="MediaWiki\\Extension\\CentralAuth\\Api\\ApiDeleteGlobalAccount", setglobalaccountstatus="MediaWiki\\Extension\\CentralAuth\\Api\\ApiSetGlobalAccountStatus", centralauthtoken={ class="MediaWiki\\Extension\\CentralAuth\\Api\\ApiCentralAuthToken", services={ "CentralAuth.CentralAuthSessionManager",}, }, globaluserrights={ class="MediaWiki\\Extension\\CentralAuth\\Api\\ApiGlobalUserRights", services={ "CentralAuth.GlobalGroupLookup","UserNameUtils","UserNamePrefixSearch",}, }, }, APIMetaModules={ globaluserinfo={ class="MediaWiki\\Extension\\CentralAuth\\Api\\ApiQueryGlobalUserInfo", services={ "UserNameUtils",}, }, globalrenamestatus="MediaWiki\\Extension\\CentralAuth\\Api\\ApiQueryGlobalRenameStatus", }, APIListModules={ globalgroups={ class="MediaWiki\\Extension\\CentralAuth\\Api\\ApiQueryGlobalGroups", services={ "CentralAuth.CentralAuthDatabaseManager",}, }, wikisets={ class="MediaWiki\\Extension\\CentralAuth\\Api\\ApiQueryWikiSets", services={ "CentralAuth.CentralAuthWikiListService",}, }, globalallusers={ class="MediaWiki\\Extension\\CentralAuth\\Api\\ApiQueryGlobalAllUsers", services={ "CentralAuth.CentralAuthDatabaseManager","CentralAuth.GlobalGroupLookup",}, }, }, ExtensionMessagesFiles={ SpecialCentralAuthAliases="CentralAuth.alias.php", SpecialCentralAuthAliasesNoTranslate="CentralAuth.notranslate-alias.php", }, QUnitTestModule={ localBasePath="", remoteExtPath="CentralAuth", scripts={ "tests/qunit/ext.centralauth.ForeignApi.test.js","tests/qunit/ext.centralauth.ForeignRest.test.js",}, dependencies={ "ext.centralauth.ForeignApi",}, }, callback="MediaWiki\\Extension\\CentralAuth\\CentralAuthHooks::onRegistration", HookHandlers={ abusefilter={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\AbuseFilterHookHandler", }, api={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\ApiHookHandler", services={ "MainConfig",}, }, contentsecuritypolicy={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\ContentSecurityPolicyHookHandler", services={ "MainConfig",}, }, default={ class="MediaWiki\\Extension\\CentralAuth\\CentralAuthHooks", }, importhandle={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\ImportHandleHookHandler", services={ "CentralAuth.CentralAuthUtilityService","UserFactory",}, }, log={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\LogHookHandler", services={ "UserNameUtils","DBLoadBalancerFactory",}, }, logincomplete={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\LoginCompleteHookHandler", services={ "MainConfig","CentralAuth.CentralAuthSessionManager","UserOptionsLookup","HookContainer",}, }, noservices={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\NoServicesHookHandler", }, pagedisplay={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\PageDisplayHookHandler", services={ "MainConfig",}, }, passwordpolicies={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\PasswordPoliciesHookHandler", services={ "MainConfig",}, }, permissions={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\PermissionsHookHandler", services={ "MainConfig",}, }, securepoll={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\SecurePollHookHandler", services={ "NamespaceInfo",}, }, specialcontributions={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\SpecialContributionsHookHandler", services={ "NamespaceInfo",}, }, specialpageinit={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\SpecialPageInitHookHandler", services={ "MainConfig",}, }, rename={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\GlobalRenameHookHandler", }, unittests={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\UnitTestsHookHandler", services={ "DBLoadBalancer",}, }, usercreation={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\UserCreationHookHandler", services={ "CentralAuth.CentralAuthDatabaseManager","CentralAuth.CentralAuthUtilityService",}, }, usereditcountupdate={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\UserEditCountUpdateHookHandler", services={ "CentralAuth.CentralAuthEditCounter",}, }, userlogout={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\UserLogoutHookHandler", services={ "MainConfig",}, }, }, Hooks={ ["AbuseFilter-builder"]="abusefilter", ["AbuseFilter-computeVariable"]="abusefilter", ["AbuseFilter-generateUserVars"]="abusefilter", AbuseFilterShouldFilterAction="abusefilter", ApiQueryTokensRegisterTypes="default", APIGetAllowedParams="api", BeforePageDisplay="pagedisplay", ContentSecurityPolicyDefaultSource="contentsecuritypolicy", ContentSecurityPolicyScriptSource="contentsecuritypolicy", GetLogTypesOnUser="default", GetPreferences="default", GetUserBlock="default", getUserPermissionsErrorsExpensive="permissions", ImportHandleUnknownUser="importhandle", InvalidateEmailComplete="default", LoadExtensionSchemaUpdates="noservices", LocalUserCreated="usercreation", LogEventsListGetExtraInputs="log", MakeGlobalVariablesScript="default", OtherBlockLogLink="default", PasswordPoliciesForUser="passwordpolicies", RenameUserComplete="rename", RenameUserPreRename="rename", RenameUserWarning="rename", ResourceLoaderForeignApiModules="default", SecurePoll_GetUserParams="securepoll", SessionCheckInfo="default", SpecialContributionsBeforeMainOutput="specialcontributions", SpecialLogAddLogSearchRelations="log", SpecialPage_initList="specialpageinit", SpecialPasswordResetOnSubmit="default", TempUserCreatedRedirect="logincomplete", TestCanonicalRedirect="default", UnitTestsAfterDatabaseSetup="unittests", UnitTestsBeforeDatabaseTeardown="unittests", UserArrayFromResult="default", UserEditCountUpdate="usereditcountupdate", UserGetEmail="default", UserGetEmailAuthenticationTimestamp="default", UserGetReservedNames="default", UserGetRights="default", UserIsBot="default", UserIsLocked="default", UserLoginComplete="logincomplete", UserLogout="userlogout", UserLogoutComplete="userlogout", UserSaveSettings="default", UserSetEmail="default", UserSetEmailAuthenticationTimestamp="default", }, ConfigRegistry={ CentralAuth="GlobalVarConfig::newInstance", }, config={ CentralAuthDatabase={ description="Database name you keep central auth data in. If this is not on the primary database connection, don't forget to also set up $wgDBservers to have an entry with a groupLoads setting for the 'CentralAuth' group. Alternatively you can use $wgLBFactoryConf to set up an LBFactoryMulti object. To use a database with a table prefix, set this variable to \"{$database}-{$prefix}\".", value="centralauth", }, CentralAuthAutoMigrate={ description="If true, existing unattached accounts will be automatically migrated if possible at first login. Any new account creations will be required to attach. If false, unattached accounts will not be harassed unless the individual account has opted in to migration.", value=false, }, CentralAuthAutoMigrateNonGlobalAccounts={ description="If true, existing unattached accounts where no global account exists will be compared to see if a merge can be made based on passwords and emails with no clashes (all accounts merge). This was formerly controlled by $wgCentralAuthAutoMigrate", value=false, }, CentralAuthStrict={ description="If true, remaining accounts which have not been attached will be forbidden from logging in until they are resolved.", value=false, }, CentralAuthDryRun={ description="If true, merging won't actually be possible through the Special:MergeAccount interface.", value=false, }, CentralAuthCookies={ description="If true, global session and token cookies will be set alongside the per-wiki session and login tokens when users log in with a global account. This allows other wikis on the same domain to transparently log them in.", value=false, }, CentralAuthLoginWiki={ description="Database name of a central login wiki. This is an alternative to directly setting cross-domain cookies for each wiki in $wgCentralAuthAutoLoginWikis. If set, a single login wiki will use a session/cookie to handle unified login sessions across wikis. On login, users will be redirected to the login wiki's Special:CentralLogin/login page and then redirected to Special:CentralLogin back on the originating wiki. In the process, the central login wiki cookie and session will be set. As the user accesses other wikis, the login wiki will be checked via JavaScript to check login status and set the local session and cookies. This requires $wgCentralAuthCookies.", value=false, }, CentralAuthCookieDomain={ description="Domain to set global cookies for. For instance, '.wikipedia.org' to work on all wikipedia.org subdomains instead of just the current one. Leave blank to set the cookie for the current domain only, such as if all your wikis are hosted on the same subdomain.", value="", }, CentralAuthCookiePrefix={ description="Prefix for CentralAuth global authentication cookies.", value="centralauth_", }, CentralAuthCookiePath={ description="Path for CentralAuth global authentication cookies. Set this variable if you want to restrict cookies to a certain path within the domain specified by $wgCentralAuthCookieDomain.", value="/", }, CentralAuthAutoLoginWikis={ description="List of wiki IDs which should be called on login to try to set third-party cookies for the global session state. The wiki ID is typically the database name, except when table prefixes are used, in which case it is the database name, a hyphen separator, and then the table prefix. This allows a farm with multiple second-level domains to set up a global session on all of them by hitting one wiki from each domain (en.wikipedia.org, en.wikinews.org, etc). Done by accessing Special:CentralAutoLogin/start on each wiki. If empty, no other wikis will be hit. The key should be set to the cookie domain name.", value={ }, }, CentralAuthAutoCreateWikis={ description="List of wiki IDs on which an attached local account should be created automatically when the global account is created. The wiki ID is typically the database name, except when table prefixes are used, in which case it is the database name, a hyphen separator, and then the table prefix.", value={ }, }, CentralAuthLoginIcon={ description="Local filesystem path to the icon returned by Special:CentralAutoLogin. Should be a 20x20px PNG.", value=false, }, CentralAuthPrefsForUIReload={ description="User preferences for which we should recommend reloading the page after a successful central login query. If you need to do something more complicated than just compare the user option to default, use the hook CentralAuthIsUIReloadRecommended.", value={ "skin","language","thumbsize","underline","stubthreshold","showhiddencats","justify","numberheadings","editondblclick","editsection","editsectiononrightclick","usenewrc","extendwatchlist",}, }, CentralAuthCreateOnView={ description="If true, local accounts will be created for active global sessions on any page view. This is kind of creepy, so we're gonna have it off for a little bit. With other default options, the local autocreation will be held off until an active login attempt, while global sessions will still automatically log in those who already have a merged account.", value=false, }, CentralAuthRC={ description="Array of settings for sending the CentralAuth events to the RC Feeds", value={ }, }, DisableUnmergedEditing={ description="Disable editing for non-global accounts (except on NS_USER_TALK and NS_PROJECT_TALK)", value=false, }, CentralAuthWikisPerSuppressJob={ description="Size of wikis handled in one suppress user job. Keep in mind that one wiki requires ~10 queries.", value=10, }, CentralAuthReadOnly={ description="Like $wgReadOnly, used to set extension to database read only mode", value=false, }, CentralAuthUseEventLogging={ description="Use the EventLogging extension to measure various activities", value=false, }, CentralAuthPreventUnattached={ description="Don't allow new unattached accounts to be created", value=false, }, CentralAuthEnableGlobalRenameRequest={ description="Feature flag for Special:GlobalRenameRequest", value=false, }, CentralAuthCheckSULMigration={ description="Enable special logic to attempt to ease the user facing impact of forced user migrations.", value=false, }, CentralAuthGlobalPasswordPolicies={ description="Global Password Policies. These are applied like local password policies, the strongest policy applicable to a user is used. Policies can apply to either a local group (if the user is a member of that group on any wiki, the policy will apply to that user) or global group.", value={ }, }, CentralAuthGlobalBlockInterwikiPrefix={ value="global", }, OverrideCentralIdLookupProvider={ description="Set false if you really want to use 'local' rather than 'CentralAuth' for $wgCentralIdLookupProvider. This isn't the default because using CentralAuth is almost always what you want if CentralAuth is installed.", value=true, }, CentralAuthOldNameAntiSpoofWiki={ value=false, }, GlobalRenameDenylist={ value=nil, description="Source URL for the global rename denylist feature; if null, the feature is disabled.", }, GlobalRenameDenylistRegex={ value=false, description="Does the global rename denylist allow regexes? Does not have any effect when GlobalRenameDenylist is null.", }, CentralAuthSessionCacheType={ description="If set, this will be used instead of $wgSessionCacheType for session storage", value=nil, }, CentralAuthTokenCacheType={ description="If set, this will be used instead of $wgCentralAuthSessionCacheType for storage of temporary tokens, which are used to carry login data across domains. Normally these tokens are single-use and have a TTL of 1 minute.", value=nil, }, CentralAuthTokenSessionTimeout={ description="The amount of time to wait for tokens to appear in the session store, in seconds", value=3, }, }, AuthManagerAutoConfig={ primaryauth={ CentralAuthPrimaryAuthenticationProvider={ class="MediaWiki\\Extension\\CentralAuth\\CentralAuthPrimaryAuthenticationProvider", sort=10, services={ "CentralAuth.CentralAuthDatabaseManager","UserNameUtils","StatsdDataFactory","ReadOnlyMode","CentralAuth.GlobalRenameRequestStore","CentralAuth.CentralAuthUtilityService",}, }, }, secondaryauth={ CentralAuthSecondaryAuthenticationProvider={ class="MediaWiki\\Extension\\CentralAuth\\CentralAuthSecondaryAuthenticationProvider", sort=0, }, }, }, TempUserSerialProviders={ centralauth={ class="MediaWiki\\Extension\\CentralAuth\\CentralAuthTempUserSerialProvider", services={ "CentralAuth.CentralAuthDatabaseManager",}, }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CentralAuth", }, CentralLogging={ name="CentralLogging", version="1.1", author="Kunal Mehta", url="https://www.mediawiki.org/wiki/Extension:CentralLogging", descriptionmsg="centrallogging-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.37.0", }, JobClasses={ centrallogJob="includes/CentralLogJob", }, config={ CentralWiki={ value="metawiki", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CentralLogging", }, CentralNotice={ name="CentralNotice", version="2.6.1", author={ "Elliott Eggleston","Tomasz Finc","Andrew Russell Green","Ryan Kaldari","Trevor Parscal","Matthew Walker","Adam Roses Wight","Brion Vibber",}, url="https://www.mediawiki.org/wiki/Extension:CentralNotice", descriptionmsg="centralnotice-desc", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.38.0", extensions={ EventLogging="*", }, }, type="other", namespaces={ { id=866, constant="NS_CN_BANNER", name="CNBanner", conditional=true, },{ id=867, constant="NS_CN_BANNER_TALK", name="CNBanner_talk", conditional=true, },}, callback="CentralNoticeHooks::onRegistration", ExtensionMessagesFiles={ CentralNoticeAliases="CentralNotice.alias.php", }, APIModules={ centralnoticechoicedata="ApiCentralNoticeChoiceData", centralnoticequerycampaign="ApiCentralNoticeQueryCampaign", centralnoticecdncacheupdatebanner="ApiCentralNoticeCdnCacheUpdateBanner", }, APIListModules={ centralnoticelogs="ApiCentralNoticeLogs", centralnoticeactivecampaigns="ApiCentralNoticeQueryActiveCampaigns", }, QUnitTestModule={ localBasePath="", remoteExtPath="CentralNotice", scripts={ "tests/qunit/ext.centralNotice.display/index.tests.js","tests/qunit/ext.centralNotice.display/chooser.tests.js","tests/qunit/ext.centralNotice.kvStore/kvStore.tests.js","tests/qunit/ext.centralNotice.startUp/kvStoreMaintenance.tests.js","tests/qunit/subscribing/ext.centralNotice.bannerSequence.tests.js","tests/qunit/subscribing/ext.centralNotice.geoIP.tests.js",}, dependencies={ "ext.centralNotice.testFixtures","ext.centralNotice.startUp","ext.centralNotice.display","ext.centralNotice.kvStore","ext.centralNotice.bannerSequence","ext.centralNotice.geoIP",}, }, SpecialPages={ BannerLoader="SpecialBannerLoader", BannerRandom="SpecialBannerRandom", RecordImpression="SpecialRecordImpression", HideBanners="SpecialHideBanners", }, Hooks={ CanonicalNamespaces="CentralNoticeHooks::onCanonicalNamespaces", ChangeTagsListActive="CentralNoticeHooks::onListDefinedTags", ListDefinedTags="CentralNoticeHooks::onListDefinedTags", LoadExtensionSchemaUpdates="CNDatabasePatcher::applyUpdates", ["SkinTemplateNavigation::Universal"]="CentralNotice::addNavigationTabs", ResourceLoaderRegisterModules="CentralNoticeHooks::onResourceLoaderRegisterModules", UserMergeAccountFields="CentralNoticeHooks::onUserMergeAccountFields", GetPreferences="CentralNoticeHooks::onGetPreferences", PreferencesGetIcon="CentralNoticeHooks::onPreferencesGetIcon", }, ExtensionFunctions={ "CentralNoticeHooks::initCentralNotice",}, config={ NoticeProject={ value="wikipedia", }, NoticeProjects={ value={ }, }, NoticeInfrastructure={ value=true, }, CentralDBname={ value=false, }, CentralBannerRecorder={ value=false, }, CentralNoticeSampleRate={ value=0.01, }, CentralNoticeImpressionEventSampleRate={ value=0, }, CentralHost={ value=false, }, CentralNoticeApiUrl={ value=false, }, CentralSelectedBannerDispatcher={ value=false, }, CentralMobileSelectedBannerDispatcher={ value=false, }, CentralNoticeLoader={ value=true, }, NoticeCookieDomain={ value="", }, NoticeCookieDurations={ value={ close=1209600, donate=31536000, }, merge_strategy="array_plus", }, CentralNoticeFallbackHideCookieDuration={ value=604800, }, NoticeHideUrls={ value={ }, }, CentralNoticeHideBannersP3P={ value=false, }, NoticeBannerMaxAge={ value=600, }, NoticeBannerReducedMaxAge={ value=120, }, NoticeUseTranslateExtension={ value=false, }, NoticeUseLanguageConversion={ value=false, }, NoticeTranslateDeployStates={ value={ "published",}, }, NoticeNumberOfBuckets={ value=4, }, NoticeNumberOfControllerBuckets={ value=2, }, NoticeBucketExpiry={ value=7, }, CentralNoticePerCampaignBucketExtension={ value=30, }, NoticeListComplementThreshold={ value=0.75, }, CentralNoticeCategoriesUsingLegacy={ value={ "Fundraising","fundraising",}, }, CentralNoticeBannerMixins={ value={ }, }, CentralNoticeCampaignMixins={ value={ bannerHistoryLogger={ subscribingModule="ext.centralNotice.bannerHistoryLogger", nameMsg="centralnotice-banner-history-logger", helpMsg="centralnotice-banner-history-logger-help", parameters={ rate={ type="float", maxVal="0.01", minVal="0", step=0.0001, labelMsg="centralnotice-banner-history-logger-rate", helpMsg="centralnotice-banner-history-logger-rate-help", }, maxEntryAge={ type="integer", labelMsg="centralnotice-banner-history-logger-max-entry-age", helpMsg="centralnotice-banner-history-logger-max-entry-age-help", }, maxEntries={ type="integer", labelMsg="centralnotice-banner-history-logger-max-entries", helpMsg="centralnotice-banner-history-logger-max-entries-help", }, waitLogNoSendBeacon={ type="integer", labelMsg="centralnotice-banner-history-logger-wait-log-no-send-beacon", helpMsg="centralnotice-banner-history-logger-wait-log-no-send-beacon-help", }, }, }, legacySupport={ subscribingModule="ext.centralNotice.legacySupport", nameMsg="centralnotice-legacy-support", helpMsg="centralnotice-legacy-support-help", parameters={ setSRISampleRate={ type="boolean", labelMsg="centralnotice-set-record-impression-sample-rate", }, sriSampleRate={ type="float", labelMsg="centralnotice-custom-record-impression-sample-rate", }, bannersNotGuaranteedToDisplay={ type="boolean", labelMsg="centralnotice-banners-not-guaranteed-to-display", }, }, }, impressionDiet={ subscribingModule="ext.centralNotice.impressionDiet", nameMsg="centralnotice-impression-diet", helpMsg="centralnotice-impression-diet-help", parameters={ cookieName={ type="string", labelMsg="centralnotice-impression-diet-identifier", helpMsg="centralnotice-impression-diet-identifier-help", }, skipInitial={ type="integer", labelMsg="centralnotice-impression-diet-skip-initial", helpMsg="centralnotice-impression-diet-skip-initial-help", }, maximumSeen={ type="integer", labelMsg="centralnotice-impression-diet-maximum-seen", helpMsg="centralnotice-impression-diet-maximum-seen-help", }, restartCycleDelay={ type="integer", labelMsg="centralnotice-impression-diet-restart-cycle-delay", helpMsg="centralnotice-impression-diet-restart-cycle-delay-help", }, }, }, largeBannerLimit={ subscribingModule="ext.centralNotice.largeBannerLimit", nameMsg="centralnotice-large-banner-limit", helpMsg="centralnotice-large-banner-limit-help", parameters={ days={ type="integer", labelMsg="centralnotice-large-banner-limit-days", helpMsg="centralnotice-large-banner-limit-days-help", defaultValue=250, }, randomize={ type="boolean", labelMsg="centralnotice-large-banner-limit-randomize", helpMsg="centralnotice-large-banner-limit-randomize-help", }, identifier={ type="string", labelMsg="centralnotice-large-banner-limit-identifier", helpMsg="centralnotice-large-banner-limit-identifier-help", defaultValue="centralnotice-frbanner-seen-fullscreen", }, }, }, bannerSequence={ subscribingModule="ext.centralNotice.bannerSequence", customAdminUIControlsModule="ext.centralNotice.adminUi.bannerSequence", nameMsg="centralnotice-banner-sequence", helpMsg="centralnotice-banner-sequence-help", parameters={ days={ type="integer", }, sequences={ type="json", }, }, }, impressionEventsSampleRate={ subscribingModule="ext.centralNotice.impressionEventsSampleRate", nameMsg="centralnotice-impression-events-sample-rate", helpMsg="centralnotice-impression-events-sample-rate-help", parameters={ rate={ type="float", maxVal="0.01", minVal="0", step=0.0001, labelMsg="centralnotice-impression-events-sample-rate-field", defaultValue=0, }, }, }, }, }, NoticeTabifyPages={ value={ CentralNotice={ type="namespaces", message="centralnotice-notices", }, CentralNoticeBanners={ type="namespaces", message="centralnotice-templates", }, BannerAllocation={ type="views", message="centralnotice-allocation", }, CentralNoticeLogs={ type="views", message="centralnotice-logs", }, }, }, CentralNoticeGeoIPBackgroundLookupModule={ value=nil, }, CentralNoticeContentSecurityPolicy={ value=false, }, CentralNoticeMaxCampaignFallback={ value=5, }, CentralNoticeAdminGroup={ value="sysop", }, CentralNoticeMessageProtectRight={ value="centralnotice-admin", }, CentralNoticeCampaignTypes={ value={ advocacy={ onForAll=false, }, ["article-writing"]={ onForAll=false, }, photography={ onForAll=false, }, event={ onForAll=false, }, fundraising={ onForAll=false, }, governance={ onForAll=false, }, maintenance={ onForAll=true, }, special={ onForAll=true, }, }, }, CentralNoticeESITestString={ value=false, }, }, attributes={ EventLogging={ Schemas={ CentralNoticeBannerHistory="/analytics/legacy/centralnoticebannerhistory/1.0.0", CentralNoticeImpression="/analytics/legacy/centralnoticeimpression/1.0.0", }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CentralNotice", }, Challenge={ name="Challenge", version="1.5", author={ "Aaron Wright","David Pean","Jack Phoenix",}, url="https://www.mediawiki.org/wiki/Extension:Challenge", descriptionmsg="challenge-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.35.3", }, DefaultUserOptions={ ["echo-subscriptions-web-challenge-received"]=true, ["echo-subscriptions-email-challenge-received"]=false, ["echo-subscriptions-web-challenge-accepted"]=true, ["echo-subscriptions-email-challenge-accepted"]=false, ["echo-subscriptions-web-challenge-rejected"]=true, ["echo-subscriptions-email-challenge-rejected"]=false, ["echo-subscriptions-web-challenge-lost"]=true, ["echo-subscriptions-email-challenge-lost"]=false, ["echo-subscriptions-web-challenge-won"]=true, ["echo-subscriptions-email-challenge-won"]=false, }, GroupPermissions={ sysop={ challengeadmin=true, }, }, AvailableRights={ "challengeadmin",}, SpecialPages={ ChallengeAction="ChallengeAction", ChallengeHistory="ChallengeHistory", ChallengeStandings="ChallengeStandings", ChallengeUser="ChallengeUser", ChallengeView="ChallengeView", }, ExtensionMessagesFiles={ ChallengeAliases="includes/Challenge.alias.php", }, Hooks={ BeforeCreateEchoEvent="ChallengeHooks::onBeforeCreateEchoEvent", EchoGetBundleRules="ChallengeHooks::onEchoGetBundleRules", EchoGetDefaultNotifiedUsers="ChallengeHooks::onEchoGetDefaultNotifiedUsers", LoadExtensionSchemaUpdates="ChallengeHooks::onLoadExtensionSchemaUpdates", UserProfileGetProfileHeaderLinks="ChallengeHooks::onUserProfileGetProfileHeaderLinks", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Challenge", }, ChangeAuthor={ name="ChangeAuthor", version="1.2.3", author={ "Roan Kattouw",}, ["license-name"]="GPL-3.0-or-later", url="https://www.mediawiki.org/wiki/Extension:ChangeAuthor", descriptionmsg="changeauthor-desc", requires={ MediaWiki=">= 1.36.0", }, type="specialpage", SpecialPages={ ChangeAuthor="ChangeAuthor", }, ExtensionMessagesFiles={ ChangeAuthorAliases="ChangeAuthor.alias.php", }, LogTypes={ "changeauth",}, LogActionsHandlers={ ["changeauth/*"]="LogFormatter", }, AvailableRights={ "changeauthor",}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ChangeAuthor", }, ChangeUserPasswords={ name="ChangeUserPasswords", version="0.1.0", author={ "Ankita Mandal","Mirco Zick",}, url="https://www.mediawiki.org/wiki/Extension:ChangeUserPasswords", descriptionmsg="changeuserpassword-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.36.0", }, GroupPermissions={ sysop={ changeuserpasswords=true, }, }, AvailableRights={ "changeuserpasswords",}, config={ ChangeUserPasswordsEnableFoo=true, }, ExtensionMessagesFiles={ ChangeUserPasswordsAlias="ChangeUserPasswords.i18n.alias.php", }, SpecialPages={ ChangeUserPasswords="SpecialChangeUserPasswords", }, Hooks={ AdminLinks="ChangeUserPasswordsHooks::addToAdminLinks", }, composer="mediawiki/change-user-passwords", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ChangeUserPasswords", }, CharInsert={ name="CharInsert", author="Brion Vibber", url="https://www.mediawiki.org/wiki/Extension:CharInsert", descriptionmsg="charinsert-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.38.0", }, Hooks={ ParserFirstCallInit="CharInsertHookHandler", BeforePageDisplay="CharInsertHookHandler", }, HookHandlers={ CharInsertHookHandler={ class="MediaWiki\\Extension\\CharInsert\\Hooks", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CharInsert", }, CharRangeSpan={ name="Character range span", version="1.0.0", author="Nick White", url="https://www.mediawiki.org/wiki/Extension:CharRangeSpan", descriptionmsg="charrangespan-desc", type="parserhook", requires={ MediaWiki=">= 1.29.0", }, Hooks={ ParserAfterTidy="CharRangeSpan::doCharRangeSpan", }, config={ CharRangeSpanSettings={ value={ grc={ ranges={ { "0300","036F",},{ "0370","03FF",},{ "1F00","1FFF",},}, attrs="lang=\"grc\"", maybeChars="\\s\\,\\.\\-", }, }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CharRangeSpan", }, CheckUser={ name="CheckUser", version="2.5", author={ "Tim Starling","Aaron Schulz",}, url="https://www.mediawiki.org/wiki/Extension:CheckUser", descriptionmsg="checkuser-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.40.0", platform={ ["ext-openssl"]="*", }, }, ExtensionMessagesFiles={ CheckUserAliases="CheckUser.alias.php", }, config={ CheckUserCIDRLimit={ value={ IPv4=16, IPv6=19, }, description="Shortest CIDR limits that can be checked in any individual range check", }, CheckUserMaxBlocks={ value=200, description="Maximum number of users that can be mass blocked simultaneously", }, CUPublicKey={ value="", description="Public key to encrypt private data that may need to be read later. Generate a public key with something like: `openssl genrsa -out cu.key 2048; openssl rsa -in cu.key -pubout > cu.pub` and paste the contents of cu.pub here.", }, CUDMaxAge={ value=7776000, description="How long to keep CheckUser data (in seconds)", }, CheckUserForceSummary={ value=false, description="Whether to force checkusers into giving a reason for each check they do through Special:CheckUser.", }, CheckUserCAMultiLock={ value=false, description="Whether to add a link to Special:MultiLock by CentralAuth to the Special:CheckUser's mass block form. This requires CentralAuth extension to be installed on the wiki. To enable this, set this to an array with a central wiki's database name and an array with the name(s) of the global group(s) to add the link for. Example: [ 'centralDB' => 'metawiki', 'groups' => [ 'steward' ] ]", }, CheckUserCAtoollink={ value=false, description="Whether to add links to CentralAuth in Special:CheckUser results", }, CheckUserGBtoollink={ value=false, description="Whether to add links for globally blocking accounts shown in Special:CheckUser results", }, CheckUserLogLogins={ value=false, description="Whether login attempts should be logged in CheckUser logs", }, CheckUserLogSuccessfulBotLogins={ value=true, description="Whether successful login attempts of accounts in the 'bot' user group should be logged in CheckUser logs (assuming wgCheckUserLogLogins is also true)", }, CheckUserEnableSpecialInvestigate={ value=false, description="Enables Special:Investigate", }, CheckUserLogAdditionalRights={ value={ }, description="Additional rights to be used when adding CheckUser log entries", }, CheckUserMaximumRowCount={ value=5000, description="Maximum number of rows in cu_changes to be used in any query", }, CheckUserInvestigateMaximumRowCount={ value=25000, description="Maximum number of rows in cu_changes to be grouped in the Compare table query", }, CheckUserActorMigrationStage={ value=259, }, CheckUserLogActorMigrationStage={ value=259, }, }, APIListModules={ checkuser={ class="MediaWiki\\CheckUser\\Api\\ApiQueryCheckUser", services={ "UserIdentityLookup","RevisionLookup","CheckUserLogService",}, }, checkuserlog="MediaWiki\\CheckUser\\Api\\ApiQueryCheckUserLog", }, HookHandlers={ preferences={ class="MediaWiki\\CheckUser\\HookHandler\\Preferences", }, Hooks={ class="MediaWiki\\CheckUser\\Hooks", }, }, Hooks={ RecentChange_save="Hooks", EmailUser="Hooks", ["User::mailPasswordInternal"]="Hooks", LocalUserCreated="Hooks", UserMergeAccountFields="MediaWiki\\CheckUser\\Hooks::onUserMergeAccountFields", RenameUserSQL="MediaWiki\\CheckUser\\Hooks::onRenameUserSQL", LoadExtensionSchemaUpdates="Hooks", ContributionsToolLinks="Hooks", PerformRetroactiveAutoblock="Hooks", AuthManagerLoginAuthenticateAudit="Hooks", SpecialPage_initList="Hooks", UserToolLinksEdit="Hooks", GetPreferences="preferences", }, attributes={ EventLogging={ Schemas={ SpecialInvestigate="/analytics/legacy/specialinvestigate/1.0.0", }, }, }, GroupPermissions={ checkuser={ checkuser=true, ["checkuser-log"]=true, }, }, AvailableRights={ "checkuser","checkuser-log",}, SpecialPages={ CheckUser={ class="MediaWiki\\CheckUser\\CheckUser\\SpecialCheckUser", services={ "LinkBatchFactory","BlockPermissionCheckerFactory","BlockUserFactory","UserGroupManager","CentralIdLookupFactory","WikiPageFactory","PermissionManager","UserIdentityLookup","CheckUserTokenQueryManager","DBLoadBalancer","ActorMigration","UserFactory","RevisionStore","CheckUserLogService","CommentFormatter","UserEditTracker","UserNamePrefixSearch","UserNameUtils",}, }, CheckUserLog={ class="MediaWiki\\CheckUser\\CheckUser\\SpecialCheckUserLog", services={ "LinkBatchFactory","PermissionManager","CommentStore",}, }, }, ServiceWiringFiles={ "src/ServiceWiring.php",}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CheckUser", }, Checkpoint={ name="Checkpoint", version="0.3.0", author="Ryan Schmidt", url="https://www.mediawiki.org/wiki/Extension:Checkpoint", descriptionmsg="checkpoint-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.31.0", }, Hooks={ EditPageBeforeEditButtons="CheckpointHooks::efCheckpointButton", PageContentSave="CheckpointHooks::efCheckpointSave", GetFullURL="CheckpointHooks::efCheckpointReturn", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Checkpoint", }, ChessBrowser={ name="ChessBrowser", version="0.4.0", author={ "Wugapodes","Kipod","DannyS712",}, descriptionmsg="chessbrowser-desc", type="parserhook", ["license-name"]="GPL-3.0-or-later", url="https://www.mediawiki.org/wiki/Extension:ChessBrowser", requires={ MediaWiki=">= 1.35", }, Hooks={ ParserFirstCallInit="MediaWiki\\Extension\\ChessBrowser\\ChessBrowserHooks::onParserFirstCallInit", OutputPageParserOutput="MediaWiki\\Extension\\ChessBrowser\\ChessBrowserHooks::onOutputPageParserOutput", }, TrackingCategories={ "chessbrowser-invalid-category",}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ChessBrowser", }, CirrusSearch={ name="CirrusSearch", version="6.5.4", author={ "Nik Everett","Chad Horohoe","Erik Bernhardson",}, url="https://www.mediawiki.org/wiki/Extension:CirrusSearch", descriptionmsg="cirrussearch-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.37.0", extensions={ Elastica=">= 6.0.1", }, }, Actions={ cirrusdump="CirrusSearch\\Dump", }, APIModules={ ["cirrus-config-dump"]="CirrusSearch\\Api\\ConfigDump", ["cirrus-mapping-dump"]="CirrusSearch\\Api\\MappingDump", ["cirrus-settings-dump"]="CirrusSearch\\Api\\SettingsDump", ["cirrus-profiles-dump"]="CirrusSearch\\Api\\ProfilesDump", }, APIPropModules={ cirrusbuilddoc="CirrusSearch\\Api\\QueryBuildDocument", cirrusdoc="CirrusSearch\\Api\\QueryCirrusDoc", cirruscompsuggestbuilddoc="CirrusSearch\\Api\\QueryCompSuggestBuildDoc", }, ConfigRegistry={ CirrusSearch="CirrusSearch\\SearchConfig::newFromGlobals", }, JobClasses={ cirrusSearchDeletePages="CirrusSearch\\Job\\DeletePages", cirrusSearchIncomingLinkCount="CirrusSearch\\Job\\IncomingLinkCount", cirrusSearchLinksUpdate="CirrusSearch\\Job\\LinksUpdate", cirrusSearchLinksUpdatePrioritized="CirrusSearch\\Job\\LinksUpdate", cirrusSearchMassIndex="CirrusSearch\\Job\\MassIndex", cirrusSearchOtherIndex="CirrusSearch\\Job\\OtherIndex", cirrusSearchElasticaWrite="CirrusSearch\\Job\\ElasticaWrite", cirrusSearchCheckerJob="CirrusSearch\\Job\\CheckerJob", cirrusSearchDeleteArchive="CirrusSearch\\Job\\DeleteArchive", }, Hooks={ APIAfterExecute="CirrusSearch\\Hooks::onAPIAfterExecute", ApiBeforeMain="CirrusSearch\\Hooks::onApiBeforeMain", APIQuerySiteInfoStatisticsInfo="CirrusSearch\\Hooks::onAPIQuerySiteInfoStatisticsInfo", ArticleDelete="CirrusSearch\\Hooks::onArticleDelete", ArticleDeleteComplete="CirrusSearch\\Hooks::onArticleDeleteComplete", ArticleRevisionVisibilitySet="CirrusSearch\\Hooks::onRevisionDelete", ArticleUndelete="CirrusSearch\\Hooks::onArticleUndelete", BeforeInitialize="CirrusSearch\\Hooks::onBeforeInitialize", CirrusSearchAddQueryFeatures="CirrusSearch\\Wikimedia\\WeightedTagsHooks::onCirrusSearchAddQueryFeatures", CirrusSearchAnalysisConfig="CirrusSearch\\Wikimedia\\WeightedTagsHooks::onCirrusSearchAnalysisConfig", CirrusSearchSimilarityConfig="CirrusSearch\\Wikimedia\\WeightedTagsHooks::onCirrusSearchSimilarityConfig", GetPreferences="default", LinksUpdateComplete="CirrusSearch\\Hooks::onLinksUpdateCompleted", MediaWikiServices="CirrusSearch\\Hooks::onMediaWikiServices", PrefixSearchExtractNamespace="CirrusSearch\\Hooks::onPrefixSearchExtractNamespace", ResourceLoaderGetConfigVars="CirrusSearch\\Hooks::onResourceLoaderGetConfigVars", SearchIndexFields={ "CirrusSearch\\Wikimedia\\WeightedTagsHooks::onSearchIndexFields","CirrusSearch\\Hooks\\CustomPageFields::onSearchIndexFields",}, SearchGetNearMatch="CirrusSearch\\Hooks::onSearchGetNearMatch", ShowSearchHitTitle="CirrusSearch\\Hooks::onShowSearchHitTitle", SoftwareInfo="CirrusSearch\\Hooks::onSoftwareInfo", SpecialSearchResults="CirrusSearch\\Hooks::onSpecialSearchResults", SpecialSearchResultsAppend="CirrusSearch\\Hooks::onSpecialSearchResultsAppend", SpecialStatsAddExtra="CirrusSearch\\Hooks::onSpecialStatsAddExtra", TitleMove="CirrusSearch\\Hooks::onTitleMove", PageMoveComplete="CirrusSearch\\Hooks::onPageMoveComplete", UploadComplete="CirrusSearch\\Hooks::onUploadComplete", UserGetDefaultOptions="default", }, HookHandlers={ default={ class="CirrusSearch\\Hooks", services={ "ConfigFactory",}, }, }, config={ CirrusSearchDefaultCluster={ value="default", }, CirrusSearchDisableUpdate={ value=false, }, CirrusSearchClusters={ value={ default={ "localhost",}, }, }, CirrusSearchWriteClusters={ value=nil, }, CirrusSearchWriteIsolateClusters={ value=nil, }, CirrusSearchElasticaWritePartitionCounts={ description="Mapping from writable cluster name to number of partitions. Defaults to 1 if not set.", value={ }, }, CirrusSearchPrivateClusters={ value=nil, }, CirrusSearchReplicaGroup={ value="default", }, CirrusSearchCrossClusterSearch={ value=false, }, CirrusSearchConnectionAttempts={ value=1, }, CirrusSearchShardCount={ value={ content=1, general=1, archive=1, titlesuggest=1, }, }, CirrusSearchReplicas={ value="0-2", }, CirrusSearchMaxShardsPerNode={ value={ }, }, CirrusSearchSlowSearch={ value=10, }, CirrusSearchUseExperimentalHighlighter={ value=false, }, CirrusSearchOptimizeIndexForExperimentalHighlighter={ value=false, }, CirrusSearchWikimediaExtraPlugin={ value={ }, }, CirrusSearchEnableRegex={ value=true, }, CirrusSearchRegexMaxDeterminizedStates={ value=20000, }, CirrusSearchQueryStringMaxDeterminizedStates={ value=nil, }, CirrusSearchQueryStringMaxWildcards={ value=3, }, CirrusSearchNamespaceMappings={ value={ }, merge_strategy="array_plus", }, CirrusSearchExtraIndexes={ value={ }, merge_strategy="array_plus", }, CirrusSearchExtraIndexBoostTemplates={ value={ }, }, CirrusSearchUpdateShardTimeout={ value="1ms", }, CirrusSearchClientSideUpdateTimeout={ value=120, }, CirrusSearchClientSideConnectTimeout={ value=5, }, CirrusSearchSearchShardTimeout={ value={ comp_suggest="5s", prefix="5s", default="20s", regex="120s", }, }, CirrusSearchClientSideSearchTimeout={ value={ comp_suggest=10, prefix=10, default=40, regex=240, }, }, CirrusSearchMaintenanceTimeout={ value=3600, }, CirrusSearchPrefixSearchStartsWithAnyWord={ value=false, }, CirrusSearchPhraseSlop={ value={ precise=0, default=0, boost=1, }, }, CirrusSearchPhraseRescoreBoost={ value=10, }, CirrusSearchPhraseRescoreWindowSize={ value=512, }, CirrusSearchFunctionRescoreWindowSize={ value=8192, }, CirrusSearchMoreAccurateScoringMode={ value=true, }, CirrusSearchFallbackProfile={ value="phrase_suggest", }, CirrusSearchFallbackProfiles={ value={ }, }, CirrusSearchEnablePhraseSuggest={ value=true, }, CirrusSearchPhraseSuggestProfiles={ value={ }, }, CirrusSearchPhraseSuggestReverseField={ value={ build=false, use=false, }, }, CirrusSearchPhraseSuggestUseText={ value=false, }, CirrusSearchPhraseSuggestUseOpeningText={ value=false, }, CirrusSearchAllowLeadingWildcard={ value=true, }, CirrusSearchIndexedRedirects={ value=1024, }, CirrusSearchLinkedArticlesToUpdate={ value=25, }, CirrusSearchUnlinkedArticlesToUpdate={ value=25, }, CirrusSearchSimilarityProfile={ value="bm25_with_defaults", }, CirrusSearchSimilarityProfiles={ value={ }, }, CirrusSearchWeights={ value={ title=20, redirect=15, category=8, heading=5, opening_text=3, text=1, auxiliary_text=0.5, file_text=0.5, }, }, CirrusSearchPrefixWeights={ value={ title=10, redirect=1, title_asciifolding=7, redirect_asciifolding=0.7, }, }, CirrusSearchAllFields={ value={ build=true, use=true, }, }, CirrusSearchBoostOpening={ value="first_heading", }, CirrusSearchNearMatchWeight={ value=2, }, CirrusSearchStemmedWeight={ value=0.5, }, CirrusSearchNamespaceWeights={ value={ [3]=0.05, [5]=0.1, [9]=0.05, [11]=0.005, [13]=0.1, }, merge_strategy="array_plus", }, CirrusSearchDefaultNamespaceWeight={ value=0.2, }, CirrusSearchTalkNamespaceWeight={ value=0.25, }, CirrusSearchLanguageWeight={ value={ user=0, wiki=0, }, }, CirrusSearchPreferRecentDefaultDecayPortion={ value=0, }, CirrusSearchPreferRecentUnspecifiedDecayPortion={ value=0.6, }, CirrusSearchPreferRecentDefaultHalfLife={ value=160, }, CirrusSearchMoreLikeThisConfig={ value={ min_doc_freq=2, max_doc_freq=nil, max_query_terms=25, min_term_freq=2, min_word_length=0, max_word_length=0, minimum_should_match="30%", }, }, CirrusSearchMoreLikeThisMaxQueryTermsLimit={ value=100, }, CirrusSearchMoreLikeThisFields={ value={ "text",}, }, CirrusSearchMoreLikeThisAllowedFields={ value={ "title","text","auxiliary_text","opening_text","headings",}, }, CirrusSearchClusterOverrides={ value={ }, }, CirrusSearchMoreLikeThisTTL={ value=0, }, CirrusSearchFetchConfigFromApi={ value=false, }, CirrusSearchInterwikiSources={ value={ }, }, CirrusSearchCrossProjectOrder={ value="static", }, CirrusSearchCrossProjectBlockScorerProfiles={ value={ }, }, CirrusSearchInterwikiHTTPTimeout={ value=10, }, CirrusSearchInterwikiHTTPConnectTimeout={ value=5, }, CirrusSearchRefreshInterval={ value=1, }, CirrusSearchUpdateDelay={ value={ prioritized=0, default=0, }, }, CirrusSearchBannedPlugins={ value={ }, }, CirrusSearchUpdateConflictRetryCount={ value=5, }, CirrusSearchFragmentSize={ value=150, }, CirrusSearchIndexAllocation={ value={ include={ }, exclude={ }, require={ }, }, }, CirrusSearchPoolCounterKey={ value="_elasticsearch", }, CirrusSearchMergeSettings={ value={ }, }, CirrusSearchLogElasticRequests={ value=true, }, CirrusSearchLogElasticRequestsSecret={ value=false, }, CirrusSearchMaxFullTextQueryLength={ value=300, }, CirrusSearchMaxIncategoryOptions={ value=100, }, CirrusSearchFeedbackLink={ value=false, }, CirrusSearchWriteBackoffExponent={ value=6, }, CirrusSearchUserTesting={ value={ }, }, CirrusSearchActiveTest={ value=nil, }, CirrusSearchCompletionProfiles={ value={ }, }, CirrusSearchCompletionSettings={ value="fuzzy", }, CirrusSearchUseIcuFolding={ value="default", }, CirrusSearchICUNormalizationUnicodeSetFilter={ value=nil, }, CirrusSearchICUFoldingUnicodeSetFilter={ value=nil, }, CirrusSearchUseIcuTokenizer={ value="default", }, CirrusSearchCompletionDefaultScore={ value="quality", }, CirrusSearchUseCompletionSuggester={ value="no", }, CirrusSearchCompletionSuggesterSubphrases={ value={ build=false, use=false, type="anywords", limit=10, }, }, CirrusSearchCompletionSuggesterUseDefaultSort={ value=false, }, CirrusSearchCompletionSuggesterHardLimit={ value=50, }, CirrusSearchRecycleCompletionSuggesterIndex={ value=true, }, CirrusSearchEnableAltLanguage={ value=false, }, CirrusSearchLanguageToWikiMap={ value={ }, }, CirrusSearchWikiToNameMap={ value={ }, }, CirrusSearchEnableCrossProjectSearch={ value=false, }, CirrusSearchCrossProjectSearchBlockList={ value={ }, }, CirrusSearchInterwikiPrefixOverrides={ value={ }, }, CirrusSearchCrossProjectProfiles={ value={ }, }, CirrusExploreSimilarResults={ value=false, }, CirrusSearchCrossProjectShowMultimedia={ value=false, }, CirrusSearchNumCrossProjectSearchResults={ value=5, }, CirrusSearchInterwikiProv={ value=false, }, CirrusSearchRescoreProfiles={ value={ }, }, CirrusSearchRescoreFunctionChains={ value={ }, }, CirrusSearchRescoreProfile={ value="classic", }, CirrusSearchPrefixSearchRescoreProfile={ value="classic", }, CirrusSearchInterwikiThreshold={ value=3, }, CirrusSearchLanguageDetectors={ value={ }, }, CirrusSearchTextcatModel={ value={ }, }, CirrusSearchTextcatConfig={ value={ }, }, CirrusSearchMasterTimeout={ value="30s", }, CirrusSearchSanityCheck={ value=true, }, CirrusSearchIndexBaseName={ value="__wikiid__", }, CirrusSearchStripQuestionMarks={ value="all", }, CirrusSearchFullTextQueryBuilderProfile={ value="default", }, CirrusSearchFullTextQueryBuilderProfiles={ value={ }, }, CirrusSearchPrefixIds={ value=false, }, CirrusSearchExtraBackendLatency={ value=0, }, CirrusSearchBoostTemplates={ value={ }, }, CirrusSearchIgnoreOnWikiBoostTemplates={ value=false, }, CirrusSearchDevelOptions={ value={ }, }, CirrusSearchFiletypeAliases={ value={ }, }, CirrusSearchDocumentSizeLimiterProfile={ value="default", }, CirrusSearchDocumentSizeLimiterProfiles={ value={ }, }, CirrusSearchMaxFileTextLength={ value=-1, }, CirrusSearchElasticQuirks={ value={ }, }, CirrusSearchExtraIndexSettings={ value={ }, }, CirrusSearchIndexDeletes={ value=false, }, CirrusSearchEnableArchive={ value=false, }, CirrusSearchInterleaveConfig={ value=nil, }, CirrusSearchMaxPhraseTokens={ value=nil, }, CirrusSearchCategoryEndpoint={ value="", }, CirrusSearchCategoryDepth={ value=5, }, CirrusSearchCategoryMax={ value=256, }, CirrusSearchNamespaceResolutionMethod={ value="elastic", }, CirrusSearchWMFExtraFeatures={ description="Configuration for Wikimedia-spexific extra features.\n\n* weighted_tags: multi purpose tag search.\n** build: include in the index definition", value={ weighted_tags={ build=false, use=false, }, }, }, CirrusSearchCompletionBannedPageIds={ description="Set of page ids to never return in completion search", value={ }, }, CirrusSearchAutomationUserAgentRegex={ description="Regular expression used to identify http user agents of automated requests", value=nil, }, CirrusSearchAutomationCIDRs={ description="List of CIDR strings used to identify automated requests", value={ }, }, CirrusSearchCustomPageFields={ description="Defines additional custom fields for page indexes", value={ }, }, CirrusSearchExtraFieldsInSearchResults={ description="Defines extra fields to add to each result", value={ }, }, CirrusSearchEnableIncomingLinkCounting={ description="Enables queries used for counting of incoming links. Disable if an external service is updating these.", value=true, }, }, SearchMappings={ CirrusSearch={ class="CirrusSearch\\CirrusSearch", }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, composer="mediawiki/cirrussearch", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CirrusSearch", }, Cite={ name="Cite", author={ "Ævar Arnfjörð Bjarmason","Andrew Garrett","Brion Vibber","Ed Sanders","Marius Hoch","Steve Sanbeg","Trevor Parscal","...",}, url="https://www.mediawiki.org/wiki/Extension:Cite", descriptionmsg="cite-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.39.0", }, Hooks={ APIQuerySiteInfoGeneralInfo="main", ContentHandlerDefaultModelFor="main", ParserAfterParse="parser", ParserClearState="parser", ParserCloned="parser", ParserFirstCallInit="parser", ResourceLoaderGetConfigVars="main", }, HookHandlers={ main={ class="Cite\\Hooks\\CiteHooks", }, parser={ class="Cite\\Hooks\\CiteParserHooks", }, }, QUnitTestModule={ localBasePath="modules/ve-cite/tests", remoteExtPath="Cite/modules/ve-cite/tests", scripts={ "ve.dm.citeExample.js","ve.dm.Converter.test.js","ve.dm.InternalList.test.js","ve.dm.Transaction.test.js","ve.ui.DiffElement.test.js","ve.ui.MWWikitextStringTransferHandler.test.js",}, dependencies={ "ext.cite.visualEditor","test.VisualEditor",}, }, attributes={ CodeMirror={ TagModes={ ref="text/mediawiki", }, }, EventLogging={ Schemas={ ReferencePreviewsBaseline="/analytics/legacy/referencepreviewsbaseline/1.0.0", ReferencePreviewsCite="/analytics/legacy/referencepreviewscite/1.0.0", }, }, VisualEditor={ PluginModules={ "ext.cite.visualEditor",}, }, }, ConfigRegistry={ cite="GlobalVarConfig::newInstance", }, config={ CiteBookReferencing={ description="Development feature flag for Book Referencing, a way to nest citations. Please don't enable in production.", public=true, value=false, }, CiteVisualEditorOtherGroup={ public=true, value=false, }, CiteResponsiveReferences={ public=true, value=true, }, }, TrackingCategories={ "cite-tracking-category-cite-error",}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Cite", }, CiteDrawer={ name="CiteDrawer", version="1.0.1", author={ "WikiWorks team",}, url="https://www.mediawiki.org/wiki/Extension:CiteDrawer", descriptionmsg="citedrawer-desc", ["license-name"]="MIT", requires={ MediaWiki=">= 1.35.0", }, type="other", config={ CiteDrawerEnableDesktop={ value=true, }, CiteDrawerEnableMobile={ value=true, }, CiteDrawerTheme={ value="dark", }, }, ExtensionMessagesFiles={ CiteDrawerAlias="CiteDrawer.i18n.alias.php", }, Hooks={ BeforePageDisplay="CiteDrawerHooks::onBeforePageDisplay", MakeGlobalVariablesScript="CiteDrawerHooks::onMakeGlobalVariablesScript", }, QUnitTestModule={ scripts={ "ext.CiteDrawer.class.test.js",}, dependencies={ "ext.citedrawer.main",}, localBasePath="tests/qunit", remoteExtPath="CiteDrawer/tests/qunit", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CiteDrawer", }, CiteThisPage={ name="CiteThisPage", author={ "Ævar Arnfjörð Bjarmason","James D. Forrester",}, url="https://www.mediawiki.org/wiki/Extension:CiteThisPage", descriptionmsg="citethispage-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.36.0", }, ExtensionMessagesFiles={ CiteThisPageAliases="CiteThisPage.alias.php", }, Hooks={ SidebarBeforeOutput="CiteThisPageHookHandler", }, HookHandlers={ CiteThisPageHookHandler={ class="MediaWiki\\Extension\\CiteThisPage\\Hooks", }, }, SpecialPages={ CiteThisPage={ class="MediaWiki\\Extension\\CiteThisPage\\SpecialCiteThisPage", services={ "SearchEngineFactory","RevisionLookup","ParserFactory",}, }, }, config={ CiteThisPageAdditionalNamespaces={ value={ }, description="An array of namespaces where the 'Cite this page' link is also visible, additionally to the content pages.", merge_strategy="array_plus", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CiteThisPage", }, Citoid={ name="Citoid", version="0.3.0", author={ "Marielle Volz","Moriel Schottlender","Ed Sanders",}, url="https://www.mediawiki.org/wiki/Citoid", descriptionmsg="citoid-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.39.0", }, QUnitTestModule={ localBasePath="", remoteExtPath="Citoid", scripts={ "modules/ve/tests/index.test.js",}, dependencies={ "ext.citoid.visualEditor",}, }, Hooks={ ResourceLoaderGetConfigVars="MediaWiki\\Extension\\Citoid\\Hooks::onResourceLoaderGetConfigVars", BeforePageDisplay="MediaWiki\\Extension\\Citoid\\Hooks::onBeforePageDisplay", GetPreferences="MediaWiki\\Extension\\Citoid\\Hooks::onGetPreferences", }, attributes={ VisualEditor={ PluginModules={ "ext.citoid.visualEditor",}, }, }, config={ CitoidServiceUrl={ value=false, description="Full url to use the native citoid api, i.e. http://localhost:1970/api. Only used if VisualEditorFullRestbaseURL is null.", }, CitoidFullRestbaseURL={ value=false, description="Full url to use a citoid service running behind restbase, i.e. https://en.wikipedia.org/api/rest_. Overwrites default, which is to use VisualEditorFullRestbaseURL.", }, WBCitoidFullRestbaseURL={ value=false, description="Full url to use a citoid service running behind restbase, used by wikibase module/repository, i.e. https://en.wikipedia.org/api/rest_", }, }, ConfigRegistry={ citoid="GlobalVarConfig::newInstance", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Citoid", }, CleanChanges={ name="Clean Changes", version="2022-10-22", author="Niklas Laxström", url="https://www.mediawiki.org/wiki/Extension:CleanChanges", descriptionmsg="cleanchanges-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.34.0", }, config={ CCTrailerFilter=false, CCUserFilter=true, }, Hooks={ FetchChangesList="CCFilters::hook", ChangesListSpecialPageQuery={ "CCFilters::user","CCFilters::trailer",}, SpecialRecentChangesPanel={ "CCFilters::userForm","CCFilters::trailerForm",}, }, composer="mediawiki/clean-changes", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CleanChanges", }, CloseWikis={ name="CloseWikis", version="1.2", author={ "Victor Vasiliev","Hydriz Scholz",}, url="https://www.mediawiki.org/wiki/Extension:CloseWikis", descriptionmsg="closewikis-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.36.0", }, AvailableRights={ "closewikis","editclosedwikis",}, GroupPermissions={ steward={ closewikis=true, }, }, LogActions={ ["closewiki/close"]="closewikis-log-close", ["closewiki/reopen"]="closewikis-log-reopen", }, LogHeaders={ closewiki="closewikis-log-header", }, LogNames={ closewiki="closewikis-log", }, LogTypes={ "closewiki",}, SpecialPages={ CloseWiki="SpecialCloseWiki", ListClosedWikis="SpecialListClosedWikis", }, ExtensionMessagesFiles={ CloseWikisAlias="CloseWikis.alias.php", }, Hooks={ getUserPermissionsErrors="CloseWikisHooks::userCan", LoadExtensionSchemaUpdates="CloseWikisHooks::onLoadExtensionSchemaUpdates", }, callback="CloseWikisHooks::onRegistration", config={ CloseWikisDatabase={ value="closedwikis", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CloseWikis", }, CodeEditor={ name="CodeEditor", author={ "Brion Vibber","Derk-Jan Hartman","authors of Ace",}, url="https://www.mediawiki.org/wiki/Extension:CodeEditor", descriptionmsg="codeeditor-desc", ["license-name"]="GPL-2.0-or-later AND BSD-3-Clause", type="editor", requires={ MediaWiki=">= 1.35.0", extensions={ WikiEditor=">= 0.5.2", }, }, Hooks={ ["EditPage::showEditForm:initial"]="CodeEditorHooks", ["EditPage::showReadOnlyForm:initial"]="CodeEditorHooks", GetPreferences="CodeEditorHooks", }, HookHandlers={ CodeEditorHooks={ class="MediaWiki\\Extension\\CodeEditor\\Hooks", services={ "UserOptionsLookup",}, }, }, DefaultUserOptions={ usecodeeditor=1, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CodeEditor", }, CodeMirror={ name="CodeMirror", version="4.0.0", author={ "Pavel Astakhov","Florian Schmidt","Marijn Haverbeke","CodeMirror contributors",}, url="https://www.mediawiki.org/wiki/Extension:CodeMirror", descriptionmsg="codemirror-desc", type="editor", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.38.0", }, config={ CodeMirrorLineNumberingNamespaces={ value=nil, description="List of namespace IDs where line numbering should be enabled, or `null` to enable for all namespaces. Set to [] to disable everywhere. Defaults to `null` for all namespaces.", public=true, }, }, DefaultUserOptions={ usecodemirror=0, }, QUnitTestModule={ localBasePath="", remoteExtPath="CodeMirror", scripts={ "resources/mode/mediawiki/tests/qunit/CodeMirror.mediawiki.test.js",}, dependencies={ "ext.CodeMirror.data","ext.CodeMirror.lib","ext.CodeMirror.mode.mediawiki",}, }, Hooks={ BeforePageDisplay="MediaWiki\\Extension\\CodeMirror\\Hooks::onBeforePageDisplay", GetPreferences="MediaWiki\\Extension\\CodeMirror\\Hooks::onGetPreferences", ResourceLoaderGetConfigVars="MediaWiki\\Extension\\CodeMirror\\Hooks::onResourceLoaderGetConfigVars", }, attributes={ CodeMirror={ PluginModules={ "ext.CodeMirror.addons",}, TagModes={ pre="mw-tag-pre", nowiki="mw-tag-nowiki", }, }, VisualEditor={ PluginModules={ "ext.CodeMirror.visualEditor.init","ext.CodeMirror.visualEditor",}, }, EventLogging={ Schemas={ CodeMirrorUsage="/analytics/legacy/codemirrorusage/1.0.0", }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CodeMirror", }, CodeReview={ name="CodeReview", version="1.19.2", author={ "Brion Vibber","Aaron Schulz","Alexandre Emsenhuber","Chad Horohoe","Sam Reed","Roan Kattouw",}, url="https://www.mediawiki.org/wiki/Extension:CodeReview", descriptionmsg="codereview-desc", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.37.0", }, type="specialpage", config={ CodeReviewMaxDiffSize={ value=500000, }, CodeReviewShuffleTagCloud={ value=false, }, CodeReviewImportBatchSize={ value=400, }, SubversionUser={ value=false, }, CodeReviewMaxDiffPaths={ value=20, }, CodeReviewFlags={ value={ "inspected","tested",}, }, CodeReviewImgRegex={ value="/\\.(png|jpg|jpeg|gif)$/i", }, SubversionProxyTimeout={ value=30, }, SubversionProxy={ value=false, }, SubversionPassword={ value=false, }, CodeReviewCommentWatcherName={ value="CodeReview comments list", }, SubversionOptions={ value="--non-interactive --trust-server-cert", }, CodeReviewDisableFollowUpNotification={ value=false, }, CodeReviewRepoStatsCacheTime={ value=21600, }, CodeReviewProtectedStates={ value={ "ok","resolved",}, }, CodeReviewCommentWatcherEmail={ value="", }, CodeReviewENotif={ value=false, }, CodeReviewStates={ value={ "new","fixme","reverted","resolved","ok","deferred","old",}, }, CodeReviewDeferredPaths={ value={ }, }, CodeReviewAutoTagPath={ value={ }, }, CodeReviewFixmePerPath={ value={ }, }, CodeReviewNewPerPath={ value={ }, }, CodeReviewRC={ value={ }, }, CodeReviewListSpecialPage={ value=true, }, }, ExtensionMessagesFiles={ CodeReviewAliases="CodeReview.alias.php", }, APIModules={ codeupdate="MediaWiki\\Extension\\CodeReview\\Api\\ApiCodeUpdate", codediff="MediaWiki\\Extension\\CodeReview\\Api\\ApiCodeDiff", coderevisionupdate="MediaWiki\\Extension\\CodeReview\\Api\\ApiRevisionUpdate", }, APIListModules={ codecomments="MediaWiki\\Extension\\CodeReview\\Api\\ApiQueryCodeComments", codepaths="MediaWiki\\Extension\\CodeReview\\Api\\ApiQueryCodePaths", coderevisions="MediaWiki\\Extension\\CodeReview\\Api\\ApiQueryCodeRevisions", codetags="MediaWiki\\Extension\\CodeReview\\Api\\ApiQueryCodeTags", }, Hooks={ MakeGlobalVariablesScript="MediaWiki\\Extension\\CodeReview\\Hooks::onMakeGlobalVariablesScript", LoadExtensionSchemaUpdates="MediaWiki\\Extension\\CodeReview\\Hooks::onLoadExtensionSchemaUpdates", RenameUserSQL="MediaWiki\\Extension\\CodeReview\\Hooks::onRenameUserSQL", UserMergeAccountFields="MediaWiki\\Extension\\CodeReview\\Hooks::onUserMergeAccountFields", }, GroupPermissions={ ["*"]={ ["codereview-use"]=true, }, user={ ["codereview-add-tag"]=true, ["codereview-remove-tag"]=true, ["codereview-post-comment"]=true, ["codereview-set-status"]=true, ["codereview-link-user"]=true, ["codereview-signoff"]=true, ["codereview-associate"]=true, }, }, AvailableRights={ "repoadmin","codereview-use","codereview-add-tag","codereview-remove-tag","codereview-post-comment","codereview-set-status","codereview-signoff","codereview-associate","codereview-link-user","codereview-review-own",}, SpecialPages={ Code="MediaWiki\\Extension\\CodeReview\\UI\\SpecialCode", RepoAdmin="MediaWiki\\Extension\\CodeReview\\UI\\SpecialRepoAdmin", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CodeReview", }, Cognate={ name="Cognate", author={ "Gabriel Birke ","Addshore",}, url="https://www.mediawiki.org/wiki/Extension:Cognate", descriptionmsg="cognate-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.37.0", }, JobClasses={ CognateLocalJobSubmitJob="Cognate\\LocalJobSubmitJob", CognateCacheUpdateJob="Cognate\\CacheUpdateJob", }, config={ CognateDb={ description="The database to use for storing Cognate data. The default is to use the db of the current site.", value=false, }, CognateCluster={ description="The cluster to use for storing Cognate data. The default is to use the cluster / server of the current site. See $wgLBFactoryConf.", value=false, }, CognateReadOnly={ description="Sets the CognateStore to be read only. This will mean the cognate_pages and cognate_titles tables will become out of sync with reality and populateCognatePages.php will have to be run after read only mode is disabled as well as deleted pages purged from the table.", value=false, }, CognateNamespaces={ description="The namespace IDs to run Cognate for. For links to work between sites these IDs must be the same across sites.", value={ 0,}, }, }, ServiceWiringFiles={ "src/ServiceWiring.php",}, Hooks={ PageSaveComplete="Cognate\\CognateHooks::onPageSaveComplete", PageMoveComplete="Cognate\\CognateHooks::onPageMoveComplete", ContentAlterParserOutput="Cognate\\CognateHooks::onContentAlterParserOutput", WikiPageDeletionUpdates="Cognate\\CognateHooks::onWikiPageDeletionUpdates", ArticleUndelete="Cognate\\CognateHooks::onArticleUndelete", LoadExtensionSchemaUpdates="Cognate\\CognateHooks::onLoadExtensionSchemaUpdates", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Cognate", }, CognitiveProcessDesigner={ name="CognitiveProcessDesigner", version="2.2-alpha", ["license-name"]="GPL-3.0-only", author={ "Hallo Welt! GmbH","Oleksandr Pinchuck","Robert Vogel",}, url="https://www.hallowelt.com", descriptionmsg="cognitiveprocessdesigner-desc", requires={ MediaWiki=">= 1.35.0", extensions={ PageForms="~5.1", }, }, attributes={ BlueSpiceFoundation={ PermissionRegistry={ ["cognitiveprocessdesigner-editbpmn"]={ type="global", roles={ "admin","editor","maintenanceadmin",}, }, }, }, BlueSpiceVisualEditorConnector={ TagDefinitions={ "ext.cpd.ve.tagdefinition",}, }, ContentDroplets={ Droplets={ ["bpmn-diagram"]={ class="\\CognitiveProcessDesigner\\ContentDroplets\\BPMNDiagramDroplet", }, }, }, }, AvailableRights={ "cognitiveprocessdesigner-editbpmn",}, GroupPermissions={ ["*"]={ ["cognitiveprocessdesigner-editbpmn"]=false, }, user={ ["cognitiveprocessdesigner-editbpmn"]=true, }, sysop={ ["cognitiveprocessdesigner-editbpmn"]=true, }, }, APIModules={ ["cpd-save-diagram-elements"]="\\CognitiveProcessDesigner\\Api\\SaveDiagramElementsApi", ["cpd-delete-orphaned-elements"]="\\CognitiveProcessDesigner\\Api\\DeleteOrphanedElementsApi", }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, Hooks={ ParserFirstCallInit="\\CognitiveProcessDesigner\\Hook\\ParserFirstCallInit\\RenderBPMNTag::callback", OutputPageBeforeHTML="\\CognitiveProcessDesigner\\Hook\\OutputPageBeforeHTML\\AddEntityHeaderFooter::callback", BSUEModulePDFBeforeCreatePDF="\\CognitiveProcessDesigner\\Hook\\BSUEModulePDFBeforeCreatePDF\\PrepareBPMNDiagramForExport::callback", BSUEModulePDFBeforeAddingStyleBlocks="\\CognitiveProcessDesigner\\Hook\\BSUEModulePDFBeforeAddingStyleBlocks\\AddCPDStyles::callback", MakeGlobalVariablesScript="\\CognitiveProcessDesigner\\Hook\\MakeGlobalVariablesScript\\AddConfigVars::callback", LoadExtensionSchemaUpdates="\\CognitiveProcessDesigner\\Hook\\LoadExtensionSchemaUpdates\\AddRequiredPages::callback", BSInsertMagicAjaxGetData="\\CognitiveProcessDesigner\\Hook\\BSInsertMagicAjaxGetData\\AddBpmnTag::callback", }, RestRoutes={ { path="/cognitiveprocessdesigner/save_elements/status/{processId}", method="GET", class="CognitiveProcessDesigner\\Rest\\ProcessStatusHandler", },}, config_prefix="wg", config={ CPDEntityElementTypes={ value={ "bpmn:Task","BPMN Task","Activity",}, }, CPDHappyPathSMWPropertyName={ value="Bpmn_isHappyPath", }, }, composer="mediawiki/cognitiveprocessdesigner", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CognitiveProcessDesigner", }, CollaborationKit={ name="CollaborationKit", version="0.4", author={ "Kim Schoonover","Brian Wolff","James Hare",}, url="https://www.mediawiki.org/wiki/Extension:CollaborationKit", descriptionmsg="collaborationkit-desc", type="other", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.38", extensions={ EventLogging="*", }, }, ExtensionMessagesFiles={ CollaborationKitAlias="CollaborationKit.alias.php", CollaborationKitMagic="CollaborationKit.i18n.magic.php", }, TrackingCategories={ "collaborationkit-hub-tracker","collaborationkit-list-tracker",}, ContentHandlers={ CollaborationHubContent="CollaborationHubContentHandler", CollaborationListContent="CollaborationListContentHandler", }, config={ CollaborationHubAllowedNamespaces={ value={ [3]=true, [5]=true, }, merge_strategy="array_plus", }, CollaborationListAllowedNamespaces={ value={ [3]=true, [5]=true, }, merge_strategy="array_plus", }, }, SpecialPages={ CollaborationKitIcons="SpecialCollaborationKitIcons", CreateCollaborationHub="SpecialCreateCollaborationHub", CreateHubFeature="SpecialCreateHubFeature", }, Hooks={ SkinTemplateNavigation="CollaborationKitHooks::onSkinTemplateNavigation", ParserFirstCallInit="CollaborationKitHooks::onParserFirstCallInit", CodeEditorGetPageLanguage="CollaborationKitHooks::onCodeEditorGetPageLanguage", ArticleViewHeader="CollaborationListContent::onArticleViewHeader", CustomEditor={ "CollaborationListContent::onCustomEditor","CollaborationHubContent::onCustomEditor",}, OutputPageBeforeHTML="CollaborationKitHooks::onOutputPageBeforeHTML", GetDoubleUnderscoreIDs="CollaborationKitHooks::onGetDoubleUnderscoreIDs", OutputPageParserOutput="CollaborationKitHooks::onOutputPageParserOutput", OutputPageBodyAttributes="CollaborationHubContentEditor::setCollabkitTheme", BeforePageDisplay="CollaborationListContent::onBeforePageDisplay", ParserOutputPostCacheTransform="CollaborationHubContentHandler::onParserOutputPostCacheTransform", }, ["@fixme"]="Does having ext.CollaborationKit.list.styles as a dependency double load from addModuleStyles?", ["@todo FIXME"]="Should this actually load oojs-ui-core, or something else", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CollaborationKit", }, CollapsibleSections={ name="CollapsibleSections", version="0.0.1", author={ "WikiWorks team",}, url="https://www.mediawiki.org/wiki/Extension:CollapsibleSections", descriptionmsg="collapsiblesections-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.35.0", }, config={ CollapsibleSectionsCollapsedByDefault={ value=true, }, CollapsibleSectionsEnableDesktop={ value=false, }, CollapsibleSectionsTag={ value="h2", }, }, HookHandlers={ CollapsibleSections={ class="MediaWiki\\Extension\\CollapsibleSections\\CollapsibleSectionsHooks", }, }, Hooks={ BeforePageDisplay={ handler="CollapsibleSections", }, ResourceLoaderGetConfigVars={ handler="CollapsibleSections", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CollapsibleSections", }, CollapsibleVector={ name="CollapsibleVector", namemsg="collapsiblevector-extensionname", version="0.1.11", author={ "Paladox",}, url="https://www.mediawiki.org/wiki/Extension:CollapsibleVector", descriptionmsg="collapsiblevector-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.38.0", }, DefaultUserOptions={ ["collapsiblevector-collapsiblenav"]=1, ["collapsiblevector-noexperiments"]=0, }, Hooks={ BeforePageDisplay="CollapsibleVectorHooks::beforePageDisplay", GetPreferences="CollapsibleVectorHooks::getPreferences", ResourceLoaderGetConfigVars="CollapsibleVectorHooks::resourceLoaderGetConfigVars", MakeGlobalVariablesScript="CollapsibleVectorHooks::makeGlobalVariablesScript", }, config={ CollapsibleVectorFeatures={ collapsiblenav={ global=false, user=true, }, ["_merge_strategy"]="array_plus_2d", }, }, repository="https://phabricator.wikimedia.org/diffusion/ECLV/", composer="mediawiki/collapsible-vector", }, Collection={ name="Collection", version="1.8.0", author={ "PediaPress GmbH","Siebrand Mazeland","Marcin Cieślak",}, url="https://www.mediawiki.org/wiki/Extension:Collection", descriptionmsg="coll-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.37.0", }, AvailableRights={ "collectionsaveasuserpage","collectionsaveascommunitypage",}, SpecialPages={ Book="MediaWiki\\Extension\\Collection\\Specials\\SpecialCollection", RenderBook="MediaWiki\\Extension\\Collection\\Specials\\SpecialRenderBook", }, ExtensionMessagesFiles={ CollectionAlias="Collection.alias.php", }, APIModules={ collection={ class="MediaWiki\\Extension\\Collection\\Api\\ApiCollection", }, }, Hooks={ SidebarBeforeOutput="MediaWiki\\Extension\\Collection\\Hooks::onSidebarBeforeOutput", SiteNoticeAfter="MediaWiki\\Extension\\Collection\\Hooks::siteNoticeAfter", OutputPageCheckLastModified="MediaWiki\\Extension\\Collection\\Hooks::checkLastModified", }, config={ CollectionMWServeURL={ description="URL of mw-serve render server", value="https://tools.pediapress.com/mw-serve/", }, CollectionMWServeCredentials={ description="Login credentials to this MediaWiki as 'USERNAME:PASSWORD' string", value=nil, }, CollectionMWServeCert={ description="PEM-encoded SSL certificate for the mw-serve render server to pass to CURL", value=nil, }, CollectionArticleNamespaces={ description="Array of namespaces that can be added to a collection", value={ 0,1,2,3,4,5,8,9,100,101,102,103,104,105,106,107,108,109,110,111,}, }, CommunityCollectionNamespace={ description="Namespace for \"community books\"", value=4, }, CollectionMaxArticles={ description="Maximum no. of articles in a book", value=500, }, CollectionLicenseName={ description="Name of license", value=nil, }, CollectionLicenseURL={ description="HTTP(s) URL pointing to license in wikitext format", value=nil, }, CollectionFormats={ description="List of available download formats, as mapping of mwlib writer to format name", value={ rl="PDF", }, }, CollectionRendererSettings={ description="Additional renderer options for collections. Format is as for HTMLForm::loadInputFromParameters. Note that fieldnames may only contain [a-zA-Z0-9_-], and values may not contain pipes or newlines. If the 'options' field is an array, keys will be interpreted as messages", value={ papersize={ type="select", ["label-message"]="coll-setting-papersize", default="a4", options={ ["coll-setting-papersize-a4"]="a4", ["coll-setting-papersize-letter"]="letter", }, }, toc={ type="select", ["label-message"]="coll-setting-toc", default="auto", options={ ["coll-setting-toc-auto"]="auto", ["coll-setting-toc-yes"]="yes", ["coll-setting-toc-no"]="no", }, }, columns={ type="select", ["label-message"]="coll-setting-columns", default="2", options={ ["coll-setting-columns-1"]="1", ["coll-setting-columns-2"]="2", }, }, }, }, CollectionCommandToServeURL={ description="Some commands require an external server", value={ }, }, CollectionFormatToServeURL={ description="For formats which rendering depends on an external server", value={ }, }, CollectionContentTypeToFilename={ description="", value={ ["application/pdf"]="collection.pdf", ["application/vnd.oasis.opendocument.text"]="collection.odt", ["text/plain"]="collection.txt", }, }, CollectionPortletFormats={ value={ "rl",}, }, CollectionPortletForLoggedInUsersOnly={ value=false, }, CollectionMaxSuggestions={ value=10, }, CollectionSuggestCheapWeightThreshhold={ value=50, }, CollectionSuggestThreshhold={ value=100, }, CollectionPODPartners={ value={ pediapress={ name="PediaPress", url="https://pediapress.com/", posturl="https://pediapress.com/api/collections/", infopagetitle="coll-order_info_article", }, }, }, CollectionShowRenderNotes={ description="Optional notes that are displayed on the download screen for the rendered document. Each entry is a message key", value={ "coll-rendering_finished_note_not_satisfied",}, }, CollectionDisableDownloadSection={ description="Disable the download section see https://phabricator.wikimedia.org/T175996", value=true, }, CollectionDisableSidebarLink={ description="Disable the link to the book creator in the sidebar", value=false, }, }, composer="mediawiki/collection", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Collection", }, CommentStreams={ name="CommentStreams", version="8.0-dev", author={ "Jason Ji","Cindy Cicalese",}, url="https://www.mediawiki.org/wiki/Extension:CommentStreams", descriptionmsg="commentstreams-desc", type="parserhook", ["license-name"]="MIT", requires={ MediaWiki=">= 1.38.0", }, SpecialPages={ CommentStreamsAllComments={ class="MediaWiki\\Extension\\CommentStreams\\CommentStreamsAllComments", services={ "CommentStreamsStore","CommentStreamsFactory","LinkRenderer","WikiPageFactory",}, }, }, ExtensionMessagesFiles={ CommentStreamsAlias="includes/CommentStreamsAllComments.alias.php", }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, APIModules={ cspostcomment={ class="MediaWiki\\Extension\\CommentStreams\\ApiCSPostComment", services={ "CommentStreamsFactory","CommentStreamsEchoInterface","WikiPageFactory",}, }, cspostreply={ class="MediaWiki\\Extension\\CommentStreams\\ApiCSPostReply", services={ "CommentStreamsFactory","CommentStreamsEchoInterface","WikiPageFactory",}, }, csquerycomment={ class="MediaWiki\\Extension\\CommentStreams\\ApiCSQueryComment", services={ "CommentStreamsFactory",}, }, csqueryreply={ class="MediaWiki\\Extension\\CommentStreams\\ApiCSQueryReply", services={ "CommentStreamsFactory",}, }, cseditcomment={ class="MediaWiki\\Extension\\CommentStreams\\ApiCSEditComment", services={ "CommentStreamsFactory",}, }, cseditreply={ class="MediaWiki\\Extension\\CommentStreams\\ApiCSEditReply", services={ "CommentStreamsFactory",}, }, csdeletecomment={ class="MediaWiki\\Extension\\CommentStreams\\ApiCSDeleteComment", services={ "CommentStreamsFactory","MainConfig",}, }, csdeletereply={ class="MediaWiki\\Extension\\CommentStreams\\ApiCSDeleteReply", services={ "CommentStreamsFactory",}, }, csvote={ class="MediaWiki\\Extension\\CommentStreams\\ApiCSVote", services={ "CommentStreamsFactory",}, }, cswatch={ class="MediaWiki\\Extension\\CommentStreams\\ApiCSWatch", services={ "CommentStreamsFactory",}, }, csunwatch={ class="MediaWiki\\Extension\\CommentStreams\\ApiCSUnwatch", services={ "CommentStreamsFactory",}, }, }, HookHandlers={ main={ class="MediaWiki\\Extension\\CommentStreams\\MainHooks", services={ "CommentStreamsHandler","CommentStreamsFactory","CommentStreamsStore","LinkRenderer","RevisionStore","PermissionManager","PageProps","WikiPageFactory",}, }, noservice={ class="MediaWiki\\Extension\\CommentStreams\\NoServiceHooks", }, }, Hooks={ MediaWikiPerformAction="main", MovePageIsValidMove="main", GetUserPermissionsErrors="main", BeforePageDisplay="main", ShowSearchHitTitle="main", ParserFirstCallInit="main", SpecialExportGetExtraPages="main", XmlDumpWriterOpenPage="main", ImportHandlePageXMLTag="main", AfterImportPage="main", CanonicalNamespaces="noservice", LoadExtensionSchemaUpdates="noservice", BeforeCreateEchoEvent="MediaWiki\\Extension\\CommentStreams\\EchoInterface::onBeforeCreateEchoEvent", ["SMW::Property::initProperties"]="MediaWiki\\Extension\\CommentStreams\\SMWHooks::initProperties", ["SMWStore::updateDataBefore"]="MediaWiki\\Extension\\CommentStreams\\SMWHooks::updateData", ["SMW::Settings::BeforeInitializationComplete"]="MediaWiki\\Extension\\CommentStreams\\SMWHooks::onSMWInitialization", }, callback="MediaWiki\\Extension\\CommentStreams\\MainHooks::onRegistration", config={ CommentStreamsNamespaceIndex=844, CommentStreamsAllowedNamespaces=nil, CommentStreamsNewestStreamsOnTop=true, CommentStreamsModeratorFastDelete=false, CommentStreamsShowLabels=true, CommentStreamsEnableVoting=false, CommentStreamsInitiallyCollapsedNamespaces={ }, CommentStreamsUserRealNamePropertyName=nil, CommentStreamsUserAvatarPropertyName=nil, CommentStreamsEnableSearch=true, CommentStreamsExportCommentsAutomatically=true, }, composer="mediawiki/comment-streams", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CommentStreams", }, Commentbox={ name="Commentbox", version="0.3.0", author="Thomas Bleher", url="https://www.mediawiki.org/wiki/Extension:Commentbox", descriptionmsg="commentbox-desc", type="other", requires={ MediaWiki=">= 1.34.0", }, SpecialPages={ AddComment="\\MediaWiki\\Extension\\Commentbox\\SpecialAddComment", }, ExtensionMessagesFiles={ CommentboxAlias="Commentbox.alias.php", }, Hooks={ OutputPageBeforeHTML="MediaWiki\\Extension\\Commentbox\\Hooks::onOutputPageBeforeHTML", }, config={ CommentboxNamespaces={ value={ true,}, }, CommentboxRows={ value=5, }, CommentboxColumns={ value=80, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Commentbox", }, Comments={ name="Comments", version="5.0", author={ "David Pean","Misza","Jack Phoenix","Adam Carter/UltrasonicNXT","Samantha Nguyen",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:Comments", descriptionmsg="comments-desc", type="parserhook", requires={ MediaWiki=">= 1.35.3", }, callback="CommentsHooks::registerExtension", GroupPermissions={ ["*"]={ comment=true, }, commentadmin={ commentadmin=true, }, autoconfirmed={ commentlinks=true, }, }, AvailableRights={ "comment","commentadmin","commentlinks","comment-delete-own",}, DefaultUserOptions={ ["echo-subscriptions-web-mention-comment"]=true, ["echo-subscriptions-email-mention-comment"]=true, }, SpecialPages={ CommentIgnoreList="CommentIgnoreList", }, LogTypes={ "comments",}, FilterLogTypes={ comments=true, }, LogActionsHandlers={ ["comments/add"]="CommentsLogFormatter", ["comments/delete"]="LogFormatter", }, APIModules={ commentblock="CommentBlockAPI", commentdelete="CommentDeleteAPI", commentlatestid="CommentLatestIdAPI", commentlist={ class="CommentListAPI", services={ "ReadOnlyMode",}, }, commentsubmit="CommentSubmitAPI", commentvote="CommentVoteAPI", }, ExtensionMessagesFiles={ CommentsAliases="Comments.i18n.alias.php", CommentsMagic="Comments.i18n.magic.php", NumberOfCommentsMagic="Comments.i18n.magic.php", }, Hooks={ BeforeCreateEchoEvent="CommentsHooks::onBeforeCreateEchoEvent", ParserFirstCallInit="CommentsHooks::onParserFirstCallInit", LoadExtensionSchemaUpdates="CommentsHooks::onLoadExtensionSchemaUpdates", MagicWordwgVariableIDs="NumberOfComments::onMagicWordwgVariableIDs", ParserGetVariableValueSwitch="NumberOfComments::onParserGetVariableValueSwitch", ArticlePurge="CommentsHooks::onArticlePurge", }, config={ CommentsDefaultAvatar={ description="URL to the default avatar image when the SocialProfile extension is NOT installed and thus its avatars aren't usable", value="http://www.shoutwiki.com/w/extensions/SocialProfile/avatars/default_ml.gif", }, CommentsSortDescending={ description="Sort comments in descending order?", value=false, }, CommentsInRecentChanges={ description="Display the additions and deletions of comments in the list of recent changes?", value=false, }, CommentsAbuseFilterGroup={ description="This is the custom group name for AbuseFilter for when the AbuseFilter extension is enabled. It ensures that AbuseFilter only pulls the filters related to Comments. If you would like AbuseFilter to pull all of the filters, enter 'default' here.", value="comment", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Comments", }, CommonsMetadata={ name="CommonsMetadata", author="Brian Wolff", url="https://www.mediawiki.org/wiki/Extension:CommonsMetadata", descriptionmsg="commonsmetadata-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.38.0", }, Hooks={ GetExtendedMetadata="CommonsMetadata\\HookHandler::onGetExtendedMetadata", ValidateExtendedMetadataCache="CommonsMetadata\\HookHandler::onValidateExtendedMetadataCache", ContentAlterParserOutput="CommonsMetadata\\HookHandler::onContentAlterParserOutput", SkinAfterBottomScripts="CommonsMetadata\\HookHandler::onSkinAfterBottomScripts", }, ConfigRegistry={ CommonsMetadata="GlobalVarConfig::newInstance", }, config={ CommonsMetadataForceRecalculate={ description="Force calculation of metadata even when the image is from a foreign repository which would provide it. This is meant for local development.", value=false, }, CommonsMetadataSetTrackingCategories={ description="Add tracking categories to file pages lacking fundamental metadata like author or license.", value=false, }, CommonsMetadataPublicDomainPageUrl={ description="Link used for `license` attribute in schema.org script for Files in the public domain.", value="https://commons.wikimedia.org/wiki/Help:Public_domain", }, }, TrackingCategories={ "commonsmetadata-trackingcategory-no-license","commonsmetadata-trackingcategory-no-description","commonsmetadata-trackingcategory-no-author","commonsmetadata-trackingcategory-no-source","commonsmetadata-trackingcategory-no-patent",}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CommonsMetadata", }, ConfigManager={ name="ConfigManager", version="3.3.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:ConfigManager", author={ "Patric Wirth",}, descriptionmsg="configmanager-desc", ["license-name"]="GPL-3.0-only", type="specialpage", attributes={ BlueSpiceFoundation={ AdminToolRegistry={ ["config-manager"]="\\ConfigManager\\AdminTool", }, PermissionRegistry={ ["configmanager-viewspecialpage"]={ type="global", roles={ "admin","maintenanceadmin","structuremanager",}, }, }, }, }, requires={ MediaWiki=">= 1.35.0", extensions={ BlueSpiceFoundation=">= 3.3", }, }, ExtensionMessagesFiles={ ConfigManagerAlias="languages/ConfigManager.alias.php", }, APIModules={ ["configmanager-tasks"]="\\ConfigManager\\Api\\Task\\ConfigManager", ["configmanager-store"]="\\ConfigManager\\Api\\Store\\ConfigManager", }, SpecialPages={ ConfigManager="\\ConfigManager\\Special\\ConfigManager", }, GroupPermissions={ ["*"]={ ["configmanager-viewspecialpage"]=false, }, user={ ["configmanager-viewspecialpage"]=false, }, sysop={ ["configmanager-viewspecialpage"]=true, }, }, AvailableRights={ "configmanager-viewspecialpage",}, composer="mediawiki/configmanager", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ConfigManager", }, ConfirmAccount={ name="Confirm User Accounts", namemsg="confirmaccount-extensionname", author="Aaron Schulz", url="https://www.mediawiki.org/wiki/Extension:ConfirmAccount", descriptionmsg="confirmaccount-desc", type="specialpage", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.37.0", }, suggests={ extensions={ ConfirmEdit="*", }, }, ExtensionFunctions={ "ConfirmAccountHooks::onExtensionFunctions",}, SpecialPages={ RequestAccount={ class="RequestAccountPage", services={ "UserFactory",}, }, ConfirmAccounts="ConfirmAccountsPage", UserCredentials={ class="UserCredentialsPage", services={ "UserGroupManager",}, }, }, ExtensionMessagesFiles={ ConfirmAccountAliases="ConfirmAccount.alias.php", }, AuthManagerAutoConfig={ preauth={ ConfirmAccountPreAuthenticationProvider={ class="ConfirmAccountPreAuthenticationProvider", sort=0, }, }, }, Hooks={ ["SkinTemplateNavigation::Universal"]="ConfirmAccountUIHooks::setRequestLoginLinks", UserCreateForm="ConfirmAccountUIHooks::addRequestLoginText", UserLoginForm="ConfirmAccountUIHooks::addRequestLoginText", BeforePageDisplay="ConfirmAccountUIHooks::confirmAccountsNotice", AdminLinks="ConfirmAccountUIHooks::confirmAccountAdminLinks", AuthChangeFormFields="ConfirmAccountUIHooks::onAuthChangeFormFields", LoadExtensionSchemaUpdates="ConfirmAccountUpdaterHooks::addSchemaUpdates", SpecialPageBeforeExecute="ConfirmAccountHooks::onSpecialPageBeforeExecute", }, AvailableRights={ "confirmaccount","confirmaccount-notify","requestips","lookupcredentials",}, GroupPermissions={ ["*"]={ createaccount=false, }, user={ createaccount=false, }, bureaucrat={ confirmaccount=true, requestips=true, lookupcredentials=true, }, }, config={ MakeUserPageFromBio={ description="Set the person's bio as their userpage?", value=true, }, AutoUserBioText={ description="Text to add to bio pages if the above option is on", value="", }, AutoWelcomeNewUsers={ description="Create a user talk page with a welcome message for accepted users. The message can be customized by editing MediaWiki:Confirmaccount-welc.", value=true, }, RejectedAccountMaxAge={ description="How long to store rejected requests? Default is one week.", value=604800, }, ConfirmAccountRejectAge={ description="How long after accounts have been requested/held before they count as 'rejected'? Default is one month.", value=2592000, }, AccountRequestThrottle={ description="How many requests can an IP make at once?", value=1, }, AccountRequestWhileBlocked={ description="Can blocked users with \"prevent account creation\" request accounts?", value=false, }, ConfirmAccountRequestFormItems={ description="Which form elements to show at Special:RequestAccount?", value={ UserName={ enabled=true, }, RealName={ enabled=true, }, Biography={ enabled=true, minWords=6, }, AreasOfInterest={ enabled=true, }, CV={ enabled=true, }, Notes={ enabled=true, }, Links={ enabled=true, }, TermsOfService={ enabled=true, }, }, merge_strategy="array_plus_2d", }, AccountRequestExts={ description="If files can be attached, what types can be used? (MIME data is checked)", value={ "txt","pdf","doc","latex","rtf","text","wp","wpd","sxw",}, }, AccountRequestTypes={ description="Prospective account request types. Format is an array of (integer => (subpage param,user group,autotext)) pairs. The integer keys enumerate the request types. The key for a type should not change. Each type has its own request queue at Special:ConfirmAccount/ . When a request of a certain type is approved, the new user: (a) is placed in the group (if not User or *) (b) has appended to his or her user page", value={ { [1]="authors", [2]="user", [3]=nil, },}, merge_strategy="array_plus", }, ConfirmAccountSortkey={ description="If set, will add to userpages for auto-categories. The sortkey will be made by doing a regex search and replace on the title. Set this variable to false to avoid sortkey use. For example, setting this variable to [ '/^(.+) ([^ ]+)$/', '$2, $1' ] will do .", value=false, }, ConfirmAccountSaveInfo={ description="IMPORTANT: do we store the user's notes and credentials for successful account request? This will be stored indefinetely and will be accessible to users with crediential lookup permissions", value=true, }, ConfirmAccountContact={ description="Send an email to this address when account requestors confirm their email. Set to false to skip this. It might be useful to point this to a mailing list.", value=false, }, ConfirmAccountCaptchas={ description="If ConfirmEdit is installed and set to trigger for createaccount, inject CAPTCHAs for requests too?", value=true, }, ConfirmAccountFSRepos={ description="Storage repositories. 'accountreqs' is the location of attached files for pending requests and 'accountcreds' is the location of credential files.", value={ accountreqs={ name="accountreqs", directory=false, url=nil, hashLevels=3, }, accountcreds={ name="accountcreds", directory=false, url=false, hashLevels=3, }, }, merge_strategy="array_plus_2d", }, ConfirmAccountNotice={ description="Show notice for open requests to admins? This is cached, but still can be expensive on sites with thousands of requests.", value=true, }, ConfirmAdminEmailExtraFields={ description="Configuration for extra arguments that may be included in the admin email message. Extra parameters that could be added: [ 'email', 'real_name', 'bio', 'notes', 'urls', 'ip' ]. The order you specify here is the order in which you can use the parameters. $wgConfirmAdminEmailExtraFields is an array, the parameters 1 and 2 of the message will always be: 1 - the username and 2 - the confirm URL.", value={ }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ConfirmAccount", }, ConfirmEdit={ ["@doc"]="Please read README.md", name="ConfirmEdit", version="1.6.0", author={ "Brion Vibber","Florian Schmidt","Sam Reed","...",}, url="https://www.mediawiki.org/wiki/Extension:ConfirmEdit", descriptionmsg="captcha-desc", ["license-name"]="GPL-2.0-or-later", type="antispam", requires={ MediaWiki=">= 1.37.0", }, GroupPermissions={ ["*"]={ skipcaptcha=false, }, user={ skipcaptcha=false, }, autoconfirmed={ skipcaptcha=false, }, bot={ skipcaptcha=true, }, sysop={ skipcaptcha=true, }, }, AvailableRights={ "skipcaptcha",}, GrantPermissions={ basic={ skipcaptcha=true, }, }, ExtensionFunctions={ "MediaWiki\\Extension\\ConfirmEdit\\Hooks::confirmEditSetup",}, SpecialPages={ Captcha="MediaWiki\\Extension\\ConfirmEdit\\Specials\\SpecialCaptcha", }, ExtensionMessagesFiles={ ConfirmEditAlias="ConfirmEdit.alias.php", }, attributes={ VisualEditor={ PluginModules={ "ext.confirmEdit.visualEditor",}, }, }, HookHandlers={ ConfirmEditHooks={ class="MediaWiki\\Extension\\ConfirmEdit\\Hooks", }, }, Hooks={ EditPageBeforeEditButtons="ConfirmEditHooks", EmailUserForm="ConfirmEditHooks", EmailUser="ConfirmEditHooks", PageSaveComplete="ConfirmEditHooks", TitleReadWhitelist="ConfirmEditHooks", AlternateEditPreview="ConfirmEditHooks", ResourceLoaderRegisterModules="ConfirmEditHooks", ["EditPage::showEditForm:fields"]="MediaWiki\\Extension\\ConfirmEdit\\Hooks::showEditFormFields", EditFilterMergedContent="MediaWiki\\Extension\\ConfirmEdit\\Hooks::confirmEditMerged", APIGetAllowedParams="MediaWiki\\Extension\\ConfirmEdit\\Hooks::onAPIGetAllowedParams", AuthChangeFormFields="MediaWiki\\Extension\\ConfirmEdit\\Hooks::onAuthChangeFormFields", }, AuthManagerAutoConfig={ preauth={ CaptchaPreAuthenticationProvider={ class="MediaWiki\\Extension\\ConfirmEdit\\Auth\\CaptchaPreAuthenticationProvider", sort=10, }, }, }, config={ CaptchaWhitelistIP={ value=false, }, Captcha={ value=nil, }, CaptchaTriggers={ value={ edit=false, create=false, sendemail=false, addurl=true, createaccount=true, badlogin=true, badloginperuser=true, }, merge_strategy="array_plus", }, CaptchaTriggersOnNamespace={ value={ }, merge_strategy="array_plus_2d", }, CaptchaStorageClass={ value="MediaWiki\\Extension\\ConfirmEdit\\Store\\CaptchaSessionStore", }, CaptchaSessionExpiration={ value=1800, }, CaptchaBadLoginExpiration={ value=300, }, CaptchaBadLoginPerUserExpiration={ value=600, }, AllowConfirmedEmail={ value=false, }, CaptchaBadLoginAttempts={ value=3, }, CaptchaBadLoginPerUserAttempts={ value=20, }, CaptchaWhitelist={ value=false, }, CaptchaRegexes={ value={ }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ConfirmEdit", }, CongressLookup={ name="CongressLookup", version="2.0.0", author={ "Ryan Kaldari",}, url="https://www.mediawiki.org/wiki/Extension:CongressLookup", descriptionmsg="congresslookup-desc", ["license-name"]="MIT", type="specialpage", requires={ MediaWiki=">= 1.31.0", }, SpecialPages={ NetNeutrality="MediaWiki\\Extension\\CongressLookup\\SpecialNetNeutrality", SenateLookup="MediaWiki\\Extension\\CongressLookup\\SpecialSenateLookup", }, ExtensionMessagesFiles={ CongressLookupAlias="CongressLookup.alias.php", }, config={ }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CongressLookup", }, ContactPage={ name="ContactPage", version="2.3", author={ "Daniel Kinzler","Sam Reed",}, url="https://www.mediawiki.org/wiki/Extension:ContactPage", descriptionmsg="contactpage-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.35.0", }, ExtensionMessagesFiles={ ContactPageAliases="ContactPage.alias.php", }, config={ ContactConfig={ value={ default={ RecipientUser=nil, SenderEmail=nil, SenderName=nil, RequireDetails=false, IncludeIP=false, MustBeLoggedIn=false, RLModules={ }, RLStyleModules={ }, AdditionalFields={ Text={ ["label-message"]="emailmessage", type="textarea", required=true, }, }, }, }, }, }, SpecialPages={ Contact={ class="MediaWiki\\Extension\\ContactPage\\SpecialContact", services={ "UserOptionsLookup",}, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ContactPage", }, ContentTransfer={ name="ContentTransfer", author="Dejan Savuljesku ", ["license-name"]="GPL-3.0-only", version="1.2-alpha", descriptionmsg="contenttransfer-extension-description", requires={ MediaWiki=">= 1.34.0", }, ExtensionMessagesFiles={ ContentTransferAlias="languages/ContentTransfer.alias.php", }, attributes={ BlueSpiceFoundation={ PermissionRegistry={ ["content-transfer"]={ type="global", roles={ "admin",}, }, }, }, ContentTransfer={ PageFilters={ term="\\ContentTransfer\\PageFilter\\PageName::factory", category="\\ContentTransfer\\PageFilter\\Category::factory", namespace="\\ContentTransfer\\PageFilter\\NamespaceFilter::factory", }, }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, SpecialPages={ ContentTransfer="\\ContentTransfer\\Special\\Push", }, APIModules={ ["content-transfer-get-pages"]="\\ContentTransfer\\Api\\GetPages", ["content-transfer-push-info"]="\\ContentTransfer\\Api\\PushInfo", ["content-transfer-do-push-single"]="\\ContentTransfer\\Api\\PushSingle", ["content-transfer-purge-pages"]="\\ContentTransfer\\Api\\PurgePages", }, AvailableRights={ "content-transfer",}, GroupPermissions={ ["*"]={ ["content-transfer"]=false, }, user={ ["content-transfer"]=false, }, sysop={ ["content-transfer"]=true, }, }, Hooks={ LoadExtensionSchemaUpdates="\\ContentTransfer\\Extension::onLoadExtensionSchemaUpdates", }, config={ ContentTransferTargets={ value={ }, }, ContentTransferIgnoreInsecureSSL={ value=false, }, ContentTransferPageLimit={ value=200, }, ContentTransferOnlyContentNamespaces={ value=false, }, ContentTransferAllowTalkNamespaces={ value=false, }, ContentTransferEnableBetaFeatures={ description="Enable experimental features. These features might be buggy", value=false, }, }, composer="mediawiki/content-transfer", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ContentTransfer", }, ContentTranslation={ name="ContentTranslation", author={ "Amir Aharoni","David Chan","Joel Sahleen","Kartik Mistry","Niklas Laxström","Pau Giner","Petar Petković","Runa Bhattacharjee","Santhosh Thottingal","Siebrand Mazeland","Sucheta Ghoshal",}, url="https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ContentTranslation", descriptionmsg="cx-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.38.0", extensions={ Cite="*", UniversalLanguageSelector="*", VisualEditor=">= 0.1.0", }, }, ExtensionMessagesFiles={ ContentTranslationAliases="ContentTranslation.alias.php", }, ValidSkinNames={ contenttranslation={ class="ContentTranslation\\Skin\\SkinContentTranslation", skippable=true, args={ { name="contenttranslation", responsive=true, styles={ "mw.cx.skin",}, messages={ "cx-javascript",}, },}, }, }, HookHandlers={ sxbeforepublish={ class="ContentTranslation\\SectionTranslationBeforePublishHandler", services={ "ContentHandlerFactory","HttpRequestFactory","WikiPageFactory","MainConfig",}, }, significantEditCreator={ class="ContentTranslation\\HookHandler\\SignificantEditCreationHandler", services={ "RevisionStore","ContentTranslation.RecentSignificantEditStore","ContentTranslation.EditedSectionFinder","ContentTranslation.WikidataIdFetcher",}, }, mfFrequentLanguagesEntrypointRegistrar={ class="ContentTranslation\\HookHandler\\MfFrequentLanguagesEntrypointRegistrationHandler", services={ "LanguageFactory",}, }, ulsRelevantLanguagesEntrypointRegistrar={ class="ContentTranslation\\HookHandler\\ULSRelevantLanguagesEntrypointRegistrationHandler", services={ "ContentTranslation.PreferenceHelper",}, }, ulsQuickActionEntrypointRegistrar={ class="ContentTranslation\\HookHandler\\ULSQuickActionEntrypointRegistrationHandler", services={ "ActionFactory",}, }, recentEditEntrypointRegistrar={ class="ContentTranslation\\HookHandler\\RecentEditEntrypointRegistrationHandler", services={ "ContentTranslation.RecentSignificantEditStore","ContentTranslation.WikidataIdFetcher",}, }, }, Hooks={ LoadExtensionSchemaUpdates="ContentTranslation\\Hooks::onLoadExtensionSchemaUpdates", BeforePageDisplay={ "ContentTranslation\\Hooks::addModules","ContentTranslation\\Hooks::addSXPublishingFollowupModule","ContentTranslation\\Hooks::addRecentTranslationEntrypoint","ContentTranslation\\Hooks::addMobileNewByTranslationInvitation","mfFrequentLanguagesEntrypointRegistrar","ulsRelevantLanguagesEntrypointRegistrar","ulsQuickActionEntrypointRegistrar","recentEditEntrypointRegistrar",}, GetPreferences="ContentTranslation\\Hooks::onGetPreferences", GetBetaFeaturePreferences="ContentTranslation\\Hooks::onGetBetaFeaturePreferences", ResourceLoaderRegisterModules="ContentTranslation\\Hooks::addMessages", SpecialContributionsBeforeMainOutput="ContentTranslation\\Hooks::addNewContributionButton", ListDefinedTags="ContentTranslation\\Hooks::registerTags", ChangeTagsListActive="ContentTranslation\\Hooks::registerTags", SaveUserOptions="ContentTranslation\\Hooks::onSaveOptions", ["EditPage::showEditForm:initial"]="ContentTranslation\\Hooks::newArticleCampaign", BeforeCreateEchoEvent="ContentTranslation\\Hooks::onBeforeCreateEchoEvent", EchoGetBundleRules="ContentTranslation\\Hooks::onEchoGetBundleRules", SectionTranslationBeforePublish="sxbeforepublish", RevisionFromEditComplete="significantEditCreator", ContributeCards="ContentTranslation\\Hooks::addContributeCardEntryPoint", }, APIModules={ cxdelete={ class="ContentTranslation\\ActionApi\\ApiContentTranslationDelete", services={ "ContentTranslation.TranslationCorporaStore",}, }, cxpublish={ class="ContentTranslation\\ActionApi\\ApiContentTranslationPublish", services={ "ContentTranslation.RestbaseClient","LanguageFactory","StatsdDataFactory",}, }, cxpublishsection={ class="ContentTranslation\\ActionApi\\ApiSectionTranslationPublish", services={ "TitleFactory","HookContainer","LanguageNameUtils","ContentTranslation.RestbaseClient","ContentTranslation.SectionPositionCalculator","ContentTranslation.SandboxTitleMaker",}, }, cxsave={ class="ContentTranslation\\ActionApi\\ApiContentTranslationSave", services={ "ContentTranslation.TranslationCorporaStore","ContentTranslation.LoadBalancer","ContentTranslation.TranslationUnitValidator",}, }, sxsave={ class="ContentTranslation\\ActionApi\\ApiSectionTranslationSave", services={ "ContentTranslation.TranslationCorporaStore","ContentTranslation.LoadBalancer","ContentTranslation.SectionTranslationStore","ContentTranslation.SandboxTitleMaker","TitleFactory",}, }, cxsuggestionlist="ContentTranslation\\ActionApi\\ApiContentTranslationSuggestionList", cxtoken="ContentTranslation\\ActionApi\\ApiContentTranslationToken", }, APIListModules={ contenttranslation="ContentTranslation\\ActionApi\\ApiQueryContentTranslation", contenttranslationcorpora="ContentTranslation\\ActionApi\\ApiQueryContentTranslationCorpora", contenttranslationlangtrend="ContentTranslation\\ActionApi\\ApiQueryContentTranslationLanguageTrend", contenttranslationstats="ContentTranslation\\ActionApi\\ApiQueryContentTranslationStats", contenttranslationsuggestions="ContentTranslation\\ActionApi\\ApiQueryContentTranslationSuggestions", cxpublishedtranslations="ContentTranslation\\ActionApi\\ApiQueryPublishedTranslations", cxtranslatorstats="ContentTranslation\\ActionApi\\ApiQueryTranslatorStats", }, APIMetaModules={ cxdeletedtranslations="ContentTranslation\\ActionApi\\ApiQueryDeletedTranslations", }, APIPropModules={ langlinkscount="ContentTranslation\\ActionApi\\ApiQueryLangLinksCount", }, SpecialPages={ ContentTranslation={ class="ContentTranslation\\Special\\SpecialContentTranslation", services={ "SkinFactory","ContentTranslation.PreferenceHelper",}, }, ContentTranslationStats={ class="ContentTranslation\\Special\\SpecialContentTranslationStats", services={ "SkinFactory",}, }, }, DefaultUserOptions={ ["echo-subscriptions-web-cx"]=true, cx=false, ["cx-enable-entrypoints"]=true, ["cx-entrypoint-fd-status"]="notshown", cx_campaign_newarticle_shown=false, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, config={ ContentTranslationDomainCodeMapping={ value={ ["be-tarask"]="be-x-old", bho="bh", ["crh-latn"]="crh", gsw="als", lzh="zh-classical", nan="zh-min-nan", nb="no", rup="roa-rup", sgs="bat-smg", simple="simple", vro="fiu-vro", yue="zh-yue", }, }, ContentTranslationRESTBase={ description="You can override default Restbase/parsoid configuration by explicitly defining the parameters for RestbaseVirtualRESTService constructor.", value=false, }, ContentTranslationDatabase={ description="The Database domain ID of the relevant wiki or false for the local wiki", value=false, }, ContentTranslationCluster={ description="The external Database cluster name where the database lives or false if not exists", value=false, }, ContentTranslationSiteTemplates={ value={ view="//$1.wikipedia.org/wiki/$2", action="//$1.wikipedia.org/w/index.php?title=$2", api="//$1.wikipedia.org/w/api.php", cx="http://localhost:8080/v1", cookieDomain=nil, restbase="//$1.wikipedia.org/api/rest_v1", }, }, ContentTranslationTranslateInTarget={ description="Whether to open Special:ContentTranslation in the target wiki when clicking the button in the entry point. The domain will be based on $wgContentTranslationSiteTemplates. The default is to open Special:ContentTranslation on the same wiki", value=false, }, ContentTranslationAsBetaFeature={ description="Whether to have CX available only as a beta feature and only shown to the users who have enabled the beta feature.", value=true, }, ContentTranslationTargetNamespace={ description="Target namespace to publish articles. Values can be valid namespace ids. Example: 0 for Main, 2 for User namespace", value=0, }, ContentTranslationCampaigns={ value={ cxstats=true, specialcx=true, newarticle=true, specialcontribute=true, cx2outreach={ edittag="cx2-outreach", }, }, }, ContentTranslationCXServerAuth={ value={ algorithm="HS256", key="", age="3600", }, }, ContentTranslationEnableSuggestions={ value=true, }, ContentTranslationEnableMT={ description="Whether Machine Translation services are enabled for this target wiki", value=true, }, RecommendToolAPIURL={ description="Web API URL for translation recommendation tool", value="https://recommend.wmflabs.org/types/translation/v1/articles", }, ContentTranslationVersion={ value="2", }, ContentTranslationUnmodifiedMTThresholdForPublish={ description="If the user exceeds a threshold an error will be shown to the user when they try to publish. The threshold will be calculated for the whole document, and it will prevent publishing until the content is modified.", value=99, }, ContentTranslationPublishRequirements={ description="List of requirements for user account to be able to publish in main namespace. Possible requirements: * userGroups: User should belong to any group in this list in order to be able to publish.", value={ userGroups={ "*",}, }, }, ContentTranslationExcludedNamespaces={ description="Array with keys as canonical namespaces(English names) excluded from translating. Matching is case insensitive. All talk namespaces(with odd number ids) are excluded.", value={ File=true, ["Gadget definition"]=true, Gadget=true, MediaWiki=true, Module=true, Template=true, Topic=true, Translations=true, }, }, ContentTranslationEnableSectionTranslation={ description="Whether section translation is enabled", value=false, }, ContentTranslationEnableAnonSectionTranslation={ description="Whether section translation is enabled for anonymous users", value=false, }, SectionTranslationTargetLanguages={ description="If set, section translation will be only available for the specified target languages. Additionally these languages are used for language search entrypoints in Mobilefrontend.", value=nil, }, ContentTranslationContentImportForSectionTranslation={ description="Whether to auto import existing pages from production wikis to local wiki before publishing section translation. Useful for development and testing", value=false, }, ContentTranslationDevMode={ description="Whether Content translation need to run in dev mode with features like Hot Module Replacement", value=false, }, DraftMaxAge={ description="Maximum age of unpublished drafts before they're purged from DB. Expressed in days and defaults to approximate value of 15 months.", value=456, }, }, QUnitTestModule={ localBasePath="tests/qunit", remoteExtPath="ContentTranslation/tests/qunit", scripts={ "base/mw.cx.SiteMapper.test.js","dm/mw.cx.dm.Translation.test.js","mw.cx.TargetArticle.test.js","mw.cx.MachineTranslationService.test.js","mw.cx.TranslationTracker.test.js","mw.cx.util.test.js","ui/mw.cx.ui.Infobar.test.js",}, dependencies={ "ext.cx.model","mw.cx.SiteMapper","mw.cx.dm.Translation","mw.cx.init","mw.cx.ui.Infobar","mw.cx.util","ve.init.mw.CXTarget",}, }, TrackingCategories={ "cx-unreviewed-translation-category",}, attributes={ EventLogging={ Schemas={ ContentTranslationAbuseFilter="/analytics/legacy/contenttranslationabusefilter/1.0.0", }, }, }, composer="mediawiki/content-translation", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ContentTranslation", }, Contribution_Credits={ name="Contribution Credits", version="3.1", author={ "Jaime Prilusky","Al Maghi","Manuel Wendel","Sophivorus",}, url="https://www.mediawiki.org/wiki/Extension:Contribution_Credits", descriptionmsg="contributioncredits-desc", ["license-name"]="GPL-3.0-or-later", requires={ MediaWiki=">= 1.31.0", }, Hooks={ SkinAfterContent="ContributionCredits::onSkinAfterContent", }, config={ ContributionCreditsHeader=false, ContributionCreditsUseRealNames=false, ContributionCreditsExcludedCategories={ }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ContributionCredits", }, Contribution_Scores={ name="ContributionScores", author="Tim Laqua", url="https://www.mediawiki.org/wiki/Extension:Contribution_Scores", descriptionmsg="contributionscores-desc", version="1.26.1", type="specialpage", requires={ MediaWiki=">= 1.34.0", }, SpecialPages={ ContributionScores="ContributionScores", }, Hooks={ ParserFirstCallInit="ContributionScores::onParserFirstCallInit", }, ExtensionMessagesFiles={ ContribScoreAlias="ContributionScores.alias.php", ContribScoreMagic="ContributionScores.i18n.magic.php", }, config={ ContribScoreReports={ value=nil, description="Each array defines a report - 7,50 is \"past 7 days \" and \"LIMIT 50 \" - Can be omitted.", }, ContribScoreIgnoreBlockedUsers={ value=false, description="Set to true to exclude blocked users from the reporting.", }, ContribScoreIgnoreBots={ value=false, description="Set to true to exclude bots users from the reporting.", }, ContribScoreIgnoreUsernames={ value={ }, description="Array of usernames to exclude from the reporting.", }, ContribScoresUseRealName={ value=false, description="Set to true to use real user names when available.", }, ContribScoreDisableCache={ value=false, description="Set to true to disable cache for parser function and inclusion of table.", }, ContribScoreUseRoughEditCount={ value=false, description="Set to true to use the rough number of edits in user table, for performance issue.", }, ContribScoreCacheTTL={ value=30, description="Cache the contribution scores data, in minutes.", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ContributionScores", }, ContributionsList={ name="ContributionsList", version="0.3.1", author="Ike Hecht", url="https://www.mediawiki.org/wiki/Extension:ContributionsList", descriptionmsg="contributionslist-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.34.0", }, ExtensionMessagesFiles={ ContributionsListMagic="ContributionsList.magic.php", }, Hooks={ ParserFirstCallInit="ContributionsListHooks::setupParserFunction", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ContributionsList", }, Contributors={ name="Contributors", version="2.0", author={ "Rob Church","Ike Hecht","Addshore","Devirk Rishnan",}, url="https://www.mediawiki.org/wiki/Extension:Contributors", descriptionmsg="contributors-desc", type="specialpage", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.35.3", }, SpecialPages={ Contributors="SpecialContributors", }, APIPropModules={ contributors="ApiQueryCnContributors", }, ExtensionMessagesFiles={ ContributorsMagic="Contributors.magic.php", ContributorsAlias="Contributors.alias.php", }, Hooks={ PageSaveComplete="ContributorsHooks::onPageSaveComplete", ArticleRevisionVisibilitySet="ContributorsHooks::onArticleRevisionVisibilitySet", LoadExtensionSchemaUpdates="ContributorsHooks::onLoadExtensionSchemaUpdates", SidebarBeforeOutput="ContributorsHooks::onSidebarBeforeOutput", SkinTemplateToolboxEnd="ContributorsHooks::onSkinTemplateToolboxEnd", ParserFirstCallInit="ContributorsHooks::setupParserFunction", }, config={ ContributorsLinkUsers=true, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Contributors", }, ContributorsAddon={ name="ContributorsAddon", version="1.0", author={ "Tim Laqua","Ike Hecht",}, url="https://www.mediawiki.org/wiki/Extension:ContributorsAddon", descriptionmsg="contributorsaddon-desc", type="other", Hooks={ BeforePageDisplay={ "ContributorsAddonHooks::caOnBeforePageDisplay",}, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ContributorsAddon", }, CookieWarning={ name="CookieWarning", version="0.3.0", author={ "Florian Schmidt","Liz Lee","Jack Phoenix","Ostrzyciel",}, url="https://www.mediawiki.org/wiki/Extension:CookieWarning", descriptionmsg="cookiewarning-desc", type="other", ["license-name"]="MIT", requires={ MediaWiki=">= 1.35.0", }, HookHandlers={ main={ class="CookieWarning\\Hooks", }, }, Hooks={ SkinAfterContent="main", GetPreferences="main", BeforeInitialize="main", BeforePageDisplay="main", ResourceLoaderGetConfigVars="main", }, config={ CookieWarningEnabled=false, CookieWarningMoreUrl="", CookieWarningGeoIPServiceURL="", CookieWarningGeoIPLookup="none", CookieWarningForCountryCodes={ EU="Europe", AD="Andorra", AL="Albania", AT="Austria", BA="Bosnia and Herzegovina", BE="Belgium", BG="Bulgaria", BY="Belarus", CH="Switzerland", CS="Serbia and Montenegro", CZ="Czech Republic", DE="Germany", DK="Denmark", EE="Estonia", ES="Spain", FI="Finland", FO="Faroe Islands", FR="France", FX="France, Metropolitan", GB="United Kingdom", GI="Gibraltar", GR="Greece", HR="Croatia", HU="Hungary", IE="Ireland", IS="Iceland", IT="Italy", LI="Liechtenstein", LT="Lithuania", LU="Luxembourg", LV="Latvia", MC="Monaco", MD="Moldova, Republic of", MK="Macedonia", MT="Malta", NL="Netherlands", NO="Norway", PL="Poland", PT="Portugal", RO="Romania", SE="Sweden", SI="Slovenia", SJ="Svalbard and Jan Mayen", SK="Slovakia", SM="San Marino", UA="Ukraine", VA="Holy See (Vatican City State)", }, }, ConfigRegistry={ cookiewarning="GlobalVarConfig::newInstance", }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CookieWarning", }, Copyvio={ name="Copyvio", descriptionmsg="copyvio-desc", ["license-name"]="GPL-3.0-or-later", author={ "WMF Growth Team",}, url="https://www.mediawiki.org/wiki/Extension:Copyvio", requires={ MediaWiki=">= 1.31.0", }, Hooks={ LoadExtensionSchemaUpdates={ "Copyvio\\Hooks\\ExtensionHooks::onLoadExtensionSchemaUpdates",}, RecentChange_save={ "Copyvio\\Hooks\\RecentChangesHookHandler::onRecentChangeSave",}, }, JobClasses={ CopyvioFetchScoreJob="Copyvio\\Jobs\\FetchScoreJob", }, config={ ScoreProvider={ value={ class="Copyvio\\IThenticateProvider", config={ reportBaseUrl="http://copyvio-report.com/", url="https://api.ithenticate.com/rpc", }, }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Copyvio", }, CountDownClock={ name="CountDownClock", author={ "Indic-TechCom",}, version="1.0.0", url="https://www.mediawiki.org/wiki/Extension:CountDownClock", descriptionmsg="countDownClock-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.31.0", }, ExtensionMessagesFiles={ CountDownClockMagic="CountDownClock.i18n.magic.php", }, Hooks={ ParserFirstCallInit="MediaWiki\\Extension\\CountDownClock\\Hooks::onParserSetup", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CountDownClock", }, CrawlableAllPages={ name="CrawlableAllPages", version="0.1.0", author={ "Mark A. Hershberger",}, url="https://www.mediawiki.org/wiki/Extension:CrawlableAllPages", descriptionmsg="crawlableallpages-desc", ["license-name"]="GPL-3.0-or-later", type="other", requires={ MediaWiki=">= 1.31.0", }, SpecialPages={ Allpages="MediaWiki\\Extension\\CrawlableAllPages\\Special", CrawlableAllPages="MediaWiki\\Extension\\CrawlableAllPages\\Special", }, ExtensionMessagesFiles={ CrawlableAllPagesAlias="i18n/CrawlableAllPages.alias.php", }, composer="mediawiki/crawlable-all-pages", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CrawlableAllPages", }, CreateAPage={ name="CreateAPage", version="4.1", author={ "Bartek Łapiński","Piotr Molski","Łukasz Garczewski","Przemek Piotrowski","Jack Phoenix",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:CreateAPage", descriptionmsg="createpage-desc", type="specialpage", requires={ MediaWiki=">= 1.35.3", }, config={ CreatePageCoverRedLinks={ value=false, path=false, description="Use CreateAPage on redlinks? (i.e. clicking on a redlink takes you to index.php?title=Special:CreatePage&Createtitle=Title_of_our_page instead of taking you to index.php?title=Title_of_our_page&action=edit&redlink=1) If true, users will get a preference which enables them to enable this feature for their user account.", public=false, }, MultiEditPageTags={ value={ "title","descr","category",}, path=false, description="Used by MultiEdit (the CreateMultiPage PHP class). There's a good chance you don't want to touch this variable.", public=false, }, MultiEditPageSimpleTags={ value={ "lbl","categories","pagetitle","imageupload","optional",}, path=false, description="Used by MultiEdit (the CreateMultiPage PHP class). There's a good chance you don't want to touch this variable.", public=false, }, }, SpecialPages={ CreatePage="SpecialCreatePage", }, ExtensionMessagesFiles={ CreatePageAliases="CreatePage.alias.php", }, APIModules={ createapage={ class="ApiCreateAPage", services={ "RevisionLookup",}, }, ["createapage-upload"]={ class="ApiCreateAPageUpload", services={ "RepoGroup",}, }, }, Hooks={ EditFormPreloadText="CreateAPageHooks::preloadContent", CustomEditor="CreateAPageHooks::onCustomEditor", GetPreferences="CreateAPageHooks::onGetPreferences", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CreateAPage", }, Create_Page={ name="Create Page", version="0.5.0", author={ "Jeroen De Dauw","Ike Hecht",}, ["license-name"]="GPL-3.0-only", requires={ MediaWiki=">= 1.35.0", }, url="https://www.mediawiki.org/wiki/Extension:Create_Page", descriptionmsg="cp-desc", type="parser", SpecialPages={ CreatePageRedirect="SpecialCreatePageRedirect", }, ExtensionMessagesFiles={ CreatePageAlias="CreatePage.alias.php", CreatePageMagic="CreatePage.magic.php", }, Hooks={ BeforePageDisplay="CreatePageHooks::addCreatePageModules", ParserFirstCallInit="CreatePageHooks::setupParserFunction", }, config={ CreatePageEditExisting={ value=false, description="Set to true to edit existing pages.", }, CreatePageUseVisualEditor={ value=false, description="Set to true to redirect to VisualEditor for page creation.", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CreatePage", }, CreatePageUw={ name="CreatePageUw", version="0.1.0", author="Edward Chernenko", url="https://www.mediawiki.org/wiki/Extension:CreatePageUw", descriptionmsg="uwcreatepage-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.35.0", }, SpecialPages={ CreatePage={ class="MediaWiki\\CreatePageUw\\SpecialCreatePage", services={ "NamespaceInfo",}, }, }, ExtensionMessagesFiles={ CreatePageUwAlias="CreatePage.alias.php", }, config={ CreatePageUwUseVE={ value=false, description="If true, user will be redirected to VisualEditor.", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CreatePageUw", }, CreateRedirect={ name="CreateRedirect", version="1.5.0", author={ "Marco Zafra","Edward Chernenko",}, type="specialpage", url="https://www.mediawiki.org/wiki/Extension:CreateRedirect", descriptionmsg="createredirect-desc", ["license-name"]="GPL-3.0-or-later", requires={ MediaWiki=">= 1.38.0", }, ExtensionMessagesFiles={ CreateRedirectAlias="CreateRedirect.alias.php", }, HookHandlers={ main={ class="CreateRedirectHooks", }, }, Hooks={ SidebarBeforeOutput="main", }, SpecialPages={ CreateRedirect={ class="SpecialCreateRedirect", services={ "PermissionManager",}, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CreateRedirect", }, Create_User_Page={ name="CreateUserPage", version="3.0", author={ "Cindy Cicalese",}, url="https://www.mediawiki.org/wiki/Extension:Create_User_Page", descriptionmsg="createuserpage-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.35.0", }, Hooks={ UserLoginComplete="CreateUserPageHooks::onUserLoginComplete", OutputPageParserOutput="CreateUserPageHooks::onOutputPageParserOutput", }, config={ CreateUserPage_PageContent="", CreateUserPage_OnLogin=true, CreateUserPage_AutoCreateUser=nil, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CreateUserPage", }, CreatedPagesList={ name="CreatedPagesList", version="1.2.1", author="Edward Chernenko", url="https://www.mediawiki.org/wiki/Extension:CreatedPagesList", descriptionmsg="createdpageslist-desc", ["license-name"]="GPL-2.0+", type="specialpage", requires={ MediaWiki=">= 1.39.0", }, SpecialPages={ CreatedPagesList="SpecialCreatedPagesList", }, ExtensionMessagesFiles={ CreatedPagesListAlias="CreatedPagesList.alias.php", }, HookHandlers={ main={ class="CreatedPagesListHooks", services={ "RevisionLookup",}, }, updater={ class="CreatedPagesListUpdater", }, }, Hooks={ ArticleDeleteComplete="main", ArticleUndelete="main", LoadExtensionSchemaUpdates="updater", PageSaveComplete="main", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CreatedPagesList", }, CreditsSource={ name="CreditsSource", version="0.4.0", author={ "Hans Musil","Matthias Mullie",}, ["license-name"]="GPL-2.0-only", url="https://www.mediawiki.org/wiki/Extension:CreditsSource", descriptionmsg="creditssource-desc", type="other", requires={ MediaWiki=">= 1.35.3", }, Hooks={ LoadExtensionSchemaUpdates="MediaWiki\\Extension\\CreditSource\\Hooks::loadExtensionSchemaUpdates", }, Actions={ credits="MediaWiki\\Extension\\CreditSource\\CreditsSourceAction", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CreditsSource", }, CustomPage={ name="CustomPage", author="Ike Hecht", url="https://www.mediawiki.org/wiki/Extension:CustomPage", descriptionmsg="custompage-desc", version="0.1", type="specialpage", config={ CustomPageSkins={ }, }, ExtensionFunctions={ "CustomPage::init",}, ExtensionMessagesFiles={ CustomPageAlias="CustomPage.i18n.alias.php", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/CustomPage", }, DPLforum={ name="DPLforum", version="3.7.2", author="Ross McClure", ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:DPLforum", descriptionmsg="dplforum-desc", type="parserhook", requires={ MediaWiki=">= 1.37.0", }, namespaces={ { id=110, constant="NS_FORUM", name="Forum", },{ id=111, constant="NS_FORUM_TALK", name="Forum_talk", },}, ExtraSignatureNamespaces={ 110,}, ExtensionMessagesFiles={ DPLforumMagic="DPLforum.i18n.magic.php", DPLforumNamespaces="DPLforum.namespaces.php", }, Hooks={ ParserFirstCallInit="DPLForumHooks::onParserFirstCallInit", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/DPLforum", }, DarkMode={ name="DarkMode", version="0.2.0", author={ "MusikAnimal","R4356th",}, url="https://www.mediawiki.org/wiki/Extension:DarkMode", descriptionmsg="darkmode-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.38.0", }, Hooks={ SkinAddFooterLinks="main", ["SkinTemplateNavigation::Universal"]="main", SkinBuildSidebar="main", BeforePageDisplay="main", GetPreferences="main", }, HookHandlers={ main={ class="MediaWiki\\Extension\\DarkMode\\Hooks", services={ "MainConfig","UserOptionsLookup",}, }, }, config={ DarkModeTogglePosition={ value="personal", description="Where the dark mode toggle link should be placed: 'personal' – next to the user talk page link in personal URLs. 'footer' – in the footer, usually after the 'Disclaimer' link. 'sidebar' – in the sidebar within the navigation portlet.", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/DarkMode", }, Dashiki={ name="Dashiki", version="0.1.0", author={ "Dan Andreescu",}, url="https://www.mediawiki.org/wiki/Extension:Dashiki", descriptionmsg="dashiki-desc", type="other", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.31.0", extensions={ JsonConfig="*", }, }, attributes={ JsonConfig={ Models={ ["JsonConfig.Dashiki"]={ view="Dashiki\\DashikiView", class="JsonConfig\\JCContent", }, }, s={ ["JsonConfig.Dashiki"]={ pattern="/^Dashiki\\:./", isLocal=true, }, }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Dashiki", }, DataTable2={ name="DataTable2", version="1.1.0", type="parserhook", author="RV1971", descriptionmsg="datatable2-desc", url="https://www.mediawiki.org/wiki/Extension:DataTable2", ["license-name"]="GPL-3.0-or-later", requires={ MediaWiki=">= 1.35.3", }, ExtensionFunctions={ "DataTable2::init",}, ExtensionMessagesFiles={ DataTable2Alias="includes/DataTable2.alias.php", DataTable2Magic="includes/DataTable2.i18n.magic.php", }, AvailableRights={ "datatable2-specialpages",}, GroupPermissions={ user={ ["datatable2-specialpages"]=true, }, }, SpecialPages={ DataTable2Data="SpecialDataTable2Data", DataTable2Pages="SpecialDataTable2Pages", DataTable2Tables="SpecialDataTable2Tables", }, config={ DataTable2WriteDest={ description="Name of the database table where data is written to.", value="datatable2_data", }, DataTable2ReadSrc={ description="Name of the database table where data is read from.", value="datatable2_data", }, DataTable2MetaWriteDest={ description="Name of the database table where meta data is written to.", value="datatable2_meta", }, DataTable2MetaReadSrc={ description="Name of the database table where meta data is read from.", value="datatable2_meta", }, DataTable2Args={ description="Default arguments for datatable2 tags.", value={ fs="|", rs="/[\n\r]+/", }, }, DataTable2SqlWhiteList={ description="Array of identifiers that may be used in WHERE and ORDER BY clauses, in addition to column names.", value={ "ASC","DESC","NULLS","FIRST","LAST","AND","NOT","OR","BETWEEN","IN","IS","LIKE","NULL","CASE","WHEN","THEN","ELSE","END","COALESCE","NULLIF","CAST","AS","EXTRACT","FROM","ABS","MOD","LN","EXP","POWER","SQRT","FLOOR","CEIL","SUBSTR","SUBSTRING","UPPER","LOWER","TRANSLATE","TRIM",}, }, SpecialDataTable2PageParSep={ description="Separator for parameters passed to special pages.", value="//", }, SpecialDataTable2DataClasses={ description="Array of css classes for the table used in Special:DataTable2Data.", value={ "wikitable","sortable",}, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/DataTable2", }, Data_Transfer={ name="Data Transfer", version="1.5", author={ "Yaron Koren","...",}, url="https://www.mediawiki.org/wiki/Extension:Data_Transfer", descriptionmsg="datatransfer-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.34.0", }, GroupPermissions={ sysop={ datatransferimport=true, }, }, AvailableRights={ "datatransferimport",}, SpecialPages={ ViewXML="DTViewXML", ImportXML="DTImportXML", ImportCSV="DTImportCSV", ImportSpreadsheet="DTImportSpreadsheet", }, JobClasses={ dtImport="DTImportJob", }, ExtensionMessagesFiles={ DataTransferAlias="DataTransfer.i18n.alias.php", }, Hooks={ AdminLinks="DTHooks::addToAdminLinks", }, config={ DataTransferViewXMLParseFields=false, DataTransferViewXMLParseFreeText=true, }, repository="https://phabricator.wikimedia.org/diffusion/EDTR/extension-datatransfer.git", composer="mediawiki/data-transfer", }, DateDiff={ name="DateDiff", version="0.4.0", author={ "Khaled El Mansoury","Jeroen De Dauw",}, ["license-name"]="CC-BY-SA-3.0", url="https://www.mediawiki.org/wiki/Extension:DateDiff", descriptionmsg="datediff-desc", requires={ MediaWiki=">= 1.35.0", }, ExtensionMessagesFiles={ DateDiffMagic="DateDiff.i18n.magic.php", }, Hooks={ ParserFirstCallInit="DateDiff::efDDDateDiff", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/DateDiff", }, DebugTemplates={ name="DebugTemplates", version="0.6", author="Clark Verbrugge", url="https://www.mediawiki.org/wiki/Extension:DebugTemplates", descriptionmsg="debugtemplates-desc", ["license-name"]="CC-BY-SA-3.0", type="specialpage", requires={ MediaWiki=">= 1.29.0", }, APIModules={ expandframe="ApiDebugTemplates", }, SpecialPages={ DebugTemplates="SpecialDebugTemplates", }, ExtensionMessagesFiles={ DebugTemplatesAlias="DebugTemplates.alias.php", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/DebugTemplates", }, DeleteBatch={ name="DeleteBatch", version="1.8.1", author={ "Bartek Łapiński","...",}, url="https://www.mediawiki.org/wiki/Extension:DeleteBatch", descriptionmsg="deletebatch-desc", namemsg="deletebatch-extensionname", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.37.0", }, type="specialpage", ReservedUsernames={ "msg:deletebatch-system-username",}, AvailableRights={ "deletebatch","deletebatch-spoof",}, GroupPermissions={ bureaucrat={ deletebatch=true, ["deletebatch-spoof"]=true, }, }, SpecialPages={ DeleteBatch="SpecialDeleteBatch", }, ExtensionMessagesFiles={ DeleteBatchAlias="DeleteBatch.alias.php", }, Hooks={ AdminLinks="SpecialDeleteBatch::addToAdminLinks", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/DeleteBatch", }, DeletePagesForGood={ name="DeletePagesForGood", namemsg="deletepagesforgood-extensionname", version="2.0", author={ "Paladox","Wolfgang Stöttinger","Ludovic Mouton",}, url="https://www.mediawiki.org/wiki/Extension:DeletePagesForGood", descriptionmsg="deletepagesforgood-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.34.0", }, GroupPermissions={ ["*"]={ deleteperm=false, }, user={ deleteperm=false, }, bureaucrat={ deleteperm=false, }, sysop={ deleteperm=true, }, }, Actions={ delete_page_permanently="ActionDeletePagePermanently", }, AvailableRights={ "deleteperm",}, Hooks={ ["SkinTemplateNavigation::Universal"]="ActionDeletePagePermanently::onAddSkinHook", }, config={ DeletePagesForGoodNamespaces={ [1]=true, [2]=true, [3]=true, [4]=true, [5]=true, [6]=true, [7]=true, [8]=true, [9]=true, [10]=true, [11]=true, [12]=true, [13]=true, [14]=true, [15]=true, [16]=true, ["_merge_strategy"]="array_plus", }, }, repository="https://phabricator.wikimedia.org/diffusion/EDPG/", composer="mediawiki/deletepagesforgood", }, DeleteUserPages={ name="DeleteUserPages", version="1.0.0", author={ "Ryan Schmidt",}, url="https://www.mediawiki.org/wiki/Extension:DeleteUserPages", descriptionmsg="deleteuserpages-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.29.0", }, Hooks={ TitleQuickPermissions="DeleteUserPages::onTitleQuickPermissions", }, AvailableRights={ "delete-rootuserpages","delete-usersubpages",}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/DeleteUserPages", }, Description2={ name="Description2", version="0.4.1", author={ "Daniel Friesen",}, url="https://www.mediawiki.org/wiki/Extension:Description2", descriptionmsg="description2-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.31.0", }, config={ EnableMetaDescriptionFunctions=false, }, ConfigRegistry={ Description2="GlobalVarConfig::newInstance", }, ExtensionMessagesFiles={ Description2Magic="Description2.i18n.magic.php", }, Hooks={ OutputPageParserOutput="MediaWiki\\Extension\\Description2\\Description2::onOutputPageParserOutput", ParserAfterTidy="MediaWiki\\Extension\\Description2\\Description2::onParserAfterTidy", ParserFirstCallInit="MediaWiki\\Extension\\Description2\\Description2::onParserFirstCallInit", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Description2", }, DeviceMapLogCapture={ name="Device Map Log Capture", version="0.0.2", author="Patrick Reilly", url="https://www.mediawiki.org/wiki/Extension:DeviceMapLogCapture", ["license-name"]="Apache-2.0", type="other", APIModules={ devicemaplogcapture="ApiDeviceMapLogCapture", }, requires={ MediaWiki=">= 1.35.3", }, Hooks={ LoadExtensionSchemaUpdates="DeviceMapLogCaptureHooks::loadExtensionSchemaUpdates", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/DeviceMapLogCapture", }, Diagnosis={ name="Diagnosis", version="0.2.0", author="DaSch", url="https://www.mediawiki.org/wiki/Extension:Diagnosis", descriptionmsg="diagnosis-desc", type="specialpage", requires={ MediaWiki=">= 1.29.0", }, AvailableRights={ "diagnosis-access",}, GroupPermissions={ sysop={ ["diagnosis-access"]=true, }, }, SpecialPages={ Diagnosis="SpecialDiagnosis", }, ExtensionMessagesFiles={ SpecialDiagnosis="Diagnosis.i18n.alias.php", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Diagnosis", }, Did_You_Know={ name="Did You Know", version="0.3", author={ "Jeroen De Dauw",}, url="https://www.mediawiki.org/wiki/Extension:Did_You_Know", descriptionmsg="didyouknow-desc", type="other", requires={ MediaWiki=">= 1.32.0", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/DidYouKnow", }, DisableAccount={ ["@doc"]="Written by Andrew Garrett, 2010-12-02", name="Disable Account", author={ "Andrew Garrett",}, ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.35.0", }, url="https://www.mediawiki.org/wiki/Extension:DisableAccount", descriptionmsg="disableaccount-desc", type="other", ExtensionMessagesFiles={ DisableAccountAliases="DisableAccount.alias.php", }, LogActionsHandlers={ ["block/disableaccount"]="DisableAccountLogFormatter", }, AvailableRights={ "disableaccount",}, SpecialPages={ DisableAccount="SpecialDisableAccount", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/DisableAccount", }, Disambiguator={ name="Disambiguator", version="1.4", author={ "Ryan Kaldari",}, url="https://www.mediawiki.org/wiki/Extension:Disambiguator", descriptionmsg="disambig-desc", ["license-name"]="MIT", requires={ MediaWiki=">= 1.37.0", }, type="other", ExtensionMessagesFiles={ DisambiguatorAlias="Disambiguator.i18n.alias.php", DisambiguatorMagic="Disambiguator.i18n.magic.php", }, Hooks={ GetDoubleUnderscoreIDs="MediaWiki\\Extension\\Disambiguator\\Hooks::onGetDoubleUnderscoreIDs", wgQueryPages="MediaWiki\\Extension\\Disambiguator\\Hooks::onwgQueryPages", AncientPagesQuery="MediaWiki\\Extension\\Disambiguator\\Hooks::onAncientPagesQuery", LonelyPagesQuery="MediaWiki\\Extension\\Disambiguator\\Hooks::onLonelyPagesQuery", ShortPagesQuery="MediaWiki\\Extension\\Disambiguator\\Hooks::onShortPagesQuery", RandomPageQuery="MediaWiki\\Extension\\Disambiguator\\Hooks::onRandomPageQuery", GetLinkColours="MediaWiki\\Extension\\Disambiguator\\Hooks::onGetLinkColours", LinksUpdateComplete="main", ListDefinedTags="main", ChangeTagsListActive="main", RecentChange_save="main", ["EditPage::showEditForm:initial"]="main", }, HookHandlers={ main={ class="MediaWiki\\Extension\\Disambiguator\\Hooks", services={ "DisambiguatorLookup","MainConfig",}, }, }, config={ DisambiguatorIndicateLinks={ value=true, }, DisambiguatorNotifications={ value=false, description="Show a warning notification after the user types a link to a disambiguation page", }, }, SpecialPages={ DisambiguationPages={ class="MediaWiki\\Extension\\Disambiguator\\Specials\\SpecialDisambiguationPages", services={ "LinkBatchFactory","DBLoadBalancer",}, }, DisambiguationPageLinks={ class="MediaWiki\\Extension\\Disambiguator\\Specials\\SpecialDisambiguationPageLinks", services={ "NamespaceInfo","LinkBatchFactory","ContentHandlerFactory","DBLoadBalancer",}, }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, attributes={ VisualEditor={ PluginModules={ "ext.disambiguator.visualEditor",}, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Disambiguator", }, Discourse={ name="Discourse", author={ "Sam Wilson",}, ["license-name"]="GPL-2.0-or-later", namemsg="discourse", descriptionmsg="discourse-desc", url="https://www.mediawiki.org/wiki/Extension:Discourse", type="other", requires={ MediaWiki=">= 1.31.7", }, ExtensionMessagesFiles={ DiscourseMagicWords="Discourse.i18n.magic.php", }, config={ DiscourseSites={ description="Whitelist of base URLs of Discourse sites to allow (shortname => URL).", value={ discourse="https://meta.discourse.org/", mediawiki="https://discourse-mediawiki.wmflabs.org/", }, }, DiscourseDefaultSite={ description="Default Discourse site to use if none specified.", value="discourse", }, }, Hooks={ ScribuntoExternalLibraries="MediaWiki\\Extension\\Discourse\\Hooks::onScribuntoExternalLibraries", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Discourse", }, DiscussionThreading={ name="DiscussionThreading", version="1.6.1", author={ "Jack D. Pond","Daniel Brice",}, url="https://www.mediawiki.org/wiki/Extension:DiscussionThreading", descriptionmsg="discussionthreading-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.35.0", }, Hooks={ ["EditPage::showEditForm:initial"]={ "DiscussionThreading::efDiscussionThread","DiscussionThreading::efDiscussionThreadEdit",}, ["EditPage::attemptSave"]="DiscussionThreading::onAttemptSave", AlternateEdit="DiscussionThreading::efDiscussionThreadEdit", SkinEditSectionLinks="DiscussionThreading::onSkinEditSectionLinks", }, config={ SectionThreadingOn={ value=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/DiscussionThreading", }, DiscussionTools={ name="DiscussionTools", ["license-name"]="MIT", version="0.0.0", url="https://www.mediawiki.org/wiki/Extension:DiscussionTools", namemsg="discussiontools", descriptionmsg="discussiontools-desc", requires={ MediaWiki=">= 1.39.0", extensions={ VisualEditor=">= 0.1.2", Linter="*", }, }, ExtensionMessagesFiles={ DiscussionToolsAlias="DiscussionTools.alias.php", }, callback="\\MediaWiki\\Extension\\DiscussionTools\\Hooks\\RegistrationHooks::onRegistration", QUnitTestModule={ localBasePath="tests", remoteExtPath="DiscussionTools/tests", packageFiles={ "qunit/index.js","qunit/testUtils.js",{ name="data-en.json", callback="\\MediaWiki\\Extension\\DiscussionTools\\ResourceLoaderData::getLocalData", callbackParam="en", },"qunit/utils.test.js","qunit/modifier.test.js","qunit/parser.test.js","qunit/ThreadItem.test.js",}, testData={ "cases/authors.json","cases/comments.json","cases/modified.json","cases/reply.json","cases/unwrap.json","cases/linearWalk.json","cases/sanitize-wikitext-linebreaks.json","cases/timestamp-regex.json","cases/timestamp-parser.json","cases/timestamp-parser-dst.json",}, factory="\\MediaWiki\\Extension\\DiscussionTools\\ResourceLoaderData::makeTestModule", dependencies={ "ext.discussionTools.init",}, }, APIModules={ discussiontoolscompare={ class="MediaWiki\\Extension\\DiscussionTools\\ApiDiscussionToolsCompare", services={ "VisualEditor.ParsoidClientFactory","DiscussionTools.CommentParser","RevisionLookup",}, }, discussiontoolsedit={ class="MediaWiki\\Extension\\DiscussionTools\\ApiDiscussionToolsEdit", services={ "VisualEditor.ParsoidClientFactory","DiscussionTools.CommentParser","DiscussionTools.SubscriptionStore","SkinFactory","ConfigFactory","RevisionLookup",}, }, discussiontoolsgetsubscriptions={ class="MediaWiki\\Extension\\DiscussionTools\\ApiDiscussionToolsGetSubscriptions", services={ "DiscussionTools.SubscriptionStore","ConfigFactory",}, }, discussiontoolspageinfo={ class="MediaWiki\\Extension\\DiscussionTools\\ApiDiscussionToolsPageInfo", services={ "VisualEditor.ParsoidClientFactory","DiscussionTools.CommentParser","RevisionLookup",}, }, discussiontoolspreview={ class="MediaWiki\\Extension\\DiscussionTools\\ApiDiscussionToolsPreview", services={ "VisualEditor.ParsoidClientFactory","DiscussionTools.CommentParser","SkinFactory",}, }, discussiontoolssubscribe={ class="MediaWiki\\Extension\\DiscussionTools\\ApiDiscussionToolsSubscribe", services={ "DiscussionTools.SubscriptionStore","ConfigFactory",}, }, }, SpecialPages={ TopicSubscriptions={ class="\\MediaWiki\\Extension\\DiscussionTools\\SpecialTopicSubscriptions", services={ "LinkRenderer","LinkBatchFactory",}, }, FindComment={ class="\\MediaWiki\\Extension\\DiscussionTools\\SpecialFindComment", services={ "DiscussionTools.ThreadItemStore","DiscussionTools.ThreadItemFormatter",}, }, GoToComment={ class="\\MediaWiki\\Extension\\DiscussionTools\\SpecialGoToComment", services={ "DiscussionTools.ThreadItemStore",}, }, }, Hooks={ BeforeCreateEchoEvent="\\MediaWiki\\Extension\\DiscussionTools\\Hooks\\EchoHooks::onBeforeCreateEchoEvent", EchoGetBundleRules="\\MediaWiki\\Extension\\DiscussionTools\\Hooks\\EchoHooks::onEchoGetBundleRules", EchoGetEventsForRevision="\\MediaWiki\\Extension\\DiscussionTools\\Hooks\\EchoHooks::onEchoGetEventsForRevision", MinervaNeueTalkPageOverlay="\\MediaWiki\\Extension\\DiscussionTools\\Hooks\\MobileHooks::onMinervaNeueTalkPageOverlay", RevisionDataUpdates="dataupdates", LoadExtensionSchemaUpdates="installer", ParserAfterTidy="parser", BeforeDisplayNoArticleText="page", BeforePageDisplay="page", GetActionName="page", OutputPageBeforeHTML="page", TitleGetEditNotices="page", ResourceLoaderGetConfigVars="resourceloader", GetBetaFeaturePreferences="\\MediaWiki\\Extension\\DiscussionTools\\Hooks\\PreferenceHooks::onGetBetaFeaturePreferences", GetPreferences="preferences", LocalUserCreated="preferences", ChangeTagsListActive="tags", ListDefinedTags="tags", RecentChange_save="tags", }, HookHandlers={ dataupdates={ class="MediaWiki\\Extension\\DiscussionTools\\Hooks\\DataUpdatesHooks", services={ "DiscussionTools.ThreadItemStore",}, }, installer={ class="MediaWiki\\Extension\\DiscussionTools\\Hooks\\InstallerHooks", }, page={ class="MediaWiki\\Extension\\DiscussionTools\\Hooks\\PageHooks", services={ "ConfigFactory","DiscussionTools.SubscriptionStore","UserNameUtils","UserOptionsLookup",}, }, parser={ class="MediaWiki\\Extension\\DiscussionTools\\Hooks\\ParserHooks", services={ "ConfigFactory",}, }, preferences={ class="MediaWiki\\Extension\\DiscussionTools\\Hooks\\PreferenceHooks", services={ "ConfigFactory","LinkRenderer",}, }, resourceloader={ class="MediaWiki\\Extension\\DiscussionTools\\Hooks\\ResourceLoaderHooks", services={ "ConfigFactory",}, }, tags={ class="MediaWiki\\Extension\\DiscussionTools\\Hooks\\TagHooks", }, }, Actions={ dtunsubscribe={ class="MediaWiki\\Extension\\DiscussionTools\\Actions\\UnsubscribeAction", services={ "DiscussionTools.SubscriptionStore",}, }, }, LateJSConfigVarNames={ "wgDiscussionToolsPageThreads",}, ServiceWiringFiles={ "includes/ServiceWiring.php",}, DefaultUserOptions={ ["discussiontools-betaenable"]=0, ["discussiontools-editmode"]="", ["discussiontools-newtopictool"]=1, ["discussiontools-newtopictool-createpage"]=1, ["discussiontools-replytool"]=1, ["discussiontools-sourcemodetoolbar"]=1, ["discussiontools-topicsubscription"]=1, ["discussiontools-autotopicsub"]=1, ["discussiontools-visualenhancements"]=1, }, config={ DiscussionToolsEnable={ value=true, description="Enable DiscussionTools on talk pages.", }, DiscussionToolsBeta={ value=false, description="Make DiscussionTools a BetaFeature.", }, DiscussionToolsABTest={ value=false, description="A/B test DiscussionTools features for logged in users. false, 'replytool', 'newtopictool', or 'mobile'", }, DiscussionToolsEnableMobile={ value=true, description="Enable DiscussionTools on mobile talk pages. Currently this automatically enables 'replytool', 'newtopictool' & 'sourcemodetoolbar' on those pages and disables topic subscriptions on those pages.", }, DiscussionTools_replytool={ value="default", description="Override availability of DiscussionTools reply tool. 'default', 'available', or 'unavailable'.", }, DiscussionTools_newtopictool={ value="default", description="Override availability of DiscussionTools new topic tool. 'default', 'available', or 'unavailable'.", }, DiscussionTools_sourcemodetoolbar={ value="default", description="Enable the toolbar in source mode for the reply tool and new topic tool. 'default', 'available', or 'unavailable'.", }, DiscussionTools_topicsubscription={ value="default", description="Override availability of DiscussionTools topic subscription feature. 'default', 'available', or 'unavailable'.", }, DiscussionTools_autotopicsub={ value="default", description="Override availability of DiscussionTools automatic topic subscription feature. 'default', 'available', or 'unavailable'.", }, DiscussionTools_visualenhancements={ value="default", description="Override availability of DiscussionTools visual enhancements. 'default', 'available', or 'unavailable'.", }, DiscussionTools_visualenhancements_namespaces={ value={ 1,3,}, description="Namespaces on which visual enhancements are available. Array of namespaces IDs (numbers), or `true` to enable on all namespaces/pages which have DiscussionTools.", }, DiscussionTools_visualenhancements_pageframe={ value="default", description="Override availability of DiscussionTools visual enhancements's page frame sub-feature. 'default', 'available', or 'unavailable'.", }, DiscussionTools_visualenhancements_reply={ value="default", description="Override availability of DiscussionTools visual enhancements's reply buttons sub-feature. 'default', 'available', or 'unavailable'.", }, DiscussionToolsEnablePermalinksBackend={ value=true, description="Enable the permalinks backend. Do not enable this unless the database tables exist.", }, DiscussionToolsAutoTopicSubEditor={ value="discussiontoolsapi", description="Editor which triggers automatic topic subscriptions. Either 'discussiontoolsapi' for edits made using DiscussionTools' API (e.g. reply and new topic tools), or 'any' for any editor.", }, DiscussionToolsLegacyHeadingMarkup={ value=false, description="Use old heading markup (T314714).", }, DiscussionToolsTalkPageParserCacheExpiry={ value=0, description="Override $wgParserCacheExpireTime for discussion pages, regardless of DiscussionTools enablement.", }, DiscussionToolsReplyIndentation={ value="invisible", description="Reply indentation syntax to use: 'invisible' (use `` tags to output `:` in wikitext) or 'bullet' (use `` tags to output `*` in wikitext).", }, DiscussionToolsShowFeedbackLinks={ value=false, description="Show 'Share feedback...' links in the footer of reply tool and new topic tool.", }, DiscussionToolsTimestampFormatSwitchTime={ value="2022-07-12", description="Date on which the internal timestamp format has changed (T304595), in ISO 8601 format.", }, DiscussionToolsConflictingGadgetName={ value="convenientDiscussions", description="Internal name of the Convenient Discussions gadget, which conflicts with the reply tool. Reply tool will be unavailable when the user has this gadget enabled.", }, DTSchemaEditAttemptStepSamplingRate={ value=0, description="Rate at which to sample sessions for instrumentation; overrides WikimediaEvents rate if set to any number other than 0", }, DTSchemaEditAttemptStepOversample={ value=false, description="Oversample EditAttemptStep logging; distinct from rate tuning, as it'll flag the events as being oversampled", }, }, ConfigRegistry={ discussiontools="GlobalVarConfig::newInstance", }, type="other", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/DiscussionTools", }, DismissableSiteNotice={ name="DismissableSiteNotice", version="1.0.1", author={ "Brion Vibber","Kevin Israel","Dror S.",}, url="https://www.mediawiki.org/wiki/Extension:DismissableSiteNotice", descriptionmsg="sitenotice-desc", ["license-name"]="GPL-2.0-or-later", type="other", config={ MajorSiteNoticeID={ value=1, }, DismissableSiteNoticeForAnons={ value=false, }, }, Hooks={ SiteNoticeAfter="MediaWiki\\Extension\\DismissableSiteNotice\\Hooks::onSiteNoticeAfter", }, requires={ MediaWiki=">= 1.34.0", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/DismissableSiteNotice", }, DisplayTitle={ name="DisplayTitle", version="3.2", author={ "Cindy Cicalese","Tobias Oetterer",}, url="https://www.mediawiki.org/wiki/Extension:DisplayTitle", descriptionmsg="displaytitle-desc", type="parserhook", ["license-name"]="MIT", requires={ MediaWiki=">= 1.35.0", }, ExtensionMessagesFiles={ DisplayTitleMagic="includes/DisplayTitle.i18n.magic.php", }, Hooks={ ParserFirstCallInit="DisplayTitleHooks::onParserFirstCallInit", ParserBeforeInternalParse="DisplayTitleHooks::onParserBeforeInternalParse", ParserBeforePreprocess="DisplayTitleHooks::onParserBeforeInternalParse", BeforePageDisplay="DisplayTitleHooks::onBeforePageDisplay", PersonalUrls="DisplayTitleHooks::onPersonalUrls", HtmlPageLinkRendererBegin="DisplayTitleHooks::onHtmlPageLinkRendererBegin", ScribuntoExternalLibraries="DisplayTitleHooks::onScribuntoExternalLibraries", SelfLinkBegin="DisplayTitleHooks::onSelfLinkBegin", }, config={ DisplayTitleHideSubtitle={ value=false, }, DisplayTitleExcludes={ value={ }, }, DisplayTitleFollowRedirects={ value=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/DisplayTitle", }, DisqusTag={ name="DisqusTag", version="0.3", author="Felipe Schenone", url="https://www.mediawiki.org/wiki/Extension:DisqusTag", descriptionmsg="disqustag-desc", ["license-name"]="GPL-3.0-only", type="parserhook", requires={ MediaWiki=">= 1.35.0", }, Hooks={ BeforePageDisplay="DisqusTag::addModule", ParserFirstCallInit="DisqusTag::setParserHook", ResourceLoaderGetConfigVars="DisqusTag::onResourceLoaderGetConfigVars", SkinAfterContent="DisqusTag::addDisqusElements", }, config={ ["_prefix"]="eg", DisqusShortname="your-disqus-shortname", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/DisqusTag", }, DonationInterface={ name="Donation Interface", version="2.5.8.8", author={ "Elliott Eggleston","Katie Horn","Ryan Kaldari","Arthur Richards","Sherah Smith","Matt Walker","Adam Wight","Peter Gehres","Jeremy Postlethwaite","Dylan Kozlowski","Casey Dentinger","Maggie Epps","Jack Gleeson","Christine Stone",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:DonationInterface", type="specialpage", requires={ MediaWiki=">= 1.35.0", }, callback="DonationInterface::registerExtension", SpecialPages={ GatewayChooser="GatewayChooser", SystemStatus="SystemStatus", EmailPreferences="EmailPreferences", FundraiserMaintenance="FundraiserMaintenance", GlobalCollectGateway="GlobalCollectGateway", GlobalCollectGatewayResult="GlobalCollectGatewayResult", IngenicoGateway="IngenicoGateway", IngenicoGatewayResult="IngenicoGatewayResult", AmazonGateway="AmazonGateway", AdyenCheckoutGateway="AdyenCheckoutGateway", AdyenCheckoutGatewayResult="AdyenCheckoutGatewayResult", BraintreeGateway="BraintreeGateway", BraintreeGatewayResult="BraintreeGatewayResult", AstroPayGateway="AstroPayGateway", AstroPayGatewayResult="AstroPayGatewayResult", PaypalExpressGateway="PaypalExpressGateway", PaypalExpressGatewayResult="PaypalExpressGatewayResult", }, APIModules={ di_amazon_bill="AmazonBillingApi", di_donate_adyen="AdyenDonationApi", di_applesession_adyen="AdyenAppleApi", di_donate_braintree="BraintreeDonationApi", donate="DonationApi", di_recurring_convert="RecurringConversionApi", logPaymentsFormError="ClientErrorApi", employerSearch="EmployerSearchAPI", }, ExtensionMessagesFiles={ GatewayAliases="DonationInterface.alias.php", AmazonGatewayAlias="amazon_gateway/amazon_gateway.alias.php", GlobalCollectGatewayAlias="globalcollect_gateway/globalcollect_gateway.alias.php", IngenicoGatewayAlias="ingenico_gateway/ingenico_gateway.alias.php", AdyenGatewayAlias="adyen_gateway/adyen_gateway.alias.php", AstroPayGatewayAlias="astropay_gateway/astropay_gateway.alias.php", PaypalGatewayAlias="paypal_ec_gateway/paypal_gateway.alias.php", BraintreeGatewayAlias="braintree_gateway/braintree_gateway.alias.php", }, Hooks={ ["Language::getMessagesFileName"]="DonationInterface::onGetMessagesFileName", UnitTestsList="DonationInterface::onDonationInterfaceUnitTests", ["MediaWikiPHPUnitTest::startTest"]="DonationInterface::onMediaWikiPHPUnitTeststartTest", }, config={ DonationInterfaceTest={ value=false, }, DonationInterfaceAppealWikiTemplate={ value="LanguageSwitch|2011FR/$appeal/text|$language", }, DonationInterfaceDefaultAppeal={ value="JimmyQuote", }, DonationInterfaceProblemsURL={ value="https://donate.wikimedia.org/wiki/Special:LandingCheck?landing_page=Problems_donating&basic=true&language=$language&country=$country", }, DonationInterfaceOtherWaysURL={ value="https://donate.wikimedia.org/wiki/Special:LandingCheck?basic=true&landing_page=Ways_to_Give&language=$language&country=$country", }, DonationInterfaceFaqURL={ value="https://donate.wikimedia.org/wiki/Special:LandingCheck?basic=true&landing_page=FAQ&language=$language&country=$country", }, DonationInterfaceTaxURL={ value="https://donate.wikimedia.org/wiki/Special:LandingCheck?basic=true&landing_page=Tax_deductibility&language=$language&country=$country", }, DonationInterfacePolicyURL={ value="https://foundation.wikimedia.org/wiki/Special:LandingCheck?basic=true&landing_page=Donor_privacy_policy&language=$language&country=$country", }, DonationInterfaceProblemsEmail={ value="donate@wikimedia.org", }, DonationInterfaceMajorGiftsEmail={ value="benefactors@wikimedia.org", }, DonationInterfaceDefaultEmail={ value="nobody@wikimedia.org", }, DonationInterfaceLogoOverride={ value={ }, }, DonationInterfaceDebugLog={ value=false, }, DonationInterfaceDisplayDebug={ value=false, }, DonationInterfaceUseSyslog={ value=false, }, DonationInterfaceSaveCommStats={ value=false, }, DonationInterfaceCurlVerboseLog={ value=false, }, DonationInterfaceLogCompleted={ value=false, }, DonationInterfaceTimeout={ value=5, }, DonationInterfaceFallbackCurrency={ value=false, }, DonationInterfaceFallbackCurrencyByCountry={ value=false, }, DonationInterfaceNotifyOnConvert={ value=true, }, DonationInterfaceSendOptInOnFailure={ value=false, }, DonationInterfaceSalt={ value=nil, }, DonationInterfaceHeader={ value=nil, }, DonationInterfaceSurnameFirstCountries={ value={ "JP",}, }, DonationInterfaceNoScriptRedirect={ value=nil, }, DonationInterfaceThankYouPage={ value="Donate-thanks", }, DonationInterfaceFailPage={ value="Donate-error", }, DonationInterfaceCancelPage={ value="Donate-cancel", }, DonationInterfaceLocalConfigurationDirectory={ value=false, }, DonationInterfaceVariantConfigurationDirectory={ value=false, }, DonationInterfaceRetryLoopCount={ value=3, }, DonationInterfaceForbiddenCountries={ value={ }, }, DonationInterface3DSRules={ value={ INR={ }, }, merge_strategy="array_plus", }, DonationInterfaceMessageSourceType={ value="payments", }, GlobalCollectGatewayTestingURL={ value="https://ps.gcsip.nl/wdl/wdl", }, GlobalCollectGatewayURL={ value="https://ps.gcsip.nl/wdl/wdl", }, GlobalCollectGatewayCvvMap={ value={ M=true, N=false, P=true, S=false, U=true, Y=false, [1]=true, [""]=false, }, merge_strategy="array_plus", }, GlobalCollectGatewayAvsMap={ value={ A=50, B=50, C=50, D=0, E=100, F=0, G=50, I=50, M=0, N=100, P=50, R=100, S=50, U=50, W=50, X=0, Y=0, Z=50, [1]=25, [""]=100, }, merge_strategy="array_plus", }, IngenicoGatewayCvvMap={ value={ M=true, N=false, P=true, S=false, U=true, Y=false, [1]=true, [""]=false, }, merge_strategy="array_plus", }, IngenicoGatewayAvsMap={ value={ A=50, B=50, C=50, D=0, E=100, F=0, G=50, I=50, M=0, N=100, P=50, R=100, S=50, U=50, W=50, X=0, Y=0, Z=50, [1]=25, [""]=100, }, merge_strategy="array_plus", }, IngenicoGatewayHostedFormVariants={ value={ redirect=100, iframe=100, }, }, AmazonGatewayLoginScript={ value="https://api-cdn.amazon.com/sdk/login1.js", }, PaypalExpressGatewayCertificateURL={ value="https://api.paypal.com/nvp", }, PaypalExpressGatewaySignatureURL={ value="https://api-3t.paypal.com/nvp", }, PaypalExpressGatewayTestingCertificateURL={ value="https://api.sandbox.paypal.com/nvp", }, PaypalExpressGatewayTestingSignatureURL={ value="https://api-3t.sandbox.paypal.com/nvp", }, AstroPayGatewayURL={ value="https://api.dlocal.com/", }, AstroPayGatewayTestingURL={ value="https://sandbox.dlocal.com/", }, DonationInterfaceCustomFiltersActionRanges={ value={ process={ 0,100,}, review={ -1,-1,}, challenge={ -1,-1,}, reject={ -1,-1,}, }, merge_strategy="array_plus_2d", }, DonationInterfaceCustomFiltersRiskScore={ value=0, }, DonationInterfaceMinFraudAccountId={ value="", }, DonationInterfaceMinFraudLicenseKey={ value="", }, DonationInterfaceMinFraudClientOptions={ value={ }, }, DonationInterfaceMinFraudExtraFields={ value={ }, }, DonationInterfaceMinFraudAlarmLimit={ value=25000, }, DonationInterfaceCustomFiltersRefRules={ value={ }, }, DonationInterfaceCustomFiltersSrcRules={ value={ }, }, DonationInterfaceCustomFiltersFunctions={ value={ }, }, DonationInterfaceCustomFiltersInitialFunctions={ value={ }, }, DonationInterfaceNameFilterRules={ value={ }, }, DonationInterfaceIPDenyFailScore={ value=100, }, DonationInterfaceIPVelocityFailScore={ value=100, }, DonationInterfaceIPVelocityTimeout={ value=300, }, DonationInterfaceIPVelocityThreshhold={ value=3, }, DonationInterfaceSessionVelocity_HitScore={ value=10, }, DonationInterfaceSessionVelocity_DecayRate={ value=1, }, DonationInterfaceSessionVelocity_Threshold={ value=50, }, DonationInterfaceSessionVelocity_Multiplier={ value=1, }, DonationInterfaceCountryMap={ value={ }, }, DonationInterfaceEmailDomainMap={ value={ }, }, DonationInterfaceUtmCampaignMap={ value={ }, }, DonationInterfaceUtmMediumMap={ value={ }, }, DonationInterfaceUtmSourceMap={ value={ }, }, DonationInterfaceEnableConversionLog={ value=false, }, DonationInterfaceEnableMinFraud={ value=false, }, DonationInterfaceMinFraudWeight={ value=100, }, DonationInterfaceMinFraudErrorScore={ value=50, }, DonationInterfaceEnableBannerHistoryLog={ value=false, }, GlobalCollectGatewayEnabled={ value=false, }, IngenicoGatewayEnabled={ value=false, }, AmazonGatewayEnabled={ value=false, }, AdyenCheckoutGatewayEnabled={ value=false, }, AstroPayGatewayEnabled={ value=false, }, PaypalExpressGatewayEnabled={ value=false, }, BraintreeGatewayEnabled={ value=false, }, DonationInterfaceEnableCustomFilters={ value=true, }, DonationInterfaceEnableGatewayChooser={ value=false, }, DonationInterfaceGatewayPriorityRules={ value={ { conditions={ country={ "AR","BR","CL","CO","MX","PE","UY","ZA",}, payment_method="cc", }, gateways={ "astropay","ingenico","adyen",}, },{ conditions={ country={ "AT","AU","BE","BG","CA","DK","ES","FR","HK","HU","GB","IE","IL","IT","JP","KW","LU","LV","MY","NL","NO","NZ","PL","PT","RO","SK","US",}, payment_method="cc", }, gateways={ "adyen","ingenico",}, },{ conditions={ payment_method="rtbt", }, gateways={ "adyen","ingenico",}, },{ gateways={ "ingenico","adyen","paypal_ec","amazon","astropay","braintree",}, },}, }, DonationInterfaceEnableReferrerFilter={ value=false, }, DonationInterfaceEnableSourceFilter={ value=false, }, DonationInterfaceEnableFunctionsFilter={ value=false, }, DonationInterfaceEnableIPVelocityFilter={ value=false, }, DonationInterfaceEnableSessionVelocityFilter={ value=false, }, DonationInterfaceEnableSystemStatus={ value=false, }, DonationInterfaceLogClientErrors={ value=true, }, DonationInterfaceGeoIpDbPath={ value="/usr/share/GeoIP/GeoLite2-Country.mmdb", }, DonationInterfaceGatewayAdapters={ value={ globalcollect="GlobalCollectAdapter", ingenico="IngenicoAdapter", amazon="AmazonAdapter", adyen="AdyenCheckoutAdapter", astropay="AstroPayAdapter", paypal_ec="PaypalExpressAdapter", braintree="BraintreeAdapter", }, }, DonationInterfaceTaxDedCountries={ value={ "FR",}, }, DonationInterfaceFundraiserMaintenance={ value=false, }, DonationInterfaceEmployersListDataFileLocation={ value="/vagrant/employerData.csv", }, DonationInterfaceMonthlyConvertCountries={ value={ }, }, DonationInterfaceMonthlyConvertDefaultModule={ value="ext.donationInterface.monthlyConvert", }, DonationInterfaceMonthlyConvertAmounts={ value={ USD={ { 2.74,0,},{ 9,1.75,},{ 12,2,},{ 15,2.5,},{ 18,3,},{ 21,3.5,},{ 24,4,},{ 27,4.5,},{ 30,5,},{ 33,5.5,},{ 36,6,},{ 39,6.5,},{ 42,7,},{ 45,7.5,},{ 48,8,},{ 51,8.5,},{ 54,9,},{ 57,9.5,},{ 60,10,},{ 63,10.5,},{ 66,11,},{ 69,11.5,},{ 72,12,},{ 75,12.5,},{ 102,17,},{ 250,25,},{ 499,50,},}, GBP={ { 1.99,0,},{ 9,1.75,},{ 12,2,},{ 15,2.5,},{ 18,3,},{ 21,3.5,},{ 24,4,},{ 27,4.5,},{ 30,5,},{ 33,5.5,},{ 36,6,},{ 39,6.5,},{ 42,7,},{ 45,7.5,},{ 48,8,},{ 51,8.5,},{ 54,9,},{ 57,9.5,},{ 60,10,},{ 63,10.5,},{ 66,11,},{ 69,11.5,},{ 72,12,},{ 75,12.5,},{ 102,17,},{ 250,25,},{ 499,50,},}, JPY={ { 299,0,},{ 900,150,},{ 1200,200,},{ 1500,250,},{ 1800,300,},{ 2100,350,},{ 2400,400,},{ 2700,450,},{ 3000,500,},{ 3300,550,},{ 3600,600,},{ 3900,650,},{ 4200,700,},{ 4500,750,},{ 4800,800,},{ 5100,850,},{ 5400,900,},{ 5700,950,},{ 6000,1000,},{ 6300,1050,},{ 6600,1100,},{ 6900,1150,},{ 7200,1200,},{ 7500,1250,},{ 10800,1800,},{ 18000,3000,},{ 50000,6000,},}, SEK={ { 25,0,},{ 50,25,},{ 100,30,},{ 200,50,},{ 300,70,},{ 500,90,},{ 1000,110,},{ 2500,250,},{ 5000,500,},}, HUF={ { 499,0,},{ 3000,500,},{ 6000,1000,},{ 9000,1500,},{ 12000,2000,},{ 18000,3000,},{ 24000,4000,},{ 30000,5000,},{ 36000,6000,},{ 42000,7000,},{ 48000,8000,},{ 54000,9000,},{ 60000,10000,},}, ILS={ { 9,0,},{ 10,5,},{ 60,10,},{ 90,15,},{ 120,20,},{ 180,30,},{ 240,40,},{ 300,50,},{ 360,60,},{ 420,70,},{ 480,80,},{ 540,90,},{ 600,100,},}, ZAR={ { 29,0,},{ 30,20,},{ 50,30,},{ 100,40,},{ 300,50,},{ 450,75,},{ 600,100,},{ 900,150,},{ 1200,200,},{ 1500,250,},{ 1800,300,},{ 2400,400,},{ 3000,500,},{ 3600,600,},}, MYR={ { 9,0,},{ 30,5,},{ 50,10,},{ 120,20,},{ 180,30,},{ 240,40,},{ 300,50,},{ 360,60,},{ 420,70,},{ 480,80,},{ 540,90,},{ 600,100,},{ 900,150,},}, DKK={ { 19,0,},{ 20,10,},{ 120,20,},{ 180,30,},{ 300,50,},{ 450,75,},{ 600,100,},{ 750,125,},{ 900,150,},{ 1200,200,},{ 1500,250,},{ 1800,300,},{ 2100,350,},}, }, merge_strategy="array_plus", }, DonationInterfaceEmailPrefCtrCountries={ value={ "AF","AX","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BQ","BA","BW","BV","BR","IO","BN","BG","BF","BI","KH","CM","CA","CV","KY","CF","TD","CL","CN","CX","CC","CO","KM","CG","CD","CK","CR","CI","HR","CU","CW","CY","CZ","DK","DJ","DM","DO","EC","EG","SV","GQ","ER","EE","SZ","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","VA","HN","HK","HU","IS","IN","ID","IR","IQ","IE","IM","IL","IT","JM","JP","JE","JO","KZ","KE","KI","KP","KR","XK","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NA","NR","NP","NL","NC","NZ","NI","NE","NG","NU","NF","MK","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","RE","RO","RU","RW","BL","SH","KN","LC","MF","PM","VC","WS","SM","ST","SA","SN","RS","CS","SC","SL","SG","SX","SK","SI","SB","SO","ZA","GS","SS","ES","LK","SD","SR","SJ","SE","CH","SY","TW","TJ","TZ","TH","TL","TG","TK","TO","TT","TN","TR","TM","TC","TV","UG","UA","AE","GB","US","UM","UY","UZ","VU","VE","VN","VG","VI","WF","EH","YE","ZM","ZW",}, }, DonationInterfaceEmailPrefCtrLanguages={ value={ "af_ZA","sq_AL","ar_EG","bg_BG","ca_ES","zh_CN","zh_TW","cs_CZ","da_DK","nl_NL","nl_BE","en_AU","en_CA","en_GB","en_US","et_EE","fi_FI","fr_CA","fr_FR","de_DE","de_CH","el_GR","he_IL","hi_IN","hu_HU","id_ID","it_IT","ja_JP","km_KH","lt_LT","lv_LV","mk_MK","nb_NO","no_NO","fa_IR","pl_PL","pt_BR","pt_PT","ro_RO","ru_RU","sr_RS","sk_SK","sl_SI","es_ES","es_MX","es_PR","sv_SE","te_IN","th_TH","tr_TR","uk_UA","vi_VN",}, }, DonationInterfaceCiviproxyURLBase={ value="https://localhost", }, }, composer="wikimedia/donation-interface", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/DonationInterface", }, DoubleWiki={ name="DoubleWiki", author="ThomasV", ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:DoubleWiki", descriptionmsg="doublewiki-desc", type="other", requires={ MediaWiki=">= 1.35.0", }, config={ DoubleWikiCacheTime={ value=43200, }, }, Hooks={ OutputPageBeforeHTML="main", BeforePageDisplay="main", }, HookHandlers={ main={ class="MediaWiki\\Extension\\DoubleWiki\\DoubleWiki", services={ "MainConfig","ContentLanguage","LanguageFactory","LanguageNameUtils","HttpRequestFactory","MainWANObjectCache",}, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/DoubleWiki", }, Drafts={ name="Drafts", version="0.3.6", author={ "Trevor Parscal","Petr Bena",}, url="https://www.mediawiki.org/wiki/Extension:Drafts", descriptionmsg="drafts-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.35.3", }, config_prefix="eg", config={ DraftsAutoSaveWait={ value=120, path=false, description="Seconds of inactivity after change before autosaving. Use the value 0 to disable autosave", public=false, }, DraftsAutoSaveInputBased={ value=false, path=false, description="Enable auto save only if user stop typing (less auto saves, but much worse recovery ability)", public=false, }, DraftsAutoSaveTimeout={ value=20, path=false, description="Seconds to wait until giving up on a response from the server. Use the value 0 to disable autosave", public=false, }, DraftsLifeSpan={ value=30, path=false, description="Days to keep drafts around before automatic deletion. Set to 0 to keep forever.", public=false, }, DraftsCleanRatio={ value=1000, path=false, description="Ratio of times which a list of drafts requested and the list should be pruned for expired drafts - expired drafts will not apear in the list even if they are not yet pruned, this is just a way to keep the database from filling up with old drafts", public=false, }, }, APIModules={ savedrafts="ApiSaveDrafts", }, SpecialPages={ Drafts="SpecialDrafts", }, ExtensionMessagesFiles={ DraftsAlias="Drafts.alias.php", }, Hooks={ UserGetDefaultOptions="DraftHooks::onUserGetDefaultOptions", GetPreferences="DraftHooks::onGetPreferences", EditFilter="DraftHooks::onEditFilter", PageSaveComplete="DraftHooks::onPageSaveComplete", SpecialMovepageAfterMove="DraftHooks::onSpecialMovepageAfterMove", EditPageBeforeEditButtons="DraftHooks::onEditPageBeforeEditButtons", ["EditPage::showEditForm:initial"]="DraftHooks::loadForm", ResourceLoaderGetConfigVars="DraftHooks::onResourceLoaderGetConfigVars", LoadExtensionSchemaUpdates="DraftHooks::schema", }, composer="mediawiki/drafts", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Drafts", }, DrawioEditor={ name="DrawioEditor", ["license-name"]="GPL-3.0-only", version="1.1", author={ "Markus Gebert",}, descriptionmsg="drawioeditor-desc", type="parserhook", requires={ MediaWiki=">= 1.35.0", }, ExtensionMessagesFiles={ DrawioEditorMagic="DrawioEditor.magic.php", }, Hooks={ ParserFirstCallInit="MediaWiki\\Extension\\DrawioEditor\\Hook\\ParserFirstCallInit\\SetFunctionHook::callback", DrawioGetFile="approveRevsSetStableFile", }, HookHandlers={ approveRevsSetStableFile={ class="MediaWiki\\Extension\\DrawioEditor\\Hook\\ApprovedRevsSetStableFile", services={ "DBLoadBalancer","RepoGroup",}, }, }, config={ DrawioEditorImageType={ value="svg", }, DrawioEditorImageInteractive={ value=false, }, DrawioEditorBackendUrl={ value="https://embed.diagrams.net", }, }, composer="mediawiki/drawio-editor", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/DrawioEditor", }, DumpsOnDemand={ name="DumpsOnDemand", version="1.0.0", author={ "Mainframe98",}, url="https://www.mediawiki.org/wiki/Extension:DumpsOnDemand", descriptionmsg="dumpsondemand-desc", namemsg="dumpsondemand-extensionname", ["license-name"]="MIT", type="specialpage", requires={ MediaWiki=">=1.38.0", }, SpecialPages={ RequestDump={ class="MediaWiki\\Extension\\DumpsOnDemand\\Specials\\SpecialRequestDump", services={ "DumpsOnDemandFileBackend","ConfigFactory","JobQueueGroup",}, }, }, ExtensionMessagesFiles={ DumpsOnDemandAlias="DumpsOnDemand.alias.php", }, ServiceWiringFiles={ "src/ServiceWiring.php",}, ConfigRegistry={ DumpsOnDemand="GlobalVarConfig::newInstance", }, config={ DumpsOnDemandUseDefaultJobQueue={ value=false, }, DumpsOnDemandCompression={ value=nil, }, DumpsOnDemandRequestLimit={ value=604800, }, DumpsOnDemandDumpFileBackend={ value={ class="MediaWiki\\Extension\\DumpsOnDemand\\Backend\\LocalFileBackend", services={ "MainConfig",}, }, }, }, LogTypes={ "dumprequest",}, LogActions={ ["dumprequest/dumprequest"]="logentry-dumprequest", }, LogRestrictions={ dumprequest="dumprequestlog", }, JobClasses={ DatabaseDumpGeneration="MediaWiki\\Extension\\DumpsOnDemand\\Jobs\\DoDatabaseDumpJob", }, AvailableRights={ "dumprequestlog","dumpsondemand","dumpsondemand-limit-exempt",}, callback="MediaWiki\\Extension\\DumpsOnDemand\\Hooks::onRegistration", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/DumpsOnDemand", }, Duplicator={ name="Duplicator", version="1.5.0", author={ "Rob Church","Vitaliy Filippov",}, url="https://www.mediawiki.org/wiki/Extension:Duplicator", descriptionmsg="duplicator-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.31.0", }, AvailableRights={ "duplicate",}, GroupPermissions={ user={ duplicate=true, }, }, SpecialPages={ Duplicator="SpecialDuplicator", }, ExtensionMessagesFiles={ DuplicatorAlias="Duplicator.alias.php", }, Hooks={ SidebarBeforeOutput="DuplicatorHooks::efDuplicatorNavigation", SkinTemplateToolboxEnd="DuplicatorHooks::efDuplicatorToolbox", }, config={ DuplicatorRevisionLimit={ description="At most this number of recent revisions will be duplicated.", value=250, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Duplicator", }, DynamicPageListEngine={ name="DynamicPageListEngine", version="1.1.0-rc1", type="other", author={ "RV1971",}, descriptionmsg="dynamicpagelistengine-desc", url="https://www.mediawiki.org/wiki/Extension:DynamicPageListEngine", ["license-name"]="GPL-3.0-or-later", requires={ MediaWiki=">= 1.34.0", }, Hooks={ ScribuntoExternalLibraries="Scribunto_LuaDynamicPageListEngineLibrary::onScribuntoExternalLibraries", }, config={ DpleMaxCost={ description="Maxiumum cost of a dynamic page list in terms of database load. Default null means that it is set to the corresponding value for [Extension:DynamicPageList](https://www.mediawiki.org/wiki/Extension:DynamicPageList_(Wikimedia%29#Setup)", value=nil, }, DpleMaxResultCount={ description="Maxiumum number of records to fetch. Default NULL means that it is set to the corresponding value for [Extension:DynamicPageList](https://www.mediawiki.org/wiki/Extension:DynamicPageList_(Wikimedia%29#Setup)", value=nil, }, DpleFeatures={ description="Which features to enable", value={ DpleFeatureNamespace=true, DpleFeatureCategory=true, DpleFeatureRedirects=true, DpleFeatureTitlematch=false, DpleFeatureSubpages=false, DpleFeatureLinksto=false, DpleFeatureLinksfrom=false, DpleFeatureRedirectsto=false, DpleFeatureUses=false, DpleFeatureUsedby=false, DpleFeatureImageused=false, DpleFeatureImagecontainer=false, DpleFeatureContains=false, DpleFeatureExtra=false, DpleFeatureUser=false, DpleFeatureCount=true, DpleFeatureOrder=true, DpleFeatureCheck=true, DpleFeatureResults=true, }, }, DpleCondCostMap={ description="Cost of conditions in terms of database load. A unit of 1 should correspond to an efficient table join. You can tune this map to reflect the real cost on your particular installation and/or prevent users from excessive use of certain features. Any conditions not mentioned in this map are assigned a cost of 0.", value={ DpleFeatureNamespace=-0.2, DpleFeatureCategory=1, DpleFeatureTitlematch=0.3, DpleFeatureLinksto=1, DpleFeatureLinksfrom=1.3, DpleFeatureUses=1, DpleFeatureUsedby=1.3, DpleFeatureImageused=1, DpleFeatureImagecontainer=1.3, DpleFeatureContains=1.3, DpleFeatureExtra=0.3, DpleFeatureUser=1, DpleFeatureUserExpensive=2, }, }, DpleOrderCostMap={ description="Cost of order methods in terms of database load. Any order methods not mentioned in this map are assigned a cost of 0.", value={ categorysortkey=0.1, title=0.1, }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/DynamicPageListEngine", }, DynamicSidebar={ name="DynamicSidebar", version="1.1", author={ "Ryan Lane","Derick Alangi",}, url="https://www.mediawiki.org/wiki/Extension:DynamicSidebar", descriptionmsg="dynamicsidebar-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.35.0", }, config={ DynamicSidebarUseCategories={ value=true, }, DynamicSidebarUseGroups={ value=true, }, DynamicSidebarUsePageCategories={ value=false, }, DynamicSidebarUseUserpages={ value=true, }, }, HookHandlers={ DynamicSidebar={ class="MediaWiki\\Extension\\DynamicSidebar\\DynamicSidebarHooks", services={ "HookContainer","UserGroupManager",}, }, }, Hooks={ SidebarBeforeOutput={ handler="DynamicSidebar", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/DynamicSidebar", }, Echo={ name="Echo", author={ "Andrew Garrett","Ryan Kaldari","Benny Situ","Luke Welling","Kunal Mehta","Moriel Schottlender","Jon Robson","Roan Kattouw",}, url="https://www.mediawiki.org/wiki/Extension:Echo", descriptionmsg="echo-desc", ["license-name"]="MIT", type="specialpage", requires={ MediaWiki=">= 1.40.0", }, APIMetaModules={ notifications={ class="MediaWiki\\Extension\\Notifications\\Api\\ApiEchoNotifications", services={ "MainConfig",}, }, unreadnotificationpages={ class="MediaWiki\\Extension\\Notifications\\Api\\ApiEchoUnreadNotificationPages", services={ "PageStore","TitleFactory",}, }, }, APIModules={ echomarkread="MediaWiki\\Extension\\Notifications\\Api\\ApiEchoMarkRead", echomarkseen="MediaWiki\\Extension\\Notifications\\Api\\ApiEchoMarkSeen", echoarticlereminder="MediaWiki\\Extension\\Notifications\\Api\\ApiEchoArticleReminder", echomute={ class="MediaWiki\\Extension\\Notifications\\Api\\ApiEchoMute", services={ "CentralIdLookup","UserOptionsManager",}, }, }, DefaultUserOptions={ ["echo-email-frequency"]=0, ["echo-dont-email-read-notifications"]=false, }, ExtensionFunctions={ "MediaWiki\\Extension\\Notifications\\Hooks::initEchoExtension",}, JobClasses={ EchoNotificationJob="MediaWiki\\Extension\\Notifications\\Jobs\\NotificationJob", EchoNotificationDeleteJob="MediaWiki\\Extension\\Notifications\\Jobs\\NotificationDeleteJob", EchoPushNotificationRequest="MediaWiki\\Extension\\Notifications\\Push\\NotificationRequestJob", }, SpecialPages={ Notifications="MediaWiki\\Extension\\Notifications\\Special\\SpecialNotifications", DisplayNotificationsConfiguration={ class="MediaWiki\\Extension\\Notifications\\Special\\SpecialDisplayNotificationsConfiguration", services={ "EchoAttributeManager","UserOptionsManager",}, }, NotificationsMarkRead="MediaWiki\\Extension\\Notifications\\Special\\SpecialNotificationsMarkRead", }, AvailableRights={ "manage-all-push-subscriptions",}, GroupPermissions={ ["push-subscription-manager"]={ ["manage-all-push-subscriptions"]=true, }, }, ExtensionMessagesFiles={ EchoAliases="Echo.alias.php", }, QUnitTestModule={ localBasePath="", remoteExtPath="Echo", dependencies={ "ext.echo.dm","ext.echo.mobile",}, scripts={ "tests/qunit/mobile/test_NotificationBadge.js","tests/qunit/model/test_mw.echo.dm.BundleNotificationItem.js","tests/qunit/model/test_mw.echo.dm.CrossWikiNotificationItem.js","tests/qunit/model/test_mw.echo.dm.FiltersModel.js","tests/qunit/model/test_mw.echo.dm.NotificationGroupsList.js","tests/qunit/model/test_mw.echo.dm.NotificationItem.js","tests/qunit/model/test_mw.echo.dm.NotificationsList.js","tests/qunit/model/test_mw.echo.dm.PaginationModel.js","tests/qunit/model/test_mw.echo.dm.SeenTimeModel.js","tests/qunit/model/test_mw.echo.dm.SourcePagesModel.js","tests/qunit/model/test_mw.echo.dm.UnreadNotificationCounter.js",}, }, Hooks={ LoadExtensionSchemaUpdates="MediaWiki\\Extension\\Notifications\\Hooks::onLoadExtensionSchemaUpdates", GetPreferences="main", BeforePageDisplay="main", ResourceLoaderRegisterModules="main", UserGroupsChanged="main", LoadUserOptions="main", SaveUserOptions="main", UserGetDefaultOptions="main", UserClearNewTalkNotification="main", EmailUserComplete="main", LoginFormValidErrorMessages="main", OutputPageCheckLastModified="main", ArticleDeleteComplete="main", ArticleUndelete="main", UserMergeAccountFields="MediaWiki\\Extension\\Notifications\\Hooks::onUserMergeAccountFields", MergeAccountFromTo="MediaWiki\\Extension\\Notifications\\Hooks::onMergeAccountFromTo", UserMergeAccountDeleteTables="MediaWiki\\Extension\\Notifications\\Hooks::onUserMergeAccountDeleteTables", EchoGetBundleRules="MediaWiki\\Extension\\Notifications\\Hooks::onEchoGetBundleRules", EchoAbortEmailNotification="MediaWiki\\Extension\\Notifications\\Hooks::onEchoAbortEmailNotification", PageSaveComplete="main", LocalUserCreated="main", RollbackComplete="main", UserSaveSettings="main", AbortTalkPageEmailNotification="main", SendWatchlistEmailNotification="main", GetNewMessagesAlert="main", LinksUpdateComplete="main", SpecialMuteModifyFormFields="MediaWiki\\Extension\\Notifications\\Hooks::onSpecialMuteModifyFormFields", RecentChange_save="main", ["ApiMain::moduleManager"]="main", ["SkinTemplateNavigation::Universal"]="main", PreferencesGetIcon="main", }, HookHandlers={ main={ class="MediaWiki\\Extension\\Notifications\\Hooks", services={ "MainConfig",}, }, }, config={ EchoEnableEmailBatch={ value=true, }, EchoUseJobQueue={ value=false, }, EchoEmailFooterAddress={ value="", }, EchoCluster={ value=false, }, EchoSharedTrackingDB={ value=false, }, EchoSharedTrackingCluster={ value=false, }, EchoSeenTimeCacheType={ value=nil, }, EchoMaxUpdateCount={ value=2000, }, EchoMaxMentionsCount={ value=50, }, EchoMentionStatusNotifications={ value=false, }, EchoMentionsOnMultipleSectionEdits={ value=true, }, EchoMentionOnChanges={ value=true, }, EchoBundleEmailInterval={ value=0, }, DefaultNotifyTypeAvailability={ value={ web=true, email=true, }, }, NotifyTypeAvailabilityByCategory={ value={ ["system-noemail"]={ web=true, email=false, }, ["system-emailonly"]={ web=false, email=true, }, emailuser={ web=true, email=false, }, ["article-linked"]={ web=true, email=false, }, ["mention-failure"]={ web=true, email=false, }, ["mention-success"]={ web=true, email=false, }, ["thank-you-edit"]={ web=true, email=false, }, }, merge_strategy="array_plus_2d", }, EchoNotifiers={ value={ web={ "EchoNotifier","notifyWithNotification",}, email={ "EchoNotifier","notifyWithEmail",}, }, }, EchoAgentBlacklist={ value={ }, }, EchoOnWikiBlacklist={ value="Echo-blacklist", }, EchoPerUserBlacklist={ value=false, }, EchoPerUserWhitelistFormat={ value="%s/Echo-whitelist", }, EchoCrossWikiNotifications={ value=false, }, EchoNotificationCategories={ value={ system={ priority=9, ["no-dismiss"]={ "all",}, }, ["system-noemail"]={ priority=9, ["no-dismiss"]={ "all",}, }, ["system-emailonly"]={ priority=9, ["no-dismiss"]={ "all",}, }, ["user-rights"]={ priority=9, tooltip="echo-pref-tooltip-user-rights", }, other={ ["no-dismiss"]={ "all",}, }, ["edit-user-talk"]={ priority=1, ["no-dismiss"]={ "web",}, tooltip="echo-pref-tooltip-edit-user-talk", }, reverted={ priority=9, tooltip="echo-pref-tooltip-reverted", }, ["article-linked"]={ priority=5, tooltip="echo-pref-tooltip-article-linked", }, mention={ priority=4, tooltip="echo-pref-tooltip-mention", }, ["mention-failure"]={ priority=4, tooltip="echo-pref-tooltip-mention-failure", }, ["mention-success"]={ priority=4, tooltip="echo-pref-tooltip-mention-success", }, emailuser={ priority=9, tooltip="echo-pref-tooltip-emailuser", }, ["article-reminder"]={ priority=1, tooltip="echo-pref-tooltip-article-reminder", }, ["thank-you-edit"]={ priority=9, tooltip="echo-pref-tooltip-thank-you-edit", }, watchlist={ priority=5, tooltip="echo-pref-tooltip-watchlist", }, ["minor-watchlist"]={ priority=6, tooltip="echo-pref-tooltip-minor-watchlist", }, }, merge_strategy="array_plus_2d", }, EchoNotificationIcons={ value={ ["watchlist-progressive"]={ path={ ltr="Echo/modules/icons/watchlist-ltr-progressive.svg", rtl="Echo/modules/icons/watchlist-rtl-progressive.svg", }, }, placeholder={ path="Echo/modules/icons/notice.svg", }, chat={ path={ ltr="Echo/modules/icons/speechBubbles-ltr-progressive.svg", rtl="Echo/modules/icons/speechBubbles-rtl-progressive.svg", }, }, edit={ path="Echo/modules/icons/edit-progressive.svg", }, ["edit-user-talk"]={ path="Echo/modules/icons/edit-user-talk-progressive.svg", }, linked={ path="Echo/modules/icons/link-progressive.svg", }, mention={ path="Echo/modules/icons/mention-progressive.svg", }, ["mention-failure"]={ path="Echo/modules/icons/mention-failure.svg", }, ["mention-success"]={ path="Echo/modules/icons/mention-success-constructive.svg", }, ["mention-status-bundle"]={ path="Echo/modules/icons/mention-status-bundle-progressive.svg", }, reviewed={ path="Echo/modules/icons/articleCheck-progressive.svg", }, revert={ path="Echo/modules/icons/revert.svg", }, ["user-rights"]={ path="Echo/modules/icons/user-rights-progressive.svg", }, emailuser={ path="Echo/modules/icons/message-constructive.svg", }, help={ path={ ltr="Echo/modules/icons/helpNotice-ltr.svg", rtl="Echo/modules/icons/helpNotice-rtl.svg", }, }, global={ path="Echo/modules/icons/global-progressive.svg", }, site={ url=false, }, ["article-reminder"]={ path="Echo/modules/icons/global-progressive.svg", }, }, merge_strategy="array_plus_2d", }, EchoSecondaryIcons={ value={ linked={ path="Echo/modules/icons/link-progressive.svg", }, changes={ path="Echo/modules/icons/changes.svg", }, thanks={ path={ ltr="Echo/modules/icons/userTalk-ltr.svg", rtl="Echo/modules/icons/userTalk-rtl.svg", }, }, unbell={ path="Echo/modules/icons/unbell.svg", }, userSpeechBubble={ path="Echo/modules/icons/user-speech-bubble.svg", }, }, merge_strategy="array_plus_2d", }, EchoNotifications={ value={ welcome={ ["user-locators"]={ "EchoUserLocator::locateEventAgent",}, canNotifyAgent=true, category="system-noemail", group="positive", section="message", ["presentation-model"]="MediaWiki\\Extension\\Notifications\\Formatters\\EchoWelcomePresentationModel", }, ["edit-user-talk"]={ ["presentation-model"]="MediaWiki\\Extension\\Notifications\\Formatters\\EchoEditUserTalkPresentationModel", ["user-locators"]={ "EchoUserLocator::locateTalkPageOwner",}, category="edit-user-talk", group="interactive", section="alert", bundle={ web=true, email=false, expandable=true, }, immediate=true, }, reverted={ ["presentation-model"]="MediaWiki\\Extension\\Notifications\\Formatters\\EchoRevertedPresentationModel", ["user-locators"]={ { "EchoUserLocator::locateFromEventExtra",{ "reverted-user-id",},},}, category="reverted", group="negative", section="alert", }, ["page-linked"]={ ["presentation-model"]="MediaWiki\\Extension\\Notifications\\Formatters\\EchoPageLinkedPresentationModel", ["user-locators"]={ "EchoUserLocator::locateArticleCreator",}, category="article-linked", group="neutral", section="message", bundle={ web=true, email=true, expandable=true, }, }, ["minor-watchlist-change"]={ ["user-locators"]={ "EchoUserLocator::locateUsersWatchingTitle",}, category="minor-watchlist", group="interactive", section="message", ["presentation-model"]="MediaWiki\\Extension\\Notifications\\Formatters\\EchoWatchlistChangePresentationModel", bundle={ web=true, email=true, expandable=true, }, }, ["watchlist-change"]={ ["user-locators"]={ "EchoUserLocator::locateUsersWatchingTitle",}, section="message", category="watchlist", group="interactive", ["presentation-model"]="MediaWiki\\Extension\\Notifications\\Formatters\\EchoWatchlistChangePresentationModel", bundle={ web=true, email=true, expandable=true, }, }, mention={ ["user-locators"]={ { "EchoUserLocator::locateFromEventExtra",{ "mentioned-users",},},}, category="mention", group="interactive", section="alert", ["presentation-model"]="MediaWiki\\Extension\\Notifications\\Formatters\\EchoMentionPresentationModel", }, ["mention-summary"]={ ["user-locators"]={ { "EchoUserLocator::locateFromEventExtra",{ "mentioned-users",},},}, category="mention", group="interactive", section="alert", ["presentation-model"]="MediaWiki\\Extension\\Notifications\\Formatters\\EchoMentionInSummaryPresentationModel", }, ["mention-failure"]={ ["user-locators"]={ { "EchoUserLocator::locateEventAgent",},}, canNotifyAgent=true, category="mention-failure", bundle={ web=true, expandable=true, }, group="negative", section="alert", ["presentation-model"]="MediaWiki\\Extension\\Notifications\\Formatters\\EchoMentionStatusPresentationModel", }, ["mention-failure-too-many"]={ ["user-locators"]={ { "EchoUserLocator::locateEventAgent",},}, canNotifyAgent=true, category="mention-failure", group="negative", section="alert", ["presentation-model"]="MediaWiki\\Extension\\Notifications\\Formatters\\EchoMentionStatusPresentationModel", }, ["mention-success"]={ ["user-locators"]={ { "EchoUserLocator::locateEventAgent",},}, canNotifyAgent=true, category="mention-success", bundle={ web=true, expandable=true, }, group="positive", section="message", ["presentation-model"]="MediaWiki\\Extension\\Notifications\\Formatters\\EchoMentionStatusPresentationModel", }, ["user-rights"]={ ["user-locators"]={ { "EchoUserLocator::locateFromEventExtra",{ "user",},},}, category="user-rights", group="neutral", section="alert", ["presentation-model"]="MediaWiki\\Extension\\Notifications\\Formatters\\EchoUserRightsPresentationModel", }, emailuser={ ["presentation-model"]="MediaWiki\\Extension\\Notifications\\Formatters\\EchoEmailUserPresentationModel", ["user-locators"]={ { "EchoUserLocator::locateFromEventExtra",{ "to-user-id",},},}, category="emailuser", group="neutral", section="alert", }, foreign={ ["presentation-model"]="MediaWiki\\Extension\\Notifications\\Formatters\\EchoForeignPresentationModel", ["user-locators"]={ "EchoUserLocator::locateEventAgent",}, category="foreign", group="positive", section="alert", }, ["thank-you-edit"]={ ["user-locators"]={ "EchoUserLocator::locateEventAgent",}, canNotifyAgent=true, category="thank-you-edit", group="positive", ["presentation-model"]="MediaWiki\\Extension\\Notifications\\Formatters\\EchoEditThresholdPresentationModel", section="message", }, ["article-reminder"]={ ["user-locators"]={ "EchoUserLocator::locateEventAgent",}, canNotifyAgent=true, category="article-reminder", group="positive", ["presentation-model"]="MediaWiki\\Extension\\Notifications\\Formatters\\EchoArticleReminderPresentationModel", section="message", }, }, merge_strategy="array_plus_2d", }, EchoCacheVersion={ value="1.12", }, EchoEventLoggingVersion={ value="1.12", }, EchoEventLoggingSchemas={ value={ Echo={ enabled=false, }, EchoMail={ enabled=false, }, EchoInteraction={ enabled=false, }, }, merge_strategy="array_plus_2d", }, AllowArticleReminderNotification={ value=false, description="This is a feature flag to the Article Reminder notification", }, EchoMaxMentionsInEditSummary={ value=0, description="Maximum nubmer of users that will be notified that they were linked from an edit summary or 0 for no notifications", }, EchoPollForUpdates={ value=0, description="This is the polling rate i.e. the time after which we check for notifications count on the client side. It also controls whether notification count will be displayed in browser title. If polling rate is 0 this means polling is disabled and notification count is also not shown in browser title", }, EchoWatchlistNotifications={ value=false, description="Feature flag to enable Echo notifications whenever a page on a user's watchlist is changed, replacing the built-in preference to send emails in that circumstance.", }, EchoWatchlistEmailOncePerPage={ value=true, description="Whether to send email notifications each time a watched page is edited (if false) or only the first time the page is changed before being visited again by the user (if true)", }, EchoEnablePush={ value=false, description="Whether to enable push notifications", }, EchoPushServiceBaseUrl={ value=false, description="Request endpoint URL for the push notification service", }, EchoPushMaxSubscriptionsPerUser={ value=0, description="Maximum number of push subscriptions that may be stored in the DB at any given time for a single central user ID.", }, }, attributes={ EventLogging={ Schemas={ EchoInteraction="/analytics/legacy/echointeraction/1.0.0", EchoMail="/analytics/legacy/echomail/1.0.0", }, }, }, ServiceWiringFiles={ "ServiceWiring.php",}, ConfigRegistry={ Echo="GlobalVarConfig::newInstance", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Echo", }, EditAccount={ name="EditAccount", version="1.3.4", author={ "Łukasz Garczewski","Jack Phoenix","WikiTeq",}, url="https://www.mediawiki.org/wiki/Extension:EditAccount", descriptionmsg="editaccount-desc", type="specialpage", requires={ MediaWiki=">= 1.35.3", }, ["license-name"]="GPL-2.0-or-later", GroupPermissions={ ["*"]={ editaccount=false, }, staff={ editaccount=true, }, }, AvailableRights={ "editaccount",}, SpecialPages={ CloseAccount={ class="CloseAccount", services={ "UserGroupManager","UserNameUtils",}, }, EditAccount={ class="EditAccount", services={ "PasswordFactory","UserNameUtils","UserOptionsManager","MainWANObjectCache",}, }, }, LogTypes={ "editaccnt",}, LogRestrictions={ editaccnt="editaccount", }, LogActionsHandlers={ ["editaccnt/*"]="LogFormatter", }, ExtensionMessagesFiles={ EditAccountAliases="EditAccount.alias.php", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/EditAccount", }, EditNotify={ name="EditNotify", version="1.0.0", author={ "Abhinand",}, url="https://www.mediawiki.org/wiki/Extension:EditNotify", descriptionmsg="editnotify-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.35.0", }, config={ EditNotifyEnableFoo=true, EditNotifyAlerts={ }, }, ExtensionMessagesFiles={ EditNotifyAlias="EditNotify.i18n.alias.php", }, Hooks={ BeforeCreateEchoEvent="EditNotifyHooks::onBeforeCreateEchoEvent", EchoGetDefaultNotifiedUsers="EditNotifyHooks::onEchoGetDefaultNotifiedUsers", PageContentSave="EditNotifyHooks::onPageContentSave", PageSaveComplete="EditNotifyHooks::onPageSaveComplete", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/EditNotify", }, EditSimilar={ name="EditSimilar", version="1.27", author={ "Bartek Łapiński","Łukasz Garczewski",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:EditSimilar", descriptionmsg="editsimilar-desc", type="other", requires={ MediaWiki=">= 1.35.0", }, config={ EditSimilarMaxResultsPool={ description="The maximum pool of results to choose randomly from", value=50, }, EditSimilarMaxResultsToDisplay={ description="Maximum number of chosen results to display", value=3, }, EditSimilarCounterValue={ description="Specifies per which number of edits show the results' message (defaults to 1, which means that every time results are found the message is shown)", value=1, }, EditSimilarAlwaysShowThanks={ description="Whether to thank for an edit even on no results", value=false, }, }, Hooks={ OutputPageBeforeHTML="EditSimilarHooks::onOutputPageBeforeHTML", PageSaveComplete="EditSimilarHooks::onPageSaveComplete", GetPreferences="EditSimilarHooks::onGetPreferences", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/EditSimilar", }, EditSubpages={ name="EditSubpages", version="3.5.0", author={ "Ryan Schmidt ","Prod ",}, ["license-name"]="GPL-2.0-only", url="https://www.mediawiki.org/wiki/Extension:EditSubpages", descriptionmsg="editsubpages-desc", type="other", requires={ MediaWiki=">= 1.34.0", }, config={ EditSubpagesDefaultFlags="+scte-buinrw", }, Hooks={ getUserPermissionsErrors="ExtEditSubpages::editSubpages", }, GroupPermissions={ ["*"]={ edit=true, createpage=true, createtalk=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/EditSubpages", }, EditUser={ name="EditUser", namemsg="edituser-extensionname", version="1.9.0", author={ "Ryan Schmidt","Paladox",}, requires={ MediaWiki=">= 1.32.0", }, url="https://www.mediawiki.org/wiki/Extension:EditUser", descriptionmsg="edituser-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", GroupPermissions={ bureaucrat={ edituser=true, }, sysop={ ["edituser-exempt"]=true, }, }, AvailableRights={ "edituser","edituser-exempt",}, ExtensionMessagesFiles={ EditUserAliases="EditUser.alias.php", }, SpecialPages={ EditUser="EditUser", }, config={ }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/EditUser", }, Editcount={ name="Editcount", author="Ævar Arnfjörð Bjarmason", url="https://www.mediawiki.org/wiki/Extension:Editcount", descriptionmsg="editcount-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.32.0", }, SpecialPages={ Editcount="Editcount", }, ExtensionMessagesFiles={ EditcountAliases="Editcount.alias.php", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Editcount", }, EditcountAdditions={ name="EditcountAdditions", version="0.4", author={ "Jack Phoenix",}, ["license-name"]="CC0-1.0", url="https://www.mediawiki.org/wiki/Extension:EditcountAdditions", descriptionmsg="editcountadditions-desc", type="other", requires={ MediaWiki=">= 1.35.0", }, Hooks={ GetPreferences="EditcountAdditions::onGetPreferences", PageSaveComplete="EditcountAdditions::onPageSaveComplete", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/EditcountAdditions", }, Education_Program={ name="Education Program", version="0.5.0 alpha", author={ "Jeroen De Dauw",}, url="https://www.mediawiki.org/wiki/Extension:Education_Program", descriptionmsg="educationprogram-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.31.0", }, callback="EducationProgram\\Hooks::registerExtension", namespaces={ { id=446, constant="EP_NS", name="Education_Program", },{ id=447, constant="EP_NS_TALK", name="Educaton_Program_talk", subpages=true, },}, Actions={ epremarticle="EducationProgram\\RemoveArticleAction", epremstudent="EducationProgram\\RemoveStudentAction", epremreviewer="EducationProgram\\RemoveReviewerAction", epaddarticle="EducationProgram\\AddArticleAction", epaddreviewer="EducationProgram\\AddReviewerAction", epundo="EducationProgram\\UndoAction", eprestore="EducationProgram\\RestoreAction", epcompare="EducationProgram\\CompareAction", epundelete="EducationProgram\\UndeleteAction", epcourseactivity="EducationProgram\\ViewCourseActivityAction", }, AddGroups={ epcoordinator={ "eponline","epcampus","epinstructor",}, sysop={ "eponline","epcampus","epinstructor","epcoordinator",}, }, APIModules={ deleteeducation="EducationProgram\\ApiDeleteEducation", enlist="EducationProgram\\ApiEnlist", refresheducation="EducationProgram\\ApiRefreshEducation", addstudents="EducationProgram\\ApiAddStudents", liststudents="EducationProgram\\ApiListStudents", }, AvailableRights={ "ep-org","ep-course","ep-token","ep-enroll","ep-remstudent","ep-online","ep-campus","ep-instructor","ep-beonline","ep-becampus","ep-beinstructor","ep-bereviewer","ep-remreviewer","ep-bulkdelorgs","ep-bulkdelcourses","ep-remarticle","ep-addstudent",}, DefaultUserOptions={ ep_showtoplink=false, ep_bulkdelorgs=false, ep_bulkdelcourses=true, ep_showdyk=true, ["echo-subscriptions-web-education-program"]=true, ["echo-subscriptions-email-education-program"]=false, }, GroupPermissions={ ["*"]={ ["ep-enroll"]=false, ["ep-org"]=false, ["ep-course"]=false, ["ep-token"]=false, ["ep-remstudent"]=false, ["ep-online"]=false, ["ep-campus"]=false, ["ep-instructor"]=false, ["ep-beonline"]=false, ["ep-becampus"]=false, ["ep-beinstructor"]=false, ["ep-bereviewer"]=true, ["ep-remreviewer"]=false, ["ep-bulkdelorgs"]=false, ["ep-bulkdelcourses"]=false, ["ep-remarticle"]=false, ["ep-addstudent"]=false, }, user={ ["ep-enroll"]=true, }, sysop={ ["ep-org"]=true, ["ep-course"]=true, ["ep-token"]=true, ["ep-enroll"]=true, ["ep-remstudent"]=true, ["ep-online"]=true, ["ep-campus"]=true, ["ep-instructor"]=true, ["ep-beonline"]=true, ["ep-becampus"]=true, ["ep-beinstructor"]=true, ["ep-bereviewer"]=true, ["ep-remreviewer"]=true, ["ep-bulkdelorgs"]=true, ["ep-bulkdelcourses"]=true, ["ep-remarticle"]=true, ["ep-addstudent"]=true, }, epcoordinator={ ["ep-org"]=true, ["ep-course"]=true, ["ep-token"]=true, ["ep-enroll"]=true, ["ep-remstudent"]=true, ["ep-campus"]=true, ["ep-online"]=true, ["ep-instructor"]=true, ["ep-beonline"]=true, ["ep-becampus"]=true, ["ep-beinstructor"]=true, ["ep-bereviewer"]=true, ["ep-remreviewer"]=true, ["ep-bulkdelcourses"]=true, ["ep-remarticle"]=true, ["ep-addstudent"]=true, userrights=false, }, eponline={ ["ep-org"]=true, ["ep-course"]=true, ["ep-token"]=true, ["ep-beonline"]=true, ["ep-remarticle"]=true, }, epcampus={ ["ep-org"]=true, ["ep-course"]=true, ["ep-token"]=true, ["ep-becampus"]=true, ["ep-remarticle"]=true, }, epinstructor={ ["ep-org"]=true, ["ep-course"]=true, ["ep-token"]=true, ["ep-beinstructor"]=true, ["ep-remstudent"]=true, ["ep-remarticle"]=true, }, }, JobClasses={ educationProgramUserMergeArticleReviewers="EducationProgram\\UserMergeArticleReviewersJob", }, LogActionsHandlers={ ["institution/*"]="EducationProgram\\LogFormatter", ["course/*"]="EducationProgram\\LogFormatter", ["student/*"]="EducationProgram\\LogFormatter", ["student/add"]="EducationProgram\\RoleChangeFormatter", ["student/remove"]="EducationProgram\\RoleChangeFormatter", ["online/*"]="EducationProgram\\LogFormatter", ["online/add"]="EducationProgram\\RoleChangeFormatter", ["online/remove"]="EducationProgram\\RoleChangeFormatter", ["campus/*"]="EducationProgram\\LogFormatter", ["campus/add"]="EducationProgram\\RoleChangeFormatter", ["campus/remove"]="EducationProgram\\RoleChangeFormatter", ["instructor/*"]="EducationProgram\\LogFormatter", ["instructor/add"]="EducationProgram\\RoleChangeFormatter", ["instructor/remove"]="EducationProgram\\RoleChangeFormatter", ["eparticle/*"]="EducationProgram\\ArticleFormatter", }, LogTypes={ "institution","course","student","online","campus","instructor",}, RemoveGroups={ epcoordinator={ "eponline","epcampus","epinstructor",}, sysop={ "eponline","epcampus","epinstructor","epcoordinator",}, }, SpecialPages={ CampusAmbassadorProfile="EducationProgram\\SpecialCAProfile", CampusAmbassadors="EducationProgram\\SpecialCAs", CourseActivity="EducationProgram\\SpecialCourseActivity", Courses="EducationProgram\\SpecialCourses", Enroll="EducationProgram\\SpecialEnroll", Disenroll="EducationProgram\\SpecialDisenroll", MyCourses="EducationProgram\\SpecialMyCourses", Institutions="EducationProgram\\SpecialInstitutions", OnlineAmbassadors="EducationProgram\\SpecialOAs", OnlineAmbassadorProfile="EducationProgram\\SpecialOAProfile", StudentActivity="EducationProgram\\SpecialStudentActivity", Students="EducationProgram\\SpecialStudents", ManageCourses="EducationProgram\\SpecialManageCourses", }, ExtensionMessagesFiles={ EducationProgramAlias="EducationProgram.i18n.alias.php", EPNamespaces="EducationProgram.i18n.ns.php", }, Hooks={ LoadExtensionSchemaUpdates="EducationProgram\\Hooks::onSchemaUpdate", PersonalUrls="EducationProgram\\Hooks::onPersonalUrls", GetPreferences="EducationProgram\\Hooks::onGetPreferences", SkinTemplateNavigation="EducationProgram\\Hooks::onPageTabs", ["SkinTemplateNavigation::SpecialPage"]="EducationProgram\\Hooks::onSpecialPageTabs", ArticleFromTitle="EducationProgram\\Hooks::onArticleFromTitle", CanonicalNamespaces="EducationProgram\\Hooks::onCanonicalNamespaces", TitleIsAlwaysKnown="EducationProgram\\Hooks::onTitleIsAlwaysKnown", MovePageIsValidMove="EducationProgram\\Hooks::onMovePageIsValidMove", AbortMove="EducationProgram\\Hooks::onAbortMove", NewRevisionFromEditComplete="EducationProgram\\Hooks::onNewRevisionFromEditComplete", NamespaceIsMovable="EducationProgram\\Hooks::onNamespaceIsMovable", SpecialContributionsBeforeMainOutput="EducationProgram\\Hooks::onSpecialContributionsBeforeMainOutput", BeforeCreateEchoEvent="EducationProgram\\Hooks::onBeforeCreateEchoEvent", EchoGetDefaultNotifiedUsers="EducationProgram\\Hooks::onEchoGetDefaultNotifiedUsers", PageContentSaveComplete="EducationProgram\\Hooks::onPageContentSaveComplete", SetupAfterCache="EducationProgram\\Hooks::onSetupAfterCache", UserMergeAccountFields="EducationProgram\\Hooks::onUserMergeAccountFields", UserMergeAccountDeleteTables="EducationProgram\\Hooks::onUserMergeAccountDeleteTables", MergeAccountFromTo="EducationProgram\\Hooks::onMergeAccountFromTo", ResourceLoaderRegisterModules="EducationProgram\\Hooks::onResourceLoaderRegisterModules", TitleExists="EducationProgram\\Hooks::onTitleExists", }, config={ EPSettings={ value={ enableTopLink=true, ambassadorPictureDomains={ "wikimedia.org",}, ambassadorCommonsUrl="https://commons.wikimedia.org/wiki/Special:UploadWizard", citylessCountries={ "BT","BV","IO","VG","TD","CX","CC","KM","DJ","GQ","FK","FX","TF","GW","HM","KI","YT","MS","NR","NU","NF","PN","SH","PM","WS","SC","GS","SJ","TK","TP","TV","UM","VU","EH",}, ambassadorImgWidth=140, ambassadorImgHeight=140, recentActivityLimit=86400, flagWidth=25, flagHeight=25, countryFlags={ US="Flag of the United States.svg", BR="Flag of Brazil.svg", CA="Flag of Canada.svg", IN="Flag of India.svg", EG="Flag of Egypt.svg", IT="Flag of Italy.svg", MK="Flag of Macedonia.svg", MX="Flag of Mexico.svg", RU="Flag of Russia.svg", UK="Flag of the United Kingdom.svg", DE="Flag of Germany.svg", NZ="Flag of New Zealand.svg", CZ="Flag of the Czech Republic.svg", }, fallbackFlag="Nuvola unknown flag.svg", courseDescPage="MediaWiki:Course description", courseOrgDescPage="$2/$1", useStudentRealNames=false, timelineDurationLimit=432000, timelineCountLimit=200, timelineUserLimit=3, dykCategory="MyCourses Did You Know", dykOrgCategory="$2/$1", timelineMessageLengthLimit=250, requireRealName=false, collectRealName=false, enablePageCache=true, courseHeaderPage="MediaWiki:Course header", courseHeaderPageCountry="$2/$1", activityTabMaxAgeInSeconds=604800, maxCoursesInUserRolesMessage=3, }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/EducationProgram", }, Elastica={ name="Elastica", version="6.2.0", author={ "Nik Everett","Chad Horohoe",}, url="https://www.mediawiki.org/wiki/Extension:Elastica", descriptionmsg="elastica-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.34", platform={ ["ext-curl"]="*", }, }, composer="mediawiki/elastica", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Elastica", }, ElectronPdfService={ name="ElectronPdfService", author={ "Wikimedia Deutschland Technical Wishes Team","Tobias Gritschacher","Addshore","Christoph Jauera",}, url="https://www.mediawiki.org/wiki/Extension:ElectronPdfService", descriptionmsg="electronpdfservice-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.38.0", }, config={ ElectronPdfServiceRESTbaseURL={ value="/api/rest_v1/page/pdf/", }, }, ExtensionMessagesFiles={ ElectronPdfServiceAlias="ElectronPdfService.i18n.alias.php", }, Hooks={ SidebarBeforeOutput="MediaWiki\\Extension\\ElectronPdfService\\Hooks::onSidebarBeforeOutput", BeforePageDisplay="MediaWiki\\Extension\\ElectronPdfService\\Hooks::onBeforePageDisplay", }, SpecialPages={ DownloadAsPdf="MediaWiki\\Extension\\ElectronPdfService\\Specials\\SpecialDownloadAsPdf", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ElectronPdfService", }, EmailAuth={ name="EmailAuth", version="0.1.0", author={ "Tisza Gergő",}, url="https://www.mediawiki.org/wiki/Extension:EmailAuth", descriptionmsg="emailauth-desc", ["license-name"]="GPL-2.0-or-later", type="access", requires={ MediaWiki=">= 1.31.0", }, Hooks={ AuthChangeFormFields="MediaWiki\\Extension\\EmailAuth\\Hooks::onAuthChangeFormFields", }, AuthManagerAutoConfig={ secondaryauth={ ["MediaWiki\\Extension\\EmailAuth\\EmailAuthSecondaryAuthenticationProvider"]={ class="MediaWiki\\Extension\\EmailAuth\\EmailAuthSecondaryAuthenticationProvider", sort=50, }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/EmailAuth", }, Email_Authorization={ name="Email Authorization", version="3.0", author={ "Cindy Cicalese","Mint Thompson",}, url="https://www.mediawiki.org/wiki/Extension:Email_Authorization", descriptionmsg="emailauthorization-desc", ["license-name"]="MIT", requires={ MediaWiki=">= 1.35.3", extensions={ PluggableAuth="*", }, }, type="other", ServiceWiringFiles={ "includes/ServiceWiring.php",}, SpecialPages={ EmailAuthorizationConfig={ class="MediaWiki\\Extension\\EmailAuthorization\\EmailAuthorizationConfig", services={ "EmailAuthorizationStore",}, }, EmailAuthorizationRequest={ class="MediaWiki\\Extension\\EmailAuthorization\\EmailAuthorizationRequest", services={ "EmailAuthorizationStore","MainConfig",}, }, EmailAuthorizationApprove={ class="MediaWiki\\Extension\\EmailAuthorization\\EmailAuthorizationApprove", services={ "EmailAuthorizationStore",}, }, }, ExtensionMessagesFiles={ EmailAuthorizationAlias="includes/EmailAuthorization.alias.php", }, APIModules={ ["emailauthorization-getall"]={ class="MediaWiki\\Extension\\EmailAuthorization\\ApiEmailAuthorizationUsers", services={ "EmailAuthorizationStore","EmailAuthorizationService","ParserFactory","UserFactory",}, }, ["emailauthorization-getauthorized"]={ class="MediaWiki\\Extension\\EmailAuthorization\\ApiEmailAuthorizationAuthorized", services={ "EmailAuthorizationStore","ParserFactory",}, }, }, HookHandlers={ schema={ class="MediaWiki\\Extension\\EmailAuthorization\\SchemaHooks", }, main={ class="MediaWiki\\Extension\\EmailAuthorization\\MainHooks", services={ "MainConfig","EmailAuthorizationService","UserFactory",}, }, }, Hooks={ LoadExtensionSchemaUpdates="schema", SpecialPage_initList="main", PluggableAuthUserAuthorization="main", BeforeCreateEchoEvent="MediaWiki\\Extension\\EmailAuthorization\\LegacyHooks::onBeforeCreateEchoEvent", }, config={ EmailAuthorization_EnableRequests={ value=false, }, EmailAuthorization_RequestFields={ value={ }, }, EmailAuthorization_AuthorizedGroups={ value={ }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/EmailAuthorization", }, EmailCapture={ name="EmailCapture", version="0.5.0", author="Trevor Parscal", url="https://www.mediawiki.org/wiki/Extension:EmailCapture", descriptionmsg="emailcapture-desc", type="other", requires={ MediaWiki=">= 1.29.0", }, APIModules={ emailcapture="ApiEmailCapture", }, SpecialPages={ EmailCapture="SpecialEmailCapture", }, ExtensionMessagesFiles={ EmailCaptureAlias="EmailCapture.alias.php", }, Hooks={ LoadExtensionSchemaUpdates="EmailCaptureHooks::loadExtensionSchemaUpdates", ParserTestTables="EmailCaptureHooks::parserTestTables", }, config={ EmailCaptureSendAutoResponse={ value=true, }, EmailCaptureAutoResponse={ value={ from=nil, ["from-name"]=nil, ["subject-msg"]="emailcapture-response-subject", ["body-msg"]="emailcapture-response-body", ["reply-to"]=nil, ["content-type"]=nil, }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/EmailCapture", }, EmailDiff={ name="EmailDiff", type="other", author={ "Greg Sabino Mullane",}, version="1.8", url="https://www.mediawiki.org/wiki/Extension:EmailDiff", descriptionmsg="emaildiff-desc", ["license-name"]="MIT", requires={ MediaWiki=">= 1.35.0", }, Hooks={ SendNotificationEmail="EmailDiff::SendNotificationEmailDiff", GetPreferences="EmailDiff::SetEmailDiffPref", }, config={ EmailDiffCommand="/usr/bin/diff -u OLDFILE NEWFILE | /usr/bin/tail --lines=+3 > DIFFFILE", EmailDiffSubjectSuffix=" (diff)", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/EmailDiff", }, EncryptedUploads={ name="EncryptedUploads", version="0.0.2", author={ "Alexey",}, url="https://www.mediawiki.org/wiki/Extension:EncryptedUploads", descriptionmsg="encrypteduploads-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.35.0", }, config={ EncryptedUploadsSendMail=false, EncryptedUploadsSMWBasedRestrictionsEnabled=false, EncryptedUploadsSMWFilePropertyName="", EncryptedUploadsSMWFilePropertyNameDeep=false, EncryptedUploadsSMWTargetPropertiesNames={ }, }, Hooks={ UploadComplete={ "EncryptedUploads\\EncryptedUploadsHooks::onUploadComplete",}, ["UploadForm:initial"]={ "EncryptedUploads\\EncryptedUploadsHooks::onUploadFormInitial",}, ["UploadForm:BeforeProcessing"]={ "EncryptedUploads\\EncryptedUploadsHooks::onUploadFormBeforeProcessing",}, LoadExtensionSchemaUpdates={ "EncryptedUploads\\EncryptedUploadsHooks::onLoadExtensionSchemaUpdates",}, ArticleDeleteComplete={ "EncryptedUploads\\EncryptedUploadsHooks::onArticleDeleteComplete",}, FileUpload={ "EncryptedUploads\\EncryptedUploadsHooks::onFileUpload",}, ImageOpenShowImageInlineBefore={ "EncryptedUploads\\EncryptedUploadsHooks::onImageOpenShowImageInlineBefore",}, APIAfterExecute={ "EncryptedUploads\\EncryptedUploadsHooks::onAPIAfterExecute",}, BeforePageDisplay={ "EncryptedUploads\\EncryptedUploadsHooks::onBeforePageDisplay",}, ParserFirstCallInit={ "EncryptedUploads\\EncryptedUploadsHooks::onParserFirstCallInit",}, }, ExtensionMessagesFiles={ EncryptedUploadsMagic="EncryptedUploads.i18n.magic.php", }, Actions={ decrypt="EncryptedUploads\\EncryptedActionDecrypt", }, AvailableRights={ "read-encrypted-files",}, GroupPermissions={ sysop={ ["read-encrypted-files"]=true, }, }, composer="wikiworks/encrypted-uploads", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/EncryptedUploads", }, EnhancedUpload={ name="EnhancedUpload", version="1.2-alpha", ["license-name"]="GPL-3.0-only", author={ "Hallo Welt! GmbH","Miriam Schlindwein","Patric Wirth",}, url="http://www.hallowelt.com", descriptionmsg="enhancedupload-desc", requires={ MediaWiki=">= 1.35.0", extensions={ OOJSPlus="*", VisualEditor="*", }, }, callback="mwsInitComponents", ServiceWiringFiles={ "includes/ServiceWiring.php",}, attributes={ EnhancedUpload={ UploadFormPluginModules={ }, }, VisualEditor={ PluginModules={ "ext.enhancedUpload.attachments.visualEditor",}, }, ContentDroplets={ Droplets={ attachment={ class="\\MediaWiki\\Extension\\EnhancedUpload\\ContentDroplets\\AttachmentDroplet", }, }, }, }, ExtensionMessagesFiles={ EnhancedUploadAlias="languages/EnhancedUpload.i18n.alias.php", }, SpecialPages={ EnhancedUpload="MediaWiki\\Extension\\EnhancedUpload\\Special\\EnhancedUpload", }, Hooks={ ParserFirstCallInit="tag", BeforePageDisplay="addModules", BlueSpiceDiscoveryTemplateDataProviderAfterInit="discovery-skin", ["SkinTemplateNavigation::Universal"]="addContentActions", SpecialPage_initList="special-upload", BSInsertMagicAjaxGetData="MediaWiki\\Extension\\EnhancedUpload\\Hook\\BSInsertMagicAjaxGetData\\AddAttachmentTag::callback", }, HookHandlers={ tag={ class="\\MediaWiki\\Extension\\EnhancedUpload\\HookHandler\\Tag", services={ "TitleFactory",}, }, addModules={ class="MediaWiki\\Extension\\EnhancedUpload\\Hook\\BeforePageDisplay\\AddModules", }, ["discovery-skin"]={ class="MediaWiki\\Extension\\EnhancedUpload\\HookHandler\\DiscoverySkin", }, addContentActions={ class="MediaWiki\\Extension\\EnhancedUpload\\HookHandler\\AddContentActions", services={ "PermissionManager",}, }, ["special-upload"]={ class="MediaWiki\\Extension\\EnhancedUpload\\Hook\\SpecialPage_initList\\OverwriteSpecialUpload", }, }, RestRoutes={ { path="/enhancedupload/addattachments/{pageId}/{counter}", method="PUT", class="\\MediaWiki\\Extension\\EnhancedUpload\\Rest\\SetAttachments", services={ "EnhancedUploadAttachmentTagModifier","TitleFactory","PermissionManager",}, },{ path="/enhancedupload/removeattachments/{pageId}/{counter}", method="PUT", class="\\MediaWiki\\Extension\\EnhancedUpload\\Rest\\RemoveAttachments", services={ "EnhancedUploadAttachmentTagModifier","TitleFactory","PermissionManager",}, },}, QUnitTestModule={ localBasePath="", remoteExtPath="EnhancedUpload", scripts={ "tests/qunit/ext.enhancedUpload.paramsProcessor.test.js",}, dependencies={ "ext.enhancedUpload.paramsProcessor",}, }, config={ EnhancedUploadOverrideStandardUpload={ value=false, }, }, composer="mediawiki/enhanced-upload", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/EnhancedUpload", }, EntitySchema={ name="EntitySchema", author={ "The Wikidata team",}, url="https://www.mediawiki.org/wiki/Extension:EntitySchema", descriptionmsg="entityschema-desc", ["license-name"]="GPL-2.0-or-later", type="wikibase", requires={ MediaWiki=">= 1.37.0", }, ExtensionMessagesFiles={ EntitySchemaAlias="EntitySchema.i18n.alias.php", }, Hooks={ ["SkinTemplateNavigation::Universal"]="EntitySchema\\MediaWiki\\EntitySchemaHooks::onSkinTemplateNavigationUniversal", LoadExtensionSchemaUpdates="EntitySchema\\MediaWiki\\EntitySchemaHooks::onCreateDBSchema", ExtensionTypes="EntitySchema\\MediaWiki\\EntitySchemaHooks::onExtensionTypes", BeforeDisplayNoArticleText="\\EntitySchema\\MediaWiki\\EntitySchemaHooks::onBeforeDisplayNoArticleText", PageHistoryLineEnding="\\EntitySchema\\MediaWiki\\EntitySchemaHooks::onPageHistoryLineEnding", FormatAutocomments="\\EntitySchema\\MediaWiki\\EntitySchemaHooks::onFormatAutocomments", ContentModelCanBeUsedOn="\\EntitySchema\\MediaWiki\\EntitySchemaHooks::onContentModelCanBeUsedOn", ImportHandleRevisionXMLTag="\\EntitySchema\\MediaWiki\\EntitySchemaHooks::onImportHandleRevisionXMLTag", TitleGetRestrictionTypes="\\EntitySchema\\MediaWiki\\EntitySchemaHooks::onTitleGetRestrictionTypes", }, ContentHandlers={ EntitySchema="EntitySchema\\MediaWiki\\Content\\EntitySchemaContentHandler", }, namespaces={ { id=640, constant="NS_ENTITYSCHEMA_JSON", name="EntitySchema", subpages=false, content=true, defaultcontentmodel="EntitySchema", movable=false, },{ id=641, constant="NS_ENTITYSCHEMA_JSON_TALK", name="EntitySchema_talk", subpages=true, content=false, defaultcontentmodel="wikitext", },}, config={ EntitySchemaSchemaTextMaxSizeBytes={ value=50000, description="Max length of the Schema text in bytes", public=true, }, EntitySchemaNameBadgeMaxSizeChars={ value=250, description="Max length of the label description or combined aliases in characters", public=true, }, EntitySchemaShExSimpleUrl={ value=nil, description="The URL for a shex-simple installation. Users are sent here to check entities against schema, with a schemaURL=… url query parameter appended to the URL specifying a URL for the schema text.", public=true, }, EntitySchemaSkippedIDs={ value={ }, description="A list of integers to skip when generating new IDs. These must be pure integer numbers, _not_ strings starting with an E!", public=true, }, }, SpecialPages={ NewEntitySchema="EntitySchema\\MediaWiki\\Specials\\NewEntitySchema", EntitySchemaText="EntitySchema\\MediaWiki\\Specials\\EntitySchemaText", SetEntitySchemaLabelDescriptionAliases="EntitySchema\\MediaWiki\\Specials\\SetEntitySchemaLabelDescriptionAliases", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/EntitySchema", }, EtherpadLite={ name="EtherpadLite", version="1.14.0 20140331", author={ "Thomas Gries",}, url="https://www.mediawiki.org/wiki/Extension:EtherpadLite", descriptionmsg="etherpadlite-desc", type="parserhook", ["license-name"]="MIT AND GPL-2.0-only", requires={ MediaWiki=">= 1.34.0", }, TrackingCategories={ "etherpadlite-tracking-category",}, Hooks={ ParserFirstCallInit="EtherpadLite::EtherpadLiteParserInit", }, config={ EtherpadLiteDefaultPadUrl={ value="http://beta.etherpad.org/p/", }, EtherpadLiteDefaultWidth={ value="300px", }, EtherpadLiteDefaultHeight={ value="200px", }, EtherpadLiteMonospacedFont={ value=false, }, EtherpadLiteShowControls={ value=true, }, EtherpadLiteShowLineNumbers={ value=true, }, EtherpadLiteShowChat={ value=true, }, EtherpadLiteShowAuthorColors={ value=true, }, EtherpadLiteUrlWhitelist={ value={ }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/EtherpadLite", }, EventBus={ name="EventBus", version="0.5.0", author={ "Eric Evans","Petr Pchelko","Marko Obrovac",}, url="https://www.mediawiki.org/wiki/Extension:EventBus", descriptionmsg="eventbus-desc", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.38.0", }, config={ EnableEventBus={ value="TYPE_NONE", }, EventServices={ value={ eventbus={ url="http://localhost:3000/v1/events", timeout=5, }, eventgate={ url="http://localhost:8192/v1/events", timeout=5, }, }, }, EventBusEnableRunJobAPI={ value=true, }, EventServiceDefault={ value="eventbus", }, EventBusMaxBatchByteSize={ value=4194304, }, EventBusStreamNamesMap={ value={ mediawiki_page_change="mediawiki.page_change", }, }, }, HookHandlers={ mediawiki_page_change={ class="MediaWiki\\Extension\\EventBus\\HookHandlers\\MediaWiki\\PageChangeHooks", services={ "EventBus.EventBusFactory","MainConfig","GlobalIdGenerator","UserGroupManager","TitleFormatter","CommentFormatter","WikiPageFactory","UserFactory","RevisionStore","ContentHandlerFactory",}, }, }, Hooks={ PageSaveComplete={ "MediaWiki\\Extension\\EventBus\\EventBusHooks::onPageSaveComplete","mediawiki_page_change",}, PageMoveComplete={ "MediaWiki\\Extension\\EventBus\\EventBusHooks::onPageMoveComplete","mediawiki_page_change",}, ArticleDeleteComplete="MediaWiki\\Extension\\EventBus\\EventBusHooks::onArticleDeleteComplete", PageDeleteComplete={ "mediawiki_page_change",}, ArticleUndelete={ "mediawiki_page_change",}, ArticleRevisionVisibilitySet={ "MediaWiki\\Extension\\EventBus\\EventBusHooks::onArticleRevisionVisibilitySet","mediawiki_page_change",}, ArticlePurge="MediaWiki\\Extension\\EventBus\\EventBusHooks::onArticlePurge", BlockIpComplete="MediaWiki\\Extension\\EventBus\\EventBusHooks::onBlockIpComplete", LinksUpdateComplete="MediaWiki\\Extension\\EventBus\\EventBusHooks::onLinksUpdateComplete", ArticleProtectComplete="MediaWiki\\Extension\\EventBus\\EventBusHooks::onArticleProtectComplete", ChangeTagsAfterUpdateTags="MediaWiki\\Extension\\EventBus\\EventBusHooks::onChangeTagsAfterUpdateTags", CentralNoticeCampaignChange="MediaWiki\\Extension\\EventBus\\EventBusHooks::onCentralNoticeCampaignChange", RevisionRecordInserted="MediaWiki\\Extension\\EventBus\\EventBusHooks::onRevisionRecordInserted", }, RestRoutes={ { path="/eventbus/v0/internal/job/execute", method="POST", class="MediaWiki\\Extension\\EventBus\\Rest\\RunSingleJobHandler", services={ "ReadOnlyMode","MainConfig","JobRunner",}, },}, ServiceWiringFiles={ "ServiceWiring.php",}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/EventBus", }, EventLogging={ name="EventLogging", author={ "Ori Livneh","Timo Tijhof","S Page","Matthew Flaschen",}, url="https://www.mediawiki.org/wiki/Extension:EventLogging", descriptionmsg="eventlogging-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.35.0", }, namespaces={ { id=470, constant="NS_SCHEMA", name="Schema", defaultcontentmodel="JsonSchema", protection={ "autoconfirmed",}, conditional=true, },{ id=471, constant="NS_SCHEMA_TALK", name="Schema_talk", conditional=true, },}, DefaultUserOptions={ ["eventlogging-display-web"]=0, ["eventlogging-display-console"]=0, }, ContentHandlers={ JsonSchema="MediaWiki\\Extension\\EventLogging\\JsonSchemaContentHandler", }, ExtensionFunctions={ "MediaWiki\\Extension\\EventLogging\\Hooks::onSetup",}, ExtensionMessagesFiles={ EventLoggingNamespaces="EventLogging.namespaces.php", }, QUnitTestModule={ localBasePath="", remoteExtPath="EventLogging", scripts={ "tests/qunit/ext.eventLogging/BackgroundQueue.test.js","tests/qunit/ext.eventLogging/bucketing.test.js","tests/qunit/ext.eventLogging/id.test.js","tests/qunit/ext.eventLogging/log.test.js","tests/qunit/ext.eventLogging/stream.test.js","tests/qunit/ext.eventLogging/utils.test.js","tests/qunit/ext.eventLogging.debug/debug.test.js",}, dependencies={ "ext.eventLogging","ext.eventLogging.debug",}, }, Hooks={ CanonicalNamespaces="MediaWiki\\Extension\\EventLogging\\Hooks::onCanonicalNamespaces", BeforePageDisplay={ "MediaWiki\\Extension\\EventLogging\\Hooks::onBeforePageDisplay","MediaWiki\\Extension\\EventLogging\\JsonSchemaHooks::onBeforePageDisplay",}, GetPreferences="MediaWiki\\Extension\\EventLogging\\Hooks::onGetPreferences", CodeEditorGetPageLanguage="MediaWiki\\Extension\\EventLogging\\JsonSchemaHooks::onCodeEditorGetPageLanguage", EditFilterMergedContent="MediaWiki\\Extension\\EventLogging\\JsonSchemaHooks::onEditFilterMergedContent", MovePageIsValidMove="MediaWiki\\Extension\\EventLogging\\JsonSchemaHooks::onMovePageIsValidMove", ["ApiMain::moduleManager"]="MediaWiki\\Extension\\EventLogging\\JsonSchemaHooks::onApiMainModuleManager", }, config={ EventLoggingBaseUri={ value=false, description="Legacy EventLogging GET URI.", }, EventLoggingSchemaApiUri={ value="https://meta.wikimedia.org/w/api.php", }, EventLoggingDBname={ value="metawiki", }, EventLoggingSchemas={ value={ }, description="Legacy schemas EventLogging will produce. This is a mapping from schema name to on-wiki schema revision, or a $schema URI. If a $schema URI is set, the event will be passed to mw.eventLog.submit and the event intake service at EventLoggingServiceUri will be used.", }, EventLoggingServiceUri={ value=false, description="URI to event intake service. This should look something like http://localhost:8192/v1/events", }, EventLoggingStreamNames={ value=false, description="List of stream names to register for use by EventLogging from wgEventStreams. If this is false, Event Stream Config will not be used, and EventLogging will produce any stream it is given.", }, EventLoggingQueueLingerSeconds={ value=30, description="Number of seconds EventLogging should wait to batch messages before sending them to the intake service.", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/EventLogging", }, EventSimulator={ name="EventSimulator", author={ "Tim Starling",}, url="https://www.mediawiki.org/wiki/Extension:EventSimulator", descriptionmsg="eventsimulator-desc", ["license-name"]="BSD-3-Clause", type="other", requires={ MediaWiki=">= 1.35.0", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/EventSimulator", }, EventStreamConfig={ name="EventStreamConfig", author={ "Andrew Otto",}, url="https://www.mediawiki.org/wiki/Extension:EventStreamConfig", descriptionmsg="eventstreamconfig-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.35.0", }, APIModules={ streamconfigs="MediaWiki\\Extension\\EventStreamConfig\\ApiStreamConfigs", }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, config={ EventStreams={ value={ }, description="An associative array of stream configs keyed by a either static stream name string, or a regex that matches stream names for which the stream config should be used. Each stream config value must minimally specify its `schema_title` setting.", }, EventStreamsDefaultSettings={ value={ }, description="Stream config default settings. Any setting here will be set in each entry in EventStreams if it is not set there already.", }, }, composer="mediawiki/event-stream-config", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/EventStreamConfig", }, Expressions={ name="Expressions", namemsg="expressions-extensionname", type="parserhook", author={ "Marijn van Wezel",}, version="1.5", url="https://www.mediawiki.org/wiki/Extension:Expressions", descriptionmsg="expressions-desc", ["license-name"]="MIT", requires={ MediaWiki=">= 1.27.0", }, ExtensionMessagesFiles={ ExpressionsMagic="i18n/Expressions.i18n.magic.php", }, Hooks={ ParserFirstCallInit={ "Expressions\\Expressions::onParserFirstCallInit",}, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Expressions", }, ExtJSBase={ name="ExtJSBase", version="1.31", author={ "Robert Vogel",}, url="https://www.mediawiki.org/wiki/Extension:ExtJSBase", descriptionmsg="extjsbase-desc", ["license-name"]="GPL-3.0-only", type="other", requires={ MediaWiki=">= 1.34.0", }, config_prefix="egExtJSBase", config={ Theme={ value="MediaWiki\\Extension\\ExtJSBase\\Theme\\MediaWikiTouch", public=false, }, }, ConfigRegistry={ extjsbase="MediaWiki\\Extension\\ExtJSBase\\Config::newInstance", }, composer="mediawiki/extjs-base", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ExtJSBase", }, ExtensionDistributor={ name="ExtensionDistributor", author={ "Tim Starling","Sam Reed","Chad Horohoe","Kunal Mehta",}, url="https://www.mediawiki.org/wiki/Extension:ExtensionDistributor", descriptionmsg="extensiondistributor-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.34.0", }, config={ ExtDistAPIConfig={ value=false, }, ExtDistListFile={ value=false, }, ExtDistSnapshotRefs={ value={ }, }, ExtDistDefaultSnapshot={ value="master", }, ExtDistCandidateSnapshot={ value=false, }, ExtDistGraphiteRenderApi={ value=nil, }, ExtDistPopularExtList={ value={ }, }, ExtDistPopularSkinList={ value={ }, }, }, ExtensionMessagesFiles={ ExtensionDistributorAliases="ExtensionDistributor.alias.php", }, APIListModules={ extdistrepos="MediaWiki\\Extension\\ExtensionDistributor\\Api\\ApiListExtDistRepos", extdistbranches="MediaWiki\\Extension\\ExtensionDistributor\\Api\\ApiListExtDistBranches", }, Hooks={ APIQuerySiteInfoGeneralInfo="MediaWiki\\Extension\\ExtensionDistributor\\Hooks::onAPIQuerySiteInfoGeneralInfo", }, SpecialPages={ ExtensionDistributor={ class="MediaWiki\\Extension\\ExtensionDistributor\\Specials\\SpecialExtensionDistributor", services={ "StatsdDataFactory",}, }, SkinDistributor={ class="MediaWiki\\Extension\\ExtensionDistributor\\Specials\\SpecialSkinDistributor", services={ "StatsdDataFactory",}, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ExtensionDistributor", }, ExternalArticles={ name="ExternalArticles", version="1.0.0", author={ "Nathan Perry","Alvinos","Sam Wilson",}, url="https://www.mediawiki.org/wiki/Extension:ExternalArticles", descriptionmsg="externalarticles-desc", type="extension", ["license-name"]="GPL-3.0-only", requires={ MediaWiki=">= 1.32.0", }, Hooks={ EditFormPreloadText="MediaWiki\\Extension\\ExternalArticles\\Hooks::onEditFormPreloadText", }, repository="https://gerrit.wikimedia.org/r/p/mediawiki/extensions/ExternalArticles.git", composer="samwilson/mediawiki-extensions-external-articles", }, External_Data={ name="External Data", version="3.2", author={ "Yaron Koren","Alexander Mashin","...",}, url="https://www.mediawiki.org/wiki/Extension:External_Data", descriptionmsg="externaldata-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.33.0", }, SpecialPages={ GetData="EDGetData", }, ExtensionMessagesFiles={ ExternalDataMagic="ExternalData.i18n.magic.php", ExternalDataAlias="ExternalData.i18n.alias.php", }, Hooks={ ParserFirstCallInit="ExternalDataHooks::registerParser", ScribuntoExternalLibraries="ExternalDataHooks::registerLua", SoftwareInfo="ExternalDataHooks::onSoftwareInfo", LoadExtensionSchemaUpdates="ExternalDataHooks::onLoadExtensionSchemaUpdates", }, JobClasses={ edReparse="EDReparseJob", }, callback="ExternalDataHooks::onRegistration", config_prefix="wgExternalData", config={ Sources={ description="An array of settings for data sources. Index '*' contains global fallbacks", value={ ["*"]={ ["min cache seconds"]=3600, ["always use stale cache"]=false, ["throttle key"]="$2nd_lvl_domain$", ["throttle interval"]=0, replacements={ }, ["allowed urls"]={ }, options={ timeout="default", }, encodings={ "ASCII","UTF-8","Windows-1251","Windows-1252","Windows-1254","KOI8-R","ISO-8859-1",}, params={ }, ["param filters"]={ }, verbose=true, }, }, merge_strategy="array_plus_2d", }, Verbose={ description="Show an error message if there is no external value", value=true, }, Connectors={ description="Rules for choosing EDConnector* class in compatibility mode", value={ { { ["__pf"]="get_web_data", hidden=false, },"EDConnectorWeb",},{ { ["__pf"]="get_file_data", directory=true, ["file name"]="/[[\\]?*]/", hidden=false, },"EDConnectorDirectoryWalker",},{ { ["__pf"]="get_file_data", source=true, ["file name"]="/[[\\]?*]/", hidden=false, },"EDConnectorDirectoryWalker",},{ { ["__pf"]="get_file_data", directory=true, hidden=false, },"EDConnectorDirectory",},{ { ["__pf"]="get_file_data", source=true, ["file name"]=true, hidden=false, },"EDConnectorDirectory",},{ { ["__pf"]="get_file_data", hidden=false, },"EDConnectorFile",},{ { ["__pf"]="get_soap_data", hidden=false, },"EDConnectorSoap",},{ { ["__pf"]="get_ldap_data", hidden=false, },"EDConnectorLdap",},{ { ["__pf"]="get_db_data", type="mysql", prepared=true, hidden=false, },"EDConnectorPreparedMysql",},{ { ["__pf"]="get_db_data", type="postgres", prepared=true, hidden=false, },"EDConnectorPreparedPostgresql",},{ { ["__pf"]="get_db_data", type="sqlite", hidden=false, },"EDConnectorSqlite",},{ { ["__pf"]="get_db_data", type="odbc", prepared=true, hidden=false, },"EDConnectorPreparedOdbc",},{ { ["__pf"]="get_db_data", type="odbc", driver="ODBC Driver 17 for SQL Server", hidden=false, },"EDConnectorOdbcMssql",},{ { ["__pf"]="get_db_data", type="mongodb", ["__exists"]="MongoDB\\Client", hidden=false, },"EDConnectorMongodb7",},{ { ["__pf"]="get_db_data", type="mongodb", ["__exists"]="MongoClient", hidden=false, },"EDConnectorMongodb5",},{ { ["__pf"]="get_db_data", type="postgres", hidden=false, },"EDConnectorPostgresql",},{ { ["__pf"]="get_db_data", hidden=false, },"EDConnectorSql",},{ { ["__pf"]="get_program_data", hidden=false, },"EDConnectorExe",},{ { ["__pf"]="get_inline_data", hidden=false, },"EDConnectorInline",},{ { ["__pf"]="get_external_data", hidden=true, source=false, },"EDConnectorDummy",},{ { ["__pf"]="get_external_data", url=true, request=false, },"EDConnectorWeb",},{ { ["__pf"]="get_external_data", ["post data"]=true, },"EDConnectorWeb",},{ { ["__pf"]="get_external_data", directory=true, ["file name"]="/[[\\]?*]/", },"EDConnectorDirectoryWalker",},{ { ["__pf"]="get_external_data", source=true, ["file name"]="/[[\\]?*]/", },"EDConnectorDirectoryWalker",},{ { ["__pf"]="get_external_data", directory=true, },"EDConnectorDirectory",},{ { ["__pf"]="get_external_data", source=true, ["file name"]=true, },"EDConnectorDirectory",},{ { ["__pf"]="get_external_data", file=true, },"EDConnectorFile",},{ { ["__pf"]="get_external_data", source=true, path=true, },"EDConnectorFile",},{ { ["__pf"]="get_external_data", request=true, },"EDConnectorSoap",},{ { ["__pf"]="get_external_data", source=true, requestData=true, },"EDConnectorSoap",},{ { ["__pf"]="get_external_data", domain=true, },"EDConnectorLdap",},{ { ["__pf"]="get_external_data", source=true, ["base dn"]=true, },"EDConnectorLdap",},{ { ["__pf"]="get_external_data", type="mysql", prepared=true, },"EDConnectorPreparedMysql",},{ { ["__pf"]="get_external_data", type="postgres", prepared=true, },"EDConnectorPreparedPostgresql",},{ { ["__pf"]="get_external_data", type="sqlite", },"EDConnectorSqlite",},{ { ["__pf"]="get_external_data", type="odbc", prepared=true, },"EDConnectorPreparedOdbc",},{ { ["__pf"]="get_external_data", type="odbc", driver="ODBC Driver 17 for SQL Server", },"EDConnectorOdbcMssql",},{ { ["__pf"]="get_external_data", type="mongodb", ["__exists"]="MongoDB\\Client", },"EDConnectorMongodb7",},{ { ["__pf"]="get_external_data", type="mongodb", ["__exists"]="MongoClient", },"EDConnectorMongodb5",},{ { ["__pf"]="get_external_data", type="postgres", },"EDConnectorPostgresql",},{ { ["__pf"]="get_external_data", from=true, },"EDConnectorSql",},{ { ["__pf"]="get_external_data", prepared=true, },"EDConnectorPreparedMysql",},{ { ["__pf"]="get_external_data", program=true, },"EDConnectorExe",},{ { ["__pf"]="get_external_data", text=true, },"EDConnectorInline",},}, }, IntegratedConnectors={ description="Rules for choosing EDConnector* class in standalone mode", value={ { { ["__pf"]=nil, url=true, request=false, },"EDConnectorWeb",},{ { ["__pf"]=nil, ["post data"]=true, },"EDConnectorWeb",},{ { ["__pf"]=nil, ["file name"]="/[[\\]?*]/", },"EDConnectorDirectoryWalker",},{ { ["__pf"]=nil, ["file name"]=true, },"EDConnectorDirectory",},{ { ["__pf"]=nil, path=true, },"EDConnectorFile",},{ { ["__pf"]=nil, request=true, },"EDConnectorSoap",},{ { ["__pf"]=nil, requestData=true, },"EDConnectorSoap",},{ { ["__pf"]=nil, ["base dn"]=true, },"EDConnectorLdap",},{ { ["__pf"]=nil, type="mysql", prepared=true, },"EDConnectorPreparedMysql",},{ { ["__pf"]=nil, type="postgres", prepared=true, },"EDConnectorPreparedPostgresql",},{ { ["__pf"]=nil, type="sqlite", },"EDConnectorSqlite",},{ { ["__pf"]=nil, type="odbc", prepared=true, },"EDConnectorPreparedOdbc",},{ { ["__pf"]=nil, type="odbc", driver="ODBC Driver 17 for SQL Server", },"EDConnectorOdbcMssql",},{ { ["__pf"]=nil, type="mongodb", ["__exists"]="MongoDB\\Client", },"EDConnectorMongodb7",},{ { ["__pf"]=nil, type="mongodb", ["__exists"]="MongoClient", },"EDConnectorMongodb5",},{ { ["__pf"]=nil, type="postgres", },"EDConnectorPostgresql",},{ { ["__pf"]=nil, from=true, },"EDConnectorSql",},{ { ["__pf"]=nil, prepared=true, },"EDConnectorPreparedMysql",},{ { ["__pf"]=nil, program=true, },"EDConnectorExe",},{ { ["__pf"]=nil, text=true, },"EDConnectorInline",},{ { ["__pf"]=nil, source=false, },"EDConnectorDummy",},{ { ["__pf"]=true, },"EDConnectorDummy",},}, }, Parsers={ description="Rules for choosing EDParser* class", value={ { { ["__exists"]={ "PharData","ZipArchive",}, url="/\\.zip$/i", ["archive path"]=true, },"EDParserZip",},{ { ["__exists"]={ "PharData","ZipArchive",}, ["file name"]="/\\.zip$/i", ["archive path"]=true, },"EDParserZip",},{ { ["__exists"]={ "PharData","ZipArchive",}, path="/\\.zip$/i", ["archive path"]=true, },"EDParserZip",},{ { ["__exists"]={ "PharData","ZipArchive",}, source="/\\.zip$/i", ["archive path"]=true, },"EDParserZip",},{ { ["__exists"]={ "PharData","RarArchive",}, url="/\\.rar$/i", ["archive path"]=true, },"EDParserRar",},{ { ["__exists"]={ "PharData","RarArchive",}, ["file name"]="/\\.rar$/i", ["archive path"]=true, },"EDParserRar",},{ { ["__exists"]={ "PharData","RarArchive",}, path="/\\.rar$/i", ["archive path"]=true, },"EDParserRar",},{ { ["__exists"]={ "PharData","RarArchive",}, source="/\\.rar$/i", ["archive path"]=true, },"EDParserRar",},{ { ["__exists"]="PharData", url="/\\.tar$/i", ["archive path"]=true, },"EDParserPhar",},{ { ["__exists"]="PharData", ["file name"]="/\\.tar$/i", ["archive path"]=true, },"EDParserPhar",},{ { ["__exists"]="PharData", path="/\\.tar$/i", ["archive path"]=true, },"EDParserPhar",},{ { ["__exists"]="PharData", source="/\\.tar$/i", ["archive path"]=true, },"EDParserPhar",},{ { ["__exists"]={ "PharData","gzopen",}, url="/\\.tar\\.gz$/i", ["archive path"]=true, },"EDParserPhar",},{ { ["__exists"]={ "PharData","gzopen",}, ["file name"]="/\\.tar\\.gz$/i", ["archive path"]=true, },"EDParserPhar",},{ { ["__exists"]={ "PharData","gzopen",}, path="/\\.tar\\.gz$/i", ["archive path"]=true, },"EDParserPhar",},{ { ["__exists"]={ "PharData","gzopen",}, source="/\\.tar\\.gz$/i", ["archive path"]=true, },"EDParserPhar",},{ { ["__exists"]={ "PharData","bzopen",}, url="/\\.tar\\.bz2$/i", ["archive path"]=true, },"EDParserPhar",},{ { ["__exists"]={ "PharData","bzopen",}, ["file name"]="/\\.tar\\.bz2$/i", ["archive path"]=true, },"EDParserPhar",},{ { ["__exists"]={ "PharData","bzopen",}, path="/\\.tar\\.bz2$/i", ["archive path"]=true, },"EDParserPhar",},{ { ["__exists"]={ "PharData","bzopen",}, source="/\\.tar\\.bz2$/i", ["archive path"]=true, },"EDParserPhar",},{ { format="text", regex=true, },"EDParserRegex",},{ { format="auto", regex=true, },"EDParserRegex",},{ { format="text with regex", },"EDParserRegex",},{ { format="text", },"EDParserText",},{ { format="ini", },"EDParserIni",},{ { format="html", ["use xpath"]=true, },"EDParserHTMLwithXPath",},{ { format="html with xpath", },"EDParserHTMLwithXPath",},{ { format="html with css", },"EDParserHTMLwithCSS",},{ { format="html", ["use css"]=true, },"EDParserHTMLwithCSS",},{ { format="html", },"EDParserHTMLwithCSS",},{ { format="xml", ["use xpath"]=true, },"EDParserXMLwithXPath",},{ { format="xml with xpath", },"EDParserXMLwithXPath",},{ { format="xml", },"EDParserXMLsimple",},{ { format="json", ["use jsonpath"]=true, },"EDParserJSONwithJSONPath",},{ { format="json with jsonpath", },"EDParserJSONwithJSONPath",},{ { format="json", },"EDParserJSONsimple",},{ { format="yaml", ["use jsonpath"]=true, },"EDParserYAMLwithJSONPath",},{ { format="yaml with jsonpath", },"EDParserYAMLwithJSONPath",},{ { format="yaml", },"EDParserYAMLsimple",},{ { format="csv", },"EDParserCSV",},{ { format="csv with header", },"EDParserCSV",},{ { format="gff", },"EDParserGFF",},{ { format="auto", },"EDParserAuto",},{ { },"EDParserText",},}, }, AllowGetters={ description="Drop all functions and all mw.ext.getExternalData.get*Data except mw.ext.getExternalData.getExternalData", value=true, }, }, composer="mediawiki/external-data", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ExternalData", }, ExternalGuidance={ name="ExternalGuidance", version="1.0.0", author={ "Santhosh Thottingal","...",}, url="https://www.mediawiki.org/wiki/Extension:ExternalGuidance", descriptionmsg="externalguidance-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.34.0", extensions={ MobileFrontend=">= 2.1.0", UniversalLanguageSelector="*", }, }, ExtensionMessagesFiles={ ExternalGuidanceAliases="ExternalGuidance.alias.php", }, SpecialPages={ ExternalGuidance={ class="MediaWiki\\Extension\\ExternalGuidance\\SpecialExternalGuidance", services={ "LanguageNameUtils",}, }, }, ConfigRegistry={ ExternalGuidance="GlobalVarConfig::newInstance", }, config={ ExternalGuidanceMTReferrers={ value={ }, description="Host names of machine translation services", }, ExternalGuidanceSiteTemplates={ value={ view="//$1.wikipedia.org/wiki/$2", action="//$1.wikipedia.org/w/index.php?title=$2", api="//$1.wikipedia.org/w/api.php", }, description="URL templates for sites corresponding to other languages", }, ExternalGuidanceDomainCodeMapping={ value={ ["be-tarask"]="be-x-old", bho="bh", ["crh-latn"]="crh", gsw="als", lzh="zh-classical", nan="zh-min-nan", nb="no", rup="roa-rup", sgs="bat-smg", vro="fiu-vro", yue="zh-yue", }, description="Language to domain name mapping", }, ExternalGuidanceKnownServices={ value={ "Google",}, description="Valid list of service names", }, ExternalGuidanceEnableContextDetection={ value=true, description="Enable external context detection in the wiki where this is deployed. If not enabled, the Special:ExternalGuidance will be present, so that users can come from a different wiki where context detection is enabled.", }, }, Hooks={ BeforePageDisplay="MediaWiki\\Extension\\ExternalGuidance\\Hooks::addModules", ResourceLoaderGetConfigVars="MediaWiki\\Extension\\ExternalGuidance\\Hooks::addConfig", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ExternalGuidance", }, ExternalLinkConfirm={ name="ExternalLinkConfirm", version="1.0", author={ "Pavel Astakhov",}, url="https://www.mediawiki.org/wiki/Extension:ExternalLinkConfirm", descriptionmsg="externallinkconfirm-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.35.0", }, Hooks={ OutputPageBodyAttributes="ExternalLinkConfirmHooks::onOutputPageBodyAttributes", BeforePageDisplay="ExternalLinkConfirmHooks::onBeforePageDisplay", }, config={ ExternalLinkConfirmWhitelist={ value={ }, description="The list of sites that do not require confirmation before visiting", }, ExternalLinkConfirmTarget={ value={ }, description="Determining what the target will be for the external site", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ExternalLinkConfirm", }, ExtraLanguageLink={ name="ExtraLanguageLink", version="1.0", author={ "This, that and the other",}, url="https://www.mediawiki.org/wiki/Extension:ExtraLanguageLink", descriptionmsg="extralanguagelink-desc", type="other", requires={ MediaWiki=">= 1.32.0", }, ExtensionMessagesFiles={ ExtraLanguageLinkMagic="ExtraLanguageLink.magic.php", }, Hooks={ SkinTemplateOutputPageBeforeExec="ExtraLanguageLink::onSkinTemplateOutputPageBeforeExec", ParserFirstCallInit="ExtraLanguageLink::onParserFirstCallInit", OutputPageParserOutput="ExtraLanguageLink::onOutputPageParserOutput", }, config={ ExtraLanguageLinkAllowedPrefixes={ value=false, }, ExtraLanguageLinkAllowedTitles={ value=false, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ExtraLanguageLink", }, FanBoxes={ name="FanBoxes", version="3.6.1", author={ "Aaron Wright","David Pean","Robert Lefkowitz","Jack Phoenix",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:FanBoxes", descriptionmsg="fanbox-desc", type="other", requires={ MediaWiki=">= 1.35.3", }, config={ FanBoxPageDisplay={ comments=true, }, }, SpecialPages={ FanBoxAjaxUpload="SpecialFanBoxAjaxUpload", UserBoxes="FanBoxes", TopUserboxes="TopFanBoxes", ViewUserBoxes="ViewFanBoxes", }, namespaces={ { id=600, constant="NS_FANTAG", name="UserBox", },{ id=601, constant="NS_FANTAG_TALK", name="UserBox_talk", },}, APIModules={ fanboxes="ApiFanBoxes", }, ExtensionMessagesFiles={ FanBoxesAlias="includes/FanBoxes.alias.php", FanBoxesNamespaces="includes/FanBoxes.namespaces.php", }, Hooks={ ParserFirstCallInit={ "UserBoxesHook::onParserFirstCallInit","FanBoxHooks::registerFanTag",}, PageMoveComplete="FanBoxHooks::updateFanBoxTitle", ArticleDelete="FanBoxHooks::deleteFanBox", ArticleFromTitle="FanBoxHooks::fantagFromTitle", ParserBeforeInternalParse="FanBoxHooks::transformFanBoxTags", ParserBeforePreprocess="FanBoxHooks::transformFanBoxTags", LoadExtensionSchemaUpdates="FanBoxHooks::onLoadExtensionSchemaUpdates", }, AvailableRights={ "create-userbox",}, GroupPermissions={ user={ ["create-userbox"]=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/FanBoxes", }, Favorites={ name="Favorites", version="1.1.3", author="Jeremy Lemley", url="https://www.mediawiki.org/wiki/Extension:Favorites", descriptionmsg="favorites-desc", type="specialpage", requires={ MediaWiki=">= 1.36.0", }, APIModules={ favorite="ApiFavorite", }, SpecialPages={ Favoritelist="SpecialFavoritelist", }, Actions={ favorite="FavoriteAction", unfavorite="UnfavoriteAction", }, ExtensionMessagesFiles={ FavoritesAlias="SpecialFavorites.alias.php", }, Hooks={ SkinTemplateNavigation="FavoritesHooks::onSkinTemplateNavigation", BeforePageDisplay="FavoritesHooks::onBeforePageDisplay", ParserFirstCallInit="FavoritesHooks::onParserFirstCallInit", TitleMoveComplete="FavoritesHooks::onTitleMoveComplete", ArticleDeleteComplete="FavoritesHooks::onArticleDeleteComplete", PersonalUrls="FavoritesHooks::onPersonalUrls", LoadExtensionSchemaUpdates="FavoritesHooks::onLoadExtensionSchemaUpdates", }, config={ FavoritesPersonalURL={ value=false, }, UseIconFavorite={ value=false, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Favorites", }, FeaturedFeeds={ name="FeaturedFeeds", author={ "Max Semenik",}, url="https://www.mediawiki.org/wiki/Extension:FeaturedFeeds", descriptionmsg="ffeed-desc", type="other", ["license-name"]="WTFPL", requires={ MediaWiki=">= 1.35.0", }, ExtensionMessagesFiles={ FeaturedFeedsAliases="FeaturedFeeds.alias.php", }, APIModules={ featuredfeed="MediaWiki\\Extension\\FeaturedFeeds\\ApiFeaturedFeeds", }, Hooks={ BeforePageDisplay="MediaWiki\\Extension\\FeaturedFeeds\\FeaturedFeeds::beforePageDisplay", PageSaveComplete="MediaWiki\\Extension\\FeaturedFeeds\\FeaturedFeeds::onPageSaveComplete", SidebarBeforeOutput="MediaWiki\\Extension\\FeaturedFeeds\\FeaturedFeeds::onSidebarBeforeOutput", }, config={ DisplayFeedsInSidebar={ value=true, }, FeaturedFeedsDefaults={ value={ limit=10, frequency="daily", inUserLanguage=false, }, }, FeaturedFeeds={ value={ }, }, }, SpecialPages={ FeedItem={ class="MediaWiki\\Extension\\FeaturedFeeds\\SpecialFeedItem", services={ "MainWANObjectCache",}, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/FeaturedFeeds", }, FileAnnotations={ name="FileAnnotations", version="0.0.1", author={ "Mark Holmquist",}, url="https://www.mediawiki.org/wiki/Extension:FileAnnotations", descriptionmsg="fileannotations-desc", ["license-name"]="GPL-3.0-only", type="other", requires={ MediaWiki=">= 1.34.0", }, namespaces={ { name="File_annotations", id=492, constant="NS_FILE_ANNOTATIONS", defaultcontentmodel="FileAnnotations", },{ name="File_annotations_talk", id=493, constant="NS_FILE_ANNOTATIONS_TALK", },}, ContentHandlers={ FileAnnotations="FileAnnotationsContentHandler", }, APIPropModules={ fileannotations={ class="ApiFileAnnotations", }, }, Hooks={ BeforePageDisplay="FileAnnotationsHooks::onBeforePageDisplay", SkinTemplateNavigation="FileAnnotationsHooks::onSkinTemplateNavigation", CodeEditorGetPageLanguage="FileAnnotationsHooks::getCodeLanguage", }, ConfigRegistry={ fileannotations="GlobalVarConfig::newInstance", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/FileAnnotations", }, FileExporter={ name="FileExporter", author={ "Wikimedia Deutschland Technical Wishes Team","Addshore","Andrew Kostka","Christoph Jauera","Thiemo Kreuz",}, url="https://www.mediawiki.org/wiki/Extension:FileExporter", namemsg="fileexporter", descriptionmsg="fileexporter-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.36.0", }, config={ FileExporterTarget={ value="https://commons.wikimedia.org/wiki/Special:ImportFile", description="The Special:ImportFile page on the target wiki, as provided by the FileImporter extension.", public=true, }, }, Hooks={ ChangeTagsAllowedAdd="FileExporter\\FileExporterHooks::onChangeTagsAllowedAdd", ChangeTagsListActive="FileExporter\\FileExporterHooks::onListDefinedTags", ["SkinTemplateNavigation::Universal"]="FileExporter\\FileExporterHooks::onSkinTemplateNavigation", ListDefinedTags="FileExporter\\FileExporterHooks::onListDefinedTags", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/FileExporter", }, FileImporter={ name="FileImporter", author={ "Wikimedia Deutschland Technical Wishes Team","Addshore","Andrew Kostka","Christoph Jauera","Thiemo Kreuz",}, url="https://www.mediawiki.org/wiki/Extension:FileImporter", namemsg="fileimporter", descriptionmsg="fileimporter-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.39.0", }, ExtensionMessagesFiles={ FileImporterAlias="FileImporter.alias.php", }, SpecialPages={ ImportFile={ class="FileImporter\\SpecialImportFile", services={ "FileImporterSourceSiteLocator","FileImporterImporter","FileImporterImportPlanFactory","StatsdDataFactory","UserOptionsManager","MainConfig",}, }, }, ServiceWiringFiles={ "src/ServiceWiring.php","src/Remote/MediaWiki/SiteWiring.php",}, config={ FileImporterRequiredRight={ value="upload", public=true, }, FileImporterInBeta={ value=true, public=true, }, FileImporterInterWikiMap={ value={ }, description="Manually maps host names to multi-hop interwiki prefixes. Deprecated.", public=true, }, FileImporterShowInputScreen={ value=false, description="Whether or not to show the source URL input page.", public=true, }, FileImporterSourceSiteServices={ value={ }, public=true, }, FileImporterCommonsHelperServer={ value="", description="Location of CommonsHelper2-compatible configuration pages to use, e.g. \"https://www.mediawiki.org\". Set to an empty string to disable.", public=true, }, FileImporterWikidataEntityEndpoint={ value="", description="Location of Wikidata entity endpoint for fetching localized template names, e.g. \"https://www.wikidata.org/wiki/Special:EntityData/\". Set to an empty string to disable.", public=true, }, FileImporterWikidataNowCommonsEntity={ value="", description="Entity ID of the NowCommons template, e.g. \"Q5611625\".", public=true, }, FileImporterCommonsHelperBasePageName={ value="Extension:FileImporter/Data/", description="Base page name of CommonsHelper2-compatible configuration pages to use.", public=true, }, FileImporterCommonsHelperHelpPage={ value="", description="Location of the help page for the CommonsHelper2-compatible configuration page management.", public=true, }, FileImporterAccountForSuppressedUsername={ value="FileImporterSuppressed", public=true, }, FileImporterCommentForPostImportRevision={ value="Imported with FileImporter from $1", description="Text used for the edit summary of a post import revision.", public=true, }, FileImporterTextForPostImportRevision={ value="", description="Text to add to the imported page's wikitext.", public=true, }, FileImporterMaxRevisions={ value=100, description="Maximum number of revisions (file or text) a file can have in order to be imported.", public=true, }, FileImporterMaxAggregatedBytes={ value=250000000, description="Maximum aggregated size of versions a file can have in order to be imported.", public=true, }, FileImporterSourceWikiDeletion={ value=false, description="When set to true, FileImporter offers an option to automatically delete the source file after a successful import. Requires the CentralAuth extension to be set up and running on both the source and target wiki.", public=true, }, FileImporterSourceWikiTemplating={ value=false, description="When set to true, FileImporter offers an option to automatically edit the source file after a successful import. Requires the CentralAuth extension to be set up and running on both the source and target wiki.", public=true, }, }, Hooks={ BeforeInitialize="FileImporter\\FileImporterHooks::onBeforeInitialize", ChangeTagsListActive="FileImporter\\FileImporterHooks::onListDefinedTags", ListDefinedTags="FileImporter\\FileImporterHooks::onListDefinedTags", UserGetReservedNames="FileImporter\\FileImporterHooks::onUserGetReservedNames", VisualEditorBeforeEditor="FileImporter\\FileImporterHooks::onVisualEditorBeforeEditor", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/FileImporter", }, FilterListUsers={ name="FilterListUsers", version="1.5", author={ "Jack Phoenix",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:FilterListUsers", descriptionmsg="filterlistusers-desc", type="other", requires={ MediaWiki=">= 1.31.0", }, config={ FilterListUsersMinimumEdits=5, FilterListUsersExemptGroups={ "sysop","bureaucrat","steward","staff","globalbot",}, }, Hooks={ SpecialListusersQueryInfo="FilterListUsers::onSpecialListusersQueryInfo", SpecialListusersHeaderForm="FilterListUsers::onSpecialListusersHeaderForm", }, AvailableRights={ "viewallusers",}, GroupPermissions={ sysop={ viewallusers=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/FilterListUsers", }, FilterSpecialPages={ name="FilterSpecialPages", author="Leonid Verhovskij", url="https://www.mediawiki.org/wiki/Extension:FilterSpecialPages", descriptionmsg="filterspecialpages-desc", version="0.9", ["license-name"]="GPL-3.0+", type="other", requires={ MediaWiki=">= 1.31.0", }, Hooks={ BeforePageDisplay="FilterSpecialPages::onBeforePageDisplay", }, composer="hallowelt/filter-special-pages", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/FilterSpecialPages", }, FlaggedRevs={ name="FlaggedRevs", namemsg="flaggedrevs", author={ "Aaron Schulz","Joerg Baach",}, url="https://www.mediawiki.org/wiki/Extension:FlaggedRevs", descriptionmsg="flaggedrevs-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.38.0", }, callback="FlaggedRevsHooks::onRegistration", ActionFilteredLogs={ review={ accept={ "approve","approve2","approve-i","approve2-i",}, unaccept={ "unapprove","unapprove2",}, }, stable={ config={ "config",}, modify={ "modify",}, reset={ "reset",}, move_stable={ "move_stable",}, }, }, AddGroups={ sysop={ "editor","autoreview",}, }, APIListModules={ oldreviewedpages="ApiQueryOldreviewedpages", }, APIModules={ review="ApiReview", flagconfig="ApiFlagConfig", }, APIPropModules={ flagged="ApiQueryFlagged", }, RestRoutes={ { path="/flaggedrevs/internal/diffheader/{oldId}/{newId}", method="GET", class="MediaWiki\\Extension\\FlaggedRevs\\Rest\\DiffHeaderHandler", },{ path="/flaggedrevs/internal/review/{target}", method="POST", class="MediaWiki\\Extension\\FlaggedRevs\\Rest\\ReviewHandler", },}, AvailableRights={ "review","validate","autoreview","autoreviewrestore","unreviewedpages","movestable","stablesettings",}, DefaultUserOptions={ flaggedrevssimpleui=1, flaggedrevsstable=0, flaggedrevseditdiffs=true, flaggedrevsviewdiffs=false, flaggedrevswatch=false, }, FilterLogTypes={ review=true, }, GrantPermissions={ basic={ autoreview=true, autoreviewrestore=true, unreviewedpages=true, }, patrol={ review=true, validate=true, }, protect={ stablesettings=true, }, editprotected={ movestable=true, }, }, GroupPermissions={ editor={ review=true, autoreview=true, autoconfirmed=true, editsemiprotected=true, unreviewedpages=true, }, reviewer={ validate=true, review=true, autoreview=true, autoconfirmed=true, editsemiprotected=true, unreviewedpages=true, }, sysop={ autoreview=true, stablesettings=true, movestable=true, review=true, unreviewedpages=true, }, autoreview={ autoreview=true, }, bot={ autoreview=true, }, }, JobClasses={ flaggedrevs_CacheUpdate="FRExtraCacheUpdateJob", }, LogActions={ ["rights/erevoke"]="rights-editor-revoke", }, LogActionsHandlers={ ["review/approve"]="FlaggedRevsReviewLogFormatter", ["review/approve2"]="FlaggedRevsReviewLogFormatter", ["review/approve-i"]="FlaggedRevsReviewLogFormatter", ["review/approve2-i"]="FlaggedRevsReviewLogFormatter", ["review/approve-a"]="FlaggedRevsReviewLogFormatter", ["review/approve2-a"]="FlaggedRevsReviewLogFormatter", ["review/approve-ia"]="FlaggedRevsReviewLogFormatter", ["review/approve2-ia"]="FlaggedRevsReviewLogFormatter", ["review/unapprove"]="FlaggedRevsReviewLogFormatter", ["review/unapprove2"]="FlaggedRevsReviewLogFormatter", ["stable/config"]="FlaggedRevsStableLogFormatter", ["stable/modify"]="FlaggedRevsStableLogFormatter", ["stable/reset"]="FlaggedRevsStableLogFormatter", ["stable/move_stable"]="FlaggedRevsStableLogFormatter", }, LogHeaders={ review="review-logpagetext", stable="stable-logpagetext", }, LogNames={ review="review-logpage", stable="stable-logpage", }, LogTypes={ "review","stable",}, RemoveGroups={ sysop={ "editor","autoreview",}, }, ExtensionMessagesFiles={ FlaggedRevsMagic="frontend/language/FlaggedRevs.i18n.magic.php", FlaggedRevsAliases="frontend/language/FlaggedRevs.alias.php", }, ServiceWiringFiles={ "backend/ServiceWiring.php",}, Hooks={ APIGetAllowedParams="FlaggedRevsApiHooks::addApiRevisionParams", APIQueryAfterExecute="FlaggedRevsApiHooks::addApiRevisionData", ArticleDeleteComplete="FlaggedRevsHooks::onArticleDelete", ArticleMergeComplete="FlaggedRevsHooks::onArticleMergeComplete", ArticleRevisionVisibilitySet="FlaggedRevsHooks::onRevisionDelete", ArticleUndelete="FlaggedRevsHooks::onArticleUndelete", ArticleUpdateBeforeRedirect="FlaggedRevsUIHooks::injectPostEditURLParams", ArticleViewHeader="FlaggedRevsUIHooks::onArticleViewHeader", AutopromoteCondition="FlaggedRevsHooks::checkAutoPromoteCond", BeforePageDisplay="FlaggedRevsUIHooks::onBeforePageDisplay", BeforeRevertedTagUpdate="FlaggedRevsHooks::onBeforeRevertedTagUpdate", CategoryPageView="FlaggedRevsUIHooks::onCategoryPageView", ChangesListInsertArticleLink="FlaggedRevsUIHooks::addToChangeListLine", ChangesListSpecialPageQuery="FlaggedRevsUIHooks::modifyChangesListSpecialPageQuery", ChangesListSpecialPageStructuredFilters="FlaggedRevsUIHooks::addHideReviewedFilter", ["ContribsPager::getQueryInfo"]={ "FlaggedRevsUIHooks::addToContribsQuery","contributions",}, ContributionsLineEnding="FlaggedRevsUIHooks::addToContribsLine", DeleteAccount="FlaggedRevsHooks::onDeleteAccount", DifferenceEngineViewHeader="FlaggedRevsUIHooks::onDifferenceEngineViewHeader", EchoGetDefaultNotifiedUsers="FlaggedRevsHooks::onEchoGetDefaultNotifiedUsers", ["EditPage::showEditForm:fields"]="FlaggedRevsUIHooks::addRevisionIDField", ["EditPage::showEditForm:initial"]="FlaggedRevsUIHooks::addToEditView", EditPageBeforeEditButtons="FlaggedRevsUIHooks::onBeforeEditButtons", EditPageGetCheckboxesDefinition="FlaggedRevsUIHooks::onEditPageGetCheckboxesDefinition", EditPageNoSuchSection="FlaggedRevsUIHooks::onNoSuchSection", GetPreferences="FlaggedRevsUIHooks::onGetPreferences", getUserPermissionsErrors="FlaggedRevsHooks::onGetUserPermissionsErrors", ["GoogleNewsSitemap::Query"]="FlaggedRevsHooks::gnsmQueryModifier", InitializeArticleMaybeRedirect="FlaggedRevsUIHooks::overrideRedirect", LoadExtensionSchemaUpdates="FlaggedRevsUpdaterHooks::addSchemaUpdates", MagicWordwgVariableIDs="FlaggedRevsHooks::onMagicWordwgVariableIDs", MakeGlobalVariablesScript="FlaggedRevsUIHooks::onMakeGlobalVariablesScript", MediaWikiServices="FlaggedRevsHooks::onMediaWikiServices", MergeAccountFromTo="FlaggedRevsHooks::onMergeAccountFromTo", NewDifferenceEngine="FlaggedRevsUIHooks::checkDiffUrl", RevisionFromEditComplete={ "FlaggedRevsHooks::incrementReverts","FlaggedRevsHooks::maybeMakeEditReviewed",}, PageSaveComplete={ "FlaggedRevsHooks::maybeNullEditReview","FlaggedRevsHooks::onPageSaveComplete",}, PageHistoryBeforeList="FlaggedRevsUIHooks::addToHistView", PageHistoryLineEnding="FlaggedRevsUIHooks::addToHistLine", ["PageHistoryPager::getQueryInfo"]="FlaggedRevsUIHooks::addToHistQuery", PageMoveComplete="FlaggedRevsHooks::onPageMoveComplete", ParserFirstCallInit="FlaggedRevsHooks::onParserFirstCallInit", ParserGetVariableValueSwitch="FlaggedRevsHooks::onParserGetVariableValueSwitch", ProtectionFormAddFormFields="FlaggedRevsUIHooks::onProtectionForm", ["ProtectionForm::save"]="FlaggedRevsUIHooks::onProtectionSave", ["ProtectionForm::showLogExtract"]="FlaggedRevsUIHooks::insertStabilityLog", RecentChange_save="FlaggedRevsHooks::autoMarkPatrolled", RevisionDataUpdates="FlaggedRevsHooks::onRevisionDataUpdates", RevisionUndeleted="FlaggedRevsHooks::onRevisionRestore", RollbackComplete="FlaggedRevsHooks::incrementRollbacks", ScribuntoExternalLibraries="FlaggedRevsHooks::onScribuntoExternalLibraries", SkinAfterContent="FlaggedRevsUIHooks::onSkinAfterContent", ["SkinTemplateNavigation::Universal"]="FlaggedRevsUIHooks::onSkinTemplateNavigationUniversal", ["SpecialContributions::getForm::filters"]="contributions", SpecialNewpagesConditions="FlaggedRevsUIHooks::modifyNewPagesQuery", SpecialNewPagesFilters="FlaggedRevsUIHooks::addHideReviewedUnstructuredFilter", SpecialPage_initList="FlaggedRevsUIHooks::onSpecialPageInitList", TitleGetEditNotices="FlaggedRevsUIHooks::getEditNotices", UserGetRights="FlaggedRevsHooks::onUserGetRights", UserLoadAfterLoadFromSession="FlaggedRevsHooks::setSessionKey", UserMergeAccountFields="FlaggedRevsHooks::onUserMergeAccountFields", ["WikiExporter::dumpStableQuery"]="FlaggedRevsHooks::stableDumpQuery", }, HookHandlers={ contributions={ class="\\MediaWiki\\Extension\\FlaggedRevs\\Backend\\FlaggedRevsContributionsHooks", services={ }, }, }, config={ SimpleFlaggedRevsUI={ description="This will only distinguish \"checked\", \"quality\", and unreviewed. A small icon will show in the upper right hand corner", value=true, }, FlaggedRevsLowProfile={ description="For visitors, only show tags/icons for unreviewed/outdated pages", value=true, }, FlaggedRevsNamespaces={ description="Allowed namespaces of reviewable pages", value={ 0,6,10,}, }, FlaggedRevsOverride={ description="Is a \"stable version\" used as the default display version for all pages in reviewable namespaces?", value=true, }, FlaggedRevsAutoReview={ description={ "Auto-review settings for edits/new pages:","0 - (FR_AUTOREVIEW_NONE)","  Don't auto-review any edits or new pages","1 - (FR_AUTOREVIEW_CHANGES)","  Auto-review the following types of edits (to existing pages):","  (a) changes directly to the stable version by users with 'autoreview'/'bot'","  (b) reversions to old reviewed versions by users with 'autoreview'/'bot'","  (c) self-reversions back to the stable version by any user","2 - (FR_AUTOREVIEW_CREATION)","  Auto-review new pages as minimally \"checked\"","3 - (FR_AUTOREVIEW_CREATION_AND_CHANGES)","  Combines FR_AUTOREVIEW_CHANGES (1) and FR_AUTOREVIEW_CREATION (2)",}, value=3, }, FlaggedRevsTags={ description={ "Define the tags we can use to rate an article, and the number of levels.","NOTE: When setting up new dimensions or levels, you will need to add some MediaWiki messages for the UI to show properly; any sysop can do this.",}, value={ accuracy={ levels=3, }, }, }, FlaggedRevsTagsRestrictions={ description={ "For each tag, define the highest tag level that is unlocked by having certain rights. For example, having 'review' rights may allow for \"depth\" to be rated up to second level.","NOTE: Users cannot lower revision tags from a level they can't set","NOTE: Users with 'validate' (Reviewers) can set all tags to all levels",}, value={ accuracy={ review=1, autoreview=1, }, }, }, FlaggedRevsTagsAuto={ description="For each tag, what is the highest level that it can be auto-reviewed to? $wgFlaggedRevsAutoReview must be enabled for this to apply", value={ accuracy=1, }, }, FlaggedRevsRestrictionLevels={ description="Restriction levels for 'autoreview'/'review' rights. When a level is selected for a page, an edit made by a user will not be auto-reviewed if the user lacks the specified permission. Levels are set at the Stabilization special page.", value={ "sysop",}, }, FlaggedRevsProtection={ description={ "Set this to use FlaggedRevs *only* as a protection-like mechanism.","This will disable Stabilization and show the above restriction levels on the protection form of pages. Each level has the stable version shown by default.","A \"none\" level will appear in the form as well, to disable the review process.","Pages will only be reviewable if manually restricted to a level above \"none\".",}, value=false, }, FlaggedRevsAutopromote={ description="Define when users get automatically promoted to Editors. Set as false to disable. Once users meet these requirements they will be promoted, unless previously demoted.", value=false, }, FlaggedRevsAutoconfirm={ description="Define when users get to have their own edits auto-reviewed. Set to false to disable. This can be used for newer, semi-trusted users to improve workflow. It is done by granting some users the implicit 'autoreview' group.", value=false, }, FlaggedRevsHandleIncludes={ description={ "How to handle templates used in stable versions:","0 - (FR_INCLUDES_CURRENT)","  Always use the current version of templates","2 - (FR_INCLUDES_STABLE)","  For each template, check if a version of it was used when the page was reviewed and if the template itself has a stable version; use the newest those versions","NOTE: We may have templates that do not have stable version. Also, given situational inclusion of templates (e.g. parser functions selecting template X or Y based on date) there may also be no \"review time version\" revision ID for a template used on a page. In such cases, we select the current (unreviewed) revision.",}, value=2, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/FlaggedRevs", }, Flex_Diagrams={ name="Flex Diagrams", version="0.4", author={ "Yaron Koren","Sahaj Khandelwal",}, url="https://www.mediawiki.org/wiki/Extension:Flex_Diagrams", descriptionmsg="flexdiagrams-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", namespaces={ { id=740, constant="FD_NS_BPMN", name="BPMN", conditional=true, defaultcontentmodel="flexdiagrams-bpmn", },{ id=741, constant="FD_NS_BPMN_TALK", name="BPMN_talk", conditional=true, },{ id=742, constant="FD_NS_GANTT", name="Gantt", conditional=true, defaultcontentmodel="flexdiagrams-gantt", },{ id=743, constant="FD_NS_GANTT_TALK", name="Gantt_talk", conditional=true, },{ id=744, constant="FD_NS_MERMAID", name="Mermaid", conditional=true, defaultcontentmodel="flexdiagrams-mermaid", },{ id=745, constant="FD_NS_MERMAID_TALK", name="Mermaid_talk", conditional=true, },{ id=746, constant="FD_NS_DRAWIO", name="Drawio", conditional=true, defaultcontentmodel="flexdiagrams-drawio", },{ id=747, constant="FD_NS_DRAWIO_TALK", name="Drawio_talk", conditional=true, },}, requires={ MediaWiki=">= 1.33.0", }, callback="FDHooks::registerExtension", Actions={ editdiagram="FDEditDiagramAction", }, ContentHandlers={ ["flexdiagrams-bpmn"]="FDBPMNContentHandler", ["flexdiagrams-gantt"]="FDGanttContentHandler", ["flexdiagrams-drawio"]="FDDrawioContentHandler", ["flexdiagrams-mermaid"]="FDMermaidContentHandler", }, SpecialPages={ EditDiagram="FDSpecialEditDiagram", }, ExtensionMessagesFiles={ FlexDiagramsAlias="FlexDiagrams.i18n.aliases.php", FlexDiagramsNamespaces="FlexDiagrams.i18n.namespaces.php", FlexDiagramsMagic="FlexDiagrams.i18n.magic.php", }, Hooks={ ["SkinTemplateNavigation::Universal"]="FDEditDiagramAction::displayTab", ParserFirstCallInit="FDHooks::registerParserFunctions", MakeGlobalVariablesScript="FDHooks::setGlobalJSVariables", CanonicalNamespaces="FDHooks::registerNamespaces", ParserAfterTidy="FDHooks::disableParserCache", HtmlPageLinkRendererEnd="FDHooks::linkToEditDiagramAction", }, config={ FlexDiagramsEnabledFormats={ value={ 740,742,744,746,}, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/FlexDiagrams", }, FlexiSkin={ name="FlexiSkin", version="1.2-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:FlexiSkin", author={ "Robert Vogel","Daniel Vogel",}, descriptionmsg="flexiskin-extension-desc", namemsg="flexiskin-extension-name", type="specialpage", requires={ MediaWiki=">= 1.36.0", }, attributes={ BlueSpiceFoundation={ PermissionRegistry={ ["flexiskin-viewspecialpage"]={ type="global", roles={ "admin",}, }, ["flexiskin-api"]={ type="global", roles={ "admin",}, }, }, }, FlexiSkin={ PluginRegistry={ Images="MediaWiki\\Extension\\FlexiSkin\\Plugin\\Images::factory", ColorPresets="MediaWiki\\Extension\\FlexiSkin\\Plugin\\ColorPresets::factory", Colors="MediaWiki\\Extension\\FlexiSkin\\Plugin\\Colors::factory", LayoutColors="MediaWiki\\Extension\\FlexiSkin\\Plugin\\LayoutColors::factory", Content="MediaWiki\\Extension\\FlexiSkin\\Plugin\\Content::factory", FreeCss="MediaWiki\\Extension\\FlexiSkin\\Plugin\\FreeCss::factory", }, SubscriberRegistry={ }, }, }, callback="mwsInitComponents", AvailableRights={ "flexiskin-viewspecialpage","flexiskin-api",}, ServiceWiringFiles={ "ServiceWiring.php",}, SpecialPages={ FlexiSkin="MediaWiki\\Extension\\FlexiSkin\\Special\\FlexiSkin", }, ExtensionMessagesFiles={ FlexiSkinAlias="languages/FlexiSkin.alias.php", }, APIModules={ ["flexiskin-activation"]="MediaWiki\\Extension\\FlexiSkin\\Api\\Activation", ["flexiskin-save"]="MediaWiki\\Extension\\FlexiSkin\\Api\\Save", ["flexiskin-preview"]="MediaWiki\\Extension\\FlexiSkin\\Api\\Preview", ["flexiskin-delete"]="MediaWiki\\Extension\\FlexiSkin\\Api\\Delete", }, config={ FlexiSkinColorPresets={ value={ bluespice={ ["colors/background/primary"]="#3e5389", ["colors/background/secondary"]="#ffffff", ["colors/background/tertiary"]="#d9d9d9", ["colors/background/quaternary"]="#999999", ["colors/foreground/primary"]="#ffffff", ["colors/foreground/secondary"]="#666666", ["colors/foreground/tertiary"]="#ffffff", ["colors/foreground/quaternary"]="#ffffff", }, turquoise={ ["colors/background/primary"]="#1bbc9b", ["colors/background/secondary"]="#f5f5f5", ["colors/background/tertiary"]="#ffffff", ["colors/background/quaternary"]="#454545", ["colors/foreground/primary"]="#ffffff", ["colors/foreground/secondary"]="#454545", ["colors/foreground/tertiary"]="#1bbc9b", ["colors/foreground/quaternary"]="#ffffff", }, orange={ ["colors/background/primary"]="#f4912c", ["colors/background/secondary"]="#4d4d4d", ["colors/background/tertiary"]="#f6f6f6", ["colors/background/quaternary"]="#dedede", ["colors/foreground/primary"]="#ffffff", ["colors/foreground/secondary"]="#ffffff", ["colors/foreground/tertiary"]="#4d4d4d", ["colors/foreground/quaternary"]="#4d4d4d", }, crimson={ ["colors/background/primary"]="#bd0000", ["colors/background/secondary"]="#f6f6f6", ["colors/background/tertiary"]="#333333", ["colors/background/quaternary"]="#f6f6f6", ["colors/foreground/primary"]="#f6f6f6", ["colors/foreground/secondary"]="#333333", ["colors/foreground/tertiary"]="#bd0000", ["colors/foreground/quaternary"]="#333333", }, lime={ ["colors/background/primary"]="#97bc00", ["colors/background/secondary"]="#e6e6e6", ["colors/background/tertiary"]="#f6f6f6", ["colors/background/quaternary"]="#97bc00", ["colors/foreground/primary"]="#ffffff", ["colors/foreground/secondary"]="#474747", ["colors/foreground/tertiary"]="#474747", ["colors/foreground/quaternary"]="#ffffff", }, ["turquoise dark"]={ ["colors/background/primary"]="#4d4d4d", ["colors/background/secondary"]="#4d4d4d", ["colors/background/tertiary"]="#00adf1", ["colors/background/quaternary"]="#4d4d4d", ["colors/foreground/primary"]="#ffffff", ["colors/foreground/secondary"]="#ffffff", ["colors/foreground/tertiary"]="#4d4d4d", ["colors/foreground/quaternary"]="#ffffff", }, ["sunflower dark"]={ ["colors/background/primary"]="#d9d9d9", ["colors/background/secondary"]="#d9d9d9", ["colors/background/tertiary"]="#fdce05", ["colors/background/quaternary"]="#353d40", ["colors/foreground/primary"]="#666666", ["colors/foreground/secondary"]="#666666", ["colors/foreground/tertiary"]="#ffffff", ["colors/foreground/quaternary"]="#ffffff", }, }, }, }, HookHandlers={ ["discovery-skin"]={ class="\\MediaWiki\\Extension\\FlexiSkin\\HookHandler\\DiscoverySkin", }, ["convert-default-file"]={ class="MediaWiki\\Extension\\FlexiSkin\\HookHandler\\ConvertDefaultFile", }, }, Hooks={ MWStakeCommonUIRegisterSkinSlotComponents="discovery-skin", LoadExtensionSchemaUpdates="convert-default-file", UserLoadAfterLoadFromSession="MediaWiki\\Extension\\FlexiSkin\\Extension::onUserLoadAfterLoadFromSession", }, ExtensionFunctions={ "MediaWiki\\Extension\\FlexiSkin\\Extension::overrideLessVars",}, composer="mediawiki/flexiskin", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/FlexiSkin", }, FlickrAPI={ name="FlickrAPI", version="2.0.2", ["license-name"]="GPL-2.0-or-later", author={ "Ike Hecht","Sam Wilson",}, url="https://www.mediawiki.org/wiki/Extension:FlickrAPI", descriptionmsg="flickrapi-desc", type="parserhook", requires={ MediaWiki=">= 1.35.0", }, Hooks={ ParserFirstCallInit="FlickrAPIHooks::onParserFirstCallInit", }, config={ FlickrAPIKey="", FlickrAPISecret="", FlickrAPIDefaults={ type="frameless", location="right", size="-", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/FlickrAPI", }, Flow={ name="Flow", version="1.2.0", author={ "Erik Bernhardson","Stephane Bisson","Matthew Flaschen","Andrew Garrett","Shahyar Ghobadpour","Pau Giner","Roan Kattouw","Chris McMahon","Kunal Mehta","Matthias Mullie","S Page","Jon Robson","Moriel Schottlender","Benny Situ","Volker E.",}, url="https://www.mediawiki.org/wiki/Extension:Flow", descriptionmsg="flow-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.38.0", }, callback="Flow\\Hooks::registerExtension", APIModules={ ["flow-parsoid-utils"]="Flow\\Api\\ApiParsoidUtilsFlow", flow="Flow\\Api\\ApiFlow", }, APIPropModules={ flowinfo="Flow\\Api\\ApiQueryPropFlowInfo", }, AvailableRights={ "flow-hide","flow-lock","flow-delete","flow-suppress","flow-edit-post","flow-create-board",}, ContentHandlers={ ["flow-board"]="Flow\\Content\\BoardContentHandler", }, DefaultUserOptions={ ["echo-subscriptions-web-flow-discussion"]=true, ["echo-subscriptions-email-flow-discussion"]=false, ["flow-topiclist-sortby"]="updated", ["flow-editor"]="wikitext", ["flow-side-rail-state"]="expanded", ["flow-visualeditor"]=1, }, ExtensionFunctions={ "Flow\\Hooks::initFlowExtension",}, ServiceWiringFiles={ "includes/ServiceWiring.php",}, GroupPermissions={ ["*"]={ ["flow-hide"]=true, }, user={ ["flow-lock"]=true, }, sysop={ ["flow-lock"]=true, ["flow-delete"]=true, ["flow-edit-post"]=true, }, suppress={ ["flow-suppress"]=true, }, ["flow-bot"]={ ["flow-create-board"]=true, }, }, GrantPermissions={ editpage={ ["flow-hide"]=true, ["flow-edit-post"]=true, }, editprotected={ ["flow-create-board"]=true, }, protect={ ["flow-lock"]=true, }, delete={ ["flow-delete"]=true, }, oversight={ ["flow-suppress"]=true, }, }, LogActionsHandlers={ ["delete/flow-restore-post"]="Flow\\Log\\ActionFormatter", ["suppress/flow-restore-post"]="Flow\\Log\\ActionFormatter", ["delete/flow-restore-topic"]="Flow\\Log\\ActionFormatter", ["suppress/flow-restore-topic"]="Flow\\Log\\ActionFormatter", ["lock/flow-restore-topic"]="Flow\\Log\\ActionFormatter", ["import/lqt-to-flow-topic"]="Flow\\Log\\LqtImportFormatter", ["delete/flow-delete-post"]="Flow\\Log\\ActionFormatter", ["delete/flow-delete-topic"]="Flow\\Log\\ActionFormatter", ["suppress/flow-suppress-post"]="Flow\\Log\\ActionFormatter", ["suppress/flow-suppress-topic"]="Flow\\Log\\ActionFormatter", ["lock/flow-lock-topic"]="Flow\\Log\\ActionFormatter", }, SpecialPages={ StructuredDiscussions="Flow\\Specials\\SpecialStructuredDiscussions", EnableStructuredDiscussions="Flow\\Specials\\SpecialEnableStructuredDiscussions", }, ExtensionMessagesFiles={ FlowNamespaces="Flow.namespaces.php", FlowAlias="Flow.alias.php", }, MessagePosterModule={ scripts={ "modules/messagePoster/ext.flow.messagePoster.js",}, dependencies={ "oojs","mediawiki.api",}, }, QUnitTestModule={ localBasePath="tests/qunit", remoteExtPath="Flow/tests/qunit", scripts={ "flow/dm/test_mw.flow.dm.Content.js","flow/dm/test_mw.flow.dm.System.js","flow/dm/test_mw.flow.dm.Post.js","flow/dm/test_mw.flow.dm.Topic.js","flow/dm/test_mw.flow.dm.Board.js","engine/misc/test_mw-ui.enhance.js","engine/misc/test_jquery.findWithParent.js",}, dependencies={ "ext.flow.ui","ext.flow","ext.flow.jquery.findWithParent",}, }, HookHandlers={ AbuseFilter={ class="MediaWiki\\Extension\\StructuredDiscussions\\Hooks\\AbuseFilterHandler", }, }, Hooks={ ResourceLoaderRegisterModules="Flow\\Hooks::onResourceLoaderRegisterModules", BeforePageDisplay="Flow\\Hooks::onBeforePageDisplay", LoadExtensionSchemaUpdates="Flow\\Hooks::getSchemaUpdates", GetPreferences="Flow\\Hooks::onGetPreferences", OldChangesListRecentChangesLine="Flow\\Hooks::onOldChangesListRecentChangesLine", ChangesListInsertArticleLink="Flow\\Hooks::onChangesListInsertArticleLink", ChangesListInitRows="Flow\\Hooks::onChangesListInitRows", ["EnhancedChangesList::getLogText"]="Flow\\Hooks::onGetLogText", EnhancedChangesListModifyLineData="Flow\\Hooks::onEnhancedChangesListModifyLineData", EnhancedChangesListModifyBlockLineData="Flow\\Hooks::onEnhancedChangesListModifyBlockLineData", ChangesListSpecialPageQuery="Flow\\Hooks::onChangesListSpecialPageQuery", ["SkinTemplateNavigation::Universal"]="Flow\\Hooks::onSkinTemplateNavigation", ["Article::MissingArticleConditions"]="Flow\\Hooks::onMissingArticleConditions", SpecialWatchlistGetNonRevisionTypes="Flow\\Hooks::onSpecialWatchlistGetNonRevisionTypes", UserGetReservedNames="Flow\\Hooks::onUserGetReservedNames", ResourceLoaderGetConfigVars="Flow\\Hooks::onResourceLoaderGetConfigVars", ["ContribsPager::reallyDoQuery"]="Flow\\Hooks::onContributionsQuery", ["DeletedContribsPager::reallyDoQuery"]="Flow\\Hooks::onDeletedContributionsQuery", ContributionsLineEnding="Flow\\Hooks::onContributionsLineEnding", DeletedContributionsLineEnding="Flow\\Hooks::onDeletedContributionsLineEnding", ["ApiFeedContributions::feedItem"]="Flow\\Hooks::onContributionsFeedItem", ["AbuseFilter-builder"]="Flow\\Hooks::onAbuseFilterBuilder", ["AbuseFilter-deprecatedVariables"]="Flow\\Hooks::onAbuseFilterDeprecatedVariables", ["AbuseFilter-computeVariable"]="Flow\\Hooks::onAbuseFilterComputeVariable", ["AbuseFilter-generateVarsForRecentChange"]="AbuseFilter", AbortEmailNotification="Flow\\Hooks::onAbortEmailNotification", BeforeDisplayOrangeAlert="Flow\\Hooks::onBeforeDisplayOrangeAlert", EchoAbortEmailNotification="Flow\\Hooks::onEchoAbortEmailNotification", BeforeEchoEventInsert="Flow\\Hooks::onBeforeEchoEventInsert", ArticleEditUpdateNewTalk="Flow\\Hooks::onArticleEditUpdateNewTalk", InfoAction="Flow\\Hooks::onInfoAction", CheckUserFormatRow="Flow\\Hooks::onCheckUserFormatRow", SpecialCheckUserGetLinksFromRow="Flow\\Hooks::onSpecialCheckUserGetLinksFromRow", CheckUserInsertForRecentChange="Flow\\Hooks::onCheckUserInsertForRecentChange", IRCLineURL="Flow\\Hooks::onIRCLineURL", WhatLinksHereProps="Flow\\Hooks::onWhatLinksHereProps", ShowMissingArticle="Flow\\Hooks::onShowMissingArticle", WatchArticle="Flow\\Hooks::onWatchArticle", UnwatchArticle="Flow\\Hooks::onWatchArticle", MovePageCheckPermissions="Flow\\Hooks::onMovePageCheckPermissions", MovePageIsValidMove="Flow\\Hooks::onMovePageIsValidMove", TitleMoveStarting="Flow\\Hooks::onTitleMoveStarting", PageMoveCompleting="Flow\\Hooks::onPageMoveCompleting", TitleSquidURLs="Flow\\Hooks::onTitleSquidURLs", WatchlistEditorBuildRemoveLine="Flow\\Hooks::onWatchlistEditorBuildRemoveLine", WatchlistEditorBeforeFormRender="Flow\\Hooks::onWatchlistEditorBeforeFormRender", ["CategoryViewer::doCategoryQuery"]="Flow\\Hooks::onCategoryViewerDoCategoryQuery", ["CategoryViewer::generateLink"]="Flow\\Hooks::onCategoryViewerGenerateLink", ArticleConfirmDelete="Flow\\Hooks::onArticleConfirmDelete", ArticleDelete="Flow\\Hooks::onArticleDelete", ArticleDeleteComplete="Flow\\Hooks::onArticleDeleteComplete", RevisionUndeleted="Flow\\Hooks::onRevisionUndeleted", ArticleUndelete="Flow\\Hooks::onArticleUndelete", SearchableNamespaces="Flow\\Hooks::onSearchableNamespaces", ImportHandleToplevelXMLTag="Flow\\Hooks::onImportHandleToplevelXMLTag", UserMergeAccountFields="Flow\\Hooks::onUserMergeAccountFields", MergeAccountFromTo="Flow\\Hooks::onMergeAccountFromTo", LiquidThreadsIsLqtPage="Flow\\Hooks::onIsLiquidThreadsPage", BeforeCreateEchoEvent="Flow\\Notifications\\Controller::onBeforeCreateEchoEvent", EchoGetBundleRules="Flow\\Notifications\\Controller::onEchoGetBundleRules", GetBetaFeaturePreferences="Flow\\Hooks::onGetBetaFeaturePreferences", SaveUserOptions="Flow\\Hooks::onSaveUserOptions", NukeGetNewPages="Flow\\Hooks::onNukeGetNewPages", NukeDeletePage="Flow\\Hooks::onNukeDeletePage", getUserPermissionsErrors="Flow\\Hooks::onGetUserPermissionsErrors", }, namespaces={ { id=2600, constant="NS_TOPIC", name="Topic", subpages=false, defaultcontentmodel="flow-board", capitallinkoverride=true, movable=false, },}, config={ FlowHelpPage={ value="//www.mediawiki.org/wiki/Special:MyLanguage/Extension:Flow", }, FlowCluster={ value=false, }, FlowDefaultWikiDb={ value=false, }, FlowExternalStore={ value=false, }, FlowContentFormat={ value="html", }, FlowParsoidURL={ value=nil, }, FlowParsoidPrefix={ value=nil, }, FlowParsoidTimeout={ value=nil, }, FlowParsoidHTTPProxy={ value=nil, }, FlowParsoidForwardCookies={ value=false, }, FlowDefaultLimit={ value=10, }, FlowMaxLimit={ value=100, }, FlowMaxMentionCount={ value=50, }, FlowMaxThreadingDepth={ value=8, }, FlowUseMemcache={ value=true, }, FlowCacheTime={ value=259200, }, FlowCacheVersion={ value="4.9", }, FlowAbuseFilterGroup={ value="flow", }, FlowAbuseFilterEmergencyDisableThreshold={ value=0.1, }, FlowAbuseFilterEmergencyDisableCount={ value=50, }, FlowAbuseFilterEmergencyDisableAge={ value=86400, }, FlowAjaxTimeout={ value=30, }, FlowCoreActionWhitelist={ value={ "info","protect","unprotect","unwatch","watch","history","wikilove","move","delete",}, }, FlowServerCompileTemplates={ value=false, }, FlowEnableOptInBetaFeature={ value=false, }, FlowReadOnly={ value=false, }, }, composer="mediawiki/flow", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Flow", }, ForcePreview={ name="ForcePreview", version="2.0.0", author={ "Ryan Schmidt",}, url="https://www.mediawiki.org/wiki/Extension:ForcePreview", descriptionmsg="forcepreview-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.27.0", }, Hooks={ EditPageBeforeEditButtons="ForcePreview::onEditPageBeforeEditButtons", BeforePageDisplay="ForcePreview::onBeforePageDisplay", ResourceLoaderGetConfigVars="ForcePreview::onResourceLoaderGetConfigVars", }, AvailableRights={ "forcepreviewexempt",}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ForcePreview", }, Form={ name="Form", version="0.6.0", author={ "Evan Prodromou","Jack Phoenix",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:Form", descriptionmsg="form-desc", type="specialpage", requires={ MediaWiki=">= 1.33.0", }, SpecialPages={ Form="SpecialForm", }, ExtensionMessagesFiles={ FormAliases="Form.alias.php", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Form", }, FormWizard={ name="FormWizard", version="0.0.1", author={ "Egbe Eugene","James Hare",}, url="https://www.mediawiki.org/wiki/Extension:FormWizard", namemsg="formwizard", descriptionmsg="formwizard-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.35.0", }, SpecialPages={ FormWizard="SpecialFormWizard", }, ExtensionMessagesFiles={ FormWizardAlias="FormWizard.alias.php", FormWizardMagic="FormWizard.magic.php", }, Hooks={ BeforePageDisplay="FormWizardHooks::onBeforePageDisplay", ParserFirstCallInit="FormWizardHooks::onParserSetup", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/FormWizard", }, Forms={ name="Forms", version="1.2-alpha", ["license-name"]="GPL-3.0-only", author={ "Hallo Welt! GmbH",}, url="http://www.hallowelt.com", descriptionmsg="forms-desc", requires={ MediaWiki=">= 1.35.0", }, attributes={ BlueSpiceFoundation={ PermissionRegistry={ ["forms-create-form"]={ type="global", roles={ "editor",}, }, ["forms-edit-form-definition"]={ type="global", roles={ "admin",}, }, }, }, Forms={ Definitions={ FormEditor="Forms/resources/formDefinitions/FormEditor.js", FormProperties="Forms/resources/formDefinitions/FormProperties.js", }, Targets={ ["json-on-wikipage"]="MediaWiki\\Extension\\Forms\\Target\\JsonOnWikiPage::factory", ["form-definition"]="MediaWiki\\Extension\\Forms\\Target\\FormDefinition::factory", database="MediaWiki\\Extension\\Forms\\Target\\Database::factory", email="MediaWiki\\Extension\\Forms\\Target\\Email::factory", template="MediaWiki\\Extension\\Forms\\Target\\Template::factory", }, }, }, callback="mwsInitComponents", ServiceWiringFiles={ "ServiceWiring.php",}, SpecialPages={ CreateFormInstance="MediaWiki\\Extension\\Forms\\Special\\CreateFormInstance", FormEditor={ class="MediaWiki\\Extension\\Forms\\Special\\FormEditor", services={ "MainConfig",}, }, }, ExtensionMessagesFiles={ FormsAlias="languages/Forms.alias.php", }, config={ FormsTargetEMailRecipients={ value={ }, }, }, GroupPermissions={ user={ ["forms-create-form"]=true, }, sysop={ ["forms-create-form"]=true, ["forms-edit-form-definition"]=true, }, }, AvailableRights={ "forms-create-form","forms-edit-form-definition",}, ContentHandlers={ FormDefinition="MediaWiki\\Extension\\Forms\\ContentHandler\\FormDefinitionHandler", FormData="MediaWiki\\Extension\\Forms\\ContentHandler\\FormDataHandler", }, APIModules={ ["forms-get-definitions"]="MediaWiki\\Extension\\Forms\\Api\\GetDefinitions", ["forms-form-submit"]="MediaWiki\\Extension\\Forms\\Api\\FormSubmit", }, Actions={ editdefinitionsource="MediaWiki\\Extension\\Forms\\Action\\FormDefinitionSourceEditAction", }, HookHandlers={ ["discovery-skin"]={ class="\\MediaWiki\\Extension\\Forms\\HookHandler\\DiscoverySkin", }, }, Hooks={ ContentHandlerDefaultModelFor="MediaWiki\\Extension\\Forms\\Setup::onContentHandlerDefaultModelFor", ParserFirstCallInit="MediaWiki\\Extension\\Forms\\Setup::onParserFirstCallInit", ["SkinTemplateNavigation::Universal"]="MediaWiki\\Extension\\Forms\\Setup::onSkinTemplateNavigation_Universal", CodeEditorGetPageLanguage="MediaWiki\\Extension\\Forms\\Setup::onCodeEditorGetPageLanguage", LoadExtensionSchemaUpdates={ "MediaWiki\\Extension\\Forms\\Hook\\LoadExtensionSchemaUpdates\\AddFormAutosaveTable::callback","MediaWiki\\Extension\\Forms\\Hook\\LoadExtensionSchemaUpdates\\AddFormDataTable::callback","MediaWiki\\Extension\\Forms\\Hook\\LoadExtensionSchemaUpdates\\AddFormRevisionTable::callback",}, ChameleonSkinTemplateOutputPageBeforeExec="MediaWiki\\Extension\\Forms\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddEditDefinionSourceAction::callback", BlueSpiceDiscoveryTemplateDataProviderAfterInit="discovery-skin", }, composer="mediawiki/forms", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Forms", }, FundraiserLandingPage={ name="FundraiserLandingPage", author={ "Peter Gehres","Ryan Kaldari",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:FundraiserLandingPage", descriptionmsg="fundraiserlandingpage-desc", version="1.1.0", type="specialpage", requires={ MediaWiki=">= 1.35.0", extensions={ EventLogging="*", }, }, Hooks={ ParserFirstCallInit="MediaWiki\\Extension\\FundraiserLandingPage\\Hooks::onParserFirstCallInit", BeforePageDisplay="MediaWiki\\Extension\\FundraiserLandingPage\\Hooks::onBeforePageDisplay", ResourceLoaderGetConfigVars="MediaWiki\\Extension\\FundraiserLandingPage\\Hooks::onResourceLoaderGetConfigVars", }, ExtensionMessagesFiles={ FundraiserLandingPageAlias="FundraiserLandingPage.alias.php", FundraiserLandingPageMagic="FundraiserLandingPage.i18n.magic.php", }, SpecialPages={ FundraiserLandingPage="MediaWiki\\Extension\\FundraiserLandingPage\\Specials\\FundraiserLandingPage", FundraiserRedirector="MediaWiki\\Extension\\FundraiserLandingPage\\Specials\\FundraiserRedirector", }, attributes={ EventLogging={ Schemas={ LandingPageImpression="/analytics/legacy/landingpageimpression/1.0.0", }, }, }, config={ FundraiserLPDefaults={ value={ template="Lp-layout-default", appeal="Appeal-default", ["appeal-template"]="Appeal-template-default", ["form-template"]="Form-template-default", ["form-countryspecific"]="Form-countryspecific-control", country="XX", }, merge_strategy="array_plus", }, FundraiserLandingPageChapters={ value={ CH="fundraiserlandingpage-wmch-landing-page", DE="fundraiserlandingpage-wmde-landing-page", }, merge_strategy="array_plus", }, FundraiserLandingPageMaxAge={ value=600, }, FundraiserLandingPageELSampleRate={ value=0.01, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/FundraiserLandingPage", }, FundraiserUnsubscribe={ name="FundraisingEmailUnsubscribe", version="2.1.0", author={ "Matt Walker","Elliott Eggleston","Adam Roses Wight",}, ["license-name"]="GPL-2.0-only", url="https://www.mediawiki.org/wiki/Extension:FundraiserUnsubscribe", descriptionmsg="fundraiserunsubscribe-desc", type="specialpage", require={ MediaWiki=">= 1.35.0", }, SpecialPages={ FundraiserUnsubscribe="SpecialFundraiserUnsubscribe", FundraiserSubscribe="SpecialFundraiserSubscribe", }, ExtensionMessagesFiles={ FundraisingEmailUnsubscribeAlias="FundraisingEmailUnsubscribe.alias.php", }, config={ FundraisingEmailUnsubscribeSessionKey="fr-unsub", FundraisingEmailUnsubscribeCancelUri="https://www.wikimediafoundation.org/", FundraisingEmailUnsubscribeHelpEmail="donate@wikimedia.org", FundraisingEmailUnsubscribeHashSecretKey="", FundraisingEmailUnsubscribeSilverpopUsername=nil, FundraisingEmailUnsubscribeSilverpopPassword=nil, FundraisingEmailUnsubscribeSilverpopTimeout=5, FundraisingEmailUnsubscribeSilverpopURL=nil, FundraisingEmailUnsubscribeLogFacility=8, FundraisingEmailUnsubscribeLogXmlTransactions=false, FundraisingEmailUnsubscribeQueueClass="PHPQueue\\Backend\\Predis", FundraisingEmailUnsubscribeQueueParameters={ unsubscribe={ }, ["opt-in"]={ }, }, FundraisingEmailUnsubscribeProcesses={ thankyou={ "FundraiserUnsubscribeThankYou",}, silverpop={ "FundraiserUnsubscribeThankYou","FundraiserUnsubscribeSilverpop",}, optin={ "FundraiserSubscribe",}, }, FundraisingEmailUnsubscribeVarMap={ thankyou={ email={ "FundraiserUnsubscribeThankYou::decodeEmail","e",}, ["contribution-id"]="c", hash="h", }, silverpop={ email={ "FundraiserUnsubscribeSilverpop::decodeEmail","e",}, ["contribution-id"]="c", hash="h", ["mailing-id"]="m", ["recipient-id"]="r", ["job-id"]="j", ["list-id"]="l", }, optin={ email={ "FundraiserUnsubscribeThankYou::decodeEmail","e",}, }, }, TwigCachePath="/tmp/twig", TwigCacheExpiry=300, }, composer="wikimedia/fundraiser-unsubscribe", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/FundraisingEmailUnsubscribe", }, FundraisingTranslateWorkflow={ name="FundraisingTranslateWorkflow", version="0.2", author={ "Adam Roses Wight",}, url="https://www.mediawiki.org/wiki/Extension:FundraisingTranslateWorkflow", descriptionmsg="fundraising-translate-workflow-desc", ["license-name"]="GPL-2.0-only", type="other", requires={ MediaWiki=">= 1.31.0", extensions={ Translate="*", }, }, Hooks={ ["Translate:modifyMessageGroupStates"]="FundraisingTranslateWorkflow\\TranslateHooks::onModifyMessageGroupStates", }, config={ FundraisingTranslateWorkflowPagePatterns={ value={ "|^page-Fundraising/|",}, description="List of regexes to match against message group IDs.", public=true, }, FundraisingTranslateWorkflowPublishRight={ value="translate-manage", description="Additional group right to add to the \"published\" workflow state.", public=true, }, }, composer="mediawiki/fundraising-translate-workflow", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/FundraisingTranslateWorkflow", }, GPGMail={ name="GPGMail", version="0.1.0", author={ "Gergő Tisza",}, url="https://www.mediawiki.org/wiki/Extension:GPGMail", descriptionmsg="gpgmail-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.35.0", }, callback="GPGMailHooks::registerExtension", config={ GPGMailBinary={ value="gpg", }, GPGMailTempDir={ value="/tmp", }, GpgMailUsePgpMime={ description="true: use PGP/MIME, false: use inline encryption", value=true, }, }, Hooks={ GetPreferences="GPGMailHooks::onGetPreferences", UserMailerSplitTo="GPGMailHooks::onUserMailerSplitTo", UserMailerTransformContent="GPGMailHooks::onUserMailerTransformContent", UserMailerTransformMessage="GPGMailHooks::onUserMailerTransformMessage", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GPGMail", }, GWToolset={ name="GWToolset", version="0.4.0", author={ "Dan Entous",}, url="https://www.mediawiki.org/wiki/Extension:GWToolset", descriptionmsg="gwtoolset-desc", ["license-name"]="GPL-3.0-or-later", type="media", config={ GWToolsetConfigOverrides={ value={ }, }, GWTFileBackend={ value="", }, GWTFBMaxAge={ value="1 week", }, }, requires={ MediaWiki=">= 1.38", }, namespaces={ { id=490, constant="NS_GWTOOLSET", name="GWToolset", protection="gwtoolset", subpages=true, },{ id=491, constant="NS_GWTOOLSET_TALK", name="GWToolset_talk", subpages=true, },}, ExtensionFunctions={ "GWToolset\\Config::mergeOverrides",}, AvailableRights={ "gwtoolset",}, ExtensionMessagesFiles={ GWToolsetAlias="GWToolset.alias.php", GWToolsetNamespaces="GWToolset.namespaces.php", }, GroupPermissions={ gwtoolset={ gwtoolset=true, upload_by_url=true, }, }, Hooks={ CodeEditorGetPageLanguage="GWToolset\\Hooks::onCodeEditorGetPageLanguage", ListDefinedTags="GWToolset\\Hooks::onListDefinedTags", ChangeTagsListActive="GWToolset\\Hooks::onChangeTagsListActive", }, JobClasses={ gwtoolsetGWTFileBackendCleanupJob="GWToolset\\Jobs\\GWTFileBackendCleanupJob", gwtoolsetUploadMediafileJob="GWToolset\\Jobs\\UploadMediafileJob", gwtoolsetUploadMetadataJob="GWToolset\\Jobs\\UploadMetadataJob", }, LogActionsHandlers={ ["gwtoolset/*"]="LogFormatter", }, LogTypes={ "gwtoolset",}, SpecialPages={ GWToolset="GWToolset\\SpecialGWToolset", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GWToolset", }, Gadgets={ name="Gadgets", author={ "Daniel Kinzler","Max Semenik",}, url="https://www.mediawiki.org/wiki/Extension:Gadgets", descriptionmsg="gadgets-desc", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.39.0", }, type="other", namespaces={ { id=2300, constant="NS_GADGET", name="Gadget", capitallinkoverride=false, protection="gadgets-edit", },{ id=2301, constant="NS_GADGET_TALK", name="Gadget_talk", },{ id=2302, constant="NS_GADGET_DEFINITION", name="Gadget_definition", protection="gadgets-definition-edit", capitallinkoverride=false, defaultcontentmodel="GadgetDefinition", },{ id=2303, constant="NS_GADGET_DEFINITION_TALK", name="Gadget_definition_talk", },}, ContentHandlers={ GadgetDefinition="MediaWiki\\Extension\\Gadgets\\Content\\GadgetDefinitionContentHandler", }, AvailableRights={ "gadgets-edit","gadgets-definition-edit",}, SpecialPages={ Gadgets="MediaWiki\\Extension\\Gadgets\\SpecialGadgets", GadgetUsage="MediaWiki\\Extension\\Gadgets\\SpecialGadgetUsage", }, APIListModules={ gadgetcategories="MediaWiki\\Extension\\Gadgets\\Api\\ApiQueryGadgetCategories", gadgets="MediaWiki\\Extension\\Gadgets\\Api\\ApiQueryGadgets", }, ExtensionMessagesFiles={ GadgetsAlias="Gadgets.alias.php", GadgetsNamespaces="Gadgets.namespaces.php", }, RawHtmlMessages={ "gadgets-definition",}, HookHandlers={ GadgetHooks={ class="MediaWiki\\Extension\\Gadgets\\Hooks", }, }, Hooks={ PageDeleteComplete="GadgetHooks", PageSaveComplete="GadgetHooks", BeforePageDisplay="GadgetHooks", CodeEditorGetPageLanguage="MediaWiki\\Extension\\Gadgets\\Hooks::onCodeEditorGetPageLanguage", ContentHandlerDefaultModelFor="GadgetHooks", EditFilterMergedContent="GadgetHooks", UserGetDefaultOptions="GadgetHooks", GetPreferences="GadgetHooks", PreferencesGetLegend="GadgetHooks", ResourceLoaderRegisterModules="GadgetHooks", wgQueryPages="GadgetHooks", DeleteUnknownPreferences="GadgetHooks", PreferencesGetIcon="GadgetHooks", }, config={ GadgetsRepoClass={ value="MediaWiki\\Extension\\Gadgets\\MediaWikiGadgetsDefinitionRepo", }, SpecialGadgetUsageActiveUsers={ value=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Gadgets", }, Genealogy={ name="Genealogy", namemsg="genealogy", version="2.2.2", author={ "Sam Wilson",}, url="https://www.mediawiki.org/wiki/Extension:Genealogy", descriptionmsg="genealogy-desc", ["license-name"]="GPL-3.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.36", }, ExtensionMessagesFiles={ GenealogyMagic="Genealogy.i18n.magic.php", }, Hooks={ ParserFirstCallInit="main", ["EditPage::showEditForm:initial"]="main", }, HookHandlers={ main={ class="MediaWiki\\Extension\\Genealogy\\Hooks", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Genealogy", composer="samwilson/mediawiki-extensions-genealogy", }, GenerateMochaConfig={ name="GenerateMochaConfig", author="Clara Andrew-Wani", ["license-name"]="GPL-2.0-or-later", version="1.0", namemsg="generatemochaconfig-extensionname", descriptionmsg="generatemochaconfig-desc", type="other", requires={ MediaWiki=">= 1.31.0", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GenerateMochaConfig", }, GeoCrumbs={ name="GeoCrumbs", version="2.0.1", author={ "Roland Unger","Hans Musil","Matthias Mullie",}, url="https://www.mediawiki.org/wiki/Extension:GeoCrumbs", ["license-name"]="GPL-2.0-or-later", descriptionmsg="geocrumbs-desc", type="parserhook", requires={ MediaWiki=">= 1.38.0", }, ExtensionMessagesFiles={ GeoCrumbsMagic="GeoCrumbs.i18n.magic.php", }, Hooks={ ParserFirstCallInit="MediaWiki\\Extension\\GeoCrumbs\\Hooks::onParserFirstCallInit", ParserAfterTidy="MediaWiki\\Extension\\GeoCrumbs\\Hooks::onParserAfterTidy", OutputPageParserOutput="MediaWiki\\Extension\\GeoCrumbs\\Hooks::onOutputPageParserOutput", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GeoCrumbs", }, GeoData={ name="GeoData", author={ "Max Semenik",}, url="https://www.mediawiki.org/wiki/Extension:GeoData", descriptionmsg="geodata-desc", ["license-name"]="WTFPL", type="other", requires={ MediaWiki=">= 1.40.0", }, APIListModules={ geosearch={ class="GeoData\\Api\\QueryGeoSearch", factory="GeoData\\Hooks::createQueryGeoSearchBackend", }, }, APIPropModules={ coordinates={ class="GeoData\\Api\\QueryCoordinates", services={ "WikiPageFactory",}, }, }, ExtensionMessagesFiles={ GeoDataMagic="GeoData.i18n.magic.php", }, HookHandlers={ geodata={ class="GeoData\\Hooks", services={ "MainConfig",}, }, }, Hooks={ LoadExtensionSchemaUpdates="GeoData\\Hooks::onLoadExtensionSchemaUpdates", ParserFirstCallInit="GeoData\\Hooks::onParserFirstCallInit", ArticleDeleteComplete="GeoData\\Hooks::onArticleDeleteComplete", LinksUpdateComplete="GeoData\\Hooks::onLinksUpdateComplete", FileUpload="GeoData\\Hooks::onFileUpload", OutputPageParserOutput="geodata", SearchIndexFields="geodata", SearchDataForIndex={ handler="geodata", deprecated=true, }, SearchDataForIndex2="geodata", CirrusSearchAddQueryFeatures="GeoData\\Hooks::onCirrusSearchAddQueryFeatures", }, TrackingCategories={ "geodata-broken-tags-category","geodata-unknown-globe-category","geodata-unknown-region-category","geodata-unknown-type-category",}, config={ MaxGeoSearchRadius={ value=10000, }, DefaultGlobe={ value="earth", }, MaxCoordinatesPerPage={ value=500, }, TypeToDim={ value={ country=1000000, satellite=1000000, state=300000, adm1st=100000, adm2nd=30000, adm3rd=10000, city=10000, isle=10000, mountain=10000, river=10000, waterbody=10000, event=5000, forest=5000, glacier=5000, airport=3000, railwaystation=1000, edu=1000, pass=1000, camera=1000, landmark=1000, }, }, DefaultDim={ value=1000, }, Globes={ value={ }, }, GeoDataWarningLevel={ value={ ["unknown type"]="track", ["unknown globe"]="none", ["invalid region"]="track", }, }, GeoDataIndexGranularity={ value=10, }, GeoDataBackend={ value="db", }, GeoDataInJS={ value={ "lat","lon",}, }, GeoDataUseCirrusSearch={ value=false, }, GeoDataRadiusScoreOverrides={ value={ config_override="GeoDataPreferGeoRadiusWeight", uri_param_override="geodataPreferGeoRadiusWeight", }, }, GeoDataDebug={ value=false, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GeoData", }, GeoGebra={ name="GeoGebra", version="3.0.9", author={ "Rudolf Grossmann","Zbynek Konecny","...",}, url="https://www.mediawiki.org/wiki/Extension:GeoGebra", descriptionmsg="geogebra-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.25.0", }, Hooks={ ParserFirstCallInit="ExtGeoGebra::init", BeforePageDisplay="ExtGeoGebra::injectJS", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GeoGebra", }, GettingStarted={ name="GettingStarted", version="1.1.0", author={ "Munaf Assaf","Matt Flaschen","Pau Giner","Kaity Hammerstein","Ori Livneh","Rob Moen","S Page","Sam Smith","Moiz Syed",}, url="https://www.mediawiki.org/wiki/Extension:GettingStarted", descriptionmsg="gettingstarted-desc", ["license-name"]="GPL-2.0-or-later", type="api", requires={ MediaWiki=">= 1.38.0", }, DefaultUserOptions={ ["gettingstarted-task-toolbar-show-intro"]=true, }, APIListModules={ gettingstartedgetpages="GettingStarted\\ApiGettingStartedGetPages", }, Hooks={ BeforePageDisplay="GettingStarted\\Hooks::onBeforePageDisplay", CategoryAfterPageAdded="GettingStarted\\RedisCategorySync::onCategoryAfterPageAdded", CategoryAfterPageRemoved="GettingStarted\\RedisCategorySync::onCategoryAfterPageRemoved", ArticleDeleteComplete="GettingStarted\\RedisCategorySync::onArticleDeleteComplete", MakeGlobalVariablesScript="GettingStarted\\Hooks::onMakeGlobalVariablesScript", ResourceLoaderGetConfigVars="GettingStarted\\Hooks::onResourceLoaderGetConfigVars", ResourceLoaderRegisterModules="GettingStarted\\Hooks::onResourceLoaderRegisterModules", CentralAuthPostLoginRedirect="GettingStarted\\Hooks::onCentralAuthPostLoginRedirect", PostLoginRedirect="GettingStarted\\Hooks::onPostLoginRedirect", GetPreferences="GettingStarted\\Hooks::onGetPreferences", UserLogoutComplete="GettingStarted\\Hooks::onUserLogoutComplete", }, config={ GettingStartedTasks={ value={ copyedit={ toolbarDescription="gettingstarted-task-copyedit-toolbar-description", toolbarTryAnotherTitle="gettingstarted-task-copyedit-toolbar-try-another-title", }, }, merge_strategy="array_plus_2d", }, GettingStartedCategoriesForTaskTypes={ value={ }, }, GettingStartedExcludedCategories={ value={ }, }, GettingStartedRedis={ value=false, }, GettingStartedRedisSlave={ value=false, }, GettingStartedRedisOptions={ value={ serializer="none", }, merge_strategy="array_plus", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GettingStarted", }, Git2Pages={ name="Git2Pages", version="1.1.1", author={ "Teresa Cho","Himeshi de Silva",}, url="https://www.mediawiki.org/wiki/Extension:Git2Pages", descriptionmsg="git2pages-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.31.0", }, callback="Git2PagesHooks::setGit2PagesDataDir", config={ Git2PagesDataDir=nil, }, ExtensionMessagesFiles={ Git2PagesMagic="Git2Pages.i18n.magic.php", }, Hooks={ ParserFirstCallInit="Git2PagesHooks::Git2PagesSetup", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Git2Pages", }, GitGadgets={ name="GitGadgets", version="0.1.0", author={ "Gergő Tisza",}, url="https://www.mediawiki.org/wiki/Extension:GitGadgets", descriptionmsg="gitgadgets-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.29.0", }, ConfigRegistry={ GitGadgets="GlobalVarConfig::newInstance", }, config_prefix="wg", config={ }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GitGadgets", }, GlobalBlocking={ name="GlobalBlocking", author="Andrew Garrett", url="https://www.mediawiki.org/wiki/Extension:GlobalBlocking", descriptionmsg="globalblocking-desc", ["license-name"]="GPL-2.0-or-later", type="other", callback="MediaWiki\\Extension\\GlobalBlocking\\GlobalBlockingHooks::onRegistration", requires={ MediaWiki=">= 1.38.0", }, GroupPermissions={ steward={ globalblock=true, }, sysop={ ["globalblock-whitelist"]=true, }, }, GrantPermissions={ basic={ ["globalblock-exempt"]=true, }, globalblock={ globalblock=true, }, }, GrantPermissionGroups={ globalblock="administration", }, AvailableRights={ "globalblock","globalblock-whitelist","globalblock-exempt",}, SpecialPages={ GlobalBlock={ class="MediaWiki\\Extension\\GlobalBlocking\\Special\\SpecialGlobalBlock", services={ "BlockUserFactory","BlockUtils",}, }, GlobalBlockList={ class="MediaWiki\\Extension\\GlobalBlocking\\Special\\SpecialGlobalBlockList", services={ "BlockUtils",}, }, GlobalBlockStatus={ class="MediaWiki\\Extension\\GlobalBlocking\\Special\\SpecialGlobalBlockStatus", services={ "BlockUtils",}, }, RemoveGlobalBlock={ class="MediaWiki\\Extension\\GlobalBlocking\\Special\\SpecialRemoveGlobalBlock", services={ "BlockUtils",}, }, }, LogTypes={ "gblblock",}, ActionFilteredLogs={ gblblock={ gblock={ "gblock","gblock2",}, gunblock={ "gunblock",}, modify={ "modify",}, whitelist={ "whitelist",}, dwhitelist={ "dwhitelist",}, }, }, LogNames={ gblblock="globalblocking-logpage", }, LogHeaders={ gblblock="globalblocking-logpagetext", }, LogActionsHandlers={ ["gblblock/whitelist"]="MediaWiki\\Extension\\GlobalBlocking\\GlobalBlockWhitelistLogFormatter", ["gblblock/dwhitelist"]="MediaWiki\\Extension\\GlobalBlocking\\GlobalBlockWhitelistLogFormatter", }, LogActions={ ["gblblock/gblock"]="globalblocking-block-logentry", ["gblblock/gblock2"]="globalblocking-block2-logentry", ["gblblock/gunblock"]="globalblocking-unblock-logentry", ["gblblock/modify"]="globalblocking-modify-logentry", }, APIModules={ globalblock={ class="MediaWiki\\Extension\\GlobalBlocking\\Api\\ApiGlobalBlock", services={ "BlockUserFactory",}, }, }, APIListModules={ globalblocks="MediaWiki\\Extension\\GlobalBlocking\\Api\\ApiQueryGlobalBlocks", }, ExtensionMessagesFiles={ GlobalBlockingAlias="GlobalBlocking.alias.php", }, Hooks={ getUserPermissionsErrorsExpensive="main", GetUserBlock="main", UserIsBlockedGlobally="main", SpecialPasswordResetOnSubmit="main", OtherBlockLogLink="main", SpecialContributionsBeforeMainOutput="main", UserMergeAccountFields="MediaWiki\\Extension\\GlobalBlocking\\GlobalBlockingHooks::onUserMergeAccountFields", LoadExtensionSchemaUpdates="MediaWiki\\Extension\\GlobalBlocking\\GlobalBlockingHooks::onLoadExtensionSchemaUpdates", GetBlockErrorMessageKey="main", GetLogTypesOnUser="main", ContributionsToolLinks="main", }, HookHandlers={ main={ class="MediaWiki\\Extension\\GlobalBlocking\\GlobalBlockingHooks", services={ "PermissionManager","MainConfig",}, }, }, config={ GlobalBlockingDatabase={ value="globalblocking", }, ApplyGlobalBlocks={ value=true, }, GlobalBlockingBlockXFF={ value=true, }, GlobalBlockRemoteReasonUrl={ description="Full path to api.php to use to expand templates in block reasons", value=nil, }, GlobalBlockingCIDRLimit={ description="Maximum CIDR range when globally blocking an IP range.", value={ IPv4=16, IPv6=19, }, }, GlobalBlockingAllowedRanges={ description="IP ranges that bypass checks and are always allowed", value={ }, }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GlobalBlocking", }, GlobalContribs={ name="GlobalContribs", version="1.3.0", author={ "Adam Carter","George Barnick","Jack Phoenix",}, url="https://www.mediawiki.org/wiki/Extension:GlobalContribs", descriptionmsg="globalcontribs-desc", ["license-name"]="GPL-3.0-only", type="specialpage", requires={ MediaWiki=">= 1.35.0", extensions={ Editcount="*", }, }, ExtensionMessagesFiles={ GlobalContribsAlias="GlobalContribs.alias.php", }, SpecialPages={ GlobalContributions="SpecialGlobalContributions", GlobalEditcount="SpecialGlobalEditcount", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GlobalContribs", }, GlobalContributions={ name="GlobalContributions", version="0.2.1", author={ "Kunal Mehta","Adam Carter","George Barnick","Jack Phoenix",}, url="https://www.mediawiki.org/wiki/Extension:GlobalContributions", descriptionmsg="guc-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.38.0", }, config={ GUCWikis={ }, }, ExtensionMessagesFiles={ GlobalContributionsAlias="GlobalContributions.alias.php", }, SpecialPages={ GlobalContributions="SpecialGlobalContributions", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GlobalContributions", }, GlobalCssJs={ name="GlobalCssJs", version="3.4.0", author={ "Ryan Schmidt","Szymon Świerkosz","Kunal Mehta",}, url="https://www.mediawiki.org/wiki/Extension:GlobalCssJs", descriptionmsg="globalcssjs-desc", namemsg="globalcssjs-extensionname", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.37.0", }, HookHandlers={ main={ class="MediaWiki\\GlobalCssJs\\Hooks", }, }, Hooks={ BeforePageDisplay="main", ResourceLoaderRegisterModules="main", ["EditPage::showEditForm:initial"]="main", GetPreferences="main", }, config={ UseGlobalSiteCssJs={ value=true, }, GlobalCssJsConfig={ value={ baseurl=false, wiki=false, source=false, }, }, }, attributes={ VisualEditor={ PreloadModules={ "ext.globalCssJs.site","ext.globalCssJs.user",}, }, }, ConfigRegistry={ globalcssjs="GlobalVarConfig::newInstance", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GlobalCssJs", }, GlobalNotice={ name="GlobalNotice", version="0.8.0", author={ "Misza","Jack Phoenix",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:GlobalNotice", descriptionmsg="globalnotice-desc", type="other", requires={ MediaWiki=">= 1.35.0", }, HookHandlers={ default={ class="GlobalNotice", services={ "UserGroupManager",}, }, }, Hooks={ SiteNoticeAfter="default", ["EditPage::showEditForm:initial"]="GlobalNotice::displayWarningOnEditPage", }, config={ GlobalNoticeDisplayWarningOnEditPage={ value=false, path=false, description="Show a big, red warning when editing MediaWiki:Forced-globalnotice and force user to read it and click a link to indicate that they've read the warning before they're allowed to edit the page?", public=false, }, GlobalNoticeFile={ value=false, path=false, description="Location of a file system file from which to read a global notice shown to all users. Wikitext parsing is supported. Only use this if MessageCommons is disabled and you can't serve GlobalNotice content from the MessageCommons wiki on the wiki farm.", public=false, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GlobalNotice", }, GlobalPreferences={ name="GlobalPreferences", version="0.1.2", author={ "Kunal Mehta","Sam Wilson","Max Semenik",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:GlobalPreferences", descriptionmsg="globalprefs-desc", type="specialpage", requires={ MediaWiki=">= 1.38.0", }, config={ GlobalPreferencesDB={ value=nil, }, GlobalPreferencesAutoPrefs={ value={ }, }, }, SpecialPages={ GlobalPreferences="GlobalPreferences\\SpecialGlobalPreferences", }, ExtensionMessagesFiles={ GlobalPreferencesAlias="GlobalPreferences.alias.php", }, Hooks={ LoadUserOptions="GlobalPreferences\\Hooks::onLoadUserOptions", SaveUserOptions="GlobalPreferences\\Hooks::onSaveUserOptions", PreferencesFormPreSave="GlobalPreferences\\Hooks::onPreferencesFormPreSave", LoadExtensionSchemaUpdates="GlobalPreferences\\Hooks::onLoadExtensionSchemaUpdates", MediaWikiServices="GlobalPreferences\\Hooks::onMediaWikiServices", BeforePageDisplay="GlobalPreferences\\Hooks::onBeforePageDisplay", DeleteUnknownPreferences="GlobalPreferences\\Hooks::onDeleteUnknownPreferences", ApiOptions="GlobalPreferences\\Hooks::onApiOptions", }, APIModules={ globalpreferences={ class="GlobalPreferences\\ApiGlobalPreferences", services={ "PreferencesFactory","UserOptionsManager",}, }, globalpreferenceoverrides={ class="GlobalPreferences\\ApiGlobalPreferenceOverrides", services={ "PreferencesFactory","UserOptionsManager",}, }, }, APIMetaModules={ globalpreferences={ class="GlobalPreferences\\ApiQueryGlobalPreferences", services={ "PreferencesFactory","UserOptionsLookup",}, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GlobalPreferences", }, GlobalUsage={ name="Global Usage", version="2.2.0", author="Bryan Tong Minh", url="https://www.mediawiki.org/wiki/Extension:GlobalUsage", descriptionmsg="globalusage-desc", ["license-name"]="MIT", requires={ MediaWiki=">= 1.37.0", }, type="specialpage", SpecialPages={ MostGloballyLinkedFiles={ class="MediaWiki\\Extension\\GlobalUsage\\SpecialMostGloballyLinkedFiles", services={ "DBLoadBalancer","LinkBatchFactory",}, }, GloballyWantedFiles={ class="MediaWiki\\Extension\\GlobalUsage\\SpecialGloballyWantedFiles", services={ "DBLoadBalancer","LinkBatchFactory","RepoGroup",}, }, GloballyUnusedFiles="MediaWiki\\Extension\\GlobalUsage\\SpecialGloballyUnusedFiles", GlobalUsage="MediaWiki\\Extension\\GlobalUsage\\SpecialGlobalUsage", }, JobClasses={ globalUsageCachePurge="MediaWiki\\Extension\\GlobalUsage\\GlobalUsageCachePurgeJob", }, APIPropModules={ globalusage="MediaWiki\\Extension\\GlobalUsage\\ApiQueryGlobalUsage", }, ExtensionMessagesFiles={ GlobalUsageAliases="GlobalUsage.alias.php", }, Hooks={ LinksUpdateComplete="MediaWiki\\Extension\\GlobalUsage\\Hooks::onLinksUpdateComplete", ArticleDeleteComplete="MediaWiki\\Extension\\GlobalUsage\\Hooks::onArticleDeleteComplete", FileDeleteComplete="MediaWiki\\Extension\\GlobalUsage\\Hooks::onFileDeleteComplete", FileUndeleteComplete="MediaWiki\\Extension\\GlobalUsage\\Hooks::onFileUndeleteComplete", UploadComplete="MediaWiki\\Extension\\GlobalUsage\\Hooks::onUploadComplete", ImagePageAfterImageLinks="MediaWiki\\Extension\\GlobalUsage\\GlobalUsageImagePageHooks::onImagePageAfterImageLinks", ImagePageShowTOC="MediaWiki\\Extension\\GlobalUsage\\GlobalUsageImagePageHooks::onImagePageShowTOC", PageMoveComplete="MediaWiki\\Extension\\GlobalUsage\\Hooks::onPageMoveComplete", LoadExtensionSchemaUpdates="MediaWiki\\Extension\\GlobalUsage\\Hooks::onLoadExtensionSchemaUpdates", wgQueryPages="MediaWiki\\Extension\\GlobalUsage\\Hooks::onwgQueryPages", }, config={ GlobalUsageDatabase={ description="If set to false, the local database contains the globalimagelinks table, else set to something understandable to LBFactory", value=false, }, GlobalUsageSharedRepoWiki={ description="Name of the shared repo that backlinks are shared for", value=false, }, GlobalUsagePurgeBacklinks={ description="If set to true, this will purge pages on the wikis that use a file when it changes. This works by directly inserting HTMLCacheUpdate jobs into the local wikis. @see $wgGlobalUsagePurgeBacklinks", value=false, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GlobalUsage", }, GlobalUserPage={ name="GlobalUserPage", version="0.11.1", author={ "Kunal Mehta","Jack Phoenix",}, url="https://www.mediawiki.org/wiki/Extension:GlobalUserPage", descriptionmsg="globaluserpage-desc", ["license-name"]="GPL-3.0-or-later", type="other", requires={ MediaWiki=">= 1.37.0", }, ExtensionMessagesFiles={ GlobalUserPageMagic="GlobalUserPage.i18n.magic.php", }, Hooks={ TitleIsAlwaysKnown="MediaWiki\\GlobalUserPage\\Hooks::onTitleIsAlwaysKnown", ArticleFromTitle="MediaWiki\\GlobalUserPage\\Hooks::onArticleFromTitle", LinksUpdateComplete="MediaWiki\\GlobalUserPage\\Hooks::onLinksUpdateComplete", PageSaveComplete="MediaWiki\\GlobalUserPage\\Hooks::onPageSaveComplete", ArticleDeleteComplete="MediaWiki\\GlobalUserPage\\Hooks::onArticleDeleteComplete", TitleGetEditNotices="MediaWiki\\GlobalUserPage\\Hooks::onTitleGetEditNotices", GetDoubleUnderscoreIDs="MediaWiki\\GlobalUserPage\\Hooks::onGetDoubleUnderscoreIDs", WikiPageFactory="MediaWiki\\GlobalUserPage\\Hooks::onWikiPageFactory", }, config={ GlobalUserPageCacheExpiry={ value=604800, }, GlobalUserPageAPIUrl={ value="https://example.org/w/api.php", }, GlobalUserPageTimeout={ value=10, }, GlobalUserPageFooterKey={ value="globaluserpage-footer", }, GlobalUserPageDBname={ value="examplewiki", }, }, JobClasses={ GlobalUserPageLocalJobSubmitJob="MediaWiki\\GlobalUserPage\\LocalJobSubmitJob", LocalGlobalUserPageCacheUpdateJob="MediaWiki\\GlobalUserPage\\LocalCacheUpdateJob", }, DefaultUserOptions={ globaluserpage=true, }, ConfigRegistry={ globaluserpage="GlobalVarConfig::newInstance", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GlobalUserPage", }, GlobalUserrights={ name="GlobalUserrights", version="1.5.3", author={ "Nathaniel Herman","Mainframe98",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:GlobalUserrights", descriptionmsg="gur-desc", type="specialpage", requires={ MediaWiki=">= 1.35.3", }, SpecialPages={ GlobalUserrights="GlobalUserrights", }, ExtensionMessagesFiles={ GlobalUserrightsAlias="GlobalUserrights.alias.php", }, Hooks={ LoadExtensionSchemaUpdates="GlobalUserrightsHooks::onLoadExtensionSchemaUpdates", UserEffectiveGroups="GlobalUserrightsHooks::onUserEffectiveGroups", SpecialListusersQueryInfo="GlobalUserrightsHooks::onSpecialListusersQueryInfo", SiteStatsNumberInGroup="GlobalUserrightsHooks::updateStatsForGUR", UserIsBot="GlobalUserrightsHooks::onUserIsBot", UsersPagerDoBatchLookups="GlobalUserrightsHooks::onUsersPagerDoBatchLookups", }, LogTypes={ "gblrights",}, LogNames={ gblrights="gur-rightslog-name", }, LogHeaders={ gblrights="gur-rightslog-header", }, LogActionsHandlers={ ["gblrights/rights"]="GlobalRightsLogFormatter", }, AvailableRights={ "userrights-global",}, GroupPermissions={ staff={ ["userrights-global"]=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GlobalUserrights", }, GlobalWatchlist={ name="GlobalWatchlist", author={ "DannyS712",}, url="https://www.mediawiki.org/wiki/Extension:GlobalWatchlist", descriptionmsg="globalwatchlist-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.38.0", }, SpecialPages={ GlobalWatchlist={ class="MediaWiki\\Extension\\GlobalWatchlist\\SpecialGlobalWatchlist", services={ "StatsdDataFactory",}, }, GlobalWatchlistSettings={ class="MediaWiki\\Extension\\GlobalWatchlist\\SpecialGlobalWatchlistSettings", factory="MediaWiki\\Extension\\GlobalWatchlist\\SpecialGlobalWatchlistSettings::newFromGlobalState", services={ "GlobalWatchlistSettingsManager","SpecialPageFactory","UserOptionsLookup",}, }, }, HookHandlers={ GlobalWatchlistHooks={ class="MediaWiki\\Extension\\GlobalWatchlist\\GlobalWatchlistHooks", services={ "SpecialPageFactory","StatsdDataFactory",}, }, GlobalWatchlistGuidedTourHooks={ class="MediaWiki\\Extension\\GlobalWatchlist\\GlobalWatchlistGuidedTourHooks", factory="MediaWiki\\Extension\\GlobalWatchlist\\GlobalWatchlistGuidedTourHooks::newFromGlobalState", }, }, Hooks={ ApiOptions={ handler="GlobalWatchlistHooks", }, GetPreferences={ handler="GlobalWatchlistHooks", }, LoginFormValidErrorMessages={ handler="GlobalWatchlistHooks", }, ResourceLoaderRegisterModules={ handler="GlobalWatchlistGuidedTourHooks", }, SidebarBeforeOutput={ handler="GlobalWatchlistHooks", }, }, ExtensionMessagesFiles={ GlobalWatchlistAliases="GlobalWatchlist.alias.php", }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, config={ GlobalWatchlistWikibaseSite={ value=false, description="Site for which labels should be fetched for items on the watchlist, or false for none", }, GlobalWatchlistUseVue={ value=false, description="Whether to use the Vue version of the code for Special:GlobalWatchlist", }, GlobalWatchlistDevMode={ value=false, description="Whether to send debug entries to the console and enable using 'displayversion' to override whether or not the vue version of the display is shown.", }, GlobalWatchlistEnableGuidedTour={ value=false, description="Whether to enable the GuidedTour for Special:GlobalWatchlistSettings", }, GlobalWatchlistSiteLimit={ value=5, description="The maximum number of sites that a user can save to their watchlist. Set to 0 to disable the limit", }, }, QUnitTestModule={ localBasePath="", remoteExtPath="GlobalWatchlist", packageFiles={ "tests/qunit/tests.js","tests/qunit/Debug.tests.js","tests/qunit/Linker.tests.js","tests/qunit/getSettings.tests.js","tests/qunit/WatchlistUtils.tests.js","modules/Debug.js","modules/EntryBase.js","modules/Linker.js","modules/getSettings.js","modules/WatchlistUtils.js",}, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GlobalWatchlist", }, GoToShell={ name="GoToShell", version="1.0.1", author="Nathan Larson", url="https://www.mediawiki.org/wiki/Extension:GoToShell", descriptionmsg="gotoshell-desc", type="specialpage", requires={ MediaWiki=">= 1.29.0", }, AvailableRights={ "gotoshell",}, GroupPermissions={ bureaucrat={ gotoshell=true, }, }, SpecialPages={ GoToShell="SpecialGoToShell", }, ExtensionMessagesFiles={ GoToShellAlias="GoToShell.alias.php", }, config={ GoToShellCommand={ value="ls", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GoToShell", }, Google_AdSense={ name="Google AdSense", namemsg="googleadsense-extensionname", version="3.0.0", author={ "Siebrand Mazeland","Zoranzoki21",}, url="https://www.mediawiki.org/wiki/Extension:Google_AdSense", descriptionmsg="googleadsense-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.29.0", }, Hooks={ SkinBuildSidebar="GoogleAdSense::onSkinBuildSidebar", }, config={ GoogleAdSenseClient={ value="none", }, GoogleAdSenseSlot={ value="none", }, GoogleAdSenseID={ value="none", }, GoogleAdSenseWidth={ value=120, }, GoogleAdSenseHeight={ value=240, }, GoogleAdSenseLang={ value="en", }, GoogleAdSenseEncoding={ value="utf8", }, GoogleAdSenseSrc={ value="//pagead2.googlesyndication.com/pagead/show_ads.js", }, GoogleAdSenseAnonOnly={ value=false, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GoogleAdSense", }, GoogleAnalyticsMetrics={ name="GoogleAnalyticsMetrics", version="1.0.2", author={ "Ike Hecht","Nischay Nahata",}, url="https://www.mediawiki.org/wiki/Extension:GoogleAnalyticsMetrics", descriptionmsg="googleanalyticsmetrics-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.35.0", }, config={ GoogleAnalyticsMetricsAllowed="*", GoogleAnalyticsMetricsPath=nil, GoogleAnalyticsMetricsExpiry=600, GoogleAnalyticsMetricsViewId="", }, ExtensionMessagesFiles={ GoogleAnalyticsMetricsHooksMagic="GoogleAnalyticsMetrics.i18n.magic.php", }, Hooks={ ParserFirstCallInit="GoogleAnalyticsMetricsHooks::onParserFirstCallInit", }, composer="mediawiki/google-analytics-metrics", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GoogleAnalyticsMetrics", }, GoogleAnalyticsTopPages={ name="GoogleAnalyticsTopPages", version="0.0.2", author="Florian Schmidt", url="https://www.mediawiki.org/wiki/Extension:GoogleAnalyticsTopPages", descriptionmsg="googleanalyticstoppages-desc", ["license-name"]="MIT", type="parserhook", requires={ MediaWiki=">= 1.36.0", }, SpecialPages={ GoogleAnalyticsTopPages="SpecialGoogleAnalyticsTopPages", }, APIModules={ googlepagestatsupdate="ApiGooglePageStatsUpdate", }, ExtensionMessagesFiles={ GoogleAnalyticsTopPagesAlias="GoogleAnalyticsTopPages.alias.php", }, Hooks={ LoadExtensionSchemaUpdates="GoogleAnalyticsTopPagesHooks::onLoadExtensionSchemaUpdates", ParserFirstCallInit="GoogleAnalyticsTopPagesHooks::onParserFirstCallInit", }, config={ GATPServiceAccountName="", GATPKeyFileLocation="", GATPAppName="googleanalyticstoppages", GATPProfileId="", GATPInterval=30, GATPProtectAPI=true, }, composer="mediawiki/googleanalyticstoppages", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GoogleAnalyticsTopPages", }, GoogleAuthenticator={ name="GoogleAuthenticator", author="Youri van den Bogert", version="1.0.0", url="https://www.xl-knowledge.nl", descriptionmsg="googleauthenticator-desc", ["license-name"]="GPL-2.0+", type="other", requires={ MediaWiki=">= 1.35.0", }, ExtensionMessagesFiles={ GoogleAuthenticatorAlias="GoogleAuthenticator.i18n.alias.php", }, Hooks={ BeforePageDisplay="MediaWiki\\Extension\\GoogleAuthenticator\\Hooks::onBeforePageDisplay", }, SpecialPages={ Google2FARecover={ class="MediaWiki\\Extension\\GoogleAuthenticator\\Google2FARecover", services={ "UserOptionsManager",}, }, }, config={ GAIssuer="__SITENAME__", }, AuthManagerAutoConfig={ secondaryauth={ ["MediaWiki\\Extension\\GoogleAuthenticator\\Google2FactorSecondaryAuthenticationProvider"]={ class="MediaWiki\\Extension\\GoogleAuthenticator\\Google2FactorSecondaryAuthenticationProvider", sort=50, }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GoogleAuthenticator", }, GoogleCustomWikiSearch={ name="GoogleCustomWikiSearch", version="0.6.0", author="Ike Hecht for WikiWorks", url="https://www.mediawiki.org/wiki/Extension:GoogleCustomWikiSearch", descriptionmsg="gcws-desc", type="specialpage", requires={ MediaWiki=">= 1.31.0", }, SpecialPages={ GoogleCustomWikiSearch="SpecialGoogleCustomWikiSearch", }, ExtensionMessagesFiles={ GoogleCustomWikiSearchAlias="includes/specials/SpecialGoogleCustomWikiSearch.alias.php", }, Hooks={ SpecialSearchSetupEngine="GoogleCustomWikiSearchHooks::onSpecialSearchSetupEngine", SpecialPageAfterExecute="GoogleCustomWikiSearchHooks::onSpecialPageAfterExecute", }, config={ GoogleCustomWikiSearchReplaceSearch={ description="Configuration value for replacing standard search. Default is false. When true, standard search will be replaced.", value=false, }, GoogleCustomWikiSearchAppendToSearch={ description="Append to standard search results? Only makes sense if $wgGoogleCustomWikiSearchReplaceSearch is false.", value=false, }, GoogleCustomWikiSearchId={ description="Google Custom Search ID - requires account with Google. Note that if this is left blank (not set in LocalSettings), the result will be a site search.", value="", }, GoogleCustomWikiSearchOptions={ description="The custom search options may leave out customSearchControl.draw, though options will only display then if the variable is named 'options'. If this is set, $wgGoogleCustomWikiSearchId is ignored.", value="", }, GoogleCustomWikiSearchTheme={ description="The search theme which may be overwitten by Control Panel settings in Google script Version 2. Possible values are: 'DEFAULT', 'BUBBLEGUM', 'ESPRESSO', 'GREENSKY', 'MINIMALIST', 'SHINY'.", value="V2_DEFAULT", }, GoogleCustomWikiSearchCodeVersion={ description="Version of Google's script.", value=2, }, }, composer="mediawiki/googlecustomwikisearch", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GoogleCustomWikiSearch", }, GoogleDocCreator={ name="GoogleDocCreator", version="2.0", author={ "Nischay Nahata","Sanjay Thiyagarajan",}, url="https://www.mediawiki.org/wiki/Extension:GoogleDocCreator", descriptionmsg="googledoccreator-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", ExtensionMessagesFiles={ GoogleDocsCreatorAlias="GoogleDocCreator.alias.php", }, SpecialPages={ GoogleDocCreator="SpecialGoogleDocCreator", }, Hooks={ ParserFirstCallInit="SpecialGoogleDocCreator::setParserHook", }, config={ GoogleApiClientCredentialsPath="", }, requires={ MediaWiki=">= 1.35.0", }, composer="mediawiki/google-doc-creator", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GoogleDocCreator", }, GoogleDocTag={ name="GoogleDocTag", version="0.6", author={ "Reddo","Felipe Schenone",}, url="https://www.mediawiki.org/wiki/Extension:GoogleDocTag", descriptionmsg="googledoctag-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.29.0", }, Hooks={ ParserFirstCallInit="GoogleDocTag::setParserHook", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GoogleDocTag", }, GoogleDocs4MW={ name="GoogleDocs4MW", version="1.4", author={ "Jack Phoenix",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:GoogleDocs4MW", descriptionmsg="googledocs4mw-desc", type="parserhook", requires={ MediaWiki=">= 1.31.0", }, Hooks={ ParserFirstCallInit="GoogleDocs4MW::registerTag", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GoogleDocs4MW", }, GoogleGeocode={ name="GoogleGeocode", author="Ike Hecht", url="https://www.mediawiki.org/wiki/Extension:GoogleGeocode", descriptionmsg="googlegeocode-desc", ["license-name"]="GPL-2.0-or-later", version="0.1.0", type="parserhook", requires={ MediaWiki=">= 1.31.0", }, config={ GoogleGeocodeAPIKey=nil, GoogleGeocodeExpiry=600, GoogleGeocodeDelimiter=";", }, Hooks={ ParserFirstCallInit="GoogleGeocodeHooks::onParserFirstCallInit", }, ExtensionMessagesFiles={ GoogleGeocodeMagic="GoogleGeocode.i18n.magic.php", }, repository="https://phabricator.wikimedia.org/diffusion/EGGC", composer="mediawiki/google-geocode", }, GoogleLogin={ name="GoogleLogin", version="0.4.0-git", author="Florian Schmidt", url="https://www.mediawiki.org/wiki/Extension:GoogleLogin", descriptionmsg="googlelogin-desc-authmanager", ["license-name"]="MIT", type="other", GroupPermissions={ sysop={ managegooglelogin=true, }, }, requires={ MediaWiki=">= 1.36.0", }, AvailableRights={ "managegooglelogin","managegooglelogindomains",}, ConfigRegistry={ googlelogin="GlobalVarConfig::newInstance", }, SpecialPages={ GoogleLoginReturn="GoogleLogin\\Specials\\SpecialGoogleLoginReturn", ManageGoogleLogin="GoogleLogin\\Specials\\SpecialManageGoogleLogin", GoogleLoginAllowedDomains="GoogleLogin\\Specials\\SpecialGoogleLoginAllowedDomains", }, DefaultUserOptions={ ["echo-subscriptions-web-change-googlelogin"]=true, ["echo-subscriptions-email-change-googlelogin"]=true, }, APIModules={ googleplusprofileinfo="GoogleLogin\\Api\\ApiGoogleLoginInfo", }, ExtensionMessagesFiles={ GoogleLoginAlias="GoogleLogin.alias.php", }, AuthManagerAutoConfig={ primaryauth={ ["GoogleLogin\\Auth\\GooglePrimaryAuthenticationProvider"]={ class="GoogleLogin\\Auth\\GooglePrimaryAuthenticationProvider", sort=0, }, }, }, callback="GoogleLogin\\GoogleLoginHooks::onSetup", Hooks={ AuthChangeFormFields="GoogleLogin\\GoogleLoginHooks::onAuthChangeFormFields", UserLogoutComplete="GoogleLogin\\GoogleLoginHooks::onUserLogoutComplete", LoadExtensionSchemaUpdates="GoogleLogin\\GoogleLoginHooks::onLoadExtensionSchemaUpdates", MergeAccountFromTo="GoogleLogin\\GoogleLoginHooks::onMergeAccountFromTo", UserMergeAccountDeleteTables="GoogleLogin\\GoogleLoginHooks::onUserMergeAccountDeleteTables", BeforeCreateEchoEvent="GoogleLogin\\GoogleLoginHooks::onBeforeCreateEchoEvent", EchoGetBundleRules="GoogleLogin\\GoogleLoginHooks::onEchoGetBundleRules", ["ApiMain::moduleManager"]="GoogleLogin\\GoogleLoginHooks::onApiMainModuleManager", }, config={ GLSecret="", GLAppId="", GLAllowedDomains="", GLAllowedDomainsStrict=false, GLAllowedDomainsDB=false, GLAPIKey="", GLEnableEchoEvents=true, GLAuthoritativeMode=false, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, composer="mediawiki/googlelogin", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GoogleLogin", }, GoogleNewsSitemap={ name="GoogleNewsSitemap", version="2.1.0", author={ "Amgine","Brian Wolff",}, url="https://www.mediawiki.org/wiki/Extension:GoogleNewsSitemap", descriptionmsg="googlenewssitemap-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.35.0", }, SpecialPages={ GoogleNewsSitemap={ class="MediaWiki\\Extension\\GoogleNewsSitemap\\Specials\\GoogleNewsSitemap", services={ "NamespaceInfo","ContentLanguage","MainWANObjectCache","DBLoadBalancer","HookContainer",}, }, }, ExtensionMessagesFiles={ GoogleNewsSitemapAlias="GoogleNewsSitemap.alias.php", }, FeedClasses={ sitemap="MediaWiki\\Extension\\GoogleNewsSitemap\\SitemapFeed", }, config={ GNSMmaxCategories={ value=6, }, GNSMmaxResultCount={ value=50, }, GNSMfallbackCategory={ value="Published", }, GNSMsmaxage={ value=1800, }, GNSMcommentNamespace={ value=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GoogleNewsSitemap", }, GooglePlaces={ name="GooglePlaces", author="Ike Hecht", url="https://www.mediawiki.org/wiki/Extension:GooglePlaces", descriptionmsg="googleplaces-desc", ["license-name"]="GPL-2.0-or-later", version="1.1", type="parserhook", requires={ MediaWiki=">= 1.31.0", }, config={ GooglePlacesAPIKey=nil, GooglePlacesExpiry=600, }, Hooks={ ParserFirstCallInit="GooglePlacesHooks::onParserFirstCallInit", }, ExtensionMessagesFiles={ GooglePlacesMagic="GooglePlaces.i18n.magic.php", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GooglePlaces", }, GoogleSiteSearch={ name="GoogleSiteSearch", version="3.1", author="Ryan Finnie", url="https://www.mediawiki.org/wiki/Extension:GoogleSiteSearch", descriptionmsg="googlesitesearch-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", Hooks={ SpecialSearchResultsPrepend="GoogleSiteSearch::searchPrepend", SpecialSearchResultsAppend="GoogleSiteSearch::searchAppend", }, config={ GoogleSiteSearchCSEID="", GoogleSiteSearchOnly=false, GoogleSiteSearchAppend=false, GoogleSiteSearchAttributes={ }, }, requires={ MediaWiki=">= 1.32.0", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GoogleSiteSearch", }, Graph={ name="Graph", author={ "Dan Andreescu","Yuri Astrakhan","Frédéric Bolduc",}, url="https://www.mediawiki.org/wiki/Extension:Graph", descriptionmsg="graph-desc", ["license-name"]="MIT", type="parserhook", requires={ MediaWiki=">= 1.40.0", }, APIModules={ graph={ class="Graph\\ApiGraph", services={ "Parser","MainWANObjectCache","WikiPageFactory",}, }, }, QUnitTestModule={ localBasePath="", remoteExtPath="Graph", scripts={ "modules/ve-graph/tests/ext.graph.visualEditor.test.js",}, dependencies={ "ext.graph.visualEditor","ext.graph.vega1","test.VisualEditor",}, }, LateJSConfigVarNames={ "wgGraphSpecs",}, Hooks={ ParserFirstCallInit="Graph\\Hooks::onParserFirstCallInit", OutputPageParserOutput="Graph\\Hooks::onOutputPageParserOutput", }, attributes={ VisualEditor={ PluginModules={ "ext.graph.visualEditor",}, }, }, config={ GraphAllowedDomains={ value={ }, }, GraphDefaultVegaVer={ value=2, }, }, TrackingCategories={ "graph-tracking-category","graph-obsolete-category","graph-broken-category",}, SpecialPages={ GraphSandbox="Graph\\Sandbox", }, ExtensionMessagesFiles={ GraphAliases="Graph.alias.php", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Graph", }, GraphQL={ name="GraphQL", url="https://www.mediawiki.org/wiki/Extension:GraphQL", namemsg="graphql", descriptionmsg="graphql-desc", ["license-name"]="GPL-3.0-or-later", type="api", requires={ MediaWiki=">= 1.35", }, config={ GraphQLValidateSchema={ value=true, }, }, ExtensionMessagesFiles={ GraphQLAlias="GraphQL.alias.php", }, SpecialPages={ GraphQL={ class="MediaWiki\\GraphQL\\SpecialPage\\SpecialGraphQL", services={ "LinkRenderer","GraphQLPromiseAdapter","GraphQLSchemaFactory","GraphQLFederatedSchemaFactory",}, }, GraphQLSandbox={ class="MediaWiki\\GraphQL\\SpecialPage\\SpecialGraphQLSandbox", services={ "LinkRenderer","GraphQLPromiseAdapter","GraphQLSchemaFactory",}, }, }, ServiceWiringFiles={ "./ServiceWiring.php",}, HookHandlers={ router={ class="MediaWiki\\GraphQL\\HookHandler\\Router", services={ "SpecialPageFactory","TitleFormatter",}, }, }, Hooks={ WebRequestPathInfoRouter="router", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GraphQL", }, GraphViz={ name="GraphViz", version="3.0.0", type="parserhook", author={ "Keith Welter","Victor Fariña","Matthew Pearson","Thomas Hummel","Gregory Szorc",}, url="https://www.mediawiki.org/wiki/Extension:GraphViz", descriptionmsg="graphviz-desc", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.34.0", extensions={ ImageMap="*", }, }, Hooks={ ParserFirstCallInit="MediaWiki\\Extension\\GraphViz\\GraphViz::onParserInit", ArticleDeleteComplete="MediaWiki\\Extension\\GraphViz\\GraphViz::onArticleDeleteComplete", PageContentSave="MediaWiki\\Extension\\GraphViz\\GraphViz::onPageContentSave", RejectParserCacheValue="MediaWiki\\Extension\\GraphViz\\GraphViz::onRejectParserCacheValue", UserGetReservedNames="MediaWiki\\Extension\\GraphViz\\GraphViz::onUserGetReservedNames", }, config={ GraphVizExecPath={ description="The executable binary path of GraphViz.", descriptionmsg="graphviz-setting-execpath", value=nil, path=false, public=true, }, GraphVizMscgenPath={ description="The executable binary path of mscgen for GraphViz.", descriptionmsg="graphviz-setting-mscgenpath", value="", path=false, public=true, }, GraphVizDefaultImageType={ description="The default output image type for GraphViz.", descriptionmsg="graphviz-setting-defaultimg", value="png", path=false, public=true, }, }, ConfigRegistry={ GraphViz="GlobalVarConfig::newInstance", }, composer="mediawiki/graph-viz", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GraphViz", }, Gravatar={ name="Gravatar", author={ "Mainframe98",}, url="https://www.mediawiki.org/wiki/Extension:Gravatar", descriptionmsg="gravatar-desc", namemsg="gravatar-extensionname", ["license-name"]="MIT", requires={ MediaWiki=">=1.35.0", }, HookHandlers={ main={ class="MediaWiki\\Extension\\Gravatar\\Hook\\Handler", }, }, Hooks={ BeforePageDisplay="main", GetPreferences="main", }, DefaultUserOptions={ ["gravatar-use-gravatar"]=false, }, ServiceWiringFiles={ "src/ServiceWiring.php",}, ConfigRegistry={ Gravatar="GlobalVarConfig::newInstance", }, config={ GravatarServer={ value="//gravatar.com", }, GravatarDefaultAvatar={ value="mp", }, GravatarAcceptedAvatarRating={ value="g", }, GravatarIgnoredSkins={ value={ }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Gravatar", }, GroupWhitelist={ name="GroupWhitelist", author={ "WikiWorks team",}, url="https://www.mediawiki.org/wiki/Extension:GroupWhitelist", descriptionmsg="groupwhitelist-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.34.0", }, config={ GroupWhitelistRights={ description="A list of actions to be allowed", value={ "edit",}, merge_strategy="array_plus", }, GroupWhitelistGroup={ description="A group affected by the extension", value={ "user",}, merge_strategy="array_plus", }, GroupWhitelistSourcePage={ description="A page to look for list of whitelisted pages", value="MediaWiki:Whitelist", }, GroupWhitelistAPIAllow={ description="API modules to be always granted with the right", value={ }, }, }, Hooks={ getUserPermissionsErrors="MediaWiki\\Extension\\GroupWhitelist\\Hooks::ongetUserPermissionsErrors", UserGetRights="MediaWiki\\Extension\\GroupWhitelist\\Hooks::onUserGetRights", }, ConfigRegistry={ GroupWhitelist="GlobalVarConfig::newInstance", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GroupWhitelist", }, GroupsSidebar={ name="GroupsSidebar", version="0.3.0", author="Church of emacs", url="https://www.mediawiki.org/wiki/Extension:GroupsSidebar", descriptionmsg="groupssidebar-desc", type="parserhook", requires={ MediaWiki=">= 1.35.0", }, Hooks={ SidebarBeforeOutput="GroupsSidebar::efHideSidebar", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GroupsSidebar", }, GrowthExperiments={ name="GrowthExperiments", descriptionmsg="growthexperiments-desc", ["license-name"]="GPL-3.0-or-later", author={ "Stephane Bisson","Kosta Harlan","Roan Kattouw","Gergő Tisza","Martin Urbanec","Mew Ophaswongse","Sergio Gimeno",}, url="https://www.mediawiki.org/wiki/Extension:GrowthExperiments", requires={ MediaWiki=">= 1.39.0", }, ExtensionMessagesFiles={ GrowthExperimentsAlias="GrowthExperiments.alias.php", GrowthExperimentsMagic="GrowthExperiments.i18n.magic.php", }, ServiceWiringFiles={ "ServiceWiring.php",}, ConfigRegistry={ GrowthExperiments="GlobalVarConfig::newInstance", }, JobClasses={ newcomerTasksCacheRefreshJob="GrowthExperiments\\NewcomerTasks\\TaskSuggester\\NewcomerTasksCacheRefreshJob", setUserMentorDatabaseJob="GrowthExperiments\\Mentorship\\Store\\SetUserMentorDatabaseJob", reassignMenteesJob="GrowthExperiments\\Mentorship\\ReassignMenteesJob", menteeOverviewUpdateDataForMentor="GrowthExperiments\\MentorDashboard\\MenteeOverview\\MenteeOverviewUpdateDataForMentorJob", refreshUserImpactJob="GrowthExperiments\\UserImpact\\RefreshUserImpactJob", }, APIModules={ helppanelquestionposter={ class="GrowthExperiments\\Api\\ApiHelpPanelPostQuestion", services={ "GrowthExperimentsQuestionPosterFactory",}, }, homepagequestionstore="GrowthExperiments\\Api\\ApiQuestionStore", growthsetmentor={ class="GrowthExperiments\\Api\\ApiSetMentor", services={ "GrowthExperimentsMentorManager","GrowthExperimentsChangeMentorFactory",}, }, growthstarmentee={ class="GrowthExperiments\\Api\\ApiStarMentee", services={ "GrowthExperimentsStarredMenteesStore",}, }, growthsetmenteestatus={ class="GrowthExperiments\\Api\\ApiSetMenteeStatus", services={ "GrowthExperimentsMultiConfig","GrowthExperimentsMentorManager","GrowthExperimentsMentorStore",}, }, growthsetmentorstatus={ class="GrowthExperiments\\Api\\ApiSetMentorStatus", services={ "GrowthExperimentsMentorProvider","GrowthExperimentsMentorStatusManager",}, }, growthmanagementorlist={ class="GrowthExperiments\\Api\\ApiManageMentorList", services={ "GrowthExperimentsMentorProvider","GrowthExperimentsMentorWriter","GrowthExperimentsMentorStatusManager",}, }, growthmentordashboardupdatedata={ class="GrowthExperiments\\Api\\ApiMentorDashboardUpdateData", services={ "GrowthExperimentsMentorProvider","JobQueueGroup",}, }, growthinvalidateimagerecommendation={ class="GrowthExperiments\\Api\\ApiInvalidateImageRecommendation", services={ "GrowthExperimentsAddImageSubmissionHandler","GrowthExperimentsTaskSuggesterFactory","GrowthExperimentsNewcomerTasksUserOptionsLookup",}, }, }, APIListModules={ growthtasks={ class="GrowthExperiments\\Api\\ApiQueryGrowthTasks", services={ "GrowthExperimentsTaskSuggesterFactory","GrowthExperimentsNewcomerTasksConfigurationLoader","GrowthExperimentsLinkRecommendationFilter","GrowthExperimentsImageRecommendationFilter","GrowthExperimentsProtectionFilter",}, }, growthstarredmentees={ class="GrowthExperiments\\Api\\ApiQueryStarredMentees", services={ "GrowthExperimentsStarredMenteesStore",}, }, growthmentormentee={ class="GrowthExperiments\\Api\\ApiQueryMentorMentee", services={ "GrowthExperimentsMentorStore",}, }, }, APIMetaModules={ growthmentorstatus={ class="GrowthExperiments\\Api\\ApiQueryMentorStatus", services={ "GrowthExperimentsMentorProvider","GrowthExperimentsMentorStatusManager",}, }, growthmenteestatus={ class="GrowthExperiments\\Api\\ApiQueryMenteeStatus", services={ "GrowthExperimentsMentorManager",}, }, }, RestRoutes={ { path="/growthexperiments/v0/quickstarttips/{skin}/{editor}/{tasktypeid}/{uselang}", method="GET", class="GrowthExperiments\\Rest\\Handler\\TipsHandler", services={ "GrowthExperimentsTipsAssembler","GrowthExperimentsNewcomerTasksConfigurationLoader",}, },{ path="/growthexperiments/v0/suggestions/addlink/{title}", method="GET", class="GrowthExperiments\\Rest\\Handler\\AddLinkSuggestionsHandler", services={ "GrowthExperimentsLinkRecommendationHelper",}, },{ path="/growthexperiments/v0/suggestions/info", method="GET", class="GrowthExperiments\\Rest\\Handler\\SuggestionsInfoHandler", services={ "GrowthExperimentsSuggestionsInfo","MainWANObjectCache",}, },{ path="/growthexperiments/v0/mentees", method="GET", class="GrowthExperiments\\Rest\\Handler\\MenteesHandler", services={ "GrowthExperimentsMenteeOverviewDataProvider","GrowthExperimentsStarredMenteesStore","UserFactory","TitleFactory","TitleParser","LinkBatchFactory",}, },{ path="/growthexperiments/v0/mentees/prefixsearch/{prefix}", method="GET", class="GrowthExperiments\\Rest\\Handler\\MenteesPrefixSearchHandler", services={ "GrowthExperimentsMenteeOverviewDataProvider",}, },{ path="/growthexperiments/v0/newcomertask/complete", method="POST", class="GrowthExperiments\\Rest\\Handler\\NewcomerTaskCompleteHandler", services={ "GrowthExperimentsNewcomerTasksChangeTagsManager",}, },{ path="/growthexperiments/v0/welcomesurvey/skip", method="POST", class="GrowthExperiments\\Rest\\Handler\\WelcomeSurveySkipHandler", services={ "GrowthExperimentsWelcomeSurveyFactory",}, },{ path="/growthexperiments/v0/user-impact/{user}", method="GET", class="GrowthExperiments\\Rest\\Handler\\UserImpactHandler", services={ "MainConfig","_GrowthExperimentsAQSConfig","GrowthExperimentsUserImpactStore","GrowthExperimentsUserImpactLookup","TitleFactory","ContentLanguage","StatsdDataFactory","JobQueueGroup","UserFactory",}, },}, HookHandlers={ welcomeSurvey={ class="GrowthExperiments\\WelcomeSurveyHooks", services={ "MainConfig","TitleFactory","SpecialPageFactory","GrowthExperimentsWelcomeSurveyFactory","GrowthExperimentsCampaignConfig",}, }, helppanel={ class="GrowthExperiments\\HelpPanelHooks", services={ "MainConfig","GrowthExperimentsMultiConfig","GenderCache","UserEditTracker","UserOptionsManager","GrowthExperimentsMentorManager","GrowthExperimentsMentorStatusManager",}, }, homepage={ class="GrowthExperiments\\HomepageHooks", services={ "MainConfig","DBLoadBalancer","UserOptionsManager","UserOptionsLookup","NamespaceInfo","TitleFactory","PerDbNameStatsdDataFactory","JobQueueGroup","GrowthExperimentsNewcomerTasksConfigurationLoader","GrowthExperimentsCampaignConfig","GrowthExperimentsExperimentUserManager","GrowthExperimentsTaskTypeHandlerRegistry","GrowthExperimentsTaskSuggesterFactory","GrowthExperimentsNewcomerTasksUserOptionsLookup","GrowthExperimentsLinkRecommendationStore","GrowthExperimentsLinkRecommendationHelper","SpecialPageFactory","GrowthExperimentsNewcomerTasksChangeTagsManager","GrowthExperimentsSuggestionsInfo",}, }, parserfunctions={ class="GrowthExperiments\\ParserFunctionsHooks", }, mentor={ class="GrowthExperiments\\Mentorship\\Hooks\\MentorHooks", services={ "MainConfig","GrowthExperimentsMultiConfig","GrowthExperimentsMentorManager","GrowthExperimentsMentorProvider","GrowthExperimentsMentorStore",}, }, mentorfilters={ class="GrowthExperiments\\Mentorship\\Hooks\\MentorFilterHooks", services={ "GrowthExperimentsConfig","GrowthExperimentsMentorStore","GrowthExperimentsStarredMenteesStore","GrowthExperimentsMentorProvider",}, }, mentoruseroptions={ class="GrowthExperiments\\Mentorship\\Hooks\\MentorUserOptionsHooks", }, mentordashboard={ class="GrowthExperiments\\MentorDashboard\\MentorDashboardHooks", }, mentordashboarddiscovery={ class="GrowthExperiments\\MentorDashboard\\MentorDashboardDiscoveryHooks", services={ "GrowthExperimentsConfig","GrowthExperimentsMentorProvider","UserOptionsLookup",}, }, tour={ class="GrowthExperiments\\TourHooks", services={ "UserOptionsLookup","GrowthExperimentsExperimentUserManager",}, }, schema={ class="GrowthExperiments\\SchemaHooks", }, config={ class="GrowthExperiments\\Config\\ConfigHooks", services={ "GrowthExperimentsConfigValidatorFactory","GrowthExperimentsWikiPageConfigLoader","TitleFactory","MainConfig",}, }, variant={ class="GrowthExperiments\\VariantHooks", services={ "UserOptionsManager","GrowthExperimentsCampaignConfig","SpecialPageFactory",}, }, visualeditor={ class="GrowthExperiments\\VisualEditorHooks", services={ "TitleFactory","GrowthExperimentsNewcomerTasksConfigurationLoader","GrowthExperimentsTaskTypeHandlerRegistry","PerDbNameStatsdDataFactory",}, }, earlylifecycle={ class="GrowthExperiments\\EarlyLifeCycleHooks", services={ "UserOptionsLookup",}, }, impact={ class="GrowthExperiments\\ImpactHooks", services={ "MainConfig","GrowthExperimentsUserImpactLookup_Computed","GrowthExperimentsUserImpactStore","UserOptionsLookup","UserFactory","DBLoadBalancer","UserEditTracker",}, }, }, Hooks={ ManualLogEntryBeforePublish={ "impact",}, ContributeCards="homepage", SpecialPage_initList={ "welcomeSurvey","homepage","variant","mentor",}, SpecialPageBeforeExecute={ "welcomeSurvey",}, UserGetDefaultOptions={ "helppanel","homepage","tour","mentordashboard","mentoruseroptions",}, RecentChange_save="homepage", LocalUserCreated={ "helppanel","homepage","mentor","variant","welcomeSurvey",}, GetPreferences={ "welcomeSurvey","helppanel","homepage","tour","mentoruseroptions","mentordashboard","variant",}, ResourceLoaderExcludeUserOptions={ "helppanel","homepage","mentordashboard","mentoruseroptions","variant",}, PostLoginRedirect={ "welcomeSurvey","variant",}, CentralAuthPostLoginRedirect={ "welcomeSurvey","variant",}, SiteNoticeAfter="homepage", SpecialContributionsBeforeMainOutput="homepage", BeforePageDisplay={ "helppanel","homepage","tour","mentordashboarddiscovery","welcomeSurvey",}, ConfirmEmailComplete="homepage", SkinMinervaOptionsInit={ "GrowthExperiments\\HomepageHooks::onSkinMinervaOptionsInit",}, ListDefinedTags={ "helppanel","homepage","mentor",}, ChangeTagsListActive={ "helppanel","homepage","mentor",}, PageSaveComplete={ "config","homepage","mentor","impact",}, JsonValidateSave="config", SkinAddFooterLinks="variant", SidebarBeforeOutput="homepage", ["MessageCache::get"]="earlylifecycle", AuthChangeFormFields={ "GrowthExperiments\\ConfirmEmailHooks::onAuthChangeFormFields","homepage","variant",}, UserSendConfirmationMail={ "GrowthExperiments\\ConfirmEmailHooks::onUserSendConfirmationMail",}, ResourceLoaderRegisterModules={ "tour","impact",}, WikimediaEventsShouldSchemaEditAttemptStepOversample={ "GrowthExperiments\\HomepageHooks::onWikimediaEventsShouldSchemaEditAttemptStepOversample",}, BeforeCreateEchoEvent={ "GrowthExperiments\\Mentorship\\Hooks\\MentorHooks::onBeforeCreateEchoEvent",}, FormatAutocomments={ "homepage","mentor",}, ParserFirstCallInit="parserfunctions", SearchDataForIndex={ handler="homepage", deprecated=true, }, SearchDataForIndex2="homepage", LoadExtensionSchemaUpdates="schema", UnitTestsAfterDatabaseSetup="schema", EditFilterMergedContent="config", ["SkinTemplateNavigation::Universal"]={ "config","homepage","mentordashboarddiscovery",}, ResourceLoaderGetConfigVars="variant", VisualEditorApiVisualEditorEditPreSave="visualeditor", VisualEditorApiVisualEditorEditPostSave="visualeditor", ChangesListSpecialPageStructuredFilters="mentorfilters", CirrusSearchAddQueryFeatures="GrowthExperiments\\HomepageHooks::onCirrusSearchAddQueryFeatures", UserGetRights="mentor", CirrusSearchScoreBuilder="homepage", }, attributes={ EventLogging={ Schemas={ HelpPanel="/analytics/legacy/helppanel/1.3.0", HomepageModule="/analytics/legacy/homepagemodule/1.6.0", NewcomerTask="/analytics/legacy/newcomertask/1.0.0", HomepageVisit="/analytics/legacy/homepagevisit/1.5.0", }, }, CirrusSearch={ RescoreProfiles={ growth_underlinked={ i18n_msg="growthexperiments-underlinked-rescore-profile", supported_namespaces="content", fallback_profile="classic_noboostlinks", rescore={ { window=8192, window_size_override="CirrusSearchFunctionRescoreWindowSize", query_weight="1.0", rescore_query_weight="1.0", score_mode="multiply", type="function_score", function_chain="growth_underlinked_chain", },}, }, }, RescoreFunctionScoreChains={ growth_underlinked_chain={ functions={ { type="growth_underlinked", },}, }, }, }, }, QUnitTestModule={ localBasePath="", remoteExtPath="GrowthExperiments", packageFiles={ "tests/qunit/index.js","modules/utils/Utils.js","tests/qunit/utils/Utils.test.js","modules/ext.growthExperiments.Homepage.SuggestedEdits/NewcomerTaskLogger.js","tests/qunit/ext.growthExperiments.Homepage.SuggestedEdits/NewcomerTaskLogger.test.js","modules/ext.growthExperiments.Homepage.Logger/index.js","tests/qunit/ext.growthExperiments.Homepage.Logger/index.test.js","modules/utils/HelpPanelLogger.js","tests/qunit/ext.growthExperiments.Help/HelpPanelLogger.test.js","modules/ext.growthExperiments.Help/HelpPanelProcessDialog.js","modules/ext.growthExperiments.Help/HelpPanelSearchWidget.js","modules/ext.growthExperiments.Help/HelpPanelProcessDialog.SuggestedEditsPanel.js","modules/ui-components/SuggestedEditsPeek.js","modules/ext.growthExperiments.Help/QuickStartTips.js","modules/ext.growthExperiments.Help/QuickStartTipsTabPanelLayout.js","modules/ext.growthExperiments.Help/HelpPanelHomeButtonWidget.js","modules/ext.growthExperiments.DataStore/TaskTypesAbFilter.js","tests/qunit/ext.growthExperiments.Help/HelpPanelProcessDialog.test.js","modules/ext.growthExperiments.Help/HelpPanelProcessDialog.SwitchEditorPanel.js","tests/qunit/ext.growthExperiments.Help/HelpPanelProcessDialog.SwitchEditorPanel.test.js","modules/ext.growthExperiments.Help/AskHelpPanel.js","tests/qunit/ext.growthExperiments.Help/AskHelpPanel.test.js","modules/ext.growthExperiments.Homepage.SuggestedEdits/PagerWidget.js","tests/qunit/ext.growthExperiments.Homepage.SuggestedEdits/PagerWidget.test.js","modules/ext.growthExperiments.Homepage.SuggestedEdits/ErrorCardWidget.js","tests/qunit/ext.growthExperiments.Homepage.SuggestedEdits/ErrorCardWidget.test.js","modules/ext.growthExperiments.StructuredTask/addlink/AddLinkArticleTarget.js","modules/ext.growthExperiments.StructuredTask/addlink/LinkSuggestionInteractionLogger.js","modules/ext.growthExperiments.StructuredTask/StructuredTaskLogger.js","tests/qunit/ext.growthExperiments.StructuredTask/addlink/AddLinkArticleTarget.test.js","tests/qunit/ext.growthExperiments.StructuredTask/addlink/dataprovider.json","modules/ext.growthExperiments.StructuredTask/addimage/AddImageUtils.js","tests/qunit/ext.growthExperiments.StructuredTask/addimage/AddImageUtils.test.js","modules/ext.growthExperiments.StructuredTask/addimage/ImageSuggestionInteractionLogger.js","tests/qunit/ext.growthExperiments.PostEdit/PostEditPanel.test.js","modules/ext.growthExperiments.PostEdit/PostEditPanel.js","tests/qunit/ext.growthExperiments.PostEdit/PostEditToastMessage.test.js","modules/ext.growthExperiments.PostEdit/PostEditToastMessage.js","tests/qunit/ext.growthExperiments.PostEdit/PostEditDrawer.test.js","modules/ext.growthExperiments.PostEdit/PostEditDrawer.js","modules/ext.growthExperiments.Homepage.SuggestedEdits/SmallTaskCard.js","modules/utils/IconUtils.js","modules/ext.growthExperiments.Homepage.SuggestedEdits/NewcomerTaskLogger.js","modules/utils/HelpPanelLogger.js","tests/qunit/ext.growthExperiments.StructuredTask/StructuredTaskLogger.test.js","modules/ext.growthExperiments.Homepage.mobile/index.js","modules/ext.growthExperiments.Homepage.mobile/TaskPreviewWidget.js","modules/ext.growthExperiments.Homepage.mobile/LastDayEditsWidget.js","modules/ext.growthExperiments.Homepage.mobile/SuggestedEditsMobileSummary.js","tests/qunit/ext.growthExperiments.Homepage.mobile/SuggestedEditsMobileSummary.test.js","modules/ext.growthExperiments.DataStore/constants.js","modules/ext.growthExperiments.DataStore/TopicFilters.js","modules/ext.growthExperiments.DataStore/GrowthTasksApi.js","tests/qunit/ext.growthExperiments.DataStore/GrowthTasksApi.test.js","modules/ext.growthExperiments.DataStore/Topics.js","modules/ext.growthExperiments.Homepage.SuggestedEdits/FiltersDialog.js","modules/ext.growthExperiments.Homepage.SuggestedEdits/TopicFiltersDialog.js","modules/ext.growthExperiments.Homepage.SuggestedEdits/TopicSelectionWidget.js","modules/ext.growthExperiments.Homepage.SuggestedEdits/SuggestionWidget.js","modules/ext.growthExperiments.Homepage.SuggestedEdits/SuggestionGroupWidget.js","modules/ext.growthExperiments.Homepage.SuggestedEdits/MatchModeSelectWidget.js","modules/ext.growthExperiments.Homepage.SuggestedEdits/TaskTypeSelectionWidget.js","modules/ext.growthExperiments.Homepage.SuggestedEdits/ArticleCountWidget.js","modules/ext.growthExperiments.Homepage.SuggestedEdits/DifficultyFiltersDialog.js","modules/ext.growthExperiments.Homepage.SuggestedEdits/FiltersButtonGroupWidget.js","tests/qunit/ext.growthExperiments.Homepage.SuggestedEdits/FiltersButtonGroupWidget.test.js","modules/ext.growthExperiments.Homepage.SuggestedEdits/StartEditingDialog.js","modules/ui-components/SwipePane.js","tests/qunit/ext.growthExperiments.Homepage.SuggestedEdits/StartEditingDialog.test.js","modules/ext.growthExperiments.DataStore/FiltersStore.js","tests/qunit/ext.growthExperiments.DataStore/FiltersStore.test.js","modules/ext.growthExperiments.DataStore/NewcomerTasksStore.js","tests/qunit/ext.growthExperiments.DataStore/NewcomerTasksStore.test.js","modules/ui-components/CollapsibleDrawer.js","tests/qunit/ui-components/CollapsibleDrawer.test.js","modules/ui-components/SelectWithTextInputWidget.js","modules/ui-components/OptionWithTextInputWidget.js","tests/qunit/ui-components/SelectWithTextInputWidget.test.js","tests/qunit/__mocks__/config.json","tests/qunit/__mocks__/GroupedTopics.json","tests/qunit/__mocks__/Topics.json","tests/qunit/__mocks__/store.js",{ name="modules/ext.growthExperiments.DataStore/config.json", file="tests/qunit/__mocks__/config.json", },{ name="modules/ext.growthExperiments.Help/data.json", file="tests/qunit/ext.growthExperiments.Help/configData.json", },{ name="modules/ext.growthExperiments.DataStore/Topics.json", file="tests/qunit/__mocks__/Topics.json", },{ name="modules/ext.growthExperiments.DataStore/TaskTypes.json", file="tests/qunit/__mocks__/TaskTypes.json", },{ name="modules/ext.growthExperiments.DataStore/DefaultTaskTypes.json", file="tests/qunit/ext.growthExperiments.Help/mocks.js", },{ name="modules/ext.growthExperiments.DataStore/AQSConfig.json", file="tests/qunit/__mocks__/AQSConfig.json", },}, dependencies={ "oojs-ui","mediawiki.qunit-testrunner","mediawiki.base","mediawiki.router","ext.growthExperiments.SuggestedEditSession","ext.growthExperiments.DataStore","sinonjs",}, }, config={ GERefreshUserImpactDataMaintenanceScriptEnabled={ description="Feature flag to determine if the refreshUserImpactData.php maintenance script may run.", value=false, }, GEInfoboxTemplates={ description="List of templates that provide Infobox functionality.", value={ }, }, GEInfoboxTemplatesTest={ description="List of templates that provide Infobox functionality. Used for manually testing changes.", value={ }, }, GEDatabaseCluster={ description="Which database cluster to use. False means the cluster of the current wiki will be used. The database name will be the database name configured for the wiki, regardless of this setting. Only set this if you manage the DB schema manually.", value=false, }, GEWikiConfigPageTitle={ description="Name of page used for on-wiki config; must be in NS_MEDIAWIKI and end with .json; only variables listed in GEOnWikiConfigAllowList may be overriden on wiki", value="MediaWiki:GrowthExperimentsConfig.json", }, GEWikiConfigEnabled={ description="If set to false, on-wiki configuration will be ignored. WARNING: This will fallback to PHP-globals for all config. By setting this to false, you can break most of the features.", value=true, }, GEHelpPanelReadingModeNamespaces={ description="Numerical IDs of the MediaWiki namespaces in which to show the help panel in reading mode. Specifying a namespace will also include its talk namespace. Defaults to NS_PROJECT and NS_HELP namespaces.", value={ 2,4,12,}, }, GEHelpPanelExcludedNamespaces={ description="MediaWiki namespaces that the help panel will be excluded from.", value={ }, }, GEHelpPanelNewAccountEnableWithHomepage={ description="By default, the help panel is enabled for new accounts in lockstep with the homepage, controlled by GEHomepageNewAccountEnablePercentage. To disable this behavior and use GEHelpPanelNewAccountEnablePercentage instead, set this to false.", value=true, }, GEHelpPanelNewAccountEnablePercentage={ description="Percentage of new accounts to enable help panel for. Must be a whole number. Ignored by default, only used if GEHelpPanelNewAccountEnableWithHomepage is false.", value=100, }, GEHelpPanelHelpDeskTitle={ description="Mediawiki title for help panel CTA when users have disabled JS. Templates or magic words contained in this string will be expanded.", value="Main_Page", }, GEHelpPanelHelpDeskPostOnTop={ description="Whether to post new questions on the top of the help desk. Default is to post on the bottom (like section=new does). Only affects wikitext pages.", value=false, }, GEHelpPanelViewMoreTitle={ description="MediaWiki title for view more articles on help link.", value="Main_Page", }, GEHelpPanelEnabled={ description="Global ON/OFF switch for the help panel feature.", value=true, }, GEHelpPanelLoggingEnabled={ description="ON/OFF switch for the help panel event logging feature.", value=true, }, GEHelpPanelLinks={ description="List of links to display in the help panel.", merge_strategy="array_plus", value={ { title="Project:Help", text="Site help", id="help", },}, }, GEHelpPanelSearchNamespaces={ description="List of namespaces to include in the search for help content.", value={ 4,12,}, }, GEHelpPanelSearchForeignAPI={ description="api.php URL of a foreign wiki to search instead of the current wiki. Used for testing/development to get more/better results.", value=false, }, GEHelpPanelSuggestedEditsPreferredEditor={ description="The preferred editor interface for suggested edits. The key is the task type handler ID (template-based or link-recommendation). Valid values for template-based are 'visualeditor' or 'wikitext'; for link-recommendation & image-recommendation only machineSuggestions is valid", value={ ["template-based"]="visualeditor", ["link-recommendation"]="machineSuggestions", ["image-recommendation"]="machineSuggestions", }, }, GEHelpPanelAskMentor={ description="When using the help panel's question-asking functionality, post on the mentor's talk page instead of on the help desk page.", value=true, }, WelcomeSurveyEnabled={ description="Global ON/OFF switch for the Welcome survey feature.", value=true, }, WelcomeSurveyAllowFreetextResponses={ description="If set to true, freetext responses with the welcome survey are allowed.", value=false, }, WelcomeSurveyPrivacyPolicyUrl={ description="URL of the privacy policy to be used on the Welcome survey.", value="https://meta.wikimedia.org/wiki/Data_retention_guidelines#Exceptions_to_these_guidelines", }, WelcomeSurveyReminderExpiry={ description="Number of days a reminder on Special:Homepage should be shown for if the user has not filled out the welcome survey yet. Set to 0 to disable the reminder.", value=30, }, GEHomepageEnabled={ description="Global ON/OFF switch for the Homepage feature.", value=true, }, GEHomepageNewAccountEnablePercentage={ description="Percentage of new accounts to enable homepage for. Must be a whole number.", value=100, }, GEHomepageNewAccountVariants={ description="Deprecated and will be removed. See GEHomepageNewAccountVariantsByPlatform.", value={ control=100, }, }, GEHomepageNewAccountVariantsByPlatform={ description="Which percentage of new accounts to assign which A/B testing variant. For each variant, assign a percentage to \"mobile\" or \"desktop\" platforms. For legacy reasons this has 'Homepage' in the name and is only applied to new accounts for whom the homepage got enabled. Percentages must be whole numbers. If the percentages don't add up to 100, some new accounts will not be assigned a variant. Those accounts will fall back on GEHomepageDefaultVariant. The random choice can be overridden with the geForceVariant query parameter.", value={ control={ mobile=0, desktop=100, }, imagerecommendation={ mobile=100, desktop=0, }, }, }, GEHomepageDefaultVariant={ description="GEHomepageNewAccountVariants variant to use for users who weren't assigned a variant at account creation time, or the variant they got is not valid anymore. Must be one of control, imagerecommendation", value="control", }, GEHomepageLoggingEnabled={ description="ON/OFF switch for the homepage event logging feature.", value=true, }, GEMentorshipEnabled={ description="Are the mentorship features enabled?", value=true, }, GEMentorshipNewAccountEnablePercentage={ description="Percentage of new homepage-enabled users who will receive the mentorship module. Note that user must fall into _both_ GEHomepageNewAccountEnablePercentage and this percentage to be considered for mentorship.", value=100, }, GEMentorshipAutomaticEligibility={ description="Automatically grant \"enrollasmentor\" to users who are eligible to enroll as mentors. See GEMentorshipMinimumAge and GEMentorshipMinimumEditcount to define eligibility rules (requirements set by both variables need to be met to make users eligible).", value=true, }, GEMentorshipMinimumAge={ description="Minimum tenure (in days) required for users to be eligible as mentors. Only used if GEMentorshipAutomaticEligibility is true and GEMentorProvider is structured. To make an user eligible for mentorship, they need to satisfy both GEMentorshipMinimumAge and GEMentorshipMinimumEditcount.", value=90, }, GEMentorshipMinimumEditcount={ description="Minimum number of edits required for users to be eligible as mentors. Only used if GEMentorshipAutomaticEligibility is true and GEMentorProvider is structured. To make an user eligible for mentorship, they need to satisfy both GEMentorshipMinimumAge and GEMentorshipMinimumEditcount.", value=500, }, GEMentorshipUseIsActiveFlag={ description="Temporary config variable. Controls whether code attempts to access gemm_mentee_is_active", value=true, }, GEHomepageMentorsList={ description="Title of the wiki page that contains the list of auto-assigned mentors (cf. GEHomepageManualAssignmentMentorsList). May be null if no such page exists.", value="Main_Page", }, GEHomepageManualAssignmentMentorsList={ description="Title of the wiki page that contains the list of manually assigned mentors (cf. GEHomepageMentorsList). Null if no such page exists.", value=nil, }, GEStructuredMentorList={ description="Title of the wiki page that has the mentor list in JSON format (used by StructuredMentorProvider)", value="MediaWiki:GrowthMentors.json", }, GEMentorProvider={ description="Migration variable. Controls which MentorProvider is used. One of MentorProvider::PROVIDER_* constants", value="wikitext", }, GEMentorDashboardEnabled={ description="Should users be allowed to access Special:MentorDashboard?", value=true, }, GEMentorDashboardDeploymentMode={ description="One of stable/beta/alpha. Used by the mentor dashboard to display only features intended on that wiki.", value="alpha", }, GERecentChangesUnstarredMenteesFilterEnabled={ description="Enable filtering for unstarred mentees in Special:RecentChanges. This must not be enabled on wikis with more than 10k mentees per mentor.", value=true, }, GEHomepageSuggestedEditsEnabled={ description="Global ON/OFF switch for the suggested edits feature on the homepage.", value=true, }, GEHomepageSuggestedEditsIntroLinks={ description="Titles of local help pages linked from the suggested edits intro dialog.", value={ create="Help:Creating pages", image="Help:Images", }, }, GEHomepageSuggestedEditsEnableTopics={ description="Enable topic filters for suggested edits", value=true, }, GEConfirmEmailEnabled={ description="Global ON/OFF switch for the email confirmation changes.", value=true, }, GENewcomerTasksConfigTitle={ description="Title of a MediaWiki page which contains suggested edits configuration. If the title has an interwiki prefix, then its content will be loaded remotely via an HTTP request. Should be in the MediaWiki: namespace, have JSON content type and contain a map of task type -> task configuration where task configuration consists of the following fields: type  - a task type handler ID; group - 'easy', 'medium' or 'hard'. An optional 'disabled' field, when present and truthy, will make the system ignore that task type. Depending on the task type, there might be other fields, specifically:\n- type=template-based: templates - an array of template names (without namespace) for the maintenance templates\n- type=link-recommendation: minimumTasksPerTopic, minimumLinksPerTask, minimumLinkScore, maximumLinksPerTask, maximumLinksToShowPerTask, minimumTimeSinceLastEdit, minimumWordCount, maximumWordCount: parameters of acceptable tasks.\n\nThe system messages growthexperiments-homepage-suggestededits-tasktype-name- and growthexperiments-homepage-suggestededits-tasktype-description- will be used for task name and description; both must exist.", value="MediaWiki:NewcomerTasks.json", }, GENewcomerTasksTopicType={ description="How the topic of an article is identified. One of: morelike - use CirrusSearch morelikethis search with a predefined set of representetative articles for each topic; ores - use ORES articletopic predictions.", value="morelike", }, GENewcomerTasksOresTopicConfigTitle={ description="Title of a MediaWiki page which contains ORES topic configuration for suggested edits. If the title has an interwiki prefix, then its content will be loaded remotely via an HTTP request. Should be in the MediaWiki: namespace,  have JSON content type and contain an object like { topics:, groups: }. is a map of topic id -> topic configuration, with each topic an object with the properties 'group' (for grouping topics visually; each section name corresponds with a growthexperiments-homepage-suggestededits-topic-group-name- system message which must exist) and 'oresTopics' (list of ORES topic IDs to use for this topic, ie. the values to use with the articletopic: search keyword). The system message growthexperiments-homepage-suggestededits-topic-name- will be used for human-readable topic name and must exist. is a list of the group ids used in the topics section, to define the order of groups.", value="MediaWiki:NewcomerTopicsOres.json", }, GENewcomerTasksTopicConfigTitle={ description="Title of a MediaWiki page which contains morelike topic configuration for suggested edits. If the title has an interwiki prefix, then its content will be loaded remotely via an HTTP request. Should be in the MediaWiki: namespace, have JSON content type and contain a map of topic id -> topic configuration, which is an object with the properties 'titles' (list of mainspace page names of pages which are considered representative of the topic, to be used for text similarity comparision) and 'label' (human-readable name).", value="MediaWiki:NewcomerTopics.json", }, GENewcomerTasksTaskTypeHandlers={ description="Used for registering TaskTypeHandlers to the TaskTypeHandlerRegistry. An associative array with handler ID => handler specification, which is an ObjectFactory specification or a factory callable. Handlers IDs correspond to the 'type' parameters in the task config page.", value={ ["template-based"]={ class="GrowthExperiments\\NewcomerTasks\\TaskType\\TemplateBasedTaskTypeHandler", services={ "GrowthExperimentsNewcomerTasksConfigurationValidator","GrowthExperimentsTemplateBasedTaskSubmissionHandler","TitleParser",}, }, ["link-recommendation"]={ class="GrowthExperiments\\NewcomerTasks\\TaskType\\LinkRecommendationTaskTypeHandler", services={ "GrowthExperimentsNewcomerTasksConfigurationValidator","TitleParser","GrowthExperimentsLinkRecommendationProvider","GrowthExperimentsAddLinkSubmissionHandler",}, }, ["image-recommendation"]={ class="GrowthExperiments\\NewcomerTasks\\TaskType\\ImageRecommendationTaskTypeHandler", services={ "GrowthExperimentsNewcomerTasksConfigurationValidator","TitleParser","GrowthExperimentsImageRecommendationProvider","GrowthExperimentsAddImageSubmissionHandler",}, }, null={ class="GrowthExperiments\\NewcomerTasks\\TaskType\\NullTaskTypeHandler", }, }, }, GENewcomerTasksRemoteApiUrl={ description="URL of a remote API (ending with 'api.php') to use for identifying suggested edits. This is meant for developer setups.", value=nil, }, GENewcomerTasksRemoteArticleOrigin={ description="Origin to append suggested article URLs to (e.g. 'https://en.wikipedia.org'). This is meant for developer setups.", value=nil, }, GENewcomerTasksGuidanceEnabled={ description="Global ON/OFF switch for the newcomer tasks guidance feature.", value=true, }, GENewcomerTasksGuidanceRequiresOptIn={ description="If true, the guidance feature will only be displayed to users who have the (hidden) preference for it enabled. If false (default), it will be displayed to everyone.", value=false, }, GERestbaseUrl={ description="URL of the RESTBase service (PCS Summary API - see https://www.mediawiki.org/wiki/Page_Content_Service#/page/summary) used for task cards. Autogenerated from the wiki URL when not set.", value=false, }, GEMediaInfoRepos={ description="List of repo names which provide WikibaseMediaInfo data.", value={ "shared","wikimediacommons",}, }, GEDeveloperSetup={ description="Set to true in developer (non-production) settings. In practice this will relax assumptions about page existence, which might be needed to approximate production behavior when e.g. a remote API is used for searching for pages, or a link recommendation service trained on a production wiki is used on a testing wiki.", value=false, }, GENewcomerTasksLinkRecommendationsEnabled={ description="Global ON/OFF switch for link recommendations.", value=true, }, GELinkRecommendationsFrontendEnabled={ description="Global ON/OFF switch for the link recommendations feature. Depending on the state, either the 'links' or the 'link-recommendation' task type is hidden. Can be overridden by SuggestedEdits::LINK_RECOMMENDATIONS_ENABLED_PREF.", value=true, }, GEAllowAccessToNewImpactModule={ description="Whether users can access the new impact module. When this is false, no one can access. When true, the new impact module is shown by default depending on GEUseNewImpactModule or if the ?new-impact query string is used on Special:Homepage", value=false, }, GEUseNewImpactModule={ description="Whether the new impact module should be used instead of the old impact module", value=false, }, GENewImpactD3Enabled={ description="Whether the new impact module should use the d3 graphic library in ext.growthExperiments.d3", value=false, }, GETopicsMatchModeEnabled={ description="Global ON/OFF switch for the topics match mode UI feature.", value=false, }, GENewcomerTasksImageRecommendationsEnabled={ description="Global ON/OFF switch for image recommendations.", value=true, }, GEImageRecommendationServiceUrl={ description="Root URL of the image recommendation service (no trailing slash).", value=false, }, GEImageRecommendationServiceHttpProxy={ description="HTTP proxy for the service specified via GEImageRecommendationServiceUrl.", value=nil, }, GEImageRecommendationServiceUseTitles={ description="Use titles instead of page IDs when calling the service. Less ideal but allows setting up test environments to use the production service.", value=true, }, GEImageRecommendationApiHandler={ description="Corresponding API handler to use for the image recommendation service (set via GEImageRecommendationServiceUrl); either 'mvp' or 'production'", value="mvp", }, GEImageRecommendationServiceWikiIdMasquerade={ description="The wiki ID to use in requests to the image recommendation service. Used for developer setups.", value=nil, }, GELinkRecommendationServiceUrl={ description="Root URL of the link recommendation service.", value=false, }, GELinkRecommendationServiceAccessToken={ description="Personal access token from api.wikimedia.org to use when accessing the external production service. For developer setups only.", value=nil, }, GELinkRecommendationServiceTimeout={ description="Request timeout when contacting the link recommendation service.", value=nil, }, GELinkRecommendationFallbackOnDBMiss={ description="Fall back to the service at GELinkRecommendationServiceUrl when the recommendation is not cached in the database. This is only intended for simple local setups.", value=false, }, GELinkRecommendationsUseEventGate={ description="Whether to use EventGate for notifying about link recommendation creation. When set to false, uses CirrusSearch diretcly.", value=false, }, GELinkRecommendationServiceWikiIdMasquerade={ description="The wiki ID to use in requests to the link recommendation service. Used for developer setups.", value=nil, }, GEStructuredTaskRejectionReasonTextInputEnabled={ description="Whether free text input should be shown when prompting the user for reasons why a suggestion was rejected.", value=false, }, GECampaigns={ description="A map of campaign ID to campaign configuration. Campaign configuration currently includes these fields:\n* pattern: a regexp matched against the \"campaign\" request parameter during signup to determine whether the user should be included in some campaign\n* signupPageTemplate: a template name to use for the \"benefits\" block of Special:CreateAccount\n* signupPageTemplateParameters: a map of parameters to pass to the template\n* topics: an array of topic IDs (which are defined in GECampaignTopics) to include on the top of the topic selector as custom topics\n\nExamples can be found at https://www.mediawiki.org/wiki/Extension:GrowthExperiments/Technical_documentation/Special:EditGrowthConfig.", value={ }, }, GECampaignTopics={ description="Mapping of topic IDs to its search expression, used to show campaign-specific topics in the suggested edits module. Examples can be found at https://www.mediawiki.org/wiki/Extension:GrowthExperiments/Technical_documentation/Special:EditGrowthConfig.", value={ }, }, WelcomeSurveyExperimentalGroups={ description="List of experimental groups. A group is defined with a range to randomly match users and the list of questions they will see on the survey.", merge_strategy="array_plus_2d", value={ exp1_group1={ percentage=0, format="specialpage", questions={ "reason","edited","email",}, }, exp1_group2={ percentage=0, questions={ }, }, exp2_control={ percentage=0, questions={ }, }, exp2_target_specialpage={ percentage=100, format="specialpage", questions={ "reason","edited","email","languages",}, }, }, }, WelcomeSurveyEnableWithHomepage={ description="Display default welcome survey (defined in WelcomeSurvey::DEFAULT_SURVEY_GROUP) to all users with homepage enabled (usually enabled via GEHomepageNewAccountEnablePercentage). Users with no homepage won't be shown any survey.", value=false, }, }, SpecialPages={ MentorDashboard={ class="GrowthExperiments\\Specials\\SpecialMentorDashboard", services={ "GrowthExperimentsMentorDashboardModuleRegistry","GrowthExperimentsMentorProvider","UserOptionsLookup","JobQueueGroupFactory",}, }, EditGrowthConfig={ class="GrowthExperiments\\Specials\\SpecialEditGrowthConfig", services={ "TitleFactory","RevisionLookup","PageProps","DBLoadBalancer","ReadOnlyMode","GrowthExperimentsWikiPageConfigLoader","GrowthExperimentsWikiPageConfigWriterFactory","GrowthExperimentsMultiConfig",}, }, }, LogTypes={ "growthexperiments",}, LogNames={ growthexperiments="growthexperiments-log-name", }, LogHeaders={ growthexperiments="growthexperiments-log-header", }, LogActionsHandlers={ ["growthexperiments/setmentor"]="GrowthExperiments\\Mentorship\\MentorChangeLogFormatter", ["growthexperiments/claimmentee"]="GrowthExperiments\\Mentorship\\MentorChangeLogFormatter", ["growthexperiments/setmentor-no-previous-mentor"]="GrowthExperiments\\Mentorship\\MentorChangeLogFormatter", ["growthexperiments/claimmentee-no-previous-mentor"]="GrowthExperiments\\Mentorship\\MentorChangeLogFormatter", ["growthexperiments/addlink"]="LogFormatter", ["growthexperiments/addimage"]="GrowthExperiments\\NewcomerTasks\\AddImage\\AddImageLogFormatter", }, ActionFilteredLogs={ growthexperiments={ claimmentee={ "claimmentee","claimmentee-no-previous-mentor",}, setmentor={ "setmentor","setmentor-no-previous-mentor",}, addlink={ "addlink",}, addimage={ "addimage",}, }, }, AvailableRights={ "setmentor","managementors","enrollasmentor",}, GroupPermissions={ sysop={ setmentor=true, managementors=true, }, }, GrantPermissions={ managementorship={ setmentor=true, managementors=true, enrollasmentor=true, }, }, GrantPermissionGroups={ managementorship="administration", }, RateLimits={ growthmentordashboardupdatedata={ ["&can-bypass"]=false, user={ 1,7200,}, }, growthexperimentsuserimpacthandler={ ["&can-bypass"]=true, user={ 10,86400,}, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GrowthExperiments", }, GuidedTour={ name="GuidedTour", version="2.0", author={ "Munaf Assaf","Terry Chay","Matthew Flaschen","Pau Giner","Ori Livneh","Rob Moen","S Page","Sam Smith","Moiz Syed","Luke Welling",}, url="https://www.mediawiki.org/wiki/Extension:GuidedTour", descriptionmsg="guidedtour-desc", ["license-name"]="Apache-2.0", type="other", requires={ MediaWiki=">= 1.34.0", }, QUnitTestModule={ localBasePath="tests/qunit", remoteExtPath="GuidedTour/tests/qunit", scripts={ "ext.guidedTour.lib.tests.js",}, dependencies={ "ext.guidedTour.lib",}, }, Hooks={ BeforePageDisplay="MediaWiki\\Extension\\GuidedTour\\Hooks::onBeforePageDisplay", ResourceLoaderRegisterModules="MediaWiki\\Extension\\GuidedTour\\Hooks::onResourceLoaderRegisterModules", RedirectSpecialArticleRedirectParams="MediaWiki\\Extension\\GuidedTour\\Hooks::onRedirectSpecialArticleRedirectParams", MakeGlobalVariablesScript="MediaWiki\\Extension\\GuidedTour\\GuidedTourLauncher::onMakeGlobalVariablesScript", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/GuidedTour", }, HAWelcome={ name="Highly Automated Welcome Tool", namemsg="welcome-user-name", version="0.8.3", author={ "Krzysztof Krzyżaniak","Maciej Błaszkowski","Jack Phoenix","Mainframe98",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:HAWelcome", descriptionmsg="welcome-user-desc", type="other", JobClasses={ HAWelcome="HAWelcomeJob", }, HookHandlers={ default={ class="HAWelcomeHooks", services={ "ReadOnlyMode","UserGroupManager","UserFactory",}, }, }, Hooks={ PageSaveComplete="default", UserGroupsChanged="HAWelcomeHooks::onUserGroupsChanged", UserGetReservedNames="HAWelcomeHooks::onUserGetReservedNames", }, GroupPermissions={ bot={ welcomeexempt=true, }, staff={ welcomeexempt=true, }, sysop={ welcomeexempt=true, }, bureaucrat={ welcomeexempt=true, }, }, AvailableRights={ "welcomeexempt",}, config={ HAWelcomeWelcomeUsername="ShoutWiki", HAWelcomeStaffGroupName="staff", HAWelcomeSignatureFromPreferences=false, }, requires={ MediaWiki=">= 1.35.0", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/HAWelcome", }, HSTS={ name="HSTS", version="1.1.1", author="Seb35", url="https://www.mediawiki.org/wiki/Extension:HSTS", descriptionmsg="hsts-desc", ["license-name"]="WTFPL", type="other", requires={ MediaWiki=">= 1.34.0", }, DefaultUserOptions={ hsts=0, }, Hooks={ GetPreferences="HSTSExtension::getPreferences", GetBetaFeaturePreferences="HSTSExtension::getBetaFeaturePreferences", BeforePageDisplay="HSTSExtension::addHeader", }, config={ HSTSForAnons=false, HSTSForUsers=false, HSTSMaxAge=2592000, HSTSIncludeSubdomains=false, HSTSBetaFeature=false, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/HSTS", }, HTMLPurifier={ name="HTMLPurifier", version="1.0", author="Sophivorus", url="https://www.mediawiki.org/wiki/Extension:HTMLPurifier", descriptionmsg="htmlpurifier-desc", ["license-name"]="GPL-3.0-or-later", type="tag", requires={ MediaWiki=">= 1.31.0", }, Hooks={ ParserFirstCallInit="HTMLPurifierHooks::onParserFirstCallInit", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/HTMLPurifier", }, HTML_Tags={ name="HTML Tags", version="0.3", author="Yaron Koren", url="https://www.mediawiki.org/wiki/Extension:HTML_Tags", descriptionmsg="htmltags-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.29.0", }, Hooks={ ParserFirstCallInit="HTMLTags::register", }, config={ HTMLTagsAttributes={ value={ }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/HTMLTags", }, HeadScript={ name="HeadScript", version="1.1.1", author={ "JinRyuu","StarHeartHunt",}, url="https://www.mediawiki.org/wiki/Extension:HeadScript", descriptionmsg="headscript-desc", type="other", requires={ MediaWiki=">= 1.29.0", }, ["license-name"]="MIT", Hooks={ BeforePageDisplay={ "HeadScript::onBeforePageDisplay",}, }, config_prefix="wg", config={ HeadScriptCode={ value="", }, HeadScriptName={ value="", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/HeadScript", }, Header_Tabs={ name="Header Tabs", version="2.2", author={ "Sergey Chernyshev","Yaron Koren","Finlay Beaton","Priyanshu Varshney",}, url="https://www.mediawiki.org/wiki/Extension:Header_Tabs", descriptionmsg="headertabs-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", ExtensionMessagesFiles={ HeaderTabsMagic="HeaderTabs.i18n.magic.php", }, Hooks={ ParserFirstCallInit="HeaderTabsHooks::registerParserFunctions", ParserAfterTidy="HeaderTabsHooks::replaceFirstLevelHeaders", ResourceLoaderGetConfigVars="HeaderTabsHooks::addConfigVarsToJS", }, config={ HeaderTabsUseHistory=true, HeaderTabsRenderSingleTab=false, HeaderTabsAutomaticNamespaces={ }, HeaderTabsDefaultFirstTab=false, HeaderTabsDisableDefaultToc=true, HeaderTabsGenerateTabTocs=false, HeaderTabsEditTabLink=true, HeaderTabsNoTabsInToc=false, }, requires={ MediaWiki=">= 1.33", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/HeaderTabs", }, HelpPages={ name="HelpPages", version="0.4.0", author="Kunal Mehta", url="https://www.mediawiki.org/wiki/Extension:HelpPages", descriptionmsg="helppages-desc", ["license-name"]="Unlicense", type="other", requires={ MediaWiki=">= 1.29.0", }, Hooks={ ShowMissingArticle="HelpPagesHooks::onShowMissingArticle", ["SkinTemplateNavigation::Universal"]="HelpPagesHooks::onSkinTemplateNavigationUniversal", ArticlePurge="HelpPagesHooks::onArticlePurge", HtmlPageLinkRendererBegin="HelpPagesHooks::onHtmlPageLinkRendererBegin", }, config={ HelpPagesExpiry={ value=604800, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/HelpPages", }, HidePrefix={ name="HidePrefix", version="0.1.0", author={ "Van de Bugger",}, url="https://www.mediawiki.org/wiki/Extension:HidePrefix", descriptionmsg="hideprefix-desc", ["license-name"]="AGPL-3.0-or-later", type="other", requires={ MediaWiki=">= 1.35.0", }, Hooks={ HtmlPageLinkRendererBegin="HidePrefix::onHtmlPageLinkRendererBegin", BeforePageDisplay="HidePrefix::onBeforePageDisplay", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/HidePrefix", }, HierarchyBuilder={ name="HierarchyBuilder", version="7.0.0", author={ "Cindy Cicalese","Kevin Ji",}, url="https://www.mediawiki.org/wiki/Extension:HierarchyBuilder", descriptionmsg="hierarchybuilder-desc", ["license-name"]="MIT", type="parserhook", requires={ MediaWiki=">= 1.31", extensions={ SemanticMediaWiki=">=3.1.0", PageForms=">=3.7.0", }, }, ExtensionMessagesFiles={ HierarchyBuilderMagic="HierarchyBuilder.i18n.magic.php", }, Hooks={ ParserFirstCallInit="HierarchyBuilderHooks::efHierarchyBuilderSetup", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/HierarchyBuilder", }, HitCounters={ name="HitCounters", namemsg="hitcounters-extensionname", version="0.3.4", author={ "[//mwstake.org Mark A. Hershberger]",}, url="https://www.mediawiki.org/wiki/Extension:HitCounters", descriptionmsg="hitcounters-desc", type="variable", ["license-name"]="GPL-3.0-or-later", requires={ MediaWiki=">= 1.36.0", }, ExtensionMessagesFiles={ HitCountersMagic="HitCounters.i18n.magic.php", HitCountersAlias="HitCounters.i18n.alias.php", }, SpecialPages={ PopularPages="HitCounters\\SpecialPopularPages", }, Hooks={ SpecialStatsAddExtra="HitCounters\\Hooks::onSpecialStatsAddExtra", LoadExtensionSchemaUpdates="HitCounters\\Hooks::onLoadExtensionSchemaUpdates", MagicWordwgVariableIDs="HitCounters\\Hooks::onMagicWordwgVariableIDs", ParserGetVariableValueSwitch="HitCounters\\Hooks::onParserGetVariableValueSwitch", ParserFirstCallInit="HitCounters\\Hooks::onParserFirstCallInit", PageViewUpdates="HitCounters\\Hooks::onPageViewUpdates", SkinAddFooterLinks="HitCounters\\Hooks::onSkinAddFooterLinks", ["AbuseFilter-builder"]="HitCounters\\Hooks::onAbuseFilterBuilder", ["AbuseFilter-deprecatedVariables"]="HitCounters\\Hooks::onAbuseFilterDeprecatedVariables", ["AbuseFilter-generateTitleVars"]="HitCounters\\Hooks::onAbuseFilterGenerateTitleVars", ["AbuseFilter-computeVariable"]="HitCounters\\Hooks::onAbuseFilterComputeVariable", }, config={ HitcounterUpdateFreq=1, DisableCounters=false, EnableAddTextLength=false, EnableAddPageId=false, }, composer="mediawiki/hit-counters", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/HitCounters", }, HostStats={ name="HostStats", version="2.0.0", author={ "Hydriz","...",}, url="https://www.mediawiki.org/wiki/Extension:HostStats", descriptionmsg="hoststats-desc", ["license-name"]="GPL-3.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.32.0", }, AvailableRights={ "hoststats",}, SpecialPages={ HostStats="SpecialHostStats", }, ExtensionMessagesFiles={ HostStatsAlias="HostStats.alias.php", }, config={ HostStatsCommands={ value={ }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/HostStats", }, HoverGallery={ name="HoverGallery", version="1.0", author="Felipe Schenone", url="https://www.mediawiki.org/wiki/Extension:HoverGallery", descriptionmsg="hovergallery-desc", type="parserhook", Hooks={ BeforePageDisplay="HoverGallery::onBeforePageDisplay", ParserFirstCallInit="HoverGallery::onParserFirstCallInit", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Hovergallery", }, Hreflang={ name="Hreflang", version="0.0.1", url="https://www.mediawiki.org/wiki/Extension:Hreflang", author="Stas Malyshev", descriptionmsg="hreflang-desc", requires={ MediaWiki=">= 1.31.0", }, config={ HreflangPages={ "en:Pope Francis","en:Charleston church shooting","en:Terminator Genisys","en:Mad Max: Fury Road","en:Caitlyn Jenner","en:Deaths in 2015",}, HreflangGenerate=true, }, Hooks={ BeforePageDisplay="HreflangHooks::onBeforePageDisplay", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Hreflang", }, Html2Wiki={ name="Html2Wiki", version="2017.07", author={ "Greg Rundlett",}, url="https://www.mediawiki.org/wiki/Extension:Html2Wiki", descriptionmsg="html2wiki-desc", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.32.0", }, type="other", SpecialPages={ Html2Wiki="SpecialHtml2Wiki", }, LogTypes={ "html2wiki",}, LogNames={ html2wiki="html2wiki-log-name", }, LogHeaders={ html2wiki="html2wiki-log-description", }, LogActionsHandlers={ ["html2wiki/*"]="LogFormatter", }, ExtensionMessagesFiles={ Html2WikiAlias="Html2Wiki.i18n.alias.php", }, config={ H2WEliminateDuplicateImages=false, H2WProcessImages=true, }, callback="SpecialHtml2Wiki::checkEnvironment", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Html2Wiki", }, I18nTags={ name="Parser i18n tags", version="2021-03-17", author="Niklas Laxström", url="https://www.mediawiki.org/wiki/Extension:I18nTags", descriptionmsg="i18ntags-desc", type="parserhook", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.35.0", }, ExtensionMessagesFiles={ I18nTagsMagic="I18nTags.magic.php", }, Hooks={ ParserFirstCallInit="I18nTags::onParserFirstCallInit", }, composer="mediawiki/i18n-tags", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/I18nTags", }, IPInfo={ name="IPInfo", url="https://www.mediawiki.org/wiki/Extension:IPInfo", ["license-name"]="MIT", version="0.0.0", namemsg="ipinfo-extensionname", descriptionmsg="ipinfo-desc", requires={ MediaWiki=">= 1.38.0", }, type="other", ServiceWiringFiles={ "src/ServiceWiring.php",}, AvailableRights={ "ipinfo","ipinfo-view-basic","ipinfo-view-full","ipinfo-view-log",}, RevokePermissions={ ["no-ipinfo"]={ ipinfo=true, ["ipinfo-view-basic"]=true, ["ipinfo-view-full"]=true, ["ipinfo-view-log"]=true, }, }, DefaultUserOptions={ ["ipinfo-use-agreement"]=0, }, RestRoutes={ { path="/ipinfo/v0/revision/{id}", method="GET", services={ "IPInfoInfoManager","RevisionLookup","PermissionManager","UserOptionsLookup","UserFactory","JobQueueGroup",}, factory="MediaWiki\\IPInfo\\Rest\\Handler\\RevisionHandler::factory", },{ path="/ipinfo/v0/log/{id}", method="GET", services={ "IPInfoInfoManager","DBLoadBalancer","PermissionManager","UserOptionsLookup","UserFactory","JobQueueGroup",}, factory="MediaWiki\\IPInfo\\Rest\\Handler\\LogHandler::factory", },}, Hooks={ BeforePageDisplay="popup", SpecialContributionsBeforeMainOutput="infobox", GetPreferences="preferences", GetBetaFeaturePreferences="betaFeature", SaveUserOptions="preferences", LoadExtensionSchemaUpdates="schema", }, HookHandlers={ popup={ class="MediaWiki\\IPInfo\\HookHandler\\PopupHandler", services={ "PermissionManager","UserOptionsLookup",}, }, infobox={ class="MediaWiki\\IPInfo\\HookHandler\\InfoboxHandler", services={ "PermissionManager","UserOptionsLookup",}, }, preferences={ class="MediaWiki\\IPInfo\\HookHandler\\PreferencesHandler", services={ "PermissionManager","UserOptionsLookup","UserGroupManager","IPInfoLoggerFactory",}, }, betaFeature={ class="MediaWiki\\IPInfo\\HookHandler\\BetaFeaturePreferencesHandler", services={ "MainConfig","PermissionManager",}, }, schema={ class="MediaWiki\\IPInfo\\HookHandler\\SchemaHandler", }, }, JobClasses={ ipinfoLogIPInfoAccess="\\MediaWiki\\IPInfo\\Jobs\\LogIPInfoAccessJob", }, config={ IPInfoGeoLite2Prefix={ value=false, description="Path to the directory containing either GeoLite2- or GeoIP2- depending on database files downloaded; should contain prefix (GeoLite2-/GeoIP2-)", }, IPInfoGeoIP2EnterprisePath={ value=false, description="Path to the directory containing the GeoIP2 Enterprise and Anonymous IP database file; should contain the trailing slash", }, }, LogTypes={ "ipinfo",}, LogNames={ ipinfo="ipinfo-log-name", }, LogHeaders={ ipinfo="ipinfo-log-header", }, LogActionsHandlers={ ["ipinfo/*"]="MediaWiki\\IPInfo\\Logging\\IPInfoLogFormatter", }, LogRestrictions={ ipinfo="ipinfo-view-log", }, ActionFilteredLogs={ ipinfo={ change_access={ "change_access",}, view_infobox={ "view_infobox",}, view_popup={ "view_popup",}, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/IPInfo", }, Ids={ name="Ideographic Description Sequence", namemsg="ids-name", version="0.1.0", author={ "MGdesigner (Shoichi Chou)",}, requires={ MediaWiki=">= 1.29.0", }, url="https://www.mediawiki.org/wiki/Extension:Ids", descriptionmsg="ids-desc", type="parserhook", ["license-name"]="GPL-2.0-or-later", Hooks={ ParserFirstCallInit="IDS::onParserInit", }, config={ IdsEndpoint={ value="https://tools.wmflabs.org/idsgen/", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Ids", }, IfTemplates={ name="IfTemplates", version="0.1", author="Ike Hecht for WikiWorks", url="https://www.mediawiki.org/wiki/Extension:IfTemplates", descriptionmsg="iftemplates-desc", type="parserhook", requires={ MediaWiki=">= 1.29.0", }, ExtensionMessagesFiles={ IfTemplatesMagic="IfTemplates.magic.php", }, Hooks={ ParserFirstCallInit="IfTemplatesHooks::ifTemplatesSetupParserFunction", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/IfTemplates", }, IframePage={ name="IframePage", version="0.2.1", author="Ike Hecht for [//www.wikiworks.com WikiWorks]", url="https://www.mediawiki.org/wiki/Extension:IframePage", descriptionmsg="iframepage-desc", type="specialpage", requires={ MediaWiki=">= 1.29.0", }, SpecialPages={ IframePage="SpecialIframePage", }, ExtensionMessagesFiles={ IframePageAlias="IframePage.alias.php", }, config={ IframePageSrc={ value={ }, }, IframePageAllowPath={ value=false, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/IframePage", }, ImageCompare={ name="ImageCompare", author={ "Le Duy Quang",}, version="0.0.3", url="https://www.mediawiki.org/wiki/Extension:ImageCompare", descriptionmsg="imageCompare-desc", ["license-name"]="MIT", type="parserhook", requires={ MediaWiki=">= 1.29.0", }, Hooks={ ParserFirstCallInit="ImageCompare::onParserInit", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ImageCompare", }, ImageMap={ name="ImageMap", author="Tim Starling", url="https://www.mediawiki.org/wiki/Extension:ImageMap", descriptionmsg="imagemap_desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.35.0", }, HookHandlers={ main={ class="MediaWiki\\Extension\\ImageMap\\ImageMap", }, }, Hooks={ ParserFirstCallInit="main", }, composer="mediawiki/image-map", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ImageMap", }, ImageMetrics={ name="ImageMetrics", version="0.1.0", author={ "Tisza Gergő",}, url="https://www.mediawiki.org/wiki/Extension:ImageMetrics", descriptionmsg="imagemetrics-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ extensions={ EventLogging="*", }, }, EventLoggingSchemas={ ImageMetricsLoadingTime=10078363, }, Hooks={ BeforePageDisplay="ImageMetricsHooks::onBeforePageDisplay", ResourceLoaderGetConfigVars="ImageMetricsHooks::onResourceLoaderGetConfigVars", ResourceLoaderTestModules="ImageMetricsHooks::onResourceLoaderTestModules", }, config={ ImageMetricsSamplingFactor=false, ImageMetricsLoggedinSamplingFactor=false, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ImageMetrics", }, ImageRating={ name="ImageRating", version="2.5.0", author={ "Aaron Wright","David Pean","Jack Phoenix",}, url="https://www.mediawiki.org/wiki/Extension:ImageRating", descriptionmsg="imagerating-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.35.3", }, ExtensionMessagesFiles={ ImageRatingAlias="includes/ImageRating.alias.php", }, APIModules={ imagerating="ApiImageRating", }, SpecialPages={ ImageRating="ImageRating", }, Hooks={ ParserFirstCallInit="FeaturedImage::registerHook", }, AvailableRights={ "rateimage",}, GroupPermissions={ user={ rateimage=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ImageRating", }, ImageSuggestions={ name="ImageSuggestions", namemsg="imagesuggestions-extensionname", type="other", author={ "Cormac Parle","Joseph Seddon","Marco Fossati","Matthias Mullie",}, version="0.0.1", url="https://www.mediawiki.org/wiki/Extension:ImageSuggestions", descriptionmsg="imagesuggestions-desc", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.31.0", extensions={ Echo="*", }, }, config={ ImageSuggestionsSuggestionsApi={ description="API endpoint for image suggestions; 2 params will be sprintf'ed into the url: 1/ the wiki id & 2/ the page id. See https://www.mediawiki.org/wiki/Platform_Engineering_Team/Data_Value_Stream/Data_Gateway#Suggestions", value="https://image-suggestion.discovery.wmnet:30443/public/image_suggestions/suggestions/%1$s/%2$d", }, ImageSuggestionsInstanceOfApi={ description="API endpoint for instance of cache; 2 params will be sprintf'ed into the url: 1/ the wiki id & 2/ the page id. See https://www.mediawiki.org/wiki/Platform_Engineering_Team/Data_Value_Stream/Data_Gateway#Instanceof_(cache)", value="https://image-suggestion.discovery.wmnet:30443/private/image_suggestions/instanceof_cache/%1$s/%2$d", }, ImageSuggestionsHelpLink={ description="URL to per-wiki description pages", value="", }, }, Hooks={ BeforePageDisplay="MediaWiki\\Extension\\ImageSuggestions\\Hooks::onBeforePageDisplay", BeforeCreateEchoEvent="MediaWiki\\Extension\\ImageSuggestions\\Hooks::onBeforeCreateEchoEvent", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ImageSuggestions", }, ImageTweaks={ name="ImageTweaks", version="0.0.1", author={ "Mark Holmquist",}, url="https://www.mediawiki.org/wiki/Extension:ImageTweaks", descriptionmsg="imagetweaks-desc", ["license-name"]="GPL-3.0-only", type="other", callback="ImageTweaksHooks::onRegistration", requires={ MediaWiki=">= 1.36.0", }, config={ ImageTweaksEnabled=false, ImageTweaksInBeta=false, ImageTweaksThumborURL="http://localhost:8888/unsafe/", }, APIModules={ imagetweaks={ class="ApiImageTweaks", }, }, Hooks={ BeforePageDisplay="ImageTweaksHooks::getModulesForFilePage", GetBetaFeaturePreferences="ImageTweaksHooks::addBetaPreference", }, ExtensionFunctions={ "ImageTweaksHooks::onSetup",}, ConfigRegistry={ imagetweaks="GlobalVarConfig::newInstance", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ImageTweaks", }, ImapAuthorization={ name="ImapAuthorization", type="other", version="0.1.1", ["license-name"]="MIT", descriptionmsg="imapauthorization-desc", author="Alphanoob1337", url="https://www.mediawiki.org/wiki/Extension:ImapAuthorization", requires={ MediaWiki=">= 1.27.0", }, AuthManagerAutoConfig={ primaryauth={ ImapAuthenticationProvider={ class="ImapAuthenticationProvider", }, }, }, config={ ImapAuthorizationActive=false, ImapAuthorizationSmtpServerAddress="localhost", ImapAuthorizationSmtpServerPort=25, ImapAuthorizationImapServerAddress="localhost", ImapAuthorizationImapServerPort=143, ImapAuthorizationImapServerEnforceSsl=false, ImapAuthorizationImapServerEnforceTls=false, ImapAuthorizationImapServerVerifyCert=true, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ImapAuthorization", }, ImportArticles={ name="ImportArticles", version="1.4", author="Kris Blair (Cblair91)", descriptionmsg="importarticles-desc", ["license-name"]="GPL-3.0-only", type="other", requires={ MediaWiki=">= 1.31.0", }, Hooks={ BeforePageDisplay="ImportArticles::onBeforePageDisplay", }, composer="mediawiki/import-articles", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ImportArticles", }, ImportFreeImages={ name="ImportFreeImages", version="2.2", author={ "Travis Derouin","Bryan Tong Minh",}, url="https://www.mediawiki.org/wiki/Extension:ImportFreeImages", descriptionmsg="importfreeimages-desc", type="specialpage", requires={ MediaWiki=">= 1.34.0", }, SpecialPages={ ImportFreeImages="SpecialImportFreeImages", }, ExtensionMessagesFiles={ ImportFreeImagesAlias="ImportFreeImages.alias.php", }, Hooks={ UploadCreateFromRequest="UploadFreeImage::onUploadCreateFromRequest", UploadFormSourceDescriptors="UploadFreeImage::onUploadFormSourceDescriptors", UploadFormInitDescriptor="UploadFreeImage::onUploadFormInitDescriptor", }, config={ IFI_FlickrAPIKey={ value="", }, IFI_CreditsTemplate={ value="flickr", }, IFI_GetOriginal={ value=true, }, IFI_PromptForFilename={ value=true, }, IFI_phpFlickr={ value="phpFlickr-2.2.0/phpFlickr.php", }, IFI_ResultsPerPage={ value=20, }, IFI_ResultsPerRow={ value=4, }, IFI_FlickrLicense={ value="4,5", }, IFI_FlickrSort={ value="interestingness-desc", }, IFI_FlickrSearchBy={ value="tags", }, IFI_AppendRandomNumber={ value=true, }, IFI_ThumbType={ value="t", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ImportFreeImages", }, ImportOfficeFiles={ name="ImportOfficeFiles", ["license-name"]="GPL-3.0-only", author={ "Hallo Welt! GmbH","Daniel Vogel","Alexei Kulbii",}, url="http://www.hallowelt.com", descriptionmsg="importofficefiles-desc", requires={ MediaWiki=">= 1.35.0", }, attributes={ ImportOfficeFiles={ ModuleRegistry={ ["ms-office-word"]={ factory="\\MediaWiki\\Extension\\ImportOfficeFiles\\Modules\\MSOfficeWord::factory", services={ "MainConfig",}, }, }, Word2007TagProcessorRegistry={ ["line-break"]={ factory="\\MediaWiki\\Extension\\ImportOfficeFiles\\Reader\\Tag\\LineBreak::factory", }, tabulator={ factory="\\MediaWiki\\Extension\\ImportOfficeFiles\\Reader\\Tag\\Tabulator::factory", }, text={ factory="\\MediaWiki\\Extension\\ImportOfficeFiles\\Reader\\Tag\\Text::factory", }, textrun={ factory="\\MediaWiki\\Extension\\ImportOfficeFiles\\Reader\\Tag\\Textrun::factory", }, bookmarkStart={ factory="\\MediaWiki\\Extension\\ImportOfficeFiles\\Reader\\Tag\\BookmarkStart::factory", }, bookmarkEnd={ factory="\\MediaWiki\\Extension\\ImportOfficeFiles\\Reader\\Tag\\BookmarkEnd::factory", }, hyperlink={ factory="\\MediaWiki\\Extension\\ImportOfficeFiles\\Reader\\Tag\\Hyperlink::factory", }, paragraph={ factory="\\MediaWiki\\Extension\\ImportOfficeFiles\\Reader\\Tag\\Paragraph::factory", }, table={ factory="\\MediaWiki\\Extension\\ImportOfficeFiles\\Reader\\Tag\\Table::factory", }, drawing={ factory="\\MediaWiki\\Extension\\ImportOfficeFiles\\Reader\\Tag\\Drawing::factory", }, ["instr-text"]={ factory="\\MediaWiki\\Extension\\ImportOfficeFiles\\Reader\\Tag\\InstrText::factory", }, }, Word2007TagPropertyProcessorRegistry={ style={ factory="\\MediaWiki\\Extension\\ImportOfficeFiles\\Reader\\Property\\Style::factory", }, bold={ factory="\\MediaWiki\\Extension\\ImportOfficeFiles\\Reader\\Property\\Bold::factory", }, strikethrough={ factory="\\MediaWiki\\Extension\\ImportOfficeFiles\\Reader\\Property\\StrikeThrough::factory", }, italic={ factory="\\MediaWiki\\Extension\\ImportOfficeFiles\\Reader\\Property\\Italic::factory", }, highlight={ factory="\\MediaWiki\\Extension\\ImportOfficeFiles\\Reader\\Property\\Highlight::factory", }, shadow={ factory="\\MediaWiki\\Extension\\ImportOfficeFiles\\Reader\\Property\\Shadow::factory", }, color={ factory="\\MediaWiki\\Extension\\ImportOfficeFiles\\Reader\\Property\\Color::factory", }, verticalalign={ factory="\\MediaWiki\\Extension\\ImportOfficeFiles\\Reader\\Property\\VerticalAlign::factory", }, underline={ factory="\\MediaWiki\\Extension\\ImportOfficeFiles\\Reader\\Property\\Underline::factory", }, }, }, }, Hooks={ BlueSpiceDiscoveryTemplateDataProviderAfterInit="discovery-skin", ["SkinTemplateNavigation::Universal"]="skin", BeforePageDisplay="skin", MWStakeRunJobsTriggerRegisterHandlers="MediaWiki\\Extension\\ImportOfficeFiles\\MediaWiki\\Hook\\MWStakeRunJobsTriggerRegisterHandlers\\AddOrphanedDirectoriesHandler::callback", }, HookHandlers={ ["discovery-skin"]={ class="MediaWiki\\Extension\\ImportOfficeFiles\\MediaWiki\\HookHandler\\DiscoverySkin", }, skin={ class="MediaWiki\\Extension\\ImportOfficeFiles\\MediaWiki\\HookHandler\\Skin", services={ "MainConfig","PermissionManager",}, }, addBootstrap={ class="MediaWiki\\Extension\\ImportOfficeFiles\\MediaWiki\\HookHandler\\AddBootstrap", }, }, RestRoutes={ { path="/officeimport/file_storage", method="POST", class="MediaWiki\\Extension\\ImportOfficeFiles\\Rest\\FileStorageHandler", services={ "MainConfig",}, },{ path="/officeimport/file_analyze/start/{uploadId}/{filename}", method="GET", class="MediaWiki\\Extension\\ImportOfficeFiles\\Rest\\FileAnalyzeHandler", },{ path="/officeimport/file_analyze/status/{processId}", method="GET", class="MediaWiki\\Extension\\ImportOfficeFiles\\Rest\\ProcessStatusHandler", },{ path="/officeimport/file_structure/{uploadId}", method="GET", class="MediaWiki\\Extension\\ImportOfficeFiles\\Rest\\FileStructureHandler", services={ "MainConfig","ConfigFactory",}, },{ path="/officeimport/file_content/{uploadId}", method="GET", class="MediaWiki\\Extension\\ImportOfficeFiles\\Rest\\FileContentHandler", services={ "MainConfig","ConfigFactory",}, },{ path="/officeimport/file_import/start/{uploadId}/{filename}", method="GET", class="MediaWiki\\Extension\\ImportOfficeFiles\\Rest\\FileImportHandler", services={ "MainConfig","ConfigFactory",}, },{ path="/officeimport/file_import/status/{processId}", method="GET", class="MediaWiki\\Extension\\ImportOfficeFiles\\Rest\\ProcessStatusHandler", },{ path="/officeimport/file_import/proceed/{processId}", method="POST", class="MediaWiki\\Extension\\ImportOfficeFiles\\Rest\\ImportProceedHandler", },}, config_prefix="wg", config={ ImportOfficeFilesWord2007TagProcessorPipeline={ value={ "instr-text","drawing","tabulator","line-break","text","textrun","bookmarkStart","bookmarkEnd","hyperlink","paragraph","table",}, public=true, }, ImportOfficeFilesWord2007TagPropertyProcessorPipeline={ value={ "style","color","highlight","shadow","verticalalign","italic","strikethrough","underline","bold",}, public=true, }, }, composer="mediawiki/import-office-files", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ImportOfficeFiles", }, ImportUsers={ name="Import Users", version="2.2.0", author={ "Yuriy Ilkiv","Rouslan Zenetl","...",}, url="https://www.mediawiki.org/wiki/Extension:ImportUsers", descriptionmsg="importusers-desc", ["license-name"]="Unlicense", type="specialpage", requires={ MediaWiki=">= 1.35.0", }, AvailableRights={ "import_users",}, GroupPermissions={ bureaucrat={ import_users=true, }, }, SpecialPages={ ImportUsers="SpecialImportUsers", }, ExtensionMessagesFiles={ ImportUsersAlias="ImportUsers.alias.php", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ImportUsers", }, Inbox={ name="Inbox", descriptionmsg="inbox-desc", ["license-name"]="GPL-3.0-or-later", author={ "Stephane Bisson",}, url="https://www.mediawiki.org/wiki/Extension:Inbox", requires={ MediaWiki=">= 1.35.3", }, ExtensionMessagesFiles={ InboxAlias="Inbox.alias.php", }, SpecialPages={ Inbox="Inbox\\Specials\\SpecialInbox", }, Hooks={ LoadExtensionSchemaUpdates="Inbox\\Hooks::onLoadExtensionSchemaUpdates", AlternateUserMailer="Inbox\\Hooks::onAlternateUserMailer", ["SkinTemplateNavigation::Universal"]="Inbox\\Hooks::onSkinTemplateNavigationUniversal", OutputPageCheckLastModified="Inbox\\Hooks::onOutputPageCheckLastModified", }, config={ InboxEnabled={ description="Global ON/OFF switch for the Inbox features.", value=false, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Inbox", }, InlineCategorizer={ name="InlineCategorizer", version="0.1.1", author={ "Michael Dale","Timo Tijhof","Leo Koppelkamm",}, url="https://www.mediawiki.org/wiki/Extension:InlineCategorizer", descriptionmsg="inlinecategorizer-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.34.0", }, config={ InlineCategorizerNamespaces={ value={ }, description="Optionally enable InlineCategorizer only on a set of namespaces. Default is all. Example: $wgInlineCategorizerNamespaces = [ NS_MAIN, NS_PROJECT ];", public=false, }, }, Hooks={ BeforePageDisplay="InlineCategorizerHooks::beforePageDisplay", }, QUnitTestModule={ localBasePath="", remoteExtPath="InlineCategorizer", scripts="tests/qunit/ext.inlineCategorizer.core.test.js", dependencies={ "ext.inlineCategorizer.core",}, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/InlineCategorizer", }, InputBox={ name="InputBox", version="0.3.0", author={ "Erik Moeller","Leonardo Pimenta","Rob Church","Trevor Parscal","DaSch",}, url="https://www.mediawiki.org/wiki/Extension:InputBox", descriptionmsg="inputbox-desc", requires={ MediaWiki=">= 1.38.0", }, ["license-name"]="MIT", type="parserhook", Hooks={ ParserFirstCallInit="main", MediaWikiPerformAction="main", SpecialPageBeforeExecute="main", }, HookHandlers={ main={ class="MediaWiki\\Extension\\InputBox\\InputBoxHooks", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/InputBox", }, Insider={ name="Insider", url="https://www.mediawiki.org/wiki/Extension:Insider", descriptionmsg="insider-desc", author={ "Roland Unger","Hans Musil","Matthias Mullie",}, version="1.3.0", ["license-name"]="GPL-2.0-only", type="parserhook", requires={ MediaWiki=">= 1.31.0", }, ExtensionMessagesFiles={ InsiderMagic="Insider.i18n.magic.php", }, Hooks={ ParserFirstCallInit="MediaWiki\\Extension\\Insider\\Hooks::onParserFirstCallInit", OutputPageParserOutput="MediaWiki\\Extension\\Insider\\Hooks::onOutputPageParserOutput", SidebarBeforeOutput="MediaWiki\\Extension\\Insider\\Hooks::onSidebarBeforeOutput", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Insider", }, InteractiveBlockMessage={ name="Interactive block message", version="1.2.0", author={ "Petr Bena",}, url="https://www.mediawiki.org/wiki/Extension:InteractiveBlockMessage", descriptionmsg="interactiveblockmessage-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.31.0", }, ExtensionMessagesFiles={ InteractiveBlockMessageMagic="InteractiveBlockMessage.i18n.magic.php", }, Hooks={ MagicWordwgVariableIDs="InteractiveBlockMessageHooks::magicWordSet", ParserGetVariableValueSwitch="InteractiveBlockMessageHooks::parserGetVariable", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/InteractiveBlockMessage", }, Interwiki={ name="Interwiki", version="3.2", author={ "Stephanie Amanda Stevens","Alexandre Emsenhuber","Robin Pepermans","Siebrand Mazeland","Platonides","Raimond Spekking","Sam Reed","Jack Phoenix","Calimonius the Estrange","...",}, url="https://www.mediawiki.org/wiki/Extension:Interwiki", descriptionmsg="interwiki-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.36.0", }, ExtensionMessagesFiles={ InterwikiAlias="Interwiki.alias.php", }, config={ InterwikiCentralDB={ value=nil, }, InterwikiCentralInterlanguageDB={ value=nil, }, InterwikiViewOnly={ value=false, }, }, Hooks={ InterwikiLoadPrefix="MediaWiki\\Extension\\Interwiki\\Hooks::onInterwikiLoadPrefix", UserGetAllRights="MediaWiki\\Extension\\Interwiki\\Hooks::onUserGetAllRights", }, SpecialPages={ Interwiki="MediaWiki\\Extension\\Interwiki\\SpecialInterwiki", }, ExtensionFunctions={ "MediaWiki\\Extension\\Interwiki\\Hooks::onExtensionFunctions",}, LogActionsHandlers={ ["interwiki/*"]="MediaWiki\\Extension\\Interwiki\\InterwikiLogFormatter", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Interwiki", }, InterwikiExtracts={ name="InterwikiExtracts", version="4.3", author="Sophivorus", url="https://www.mediawiki.org/wiki/Extension:InterwikiExtracts", descriptionmsg="interwikiextracts-desc", ["license-name"]="GPL-3.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.29.0", }, ExtensionMessagesFiles={ InterwikiExtractsAlias="InterwikiExtracts.magic.php", }, Hooks={ ParserFirstCallInit="InterwikiExtracts::onParserFirstCallInit", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/InterwikiExtracts", }, InterwikiSorting={ name="InterwikiSorting", author={ "Addshore","Nikola Smolenski","Katie Filbert","Thiemo Kreuz",}, url="https://www.mediawiki.org/wiki/Extension:InterwikiSorting", descriptionmsg="interwikisorting-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.35.0", }, config={ InterwikiSortingSort={ description="The default sort order to use. 'code' is build in and orders alphabetically by interwiki code.", value="code", }, InterwikiSortingSortPrepend={ description="Codes that should appear at the start of the list of interwiki links.", value={ }, }, InterwikiSortingInterwikiSortOrders={ description="Definition of sort orders. Each sort order key should be the sort order name, for example 'alphabetical'. Each key should have a value of an array of interwiki codes in the order to be sorted.", value={ }, }, }, HookHandlers={ LanguageLinksHandler={ class="InterwikiSorting\\LanguageLinksHandler", services={ "MainConfig",}, }, }, Hooks={ LanguageLinks="LanguageLinksHandler", }, composer="mediawiki/interwikisorting", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/InterwikiSorting", }, InviteSignup={ name="InviteSignup", version="1.0.0+2021-09-01", author={ "Niklas Laxström",}, url="https://www.mediawiki.org/wiki/Extension:InviteSignup", descriptionmsg="is-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.36.0", }, AvailableRights={ "invitesignup",}, ExtensionMessagesFiles={ InviteSignupAlias="InviteSignup.alias.php", }, Hooks={ AddNewAccount="InviteSignupHooks::onAddNewAccount", BeforeInitialize="InviteSignupHooks::onBeforeInitialize", LoadExtensionSchemaUpdates="InviteSignupHooks::onLoadExtensionSchemaUpdates", UserCreateForm="InviteSignupHooks::onUserCreateForm", UserGetRights="InviteSignupHooks::onUserGetRights", }, config={ ISGroups={ }, InviteSignupHash=nil, }, SpecialPages={ InviteSignup="SpecialInviteSignup", }, composer="mediawiki/invite-signup", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/InviteSignup", }, JADE={ name="Jade", descriptionmsg="jade-desc", version="0.0.1", ["license-name"]="GPL-3.0-or-later", type="other", author={ "Adam Roses Wight",}, url="https://www.mediawiki.org/wiki/Extension:JADE", requires={ MediaWiki=">= 1.31.0", }, namespaces={ { id=810, constant="NS_JUDGMENT", name="Judgment", defaultcontentmodel="JadeJudgment", },{ id=811, constant="NS_JUDGMENT_TALK", name="Judgment_talk", },}, APIListModules={ getjudgments="Jade\\ApiGetJudgments", }, ContentHandlers={ JadeJudgment="Jade\\Content\\JudgmentContentHandler", }, Hooks={ ArticleDeleteComplete="Jade\\Hooks\\LinkTableHooks::onArticleDeleteComplete", ArticleUndelete="Jade\\Hooks\\LinkTableHooks::onArticleUndelete", LoadExtensionSchemaUpdates="Jade\\Hooks\\DatabaseSchemaHooks::onLoadExtensionSchemaUpdates", MovePageIsValidMove="Jade\\Hooks\\MoveHooks::onMovePageIsValidMove", PageContentInsertComplete="Jade\\Hooks\\LinkTableHooks::onPageContentInsertComplete", PageContentSaveComplete="Jade\\Hooks\\LinkSummaryHooks::onPageContentSaveComplete", }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, config={ JadeAllowedScoringSchemas={ value={ diff={ "damaging","goodfaith",}, revision={ "contentquality",}, }, }, JadeEntityTypeNames={ value={ diff="Diff", revision="Revision", }, }, JadeContentQualityLevels={ value=6, }, }, ExtensionMessagesFiles={ JadeNamespaces="Jade.namespaces.php", }, composer="mediawiki/jade", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/JADE", }, JSBreadCrumbs={ name="JSBreadCrumbs", version="1.1.0", author={ "Ryan Lane","Cindy Cicalese","Kevin Forbes","...",}, url="https://www.mediawiki.org/wiki/Extension:JSBreadCrumbs", descriptionmsg="jsbreadcrumbs-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.35.0", }, Hooks={ BeforePageDisplay="JSBreadCrumbsHooks::onBeforePageDisplay", GetPreferences="JSBreadCrumbsHooks::onGetPreferences", }, DefaultUserOptions={ ["jsbreadcrumbs-showcrumbs"]=true, ["jsbreadcrumbs-numberofcrumbs"]=5, ["jsbreadcrumbs-horizontal"]=true, ["jsbreadcrumbs-maxlength-horizontal"]=40, ["jsbreadcrumbs-maxlength-vertical"]=20, ["jsbreadcrumbs-showaction"]=false, ["jsbreadcrumbs-showsite"]=false, ["jsbreadcrumbs-domain"]=false, }, config={ JSBreadCrumbsHorizontalSeparator={ value="", }, JSBreadCrumbsCSSSelectorHorizontal={ value={ }, }, JSBreadCrumbsCSSSelectorVertical={ value={ }, }, JSBreadCrumbsGlobalMaxCrumbs={ value=20, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/JSBreadCrumbs", }, Jade={ name="Jade", descriptionmsg="jade-desc", version="0.0.1", ["license-name"]="GPL-3.0-or-later", type="other", author={ "Adam Roses Wight","Andy Craze","Kevin Bazira",}, url="https://www.mediawiki.org/wiki/Extension:Jade", requires={ MediaWiki=">= 1.35.0", }, namespaces={ { id=810, constant="NS_JADE", name="Jade", defaultcontentmodel="JadeEntity", },{ id=811, constant="NS_JADE_TALK", name="Jade_talk", },}, APIModules={ jadecreateandendorse="Jade\\Api\\CreateAndEndorse", jadesetpreference="Jade\\Api\\SetPreference", jadeupdateproposal="Jade\\Api\\UpdateProposal", jadedeleteproposal="Jade\\Api\\DeleteProposal", jadeendorse="Jade\\Api\\Endorse", jadedeleteendorsement="Jade\\Api\\DeleteEndorsement", jadeupdateendorsement="Jade\\Api\\UpdateEndorsement", jademoveendorsement="Jade\\Api\\MoveEndorsement", jadeproposeorendorse="Jade\\Api\\ProposeOrEndorse", }, ContentHandlers={ JadeEntity="Jade\\Content\\EntityContentHandler", }, Hooks={ ArticleContentOnDiff="Jade\\Hooks\\ArticleContentOnDiffHooks::onArticleContentOnDiff", ArticleDeleteComplete="Jade\\Hooks\\LinkTableHooks::onArticleDeleteComplete", ArticleUndelete="Jade\\Hooks\\LinkTableHooks::onArticleUndelete", ChangesListSpecialPageQuery="Jade\\Hooks\\ChangesListSpecialPageQueryHooks::onChangesListSpecialPageQuery", ChangesListSpecialPageStructuredFilters="Jade\\Hooks\\ChangesListSpecialPageStructuredFiltersHooks::onChangesListSpecialPageStructuredFilters", EditPageGetDiffContent="Jade\\Hooks\\EditPageGetDiffContentHooks::onEditPageGetDiffContent", FormatAutocomments="Jade\\Hooks\\FormatAutocommentsHooks::onFormatAutocomments", GetPreferences="Jade\\Hooks\\GetPreferencesHooks::onGetPreferences", LoadExtensionSchemaUpdates="Jade\\Hooks\\DatabaseSchemaHooks::onLoadExtensionSchemaUpdates", MovePageIsValidMove="Jade\\Hooks\\MoveHooks::onMovePageIsValidMove", PageSaveComplete="Jade\\Hooks\\LinkSummaryHooks::onPageSaveComplete", PageHistoryLineEnding="Jade\\Hooks\\PageHistoryLineEndingHooks::onPageHistoryLineEnding", RollbackComplete="Jade\\Hooks\\RollbackCompleteHooks::onRollbackComplete", ShowMissingArticle="Jade\\Hooks\\MissingArticleHooks::onShowMissingArticle", SkinTemplateNavigation="Jade\\Hooks\\SkinTemplateNavigationHooks::onSkinTemplateNavigation", }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, config={ JadeAllowedScoringSchemas={ value={ diff={ "damaging","goodfaith",}, revision={ "contentquality",}, }, description="Map from entity type to the judgment schemas allowed for that type.", public=true, }, JadeEntityTypeNames={ value={ diff="Diff", revision="Revision", }, description="Title fragment used as a label for each entity type. Generally not changed after deployment.", public=true, }, JadeContentQualityLevels={ value=6, description="Count of how many content quality levels are used on your wiki.", public=true, }, JadeAllowedFacets={ value={ "editquality","contentquality",}, description="List containing allowed facet strings.", public=true, }, }, ExtensionMessagesFiles={ JadeNamespaces="Jade.namespaces.php", }, composer="mediawiki/jade", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Jade", }, Josa={ name="Josa", version="0.2.0", author="Bae Junehyeon (devunt)", url="https://www.mediawiki.org/wiki/Extension:Josa", descriptionmsg="josa-desc", ["license-name"]="MIT", type="parserhook", requires={ MediaWiki=">= 1.31.0", }, ExtensionMessagesFiles={ JosaMagic="Josa.i18n.magic.php", }, Hooks={ ParserFirstCallInit="MediaWiki\\Extension\\Josa\\Hooks::onParserFirstCallInit", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Josa", }, JsonConfig={ name="JsonConfig", version="1.1.1", author={ "Yuri Astrakhan","Eranroz",}, url="https://www.mediawiki.org/wiki/Extension:JsonConfig", descriptionmsg="jsonconfig-desc", type="other", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.38.0", }, namespaces={ { id=482, constant="NS_CONFIG", name="Config", conditional=true, },{ id=483, constant="NS_CONFIG_TALK", name="Config_talk", conditional=true, },{ id=486, constant="NS_DATA", name="Data", conditional=true, },{ id=487, constant="NS_DATA_TALK", name="Data_talk", conditional=true, },}, ExtensionMessagesFiles={ JsonConfigNamespaces="JsonConfig.namespaces.php", }, RawHtmlMessages={ "jsonconfig-license",}, APIModules={ jsonconfig="JsonConfig\\JCApi", }, Hooks={ ["ApiMain::moduleManager"]="JsonConfig\\JCSingleton::onApiMainModuleManager", ArticleDeleteComplete="JsonConfig\\JCSingleton::onArticleDeleteComplete", ArticleUndelete="JsonConfig\\JCSingleton::onArticleUndelete", BeforePageDisplay="JsonConfig\\JCSingleton::onBeforePageDisplay", CanonicalNamespaces="JsonConfig\\JCSingleton::onCanonicalNamespaces", CodeEditorGetPageLanguage="JsonConfig\\JCSingleton::onCodeEditorGetPageLanguage", ContentHandlerDefaultModelFor="JsonConfig\\JCSingleton::onContentHandlerDefaultModelFor", ContentHandlerForModelID="JsonConfig\\JCSingleton::onContentHandlerForModelID", GetContentModels="JsonConfig\\JCSingleton::onGetContentModels", AlternateEdit="JsonConfig\\JCSingleton::onAlternateEdit", ["EditPage::showEditForm:initial"]="JsonConfig\\JCSingleton::onEditPage", EditFilterMergedContent="JsonConfig\\JCSingleton::onEditFilterMergedContent", EditPageCopyrightWarning="JsonConfig\\JCSingleton::onEditPageCopyrightWarning", MovePageIsValidMove="JsonConfig\\JCSingleton::onMovePageIsValidMove", PageSaveComplete="JsonConfig\\JCSingleton::onPageSaveComplete", ScribuntoExternalLibraries="JsonConfig\\JCLuaLibrary::onScribuntoExternalLibraries", SkinCopyrightFooter="JsonConfig\\JCSingleton::onSkinCopyrightFooter", TitleGetEditNotices="JsonConfig\\JCSingleton::onTitleGetEditNotices", PageMoveComplete="JsonConfig\\JCSingleton::onPageMoveComplete", getUserPermissionsErrors="JsonConfig\\JCSingleton::onGetUserPermissionsErrors", }, config={ JsonConfigs={ merge_strategy="array_replace_recursive", value={ }, }, JsonConfigModels={ merge_strategy="array_replace_recursive", value={ }, }, JsonConfigDisableCache={ value=false, }, JsonConfigCacheKeyPrefix={ value="1", }, JsonConfigEnableLuaSupport={ value=false, }, JsonConfigAllowedLicenses={ value={ "CC0-1.0","CC-BY-1.0","CC-BY-2.0","CC-BY-2.5","CC-BY-3.0","CC-BY-4.0","CC-BY-4.0+","CC-BY-SA-1.0","CC-BY-SA-2.0","CC-BY-SA-2.5","CC-BY-SA-3.0","CC-BY-SA-4.0","CC-BY-SA-4.0+","ODbL-1.0","dl-de-zero-2.0","dl-de-by-1.0","dl-de-by-2.0","GeoNutzV",}, }, JsonConfigUseGUI={ value=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/JsonConfig", }, JsonData={ name="JsonData", author="Rob Lanphier", url="https://www.mediawiki.org/wiki/Extension:JsonData", descriptionmsg="jsondata-desc", type="Tasks", requires={ MediaWiki=">= 1.35.0", }, Hooks={ BeforePageDisplay="MediaWiki\\Extension\\JsonData\\Hooks::beforePageDisplay", ["EditPage::showEditForm:fields"]="MediaWiki\\Extension\\JsonData\\Hooks::onEditPageShowEditFormInitial", EditPageBeforeEditToolbar="MediaWiki\\Extension\\JsonData\\Hooks::onEditPageBeforeEditToolbar", ParserFirstCallInit="MediaWiki\\Extension\\JsonData\\Hooks::onParserFirstCallInit", GetPreferences="MediaWiki\\Extension\\JsonData\\Hooks::onGetPreferences", EditFilter="MediaWiki\\Extension\\JsonData\\Hooks::validateDataEditFilter", }, config={ JsonDataNamespace={ value={ }, }, JsonDataSchemaFile={ value=nil, }, JsonData={ value=nil, }, JsonDataConfigArticle={ value=nil, }, JsonDataConfigFile={ value=nil, }, JsonDataDefaultTagHandlers={ value={ "json","jsonschema",}, }, JsonDataPredefinedData={ value={ openschema="schemas/openschema.json", schemaschema="schemas/schemaschema.json", configexample="example/configexample.json", configschema="schemas/jsondata-config-schema.json", simpleaddr="schemas/simpleaddr-schema.json", }, }, JsonDataConfig={ value={ srctype="predefined", src="configexample", }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/JsonData", }, Kartographer={ name="Kartographer", author={ "Yuri Astrakhan","Max Semenik","Ed Sanders","Julien Girault",}, url="https://www.mediawiki.org/wiki/Extension:Kartographer", descriptionmsg="kartographer-desc", ["license-name"]="MIT", type="parserhook", requires={ MediaWiki=">= 1.39.0", extensions={ JsonConfig="*", }, }, ExtensionMessagesFiles={ KartographerAliases="Kartographer.alias.php", }, SpecialPages={ Map="Kartographer\\SpecialMap", }, APIModules={ ["sanitize-mapdata"]={ class="Kartographer\\Api\\ApiSanitizeMapData", services={ "Parser",}, }, }, APIPropModules={ mapdata={ class="Kartographer\\Api\\ApiQueryMapData", services={ "WikiPageFactory",}, }, }, Hooks={ ParserTestGlobals="KartographerHooks", ParserFirstCallInit="KartographerHooks", ParserAfterParse="KartographerHooks", }, HookHandlers={ KartographerHooks={ class="Kartographer\\Hooks", services={ "MainConfig",}, }, }, QUnitTestModule={ localBasePath="tests/qunit", remoteExtPath="Kartographer/tests/qunit", scripts={ "nearby.test.js",}, dependencies={ "ext.kartographer.dialog",}, }, attributes={ VisualEditor={ PluginModules={ "ext.kartographer.editing","ext.kartographer.visualEditor",}, }, }, config={ KartographerStaticMapframe={ description="Disables the module that turns tags into interactive mini-maps that can be panned and zoomed without leaving the page. Static maps are recommended on high-traffic wikis where your KartographerMapServer couldn't keep up. Clicking   and substituted for $1, $2 etc. in messages.", value={ "user_real_name","user_name","user_email",}, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ShowRealUsernames", }, SidebarDonateBox={ name="SidebarDonateBox", version="1.2.0", author="Daniel Friesen", url="https://www.mediawiki.org/wiki/Extension:SidebarDonateBox", descriptionmsg="sidebardonatebox-desc", type="parserhook", requires={ MediaWiki=">= 1.29.0", }, Hooks={ SkinBuildSidebar="SidebarDonateBoxHooks::onSkinBuildSidebar", }, config_prefix="eg", config={ SidebarDonateBoxContent={ description="Config variable holding the HTML content of the sidebar.", value="", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SidebarDonateBox", }, SimilarEditors={ name="SimilarEditors", url="https://www.mediawiki.org/wiki/Extension:SimilarEditors", version="0.0.0", namemsg="similareditors-extensionname", descriptionmsg="similareditors-desc", ["license-name"]="MIT", type="specialpage", requires={ MediaWiki=">= 1.39.0", extensions={ QuickSurveys=">= 1.4.0", }, }, AvailableRights={ "similareditors",}, SpecialPages={ SimilarEditors={ class="MediaWiki\\Extension\\SimilarEditors\\SpecialSimilarEditors", services={ "SimilarEditorsClient","SimilarEditorsResultsFormatterFactory",}, }, }, ExtensionMessagesFiles={ SimilarEditorsAliases="SimilarEditors.alias.php", }, ServiceWiringFiles={ "src/ServiceWiring.php",}, config={ SimilarEditorsApiUrl={ value=false, description="API domain", }, SimilarEditorsApiUser={ value=false, description="API user", }, SimilarEditorsApiPassword={ value=false, description="API password", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SimilarEditors", }, SimpleCalendar={ name="SimpleCalendar", version="1.4.0", author={ "Aran Dunkley",}, url="https://www.mediawiki.org/wiki/Extension:SimpleCalendar", description="A simple calendar extension", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.31.0", }, ExtensionMessagesFiles={ SimpleCalendarMagic="SimpleCalendar.i18n.magic.php", }, Hooks={ ParserFirstCallInit="MediaWiki\\Extension\\SimpleCalendar\\Setup::onParserFirstCallInit", }, composer="mediawiki/simple-calendar", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SimpleCalendar", }, SimpleChanges={ name="SimpleChanges", version="1.1", author={ "Ike Hecht",}, type="specialpage", url="https://www.mediawiki.org/wiki/Extension:SimpleChanges", descriptionmsg="simplechanges-desc", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.34.0", }, ExtensionMessagesFiles={ SimpleChangesAlias="SimpleChanges.alias.php", }, SpecialPages={ SimpleChanges="SpecialSimpleChanges", }, config={ SimpleChangesOnlyContentNamespaces={ value=false, description="Restrict list of changes to $wgContentNamespaces?", }, SimpleChangesOnlyLatest={ value=true, description="Show only the changes which are each page's most recent revisions. Avoids duplicate page titles.", }, SimpleChangesShowUser={ value=false, description="Show the user who made the change.", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SimpleChanges", }, SimpleSAMLphp={ name="SimpleSAMLphp", version="5.0.1", author={ "Cindy Cicalese","Robert Vogel",}, url="https://www.mediawiki.org/wiki/Extension:SimpleSAMLphp", descriptionmsg="simplesamlphp-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.35.0", extensions={ PluggableAuth=">= 6.0", }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, HookHandlers={ pluggableauthpopulategroups={ class="MediaWiki\\Extension\\SimpleSAMLphp\\HookHandler\\PluggableAuthPopulateGroups", services={ "PluggableAuthFactory","SimpleSAMLphpAttributeProcessorFactory","SimpleSAMLphpSAMLClientFactory",}, }, }, Hooks={ PluggableAuthPopulateGroups="pluggableauthpopulategroups", }, config={ SimpleSAMLphp_InstallDir={ value=nil, }, SimpleSAMLphp_AttributeProcessors={ value={ ["groupsync-mapped"]={ class="MediaWiki\\Extension\\SimpleSAMLphp\\AttributeProcessor\\MapGroups", services={ "UserGroupManager",}, }, ["groupsync-all"]={ class="MediaWiki\\Extension\\SimpleSAMLphp\\AttributeProcessor\\SyncAllGroups", services={ "UserGroupManager",}, }, }, }, SimpleSAMLphp_MandatoryUserInfoProviders={ value={ username={ class="MediaWiki\\Extension\\SimpleSAMLphp\\UserInfoProvider\\LowerCasedUsername", }, rawusername={ class="MediaWiki\\Extension\\SimpleSAMLphp\\UserInfoProvider\\Username", }, realname={ class="MediaWiki\\Extension\\SimpleSAMLphp\\UserInfoProvider\\Realname", }, email={ class="MediaWiki\\Extension\\SimpleSAMLphp\\UserInfoProvider\\Email", }, }, }, }, attributes={ PluggableAuth={ SimpleSAMLphp={ class="MediaWiki\\Extension\\SimpleSAMLphp\\SimpleSAMLphp", services={ "TitleFactory","UserFactory","SimpleSAMLphpSAMLClientFactory","SimpleSAMLphpMandatoryUserInfoProviderFactory",}, }, }, }, composer="mediawiki/simple-s-a-m-lphp", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SimpleSAMLphp", }, SimpleSort={ name="SimpleSort", version="1.0.0", author={ "Clark Verbrugge",}, url="https://www.mediawiki.org/wiki/Extension:SimpleSort", descriptionmsg="simplesort-desc", ["license-name"]="CC0-1.0", type="parserhook", requires={ MediaWiki=">= 1.31.0", }, ExtensionMessagesFiles={ SimpleSortMagic="SimpleSort.i18n.magic.php", }, Hooks={ ParserFirstCallInit={ "SimpleSortHooks::onParserFirstCallInit",}, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SimpleSort", }, SiteMatrix={ name="SiteMatrix", version="1.6.0", author={ "Tim Starling","Brion Vibber","Victor Vasiliev","Alexandre Emsenhuber","Sam Reed",}, url="https://www.mediawiki.org/wiki/Extension:SiteMatrix", descriptionmsg="sitematrix-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.35.0", }, SpecialPages={ SiteMatrix={ class="MediaWiki\\Extension\\SiteMatrix\\SpecialSiteMatrix", services={ "LanguageNameUtils",}, }, }, APIModules={ sitematrix={ class="MediaWiki\\Extension\\SiteMatrix\\ApiSiteMatrix", services={ "LanguageNameUtils","LanguageFactory",}, }, }, ExtensionMessagesFiles={ SiteMatrixAlias="SiteMatrix.alias.php", SiteMatrixMagic="SiteMatrix.i18n.magic.php", }, Hooks={ APIQuerySiteInfoGeneralInfo={ "MediaWiki\\Extension\\SiteMatrix\\Hooks::onAPIQuerySiteInfoGeneralInfo",}, ParserGetVariableValueSwitch={ "MediaWiki\\Extension\\SiteMatrix\\Hooks::onParserGetVariableValueSwitch",}, MagicWordwgVariableIDs={ "MediaWiki\\Extension\\SiteMatrix\\Hooks::onMagicWordwgVariableIDs",}, }, config={ SiteMatrixFile={ description="A file with the list of language codes used by the wikifarm (one per line).", value=nil, }, SiteMatrixSites={ description="Configuration for project families (projects which are multilingual but each language is a separate wiki), in a => [ 'name' => , 'host' => , 'prefix' => ] format.", value={ }, merge_strategy="array_plus_2d", }, SiteMatrixPrivateSites={ description="dbname list of private wikis.", value=nil, }, SiteMatrixFishbowlSites={ description="dbname list of fishbowl wikis.", value=nil, }, SiteMatrixClosedSites={ description="dbname list of closed wikis.", value=nil, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SiteMatrix", }, SiteMetrics={ name="SiteMetrics", version="1.6.0", author={ "Aaron Wright","David Pean","Jack Phoenix",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:SiteMetrics", descriptionmsg="sitemetrics-desc", type="specialpage", requires={ MediaWiki=">= 1.34.0", }, ExtensionMessagesFiles={ SiteMetricsAliases="includes/SiteMetrics.alias.php", }, SpecialPages={ SiteMetrics="SiteMetrics", }, AvailableRights={ "metricsview",}, GroupPermissions={ sysop={ metricsview=true, }, staff={ metricsview=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SiteMetrics", }, SiteScout={ name="SiteScout", version="2.1.1", author={ "David Pean","Jack Phoenix",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:SiteScout", descriptionmsg="sitescout-desc", type="specialpage", SpecialPages={ SiteScout="SiteScoutPage", SiteScoutUpdate="SiteScoutUpdate", }, ExtensionMessagesFiles={ SiteScoutAliases="includes/SiteScout.alias.php", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SiteScout", }, Site_Settings={ name="Site Settings", version="0.8-alpha", author="Yaron Koren", url="https://www.mediawiki.org/wiki/Extension:Site_Settings", descriptionmsg="sitesettings-desc", type="other", requires={ MediaWiki=">= 1.29.0", }, AvailableRights={ "sitesettings",}, ExtensionFunctions={ "SSUtils::initializeSite",}, GroupPermissions={ sysop={ sitesettings=true, }, }, SpecialPages={ SiteSettings="SpecialSiteSettings", }, ExtensionMessagesFiles={ SiteSettingsAliases="SiteSettings.alias.php", }, Hooks={ LoadExtensionSchemaUpdates="SSUtils::describeDBSchema", PersonalUrls="SSUtils::addTopSiteSettingsLink", UserGetRights="SSUtils::blockFromReading", }, config={ SiteSettingsScriptPath={ value="/extensions/SiteSettings", }, SiteSettingsResourceTemplate={ value={ localBasePath="", remoteExtPath="SiteSettings", }, path=true, }, SiteSettingsDB={ value=nil, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SiteSettings", }, SkinPerNamespace={ name="SkinPerNamespace", version="2018-01-26", author="Alexandre Emsenhuber", url="https://www.mediawiki.org/wiki/Extension:SkinPerNamespace", descriptionmsg="skinpernamespace-desc", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.34.0", }, type="other", Hooks={ RequestContextCreateSkin="SkinPerNamespaceHooks::onSkinPerPageRequestContextCreateSkin", }, config={ SkinPerNamespace={ value={ }, merge_strategy="array_plus", }, SkinPerSpecialPage={ value={ }, }, SkinPerNamespaceOverrideLoggedIn={ value=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SkinPerNamespace", }, SkinPerPage={ name="Skin per page", version="1.2.0", author={ "Tim Starling","Calimonius the Estrange",}, requires={ MediaWiki=">= 1.31.0", }, url="https://www.mediawiki.org/wiki/Extension:SkinPerPage", descriptionmsg="skinperpage-desc", type="parserhook", ExtensionMessagesFiles={ SkinPerPageMagic="SkinPerPage.i18n.magic.php", }, Hooks={ ParserFirstCallInit={ "SkinPerPage::onParserFirstCallInit",}, OutputPageParserOutput={ "SkinPerPage::onOutputPageParserOutput",}, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SkinPerPage", }, SmiteSpam={ name="SmiteSpam", namemsg="smitespam-extensionname", version="0.4", author="Vivek Ghaisas", url="https://www.mediawiki.org/wiki/Extension:SmiteSpam", descriptionmsg="smitespam-desc", ["license-name"]="GPL-2.0-only", type="antispam", requires={ MediaWiki=">= 1.35.0", }, APIModules={ smitespamanalyze="SmiteSpamApiQuery", smitespamtrustuser="SmiteSpamApiTrustUser", }, AvailableRights={ "smitespam",}, GroupPermissions={ sysop={ smitespam=true, }, }, SpecialPages={ SmiteSpam="SpecialSmiteSpam", SmiteSpamTrustedUsers="SpecialSmiteSpamTrustedUsers", }, ExtensionMessagesFiles={ SmiteSpamAlias="SmiteSpam.alias.php", }, Hooks={ LoadExtensionSchemaUpdates="SmiteSpamHooks::createTables", AdminLinks="SmiteSpamHooks::addToAdminLinks", }, config={ SmiteSpamCheckers={ value={ ExternalLinks=1, RepeatedExternalLinks=1, Wikitext=1, }, description="List of enabled checkers and respective weights.", }, SmiteSpamThreshold={ value=0.7, description="Threshold (tolerance)\nPages analyzed as having a spam probability higher than this will be shown on special page.", }, SmiteSpamIgnoreSmallPages={ value=true, description="Ignore pages smaller than 500 characters?", }, SmiteSpamIgnorePagesWithNoExternalLinks={ value=true, description="Should SmiteSpam ignore all pages that don't have any external links outside of template calls?", }, SmiteSpamQueryPageSize={ value=500, description="Number of pages to analyze in one AJAX request.", }, SmiteSpamDisplayPageSize={ value=250, description="Number of pages to display in one paginated page.", }, }, composer="mediawiki/smitespam", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SmiteSpam", }, Sofa={ name="Sofa", version="0.1", author={ "Brian Wolff",}, url="https://www.mediawiki.org/wiki/Extension:Sofa", descriptionmsg="sofa-desc", type="other", requires={ MediaWiki=">= 1.35.3", extensions={ Scribunto="*", }, }, ["license-name"]="GPL-2.0-or-later", Hooks={ LoadExtensionSchemaUpdates={ "SofaHooks::onLoadExtensionSchemaUpdates",}, ParserFirstCallInit={ "SofaHooks::onParserFirstCallInit",}, RevisionDataUpdates={ "SofaHooks::onRevisionDataUpdates",}, PageDeletionDataUpdates={ "SofaHooks::onPageDeletionDataUpdates",}, BacklinkCacheGetPrefix={ "SofaDB::onBacklinkCacheGetPrefix",}, BacklinkCacheGetConditions={ "SofaDB::onBacklinkCacheGetConditions",}, ScribuntoExternalLibraries={ "SofaHooks::onScribuntoExternalLibraries",}, }, namespaces={ { id=940, constant="NS_SOFA", name="Sofa", defaultcontentmodel="Sofa", protection="sofa-edit", movable=false, },{ id=941, constant="NS_SOFA_TALK", name="Sofa_talk", },}, ContentHandlers={ Sofa="SofaContentHandler", }, ExtensionMessagesFiles={ SofaMagic="Sofa.i18n.magic.php", }, AvailableRights={ "sofa-edit",}, GroupPermissions={ sysop={ ["sofa-edit"]=true, }, }, config={ }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Sofa", }, SoftRedirector={ name="SoftRedirector", version="0.138", author={ "Ryan Kaldari","MJL",}, url="https://www.mediawiki.org/wiki/Extension:SoftRedirector", descriptionmsg="softredir-desc", ["license-name"]="MIT", requires={ MediaWiki=">= 1.35.3", }, type="other", ExtensionMessagesFiles={ SoftRedirectorAlias="SoftRedirector.i18n.alias.php", SoftRedirectorMagic="SoftRedirector.i18n.magic.php", }, Hooks={ GetDoubleUnderscoreIDs={ "SoftRedirectorHooks::onGetDoubleUnderscoreIDs",}, wgQueryPages={ "SoftRedirectorHooks::onwgQueryPages",}, AncientPagesQuery={ "SoftRedirectorHooks::onAncientPagesQuery",}, LonelyPagesQuery={ "SoftRedirectorHooks::onLonelyPagesQuery",}, ShortPagesQuery={ "SoftRedirectorHooks::onShortPagesQuery",}, RandomPageQuery={ "SoftRedirectorHooks::onRandomPageQuery",}, GetLinkColours={ "SoftRedirectorHooks::onGetLinkColours",}, }, config={ SoftRedirectorIndicateLinks=true, }, SpecialPages={ SoftRedirectPages="SpecialSoftRedirectPages", SoftRedirectPageLinks={ class="SpecialSoftRedirectPageLinks", services={ "NamespaceInfo",}, }, }, VisualEditorPluginModules={ "ext.softredirector.visualEditor",}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SoftRedirector", }, SoftwareVersion={ name="SoftwareVersion", version="0.6.3", author={ "Jack Phoenix","Samantha Nguyen",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:SoftwareVersion", descriptionmsg="softwareversion-desc", type="other", requires={ MediaWiki=">= 1.34.0", }, config={ SoftwareVersionExecutablePath={ unix="/usr/bin/svn", windows="C:/Program Files/TortoiseSVN\bin/svn.exe", }, }, Hooks={ SoftwareInfo="SoftwareVersion::addSVNInfo", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SoftwareVersion", }, SpamBlacklist={ name="SpamBlacklist", author={ "Tim Starling","John Du Hart","Daniel Kinzler",}, url="https://www.mediawiki.org/wiki/Extension:SpamBlacklist", descriptionmsg="spam-blacklist-desc", type="antispam", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.38.0", }, GroupPermissions={ user={ spamblacklistlog=true, }, }, AvailableRights={ "spamblacklistlog","sboverride",}, LogTypes={ "spamblacklist",}, LogRestrictions={ spamblacklist="spamblacklistlog", }, LogActionsHandlers={ ["spamblacklist/*"]="MediaWiki\\Extension\\SpamBlacklist\\SpamBlacklistLogFormatter", }, GrantPermissions={ viewrestrictedlogs={ spamblacklistlog=true, }, editprotected={ sboverride=true, }, }, APIModules={ spamblacklist="MediaWiki\\Extension\\SpamBlacklist\\ApiSpamBlacklist", }, attributes={ VisualEditor={ PluginModules={ "ext.spamBlacklist.visualEditor",}, }, }, Hooks={ EditFilterMergedContent="SpamBlacklistHookHandler", EditFilter="SpamBlacklistHookHandler", PageSaveComplete="SpamBlacklistHookHandler", UserCanSendEmail="SpamBlacklistHookHandler", ParserOutputStashForEdit="SpamBlacklistHookHandler", UploadVerifyUpload="SpamBlacklistHookHandler", }, HookHandlers={ SpamBlacklistHookHandler={ class="MediaWiki\\Extension\\SpamBlacklist\\Hooks", services={ "PermissionManager","PageEditStash","ContentRenderer","ContentHandlerFactory",}, }, }, config={ BlacklistSettings={ value={ spam={ files={ "https://meta.wikimedia.org/w/index.php?title=Spam_blacklist&action=raw&sb_ver=1",}, }, }, merge_strategy="array_plus_2d", }, LogSpamBlacklistHits={ value=false, }, }, AuthManagerAutoConfig={ preauth={ SpamBlacklistPreAuthenticationProvider={ class="MediaWiki\\Extension\\SpamBlacklist\\SpamBlacklistPreAuthenticationProvider", }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SpamBlacklist", }, SpamDiffTool={ name="SpamDiffTool", version="1.6", author={ "Travis Derouin","Alexandre Emsenhuber","Jack Phoenix",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:SpamDiffTool", descriptionmsg="spamdifftool-desc", type="antispam", requires={ MediaWiki=">= 1.35.3", extensions={ SpamBlacklist="*", }, }, config={ SpamBlacklistArticle="Project:Spam_Blacklist", }, ExtensionMessagesFiles={ SpamDiffToolAlias="SpamDiffTool.alias.php", }, SpecialPages={ SpamDiffTool="SpamDiffTool", }, Hooks={ DifferenceEngineViewHeader="SpamDiffToolHooks::onDifferenceEngineViewHeader", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SpamDiffTool", }, SpamRegex={ name="Regular Expression Spam Block", version="1.7.2", author={ "Bartek Łapiński","Alexandre Emsenhuber","Jack Phoenix",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:SpamRegex", descriptionmsg="spamregex-desc", type="antispam", requires={ MediaWiki=">= 1.34.0", }, SpecialPages={ SpamRegex="SpecialSpamRegex", }, ExtensionMessagesFiles={ SpamRegexAliases="SpamRegex.alias.php", }, APIModules={ spamregex="ApiSpamRegex", }, Hooks={ EditFilter="SpamRegexHooks::onEditFilter", MovePageCheckPermissions="SpamRegexHooks::onMovePageCheckPermissions", LoadExtensionSchemaUpdates="SpamRegexHooks::onLoadExtensionSchemaUpdates", RenameUserComplete="SpamRegexHooks::onRenameUserComplete", ["Comments::isSpam"]="SpamRegexHooks::onCommentsIsSpam", }, AvailableRights={ "spamregex",}, GroupPermissions={ staff={ spamregex=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SpamRegex", }, Spark={ name="Spark", version="1.0.0", author={ "Jeroen De Dauw",}, ["license-name"]="GPL-3.0-or-later", url="https://www.mediawiki.org/wiki/Extension:Spark", descriptionmsg="spark-desc", type="other", requires={ MediaWiki=">= 1.35.0", }, config_prefix="eg", config={ SparkQuery={ value="data-spark-query", }, SparkFormat={ value="data-spark-format", }, }, Hooks={ ParserFirstCallInit="SparkHooks::onParserFirstCallInit", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Spark", }, SparkPost={ name="SparkPost", version="1.1", author={ "Derick Alangi","Zoglun",}, url="https://www.mediawiki.org/wiki/Extension:SparkPost", descriptionmsg="sparkpost-desc", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.34.0", }, Hooks={ AlternateUserMailer={ "MediaWiki\\SparkPost\\SPHooks::onAlternateUserMailer",}, }, config={ SparkPostAPIKey="", SparkPostClickTracking=true, SparkPostOpenTracking=true, SparkPostTransactional=true, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SparkPost", }, Special404={ name="Special404", author="Daniel Friesen", url="https://www.mediawiki.org/wiki/Extension:Special404", descriptionmsg="special404-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.31.0", }, SpecialPages={ Error404="Special404", }, ExtensionMessagesFiles={ Special404Alias="Special404.alias.php", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Special404", }, SpecialNamespaces={ name="SpecialNamespaces", author={ "Stephanie Amanda Stevens","SPQRobin","Stephen Kennedy","...",}, url="https://www.mediawiki.org/wiki/Extension:SpecialNamespaces", descriptionmsg="namespaces-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.35.0", }, ExtensionMessagesFiles={ NamespacesAlias="SpecialNamespaces.alias.php", }, HookHandlers={ main={ class="MediaWiki\\Extension\\SpecialNamespaces\\Hooks", }, }, Hooks={ CanonicalNamespaces="main", LoadExtensionSchemaUpdates="main", }, SpecialPages={ Namespaces="MediaWiki\\Extension\\SpecialNamespaces\\SpecialNamespaces", }, AvailableRights={ "namespaces",}, GroupPermissions={ sysop={ namespaces=true, }, }, LogTypes={ "namespaces",}, LogNames={ namespaces="namespaces_logpagename", }, LogHeaders={ namespaces="namespaces_logpagetext", }, LogActions={ ["namespaces/namespaces"]="namespaces_logentry", ["namespaces/ns_add"]="namespaces_log_added", ["namespaces/ns_delete"]="namespaces_log_deleted", ["namespaces/ns_edit"]="namespaces_log_edited", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SpecialNamespaces", }, SpellingApi={ name="SpellingApi", version="0.3.0", author={ "Amir E. Aharoni","Anish Patil","Niklas Laxström",}, url="https://www.mediawiki.org/wiki/Extension:SpellingApi", descriptionmsg="spellingapi-desc", ["license-name"]="GPL-2.0-or-later", type="api", requires={ MediaWiki=">= 1.31.0", }, APIModules={ spellingapi="ApiQuerySpellcheck", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SpellingApi", }, SpellingDictionary={ name="SpellingDictionary", version="0.1.0", author="Ankita Shukla", url="https://www.mediawiki.org/wiki/Extension:SpellingDictionary", descriptionmsg="desc", type="other", requires={ MediaWiki=">= 1.32.0", }, AvailableRights={ "spelladmin",}, GroupPermissions={ sysop={ spelladmin=true, }, }, SpecialPages={ SpellingDictionary="SpecialSpellingDictionary", SpellingDictionaryAdmin="SpecialSpellingDictionaryAdmin", ViewAll="SpecialViewAll", ViewByLanguage="SpecialViewByLanguage", }, ExtensionMessagesFiles={ SpellingDictionaryAlias="SpellingDictionary.i18n.alias.php", SpellingDictionaryMagic="SpellingDictionary.i18n.magic.php", }, Hooks={ BeforePageDisplay={ "SpellingDictionaryHooks::onBeforePageDisplay",}, ResourceLoaderGetConfigVars={ "SpellingDictionaryHooks::onResourceLoaderGetConfigVars",}, ParserFirstCallInit={ "SpellingDictionaryHooks::onParserFirstCallInit",}, MagicWordwgVariableIDs={ "SpellingDictionaryHooks::onRegisterMagicWords",}, ParserGetVariableValueSwitch={ "SpellingDictionaryHooks::onParserGetVariableValueSwitch",}, LoadExtensionSchemaUpdates={ "SpellingDictionaryHooks::onLoadExtensionSchemaUpdates",}, }, config={ wgSpellingDictionaryDatabase={ value=false, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SpellingDictionary", }, SphinxSearch={ name="SphinxSearch", author={ "Svemir Brkic","Paul Grinberg",}, url="https://www.mediawiki.org/wiki/Extension:SphinxSearch", descriptionmsg="sphinxsearch-desc", ["license-name"]="GPL-2.0", type="other", version="1.0.0", requires={ MediaWiki=">= 1.31.0", }, ExtensionFunctions={ "SphinxMWSearch::initialize",}, config={ SphinxSearch_host="127.0.0.1", SphinxSearch_port=9312, SphinxSearch_index="wiki_main", SphinxSearch_index_list="*", SphinxSearch_index_weights="null", SphinxSearch_mode=4, SphinxSearch_sortmode=0, SphinxSearch_sortby="", SphinxSearch_maxmatches=1000, SphinxSearch_cutoff=0, SphinxSearch_weights={ old_text=1, page_title=100, }, SphinxSearchMWHighlighter=false, SphinxSuggestMode="", SphinxSearchAspellPath="aspell", SphinxSearchPersonalDictionary="", EnableSphinxInfixSearch=false, EnableSphinxPrefixSearch=false, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SphinxSearch", }, SplitPrivateWiki={ name="SplitPrivateWiki", version="0.2", author="Brian Wolff", url="https://www.mediawiki.org/wiki/Extension:SplitPrivateWiki", descriptionmsg="splitprivatewiki-desc", ["license-name"]="GPL-2.0+", type="other", requires={ MediaWiki=">= 1.35.0", }, JobClasses={ SyncArticleJob="SyncArticleJob", }, callback="SplitPrivateWiki::registerExtension", Hooks={ InitializeArticleMaybeRedirect="SplitPrivateWiki::onInitializeArticleMaybeRedirect", LoadExtensionSchemaUpdates="SplitPrivateWiki::onLoadExtensionSchemaUpdates", ArticleDeleteComplete="SplitPrivateWiki::onArticleDeleteComplete", ArticleUndelete="SplitPrivateWiki::onArticleUndelete", TitleMoveComplete="SplitPrivateWiki::ononTitleMoveComplete", LanguageGetNamespaces="SplitPrivateWiki::onLanguageGetNamespaces", }, config={ ExclusiveNamespaces={ value={ }, }, BuiltinNamespacesToRename={ value={ -1,2,3,14,15,8,9,}, }, SplitWikiShowInRc={ value="bot", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SplitPrivateWiki", }, SportsTeams={ name="SportsTeams", version="3.7.0", author={ "Aaron Wright","Ashish Datta","David Pean","Jack Phoenix",}, ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.34.0", }, url="https://www.mediawiki.org/wiki/Extension:SportsTeams", descriptionmsg="sportsteams-desc", type="other", GroupPermissions={ sysop={ sportsteamsmanager=true, }, staff={ sportsteamsmanager=true, }, }, AvailableRights={ "sportsteamsmanager",}, SpecialPages={ AddFan="AddFan", FanHome="FanHome", RemoveFan="RemoveFan", SimilarFans="SimilarFans", SportsManagerLogo="SportsManagerLogo", SportsTeamsManager="SportsTeamsManager", SportsTeamsManagerLogo="SportsTeamsManagerLogo", TopNetworks="TopNetworks", UpdateFavoriteTeams="UpdateFavoriteTeams", ViewFans="ViewFans", }, APIModules={ sportsteams="ApiSportsTeams", }, ExtensionMessagesFiles={ SportsTeamsAlias="includes/SportsTeams.alias.php", }, Hooks={ UserProfileBeginLeft={ "SportsTeamsUserProfile::showLatestThought","SportsTeamsUserProfile::showFavoriteTeams",}, LocalUserCreated="SportsTeamsHooks::addFavoriteTeam", BeforePageDisplay="SportsTeamsHooks::addSportsTeamsToSignupPage", LoadExtensionSchemaUpdates="SportsTeamsHooks::onLoadExtensionSchemaUpdates", }, config={ SportsTeamsGoogleAPIKey="ABQIAAAAnfs7bKE82qgb3Zc2YyS-oBT2yXp_ZAY8_ufC3CFXhHIE1NvwkxSySz_REpPq-4WZA27OwgbtyR3VcA", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SportsTeams", }, StaffEdits={ name="StaffEdits", version="0.1.4", author={ "Jack Phoenix",}, url="https://www.mediawiki.org/wiki/Extension:StaffEdits", descriptionmsg="staffedit-desc", type="other", requires={ MediaWiki=">= 1.35.0", }, config={ StaffEditsMessagePrefix="sw", }, Hooks={ ["EditPage::showEditForm:initial"]={ "StaffEdits::onEditPage",}, ListDefinedTags={ "StaffEdits::onListDefinedTags",}, RecentChange_save={ "StaffEdits::onRecentChange_save",}, ChangeTagsListActive={ "StaffEdits::onListDefinedAndActiveTags",}, }, AvailableRights={ "staffedit",}, GroupPermissions={ staff={ staffedit=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/StaffEdits", }, StaffPowers={ name="StaffPowers", version="1.4", author={ "Łukasz Garczewski","Jack Phoenix","Mainframe98",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:StaffPowers", descriptionmsg="staffpowers-desc", type="other", requires={ MediaWiki=">= 1.35.0", }, Hooks={ BlockIp={ "StaffPowers::makeUnblockable",}, }, AvailableRights={ "unblockable",}, GroupPermissions={ staff={ unblockable=true, }, }, config={ StaffPowersStewardGroupName="steward", StaffPowersShoutWikiMessages=true, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/StaffPowers", }, StandardDialogs={ name="StandardDialogs", version="1.1-alpha", ["license-name"]="GPL-3.0-only", author={ "Hallo Welt! GmbH",}, url="http://www.hallowelt.com", descriptionmsg="standarddialogs-desc", requires={ MediaWiki=">= 1.35.0", }, HookHandlers={ skin={ class="\\MediaWiki\\Extension\\StandardDialogs\\HookHandler\\Skin", services={ "PermissionManager",}, }, ["discovery-skin"]={ class="\\MediaWiki\\Extension\\StandardDialogs\\HookHandler\\DiscoverySkin", }, }, Hooks={ ["SkinTemplateNavigation::Universal"]="skin", BlueSpiceDiscoveryTemplateDataProviderAfterInit="discovery-skin", }, composer="mediawiki/standard-dialogs", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/StandardDialogs", }, ["StatCounter.com_Integration"]={ name="StatCounter.com Integration", version="1.1", author={ "Jack Phoenix",}, url="https://www.mediawiki.org/wiki/Extension:StatCounter.com_Integration", descriptionmsg="statcounter-desc", type="other", requires={ MediaWiki=">= 1.31.0", }, Hooks={ SkinBuildSidebar={ "StatCounterHooks::onSkinBuildSidebar",}, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/StatCounter", }, StickyTOC={ name="StickyTOC", version="1.0.0", author={ "WikiWorks Team",}, url="https://www.mediawiki.org/wiki/Extension:StickyTOC", descriptionmsg="stickytoc-desc", ["license-name"]="LGPL-2.1-only", type="other", requires={ MediaWiki=">= 1.35.0", skins={ chameleon=">= 2.0", }, }, Hooks={ BeforePageDisplay={ "StickyTOC\\StickyTOCHooks::onBeforePageDisplay",}, ResourceLoaderGetConfigVars={ "StickyTOC\\StickyTOCHooks::onResourceLoaderGetConfigVars",}, }, config={ StickyTOCFloat={ description="To which side to float", value="left", }, StickyTOCNavbar={ description="Forces TOC to run in sticky navbar compatible mode", value=false, }, StickyTOCReplaceTitle={ description="Replaces TOC title with article title", value=false, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/StickyTOC", }, StlHandler={ name="StlHandler", author="Harri Alasi", url="https://www.mediawiki.org/wiki/Extension:StlHandler", descriptionmsg="stlhandler-desc", version="1.0", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.31.0", }, MediaHandlers={ ["application/sla"]="StlHandler", }, Hooks={ ImageOpenShowImageInlineBefore={ "StlHandler::onImageOpenShowImageInlineBefore",}, BeforePageDisplay={ "StlHandler::onBeforePageDisplay",}, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/StlHandler", }, StopForumSpam={ name="StopForumSpam", version="0.4.0", author={ "Kunal Mehta","Ryan Schmidt","Scott Bassett",}, url="https://www.mediawiki.org/wiki/Extension:StopForumSpam", descriptionmsg="stopforumspam-desc", ["license-name"]="GPL-2.0-or-later", type="antispam", requires={ MediaWiki=">= 1.36.0", }, AvailableRights={ "sfsblock-bypass",}, GroupPermissions={ sysop={ ["sfsblock-bypass"]=true, }, }, HookHandlers={ abusefilter={ class="MediaWiki\\StopForumSpam\\AbuseFilterHookHandler", }, hooks={ class="MediaWiki\\StopForumSpam\\Hooks", }, }, Hooks={ ["AbuseFilter-computeVariable"]="abusefilter", ["AbuseFilter-generateUserVars"]="abusefilter", ["AbuseFilter-builder"]="abusefilter", getUserPermissionsErrorsExpensive="hooks", OtherBlockLogLink="hooks", }, config={ SFSReportOnly={ value=false, }, SFSIPListLocation={ value="https://www.stopforumspam.com/downloads/listed_ip_30_ipv46_all.gz", }, SFSValidateIPListLocationMD5={ value=false, }, SFSIPThreshold={ value=5, }, SFSDenyListCacheDuration={ value=432000, }, SFSProxy={ value=false, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/StopForumSpam", }, StructuredNavigation={ name="StructuredNavigation", version="2.0.0", author={ "Sam Nguyen",}, ["license-name"]="MIT", url="https://www.mediawiki.org/wiki/Extension:StructuredNavigation", descriptionmsg="structurednav-desc", type="parserhook", requires={ MediaWiki=">= 1.34.0", platform={ php=">= 7.4", }, }, callback="StructuredNavigation\\Hooks\\ExtensionCallback::onRegistrationCallback", ExtensionMessagesFiles={ StructuredNavigationNamespaces="StructuredNavigation.i18n.namespaces.php", StructuredNavigationAliases="StructuredNavigation.i18n.aliases.php", }, ServiceWiringFiles={ "src/Services/ServiceWiring.php",}, Hooks={ BeforeDisplayNoArticleText="StructuredNavigation\\Hooks\\BeforeDisplayNoArticleTextHandler::onBeforeDisplayNoArticleText", CodeEditorGetPageLanguage="StructuredNavigation\\Hooks\\HookHandler::onCodeEditorGetPageLanguage", ParserFirstCallInit="StructuredNavigation\\Hooks\\ParserFirstCallInitHandler::onParserFirstCallInit", UserGetReservedNames="StructuredNavigation\\Hooks\\HookHandler::onUserGetReservedNames", }, SpecialPages={ NavigationSchema={ class="StructuredNavigation\\Specials\\SpecialNavigationSchema", services={ "StructuredNavigation.DocumentationContent",}, }, TitlesUsedInNavigation={ class="StructuredNavigation\\Specials\\SpecialTitlesUsedInNavigation", services={ "StructuredNavigation.NavigationFactory","StructuredNavigation.NamespacedTitleSearcher",}, }, }, ContentHandlers={ StructuredNavigation="StructuredNavigation\\Content\\NavigationContentHandler", }, RestRoutes={ { path="/structurednav/v0/examples", method="GET", class="StructuredNavigation\\Api\\Rest\\NavigationExamplesHandler", services={ "StructuredNavigation.DocumentationContent",}, },{ path="/structurednav/v0/schema", method="GET", class="StructuredNavigation\\Api\\Rest\\NavigationSchemaHandler", services={ "StructuredNavigation.DocumentationContent",}, },{ path="/structurednav/v0/{title}/data", method="GET", class="StructuredNavigation\\Api\\Rest\\NavigationDataHandler", services={ "StructuredNavigation.NavigationFactory",}, },{ path="/structurednav/v0/{title}/html", method="GET", class="StructuredNavigation\\Api\\Rest\\NavigationHtmlHandler", services={ "StructuredNavigation.NavigationViewPresenter",}, },{ path="/structurednav/v0/{title}/titles-used", method="GET", class="StructuredNavigation\\Api\\Rest\\NavigationTitlesUsedHandler", services={ "StructuredNavigation.NavigationFactory",}, },}, ConfigRegistry={ structurednavigation="StructuredNavigation\\Hooks\\ExtensionCallback::getGlobalVarConfig", }, config={ StructuredNavigationEnableExperimentalAPI={ value=false, }, StructuredNavigationReservedUsername={ value="msg:structurednav-reserved-username", }, }, namespaces={ { id=2940, constant="NS_NAVIGATION", name="Navigation", subpages=true, defaultcontentmodel="StructuredNavigation", protection={ "structurednav-edit","structurednav-create",}, },{ id=2941, constant="NS_NAVIGATION_TALK", name="Navigation_talk", subpages=true, content=false, defaultcontentmodel="wikitext", },}, GroupPermissions={ user={ ["structurednav-create"]=true, ["structurednav-edit"]=true, }, }, AvailableRights={ "structurednav-create","structurednav-edit",}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/StructuredNavigation", }, SubPageList3={ name="Subpage List 3", version="1.4", descriptionmsg="spl3-desc", url="https://www.mediawiki.org/wiki/Extension:SubPageList3", author={ "James McCormack","Martin Schallnahs","Rob Church",}, ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.36.0", }, Hooks={ ParserFirstCallInit="MediaWiki\\Extension\\SubPageList3\\Hooks::onParserFirstCallInit", }, ConfigRegistry={ SubPageList3="GlobalVarConfig::newInstance", }, config={ SubPageListDescendantsLimit={ value=200, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SubPageList3", }, Subpage_Fun={ name="Subpage Fun", version="0.7.0", author="Daniel Werner", url="https://www.mediawiki.org/wiki/Extension:Subpage_Fun", descriptionmsg="subpagefun-desc", type="parserhook", requires={ MediaWiki=">= 1.34.0", }, ExtensionMessagesFiles={ SubpageFunMagic="SubpageFun.i18n.magic.php", }, Hooks={ ParserFirstCallInit="ExtSubpageFun::init", MagicWordwgVariableIDs="ExtSubpageFun::onMagicWordwgVariableIDs", ParserGetVariableValueSwitch="ExtSubpageFun::onParserGetVariableValueSwitch", GetThisVariableValueSwitch="ExtSubpageFun::onGetThisVariableValueSwitch", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SubpageFun", }, SubpageSortkey={ name="Subpage Sortkey", version="0.2.0", author={ "Brian Wolff",}, url="https://www.mediawiki.org/wiki/Extension:SubpageSortkey", descriptionmsg="subpagesortkey-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.34.0", }, Hooks={ GetDefaultSortkey={ "MediaWiki\\Extension\\SubpageSortkey\\SubpageSortkey::onGetDefaultSortkey",}, }, config={ SubpageSortkeyDefault={ value=false, }, SubpageSortkeyByNamespace={ value={ }, merge_strategy="array_plus", }, SubpageSortkeyIfNoSubpageUseFullName={ value=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SubpageSortkey", }, Sudo={ name="Sudo", version="0.6.0", author={ "Daniel Friesen","...",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:Sudo", descriptionmsg="sudo-desc", type="specialpage", requires={ MediaWiki=">= 1.29.0", }, AvailableRights={ "sudo",}, SpecialPages={ Sudo="SpecialSudo", }, LogTypes={ "sudo",}, LogNames={ sudo="sudo-logpagename", }, LogHeaders={ sudo="sudo-logpagetext", }, LogActions={ ["sudo/sudo"]="sudo-logentry", }, ExtensionMessagesFiles={ SudoAlias="Sudo.alias.php", }, Hooks={ UserLogoutComplete="SudoHooks::onUserLogoutComplete", PersonalUrls="SudoHooks::onPersonalUrls", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Sudo", }, SwiftMailer={ name="SwiftMailer", version="1.1", author={ "Tony Thomas",}, url="https://www.mediawiki.org/wiki/Extension:SwiftMailer", descriptionmsg="swiftmailer-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.29.0", }, Hooks={ AlternateUserMailer="SwiftMailerHooks::onAlternateUserMailer", }, config={ SMTPAuthenticationMethod={ value=false, }, }, repository="https://github.com/wikimedia/mediawiki-extensions-SwiftMailer", composer="mediawiki/swiftmailer", }, SyntaxHighlight={ name="SyntaxHighlight", version="2.0", author={ "Brion Vibber","Tim Starling","Rob Church","Niklas Laxström","Ori Livneh","Ed Sanders",}, url="https://www.mediawiki.org/wiki/Extension:SyntaxHighlight", descriptionmsg="syntaxhighlight-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.36", platform={ ["ability-shell"]=true, }, }, Hooks={ ParserFirstCallInit="MediaWiki\\SyntaxHighlight\\SyntaxHighlight::onParserFirstCallInit", ContentGetParserOutput="MediaWiki\\SyntaxHighlight\\SyntaxHighlight::onContentGetParserOutput", ApiFormatHighlight="MediaWiki\\SyntaxHighlight\\SyntaxHighlight::onApiFormatHighlight", SoftwareInfo="MediaWiki\\SyntaxHighlight\\SyntaxHighlight::onSoftwareInfo", }, ParsoidModules={ "MediaWiki\\SyntaxHighlight\\ParsoidExt",}, attributes={ SyntaxHighlight={ Models={ }, }, VisualEditor={ PluginModules={ "ext.geshi.visualEditor",}, }, }, config={ PygmentizePath={ value=false, }, }, TrackingCategories={ "syntaxhighlight-error-category","syntaxhighlight-enclose-category","syntaxhighlight-source-category",}, composer="mediawiki/syntax-highlight", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SyntaxHighlight_GeSHi", }, TEI={ name="TEI", author={ "Thomas Pellissier Tanon",}, url="https://www.mediawiki.org/wiki/Extension:TEI", descriptionmsg="tei-desc", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.38.0", }, ContentHandlers={ tei="MediaWiki\\Extension\\Tei\\TeiContentHandler", }, APIModules={ teiconvert="MediaWiki\\Extension\\Tei\\Api\\ApiTeiConvert", teivalidate="MediaWiki\\Extension\\Tei\\Api\\ApiTeiValidate", }, Hooks={ BeforePageDisplay="MediaWiki\\Extension\\Tei\\HooksHandler::onBeforePageDisplay", }, callback="MediaWiki\\Extension\\Tei\\HooksHandler::onRegister", composer="mediawiki/tei", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TEI", }, THICC={ name="THICC", namemsg="thicc-displayname", descriptionmsg="thicc-desc", url="https://www.mediawiki.org/wiki/Extension:THICC", ["license-name"]="GPL-2.0-or-later", version="0.0.0", author={ "Ostrzyciel","Brian Wolff","Calimonius the Estrange",}, type="other", ContentHandlers={ ThiccModelContent="ThiccModelContentHandler", ThiccModelAggregateContent="ThiccModelAggregateContentHandler", }, namespaces={ { id=690, constant="NS_THICC", name="THICC", },{ id=691, constant="NS_THICC_TALK", name="THICC_talk", },}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/THICC", }, Tabs={ name="Tabs", version="1.3.2", author="Joeytje50", url="https://www.mediawiki.org/wiki/Extension:Tabs", descriptionmsg="tabs-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.29.0", }, ExtensionMessagesFiles={ TabsMagic="Tabs.i18n.magic.php", }, Hooks={ ParserFirstCallInit="Tabs::init", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Tabs", }, TemplateData={ name="TemplateData", version="0.1.2", author={ "Timo Tijhof","Moriel Schottlender","James D. Forrester","Trevor Parscal","Bartosz Dziewoński","Marielle Volz","...",}, url="https://www.mediawiki.org/wiki/Extension:TemplateData", descriptionmsg="templatedata-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.38.0", }, APIModules={ templatedata="MediaWiki\\Extension\\TemplateData\\Api\\ApiTemplateData", }, Hooks={ ["EditPage::showEditForm:fields"]="MediaWiki\\Extension\\TemplateData\\Hooks::onEditPageShowEditFormFields", ParserFirstCallInit="MediaWiki\\Extension\\TemplateData\\Hooks::onParserFirstCallInit", MultiContentSave="MediaWiki\\Extension\\TemplateData\\Hooks::onMultiContentSave", ResourceLoaderRegisterModules="MediaWiki\\Extension\\TemplateData\\Hooks::onResourceLoaderRegisterModules", ["EditPage::showEditForm:initial"]="MediaWiki\\Extension\\TemplateData\\Hooks::onEditPage", ParserFetchTemplateData="MediaWiki\\Extension\\TemplateData\\Hooks::onParserFetchTemplateData", OutputPageBeforeHTML="MediaWiki\\Extension\\TemplateData\\Hooks::onOutputPageBeforeHTML", }, QUnitTestModule={ localBasePath="tests/qunit", remoteExtPath="TemplateData/tests/qunit", scripts={ "ext.templateData.tests.js",}, dependencies={ "ext.templateDataGenerator.data",}, }, attributes={ EventLogging={ Schemas={ TemplateDataEditor="/analytics/legacy/templatedataeditor/1.0.0", TemplateDataApi="/analytics/legacy/templatedataapi/1.0.0", }, }, VisualEditor={ PluginModules={ "ext.templateDataGenerator.editPage",}, }, }, config={ TemplateDataUseGUI={ value=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TemplateData", }, TemplateSandbox={ name="TemplateSandbox", version="1.1.0", author="Brad Jorsch", url="https://www.mediawiki.org/wiki/Extension:TemplateSandbox", descriptionmsg="templatesandbox-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.38.0", }, SpecialPages={ TemplateSandbox={ class="MediaWiki\\Extension\\TemplateSandbox\\SpecialTemplateSandbox", services={ "RevisionLookup","ContentHandlerFactory","WikiPageFactory","ContentRenderer",}, }, }, ExtensionMessagesFiles={ TemplateSandboxAlias="TemplateSandbox.alias.php", }, Hooks={ ["EditPage::importFormData"]="MediaWiki\\Extension\\TemplateSandbox\\Hooks::importFormData", ["EditPage::showStandardInputs:options"]="MediaWiki\\Extension\\TemplateSandbox\\Hooks::injectOptions", AlternateEditPreview="MediaWiki\\Extension\\TemplateSandbox\\Hooks::templateSandboxPreview", APIGetAllowedParams="MediaWiki\\Extension\\TemplateSandbox\\Hooks::onAPIGetAllowedParams", ApiMakeParserOptions="MediaWiki\\Extension\\TemplateSandbox\\Hooks::onApiMakeParserOptions", }, attributes={ VisualEditor={ PluginModules={ "ext.TemplateSandbox.visualeditor",}, }, }, config={ TemplateSandboxEditNamespaces={ description="Namespaces to show a page preview box for in edit mode", value={ 10,}, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TemplateSandbox", }, TemplateStyles={ name="TemplateStyles", version="1.0", author={ "Brad Jorsch","Marc A. Pelletier",}, url="https://www.mediawiki.org/wiki/Extension:TemplateStyles", namemsg="templatestyles", descriptionmsg="templatestyles-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.38.0", }, ContentHandlers={ ["sanitized-css"]="MediaWiki\\Extension\\TemplateStyles\\TemplateStylesContentHandler", }, TrackingCategories={ "templatestyles-stylesheet-error-category","templatestyles-page-error-category",}, attributes={ SyntaxHighlight={ Models={ ["sanitized-css"]="css", }, }, TemplateStyles={ Namespaces={ }, }, TemplateSandbox={ EditContentModels={ "sanitized-css",}, }, }, callback="MediaWiki\\Extension\\TemplateStyles\\Hooks::onRegistration", Hooks={ ParserFirstCallInit={ "MediaWiki\\Extension\\TemplateStyles\\Hooks::onParserFirstCallInit",}, ParserClearState={ "MediaWiki\\Extension\\TemplateStyles\\Hooks::onParserClearState",}, ContentHandlerDefaultModelFor={ "MediaWiki\\Extension\\TemplateStyles\\Hooks::onContentHandlerDefaultModelFor",}, CodeEditorGetPageLanguage={ "MediaWiki\\Extension\\TemplateStyles\\Hooks::onCodeEditorGetPageLanguage",}, }, config={ TemplateStylesDisable={ description="When set to true, no styles are output. This flag is for development and will be removed.", value=false, }, TemplateStylesAllowedUrls={ description="PCRE regexes to match allowed URLs for various types of external references. Known types are:\n; audio: Sound files\n; image: Images\n; svg: SVGs for the Filter and Masking modules\n; font: External fonts\n; namespace: @namespace declarations\n; css: @import declarations\nIf you want to allow an entire domain, be sure to include a trailing '/', e.g. \"<^https://allowed\\.example\\.org/>\" rather than \"<^https://allowed\\.example\\.org>\", so people can't bypass your filter by creating a subdomain like \"https://allowed.example.org.evil.com\".", value={ audio={ "<^https://upload\\.wikimedia\\.org/wikipedia/commons/>",}, image={ "<^https://upload\\.wikimedia\\.org/wikipedia/commons/>",}, svg={ "<^https://upload\\.wikimedia\\.org/wikipedia/commons/[^?#]*\\.svg(?:[?#]|$)>",}, font={ }, namespace={ "<.>",}, css={ }, }, }, TemplateStylesNamespaces={ description="Namespaces to default the content model to CSS on .css subpages.", value={ [11]=true, }, merge_strategy="array_plus", }, TemplateStylesDisallowedProperties={ description="Disallowed style properties that would otherwise be allowed. See also the TemplateStylesPropertySanitizer hook, which allows for finer-grained control.", value={ }, }, TemplateStylesDisallowedAtRules={ description="Disallowed at-rules that would otherwise be allowed. Include the '@' in the name. See also the TemplateStylesStylesheetSanitizer hook, which allows for finer-grained control.", value={ }, }, TemplateStylesUseCodeEditor={ description="Use CodeEditor when editing TemplateStyles CSS pages.", value=true, }, TemplateStylesAutoParseContent={ description="Set this false if you want to manage an entry for 'sanitized-css' in $wgTextModelsToParse manually. If true, an entry will be added to $wgTextModelsToParse automatically if CONTENT_MODEL_CSS is in the array.", value=true, }, TemplateStylesMaxStylesheetSize={ description="The maximum size of a stylesheet, in bytes. Set null if you don't want to impose a limit.", value=102400, }, TemplateStylesDefaultNamespace={ description="The default namespace for the src attribute of the tag. The value 10 corresponds to NS_TEMPLATE.", value=10, }, }, ConfigRegistry={ templatestyles="GlobalVarConfig::newInstance", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TemplateStyles", }, TemplateWizard={ name="TemplateWizard", version="0.1.0", author={ "Sam Wilson",}, url="https://www.mediawiki.org/wiki/Extension:TemplateWizard", descriptionmsg="templatewizard-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.35.0", extensions={ TemplateData="*", WikiEditor=">= 0.5.3", }, }, Hooks={ ["EditPage::showEditForm:initial"]="MediaWiki\\Extension\\TemplateWizard\\Hooks::onEditPageShowEditFormInitial", ResourceLoaderGetConfigVars="MediaWiki\\Extension\\TemplateWizard\\Hooks::onResourceLoaderGetConfigVars", }, ConfigRegistry={ templatewizard="GlobalVarConfig::newInstance", }, attributes={ EventLogging={ Schemas={ TemplateWizard="/analytics/legacy/templatewizard/1.2.0", }, }, }, QUnitTestModule={ localBasePath="tests/qunit", remoteExtPath="TemplateWizard/tests/qunit", scripts={ "ext.TemplateWizard.test.js","ext.TemplateWizard.Model.Parameters.test.js","ext.TemplateWizard.SearchField.test.js",}, dependencies={ "ext.TemplateWizard",}, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TemplateWizard", }, TestLanguageNameGrammar={ name="TestLanguageNameGrammar", version="20150704WeThePeople", author={ "Amir E. Aharoni",}, url="https://www.mediawiki.org/wiki/Extension:TestLanguageNameGrammar", descriptionmsg="testlanguagenamegrammar-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.32.0", }, SpecialPages={ TestLanguageNameGrammar="SpecialTestLanguageNameGrammar", }, ExtensionMessagesFiles={ TestLanguageNameGrammarAlias="TestLanguageNameGrammar.alias.php", }, composer="mediawiki/test-language-name-grammar", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TestLanguageNameGrammar", }, TextExtracts={ name="TextExtracts", author={ "Max Semenik",}, requires={ MediaWiki=">= 1.36.0", }, url="https://www.mediawiki.org/wiki/Extension:TextExtracts", descriptionmsg="textextracts-desc", ["license-name"]="GPL-2.0-or-later", type="other", ConfigRegistry={ textextracts="GlobalVarConfig::newInstance", }, APIPropModules={ extracts={ class="TextExtracts\\ApiQueryExtracts", services={ "ConfigFactory","MainWANObjectCache","LanguageConverterFactory","WikiPageFactory",}, }, }, Hooks={ ApiOpenSearchSuggest={ "TextExtracts\\Hooks::onApiOpenSearchSuggest",}, }, config={ ExtractsRemoveClasses={ value={ "table","div","figure","script","input","style","ul.gallery",".mw-editsection","sup.reference","ol.references",".error",".nomobile",".noprint",".noexcerpt",".sortkey",}, }, ExtractsExtendOpenSearchXml={ value=false, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TextExtracts", }, TextScroller={ name="txtscrl", version="1.1", author={ "Jordan Small",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:TextScroller", descriptionmsg="textscroller-desc", type="parserhook", requires={ MediaWiki=">= 1.34.0", }, ExtensionMessagesFiles={ TextScrollerMagic="TextScroller.i18n.magic.php", }, Hooks={ ParserFirstCallInit="TextScroller::setParserFunction", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TextScroller", }, Thanks={ name="Thanks", version="1.2.0", author={ "Ryan Kaldari","Benjamin Chen","Wctaiwan",}, url="https://www.mediawiki.org/wiki/Extension:Thanks", descriptionmsg="thanks-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.38.0", extensions={ Echo="*", }, }, DefaultUserOptions={ ["echo-subscriptions-web-edit-thank"]=true, ["echo-subscriptions-email-edit-thank"]=false, }, RateLimits={ ["thanks-notification"]={ user={ 10,60,}, }, }, SpecialPages={ Thanks="MediaWiki\\Extension\\Thanks\\SpecialThanks", }, LogTypes={ "thanks",}, FilterLogTypes={ thanks=true, }, LogActionsHandlers={ ["thanks/*"]="MediaWiki\\Extension\\Thanks\\ThanksLogFormatter", }, APIModules={ thank="MediaWiki\\Extension\\Thanks\\ApiCoreThank", }, ExtensionMessagesFiles={ ThanksAlias="Thanks.alias.php", }, QUnitTestModule={ localBasePath="tests/qunit", remoteExtPath="Thanks/tests/qunit", scripts={ "test_ext.thanks.thank.js","test_ext.thanks.mobilediff.js",}, dependencies={ "ext.thanks","ext.thanks.mobilediff",}, }, Hooks={ ["ApiMain::moduleManager"]="MediaWiki\\Extension\\Thanks\\Hooks::onApiMainModuleManager", BeforeCreateEchoEvent="MediaWiki\\Extension\\Thanks\\Hooks::onBeforeCreateEchoEvent", BeforePageDisplay="MediaWiki\\Extension\\Thanks\\Hooks::onBeforePageDisplay", BeforeSpecialMobileDiffDisplay="MediaWiki\\Extension\\Thanks\\Hooks::onBeforeSpecialMobileDiffDisplay", DiffTools="MediaWiki\\Extension\\Thanks\\Hooks::onDiffTools", DifferenceEngineViewHeader="MediaWiki\\Extension\\Thanks\\Hooks::onDifferenceEngineViewHeader", EchoGetBundleRules="MediaWiki\\Extension\\Thanks\\Hooks::onEchoGetBundleRules", EchoGetDefaultNotifiedUsers="MediaWiki\\Extension\\Thanks\\Hooks::onEchoGetDefaultNotifiedUsers", GetAllBlockActions="MediaWiki\\Extension\\Thanks\\Hooks::onGetAllBlockActions", GetLogTypesOnUser="MediaWiki\\Extension\\Thanks\\Hooks::onGetLogTypesOnUser", HistoryTools="MediaWiki\\Extension\\Thanks\\Hooks::onHistoryTools", LocalUserCreated="MediaWiki\\Extension\\Thanks\\Hooks::onAccountCreated", LogEventsListLineEnding="MediaWiki\\Extension\\Thanks\\Hooks::onLogEventsListLineEnding", PageHistoryBeforeList="MediaWiki\\Extension\\Thanks\\Hooks::onPageHistoryBeforeList", }, config={ ThanksSendToBots={ value=false, }, ThanksLogging={ value=true, }, ThanksConfirmationRequired={ value=true, }, ThanksAllowedLogTypes={ value={ "contentmodel","create","delete","import","merge","move","pagelang","patrol","protect","tag","upload","managetags","rights/rights","lock",}, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Thanks", }, TheWikipediaLibrary={ name="TheWikipediaLibrary", version="1.0.1", author={ "Kavitha Muthu","Roan Kattouw",}, url="https://www.mediawiki.org/wiki/Extension:TheWikipediaLibrary", namemsg="thewikipedialibrary", descriptionmsg="thewikipedialibrary-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.38.0", extensions={ CentralAuth="*", GlobalPreferences="*", }, }, DefaultUserOptions={ ["twl-notified"]=nil, }, Hooks={ PageSaveComplete="MediaWiki\\Extension\\TheWikipediaLibrary\\Hooks::onPageSaveComplete", BeforeCreateEchoEvent="MediaWiki\\Extension\\TheWikipediaLibrary\\Hooks::onBeforeCreateEchoEvent", GetPreferences="MediaWiki\\Extension\\TheWikipediaLibrary\\Hooks::onGetPreferences", }, config={ TwlUserPrimaryUrl={ description="URL for the notification's primary link", value="https://wikipedialibrary.wmflabs.org/", }, TwlUserSecondaryUrl={ description="URL for the notification's secondary link", value="https://wikipedialibrary.wmflabs.org/", }, TwlSendNotifications={ description="Whether to send Wikipedia Library notifications. If set to false, no notifications will be sent.", value=true, }, TwlRegistrationDays={ description="Minimum account age (in days) for a user to be eligible for the Wikipedia Library", value=182, }, TwlEditCount={ description="Minimum (global) edit count for a user to be eligible for the Wikipedia Library", value=50000, }, }, ConfigRegistry={ TheWikipediaLibrary="GlobalVarConfig::newInstance", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TheWikipediaLibrary", }, Theme={ name="Theme", namemsg="theme-extensionname", version="2.2.3", author={ "Ryan Schmidt","Jack Phoenix","Samantha Nguyen",}, url="https://www.mediawiki.org/wiki/Extension:Theme", descriptionmsg="theme-desc", type="other", requires={ MediaWiki=">= 1.35.0", }, config={ DefaultTheme="default", }, ThemeModules={ monobook={ "dark","pink","stellarbook",}, vector={ "dark","dark-grey","deepsea",}, }, APIModules={ themelist={ class="MediaWiki\\Extension\\Theme\\ApiThemeList", services={ "SkinFactory",}, }, }, Hooks={ BeforePageDisplay="ThemeHooks", GetPreferences="ThemeHooks", OutputPageBodyAttributes="ThemeHooks", ResourceLoaderGetConfigVars="ThemeHooks", }, HookHandlers={ ThemeHooks={ class="MediaWiki\\Extension\\Theme\\Hooks", services={ "SkinFactory","UserOptionsLookup",}, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Theme", }, ThrottleOverride={ name="ThrottleOverride", version="0.6.0", author="Tyler Romeo", url="https://www.mediawiki.org/wiki/Extension:ThrottleOverride", descriptionmsg="throttleoverride-desc", ["license-name"]="GPL-3.0-or-later", type="other", requires={ MediaWiki=">= 1.38.0", }, AvailableRights={ "throttleoverride",}, LogTypes={ "throttleoverride",}, LogActionsHandlers={ ["throttleoverride/*"]="ThrottleOverrideLogFormatter", }, Hooks={ PingLimiter={ "ThrottleOverrideHooks::onPingLimiter",}, ExemptFromAccountCreationThrottle={ "ThrottleOverrideHooks::onExemptFromAccountCreationThrottle",}, LoadExtensionSchemaUpdates={ "ThrottleOverrideHooks::onLoadExtensionSchemaUpdates",}, SetupAfterCache={ "ThrottleOverrideHooks::onSetupAfterCache",}, SpecialPage_initList={ "ThrottleOverrideHooks::onSpecialPageInitList",}, }, JobClasses={ ThrottleOverridePurge="ThrottleOverridePurgeJob", }, ExtensionMessagesFiles={ OverrideThrottleAlias="ThrottleOverride.i18n.alias.php", }, config={ ThrottleOverrideCentralWiki={ value=false, }, ThrottleOverrideCIDRLimit={ value={ IPv4=16, IPv6=19, }, }, ThrottleOverrideTypes={ value={ actcreate=true, edit=true, move=true, mailpassword=false, emailuser=false, }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ThrottleOverride", }, TimeMachine={ name="TimeMachine", version="0.4", author="Felipe Schenone", url="https://www.mediawiki.org/wiki/Extension:TimeMachine", ["license-name"]="GPL-3.0-only", descriptionmsg="timemachine-desc", type="specialpage", requires={ MediaWiki=">= 1.31.0", }, SpecialPages={ TimeMachine="MediaWiki\\Extension\\TimeMachine\\SpecialTimeMachine", }, ExtensionMessagesFiles={ TimeMachineAlias="TimeMachine.alias.php", }, Hooks={ BeforeInitialize="MediaWiki\\Extension\\TimeMachine\\Hooks::onBeforeInitialize", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TimeMachine", }, TimedMediaHandler={ name="TimedMediaHandler", namemsg="timedmediahandler-extensionname", version="0.6.0", author={ "Michael Dale","Jan Gerber","Derk-Jan Hartman","Brion Vibber","Tim Starling","...",}, url="https://www.mediawiki.org/wiki/Extension:TimedMediaHandler", descriptionmsg="timedmediahandler-desc", ["license-name"]="GPL-2.0-or-later", type="media", requires={ MediaWiki=">= 1.38.0", }, APIModules={ timedtext={ class="MediaWiki\\TimedMediaHandler\\ApiTimedText", services={ "LanguageNameUtils","RepoGroup","MainWANObjectCache","WikiPageFactory",}, }, transcodereset={ class="MediaWiki\\TimedMediaHandler\\ApiTranscodeReset", services={ "RepoGroup",}, }, }, APIPropModules={ videoinfo="MediaWiki\\TimedMediaHandler\\ApiQueryVideoInfo", transcodestatus={ class="MediaWiki\\TimedMediaHandler\\ApiTranscodeStatus", services={ "RepoGroup",}, }, }, AvailableRights={ "transcode-reset","transcode-status",}, ExtensionFunctions={ "MediaWiki\\TimedMediaHandler\\Hooks::register",}, GroupPermissions={ sysop={ ["transcode-reset"]=true, ["transcode-status"]=true, }, autoconfirmed={ ["transcode-reset"]=true, ["transcode-status"]=true, }, }, GrantPermissions={ uploadeditmovefile={ ["transcode-reset"]=true, }, }, LogActionsHandlers={ ["timedmediahandler/resettranscode"]="LogFormatter", }, LogTypes={ "timedmediahandler",}, SpecialPages={ OrphanedTimedText="MediaWiki\\TimedMediaHandler\\SpecialOrphanedTimedText", TranscodeStatistics="MediaWiki\\TimedMediaHandler\\SpecialTranscodeStatistics", }, ExtensionMessagesFiles={ TimedMediaHandlerMagic="i18n/TimedMediaHandler.i18n.magic.php", TimedMediaHandlerAliases="i18n/TimedMediaHandler.i18n.alias.php", }, Hooks={ ArticleContentOnDiff="main", ArticleFromTitle="main", ArticlePurge="main", BeforePageDisplay="main", CanonicalNamespaces="main", FileDeleteComplete="main", FileUpload="main", ImageOpenShowImageInlineBefore="main", ImagePageAfterImageLinks="main", ImagePageFileHistoryLine="main", LoadExtensionSchemaUpdates="installer", MediaWikiPerformAction="iframe", RevisionFromEditComplete="main", ParserTestGlobals="main", ["SkinTemplateNavigation::Universal"]="main", TitleMove="main", wgQueryPages="main", }, HookHandlers={ main={ class="MediaWiki\\TimedMediaHandler\\Hooks", services={ "MainConfig","RepoGroup","SpecialPageFactory",}, }, iframe={ class="MediaWiki\\TimedMediaHandler\\TimedMediaIframeOutput", }, installer={ class="MediaWiki\\TimedMediaHandler\\InstallerHooks", }, }, config={ WaitTimeForTranscodeReset={ description="How long you have to wait between transcode resets for non-error transcodes", public=true, value=3600, }, MinimumVideoPlayerSize={ description="The minimum size for an embed video player (smaller than this size, it uses a pop-up player)", public=true, value=200, }, MediaVideoTypes={ description="Set the supported ogg codecs for video", public=true, value={ "Theora","VP8",}, }, MediaAudioTypes={ description="Set the supported ogg codecs for audio", public=true, value={ "Vorbis","Speex","FLAC","Opus",}, }, EnableIframeEmbed={ description="Support iframe for remote embedding", public=true, value=true, }, EnableTranscode={ description="If transcoding is enabled for this wiki (if disabled, no transcode jobs are added and no transcode status is displayed). Note if remote embedding an asset we will still check if the remote repo has transcoding enabled and associated flavors for that media embed.", public=true, value=true, }, EnableNiceBackgroundTranscodeJobs={ description="If the job runner should run transcode commands in a background thread and monitor the transcoding progress. This enables more fine grain control of the transcoding process, wraps encoding commands in a lower priority 'nice' call, and kills long running transcodes that are not making any progress. If set to false, the job runner will use the more compatible php blocking shell exec command.", public=true, value=false, }, TranscodeBackgroundPriority={ description="The priority to be used with the nice transcode commands.", public=true, value=19, }, TranscodeBackgroundTimeLimit={ description="The total amount of time a transcoding shell command can take", public=true, value=28800, }, TranscodeBackgroundMemoryLimit={ description="Maximum amount of virtual memory available to transcoding processes in KiB. 2GiB. ffmpeg mmap resources, so virtual memory needs to be high enough", public=true, value=2097152, }, TranscodeBackgroundSizeLimit={ description="Maximum file size transcoding processes can create, in KiB. 3GiB.", public=true, value=3145728, }, FFmpegThreads={ description="Number of threads to use in ffmpeg for transcoding", public=true, value=1, }, FFmpegVP9RowMT={ description="Whether to enable macroblock row multithreading for VP9 (-row-mt 1)\n\nThis allows increasing $wgFFmpegThreads to a larger number for VP9  transcodes; without it encoding will be limited to 4 threads for HD, or less for low resolution.\n\nThis requires libvpx 1.7 and a matching build of ffmpeg 3.3 or higher or it will fail with an unrecognized option error.", public=true, value=false, }, FFmpegLocation={ description="Location of the ffmpeg binary (used to encode WebM and for thumbnails)", public=false, value="/usr/bin/ffmpeg", }, UseFFmpeg2={ description="Compatible with ffmpeg 2", value=false, }, TimedTextNS={ description="The NS for TimedText (registered on MediaWiki.org) https://www.mediawiki.org/wiki/Extension_namespace_registration Note that Wikimedia Commons pre-dates TimedMediaHandler, and sets this to 102.", public=true, value=710, }, TimedTextForeignNamespaces={ description="Set TimedText namespace for ForeignDBViaLBRepo on a per wikiID basis like `$wgTimedTextForeignNamespaces = [ 'commonswiki' => 102 ];`.", public=true, value={ }, }, EnabledTranscodeSet={ description="Default enabled video transcodes\n\n- If set to empty array, no derivatives will be created\n- These transcodes are *in addition to* the source file.\n- Only derivatives with smaller width than the source asset size will be created\n- Regardless of source size at least one WebM and Ogg source will be created from the $wgEnabledTranscodeSet\n- Derivative jobs are added to the MediaWiki JobQueue the first time the asset is displayed\n- Derivative should be listed min to max\n\nAllowed values:\n* Values for WebM VP8/Vorbis, our primary free/open video format supported by Chrome/Firefox/Opera natively, and plays back in Safari/IE/Edge via ogv.js:\n** 160p.webm – Very low-bitrate web streamable WebM video\n** 240p.webm – Low-bitrate web streamable WebM video\n** 360p.webm – Medium-bitrate web streamable WebM video\n** 480p.webm – Moderate-bitrate web streamable WebM video\n** 720p.webm – A high quality WebM stream\n** 1080p.webm – A full-HD high quality WebM stream\n** 1440p.webm – A 2K full high quality WebM stream\n** 2160p.webm – A 4K full high quality WebM stream\n* Values for WebM VP9, our future free/open video format:\n** 160p.vp9.webm – Very low\n** 240p.vp9.webm – Low\n** 360p.vp9.webm – A least common denominator h.264 stream; first gen iPhone, iPods, early Android etc.\n** 480p.vp9.webm – A mid range h.264 stream; mid range phones and low end tablets\n** 720p.vp9.webm – An high quality HD stream; higher end phones, tablets, smart tvs\n** 1080p.vp9.webm – A full-HD high quality stream; higher end phones, tablets, smart tvs\n** 1440p.vp9.webm – A 2K high quality stream; higher end phones, tablets, smart tvs\n** 2160p.vp9.webm – A 4K high quality stream; higher end phones, tablets, smart tvs\n* Values for MP4 H.264/AAC, the primary format for the Apple/Microsoft world. Check patent licensing issues in your country before use! Similar to WebM in quality/bitrate:\n** 160p.mp4 – Very low\n** 240p.mp4 – Low\n** 320p.mp4 – Pretty low\n** 360p.mp4 – A least common denominator h.264 stream; first gen iPhone, iPods, early Android etc.\n** 480p.mp4 – A mid range h.264 stream; mid range phones and low end tablets\n** 720p.mp4 – An high quality HD stream; higher end phones, tablets, smart tvs\n** 1080p.mp4 – A full-HD high quality stream; higher end phones, tablets, smart tvs\n** 1440p.mp4 – A 2K high quality stream; higher end phones, tablets, smart tvs\n** 2160p.mp4 – A 4K high quality stream; higher end phones, tablets, smart tvs\n* Note: Ogg video profiles have been removed as of January 2018. Use WebM output for royalty-free codec output.", public=true, value={ ["160p.webm"]=false, ["240p.webm"]=false, ["360p.webm"]=false, ["480p.webm"]=false, ["720p.webm"]=false, ["1080p.webm"]=false, ["1440p.webm"]=false, ["2160p.webm"]=false, ["120p.vp9.webm"]=true, ["180p.vp9.webm"]=true, ["240p.vp9.webm"]=true, ["360p.vp9.webm"]=true, ["480p.vp9.webm"]=true, ["720p.vp9.webm"]=true, ["1080p.vp9.webm"]=true, ["1440p.vp9.webm"]=true, ["2160p.vp9.webm"]=true, ["160p.mp4"]=false, ["240p.mp4"]=false, ["320p.mp4"]=false, ["360p.mp4"]=false, ["480p.mp4"]=false, ["720p.mp4"]=false, ["1080p.mp4"]=false, ["1440p.mp4"]=false, ["2160p.mp4"]=false, }, }, EnabledAudioTranscodeSet={ description="Default enabled audio transcodes\n\n If set to empty array, no derivatives will be created\n- These transcodes are *in addition to* the source file.\n- Derivative should be listed min to max\n\nllowed values:\n* ogg – Ogg Vorbis\n* opus – Note that Opus support must be available in ffmpeg\n* mp3 – Note that fmpeg needs libmp3lame support\n* m4a – Note that ffmpeg needs libvo_aacenc support", public=true, value={ ogg=true, opus=false, mp3=true, m4a=false, }, }, TmhEnableMp4Uploads={ description="If MP4 source assets can be ingested", public=true, value=false, }, TmhFileExtensions={ description="List of extensions handled by Timed Media Handler since its referenced in a few places. You should not modify this variable.", public=true, value={ "ogg","ogv","oga","flac","opus","wav","webm","mp4","mp3","midi","mid","mpg","mpeg",}, }, TmhPriorityResolutionThreshold={ description="Transcode resolutions higher than this will run in the low-priority queue. This'll give us SD transcodes as fast as possible, then do HD later.", public=true, value=480, }, TmhPriorityLengthThreshold={ description="Transcodes of files longer than this (seconds) will run in the low-priority queue; defaults to 15 minutes. This'll mean long videos won't flood the high-priority queue.", public=true, value=900, }, ParserTestMediaHandlers={ description="MockOggHandler::class", public=true, value={ ["application/ogg"]="MockOggHandler", }, }, TmhFluidsynthLocation={ description="Path of a Fluidsynth executable for MIDI conversion to audio formats", public=true, value=nil, }, TmhSoundfontLocation={ description="Path of a soundfont to use for MIDI-converted audio", public=true, value=nil, }, }, MediaHandlers={ ["application/ogg"]="MediaWiki\\TimedMediaHandler\\Handlers\\OggHandler\\OggHandler", ["audio/flac"]="MediaWiki\\TimedMediaHandler\\Handlers\\FLACHandler\\FLACHandler", ["audio/midi"]="MediaWiki\\TimedMediaHandler\\Handlers\\MidiHandler\\MidiHandler", ["audio/mpeg"]="MediaWiki\\TimedMediaHandler\\Handlers\\Mp3Handler\\Mp3Handler", ["audio/wav"]="MediaWiki\\TimedMediaHandler\\Handlers\\WAVHandler\\WAVHandler", ["audio/webm"]="MediaWiki\\TimedMediaHandler\\Handlers\\WebMHandler\\WebMHandler", ["audio/x-flac"]="MediaWiki\\TimedMediaHandler\\Handlers\\FLACHandler\\FLACHandler", ["video/mp4"]="MediaWiki\\TimedMediaHandler\\Handlers\\Mp4Handler\\Mp4Handler", ["video/mpeg"]="MediaWiki\\TimedMediaHandler\\Handlers\\MPEGHandler\\MPEGHandler", ["video/webm"]="MediaWiki\\TimedMediaHandler\\Handlers\\WebMHandler\\WebMHandler", }, JobClasses={ webVideoTranscode="MediaWiki\\TimedMediaHandler\\WebVideoTranscode\\WebVideoTranscodeJob", webVideoTranscodePrioritized="MediaWiki\\TimedMediaHandler\\WebVideoTranscode\\WebVideoTranscodeJob", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TimedMediaHandler", }, TimelineTable={ name="TimelineTable", version="2.1", author="Thibault Marin", url="https://www.mediawiki.org/wiki/Extension:TimelineTable", descriptionmsg="timelinetable-desc", type="parserhook", requires={ MediaWiki=">= 1.29.0", }, Hooks={ ParserFirstCallInit="TimelineTableHooks::efTimelineTableParserInit", ParserAfterTidy="TimelineTableHooks::efTimelineTableAfterTidy", }, config={ TimelineTableLineSeparator={ value="\n", }, TimelineTableFieldSeparator={ value="|", }, TimelineTableEventSeparator={ value="#", }, TimelineTableDateSeparator={ value="-", }, TimelineTableAbbrMonth={ value=false, }, TimelineTableShortMonthLen={ value=1, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TimelineTable", }, TinyMCE={ name="TinyMCE", version="1.1.2", author={ "Ephox","Hallo Welt","Duncan Crane","Yaron Koren",}, url="https://www.mediawiki.org/wiki/Extension:TinyMCE", descriptionmsg="tinymce-desc", ["license-name"]="GPL-2.0+", type="editor", callback="TinyMCEHooks::registerExtension", requires={ MediaWiki=">= 1.31.0", }, ExtensionMessagesFiles={ TinyMCEMagic="TinyMCE.i18n.magic.php", TinyMCEAlias="TinyMCE.i18n.alias.php", }, Hooks={ MakeGlobalVariablesScript="TinyMCEHooks::setGlobalJSVariables", MagicWordwgVariableIDs="TinyMCEHooks::addMagicWordVariableIDs", ParserAfterTidy="TinyMCEHooks::handleMagicWords", ["SkinTemplateNavigation::Universal"]="TinyMCEAction::displayTabAndModifyAddTopicLink", SkinEditSectionLinks="TinyMCEHooks::addEditSectionLink", AlternateEdit="TinyMCEHooks::determineIfTinyMCEIsEnabled", EditPageBeforeEditToolbar="TinyMCEHooks::removeDefaultToolbar", ["EditPage::showEditForm:initial"]="TinyMCEHooks::addToEditPage", WikiEditorDisable="TinyMCEHooks::disableWikiEditor", GetPreferences="TinyMCEHooks::addPreference", ["PageForms::addRLModules"]="TinyMCEHooks::addRLModules", OutputPageParserOutput="TinyMCEHooks::addToViewPage", ParserFirstCallInit="TinyMCEHooks::onParserFirstCallInit", }, Actions={ tinymceedit="TinyMCEAction", }, DefaultUserOptions={ ["tinymce-use"]=1, }, config={ TinyMCETemplates={ }, TinyMCEDefaultTags={ }, TinyMCEExtensionTags={ }, TinyMCEPreservedTags={ }, TinyMCEEnabled=false, TinyMCEDisabledNamespaces={ 8,10,}, TinyMCEUnhandledStrings={ }, TinyMCELoadOnView=false, wgTinyMCESettings={ }, }, composer="mediawiki/tinymce", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TinyMCE", }, TitleBlacklist={ name="TitleBlacklist", version="1.5.0", author={ "Victor Vasiliev","Fran Rogers",}, url="https://www.mediawiki.org/wiki/Extension:TitleBlacklist", descriptionmsg="titleblacklist-desc", ["license-name"]="GPL-2.0-or-later", type="antispam", requires={ MediaWiki=">= 1.37.0", }, GroupPermissions={ sysop={ tboverride=true, titleblacklistlog=true, }, }, AvailableRights={ "tboverride","tboverride-account","titleblacklistlog",}, LogTypes={ "titleblacklist",}, LogRestrictions={ titleblacklist="titleblacklistlog", }, LogActionsHandlers={ ["titleblacklist/*"]="LogFormatter", }, GrantPermissions={ createaccount={ ["tboverride-account"]=true, }, editprotected={ tboverride=true, }, viewrestrictedlogs={ titleblacklistlog=true, }, }, APIModules={ titleblacklist="MediaWiki\\Extension\\TitleBlacklist\\Api\\ApiQueryTitleBlacklist", }, attributes={ VisualEditor={ PluginModules={ "ext.titleblacklist.visualEditor",}, }, }, Hooks={ getUserPermissionsErrorsExpensive="TitleBlacklistHookHandler", TitleGetEditNotices="TitleBlacklistHookHandler", MovePageCheckPermissions="TitleBlacklistHookHandler", EditFilter="TitleBlacklistHookHandler", PageSaveComplete="TitleBlacklistHookHandler", ScribuntoExternalLibraries="MediaWiki\\Extension\\TitleBlacklist\\Hooks::onScribuntoExternalLibraries", }, HookHandlers={ TitleBlacklistHookHandler={ class="MediaWiki\\Extension\\TitleBlacklist\\Hooks", }, }, config={ TitleBlacklistSources={ value={ }, }, TitleBlacklistUsernameSources={ value="*", }, TitleBlacklistLogHits={ value=false, }, TitleBlacklistCaching={ value={ warningchance=100, expiry=900, warningexpiry=600, }, }, TitleBlacklistBlockAutoAccountCreation={ value=true, }, }, AuthManagerAutoConfig={ preauth={ TitleBlacklistPreAuthenticationProvider={ class="MediaWiki\\Extension\\TitleBlacklist\\TitleBlacklistPreAuthenticationProvider", }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TitleBlacklist", }, Title_Icon={ name="Title Icon", version="6.0", author={ "Cindy Cicalese",}, url="https://www.mediawiki.org/wiki/Extension:Title_Icon", descriptionmsg="titleicon-desc", ["license-name"]="MIT", type="parserhook", requires={ MediaWiki=">= 1.38.0", }, ExtensionMessagesFiles={ TitleIconMagic="i18n/TitleIconMagic.i18n.php", }, Hooks={ ParserFirstCallInit="init", BeforePageDisplay="main", ShowSearchHitTitle="main", ParserAfterParse="main", }, HookHandlers={ init={ class="MediaWiki\\Extension\\TitleIcon\\InitHookHandler", }, main={ class="MediaWiki\\Extension\\TitleIcon\\MainHookHandler", services={ "TitleIcon:IconManager","MainConfig","LinkRenderer",}, }, }, APIPropModules={ titleicons={ class="MediaWiki\\Extension\\TitleIcon\\ApiQueryTitleIcons", services={ "TitleIcon:IconManager","JsonCodec",}, }, }, ServiceWiringFiles={ "src/ServiceWiring.php",}, config={ TitleIcon_EnableIconInPageTitle={ value=true, }, TitleIcon_EnableIconInSearchTitle={ value=true, }, TitleIcon_CSSSelector={ value="#firstHeading", }, TitleIcon_UseFileNameAsToolTip={ value=true, }, TitleIcon_TitleIconPropertyName={ value="Title Icon", }, TitleIcon_HideTitleIconPropertyName={ value="Hide Title Icon", }, }, composer="mediawiki/title-icon", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TitleIcon", }, TitleKey={ name="TitleKey", version="1.0", author={ "Brion Vibber","...",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:TitleKey", descriptionmsg="titlekey-desc", type="other", requires={ MediaWiki=">= 1.35.3", }, ExtensionFunctions={ "TitleKey::setup",}, Hooks={ ArticleDelete={ "TitleKey::updateDeleteSetup",}, ArticleDeleteComplete={ "TitleKey::updateDelete",}, PageSaveComplete={ "TitleKey::updateInsert",}, ArticleUndelete={ "TitleKey::updateUndelete",}, PageMoveCompleting={ "TitleKey::updateMove",}, ParserTestTables={ "TitleKey::testTables",}, LoadExtensionSchemaUpdates={ "TitleKey::schemaUpdates",}, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TitleKey", }, TocTree={ name="TocTree", version="1.12.0", author={ "Roland Unger","Matthias Mullie",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:TocTree", descriptionmsg="toctree-desc", type="parserhook", requires={ MediaWiki=">= 1.35.0", }, DefaultUserOptions={ ["toc-floated"]=false, ["toc-expand"]=false, }, Hooks={ BeforePageDisplay="TocTreeHooks", GetPreferences="TocTreeHooks", }, HookHandlers={ TocTreeHooks={ class="MediaWiki\\Extension\\TocTree\\Hooks", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TocTree", }, Toolhub={ name="Toolhub", author={ "Bryan Davis",}, url="https://www.mediawiki.org/wiki/Extension:Toolhub", descriptionmsg="toolhubbridge-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.38.0", extensions={ Scribunto="*", }, }, config={ ToolhubBaseUrl={ description="Base URL for Toolhub instance", value="https://toolhub.wikimedia.org", }, }, ServiceWiringFiles={ "src/ServiceWiring.php",}, Hooks={ ScribuntoExternalLibraries="ToolhubHooks", }, HookHandlers={ ToolhubHooks={ class="MediaWiki\\Extension\\Toolhub\\Hooks", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Toolhub", }, Tooltip={ name="Tooltip", version="0.7.0", author={ "Paul Grinberg",}, url="https://www.mediawiki.org/wiki/Extension:Tooltip", descriptionmsg="tooltip-desc", requires={ MediaWiki=">= 1.35.0", }, ExtensionMessagesFiles={ TooltipMagic="Tooltip.i18n.magic.php", }, Hooks={ ParserFirstCallInit="TooltipHooks::wfToolTipRegisterParserHooks", BeforePageDisplay="TooltipHooks::wfTooltipBeforePageDisplay", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Tooltip", }, TopTenPages={ name="TopTenPages", namemsg="toptenpages-extensionname", version="0.4.0", author={ "Timo Tijhof","Sascha",}, url="https://www.mediawiki.org/wiki/Extension:TopTenPages", descriptionmsg="toptenpages-desc", ["license-name"]="MIT", type="specialpage", requires={ MediaWiki=">= 1.31.0", extensions={ HitCounters="*", }, }, ExtensionMessagesFiles={ TopTenPagesAliases="TopTenPages.alias.php", }, Hooks={ ParserFirstCallInit={ "TopTenPagesHooks::onParserFirstCallInit",}, }, SpecialPages={ TopTenPages="SpecialTopTenPages", }, config={ TopTenPagesStartAtOne=false, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TopTenPages", }, TorBlock={ name="TorBlock", author="Andrew Garrett", url="https://www.mediawiki.org/wiki/Extension:TorBlock", descriptionmsg="torblock-desc", ["license-name"]="GPL-2.0-or-later", type="antispam", version="1.1.0", requires={ MediaWiki=">= 1.36.0", }, callback="MediaWiki\\Extension\\TorBlock\\Hooks::registerExtension", GroupPermissions={ user={ torunblocked=true, }, }, GrantPermissions={ basic={ torunblocked=true, }, }, AvailableRights={ "torunblocked",}, APIModules={ torblock={ class="MediaWiki\\Extension\\TorBlock\\ApiTorBlock", }, }, HookHandlers={ TorBlockHooks={ class="MediaWiki\\Extension\\TorBlock\\Hooks", }, TorBlockAbuseFilterHooks={ class="MediaWiki\\Extension\\TorBlock\\TorBlockAbuseFilterHooks", }, }, Hooks={ getUserPermissionsErrorsExpensive={ handler="TorBlockHooks", }, AbortAutoblock={ handler="TorBlockHooks", }, GetAutoPromoteGroups={ handler="TorBlockHooks", }, GetUserBlock={ handler="TorBlockHooks", }, AutopromoteCondition={ handler="TorBlockHooks", }, RecentChange_save={ handler="TorBlockHooks", }, ListDefinedTags={ handler="TorBlockHooks", }, ChangeTagsListActive={ handler="TorBlockHooks", }, AbuseFilterAlterVariables={ handler="TorBlockAbuseFilterHooks", }, ["AbuseFilter-builder"]={ handler="TorBlockAbuseFilterHooks", }, EmailUserPermissionsErrors={ handler="TorBlockHooks", }, OtherBlockLogLink={ handler="TorBlockHooks", }, }, config={ TorBypassPermissions={ value={ "torunblocked",}, }, TorAllowedActions={ value={ "read",}, }, TorAutoConfirmAge={ value=0, }, TorAutoConfirmCount={ value=0, }, TorIPs={ value={ "208.80.152.2",}, }, TorOnionooServer={ value="https://onionoo.torproject.org", }, TorDisableAdminBlocks={ value=true, }, TorTagChanges={ value=true, }, TorBlockProxy={ value=false, }, TorOnionooCA={ value="torproject.crt", path=true, }, TorProjectCA={ value="torproject.crt", path=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TorBlock", }, Translate={ name="Translate", type="specialpage", author={ "Niklas Laxström","Siebrand Mazeland","Santhosh Thottingal","Amir E. Aharoni","Abijeet Patro","...",}, version="2022-10-21", url="https://www.mediawiki.org/wiki/Extension:Translate", descriptionmsg="translate-desc", namemsg="translate-extensionname", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.37.2", extensions={ UniversalLanguageSelector="*", }, }, callback="TranslateHooks::setupTranslate", ServiceWiringFiles={ "src/ServiceWiring.php",}, namespaces={ { id=1198, constant="NS_TRANSLATIONS", name="Translations", },{ id=1199, constant="NS_TRANSLATIONS_TALK", name="Translations_talk", },}, ExtensionMessagesFiles={ TranslateAlias="Translate.alias.php", TranslateMagic="Translate.i18n.magic.php", }, ContentHandlers={ ["translate-messagebundle"]="\\MediaWiki\\Extension\\Translate\\MessageBundleTranslation\\MessageBundleContentHandler", }, Hooks={ LoadExtensionSchemaUpdates="TranslateHooks::schemaUpdates", ParserTestTables="TranslateHooks::parserTestTables", PageContentLanguage="TranslateHooks::onPageContentLanguage", ["EditPage::showEditForm:initial"]="legacyInterface", AlternateEdit="legacyInterface", getUserPermissionsErrorsExpensive="TranslateEditAddons::disallowLangTranslations", LanguageGetTranslatedLanguageNames="TranslateHooks::translateMessageDocumentationLanguage", TranslateSupportedLanguages="TranslateHooks::translateMessageDocumentationLanguage", ArticlePrepareTextForEdit="TranslateEditAddons::disablePreSaveTransform", ParserFirstCallInit="TranslateHooks::setupTranslateParserFunction", UserGetReservedNames="TranslateHooks::onUserGetReservedNames", ParserAfterTidy="TranslateHooks::preventCategorization", OutputPageParserOutput="TranslateHooks::showFakeCategories", ["Translate:newTranslation"]="TranslateEditAddons::updateTransverTag", ["SkinTemplateNavigation::Universal"]={ "MediaWiki\\Extension\\Translate\\TranslatorInterface\\TranslateSpecialPage::tabify","MediaWiki\\Extension\\Translate\\Synchronization\\ManageGroupsSpecialPage::tabify",}, GetPreferences="TranslatePreferences::translationAssistLanguages", ChangesListSpecialPageQuery="TranslateRcFilter::translationFilter", SpecialRecentChangesPanel="TranslateRcFilter::translationFilterForm", ChangesListSpecialPageStructuredFilters="TranslateRcFilter::onChangesListSpecialPageStructuredFilters", AbortEmailNotification="TranslateHooks::onAbortEmailNotificationReview", ArticleDeleteComplete="TTMServer::onDelete", TranslateEventMessageMembershipChange="TTMServer::onGroupChange", ArticleContentOnDiff="legacyInterface", SpecialSearchProfiles="TranslateHooks::searchProfile", SpecialSearchProfileForm="TranslateHooks::searchProfileForm", SpecialSearchSetupEngine="TranslateHooks::searchProfileSetupEngine", TitleIsAlwaysKnown="TranslateHooks::onTitleIsAlwaysKnown", MakeGlobalVariablesScript="TranslateHooks::addConfig", TranslateEventTranslationReview={ "MessageGroupStats::clear","MessageGroupStatesUpdaterJob::onChange",}, TranslateInitGroupLoaders={ "TranslatablePageMessageGroupStore::registerLoader","WorkflowStatesMessageGroupLoader::registerLoader","AggregateMessageGroupLoader::registerLoader","FileBasedMessageGroupLoader::registerLoader","MediaWiki\\Extension\\Translate\\MessageBundleTranslation\\Hooks::onTranslateInitGroupLoaders",}, AdminLinks="TranslateHooks::onAdminLinks", MergeAccountFromTo="TranslateHooks::onMergeAccountFromTo", DeleteAccount="TranslateHooks::onDeleteAccount", AbuseFilterAlterVariables="TranslateHooks::onAbuseFilterAlterVariables", ["AbuseFilter-computeVariable"]="TranslateHooks::onAbuseFilterComputeVariable", ["AbuseFilter-builder"]="TranslateHooks::onAbuseFilterBuilder", EditFilterMergedContent={ "TranslateHooks::validateMessage","messageBundle",}, PageSaveComplete="messageBundle", CodeEditorGetPageLanguage="MediaWiki\\Extension\\Translate\\MessageBundleTranslation\\Hooks::onCodeEditorGetPageLanguage", RevisionRecordInserted="main", }, HookHandlers={ main={ class="TranslateHooks", services={ "RevisionLookup","DBLoadBalancer",}, }, legacyInterface={ class="MediaWiki\\Extension\\Translate\\TranslatorInterface\\LegacyInterfaceHookHandler", services={ "LanguageFactory",}, }, messageBundle={ factory="MediaWiki\\Extension\\Translate\\MessageBundleTranslation\\Hooks::getInstance", }, }, SpecialPages={ Translate={ class="\\MediaWiki\\Extension\\Translate\\TranslatorInterface\\TranslateSpecialPage", services={ "ContentLanguage","LanguageFactory","LanguageNameUtils",}, }, Translations={ class="\\MediaWiki\\Extension\\Translate\\TranslatorInterface\\TranslationsSpecialPage", services={ "ContentLanguage","LanguageNameUtils",}, }, TranslationStats={ class="\\MediaWiki\\Extension\\Translate\\Statistics\\TranslationStatsSpecialPage", services={ "Translate:TranslationStatsDataProvider",}, }, LanguageStats={ class="\\MediaWiki\\Extension\\Translate\\Statistics\\LanguageStatsSpecialPage", services={ "LinkBatchFactory","Translate:ProgressStatsTableFactory","LanguageNameUtils","JobQueueGroup","DBLoadBalancer",}, }, MessageGroupStats={ class="\\MediaWiki\\Extension\\Translate\\Statistics\\MessageGroupStatsSpecialPage", services={ "Translate:ProgressStatsTableFactory","JobQueueGroup","DBLoadBalancer",}, }, ImportTranslations={ class="\\MediaWiki\\Extension\\Translate\\Synchronization\\ImportTranslationsSpecialPage", services={ "MainObjectStash",}, }, ExportTranslations={ class="\\MediaWiki\\Extension\\Translate\\Synchronization\\ExportTranslationsSpecialPage", services={ "TitleFormatter","Parser",}, }, ManageMessageGroups={ class="\\MediaWiki\\Extension\\Translate\\Synchronization\\ManageGroupsSpecialPage", services={ "ContentLanguage","NamespaceInfo","RevisionLookup","Translate:GroupSynchronizationCache","JobQueueGroup","Translate:MessageIndex",}, }, SupportedLanguages={ class="\\MediaWiki\\Extension\\Translate\\Statistics\\ActiveLanguagesSpecialPage", services={ "MainConfig","Translate:TranslatorActivity","LanguageNameUtils","DBLoadBalancer","Translate:ConfigHelper","ContentLanguage","Translate:ProgressStatsTableFactory",}, }, AggregateGroups={ class="\\MediaWiki\\Extension\\Translate\\MessageGroupProcessing\\AggregateGroupsSpecialPage", services={ "LinkBatchFactory",}, }, SearchTranslations={ class="\\MediaWiki\\Extension\\Translate\\TtmServer\\SearchTranslationsSpecialPage", services={ "Translate:TtmServerFactory",}, }, }, APIListModules={ messagecollection={ class="MediaWiki\\Extension\\Translate\\MessageLoading\\QueryMessageCollectionActionApi", services={ "Translate:ConfigHelper","LanguageNameUtils","DBLoadBalancer",}, }, }, APIMetaModules={ languagestats={ class="\\MediaWiki\\Extension\\Translate\\Statistics\\QueryLanguageStatsActionApi", services={ "JobQueueGroup",}, }, managemessagegroups="MediaWiki\\Extension\\Translate\\MessageGroupProcessing\\QueryManageMessageGroupsActionApi", messagegroups={ class="MediaWiki\\Extension\\Translate\\MessageGroupProcessing\\QueryMessageGroupsActionApi", services={ "HookContainer",}, }, messagegroupstats={ class="\\MediaWiki\\Extension\\Translate\\Statistics\\QueryMessageGroupStatsActionApi", services={ "JobQueueGroup",}, }, messagetranslations="MediaWiki\\Extension\\Translate\\MessageLoading\\QueryMessageTranslationsActionApi", }, APIModules={ aggregategroups={ class="MediaWiki\\Extension\\Translate\\MessageGroupProcessing\\AggregateGroupsActionApi", services={ "JobQueueGroup",}, }, groupreview={ class="MediaWiki\\Extension\\Translate\\MessageGroupProcessing\\GroupReviewActionApi", services={ "LanguageNameUtils","Translate:MessageGroupReview",}, }, managemessagegroups="\\MediaWiki\\Extension\\Translate\\MessageGroupProcessing\\ManageMessageGroupsActionApi", translationaids="\\MediaWiki\\Extension\\Translate\\TranslatorInterface\\Aid\\TranslationAidsActionApi", translationentitysearch={ class="\\MediaWiki\\Extension\\Translate\\TranslatorInterface\\TranslationEntitySearchActionApi", services={ "Translate:EntitySearch",}, }, translationreview={ class="\\MediaWiki\\Extension\\Translate\\TranslatorInterface\\ReviewTranslationActionApi", services={ "RevisionLookup","TitleFormatter","DBLoadBalancer",}, }, translationcheck="\\MediaWiki\\Extension\\Translate\\Validation\\CheckTranslationActionApi", translationstats="\\MediaWiki\\Extension\\Translate\\Statistics\\QueryTranslationStatsActionApi", managegroupsynchronizationcache={ class="\\MediaWiki\\Extension\\Translate\\Synchronization\\ManageGroupSynchronizationCacheActionApi", services={ "Translate:GroupSynchronizationCache",}, }, ttmserver={ class="\\MediaWiki\\Extension\\Translate\\TtmServer\\TtmServerActionApi", services={ "Translate:TtmServerFactory","MainConfig",}, }, searchtranslations={ class="\\MediaWiki\\Extension\\Translate\\TtmServer\\SearchTranslationsActionApi", services={ "MainConfig","Translate:TtmServerFactory",}, }, }, JobClasses={ MessageGroupStatesUpdaterJob="MessageGroupStatesUpdaterJob", MessageGroupStatsRebuildJob="MessageGroupStatsRebuildJob", MessageIndexRebuildJob="MessageIndexRebuildJob", MessageUpdateJob="MessageUpdateJob", TTMServerMessageUpdateJob="TTMServerMessageUpdateJob", UpdateMessageBundle="\\MediaWiki\\Extension\\Translate\\MessageBundleTranslation\\UpdateMessageBundleJob", UpdateTranslatorActivity="\\MediaWiki\\Extension\\Translate\\Statistics\\UpdateTranslatorActivityJob", }, LogTypes={ "translationreview",}, LogActionsHandlers={ ["translationreview/message"]="TranslateLogFormatter", ["translationreview/group"]="TranslateLogFormatter", }, ActionFilteredLogs={ translationreview={ message={ "message",}, group={ "group",}, }, }, QUnitTestModule={ localBasePath="", remoteExtPath="Translate", scripts={ "tests/qunit/ext.translate.parsers.test.js","tests/qunit/ext.translate.special.pagemigration.test.js",}, dependencies={ "ext.translate.parsers","ext.translate.special.pagemigration",}, }, config={ PageTranslationLanguageList={ value="tag-only", description="How language list for translatable pages is shown. Allowed values:\n * tag-only: Only display languages with the tag.\n * sidebar-only: Display languages as interlanguage links only and ignore the tag even if present on the page.\n * sidebar-fallback: Display languages as interlanguage links if no tag is on the page.\n * sidebar-always: Display languages as interlanguage links and also in tag if it is present on the page.\n @since 2018.07", public=true, }, TranslateDocumentationLanguageCode={ value=false, description="Language code for message documentation. Suggested values are qqq or info. If set to false (default), message documentation feature is disabled.", public=true, }, TranslateUserManagerName={ value="TranslateUserManager", description="Name of the system user that will be used to create the sandbox users in the system.", public=true, }, TranslateFuzzyBotName={ value="FuzzyBot", description="Name of the bot which will invalidate translations and do maintenance for page translation feature. Also used for importing messages from external sources.", public=true, }, TranslateLanguageFallbacks={ value={ }, description="Default values for list of languages to show translators as an aid when translating. Each user can override this setting in their preferences.\n\nExample: LanguageFallbacks['fi'] = 'sv' or LanguageFallbacks['sv'] = [ 'da', 'no', 'nn' ].", public=true, }, TranslateSupportUrl={ value=false, description="Experimental support since 2011-03-11 for an 'Ask' help button. Might change into a hook later on. This is an array with keys page, url and params: page is a title of a local wiki page; url is an URL to use as is (e.g. an issue tracker submission form) which will override the page if set; params is an array of key-value pairs of request params -- each param value can contain the variable %MESSAGE% which will be replaced with the full page name.", public=true, }, TranslateSupportUrlNamespace={ value={ }, description="Like $wgTranslateSupportUrl, but for a specific namespace. Each $wgTranslateSupportUrl-like array needs to be the value assigned to the numerical ID of a namespace of the wiki. Since 2015-09.", public=true, merge_strategy="array_plus", }, TranslatePermissionUrl={ value="Project:Translator", description="When unprivileged users open a translation editor, they will see a message stating that a special permission is needed for translating messages. If this variable is defined, there is a button which will take the user to that page to ask for permission. The target needs to be reiterated with the second variable to have the same result with sandbox enabled where users can't enter the sandbox.", public=true, }, EnablePageTranslation={ value=true, description="Enable page translation feature.\n\nPage translation feature allows structured translation of wiki pages with simple markup and automatic tracking of changes. See https://www.mediawiki.org/wiki/Help:Extension:Translate/Page_translation_administration", public=true, }, TranslatePageTranslationULS={ value=false, description="If set to true, when a user selects an interface language via ULS (Universal Language Selector), if the current page is a translatable page or a translation page then the user is also redirected to the corresponding translation page in the selected language.\n\n The language of the translation pages visited afterwards will still depend on the links followed (it will be the interface language only if the links use the Special:MyLanguage syntax).\n\nSince 2013-03-10.", public=true, }, TranslateKeepOutdatedTranslations={ value=true, description="If set to true, when a translated page has some units marked as outdated, the outdated translation will be shown. If set to false, the original updated unit in the original language will be shown.\n\nChanging this setting requires the following script to be run to take effect on existing changes: scripts/refresh-translatable-pages.php\n\n Since 2016.12.", public=true, }, TranslateDisabledTargetLanguages={ value={ }, description="Two-dimensional array of languages that cannot be translated. Input can be exact group name, first part before '-' or '*' for all. Second dimension should be language code mapped to reason for disabling. Reason is parsed as wikitext.\n\nExample:\n'TranslateDisabledTargetLanguages': { '*': { 'en': 'English is the source language.' }, 'core': { 'mul': 'Not a real language.' }, 'ext': { 'mul': 'Not a real language.'} }", public=true, }, TranslateValidationExclusionFile={ value=false, description="File containing validations that are to be skipped. See https://gerrit.wikimedia.org/g/translatewiki/+/master/groups/validation-exclusion-list.php for example.", public=true, }, TranslateAuthorExclusionList={ value={ }, description="Two-dimensional array of rules that exclude certain authors from appearing in the exports. This is useful for keeping bots and people doing maintenance work in translations not to appear besides real translators everywhere.\n\nRules are arrays, where first element is type: included or excluded. The inclusion list always overrules the exclusion list. Second element should be a valid pattern that can be given a preg_match. It will be matched against string of format 'group-id;language;author name', without quotes.\n\nAs an example, this rule would ignore all authors whose name ends in a bot for all languages and all groups:\n'TranslateAuthorExclusionList': [ [ 'black', '/^.*;.*;.*Bot$/Ui' ] ]", public=true, }, TranslateMessageNamespaces={ value={ }, description="List of namespace that contain messages. No talk namespaces. See https://www.mediawiki.org/wiki/Help:Extension:Translate/Group_configuration", public=true, }, TranslateGroupRoot={ value="/var/www/externals", description="Location in the filesystem to which paths are relative in custom groups.", public=true, }, TranslateGroupFiles={ value={ }, description="The newest and recommended way of adding custom groups is YAML files.", public=true, }, TranslateWorkflowStates={ value=false, description="List of possible message group review workflow states and properties for each state. The currently supported properties are 'color', the color that is used for displaying the state in the tables, and 'right', the additional right that is needed to set the state. Users who have the translate-groupreview right can set this in Special:Translate. The state is visible in Special:Translate, Special:MessageGroupStats and Special:LanguageStats. If the value is false, the workflow states feature is disabled. State name can be up to 32 characters maximum.\n\nExample:\n'TranslateWorkflowStates': {\n\n'new': { 'color': 'FF0000' },\n'needs_proofreading': { 'color': '0000FF' },\n'ready': { 'color': 'FFFF00'},\n'published': { 'color': '00FF00', 'right': 'centralnotice-admin' }\n}", public=true, }, TranslateGroupAliases={ value={ }, description="Map from deprecated group IDs to their current ID. Example value: { 'core': 'mediawiki-core' }", public=true, }, TranslateCacheDirectory={ value=false, description="Set location of cache files. Defaults to $wgCacheDirectory.", public=true, }, TranslateMessageIndex={ value="DatabaseMessageIndex", description="Configures how the message index is stored. Possible values are 'DatabaseMessageIndex', 'SerializedMessageIndex', and 'CDBMessageIndex'. The last two backends need $wgCacheDirectory to be functional.", public=true, }, TranslateUseSandbox={ value=false, description="Whether to allow users to sign up via a sandbox. Sandboxed users cannot do much until approved and thus they can be get rid of easily. This only works with MediaWiki 1.27 and newer, and only if registration is configured to not use account creation providers which give REDIRECT or UI responses or require any other field than the default username/password/email.", public=true, }, TranslateSandboxPromotedGroup={ value=false, description="To which group the translators are promoted. If left at false, they will just be removed from sandbox and become normal users.", public=true, }, TranslateSandboxLimit={ value=20, description="Maximum number of translations a user can make in the sandbox.", public=true, }, TranslateUsePreSaveTransform={ value=false, description="Pre-save transform for message pages. MediaWiki does this by default (including for pages in the MediaWiki-namespace). By setting this to false it allows users to put untransformed syntax such as '~' into a page without having them be transformed upon save.", public=true, }, TranslateRcFilterDefault={ value="filter", description="Default action for the RecentChanges filter, which makes it possible to filter translations away or show them only. Possible values: 'noaction', 'only', 'filter', 'site'.", public=true, }, TranslateYamlLibrary={ value=nil, description="Currently supported YAML drivers are phpyaml, spyc and syck.\n\nFor phpyaml see https://secure.php.net/manual/en/book.yaml.php.\nFor syck we're shelling out to perl. So you need at least perl 5.8 (find out what you have by running `perl -v`), and to install these modules from CPAN: YAML::Syck, PHP::Serialization, and File::Slurp.\n\nYou should be able to do this with: `for module in 'YAML::Syck' 'PHP::Serialization' 'File::Slurp'; do cpanp -i $module; done`\n\nFor the shell to work, you also need an en.UTF-8 locale installed on your system. add a line `en.UTF-8` to your /etc/locale.gen or uncomment an existing one and run locale-gen if you do not have it already.\n\nphpyaml is the fastest and based on libyaml so the output should be most compatible. spyc output format is least compatible. syck is slowest but almost as good as phpyaml. spyc needs to be installed using composer. See https://www.mediawiki.org/wiki/Composer", public=true, }, TranslateTranslationDefaultService={ value=true, description="Name of the default translation memory service. This service must accept updates.\n\nIf left as the default `true`, the extension will fallback to TTMServer. If `$wgTranslateTranslationServices` is also unconfigured, built-in values will be used to configure the TTMServer.\n\nIf set to `false`, no translation memory will be used.", public=true, }, TranslateTranslationServices={ value={ }, description="Define various web services that provide translation suggestions.\n\nTranslation memories are documented in our main documentation. See https://www.mediawiki.org/wiki/Help:Extension:Translate/Translation_memories\n\nFor Apertium, you should get an API key. See http://wiki.apertium.org/wiki/Apertium_web_service\n\nYandex translation helper also provides langlimit option to limit total number of suggestions (set to 0 to get all possible translations) and langorder array to sort languages. Yandex translate engine is based on wordnet, generated from search index, so number of indexed websites should be a good heuristic to define the default language order.\n\nThe machine translation services are provided with the following information: server ip address; versions of MediaWiki and Translate extension; source text to translate; private API key if provided", public=true, }, TranslateStatsProviders={ value={ edits="MediaWiki\\Extension\\Translate\\Statistics\\TranslatePerLanguageStats", users="MediaWiki\\Extension\\Translate\\Statistics\\TranslatePerLanguageStats", reviews="MediaWiki\\Extension\\Translate\\Statistics\\ReviewPerLanguageStats", reviewers="MediaWiki\\Extension\\Translate\\Statistics\\ReviewPerLanguageStats", registrations="MediaWiki\\Extension\\Translate\\Statistics\\TranslateRegistrationStats", }, description="Add, disable or overwrite default stats type providers.", public=true, }, TranslateGroupSynchronizationCache={ value=false, description="If true, enables the group synchronization cache that keeps track of FileBasedMessageGroups messages currently being processed via MessageUpdateJob", public=true, }, TranslatePageMoveLimit={ value=500, description="If set, displays a warning and does not allow user to move translatable pages having more subpages than this value", public=true, }, TranslateEnableMessageBundleIntegration={ value=false, description="Enable experiment message bundle integration", public=true, }, }, attributes={ CodeMirror={ TagModes={ translate="text/mediawiki", tvar="text/mediawiki", }, PluginModules={ "ext.translate.codemirror",}, }, }, DefaultUserOptions={ translate=0, ["translate-editlangs"]="default", ["translate-recent-groups"]="", }, AvailableRights={ "translate","translate-import","translate-manage","translate-messagereview","translate-groupreview",}, GrantPermissions={ editpage={ translate=true, }, }, ParsoidModules={ "MediaWiki\\Extension\\Translate\\PageTranslation\\TranslateExt",}, composer="mediawiki/translate", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Translate", }, ["TranslateSvg/2.0"]={ name="TranslateSVG", version="2.1.0", author="Harry Burt", url="https://www.mediawiki.org/wiki/Extension:TranslateSvg/2.0", ["license-name"]="GPL-2.0-or-later", descriptionmsg="translatesvg-desc", type="specialpage", requires={ MediaWiki=">= 1.35.3", extensions={ Translate="*", }, }, SpecialPages={ TranslateNewSVG="SpecialTranslateNewSVG", }, ExtensionMessagesFiles={ TranslateSvgAlias="TranslateSvg.alias.php", }, callback="TranslateSvgHooks::onRegistration", Hooks={ BeforePageDisplay="TranslateSvgHooks::updateFileDescriptionPages", LoadExtensionSchemaUpdates="TranslateSvgHooks::schemaUpdates", MakeGlobalVariablesScript={ "TranslateSvgHooks::makeFilePageGlobalVariables","TranslateSvgHooks::exposeTranslateSvgTemplateName",}, TranslateBeforeAddModules={ "TranslateSvgHooks::addModules","TranslateSvgHooks::addModules",}, TranslateGetBoxes={ "TranslateSvgHooks::addThumbnail","TranslateSvgHooks::removeQQQ","TranslateSvgHooks::removeSuggestions",}, TranslateGetSpecialTranslateOptions="TranslateSvgHooks::makeExportAsSvgOptionDefault", TranslatePrefillTranslation="TranslateSvgHooks::getDefaultPropertiesFromGroup", TranslateGetExtraInputs="TranslateSvgHooks::propertiesToExtraInputs", TranslateFormatMessageBeforeTable="TranslateSvgHooks::stripPropertyString", TranslateGetAPIMessageGroupsPropertyDescs="TranslateSvgHooks::addAPIProperties", TranslateGetAPIMessageGroupsParameterDescs="TranslateSvgHooks::addAPIParamDescs", TranslateGetAPIMessageGroupsParameterList="TranslateSvgHooks::addAPIParams", TranslatePostInitGroups="TranslateSvgHooks::loadSVGGroups", TranslateProcessAPIMessageGroupsProperties="TranslateSvgHooks::processAPIProperties", }, config={ TranslateSvgTypefaces={ value={ "serif","sans-serif","monospace",}, description="List of typefaces (or keywords) that can safely be incorporated into SVG images, not including \"(inherit)\", the default.", }, TranslateSvgTemplateName={ value="Translation properties", }, TranslateSvgDirectory={ value=false, description="Directory where TranslateSvg's \"live\" (temporary) thumbnails should be stored. If left false, defaults to \"{$wgUploadDirectory}/translatesvg\"", }, TranslateSvgPath={ value=false, description="Server path equivalent to $wgTranslateSvgDirectory. If left false, defaults to \"{$wgUploadPath}/translatesvg\"", }, TranslateSvgColors={ value={ "#ffffff","#ffccc9","#ffce93","#fffc9e","#ffffc7","#9aff99","#96fffb","#cdffff","#cbcefb","#cfcfcf","#fd6864","#fe996b","#fffe65","#fcff2f","#67fd9a","#38fff8","#68fdff","#9698ed","#c0c0c0","#fe0000","#f8a102","#ffcc67","#f8ff00","#34ff34","#68cbd0","#34cdf9","#6665cd","#9b9b9b","#cb0000","#f56b00","#ffcb2f","#ffc702","#32cb00","#00d2cb","#3166ff","#6434fc","#656565","#9a0000","#ce6301","#cd9934","#999903","#009901","#329a9d","#3531ff","#6200c9","#343434","#680100","#963400","#986536","#646809","#036400","#34696d","#00009b","#303498","#000000","#330001","#643403","#663234","#343300","#013300","#003532","#010066",}, }, TranslateSvgBotName={ value="SVG translation updater", }, TranslateSvgDefaultProperties={ value={ x="", y="", ["font-family"]="other", ["font-size"]="", units="other", color="", underline="", italic="", bold="", }, }, TranslateSvgOptionalProperties={ value={ "id","data-children","xml:space","sodipodi:role","sodipodi:linespacing",}, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TranslateSvg", }, TranslationNotifications={ name="TranslationNotifications", version="2018-08-05", author={ "Niklas Laxström","Amir E. Aharoni","Santhosh Thottingal","Siebrand Mazeland","Jon Harald Søby",}, url="https://www.mediawiki.org/wiki/Extension:TranslationNotifications", descriptionmsg="translationnotifications-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.38.0", extensions={ MassMessage="*", Translate="*", }, }, DefaultUserOptions={ ["translationnotifications-lang-1"]="", ["translationnotifications-lang-2"]="", ["translationnotifications-lang-3"]="", }, SpecialPages={ TranslatorSignup={ class="MediaWiki\\Extension\\TranslationNotifications\\SpecialTranslatorSignup", services={ "UserOptionsManager",}, }, NotifyTranslators={ class="MediaWiki\\Extension\\TranslationNotifications\\SpecialNotifyTranslators", services={ "LanguageNameUtils","JobQueueGroup",}, }, }, JobClasses={ TranslationNotificationsEmailJob="MediaWiki\\Extension\\TranslationNotifications\\Jobs\\TranslationNotificationsEmailJob", TranslationNotificationsSubmitJob="MediaWiki\\Extension\\TranslationNotifications\\Jobs\\TranslationNotificationsSubmitJob", }, LogTypes={ "notifytranslators",}, LogActionsHandlers={ ["notifytranslators/sent"]="MediaWiki\\Extension\\TranslationNotifications\\TranslationNotificationsLogFormatter", }, ExtensionMessagesFiles={ TranslationNotificationsAlias="TranslationNotifications.alias.php", }, Hooks={ GetPreferences={ "MediaWiki\\Extension\\TranslationNotifications\\Hooks::onGetPreferences",}, }, config={ TranslationNotificationsContactMethods={ value={ email=true, talkpage=true, ["talkpage-elsewhere"]=false, feed=false, }, }, TranslationNotificationsSignupLegalMessage={ value="translationnotifications-signup-legal", }, TranslationNotificationsAlwaysHttpsInEmail={ value=false, }, }, composer="mediawiki/translation-notifications", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TranslationNotifications", }, TrustedXFF={ name="TrustedXFF", ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:TrustedXFF", descriptionmsg="trustedxff-desc", version="2.0.0", author={ "Tim Starling","Sam Reed",}, type="other", requires={ MediaWiki=">= 1.39.0", }, HookHandlers={ main={ factory={ "MediaWiki\\Extension\\TrustedXFF\\TrustedXFF","getInstance",}, }, }, Hooks={ IsTrustedProxy="main", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TrustedXFF", }, TuleapIntegration={ name="TuleapIntegration", version="2.0.0-alpha", ["license-name"]="GPL-3.0-only", author={ "Hallo Welt! GmbH",}, url="http://www.hallowelt.com", descriptionmsg="tuleapintegration-desc", requires={ MediaWiki=">= 1.35.0", }, ExtensionMessagesFiles={ TuleapIntegrationAlias="includes/TuleapIntegration.alias.php", }, config={ TuleapUrl={ value="https://tuleap-web.tuleap-aio-dev.docker", }, TuleapOAuth2Config={ value={ clientId="", clientSecret="", redirectUri="", }, }, TuleapProjectId={ value=0, }, TuleapData={ value={ }, }, TuleapEnableLocalLogin={ value=true, description="If true, no Oauth auto-login will be executed", }, }, Hooks={ BeforeInitialize="setUpOauthLogin", PersonalUrls={ "setUpOauthLogin","replaceUserLinks",}, HtmlPageLinkRendererEnd="replaceUserLinks", SpecialPage_initList="setUpOauthLogin", OutputPageBeforeHTML="replaceLinks", BeforePageDisplay="replaceLinks", getUserPermissionsErrors="setUpOauthLogin", userCan="setUpOauthLogin", }, HookHandlers={ setUpOauthLogin={ class="TuleapIntegration\\Hook\\SetUpOauthLogin", services={ "MainConfig",}, }, replaceUserLinks={ class="TuleapIntegration\\Hook\\ReplaceUserLinks", services={ "UserFactory",}, }, replaceLinks={ class="TuleapIntegration\\ReferenceManager", services={ "TuleapConnection","MainConfig",}, }, }, SpecialPages={ TuleapLogin={ class="TuleapIntegration\\Special\\TuleapLogin", services={ "TuleapConnection","TitleFactory","UserFactory","UserOptionsManager","UserGroupManager","TuleapUserMappingProvider",}, }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, composer="mediawiki/tuleap-integration", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TuleapIntegration", }, TuleapWikiFarm={ name="TuleapWikiFarm", version="2.0.0-alpha", ["license-name"]="GPL-3.0-only", author={ "Hallo Welt! GmbH",}, url="http://www.hallowelt.com", descriptionmsg="tuleapwikifarm-desc", requires={ MediaWiki=">= 1.35.0", }, attributes={ TuleapWikiFarm={ MaintenanceScripts={ runjobs={ class="TuleapWikiFarm\\ProcessStep\\Maintenance\\RunJobs", services={ "InstanceManager","MainConfig",}, }, update={ class="TuleapWikiFarm\\ProcessStep\\Maintenance\\Update", services={ "InstanceManager","MainConfig",}, }, ["set-user-groups"]={ class="TuleapWikiFarm\\ProcessStep\\Maintenance\\SetGroups", services={ "InstanceManager","MainConfig",}, }, ["refresh-links"]={ class="TuleapWikiFarm\\ProcessStep\\Maintenance\\RefreshLinks", services={ "InstanceManager","MainConfig",}, }, ["terminate-sessions"]={ class="TuleapWikiFarm\\ProcessStep\\Maintenance\\TerminateSessions", services={ "InstanceManager","MainConfig",}, }, }, }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, Hooks={ LoadExtensionSchemaUpdates="registerTable", }, HookHandlers={ registerTable={ class="TuleapWikiFarm\\Hook\\RegisterTable", }, }, AvailableRights={ "tuleap-farm-manage",}, GroupPermissions={ sysop={ ["tuleap-farm-manage"]=true, }, user={ ["tuleap-farm-manage"]=false, }, }, RestRoutes={ { method="PUT", path="/tuleap/instance/{name}", class="TuleapWikiFarm\\Rest\\CreateInstanceHandler", services={ "InstanceManager","MainConfig","LanguageNameUtils",}, },{ method="POST", path="/tuleap/instance/rename/{name}/{newname}", class="TuleapWikiFarm\\Rest\\RenameInstanceHandler", services={ "InstanceManager",}, },{ method="POST", path="/tuleap/instance/suspend/{name}", class="TuleapWikiFarm\\Rest\\SetInstanceStatusHandler", args={ "suspended","ready",}, services={ "InstanceManager",}, },{ method="POST", path="/tuleap/instance/resume/{name}", class="TuleapWikiFarm\\Rest\\SetInstanceStatusHandler", args={ "ready","suspended",}, services={ "InstanceManager",}, },{ method="POST", path="/tuleap/maintenance/{instance}/{script}", class="TuleapWikiFarm\\Rest\\MaintenanceHandler", services={ "InstanceManager",}, },{ path="/tuleap/instance/{name}", class="TuleapWikiFarm\\Rest\\InstanceStatusHandler", services={ "InstanceManager",}, },{ method="DELETE", path="/tuleap/instance/{name}", class="TuleapWikiFarm\\Rest\\DeleteInstanceHandler", services={ "InstanceManager","MainConfig",}, },{ method="POST", path="/tuleap/instance/register/{name}", class="TuleapWikiFarm\\Rest\\RegisterInstanceHandler", services={ "InstanceManager","LanguageNameUtils",}, },}, config={ TuleapPreSharedKey={ value=nil, }, TuleapFarmConfig={ value={ instanceDir=nil, centralDb=nil, }, }, }, SessionProviders={ ["TuleapWikiFarm\\PreSharedKeySessionProvider"]={ factory="TuleapWikiFarm\\PreSharedKeySessionProvider::factory", }, }, GrantPermissions={ ["farm-management"]={ ["tuleap-farm-manage"]=true, }, }, GrantPermissionGroups={ ["farm-management"]="administration", }, composer="mediawiki/tuleap-wiki-farm", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TuleapWikiFarm", }, TweetANew={ name="TweetANew", version="1.2.12052020", author={ "Gregory Varnum","Moriel Schottlender after merging extensions by Joachim De Schrijver","Andrew Fitzgerald","Wendell Gaudencio","Rohit Keshwani",}, url="https://www.mediawiki.org/wiki/Extension:TweetANew", descriptionmsg="tweetanew-desc", ["license-name"]="GPL-2.0-or-later", type="other", ExtensionMessagesFiles={ TweetANewMagic="TweetANew.i18n.magic.php", }, requires={ MediaWiki=">= 1.34.0", }, callback="TweetANew::registerExtension", Hooks={ EditPageGetCheckboxesDefinition="TweetANew::TweetANewEditCheckBox", ParserFirstCallInit="TweetANew::onParserFirstCallInit", }, config={ TweetANewTweet={ description="'New': Automatically tweet about new articles. Default is true. 'Edit': Automatically tweet about articles when edited. Default is true. 'LessMinutesOld': Minutes since last edit to wait before tweeting about a new edit. Default is 5. 'SkipMinor': Skip minor edits. Default is true.", value={ New=true, Edit=true, LessMinutesOld=5, SkipMinor=true, SkipRedirect=true, TwitterAsTitle=false, UserGroup="autoconfirmed", }, }, TweetANewText={ description="'Minor': Indicate in tweet if edit is marked as minor. Only applies if $wgTweetANewTweet['SkipMinor'] = false. Default is false. 'MinorSpace': Include a space after minor edit indicator. Only applies if $wgTweetANewTweet['SkipMinor'] = false and'Minor'] = true. Default is true. 'NewRandom': Use a mix of random messages in body of tweets about new articles. Default is true. 'NewRandomMax': Maximum number of random messages to use. Set any additional (beyond 3) using MediaWiki:Tweetanew-new4, MediaWiki:Tweetanew-new5, etc. Default is 3. 'NewAuthor': Display the author of the new article. Default is false. 'NewSummary': Display content entered into new article's summary box. Default is false. 'EditRandom': Use a mix of random messages in body of tweets about article edits. Default is true. 'EditRandomMax': Maximum number of random messages to use. Set any additional (beyond 3) using MediaWiki:Tweetanew-edit4, MediaWiki:Tweetanew-edit5, etc. Default is 3. 'EditAuthor': Display the author of the edit. Default is false. 'EditSummary': Display content entered into edit's summary box. Default is false. 'RealName': Determine if user's real name will be displayed instead of their username. Default is false.", value={ Minor=false, MinorSpace=true, NewRandom=true, NewRandomMax=3, NewAuthor=false, NewSummary=false, EditRandom=true, EditRandomMax=3, EditAuthor=false, EditSummary=false, RealName=false, }, }, TweetANewEditpage={ description="'Enable': Determine if checkbox to tweet from edit page if $wgTweetANewTweet['New'] = false or $wgTweetANewTweet['Edit'] = false. Default is false. 'Checked': Determine if checkbox to tweet from edit page is automatically checked.", value={ Enable=false, Checked=false, }, }, TweetANewTwitter={ description="'ConsumerKey': Consumer key provided at https://dev.twitter.com/apps - be sure to have write and read permissions. 'ConsumerSecret': Consumer secret provided at https://dev.twitter.com/apps - be sure to have write and read permissions. 'AccessToken': Access token provided by the OAuth tool at https://dev.twitter.com/apps - be sure to have write and read permissions. 'AccessTokenSecret': Access token secret provided by the OAuth tool at https://dev.twitter.com/apps. Be sure to have write and read permissions.", value={ ConsumerKey="", ConsumerSecret="", AccessToken="", AccessTokenSecret="", }, }, TweetANewBitly={ description="'Enable': Display URL as bitly link - allowing you to track usage via your bitly account. Default is false. 'Login': If bitly link display is enabled, enter your bitly user account - signup at: http://bitly.com/a/sign_up. 'API': If bitly link display is enabled, enter your bitly API key - find your API key at: http://bitly.com/a/your_api_key", value={ Enable=false, Login="", API="", }, }, TweetANewGoogl={ description="'Enable': Display URL as goo.gl link - allowing you to track usage via your Google Account. Default is false. 'API': If goo.gl link display is enabled, enter your goo.gl API key. Enable the URL shortener API and find your API key at: http://code.google.com/apis/console/", value={ Enable=false, API="", }, }, TweetANewBlacklist={ description="Array of pages blacklisted. Example: $wgTweetANewBlacklist = array('BadPage1','BadPage2');", value={ value="", }, }, TweetANewBlocklist={ value={ value="", }, }, TweetANewCatBlocklist={ value={ value="", }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TweetANew", }, TwitterCards={ name="TwitterCards", version="0.2", author={ "Harsh Kothari","Kunal Mehta",}, url="https://www.mediawiki.org/wiki/Extension:TwitterCards", descriptionmsg="twittercards-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.29.0", extensions={ TextExtracts="*", }, }, ExtensionMessagesFiles={ TwitterCardsMagic="TwitterCards.magic.php", }, Hooks={ BeforePageDisplay="TwitterCardsHooks::onBeforePageDisplay", }, config={ TwitterCardsPreferOG={ value=true, }, TwitterCardsHandle={ value="", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TwitterCards", }, TwitterTag={ name="Twitter Tag", version="1.2.1", author={ "TyA","sactage","X-Wing Team @ Wikia","Mikko Miettinen",}, url="https://www.mediawiki.org/wiki/Extension:TwitterTag", descriptionmsg="twitter-tag-desc", ["license-name"]="GPL-3.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.27.0", }, Hooks={ ParserFirstCallInit="TwitterTagController::onParserFirstCallInit", }, TrackingCategories={ "twitter-tag-likes-category",}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TwitterTag", }, ["Translatewiki.net main page"]={ name="Translatewiki.net main page", version="2016-02-21", author={ "Niklas Laxström","Santhosh Thottingal",}, descriptionmsg="twnmp-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.37.0", }, ExtensionFunctions={ "TwnMainPageHooks::setup",}, ExtensionMessagesFiles={ MainPageAlias="MainPage.alias.php", }, JobClasses={ CachedStatJob="CachedStatJob", }, config={ MainPageImages={ }, }, SpecialPages={ TwnMainPage="SpecialTwnMainPage", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TwnMainPage", }, TwoColConflict={ name="TwoColConflict", author={ "Wikimedia Deutschland Technical Wishes Team","Christoph Jauera","Addshore","Andrew Kostka","Thiemo Kreuz","Adam Wight",}, url="https://www.mediawiki.org/wiki/Extension:TwoColConflict", descriptionmsg="twocolconflict-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.38.0", }, config={ TwoColConflictBetaFeature={ description="Make the TwoColConflict feature a BetaFeature. Setting this requires the BetaFeature extension and requires each user to enable the BetaFeature.", public=true, value=true, }, TwoColConflictTrackingOversample={ description="100% sampling for EditStepAttempt events whenever a user is in the conflict workflow.  FIXME: This should be disabled everywhere unless we're explicitly collecting data and planning to analyze the results.", public=true, value=false, }, TwoColConflictSuggestResolution={ description="Suggest an easy resolution for edit conflicts on talk pages when two users replied at the same time.", public=true, value=true, }, }, Hooks={ GetBetaFeaturePreferences="TwoColConflict\\Hooks\\TwoColConflictHooks::onGetBetaFeaturePreferences", GetPreferences="TwoColConflict\\Hooks\\TwoColConflictHooks::onGetPreferences", LoadUserOptions="TwoColConflict\\Hooks\\TwoColConflictHooks::onLoadUserOptions", AlternateEdit="TwoColConflict\\Hooks\\TwoColConflictHooks::onAlternateEdit", ["EditPage::importFormData"]="TwoColConflict\\Hooks\\EditPageImportFormDataHookHandler::onEditPageImportFormData", EditPageBeforeConflictDiff="TwoColConflict\\Hooks\\TwoColConflictHooks::onEditPageBeforeConflictDiff", EditPageBeforeEditButtons="TwoColConflict\\Hooks\\TwoColConflictHooks::onEditPageBeforeEditButtons", ["EditPage::showEditForm:initial"]="TwoColConflict\\Hooks\\TwoColConflictHooks::onEditPageShowEditFormInitial", ["EditPage::showEditForm:fields"]="TwoColConflict\\Hooks\\TwoColConflictHooks::onEditPageShowEditFormFields", }, DefaultUserOptions={ ["twocolconflict-enabled"]=1, }, ExtensionMessagesFiles={ TwoColConflictAlias="TwoColConflict.alias.php", }, SpecialPages={ TwoColConflictProvideSubmittedText={ class="TwoColConflict\\ProvideSubmittedText\\SpecialProvideSubmittedText", services={ "TwoColConflictContext","MainObjectStash","StatsdDataFactory",}, }, }, QUnitTestModule={ localBasePath="tests/qunit", remoteExtPath="TwoColConflict/tests/qunit", scripts={ "SplitTwoColConflict/TwoColConflict.Merger.test.js","SplitTwoColConflict/TwoColConflict.Split.tracking.test.js",}, dependencies={ "ext.TwoColConflict.Util",}, }, attributes={ EventLogging={ Schemas={ TwoColConflictConflict="/analytics/legacy/twocolconflictconflict/1.0.0", TwoColConflictExit="/analytics/legacy/twocolconflictexit/1.0.0", }, }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/TwoColConflict", }, UIFeedback={ name="UiFeedback", version="0.5.0", author={ "lbenedix",}, url="https://www.mediawiki.org/wiki/Extension:UIFeedback", descriptionmsg="ui-feedback-desc", type="other", requires={ MediaWiki=">= 1.34.0", }, APIModules={ uifeedback="UIFeedbackAPI", }, AvailableRights={ "read_uifeedback","write_uifeedback",}, GroupPermissions={ ["*"]={ read_uifeedback=true, upload=true, }, UIFeedback_Administator={ write_uifeedback=true, }, }, SpecialPages={ UiFeedback="SpecialUiFeedback", }, ExtensionMessagesFiles={ UIFeedbackAlias="UIFeedback.alias.php", }, Hooks={ LoadExtensionSchemaUpdates="UIFeedbackHooks::createUIFeedbackTable", BeforePageDisplay="UIFeedbackHooks::uifeedbackBeforePageDisplay", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UIFeedback", }, UILangCode={ name="UILangCode", version="1.0.0", author="Niklas Laxström", url="https://www.mediawiki.org/wiki/Extension:UILangCode", descriptionmsg="uilangcode-desc", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.29.0", }, Hooks={ MagicWordwgVariableIDs="MediaWiki\\Extension\\UILangCode\\Hooks::onMagicWordwgVariableIDs", ParserGetVariableValueSwitch="MediaWiki\\Extension\\UILangCode\\Hooks::onParserGetVariableValueSwitch", }, ExtensionMessagesFiles={ UILangCodeMagic="UILangCode.i18n.magic.php", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UILangCode", }, UnCaptcha={ name="UnCaptcha", author="Kunal Mehta", ["license-name"]="GPL-3.0-or-later", url="https://www.mediawiki.org/wiki/Extension:UnCaptcha", type="antispam", descriptionmsg="uncaptcha-desc", requires={ MediaWiki=">= 1.29.0", }, AuthManagerAutoConfig={ preauth={ UnCaptchaPreAuthenticationProvider={ class="MediaWiki\\UnCaptcha\\RobotPreAuthenticationProvider", sort=50, }, }, }, Hooks={ AuthChangeFormFields="MediaWiki\\UnCaptcha\\Hooks::onAuthChangeFormFields", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UnCaptcha", }, UnicodeConverter={ name="UnicodeConverter", author="Tim Starling", ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:UnicodeConverter", descriptionmsg="unicodeconverter-desc", type="specialpage", requires={ MediaWiki=">= 1.31.0", }, SpecialPages={ UnicodeConverter="SpecialUnicodeConverter", }, ExtensionMessagesFiles={ UnicodeConverterAlias="UnicodeConverter.alias.php", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UnicodeConverter", }, UnifiedTaskOverview={ name="UnifiedTaskOverview", version="1.0", ["license-name"]="GPL-3.0-only", author={ "Hallo Welt! GmbH",}, url="http://www.hallowelt.com", descriptionmsg="unifiedtaskoverview-desc", requires={ MediaWiki=">= 1.31.0", }, attributes={ UnifiedTaskOverview={ AttentionIndicatorCollectionRegistry={ }, }, BlueSpiceDiscovery={ AttentionIndicatorRegistry={ taskoverview="\\MediaWiki\\Extension\\UnifiedTaskOverview\\AttentionIndicator\\TaskOverview::factory", }, }, }, callback="mwsInitComponents", ExtensionMessagesFiles={ UnifiedTaskOverviewAlias="languages/UnifiedTaskOverview.i18n.alias.php", }, SpecialPages={ UnifiedTaskOverview="MediaWiki\\Extension\\UnifiedTaskOverview\\Special\\UnifiedTaskOverview", }, Hooks={ PersonalUrls="MediaWiki\\Extension\\UnifiedTaskOverview\\Setup::onPersonalUrls", }, RestRoutes={ { path="/unifiedtaskoverview/list", method="GET", class="MediaWiki\\Extension\\UnifiedTaskOverview\\Rest\\ListHandler", services={ "HookContainer",}, },}, composer="mediawiki/unified-task-overview", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UnifiedTaskOverview", }, UniversalLanguageSelector={ name="UniversalLanguageSelector", version="2022-10-22", author={ "Alolita Sharma","Amir Aharoni","Arun Ganesh","Brandon Harris","Kartik Mistry","Niharika Kohli","Niklas Laxström","Pau Giner","Santhosh Thottingal","Siebrand Mazeland",}, url="https://www.mediawiki.org/wiki/Extension:UniversalLanguageSelector", descriptionmsg="uls-desc", ["license-name"]="GPL-2.0-or-later OR MIT", requires={ MediaWiki=">= 1.37.0", }, Hooks={ BeforePageDisplay="main", EnterMobileMode="main", GetBetaFeaturePreferences="main", GetPreferences="main", MakeGlobalVariablesScript="main", ResourceLoaderGetConfigVars="main", SkinAfterPortlet="main", ["SkinTemplateNavigation::Universal"]="main", UserGetLanguageObject="main", }, HookHandlers={ main={ class="UniversalLanguageSelector\\Hooks", services={ "MainConfig","UserOptionsLookup","StatsdDataFactory","LanguageNameUtils",}, }, }, APIModules={ languagesearch="UniversalLanguageSelector\\Api\\ApiLanguageSearch", ulslocalization={ class="UniversalLanguageSelector\\Api\\ApiULSLocalization", services={ "LanguageNameUtils",}, }, ulssetlang={ class="UniversalLanguageSelector\\Api\\ApiULSSetLanguage", services={ "UserOptionsManager","LanguageNameUtils",}, }, }, DefaultUserOptions={ ["uls-preferences"]="", ["compact-language-links"]=true, }, config={ ULSGeoService={ description="ULS can use a geolocation service to suggest languages based on the country the user is vising from. If set to an URL it will query that service which must return an object which has key \"country_code\" or \"country\". For example https://api.ipstack.com/check?access_key=yourkey&fields=country_code. Setting this to false will prevent built-in geolocation from being used. You can also provide your own geolocation by assigning such object to window.Geo.", value=false, }, ULSEnable={ description="Enable language selection, compact language links, input methods and webfonts for everyone, unless the behavior is overridden by the configuration variables below. Even if false the classes and resource loader modules are registered for the use of other extensions. Language changing via cookie or setlang query parameter is not possible.", value=true, }, ULSAnonCanChangeLanguage={ description="Allow anonymous users to change language with cookie and setlang query parameter. Do not use if you are caching anonymous page views without taking cookies into account. Does not have any effect if $wgULSEnable is set to false. @since 2013.04", value=true, }, ULSLanguageDetection={ description="Try to use preferred interface language for anonymous users. Do not use if you are caching anonymous page views without taking Accept-Language into account. Does not have any effect if $wgULSEnable is set to false.", value=true, }, ULSIMEEnabled={ description="Enable the input methods feature for all users by default. Can be controlled by the user.", value=true, }, ULSWebfontsEnabled={ description="Enable the webfonts feature for all users by default. Can be controlled by the user. @since 2014.02", value=true, }, ULSMobileWebfontsEnabled={ description="Set whether webfont support is loaded within the mobile interface (via the MobileFrontend extension).", value=false, }, ULSPosition={ description="The location and the form of the language selection trigger.  The possible values are: (a) \"personal\"- as a link near the username or the log in link in the personal toolbar (default). (b) \"interlanguage\": as an icon near the header of the list of interlanguage  links in the sidebar.", value="personal", }, ULSImeSelectors={ description="Array of jQuery selectors of elements on which IME should be enabled. @since 2013.11", value={ "input:not([type])","input[type=text]","input[type=search]","textarea","[contenteditable]",}, }, ULSNoImeSelectors={ description="Array of jQuery selectors of elements on which IME must not be enabled. @since 2013.07", value={ "#wpCaptchaWord",".ace_text-input",".ve-ce-surface-paste",".ve-ce-surface-readOnly [contenteditable]",}, }, ULSNoWebfontsSelectors={ description="Array of jQuery selectors of elements on which webfonts must not be applied. By default exclude elements with .autonym because that style set font as Autonym @since 2013.09", value={ "#p-lang li.interlanguage-link > a",}, }, ULSFontRepositoryBasePath={ description="Base path of ULS font repository. If not set, will be set to 'UniversalLanguageSelector/data/fontrepo/fonts/', relative to $wgExtensionAssetsPath. @since 2013.10", value=false, }, ULSCompactLanguageLinksBetaFeature={ description="Set compact interlanguage links as beta feature or not. If set false, compact interlanguage links will be available by default to all users.", value=false, }, }, callback="UniversalLanguageSelector\\Hooks::setVersionConstant", QUnitTestModule={ localBasePath="tests/qunit", remoteExtPath="UniversalLanguageSelector/tests/qunit", scripts={ "ext.uls.tests.js",}, dependencies={ "jquery.uls","ext.uls.common","ext.uls.preferences",}, }, composer="mediawiki/universal-language-selector", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UniversalLanguageSelector", }, UnlinkedWikibase={ name="UnlinkedWikibase", author={ "Sam Wilson",}, ["license-name"]="GPL-2.0-or-later", namemsg="unlinkedwikibase", descriptionmsg="unlinkedwikibase-desc", version="2.0.0", url="https://www.mediawiki.org/wiki/Extension:UnlinkedWikibase", type="other", requires={ MediaWiki=">= 1.38", }, ExtensionMessagesFiles={ UnlinkedWikibaseMagicWords="UnlinkedWikibase.i18n.magic.php", }, Hooks={ ScribuntoExternalLibraries="MediaWiki\\Extension\\UnlinkedWikibase\\Hooks::onScribuntoExternalLibraries", ParserFirstCallInit="main", InfoAction="main", }, HookHandlers={ main={ class="MediaWiki\\Extension\\UnlinkedWikibase\\Hooks", }, }, config={ UnlinkedWikibaseBaseUrl={ description="The base URL of the Wikibase site to use.", value="https://www.wikidata.org/wiki/", }, UnlinkedWikibaseBaseQueryEndpoint={ description="The query service Sparql endpoint.", value="https://query.wikidata.org/bigdata/namespace/wdq/sparql", }, UnlinkedWikibaseQueryTTL={ description="The cache lifetime (in seconds) for Sparql queries.", value="3600", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UnlinkedWikibase", composer="samwilson/unlinked-wikibase", }, UnusedRedirects={ name="UnusedRedirects", version="1.5", author="Jack Phoenix", ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:UnusedRedirects", descriptionmsg="unusedredirects-desc", type="specialpage", requires={ MediaWiki=">= 1.34.0", }, SpecialPages={ UnusedRedirects="UnusedRedirectsPage", }, ExtensionMessagesFiles={ UnusedRedirectsAlias="UnusedRedirects.alias.php", }, Hooks={ wgQueryPages="UnusedRedirectsPage::onwgQueryPages", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UnusedRedirects", }, UpdateMediaWiki={ name="UpdateMediaWiki", version="0.5.0", author={ "Miguel Peláez",}, url="https://www.mediawiki.org/wiki/Extension:UpdateMediaWiki", descriptionmsg="updatemediawiki-desc", ["license-name"]="GPL-2.0-or-later", type="extensions", requires={ MediaWiki=">= 1.32.0", }, SpecialPages={ UpdateMediaWiki="SpecialUpdateMediaWiki", }, ExtensionMessagesFiles={ UpdateMediaWikiAlias="UpdateMediaWiki.alias.php", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UpdateMediaWiki", }, UploadBlacklist={ name="UploadBlacklist", author="Brion Vibber", url="https://www.mediawiki.org/wiki/Extension:UploadBlacklist", ["license-name"]="GPL-2.0-or-later", descriptionmsg="uploadblacklist-desc", type="other", requires={ MediaWiki=">= 1.34.0", }, Hooks={ UploadVerification="UploadBlacklistHooks::onUploadVerification", }, config={ ["_prefix"]="ub", UploadBlacklist=false, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UploadBlacklist", }, UploadLogo={ name="UploadLogo", author="Sleeping-Lion", version="1.0.0", url="https://www.mediawiki.org/wiki/Extension:UploadLogo", descriptionmsg="uploadlogo-desc", type="specialpage", ["license-name"]="MIT", requires={ MediaWiki=">= 1.25.0", }, ExtensionMessagesFiles={ UploadLogoAlias="UploadLogo.alias.php", }, SpecialPages={ UploadLogo="SpecialUploadLogo", }, callback="UploadLogoHooks::onExtensionLoad", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UploadLogo", }, UploadWizard={ name="Upload Wizard", version="1.5.0", author={ "Neil Kandalgaonkar","Jeroen De Dauw","Mark Holmquist","Ryan Kaldari","Michael Dale","Ankur Anand","Ian Baker","Nischay Nahata","Yuvi Panda","Bartosz Dziewoński","Matthias Mullie",}, url="https://www.mediawiki.org/wiki/Extension:UploadWizard", descriptionmsg="uploadwizard-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.40.0", }, DefaultUserOptions={ upwiz_deflicense="default", upwiz_maxsimultaneous="default", upwiz_mv_cta_dismissed=0, }, GroupPermissions={ ["*"]={ upwizcampaigns=false, }, user={ upwizcampaigns=false, }, autoconfirmed={ upwizcampaigns=false, }, bot={ upwizcampaigns=false, }, sysop={ upwizcampaigns=true, ["mass-upload"]=true, }, upwizcampeditors={ upwizcampaigns=true, }, }, AddGroups={ sysop={ "upwizcampeditors",}, }, RemoveGroups={ sysop={ "upwizcampeditors",}, }, AvailableRights={ "upwizcampaigns","mass-upload",}, ContentHandlers={ Campaign="MediaWiki\\Extension\\UploadWizard\\CampaignContentHandler", }, SpecialPages={ UploadWizard={ class="MediaWiki\\Extension\\UploadWizard\\Specials\\SpecialUploadWizard", services={ "UserOptionsLookup",}, }, Campaigns="MediaWiki\\Extension\\UploadWizard\\Specials\\SpecialCampaigns", }, APIModules={ flickrblacklist="MediaWiki\\Extension\\UploadWizard\\ApiFlickrBlacklist", }, APIListModules={ allcampaigns="MediaWiki\\Extension\\UploadWizard\\ApiQueryAllCampaigns", }, ExtensionMessagesFiles={ UploadWizardAlias="UploadWizard.alias.php", }, QUnitTestModule={ localBasePath="tests/qunit", remoteExtPath="UploadWizard/tests/qunit", scripts={ "controller/uw.controller.Deed.test.js","controller/uw.controller.Details.test.js","controller/uw.controller.Step.test.js","controller/uw.controller.Thanks.test.js","controller/uw.controller.Tutorial.test.js","controller/uw.controller.Upload.test.js","transports/mw.FormDataTransport.test.js","uw.ConcurrentQueue.test.js","mw.UploadWizardUpload.test.js","mw.UploadWizardLicenseInput.test.js","mw.FlickrChecker.test.js","uw.TitleDetailsWidget.test.js","mw.fileApi.test.js",}, dependencies={ "ext.uploadWizard",}, }, Hooks={ LoadExtensionSchemaUpdates="MediaWiki\\Extension\\UploadWizard\\Hooks::onSchemaUpdate", GetPreferences="MediaWiki\\Extension\\UploadWizard\\Hooks::onGetPreferences", IsUploadAllowedFromUrl="MediaWiki\\Extension\\UploadWizard\\Hooks::onIsUploadAllowedFromUrl", ListDefinedTags="MediaWiki\\Extension\\UploadWizard\\Hooks::onListDefinedTags", ChangeTagsListActive="MediaWiki\\Extension\\UploadWizard\\Hooks::onListDefinedTags", ChangeTagsAllowedAdd="MediaWiki\\Extension\\UploadWizard\\Hooks::onListDefinedTags", ContentModelCanBeUsedOn="MediaWiki\\Extension\\UploadWizard\\CampaignHooks::onContentModelCanBeUsedOn", EditFilterMergedContent="MediaWiki\\Extension\\UploadWizard\\CampaignHooks::onEditFilterMergedContent", CodeEditorGetPageLanguage="MediaWiki\\Extension\\UploadWizard\\CampaignHooks::onCodeEditorGetPageLanguage", PageSaveComplete="MediaWiki\\Extension\\UploadWizard\\CampaignHooks::onPageSaveComplete", ArticleDeleteComplete="MediaWiki\\Extension\\UploadWizard\\CampaignHooks::onArticleDeleteComplete", PageMoveComplete="MediaWiki\\Extension\\UploadWizard\\CampaignHooks::onPageMoveComplete", LinksUpdateComplete="MediaWiki\\Extension\\UploadWizard\\CampaignHooks::onLinksUpdateComplete", PreferencesGetIcon="MediaWiki\\Extension\\UploadWizard\\Hooks::onPreferencesGetIcon", }, namespaces={ { id=460, constant="NS_CAMPAIGN", name="Campaign", defaultcontentmodel="Campaign", protection="upwizcampaigns", capitallinkoverride=false, },{ id=461, constant="NS_CAMPAIGN_TALK", name="Campaign_talk", capitallinkoverride=false, },}, config={ UploadWizardConfig={ value={ }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UploadWizard", }, UploadsLink={ name="UploadsLink", author={ "Bartosz Dziewoński","Rainer Rillke",}, url="https://www.mediawiki.org/wiki/Extension:UploadsLink", descriptionmsg="uploadslink-desc", ["license-name"]="MIT", type="other", Hooks={ ["SkinTemplateNavigation::Universal"]={ "MediaWiki\\Extension\\UploadsLink\\Hooks::onSkinTemplateNavigation",}, SidebarBeforeOutput={ "MediaWiki\\Extension\\UploadsLink\\Hooks::onSidebarBeforeOutput",}, }, config={ UploadsLinkDisableAnon={ value=true, }, UploadsLinkEnablePersonalLink={ value=true, }, UploadsLinkEnableRelevantUserLink={ value=true, }, }, requires={ MediaWiki=">= 1.31.0", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UploadsLink", }, UrlGetParameters={ name="UrlGetParameters", version="1.6.0", author={ "S.O.E. Ansems","...",}, url="https://www.mediawiki.org/wiki/Extension:UrlGetParameters", descriptionmsg="urlgetparameters-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.35.0", }, ExtensionMessagesFiles={ UrlGetParametersMagic="UrlGetParameters.i18n.magic.php", }, Hooks={ ParserFirstCallInit="UrlGetParametersHooks::onParserFirstCallInit", }, config={ UrlGetParametersSeparator={ value=",", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UrlGetParameters", }, UrlShortener={ name="UrlShortener", version="1.0.1", author={ "Yuvi Panda","Prateek Saxena","Tim Starling","Kunal Mehta",}, url="https://www.mediawiki.org/wiki/Extension:UrlShortener", descriptionmsg="urlshortener-desc", ["license-name"]="Apache-2.0", type="specialpage", requires={ MediaWiki=">= 1.40.0", }, APIModules={ shortenurl="MediaWiki\\Extension\\UrlShortener\\ApiShortenUrl", }, ExtensionMessagesFiles={ UrlShortenerAlias="UrlShortener.alias.php", UrlShortenerNoTranslateAlias="UrlShortener.notranslate-alias.php", }, callback="MediaWiki\\Extension\\UrlShortener\\Hooks::onRegistration", Hooks={ LoadExtensionSchemaUpdates={ "MediaWiki\\Extension\\UrlShortener\\Hooks::onLoadExtensionSchemaUpdates",}, WebRequestPathInfoRouter={ "MediaWiki\\Extension\\UrlShortener\\Hooks::onWebRequestPathInfoRouter",}, BeforePageDisplay={ "MediaWiki\\Extension\\UrlShortener\\Hooks::onBeforePageDisplay",}, SidebarBeforeOutput={ "MediaWiki\\Extension\\UrlShortener\\Hooks::onSidebarBeforeOutput",}, }, LogTypes={ "urlshortener",}, LogActionsHandlers={ ["urlshortener/*"]="LogFormatter", }, ActionFilteredLogs={ urlshortener={ delete={ "delete",}, restore={ "restore",}, }, }, LogRestrictions={ urlshortener="urlshortener-view-log", }, RateLimits={ urlshortcode={ ip={ 10,120,}, ["user-global"]={ 50,300,}, ["&can-bypass"]=false, }, }, SpecialPages={ UrlShortener="MediaWiki\\Extension\\UrlShortener\\SpecialUrlShortener", UrlRedirector="MediaWiki\\Extension\\UrlShortener\\SpecialUrlRedirector", ManageShortUrls="MediaWiki\\Extension\\UrlShortener\\SpecialManageShortUrls", }, AvailableRights={ "urlshortener-manage-url","urlshortener-create-url","urlshortener-view-log",}, GroupPermissions={ ["*"]={ ["urlshortener-manage-url"]=false, ["urlshortener-view-log"]=false, ["urlshortener-create-url"]=true, }, sysop={ ["urlshortener-manage-url"]=true, ["urlshortener-view-log"]=true, ["urlshortener-create-url"]=true, }, }, GrantPermissions={ shortenurls={ ["urlshortener-create-url"]=true, }, }, GrantPermissionGroups={ shortenurls="administration", }, config={ UrlShortenerApprovedDomains={ value=false, }, UrlShortenerDBCluster={ value=false, }, UrlShortenerDBName={ value=false, }, UrlShortenerAllowedDomains={ value=false, }, UrlShortenerIdSet={ value="23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz$", }, UrlShortenerIdMapping={ value={ [1]="o", O="o", I="i", l="i", [2]="i", }, }, UrlShortenerAltPrefix={ value="_", }, UrlShortenerServer={ value=false, }, UrlShortenerTemplate={ value=false, }, UrlShortenerAllowArbitraryPorts={ value=false, }, UrlShortenerReadOnly={ value=false, }, UrlShortenerEnableSidebar={ value=true, }, UrlShortenerUrlSizeLimit={ value=2000, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UrlShortener", }, UseResource={ name="UseResource", version="1.0.0", author="Brandon Fowler", url="https://www.mediawiki.org/wiki/Extension:UseResource", descriptionmsg="useresource-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.35.0", }, Hooks={ ParserFirstCallInit="main", OutputPageParserOutput="main", }, HookHandlers={ main={ class="MediaWiki\\Extension\\UseResource\\Hooks", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UseResource", }, UserAgreement={ name="UserAgreement", version="1.0.1", author={ "Kevin Ji","Cindy Cicalese",}, url="https://www.mediawiki.org/wiki/Extension:UserAgreement", descriptionmsg="useragreement-desc", type="parserhook", requires={ MediaWiki=">= 1.35.3", }, APIModules={ uaAcceptAgreement="ApiUAAcceptAgreement", }, Hooks={ LoadExtensionSchemaUpdates={ "UserAgreementHooks::loadExtensionSchemaUpdates",}, BeforePageDisplay={ "UserAgreementHooks::addUserAgreement",}, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UserAgreement", }, UserExport={ name="UserExport", version="2.1.1", author={ "Rodrigo Sampaio Primo","Mark A. Hershberger","Karsten Hoffmeyer","...",}, url="https://www.mediawiki.org/wiki/Extension:UserExport", descriptionmsg="userexport-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.35.3", }, AvailableRights={ "userexport",}, GroupPermissions={ bureaucrat={ userexport=true, }, }, SpecialPages={ UserExport="MediaWiki\\Extension\\UserExport\\Special", }, ExtensionMessagesFiles={ UserExportAlias="UserExport.alias.php", }, composer="mediawiki/user-export", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UserExport", }, UserFunctions={ name="UserFunctions", version="2.8.1", author={ "Ross McClure","Toni Hermoso Pulido","Universal Omega","...",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:UserFunctions", descriptionmsg="userfunctions-desc", type="parserhook", requires={ MediaWiki=">= 1.35.0", }, ExtensionMessagesFiles={ UserFunctionsMagic="UserFunctions.i18n.magic.php", }, config={ UFEnabledPersonalDataFunctions={ value={ }, description="Set this to an array of personal data functions to enable or empty ([]) to disable all of them. Allowed values: realname, username, useremail, nickname, ip.", }, UFEnableSpecialContexts={ value=true, description="Allow to be used in places such as SF form.", }, UFAllowedNamespaces={ value={ [9]=true, }, merge_strategy="array_plus", description="Restricts to certain namespaces.", }, }, Hooks={ ParserFirstCallInit="ExtUserFunctions::onParserFirstCallInit", }, composer="mediawiki/user-functions", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UserFunctions", }, UserGroups={ name="UserGroups", version="1.0.0", author="Withoutaname", url="https://www.mediawiki.org/wiki/Extension:UserGroups", descriptionmsg="usergroups-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.38.0", }, AvailableRights={ "modifygroups",}, GroupPermissions={ bureaucrat={ modifygroups=true, }, }, LogActionsHandlers={ ["usergroups/*"]="LogFormatter", }, LogHeaders={ usergroups="usergroups-log-header", }, LogNames={ usergroups="usergroups-log-name", }, LogTypes={ "usergroups",}, SpecialPages={ UserGroups="SpecialUserGroups", }, ExtensionMessagesFiles={ SpecialUserGroupsAliases="UserGroups.alias.php", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UserGroups", }, UserMerge={ name="UserMerge", version="1.10.1", author={ "Tim Laqua","Thomas Gries","Matthew April",}, url="https://www.mediawiki.org/wiki/Extension:UserMerge", descriptionmsg="usermerge-desc", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.37.0", }, type="specialpage", AvailableRights={ "usermerge",}, SpecialPages={ UserMerge={ class="SpecialUserMerge", services={ "UserGroupManager",}, }, }, LogTypes={ "usermerge",}, LogNames={ usermerge="usermerge-logpage", }, LogHeaders={ usermerge="usermerge-logpagetext", }, ActionFilteredLogs={ usermerge={ mergeuser={ "mergeuser",}, deleteuser={ "deleteuser",}, }, }, LogActionsHandlers={ ["usermerge/*"]="UserMergeLogFormatter", }, Hooks={ UserGetReservedNames="UserMergeHooks::onUserGetReservedNames", }, ExtensionMessagesFiles={ UserMergeAlias="UserMerge.alias.php", }, ConfigRegistry={ usermerge="GlobalVarConfig::newInstance", }, config={ UserMergeEnableDelete={ value=true, }, UserMergeProtectedGroups={ value={ "sysop",}, merge_strategy="provide_default", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UserMerge", }, UserOptionStats={ name="User Option Statistics", version="3.0.1", author="Niklas Laxström", url="https://www.mediawiki.org/wiki/Extension:UserOptionStats", descriptionmsg="useroptionstats-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.32.0", }, ExtensionMessagesFiles={ UserOptionStatsAlias="UserOptionStats.alias.php", }, SpecialPages={ UserOptionStats="SpecialUserOptionStats", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UserOptionStats", }, UserPageEditProtection={ name="UserPageEditProtection", version="4.1.0", author={ "Lisa Ridley","Eric Gingell","Karsten Hoffmeyer","...",}, url="https://www.mediawiki.org/wiki/Extension:UserPageEditProtection", descriptionmsg="userpageeditprotection-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.29.0", }, AvailableRights={ "editalluserpages",}, GroupPermissions={ sysop={ editalluserpages=true, }, }, Hooks={ getUserPermissionsErrors="UserPageEditProtection::onGetUserPermissionsErrors", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UserPageEditProtection", }, UserPageViewTracker={ name="UserPageViewTracker", version="0.6", author={ "Kimon Andreou","Sophivorus",}, url="https://www.mediawiki.org/wiki/Extension:UserPageViewTracker", ["license-name"]="GPL-3.0-only", descriptionmsg="userpageviewtracker-desc", type="specialpage", requires={ MediaWiki=">= 1.29.0", }, SpecialPages={ UserPageViewTracker="SpecialUserPageViewTracker", }, ExtensionMessagesFiles={ UserPageViewTrackerAlias="UserPageViewTracker.alias.php", }, Hooks={ BeforePageDisplay="SpecialUserPageViewTracker::onBeforePageDisplay", LoadExtensionSchemaUpdates="SpecialUserPageViewTracker::onLoadExtensionSchemaUpdates", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UserPageViewTracker", }, UserProtect={ name="UserProtect", version="1.0", author={ "Pavel Astakhov",}, url="https://www.mediawiki.org/wiki/Extension:UserProtect", descriptionmsg="userprotect-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.38.0", }, GroupPermissions={ sysop={ userprotect=true, }, }, AvailableRights={ "userprotect",}, Actions={ userprotect="UserProtectAction", }, Hooks={ ArticleDeleteComplete="UserProtectHooks::onArticleDeleteComplete", PageSaveComplete="UserProtectHooks::onPageContentInsertComplete", SkinTemplateNavigation="UserProtectHooks::onSkinTemplateNavigation", MediaWikiServices="UserProtectHooks::onMediaWikiServices", LoadExtensionSchemaUpdates="UserProtectHooks::onLoadExtensionSchemaUpdates", }, config={ UserProtectRestrictionTypes={ value={ edit=true, move=true, delete=true, }, description="The list of permissions used for per-user per-page access control", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UserProtect", }, UserStatus={ name="UserStatus", version="3.6.0", author={ "Aaron Wright","David Pean","Jack Phoenix",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:UserStatus", descriptionmsg="userstatus-desc", type="other", requires={ MediaWiki=">= 1.34.0", }, SpecialPages={ FanUpdates="ViewFanUpdates", UserStatus="ViewUserStatus", ViewThought="ViewThought", }, ExtensionMessagesFiles={ UserStatusAlias="includes/UserStatus.alias.php", }, APIModules={ userstatus="ApiUserStatus", }, Hooks={ LoadExtensionSchemaUpdates="UserStatusHooks::onLoadExtensionSchemaUpdates", }, AvailableRights={ "delete-status-updates",}, GroupPermissions={ staff={ ["delete-status-updates"]=true, }, sysop={ ["delete-status-updates"]=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/UserStatus", }, VIKI={ name="VIKI", version="1.6.0", author={ "Jason Ji","Cindy Cicalese",}, url="https://www.mediawiki.org/wiki/Extension:VIKI", ["license-name"]="MIT", descriptionmsg="viki-desc", type="parserhook", requires={ MediaWiki=">= 1.34.0", }, APIModules={ getContentNamespaces="ApiGetContentNamespaces", }, ExtensionMessagesFiles={ VIKIMagic="VIKI.i18n.magic.php", }, Hooks={ ParserFirstCallInit={ "VikiJS::efVIKIParserFunction_Setup",}, }, config={ VIKI_Hidden_Categories={ }, VIKI_Second_Order_Links=false, VIKI_Function_Hooks={ }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/VIKI", }, Variables={ name="Variables", version="2.5.1", author={ "Rob Adams","Tom Hempel","Xiloynaha","Daniel Werner","MGChecker","...",}, url="https://www.mediawiki.org/wiki/Extension:Variables", descriptionmsg="variables-desc", ["license-name"]="ISC", type="parserhook", requires={ MediaWiki=">= 1.29.0", }, config_prefix="eg", config={ VariablesDisabledFunctions={ value={ }, path=false, descriptionmsg="variables-config-disabledfunctions", public=true, }, VariablesAreVolatile={ value=true, path=false, descriptionmsg="variables-config-arevolatile", public=true, }, }, Hooks={ ParserFirstCallInit="VariablesHooks::onParserFirstCallInit", ParserClearState="VariablesHooks::onParserClearState", InternalParseBeforeSanitize="VariablesHooks::onInternalParseBeforeSanitize", }, ExtensionMessagesFiles={ VariablesMagic="Variables.i18n.magic.php", }, repository="https://phabricator.wikimedia.org/diffusion/EVAR/", composer="mediawiki/variables", }, VersionCompare={ name="VersionCompare", version="1.0", author={ "Cindy Cicalese",}, url="https://www.mediawiki.org/wiki/Extension:VersionCompare", descriptionmsg="version-compare-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.34.0", }, SpecialPages={ VersionCompare="SpecialVersionCompare", }, ExtensionMessagesFiles={ VersionCompareAlias="i18n/VersionCompare.i18n.alias.php", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/VersionCompare", }, Video={ name="Video", version="1.9.1", author={ "David Pean","Jack Phoenix","John Du Hart","Mainframe98",}, ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.35.3", }, url="https://www.mediawiki.org/wiki/Extension:Video", descriptionmsg="video-desc", type="other", SpecialPages={ AddVideo="AddVideo", NewVideos="NewVideos", Undelete="SpecialUndeleteWithVideoSupport", UnusedVideos="SpecialUnusedVideos", }, namespaces={ { id=400, constant="NS_VIDEO", name="Video", protection="addvideo", },{ id=401, constant="NS_VIDEO_TALK", name="Video_talk", },}, ExtensionMessagesFiles={ VideoAlias="includes/Video.alias.php", VideoNamespaces="includes/Video.namespaces.php", }, Hooks={ ArticleFromTitle={ "VideoHooks::videoFromTitle",}, ParserBeforeInternalParse={ "VideoHooks::videoTag",}, ParserBeforePreprocess={ "VideoHooks::videoTag",}, ParserFirstCallInit={ "VideoHooks::onParserFirstCallInit","VideoGalleryHooks::onParserFirstCallInit","VideoGalleryPopulateHooks::onParserFirstCallInit",}, ArticleDelete={ "VideoHooks::onVideoDelete",}, ["UndeleteForm::showRevision"]={ "VideoHooks::specialUndeleteSwitchArchive",}, ["UndeleteForm::showHistory"]={ "VideoHooks::specialUndeleteSwitchArchive",}, ["UndeleteForm::undelete"]={ "VideoHooks::specialUndeleteSwitchArchive",}, LoadExtensionSchemaUpdates={ "VideoHooks::onLoadExtensionSchemaUpdates",}, wgQueryPages={ "VideoHooks::onwgQueryPages",}, }, LogTypes={ "video",}, LogActionsHandlers={ ["video/*"]="LogFormatter", }, AvailableRights={ "addvideo",}, GroupPermissions={ ["*"]={ addvideo=false, }, user={ addvideo=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Video", }, VikiSemanticTitle={ name="VikiSemanticTitle", version="1.4.0", author="Jason Ji", url="https://www.mediawiki.org/wiki/Extension:VikiSemanticTitle", descriptionmsg="vikisemantictitle-desc", ["license-name"]="MIT", type="parserhook", requires={ MediaWiki=">= 1.31.0", }, Hooks={ ParserFirstCallInit={ "VikiSemanticTitle::efVikiSemanticTitle_AddResource",}, }, callback="VikiSemanticTitle::onRegistration", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/VikiSemanticTitle", }, VikiTitleIcon={ name="VikiTitleIcon", version="1.4.0", author="Jason Ji", url="https://www.mediawiki.org/wiki/Extension:VikiTitleIcon", descriptionmsg="vikititleicon-desc", type="parserhook", ["license-name"]="MIT", requires={ MediaWiki=">= 1.31.0", }, APIModules={ getTitleIcons="ApiGetTitleIcons", }, Hooks={ ParserFirstCallInit={ "VikiTitleIcon::efVikiTitleIcon_AddResource",}, }, callback="VikiTitleIcon::onRegistration", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/VikiTitleIcon", }, Vine={ name="Vine", version="1.2", author={ "Richard Cook",}, ["license-name"]="GPL-3.0+", url="https://www.mediawiki.org/wiki/Extension:Vine", descriptionmsg="vine-desc", type="parserhook", Hooks={ ParserFirstCallInit={ "Vine::setup",}, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Vine", }, VipsScaler={ name="VipsScaler", author={ "Bryan Tong Minh",}, url="https://www.mediawiki.org/wiki/Extension:VipsScaler", descriptionmsg="vipsscaler-desc", ["license-name"]="GPL-2.0-or-later", type="media", requires={ MediaWiki=">= 1.35.0", }, SpecialPages={ VipsTest="MediaWiki\\Extension\\VipsScaler\\SpecialVipsTest", }, GroupPermissions={ ["*"]={ ["vipsscaler-test"]=true, }, }, AvailableRights={ "vipsscaler-test",}, ExtensionMessagesFiles={ VipsScalerAlias="VipsScaler.alias.php", }, Hooks={ BitmapHandlerTransform={ "MediaWiki\\Extension\\VipsScaler\\VipsScaler::onTransform",}, BitmapHandlerCheckImageArea={ "MediaWiki\\Extension\\VipsScaler\\VipsScaler::onBitmapHandlerCheckImageArea",}, }, config={ VipsExposeTestPage={ value=false, }, VipsCommand={ value="/usr/bin/vips", }, VipsOptions={ value={ }, }, VipsThumbnailerHost={ value=nil, }, VipsTestExpiry={ value=3600, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/VipsScaler", }, VisualEditor={ name="VisualEditor", version="0.1.2", author={ "Alex Monk","Bartosz Dziewoński","C. Scott Ananian","Christian Williams","David Lynch","Ed Sanders","Inez Korczyński","James D. Forrester","Moriel Schottlender","Roan Kattouw","Rob Moen","Subramanya Sastry","Thalia Chan","Timo Tijhof","Trevor Parscal","...",}, url="https://www.mediawiki.org/wiki/Extension:VisualEditor", descriptionmsg="visualeditor-desc", ["license-name"]="MIT", type="editor", requires={ MediaWiki=">= 1.40.0", }, callback="MediaWiki\\Extension\\VisualEditor\\Hooks::onRegistration", ServiceWiringFiles={ "includes/ServiceWiring.php",}, config={ VisualEditorAllowExternalLinkPaste={ value=false, }, VisualEditorAvailableContentModels={ value={ wikitext="article", }, merge_strategy="array_plus", }, VisualEditorAvailableNamespaces={ value={ User=true, File=true, Category=true, }, merge_strategy="array_plus", }, VisualEditorBrowserUnsupportedList={ value={ firefox={ { "<=",11,},}, safari={ { "<=",6,},}, opera={ { "<",12,},}, }, }, VisualEditorDisableForAnons={ description="Do not change the edit tabs/links for anon users, regardless of other settings. Note that this does not actually disable the visual editor, contrary to the name, and you should probably set the user preferences so that wikitext editor is the default. (T253941)", value=false, }, VisualEditorEnableBetaFeature={ value=false, }, VisualEditorEnableDiffPage={ value=false, }, VisualEditorEnableDiffPageBetaFeature={ value=false, }, VisualEditorEnableTocWidget={ value=false, }, VisualEditorEnableVisualSectionEditing={ value="mobile", }, VisualEditorEnableWikitext={ value=false, }, VisualEditorEnableWikitextBetaFeature={ value=false, }, VisualEditorFeedbackAPIURL={ value=false, }, VisualEditorFeedbackTitle={ value=false, }, VisualEditorFullRestbaseURL={ value=false, }, VisualEditorParsoidAutoConfig={ value=true, description="Deprecated since MW 1.40. Unused.", }, VisualEditorDefaultParsoidClient={ value="vrs", description="Sets the mechanism used by the VE API to talk to Parsoid. This should be removed as soon as the direct mode is stable.", }, VisualEditorParsoidSettings={ value={ }, }, VisualEditorPluginModules={ value={ }, }, VisualEditorPreferenceModules={ value={ ["visualeditor-enable-experimental"]="ext.visualEditor.experimental", }, }, VisualEditorPreloadModules={ value={ "site","user",}, }, VisualEditorRebaserURL={ value=false, }, VisualEditorRestbaseURL={ value=false, }, VisualEditorShowBetaWelcome={ value=true, }, VisualEditorSingleEditTabSwitchTime={ value=20160101000000, }, VisualEditorSingleEditTabSwitchTimeEnd={ value=20210101000000, }, VisualEditorSkinToolbarScrollOffset={ value={ }, }, VisualEditorSourceFeedbackTitle={ value=false, }, VisualEditorTabMessages={ value={ edit=nil, editsource="visualeditor-ca-editsource", create=nil, createsource="visualeditor-ca-createsource", editlocaldescription="edit-local", editlocaldescriptionsource="visualeditor-ca-editlocaldescriptionsource", createlocaldescription="create-local", createlocaldescriptionsource="visualeditor-ca-createlocaldescriptionsource", editsection="editsection", editsectionsource="visualeditor-ca-editsource-section", }, }, VisualEditorTabPosition={ value="before", }, VisualEditorTransitionDefault={ value=false, }, VisualEditorUseChangeTagging={ value=true, }, VisualEditorUseSingleEditTab={ value=false, }, }, APIModules={ visualeditor={ class="MediaWiki\\Extension\\VisualEditor\\ApiVisualEditor", services={ "RevisionLookup","UserNameUtils","Parser","LinkRenderer","UserOptionsLookup","WatchlistManager","ContentTransformer","SpecialPageFactory","ReadOnlyMode","RestrictionStore","StatsdDataFactory","WikiPageFactory","HookContainer","UserFactory","VisualEditor.ParsoidClientFactory",}, }, visualeditoredit={ class="MediaWiki\\Extension\\VisualEditor\\ApiVisualEditorEdit", services={ "VisualEditorHookRunner","RevisionLookup","StatsdDataFactory","PageEditStash","SkinFactory","WikiPageFactory","VisualEditor.ParsoidClientFactory",}, }, }, ExtensionMessagesFiles={ VisualEditorAlias="VisualEditor.i18n.alias.php", }, Hooks={ BeforeInitialize="MediaWiki\\Extension\\VisualEditor\\Hooks::onBeforeInitialize", BeforePageDisplay="MediaWiki\\Extension\\VisualEditor\\Hooks::onBeforePageDisplay", ChangeTagsListActive="MediaWiki\\Extension\\VisualEditor\\Hooks::onListDefinedTags", CustomEditor="MediaWiki\\Extension\\VisualEditor\\Hooks::onCustomEditor", DifferenceEngineViewHeader="MediaWiki\\Extension\\VisualEditor\\Hooks::onDifferenceEngineViewHeader", ["EditPage::showEditForm:fields"]="MediaWiki\\Extension\\VisualEditor\\Hooks::onEditPageShowEditFormFields", GetBetaFeaturePreferences="MediaWiki\\Extension\\VisualEditor\\Hooks::onGetBetaPreferences", GetPreferences="MediaWiki\\Extension\\VisualEditor\\Hooks::onGetPreferences", ListDefinedTags="MediaWiki\\Extension\\VisualEditor\\Hooks::onListDefinedTags", MakeGlobalVariablesScript="MediaWiki\\Extension\\VisualEditor\\Hooks::onMakeGlobalVariablesScript", OutputPageBodyAttributes="MediaWiki\\Extension\\VisualEditor\\Hooks::onOutputPageBodyAttributes", ParserTestGlobals="MediaWiki\\Extension\\VisualEditor\\Hooks::onParserTestGlobals", PreferencesFormPreSave="MediaWiki\\Extension\\VisualEditor\\Hooks::onPreferencesFormPreSave", RecentChange_save="MediaWiki\\Extension\\VisualEditor\\Hooks::onRecentChangeSave", RedirectSpecialArticleRedirectParams="MediaWiki\\Extension\\VisualEditor\\Hooks::onRedirectSpecialArticleRedirectParams", ResourceLoaderGetConfigVars="MediaWiki\\Extension\\VisualEditor\\Hooks::onResourceLoaderGetConfigVars", ResourceLoaderRegisterModules="MediaWiki\\Extension\\VisualEditor\\Hooks::onResourceLoaderRegisterModules", SkinEditSectionLinks="MediaWiki\\Extension\\VisualEditor\\Hooks::onSkinEditSectionLinks", ["SkinTemplateNavigation::Universal"]={ "MediaWiki\\Extension\\VisualEditor\\Hooks::onSkinTemplateNavigation","MediaWiki\\Extension\\VisualEditor\\SpecialCollabPad::onSkinTemplateNavigationSpecialPage",}, UserLoggedIn="MediaWiki\\Extension\\VisualEditor\\Hooks::onUserLoggedIn", }, QUnitTestModule={ localBasePath="", remoteExtPath="VisualEditor", styles="lib/ve/lib/jsdifflib/diffview.css", scripts={ "lib/proposal-promise-finally/polyfill.js","modules/ve-mw/tests/mw-preload.js","lib/ve/lib/jsdifflib/diffview.js","lib/ve/lib/jsdifflib/difflib.js","lib/ve/tests/ve.qunit.js","lib/ve/tests/ve.test.utils.js","modules/ve-mw/tests/ve.test.utils.js","lib/ve/tests/ve.test.js","modules/ve-mw/tests/preinit/ve.utils.parsoid.test.js","lib/ve/tests/ve.DiffMatchPatch.test.js","lib/ve/tests/ve.EventSequencer.test.js","lib/ve/tests/ve.Scheduler.test.js","lib/ve/tests/ve.Range.test.js","lib/ve/tests/ve.Document.test.js","lib/ve/tests/ve.Node.test.js","lib/ve/tests/ve.BranchNode.test.js","lib/ve/tests/ve.LeafNode.test.js","lib/ve/tests/dm/ve.dm.example.js","lib/ve/tests/dm/ve.dm.example.StubReferenceNode.js","lib/ve/tests/dm/ve.dm.Annotation.test.js","lib/ve/tests/dm/ve.dm.AnnotationSet.test.js","lib/ve/tests/dm/ve.dm.LinkAnnotation.test.js","lib/ve/tests/dm/ve.dm.NodeFactory.test.js","lib/ve/tests/dm/ve.dm.Node.test.js","lib/ve/tests/dm/ve.dm.Converter.test.js","lib/ve/tests/dm/ve.dm.SourceConverter.test.js","lib/ve/tests/dm/ve.dm.BranchNode.test.js","lib/ve/tests/dm/ve.dm.LeafNode.test.js","lib/ve/tests/dm/nodes/ve.dm.TextNode.test.js","modules/ve-mw/tests/dm/nodes/ve.dm.MWTransclusionNode.test.js","lib/ve/tests/dm/ve.dm.Document.test.js","modules/ve-mw/tests/dm/ve.dm.Document.test.js","lib/ve/tests/dm/ve.dm.HashValueStore.test.js","lib/ve/tests/dm/ve.dm.InternalList.test.js","lib/ve/tests/dm/ve.dm.LinearData.test.js","lib/ve/tests/dm/ve.dm.Transaction.test.js","lib/ve/tests/dm/ve.dm.TransactionBuilder.test.js","lib/ve/tests/dm/ve.dm.Change.test.js","lib/ve/tests/dm/ve.dm.TreeModifier.test.js","lib/ve/tests/dm/ve.dm.TransactionProcessor.test.js","lib/ve/tests/dm/ve.dm.Surface.test.js","lib/ve/tests/dm/ve.dm.SurfaceFragment.test.js","modules/ve-mw/tests/dm/ve.dm.SurfaceFragment.test.js","lib/ve/tests/dm/ve.dm.SourceSurfaceFragment.test.js","lib/ve/tests/dm/ve.dm.ModelRegistry.test.js","lib/ve/tests/dm/ve.dm.MetaList.test.js","lib/ve/tests/dm/ve.dm.Scalable.test.js","lib/ve/tests/dm/selections/ve.dm.LinearSelection.test.js","lib/ve/tests/dm/selections/ve.dm.NullSelection.test.js","lib/ve/tests/dm/selections/ve.dm.TableSelection.test.js","lib/ve/tests/dm/lineardata/ve.dm.FlatLinearData.test.js","lib/ve/tests/dm/lineardata/ve.dm.ElementLinearData.test.js","modules/ve-mw/tests/dm/ve.dm.mwExample.js","modules/ve-mw/tests/dm/ve.dm.Converter.test.js","modules/ve-mw/tests/dm/annotations/ve.dm.MWInternalLinkAnnotation.test.js","modules/ve-mw/tests/dm/models/ve.dm.MWImageModel.test.js","modules/ve-mw/tests/dm/models/ve.dm.MWTemplateModel.test.js","modules/ve-mw/tests/dm/models/ve.dm.MWTemplateSpecModel.test.js","modules/ve-mw/tests/dm/models/ve.dm.MWTransclusionContentModel.test.js","modules/ve-mw/tests/dm/models/ve.dm.MWTransclusionModel.test.js","lib/ve/tests/ce/ve.ce.test.js","lib/ve/tests/ce/ve.ce.Document.test.js","modules/ve-mw/tests/ce/ve.ce.Document.test.js","lib/ve/tests/ce/ve.ce.Surface.test.js","modules/ve-mw/tests/ce/ve.ce.Surface.test.js","lib/ve/tests/ce/ve.ce.RangeState.test.js","lib/ve/tests/ce/ve.ce.TextState.test.js","lib/ve/tests/ce/ve.ce.NodeFactory.test.js","lib/ve/tests/ce/ve.ce.AnnotationFactory.test.js","lib/ve/tests/ce/ve.ce.Node.test.js","lib/ve/tests/ce/ve.ce.BranchNode.test.js","lib/ve/tests/ce/ve.ce.ContentBranchNode.test.js","modules/ve-mw/tests/ce/ve.ce.ContentBranchNode.test.js","lib/ve/tests/ce/ve.ce.LeafNode.test.js","lib/ve/tests/ce/ve.ce.Selection.test.js","lib/ve/tests/ce/keydownhandlers/ve.ce.LinearArrowKeyDownHandler.test.js","lib/ve/tests/ce/keydownhandlers/ve.ce.LinearDeleteKeyDownHandler.test.js","lib/ve/tests/ce/keydownhandlers/ve.ce.LinearEnterKeyDownHandler.test.js","lib/ve/tests/ce/keydownhandlers/ve.ce.LinearEscapeKeyDownHandler.test.js","lib/ve/tests/ce/keydownhandlers/ve.ce.TableArrowKeyDownHandler.test.js","lib/ve/tests/ce/keydownhandlers/ve.ce.TableDeleteKeyDownHandler.test.js","lib/ve/tests/ce/keydownhandlers/ve.ce.TableEnterKeyDownHandler.test.js","lib/ve/tests/ce/keydownhandlers/ve.ce.TableF2KeyDownHandler.test.js","lib/ve/tests/ce/nodes/ve.ce.ResizableNode.test.js","lib/ve/tests/ce/nodes/ve.ce.TextNode.test.js","lib/ve/tests/ce/nodes/ve.ce.TableNode.test.js","lib/ve/tests/ui/ve.ui.Trigger.test.js","lib/ve/tests/ui/ve.ui.Sequence.test.js","lib/ve/tests/ui/ve.ui.DiffElement.test.js","lib/ve/tests/ui/ve.ui.PreviewElement.test.js","modules/ve-mw/tests/ui/ve.ui.DiffElement.test.js","lib/ve/tests/ui/actions/ve.ui.AnnotationAction.test.js","lib/ve/tests/ui/actions/ve.ui.BlockquoteAction.test.js","lib/ve/tests/ui/actions/ve.ui.ContentAction.test.js","lib/ve/tests/ui/actions/ve.ui.FormatAction.test.js","modules/ve-mw/tests/ui/actions/ve.ui.FormatAction.test.js","lib/ve/tests/ui/actions/ve.ui.IndentationAction.test.js","lib/ve/tests/ui/actions/ve.ui.LinkAction.test.js","modules/ve-mw/tests/ui/actions/ve.ui.MWLinkAction.test.js","lib/ve/tests/ui/actions/ve.ui.ListAction.test.js","lib/ve/tests/ui/actions/ve.ui.TableAction.test.js","lib/ve/tests/ui/actions/ve.ui.WindowAction.test.js","lib/ve/tests/ui/ve.ui.DataTransferHandlerFactory.test.js","lib/ve/tests/ui/datatransferhandlers/ve.ui.DSVFileTransferHandler.test.js","lib/ve/tests/ui/datatransferhandlers/ve.ui.UrlStringTransferHandler.test.js","modules/ve-mw/tests/ui/datatransferhandlers/ve.ui.MWWikitextStringTransferHandler.test.js","modules/ve-mw/tests/ui/datatransferhandlers/ve.ui.UrlStringTransferHandler.test.js","modules/ve-mw/tests/ui/dialogs/ve.ui.MWTransclusionDialog.test.js","modules/ve-mw/tests/init/targets/ve.init.mw.DesktopArticleTarget.test.js","lib/ve/tests/ui/inspectors/ve.ui.FragmentInspector.test.js","modules/ve-mw/tests/ui/inspectors/ve.ui.FragmentInspector.test.js","modules/ve-mw/tests/ui/layouts/ve.ui.MWTwoPaneTransclusionDialogLayout.test.js","modules/ve-mw/tests/ui/pages/ve.ui.MWAddParameterPage.test.js","modules/ve-mw/tests/ui/pages/ve.ui.MWParameterPage.test.js","modules/ve-mw/tests/ui/widgets/ve.ui.MWParameterCheckboxInputWidget.test.js","modules/ve-mw/tests/ui/widgets/ve.ui.MWTemplateTitleInputWidget.test.js","modules/ve-mw/tests/ui/widgets/ve.ui.MWTransclusionOutlineButtonWidget.test.js","modules/ve-mw/tests/ui/widgets/ve.ui.MWTransclusionOutlineParameterSelectWidget.test.js","modules/ve-mw/tests/ui/widgets/ve.ui.MWTransclusionOutlineParameterWidget.test.js","modules/ve-mw/tests/ui/widgets/ve.ui.MWTransclusionOutlinePartWidget.test.js","modules/ve-mw/tests/ui/widgets/ve.ui.MWTransclusionOutlinePlaceholderWidget.test.js","modules/ve-mw/tests/ui/widgets/ve.ui.MWTransclusionOutlineTemplateWidget.test.js","modules/ve-mw/tests/ui/widgets/ve.ui.MWTransclusionOutlineWidget.test.js","lib/ve/tests/ce/ve.ce.TestRunner.js","lib/ve/tests/ce/ve.ce.imetests.test.js","lib/ve/tests/ce/imetests/backspace-chromium-ubuntu-none.js","lib/ve/tests/ce/imetests/backspace-firefox-ubuntu-none.js","lib/ve/tests/ce/imetests/backspace-ie9-win7-none.js","lib/ve/tests/ce/imetests/home-firefox-win7-none.js","lib/ve/tests/ce/imetests/input-chrome-mac-native-japanese-hiragana.js","lib/ve/tests/ce/imetests/input-chrome-mac-native-japanese-katakana.js","lib/ve/tests/ce/imetests/input-chrome-win7-chinese-traditional-handwriting.js","lib/ve/tests/ce/imetests/input-chrome-win7-greek.js","lib/ve/tests/ce/imetests/input-chrome-win7-polish.js","lib/ve/tests/ce/imetests/input-chrome-win7-welsh.js","lib/ve/tests/ce/imetests/input-chromium-ubuntu-ibus-chinese-cantonese.js","lib/ve/tests/ce/imetests/input-chromium-ubuntu-ibus-japanese-anthy--hiraganaonly.js","lib/ve/tests/ce/imetests/input-chromium-ubuntu-ibus-japanese-mozc.js","lib/ve/tests/ce/imetests/input-chromium-ubuntu-ibus-korean-korean.js","lib/ve/tests/ce/imetests/input-chromium-ubuntu-ibus-malayalam-swanalekha.js","lib/ve/tests/ce/imetests/input-firefox-mac-native-japanese-hiragana.js","lib/ve/tests/ce/imetests/input-firefox-mac-native-japanese-katakana.js","lib/ve/tests/ce/imetests/input-firefox-ubuntu-ibus-chinese-cantonese.js","lib/ve/tests/ce/imetests/input-firefox-ubuntu-ibus-japanese-anthy--hiraganaonly.js","lib/ve/tests/ce/imetests/input-firefox-ubuntu-ibus-japanese-mozc.js","lib/ve/tests/ce/imetests/input-firefox-ubuntu-ibus-korean-korean.js","lib/ve/tests/ce/imetests/input-firefox-ubuntu-ibus-malayalam.swanalekha.js","lib/ve/tests/ce/imetests/input-firefox-win7-chinese-traditional-handwriting.js","lib/ve/tests/ce/imetests/input-firefox-win7-greek.js","lib/ve/tests/ce/imetests/input-firefox-win7-welsh.js","lib/ve/tests/ce/imetests/input-ie9-win7-chinese-traditional-handwriting.js","lib/ve/tests/ce/imetests/input-ie9-win7-greek.js","lib/ve/tests/ce/imetests/input-ie9-win7-korean.js","lib/ve/tests/ce/imetests/input-ie9-win7-welsh.js","lib/ve/tests/ce/imetests/input-ie11-win8.1-korean.js","lib/ve/tests/ce/imetests/input-safari-mac-native-japanese-hiragana.js","lib/ve/tests/ce/imetests/input-safari-mac-native-japanese-katakana.js","lib/ve/tests/ce/imetests/leftarrow-chromium-ubuntu-none.js","lib/ve/tests/ce/imetests/leftarrow-firefox-ubuntu-none.js","lib/ve/tests/ce/imetests/leftarrow-ie9-win7-none.js","lib/ve/src/ve.freeze.js","lib/ve/rebaser/src/dm/ve.dm.RebaseServer.js","lib/ve/tests/dm/ve.dm.TestRebaseClient.js","lib/ve/tests/dm/ve.dm.TestRebaseServer.js",}, dependencies={ "unicodejs","ext.visualEditor.core","ext.visualEditor.mwcore","ext.visualEditor.mwformatting","ext.visualEditor.mwlink","ext.visualEditor.mwgallery","ext.visualEditor.mwimage","ext.visualEditor.mwmeta","ext.visualEditor.mwtransclusion","ext.visualEditor.mwalienextension","ext.visualEditor.mwwikitext","ext.visualEditor.language","ext.visualEditor.experimental","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.desktopArticleTarget","ext.visualEditor.rebase",}, }, DefaultUserOptions={ ["visualeditor-autodisable"]=0, ["visualeditor-betatempdisable"]=0, ["visualeditor-editor"]="wikitext", ["visualeditor-enable"]=1, ["visualeditor-enable-experimental"]=0, ["visualeditor-enable-language"]=0, ["visualeditor-hidebetawelcome"]=0, ["visualeditor-hidetabdialog"]=0, ["visualeditor-newwikitext"]=0, ["visualeditor-tabs"]="remember-last", ["visualeditor-visualdiffpage"]=0, }, SpecialPages={ CollabPad="MediaWiki\\Extension\\VisualEditor\\SpecialCollabPad", }, ConfigRegistry={ visualeditor="GlobalVarConfig::newInstance", }, attributes={ EventLogging={ Schemas={ VisualEditorTemplateDialogUse="/analytics/legacy/visualeditortemplatedialoguse/1.0.0", }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor", }, VoteNY={ name="VoteNY", version="3.2", author={ "Aaron Wright","David Pean","Jack Phoenix",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:VoteNY", descriptionmsg="voteny-desc", type="parserhook", requires={ MediaWiki=">= 1.35.3", }, SpecialPages={ TopRatings="SpecialTopRatings", }, APIModules={ voteny="ApiVoteNY", }, ExtensionMessagesFiles={ VoteNYAlias="includes/VoteNY.alias.php", VoteNYMagic="includes/VoteNY.i18n.magic.php", }, Hooks={ ParserFirstCallInit={ "VoteNYHooks::registerParserHook","VoteNYHooks::setupNumberOfVotesPageParser",}, RenameUserSQL="VoteNYHooks::onUserRename", ParserGetVariableValueSwitch="VoteNYHooks::assignValueToMagicWord", MagicWordwgVariableIDs="VoteNYHooks::registerVariableId", LoadExtensionSchemaUpdates="VoteNYHooks::addTable", }, AvailableRights={ "voteny",}, GroupPermissions={ ["*"]={ voteny=false, }, user={ voteny=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/VoteNY", }, VueTest={ name="VueTest", author={ "Eric Gardner",}, url="https://www.mediawiki.org/wiki/Extension:VueTest", descriptionmsg="vuetest-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.32.0", }, config={ }, Hooks={ BeforePageDisplay="MediaWiki\\Extension\\VueTest\\Hooks::onBeforePageDisplay", }, ExtensionMessagesFiles={ VueTestAlias="VueTest.alias.php", }, SpecialPages={ VueTest="MediaWiki\\Extension\\VueTest\\SpecialVueTest", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/VueTest", }, WSOAuth={ name="WSOAuth", version="7.0.0", namemsg="wsoauth-extensionname", url="https://www.mediawiki.org/wiki/Extension:WSOAuth", type="other", author={ "Marijn van Wezel",}, descriptionmsg="wsoauth-desc", ["license-name"]="MIT", requires={ MediaWiki=">= 1.35.0", extensions={ PluggableAuth=">= 6.0", }, }, ExtensionMessagesFiles={ WSOAuthAlias="WSOAuth.i18n.alias.php", }, Hooks={ PluggableAuthPopulateGroups="main", GetPreferences="main", LoadExtensionSchemaUpdates="SchemaUpdater", }, HookHandlers={ main={ class="\\WSOAuth\\WSOAuthHooks", services={ "PluggableAuthFactory","UserGroupManager",}, }, SchemaUpdater={ class="\\WSOAuth\\WSOAuthSchemaUpdater", }, }, config={ OAuthCustomAuthProviders={ value=false, descriptionmsg="wsoauth-auth-providers-desc", }, OAuthAutoPopulateGroups={ value={ }, descriptionmsg="wsoauth-auto-populate-groups-desc", }, OAuthMigrateUsersByUsername={ value=false, descriptionmsg="wsoauth-migrate-users-by-username-desc", }, OAuthDisallowRemoteOnlyAccounts={ value=false, descriptionmsg="wsoauth-disallow-remote-only-accounts-desc", }, OAuthUseRealNameAsUsername={ value=false, descriptionmsg="wsoauth-use-real-name-as-username-desc", }, }, SpecialPages={ WSOAuthConnectRemote="\\WSOAuth\\WSOAuthConnectRemoteSpecialPage", }, attributes={ PluggableAuth={ WSOAuth={ class="\\WSOAuth\\WSOAuth", services={ "UserNameUtils",}, }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WSOAuth", }, WantedPagesFromNS={ name="WantedPagesFromNS", version="1.2.0", author="Kazimierz Król", ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:WantedPagesFromNS", descriptionmsg="wpfromns-desc", type="parserhook", requires={ MediaWiki=">= 1.32.0", }, Hooks={ ParserFirstCallInit="WantedPagesFromNS::onParserFirstCallInit", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WantedPagesFromNS", }, WatchSubpages={ name="WatchSubpages", version="2.5.0", author="Prod", url="https://www.mediawiki.org/wiki/Extension:WatchSubpages", descriptionmsg="watchsubpages-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.37.0", }, AvailableRights={ "watchsubpages",}, GroupPermissions={ user={ watchsubpages=true, }, }, SpecialPages={ WatchSubpages={ class="WatchSubpages", services={ "DBLoadBalancer","WatchedItemStore","TitleParser","GenderCache","LinkBatchFactory","NamespaceInfo","WikiPageFactory","SearchEngineFactory",}, }, }, ExtensionMessagesFiles={ WatchSubpagesAlias="WatchSubpages.alias.php", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WatchSubpages", }, WebAuthn={ name="WebAuthn", version="1.0.0", author={ "Robert Vogel ","Dejan Savuljesku <savuljesku@hallowelt.com>",}, url="https://www.mediawiki.org/wiki/Extension:WebAuthn", descriptionmsg="webauthn-desc", type="other", attributes={ OATHAuth={ Modules={ webauthn="MediaWiki\\Extension\\WebAuthn\\Module\\WebAuthn::factory", }, }, }, requires={ MediaWiki=">= 1.35.0", extensions={ OATHAuth=">= 0.4.4", }, }, ["license-name"]="GPL-2.0-or-later AND GPL-3.0-or-later", config={ WebAuthnRelyingPartyName={ value=nil, }, WebAuthnRelyingPartyID={ value=nil, }, }, APIModules={ webauthn="\\MediaWiki\\Extension\\WebAuthn\\Api\\WebAuthn", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WebAuthn", }, WebChat={ name="WebChat", version="1.4.0", author={ "Robert Leverington","Marco 27",}, url="https://www.mediawiki.org/wiki/Extension:WebChat", descriptionmsg="webchat-desc", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.34.0", }, GroupPermissions={ ["*"]={ webchat=false, }, user={ webchat=true, }, sysop={ webchat=true, }, }, AvailableRights={ "webchat",}, SpecialPages={ WebChat="WebChat", }, ExtensionMessagesFiles={ WebChatAlias="WebChat.alias.php", }, config={ WebChatServer={ value="", description="IRC Server to connect to, not required when using the freenodeChat web client.", }, WebChatChannel={ value="", description="Channel to connect to.", }, WebChatClient={ value="", description="Which web chat client to use, 'freenodeChat' is required when connecting to freenode, but 'Mibbit' can be used for other networks.", }, WebChatClients={ value={ Mibbit={ url="//embed.mibbit.com/index.html", parameters={ noServerMotd="true", server="$$$server$$$", channel="$$$channel$$$", nick="$$$nick$$$", }, }, freenodeChat={ url="//webchat.freenode.net/", parameters={ channels="$$$channel$$$", nick="$$$nick$$$", }, }, LiberaChat={ url="//web.libera.chat/", parameters={ nick="$$$nick$$$", }, hash="$$$channel$$$", }, }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WebChat", }, WebDAV={ name="WebDAV", version="3.1.0", author={ "Robert Vogel (Hallo Welt! GmbH)","Dejan Savuljesku (Hallo Welt! GmbH)",}, url="https://www.mediawiki.org/wiki/Extension:WebDAV", descriptionmsg="webdav-desc", type="other", ["license-name"]="GPL-3.0-only", requires={ MediaWiki=">= 1.37.0", }, attributes={ BlueSpicePrivacy={ Handlers={ "\\MediaWiki\\Extension\\WebDAV\\Privacy\\Handler",}, }, WebDAV={ CredentialAuthProviders={ ["mw-auth"]={ class="MediaWiki\\Extension\\WebDAV\\CredentialAuthProvider\\MediaWikiAuth", }, }, }, }, callback="\\MediaWiki\\Extension\\WebDAV\\Extension::onRegistration", ServiceWiringFiles={ "includes/WebDAVWiring.php",}, Hooks={ LoadExtensionSchemaUpdates="WebDAVHooks::onLoadExtensionSchemaUpdates", WebDAVPlugins="WebDAVHooks::onWebDAVPlugins", WebDAVLocksUnlock="WebDAVHooks::onWebDAVLocksUnlock", GetPreferences="WebDAVHooks::onGetPreferences", }, ConfigRegistry={ webdav="GlobalVarConfig::newInstance", }, config={ WebDAVRootNode={ value="WebDAVNamespacesCollection", }, WebDAVAuthType={ value="none", }, WebDAVServer={ value="", }, WebDAVBaseUri={ value="", }, WebDAVUrlBaseUri={ value="", }, WebDAVSkipTalkNS={ value=false, }, WebDAVSkipNamespaces={ value={ -1,}, }, WebDAVNamespaceCollections={ value={ }, }, WebDAVInvalidFileNameCharsRegEx={ description="See http://sabre.io/dav/character-encoding/", value="#[:|/|\\\\\\|\\*|\\?|\"|\\||\\#|<|>]#si", }, WebDAVLockTimeOut={ description="Defaults to 30 minutes", value=1800, }, WebDAVTokenExpiration={ description="Defaults to 24 hours", value=86400, }, WebDAVStaticTokenExpiration={ value=2, }, WebDAVUserNameAsStaticToken={ value=false, }, WebDAVInvalidateTokenOnUnlock={ value=true, }, WebDAVCredentialAuthProvider={ description="Which of the registered credential auth providers to use", value="mw-auth", }, }, composer="mediawiki/webdav", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WebDAV", }, WebToolsManager={ name="WebToolsManager", url="https://www.mediawiki.org/wiki/Extension:WebToolsManager", author="Moriel Schottlender", version="1.0.0", ["license-name"]="GPL-3.0-or-later", namemsg="webtoolsmanager-name", descriptionmsg="webtoolsmanager-desc", QUnitTestModule={ localBasePath="", remoteExtPath="WebToolsManager", scripts={ "tests/WebToolsManager.test.js",}, dependencies={ "ext.webToolsManager.specialPage",}, }, SpecialPages={ WebToolsManager="MediaWiki\\Extension\\WebToolsManager\\SpecialWebToolsManager", }, ExtensionMessagesFiles={ WebToolsManagerAlias="WebToolsManager.alias.php", }, callback="MediaWiki\\Extension\\WebToolsManager\\Hooks::registerExtension", Hooks={ BeforePageDisplay={ "MediaWiki\\Extension\\WebToolsManager\\Hooks::onBeforePageDisplay",}, PersonalUrls={ "MediaWiki\\Extension\\WebToolsManager\\Hooks::onPersonalUrls",}, LoadExtensionSchemaUpdates={ "MediaWiki\\Extension\\WebToolsManager\\Hooks::onLoadExtensionSchemaUpdates",}, }, config={ WebToolsManagerAllowGoogleAnalytics={ value=false, }, }, ConfigRegistry={ webtoolsmanager="GlobalVarConfig::newInstance", }, GroupPermissions={ sysop={ webtoolsmanagement=true, }, }, requires={ MediaWiki=">= 1.31.0", }, AvailableRights={ "webtoolsmanagement",}, type="other", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WebToolsManager", }, WhiteSpace={ name="WhiteSpace", version="0.1.0", author={ "Van de Bugger",}, url="https://www.mediawiki.org/wiki/Extension:WhiteSpace", descriptionmsg="whitespace-desc", ["license-name"]="AGPL-3.0-only", type="parserhook", requires={ MediaWiki=">= 1.29.0", }, Hooks={ ParserBeforePreprocess="WhiteSpace::onParserBeforeInternalParse", ParserBeforeInternalParse="WhiteSpace::onParserBeforeInternalParse", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WhiteSpace", }, Whitelist_Pages={ name="Whitelist Pages", version="0.5.1", author={ "Jack Phoenix","Misza",}, url="https://www.mediawiki.org/wiki/Extension:Whitelist_Pages", descriptionmsg="whitelistpages-desc", type="other", requires={ MediaWiki=">= 1.34.0", }, Hooks={ TitleReadWhitelist="WhitelistPages::onTitleReadWhitelist", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WhitelistPages", }, WhoIsWatching={ name="WhoIsWatching", version="0.13.0", ["license-name"]="GPL-2.0-only", author={ "Paul Grinberg","Siebrand Mazeland","Vitaliy Filippov","Mark A. Hershberger",}, requires={ MediaWiki=">= 1.34.0", extensions={ Echo="*", }, }, url="https://www.mediawiki.org/wiki/Extension:WhoIsWatching", descriptionmsg="whoiswatching-desc", type="specialpage", SpecialPages={ WhoIsWatching="MediaWiki\\Extension\\WhoIsWatching\\SpecialPage", }, ExtensionMessagesFiles={ WhoIsWatchingAlias="src/i18n/Alias.php", WhoIsWatchingMagic="src/i18n/Magic.php", }, Hooks={ BeforeCreateEchoEvent={ "MediaWiki\\Extension\\WhoIsWatching\\Hook::onBeforeCreateEchoEvent",}, EchoGetBundleRules={ "MediaWiki\\Extension\\WhoIsWatching\\Hook::onEchoGetBundleRules",}, SkinAddFooterLinks={ "MediaWiki\\Extension\\WhoIsWatching\\Hook::onSkinAddFooterLinks",}, ParserFirstCallInit={ "MediaWiki\\Extension\\WhoIsWatching\\Hook::onParserSetup",}, }, GroupPermissions={ sysop={ addpagetoanywatchlist=true, removepagefromanywatchlist=true, seepagewatchers=true, }, }, AvailableRights={ "addpagetoanywatchlist","removepagefromanywatchlist","seepagewatchers",}, DefaultUserOptions={ ["echo-subscriptions-email-whoiswatching"]=true, ["echo-subscriptions-web-whoiswatching"]=true, }, config={ ["_prefix"]="whoiswatching_", nametype="RealName", allowaddingpeople=false, showifzero=true, showwatchingusers=false, maxPicklistUsers=10, notificationTypes={ add=true, remove=true, }, }, composer="mediawiki/who-is-watching", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WhoIsWatching", }, WhosOnline={ name="WhosOnline", version="1.8.0", author={ "Maciej Brencz","Maciej Błaszkowski",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:WhosOnline", descriptionmsg="whosonline-desc", type="specialpage", requires={ MediaWiki=">= 1.35.3", }, config={ WhosOnlinePerWiki={ value=true, path=false, description="If true, only show records related to the current wiki. Set this to false if you run a wiki farm and you'd like to look up results on every wiki and display only one record for one user (the newest).", public=false, }, WhosOnlineShowAnons={ value=false, path=false, description="Show anonymous, unregistered users on Special:WhosOnline/on the output of the API query?", public=false, }, WhosOnlineShowRealName={ value=false, path=false, description="Show users' real names instead of their on-wiki user names in lists like on the Special:WhosOnline page or API query output?", public=false, }, WhosOnlineTimeout={ value=3600, path=false, description="Seconds for how long to store data in cache, i.e. users who have been active within past this many seconds are considered to be online", public=false, }, }, APIListModules={ whosonline={ class="ApiQueryWhosOnline", services={ "MainWANObjectCache",}, }, }, SpecialPages={ WhosOnline="SpecialWhosOnline", }, ExtensionMessagesFiles={ WhosOnlineAlias="WhosOnline.alias.php", }, Hooks={ BeforePageDisplay="WhosOnlineHooks::onBeforePageDisplay", LoadExtensionSchemaUpdates="WhosOnlineHooks::onLoadExtensionSchemaUpdates", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WhosOnline", }, Widgets={ name="Widgets", version="1.4.1", author={ "Sergey Chernyshev","Yaron Koren","...",}, url="https://www.mediawiki.org/wiki/Extension:Widgets", descriptionmsg="widgets-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.30.0", }, config={ WidgetsUseFlaggedRevs={ value=false, path=false, descriptionmsg="widgets-config-useflaggedrevs", public=true, }, WidgetsCompileDir={ value="compiled_templates/", path=true, descriptionmsg="widgets-config-compiledir", public=false, }, }, namespaces={ { id=274, constant="NS_WIDGET", name="Widget", protection="editwidgets", },{ id=275, constant="NS_WIDGET_TALK", name="Widget_talk", subpages=true, },}, Hooks={ ParserFirstCallInit="WidgetInitializer::initParserFunctions", ParserAfterTidy="WidgetRenderer::outputCompiledWidget", }, AvailableRights={ "editwidgets",}, GroupPermissions={ ["*"]={ editwidgets=false, }, widgeteditor={ editwidgets=true, }, sysop={ editwidgets=true, }, }, ExtensionMessagesFiles={ WidgetsMagic="Widgets.i18n.magic.php", WidgetsNamespaces="Widgets.i18n.namespaces.php", }, callback="WidgetInitializer::init", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Widgets", }, Wigo3={ name="Wigo3", type="parserhook", author={ "Nx","Trent Toulouse","Tim Starling",}, version="5.0.0", descriptionmsg="wigo3-description", requires={ MediaWiki=">= 1.35.3", }, APIListModules={ wigo="Wigo3\\ApiWigo", wigovotes="Wigo3\\ApiWigoVotes", }, ExtensionMessagesFiles={ Wigo3Magic="wigo3.i18n.magic.php", }, Hooks={ LoadExtensionSchemaUpdates="Wigo3\\Hooks::onLoadExtensionSchemaUpdates", ParserFirstCallInit="Wigo3\\Hooks::onParserFirstCallInit", ParserPreSaveTransformComplete="Wigo3\\Hooks::onParserPreSaveTransformComplete", RevisionDataUpdates="Wigo3\\Hooks::onRevisionDataUpdates", }, callback="Wigo3\\Hooks::onRegistration", config={ Wigo3ConfigStoreIPs={ value=true, description="Store IPs instead of usernames for logged in users too", }, Wigo3ReplaceNextpoll={ value=false, description="Replace nextpoll parameter on page save", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Wigo3", }, wikEdDiff={ name="wikEdDiff", version="1.2.5", author="Cacycle", url="https://www.mediawiki.org/wiki/Extension:wikEdDiff", descriptionmsg="wiked-diff-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.29.0", }, Hooks={ GetDifferenceEngine="WikEdDifferenceEngine::onGetDifferenceEngine", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikEdDiff", }, WikiCategoryTagCloud={ name="Wiki Category Tag Cloud", version="1.4", author={ "Daniel Friesen","Jack Phoenix",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:WikiCategoryTagCloud", descriptionmsg="wikicategorytagcloud-desc", type="parserhook", requires={ MediaWiki=">= 1.34.0", }, Hooks={ PageContentSave={ "WikiCategoryTagCloud::invalidateCache",}, ParserFirstCallInit={ "WikiCategoryTagCloud::register",}, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiCategoryTagCloud", }, WikiEditor={ name="WikiEditor", version="0.5.3", author={ "Derk-Jan Hartman","Trevor Parscal","Roan Kattouw","Nimish Gautam","Adam Miller",}, url="https://www.mediawiki.org/wiki/Extension:WikiEditor", descriptionmsg="wikieditor-desc", ["license-name"]="GPL-2.0-or-later", type="editor", requires={ MediaWiki=">= 1.39.0", }, Hooks={ ["EditPage::showEditForm:initial"]="WikiEditorHooks", GetPreferences="WikiEditorHooks", ["EditPage::showEditForm:fields"]="WikiEditorHooks", ["EditPage::attemptSave"]="WikiEditorHooks", ["EditPage::attemptSave:after"]="WikiEditorHooks", EditPageGetPreviewContent="WikiEditorHooks", ListDefinedTags="WikiEditorHooks", ChangeTagsListActive="WikiEditorHooks", RecentChange_save="WikiEditorHooks", GetBetaFeaturePreferences="MediaWiki\\Extension\\WikiEditor\\Hooks::onGetBetaFeaturePreferences", }, HookHandlers={ WikiEditorHooks={ class="MediaWiki\\Extension\\WikiEditor\\Hooks", services={ "MainConfig","UserEditTracker","UserOptionsLookup",}, }, }, QUnitTestModule={ localBasePath="", remoteExtPath="WikiEditor", scripts="tests/qunit/ext.wikiEditor.toolbar.test.js", dependencies={ "ext.wikiEditor",}, }, DefaultUserOptions={ usebetatoolbar=true, ["wikieditor-realtimepreview"]=0, }, RawHtmlMessages={ "wikieditor-toolbar-help-heading-description","wikieditor-toolbar-help-heading-syntax","wikieditor-toolbar-help-heading-result","wikieditor-toolbar-help-page-format","wikieditor-toolbar-help-page-link","wikieditor-toolbar-help-page-heading","wikieditor-toolbar-help-page-list","wikieditor-toolbar-help-page-file","wikieditor-toolbar-help-page-reference","wikieditor-toolbar-help-page-discussion","wikieditor-toolbar-help-content-italic-description","wikieditor-toolbar-help-content-italic-syntax","wikieditor-toolbar-help-content-italic-result","wikieditor-toolbar-help-content-bold-description","wikieditor-toolbar-help-content-bold-syntax","wikieditor-toolbar-help-content-bold-result","wikieditor-toolbar-help-content-bolditalic-description","wikieditor-toolbar-help-content-bolditalic-syntax","wikieditor-toolbar-help-content-bolditalic-result","wikieditor-toolbar-help-content-ilink-description","wikieditor-toolbar-help-content-ilink-syntax","wikieditor-toolbar-help-content-ilink-result","wikieditor-toolbar-help-content-xlink-description","wikieditor-toolbar-help-content-xlink-syntax","wikieditor-toolbar-help-content-xlink-result","wikieditor-toolbar-help-content-heading2-description","wikieditor-toolbar-help-content-heading2-syntax","wikieditor-toolbar-help-content-heading2-result","wikieditor-toolbar-help-content-heading3-description","wikieditor-toolbar-help-content-heading3-syntax","wikieditor-toolbar-help-content-heading3-result","wikieditor-toolbar-help-content-heading4-description","wikieditor-toolbar-help-content-heading4-syntax","wikieditor-toolbar-help-content-heading4-result","wikieditor-toolbar-help-content-heading5-description","wikieditor-toolbar-help-content-heading5-syntax","wikieditor-toolbar-help-content-heading5-result","wikieditor-toolbar-help-content-ulist-description","wikieditor-toolbar-help-content-ulist-syntax","wikieditor-toolbar-help-content-ulist-result","wikieditor-toolbar-help-content-olist-description","wikieditor-toolbar-help-content-olist-syntax","wikieditor-toolbar-help-content-olist-result","wikieditor-toolbar-help-content-file-description","wikieditor-toolbar-help-content-file-syntax","wikieditor-toolbar-help-content-file-caption","wikieditor-toolbar-help-content-reference-description","wikieditor-toolbar-help-content-reference-syntax","wikieditor-toolbar-help-content-reference-result","wikieditor-toolbar-help-content-named-reference-description","wikieditor-toolbar-help-content-named-reference-syntax","wikieditor-toolbar-help-content-named-reference-result","wikieditor-toolbar-help-content-rereference-description","wikieditor-toolbar-help-content-rereference-syntax","wikieditor-toolbar-help-content-rereference-result","wikieditor-toolbar-help-content-showreferences-description","wikieditor-toolbar-help-content-showreferences-syntax","wikieditor-toolbar-help-content-showreferences-result","wikieditor-toolbar-help-content-signaturetimestamp-description","wikieditor-toolbar-help-content-signaturetimestamp-syntax","wikieditor-toolbar-help-content-signaturetimestamp-result","wikieditor-toolbar-help-content-signature-description","wikieditor-toolbar-help-content-signature-syntax","wikieditor-toolbar-help-content-signature-result","wikieditor-toolbar-help-content-indent-description","wikieditor-toolbar-help-content-indent-syntax","wikieditor-toolbar-help-content-indent-result",}, config={ WikiEditorRealtimePreview={ description="Whether to enable the Realtime Preview feature.", value=false, }, WikiEditorRealtimePreviewDebounce={ description="Debounce time in milliseconds for the Realtime Preview feature.", value=2500, }, WikiEditorRealtimeDisableDuration={ description="Average number of milliseconds after which to automatically disable Realtime Preview.", value=6000, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiEditor", }, WikiForum={ name="WikiForum", version="2.6.0", author={ "Michael Chlebek","Jack Phoenix","Adam Carter (UltrasonicNXT)",}, url="https://www.mediawiki.org/wiki/Extension:WikiForum", descriptionmsg="wikiforum-desc", ["license-name"]="GPL-3.0-or-later", type="other", requires={ MediaWiki=">= 1.35.3", }, GroupPermissions={ forumadmin={ ["wikiforum-admin"]=true, ["wikiforum-moderator"]=true, }, sysop={ ["wikiforum-admin"]=true, ["wikiforum-moderator"]=true, }, }, AddGroups={ bureaucrat={ "forumadmin",}, }, RemoveGroups={ bureaucrat={ "forumadmin",}, }, AvailableRights={ "wikiforum-admin","wikiforum-moderator",}, SpecialPages={ WikiForum="SpecialWikiForum", }, LogTypes={ "forum",}, LogActionsHandlers={ ["forum/*"]="WikitextLogFormatter", }, ExtensionMessagesFiles={ WikiForumAlias="includes/WikiForum.i18n.alias.php", }, Hooks={ ParserFirstCallInit="WikiForumHooks::registerParserHooks", LoadExtensionSchemaUpdates="WikiForumHooks::onLoadExtensionSchemaUpdates", }, CaptchaTriggers={ wikiforum=true, }, config={ WikiForumAllowAnonymous=true, WikiForumLogInRC=true, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiForum", }, WikiLambda={ name="WikiLambda", author={ "James D. Forrester","Lindsay Wardell","Genoveva Galarza","Simone Cuomo","Julia Kieserman","David Martin","Cory Massaro","Adesoji","Arthur P. Smith","Denny Vrandečić",}, url="https://www.mediawiki.org/wiki/Extension:WikiLambda", descriptionmsg="wikilambda-desc", ["license-name"]="MIT", type="parserhook", requires={ MediaWiki=">= 1.39.0", extensions={ WikimediaMessages="*", }, }, callback="MediaWiki\\Extension\\WikiLambda\\Hooks::registerExtension", ContentHandlers={ zobject="MediaWiki\\Extension\\WikiLambda\\ZObjectContentHandler", }, config={ WikiLambdaEnable={ description="Enable the extension.", value=true, }, WikiLambdaEnableParserFunction={ description="Enable the  extension.", value=true, }, WikiLambdaOrchestratorLocation={ description="Host and port of the function orchestrator.", value="https://wikifunctions-orchestrator-beta.wmflabs.org:443", }, }, ConfigRegistry={ WikiLambda="GlobalVarConfig::newInstance", }, HookHandlers={ WikiLambdaHooks={ class="MediaWiki\\Extension\\WikiLambda\\Hooks", }, }, Hooks={ getUserPermissionsErrors="WikiLambdaHooks", MultiContentSave="WikiLambdaHooks", LoadExtensionSchemaUpdates="WikiLambdaHooks", NamespaceIsMovable="WikiLambdaHooks", ParserFirstCallInit="WikiLambdaHooks", HtmlPageLinkRendererEnd="WikiLambdaHooks", CodeEditorGetPageLanguage="MediaWiki\\Extension\\WikiLambda\\Hooks::onCodeEditorGetPageLanguage", }, ExtensionMessagesFiles={ WikiLambdaAliases="WikiLambda.alias.php", WikiLambdaMagic="WikiLambda.i18n.magic.php", }, APIModules={ wikilambda_fetch="MediaWiki\\Extension\\WikiLambda\\API\\ApiZObjectFetcher", wikilambda_edit="MediaWiki\\Extension\\WikiLambda\\API\\ApiZObjectEditor", wikilambda_function_call="MediaWiki\\Extension\\WikiLambda\\API\\ApiFunctionCall", wikilambda_health_check="MediaWiki\\Extension\\WikiLambda\\API\\ApiHealthCheck", wikilambda_perform_test={ class="MediaWiki\\Extension\\WikiLambda\\API\\ApiPerformTest", services={ "WikiLambdaZObjectStore",}, }, }, APIListModules={ wikilambdasearch_labels="MediaWiki\\Extension\\WikiLambda\\API\\ApiQueryZObjectLabels", wikilambdaload_zobjects={ class="MediaWiki\\Extension\\WikiLambda\\API\\ApiQueryZObjects", services={ "LanguageFallback","LanguageNameUtils","TitleFactory",}, }, wikilambdafn_search={ class="MediaWiki\\Extension\\WikiLambda\\API\\ApiQueryZFunctionReference", services={ "WikiLambdaZObjectStore",}, }, }, SpecialPages={ CreateZObject="MediaWiki\\Extension\\WikiLambda\\Special\\SpecialCreateZObject", EvaluateFunctionCall="MediaWiki\\Extension\\WikiLambda\\Special\\SpecialEvaluateFunctionCall", ListDuplicateZObjectLabels="MediaWiki\\Extension\\WikiLambda\\Special\\SpecialListDuplicateZObjectLabels", ListZObjectsByType={ class="MediaWiki\\Extension\\WikiLambda\\Special\\SpecialListZObjectsByType", services={ "WikiLambdaZObjectStore","LanguageFallback",}, }, }, TrackingCategories={ "wikilambda-functioncall-error-category","wikilambda-functioncall-error-unknown-category","wikilambda-functioncall-error-nonfunction-category","wikilambda-functioncall-error-nonstring-category",}, ServiceWiringFiles={ "includes/ServiceWiring.php",}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiLambda", }, WikiLove={ name="WikiLove", version="1.3.1", author={ "Ryan Kaldari","Jan Paul Posma","Sam Reed",}, url="https://www.mediawiki.org/wiki/Extension:WikiLove", descriptionmsg="wikilove-desc", ["license-name"]="MIT", type="other", requires={ MediaWiki=">= 1.36.0", }, APIModules={ wikilove="MediaWiki\\Extension\\WikiLove\\ApiWikiLove", }, Hooks={ GetPreferences={ "MediaWiki\\Extension\\WikiLove\\Hooks::onGetPreferences",}, ["SkinTemplateNavigation::Universal"]={ "MediaWiki\\Extension\\WikiLove\\Hooks::onSkinTemplateNavigation",}, BeforePageDisplay={ "MediaWiki\\Extension\\WikiLove\\Hooks::onBeforePageDisplay",}, LoadExtensionSchemaUpdates={ "MediaWiki\\Extension\\WikiLove\\Hooks::onLoadExtensionSchemaUpdates",}, ListDefinedTags={ "MediaWiki\\Extension\\WikiLove\\Hooks::onListDefinedTags",}, ChangeTagsListActive={ "MediaWiki\\Extension\\WikiLove\\Hooks::onListDefinedTags",}, UserMergeAccountFields={ "MediaWiki\\Extension\\WikiLove\\Hooks::onUserMergeAccountFields",}, }, config={ WikiLoveGlobal={ value=false, }, WikiLoveTabIcon={ value=true, }, WikiLoveLogging={ value=false, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiLove", }, WikiLovesMonuments={ name="WikiLovesMonuments", version="0.2.0", author="Platonides", url="https://www.mediawiki.org/wiki/Extension:WikiLovesMonuments", descriptionmsg="wlm-extension-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.29.0", }, ExtensionFunctions={ "WikiLovesMonumentsHooks::init",}, ExtensionMessagesFiles={ WikiLovesMonumentsMagic="WikiLovesMonuments.i18n.magic.php", }, Hooks={ ParserFirstCallInit="WikiLovesMonumentsHooks::registerParserFunctions", }, config={ WikiLovesMonumentsCountryPortlet={ value=false, }, WikiLovesMonumentsCentralisedStatsId={ value=false, }, PiwikCustomJS={ value="", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiLovesMonuments", }, WikiShare={ name="WikiShare", version="0.15042020", author={ "Gregory Varnum",}, url="https://www.mediawiki.org/wiki/Extension:WikiShare", descriptionmsg="wikishare-desc", ["license-name"]="GPL-2.0-only", type="other", ExtensionMessagesFiles={ WikiShareMagic="WikiShare.i18n.magic.php", }, requires={ MediaWiki=">= 1.35.0", }, Hooks={ ArticleViewHeader="WikiShare::WikiShareHeader", ParserFirstCallInit="WikiShare::onParserFirstCallInit", SkinBuildSidebar={ "WikiShare::WikiShareSidebar","WikiShare::WikiShareFollowSidebar",}, }, config={ WikiShare={ value={ background="#f6f6f6", border="#a7d7f9", header=true, main=true, sidebar=true, follow=true, }, }, WikiShareServices={ value={ facebook={ service="Facebook", url="https://www.facebook.com/sharer.php?u=%url%&t=%title% - %wiki%", icon="https://upload.wikimedia.org/wikipedia/commons/thumb/5/51/Facebook_f_logo_%282019%29.svg/40px-Facebook_f_logo_%282019%29.svg.png", }, twitter={ service="Twitter", url="https://twitter.com/intent/tweet?text=Look%20what%20I%20found%20on%20%wiki%:%20%url%", icon="https://upload.wikimedia.org/wikipedia/commons/thumb/c/ce/Twitter_Logo.png/40px-Twitter_Logo.png", }, }, }, WikiShareFollow={ value={ facebook={ service="Facebook", url="", icon="https://upload.wikimedia.org/wikipedia/commons/thumb/5/51/Facebook_f_logo_%282019%29.svg/40px-Facebook_f_logo_%282019%29.svg.png", }, twitter={ service="Twitter", url="", icon="https://upload.wikimedia.org/wikipedia/commons/thumb/c/ce/Twitter_Logo.png/40px-Twitter_Logo.png", }, }, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiShare", }, WikiTextLoggedInOut={ name="WikiTextLoggedInOut", version="1.5.0", author={ "Aaron Wright","David Pean","Jack Phoenix",}, ["license-name"]="GPL-2.0-or-later", url="https://www.mediawiki.org/wiki/Extension:WikiTextLoggedInOut", descriptionmsg="wikitextloggedinout-desc", type="parserhook", requires={ MediaWiki=">= 1.34.0", }, Hooks={ ParserFirstCallInit={ "WikiTextLoggedInOut::registerTags",}, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiTextLoggedInOut", }, WikiToLDAP={ name="WikiToLDAP", author={ "Mark A. Hershberger",}, url="https://www.mediawiki.org/wiki/Extension:WikiToLDAP", config_prefix="WikiToLDAP", config={ MigrationGroup={ value="wikitoldap-needs-migration", public=true, descriptionmsg="wikitoldap-migrationgroup-desc", }, InProgressGroup={ value="wikitoldap-in-progress", public=true, descriptionmsg="wikitoldap-inprogressgroup-desc", }, MergedGroup={ value="wikitoldap-merged", public=true, descriptionmsg="wikitoldap-merged-desc", }, OldUsernamePrefix={ value="⚠️", public=true, descriptionmsg="wikitoldap-old-username-prefix-desc", }, OldUsersAreRenamed={ value=false, public=true, descriptionmsg="wikitoldap-old-users-are-renamed-desc", }, CanCheckOldUser={ value=false, public=true, descriptionmsg="wikitoldap-can-check-old-user-desc", }, MigrationInProgress={ value=true, public=true, descriptionmsg="wikitoldap-migrationinprogress-desc", }, }, requires={ MediaWiki=">= 1.35.0", extensions={ LDAPAuthentication2=">= 1.0.1", }, }, Hooks={ userCan="MediaWiki\\Extension\\WikiToLDAP\\Hook::onUserCan", PluggableAuthPopulateGroups="MediaWiki\\Extension\\WikiToLDAP\\Hook::onPluggableAuthPopulateGroups", AuthChangeFormFields="MediaWiki\\Extension\\WikiToLDAP\\Hook::onAuthChangeFormFields", }, callback="MediaWiki\\Extension\\WikiToLDAP\\Hook::init", SpecialPages={ WikiUserMerge="MediaWiki\\Extension\\WikiToLDAP\\SpecialWikiMerge", LDAPUserMerge="MediaWiki\\Extension\\WikiToLDAP\\SpecialLDAPMerge", }, APIModules={ wikitoldapoptout="MediaWiki\\Extension\\WikiToLDAP\\API", }, ExtensionMessagesFiles={ LegalLoginAlias="WikiToLDAP.alias.php", }, descriptionmsg="wikitoldap-desc", ["license-name"]="GPL-3.0-or-later", type="other", LogTypes={ "wikitoldap",}, LogActionsHandlers={ ["wikitoldap/*"]="LogFormatter", }, GroupPermissions={ ["wikitoldap-needs-migration"]={ ["migrate-from-ldap"]=true, }, ["wikitoldap-in-progress"]={ ["migrate-from-ldap"]=true, }, ["wikitoldap-merged"]={ ["migrate-from-ldap"]=true, }, }, RevokePermissions={ ["wikitoldap-in-progress"]={ bigdelete=true, block=true, blockemail=true, browsearchive=true, confirmaccount=true, createclass=true, createpage=true, createtalk=true, datatransferimport=true, delete=true, deletechangetags=true, deletelogentry=true, deleterevision=true, edit=true, editmyoptions=true, editmywatchlist=true, editprotected=true, editsemiprotected=true, editsitecss=true, editsiteinterface=true, editsitejs=true, editsitejson=true, editusercss=true, edituserjs=true, edituserjson=true, geocode=true, hideuser=true, import=true, importupload=true, lookupcredentials=true, managechangetags=true, mergehistory=true, move=true, ["move-categorypages"]=true, ["move-rootuserpages"]=true, ["move-subpages"]=true, movefile=true, nuke=true, protect=true, reupload=true, ["smw-admin"]=true, suppressionlog=true, suppressrevision=true, upload=true, userrights=true, viewedittab=true, viewmyprivateinfo=true, viewmywatchlist=true, viewsuppressed=true, writeapi=true, }, ["wikitoldap-needs-migration"]={ bigdelete=true, block=true, blockemail=true, browsearchive=true, confirmaccount=true, createclass=true, createpage=true, createtalk=true, datatransferimport=true, delete=true, deletechangetags=true, deletelogentry=true, deleterevision=true, edit=true, editmyoptions=true, editmywatchlist=true, editprotected=true, editsemiprotected=true, editsitecss=true, editsiteinterface=true, editsitejs=true, editsitejson=true, editusercss=true, edituserjs=true, edituserjson=true, geocode=true, hideuser=true, import=true, importupload=true, lookupcredentials=true, managechangetags=true, mergehistory=true, move=true, ["move-categorypages"]=true, ["move-rootuserpages"]=true, ["move-subpages"]=true, movefile=true, nuke=true, protect=true, reupload=true, ["smw-admin"]=true, suppressionlog=true, suppressrevision=true, upload=true, userrights=true, viewedittab=true, viewmyprivateinfo=true, viewmywatchlist=true, viewsuppressed=true, writeapi=true, }, }, composer="mediawiki/wiki-to-ldap", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiToLDAP", }, WikiVideos={ name="WikiVideos", version="4.2.1", author="Sophivorus", url="https://www.mediawiki.org/wiki/Extension:WikiVideos", descriptionmsg="wikivideos-desc", ["license-name"]="GPL-3.0-or-later", type="tag", requires={ MediaWiki=">= 1.31.0", }, Hooks={ BeforeInitialize="WikiVideosHooks::onBeforeInitialize", BeforePageDisplay="WikiVideosHooks::onBeforePageDisplay", GalleryGetModes="WikiVideosHooks::onGalleryGetModes", }, config={ GoogleCloudCredentials={ value="", }, WikiVideosUserAgent={ value="WikiVideos/4.0 (https://www.mediawiki.org/wiki/Extension:WikiVideos)", }, WikiVideosMinSize={ value=200, }, WikiVideosMaxSize={ value=1280, }, WikiVideosControls={ value=true, }, WikiVideosAutoplay={ value=false, }, WikiVideosChapters={ value=true, }, WikiVideosCaptions={ value=false, }, WikiVideosVoiceLanguage={ value="", }, WikiVideosVoiceGender={ value="", }, WikiVideosVoiceName={ value="", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiVideos", }, WikibaseCirrusSearch={ name="WikibaseCirrusSearch", version="0.1.0", author={ "The Wikidata team","Stas Malyshev",}, url="https://www.mediawiki.org/wiki/Extension:WikibaseCirrusSearch", descriptionmsg="wikibasecirrus-desc", ["license-name"]="GPL-2.0-or-later", type="wikibase", requires={ MediaWiki=">= 1.34.0", }, config_prefix="wgWBCS", ["@note"]="The values below are mirrors of old Wikibase values. TODO: once Wikibase values are gone, put proper defaults here.", config={ UseCirrus={ value=nil, description="Use CirrusSearch (ElasticSearch) for searching", }, PrefixSearchProfile={ value=nil, description="Default label scoring profile name, for prefix search. See profiles in config/EntityPrefixSearchProfiles.php", }, PrefixSearchProfiles={ value=nil, description="Field weight profiles. These profiles specify relative weights of label fields for different languages, e.g. exact language match vs. fallback language match.", }, FulltextSearchProfile={ value=nil, description="Default profile name for fulltext search. See profiles in config/EntitySearchProfiles.php", }, FulltextSearchProfiles={ value=nil, description="Profile definitions for fulltext search.", }, DefaultPrefixRescoreProfile={ value=nil, description="Default rescore profile for prefix search.", }, DefaultFulltextRescoreProfile={ value=nil, description="Default rescore profile for prefix search.", }, RescoreProfiles={ value=nil, description="Rescore profile definitions holder.", }, RescoreFunctionChains={ value=nil, description="Rescore function chain definitions holder.", }, LanguageSelectorRescoreProfile={ value=nil, description="Default rescore profile to use in the language selector context", }, LanguageSelectorPrefixSearchProfile={ value=nil, description="Default query builder profile to use in the language selector context", }, LanguageSelectorStatementBoost={ value={ }, description="Type (de)boosts for rescoring functions in the language selector context", }, LanguageSelectorRescoreFunctionChains={ value={ }, description="Function chains profiles used by the language selector context", }, StatementBoost={ value={ }, description="Type (de)boosts for rescoring functions.", }, UseStemming={ value={ }, description="List of languages that we want to have stemming analyzers.", }, LicenseMapping={ value={ }, description="Map of licence search strings to wikibase statements.", }, }, ConfigRegistry={ WikibaseCirrusSearch="Wikibase\\Search\\Elastic\\WikibaseSearchConfig::newFromGlobals", }, Hooks={ SetupAfterCache={ "Wikibase\\Search\\Elastic\\Hooks::onSetupAfterCache",}, CirrusSearchAnalysisConfig={ "Wikibase\\Search\\Elastic\\Hooks::onCirrusSearchAnalysisConfig",}, CirrusSearchProfileService={ "Wikibase\\Search\\Elastic\\Hooks::onCirrusSearchProfileService",}, CirrusSearchAddQueryFeatures={ "Wikibase\\Search\\Elastic\\Hooks::onCirrusSearchAddQueryFeatures",}, ShowSearchHit={ "Wikibase\\Search\\Elastic\\CirrusShowSearchHitHandler::onShowSearchHit",}, ShowSearchHitTitle={ "Wikibase\\Search\\Elastic\\CirrusShowSearchHitHandler::onShowSearchHitTitle",}, WikibaseRepoEntityTypes={ "Wikibase\\Search\\Elastic\\Hooks::onWikibaseRepoEntityTypes",}, SpecialPage_initList={ "Wikibase\\Search\\Elastic\\Hooks::onSpecialPageInitList",}, ApiOpenSearchSuggest={ "Wikibase\\Search\\Elastic\\Hooks::onApiOpenSearchSuggest",}, }, ExtensionMessagesFiles={ WikibaseCirrusSearchAlias="WikibaseCirrusSearch.alias.php", }, composer="wikibase/cirrussearch", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikibaseCirrusSearch", }, WikibaseLexeme={ name="WikibaseLexeme", author={ "The Wikidata team",}, url="https://www.mediawiki.org/wiki/Extension:WikibaseLexeme", descriptionmsg="wikibaselexeme-desc", ["license-name"]="GPL-2.0-or-later", type="wikibase", requires={ MediaWiki=">= 1.37", }, callback="Wikibase\\Lexeme\\Registrar::registerExtension", config={ LexemeEnableRepo={ value=true, }, LexemeNamespace={ value=146, }, LexemeTalkNamespace={ value=147, }, LexemeLanguageCodePropertyId={ value=nil, }, LexemeLexicalCategoryItemIds={ value={ }, description="Item IDs of Items to suggest as the Lexical Category of a Lexeme. Any Item can be used for the Lexical Category, but the Items listed here will be suggested to editors preferentially.", }, LexemeEnableDataTransclusion={ value=false, }, }, ExtensionMessagesFiles={ WikibaseLexemeAlias="WikibaseLexeme.i18n.alias.php", }, QUnitTestModule={ localBasePath="", remoteExtPath="WikibaseLexeme", packageFiles={ "tests/qunit/index.js","tests/qunit/datamodel/Form.tests.js","tests/qunit/datamodel/Sense.tests.js","tests/qunit/experts/Lexeme.tests.js","tests/qunit/experts/Form.tests.js","tests/qunit/jquery.wikibase.lexemeformlistview.tests.js","tests/qunit/jquery.wikibase.lexemeformview.tests.js","tests/qunit/jquery.wikibase.grammaticalfeatureview.tests.js","tests/qunit/jquery.wikibase.senselistview.tests.js","tests/qunit/jquery.wikibase.senseview.tests.js","tests/qunit/widgets/GrammaticalFeatureListWidget.tests.js","resources/widgets/GrammaticalFeatureListWidget.js","tests/qunit/entityChangers/FormChanger.tests.js","resources/entityChangers/FormChanger.js","resources/serialization/FormSerializer.js","tests/qunit/entityChangers/SenseChanger.tests.js","resources/entityChangers/SenseChanger.js","resources/serialization/SenseSerializer.js","tests/qunit/entityChangers/LexemeRevisionStore.tests.js","resources/entityChangers/LexemeRevisionStore.js","tests/qunit/serialization/LexemeDeserializer.tests.js","resources/serialization/LexemeDeserializer.js","resources/datamodel/Lexeme.js","tests/qunit/datamodel/Lexeme.tests.js","tests/qunit/serialization/FormSerializer.tests.js","tests/qunit/serialization/SenseSerializer.tests.js","tests/qunit/view/ViewFactoryFactory.tests.js","resources/view/ViewFactoryFactory.js","resources/view/config.json","resources/view/ReadModeViewFactory.js","resources/view/ControllerViewFactory.js","tests/qunit/view/ControllerViewFactory.tests.js","tests/qunit/view/ViewFactoryFactory.tests.js",}, es6=true, dependencies={ "mediawiki.widgets","oojs-ui-core","oojs-ui-widgets","oojs-ui","vue","vuex","wikibase.datamodel","wikibase.experts.Form","wikibase.experts.Lexeme","wikibase.lexeme.datamodel","wikibase.lexeme.getDeserializer","wikibase.lexeme.lexemeview","wikibase.lexeme.view.ViewFactoryFactory","wikibase.lexeme.view.ViewFactoryFactory","test.WikibaseRepository",}, }, Hooks={ InfoAction={ "Wikibase\\Lexeme\\WikibaseLexemeHooks::onInfoAction",}, WikibaseRepoEntityNamespaces={ "Wikibase\\Lexeme\\WikibaseLexemeHooks::onWikibaseRepoEntityNamespaces",}, CanonicalNamespaces={ "Wikibase\\Lexeme\\WikibaseLexemeHooks::onCanonicalNamespaces",}, WikibaseRepoEntityTypes={ "Wikibase\\Lexeme\\WikibaseLexemeHooks::onWikibaseRepoEntityTypes",}, WikibaseRepoDataTypes={ "Wikibase\\Lexeme\\WikibaseLexemeHooks::onWikibaseDataTypes",}, WikibaseContentLanguages={ "Wikibase\\Lexeme\\WikibaseLexemeHooks::onWikibaseContentLanguages",}, WikibaseClientEntityTypes={ "Wikibase\\Lexeme\\WikibaseLexemeHooks::onWikibaseClientEntityTypes",}, WikibaseClientDataTypes={ "Wikibase\\Lexeme\\WikibaseLexemeHooks::onWikibaseClientDataTypes",}, WikibaseRepoOnParserOutputUpdaterConstruction={ "Wikibase\\Lexeme\\WikibaseLexemeHooks::onParserOutputUpdaterConstruction",}, ScribuntoExternalLibraries={ "Wikibase\\Lexeme\\WikibaseLexemeHooks::onScribuntoExternalLibraries",}, }, ServiceWiringFiles={ "WikibaseLexeme.mediawiki-services.php",}, composer="wikibase/lexeme", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikibaseLexeme", }, WikibaseLexemeCirrusSearch={ name="WikibaseLexemeCirrusSearch", version="0.1.0", author={ "The Wikidata team","Stas Malyshev",}, url="https://www.mediawiki.org/wiki/Extension:WikibaseLexemeCirrusSearch", descriptionmsg="wikibaselexemecirrus-desc", ["license-name"]="GPL-2.0-or-later", type="wikibase", requires={ extensions={ WikibaseCirrusSearch="*", WikibaseLexeme="*", }, MediaWiki=">= 1.34.0", }, config={ LexemeUseCirrus={ value=false, }, LexemePrefixSearchProfile={ value="lexeme_prefix", }, LexemePrefixSearchProfiles={ value={ }, }, LexemeRescoreFunctions={ value={ }, }, LexemePrefixRescoreProfile={ value="lexeme_prefix", }, LexemeFulltextRescoreProfile={ value="lexeme_fulltext", }, }, Hooks={ CirrusSearchProfileService={ "Wikibase\\Lexeme\\Search\\Elastic\\Hooks::onCirrusSearchProfileService",}, ShowSearchHit={ "Wikibase\\Lexeme\\Search\\Elastic\\Hooks::onShowSearchHit",}, WikibaseRepoEntityTypes={ "Wikibase\\Lexeme\\Search\\Elastic\\Hooks::onWikibaseRepoEntityTypes",}, }, composer="wikibase/lexeme-cirrusssearch", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikibaseLexemeCirrusSearch", }, WikibaseManifest={ name="WikibaseManifest", author="The Wikidata team", url="https://www.mediawiki.org/wiki/Extension:WikibaseManifest", ["license-name"]="GPL-2.0-or-later", version="0.0.1", namemsg="wikibasemanifest", descriptionmsg="wikibasemanifest-desc", requires={ MediaWiki=">= 1.35.0", }, config={ WbManifestWikidataEntityMapping={ description="The mapping of Wikidata entity ids to local Wikibase entity ids.", value={ }, }, WbManifestExternalServiceMapping={ description="The mapping of external service identifiers to URLs.", value={ }, }, WbManifestMaxLag={ description="The max_lag value in seconds.", value=5, }, }, type="wikibase", RestRoutes={ { path="/wikibase-manifest/v0/manifest", method="GET", class="MediaWiki\\Extension\\WikibaseManifest\\RestApi", services={ "WikibaseManifestGenerator","EmptyValueCleaner",}, },}, ServiceWiringFiles={ "includes/ServiceWiring.php",}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikibaseManifest", }, WikibaseMediaInfo={ name="WikibaseMediaInfo", version="0.1.0", author={ "The Wikidata team","Anne Tomasevich","Cormac Parle","Eric Gardner","Mark Holmquist","Matthias Mullie",}, url="https://www.mediawiki.org/wiki/Extension:WikibaseMediaInfo", descriptionmsg="wikibasemediainfo-desc", ["license-name"]="GPL-2.0-or-later", type="wikibase", requires={ MediaWiki=">= 1.38.0", extensions={ UniversalLanguageSelector="*", WikibaseCirrusSearch="*", }, }, ConfigRegistry={ WikibaseMediaInfo="GlobalVarConfig::newInstance", }, config={ MediaInfoProperties={ description="Map of { indicative name: property id }. E.g. { depicts: 'P1' }. The key doesn't really matter, except to construct a title (grep for wikibasemediainfo-statements-title-)", value={ }, }, MediaInfoHelpUrls={ description="Links to pages to learn more about wikibase properties. E.g. { P1: 'https://commons.wikimedia.org/wiki/Special:MyLanguage/Commons:Depicts' }", value={ }, }, MediaInfoExternalEntitySearchBaseUri={ description="URI of the api.php endpoint where entities can be searched.", value="", }, MediaInfoMediaSearchTitleMatchBaseUri={ description="URI of the api.php endpoint where page titles can be searched. The 2-character language code will be sprintf'ed into this value.", value="", }, MediaInfoSupportedDataTypes={ description="List of property datatypes which are supported in the UI", value={ "wikibase-item","string","quantity","time","monolingualtext","external-id","globe-coordinate","url",}, }, MediaInfoCustomMatchFeature={ description="Configuration for the 'custommatch' search feature, see Wikibase\\MediaInfo\\Search\\Feature\\CustomMatchFeature for expected format", value={ }, }, MediaInfoMediaSearchProfiles={ description="Map of { profile key: settings } MediaSearch profiles", value={ }, }, }, ServiceWiringFiles={ "src/Services/MediaInfoServiceWiring.php",}, callback="Wikibase\\MediaInfo\\WikibaseMediaInfoHooks::onRegistration", HookHandlers={ mediainfo_searchdata={ class="\\Wikibase\\MediaInfo\\MediaInfoDataForSearchIndex", services={ "ContentHandlerFactory",}, }, }, Hooks={ MediaWikiServices="Wikibase\\MediaInfo\\WikibaseMediaInfoHooks::onMediaWikiServices", WikibaseRepoEntityNamespaces="Wikibase\\MediaInfo\\WikibaseMediaInfoHooks::onWikibaseRepoEntityNamespaces", WikibaseRepoEntityTypes="Wikibase\\MediaInfo\\WikibaseMediaInfoHooks::onWikibaseEntityTypes", WikibaseClientEntityTypes="Wikibase\\MediaInfo\\WikibaseMediaInfoHooks::onWikibaseEntityTypes", GetEntityByLinkedTitleLookup="Wikibase\\MediaInfo\\WikibaseMediaInfoHooks::onGetEntityByLinkedTitleLookup", GetEntityContentModelForTitle="Wikibase\\MediaInfo\\WikibaseMediaInfoHooks::onGetEntityContentModelForTitle", BeforePageDisplay="Wikibase\\MediaInfo\\WikibaseMediaInfoHooks::onBeforePageDisplay", ParserOutputPostCacheTransform="Wikibase\\MediaInfo\\WikibaseMediaInfoHooks::onParserOutputPostCacheTransform", GetPreferences="Wikibase\\MediaInfo\\WikibaseMediaInfoHooks::onGetPreferences", ScribuntoExternalLibraries="Wikibase\\MediaInfo\\WikibaseMediaInfoHooks::onScribuntoExternalLibraries", RevisionUndeleted="Wikibase\\MediaInfo\\WikibaseMediaInfoHooks::onRevisionUndeleted", ArticleUndelete="Wikibase\\MediaInfo\\WikibaseMediaInfoHooks::onArticleUndelete", CirrusSearchProfileService="Wikibase\\MediaInfo\\WikibaseMediaInfoHooks::onCirrusSearchProfileService", CirrusSearchRegisterFullTextQueryClassifiers="Wikibase\\MediaInfo\\WikibaseMediaInfoHooks::onCirrusSearchRegisterFullTextQueryClassifiers", SidebarBeforeOutput="Wikibase\\MediaInfo\\WikibaseMediaInfoHooks::onSidebarBeforeOutput", CirrusSearchAddQueryFeatures="Wikibase\\MediaInfo\\WikibaseMediaInfoHooks::onCirrusSearchAddQueryFeatures", MultiContentSave="Wikibase\\MediaInfo\\WikibaseMediaInfoHooks::onMultiContentSave", SearchDataForIndex2="mediainfo_searchdata", }, DefaultUserOptions={ ["wbmi-cc0-confirmed"]=0, ["wbmi-wikidata-link-notice-dismissed"]=0, }, GroupPermissions={ ["*"]={ ["mediainfo-term"]=true, }, }, GrantPermissions={ editpage={ ["mediainfo-term"]=true, }, }, AvailableRights={ "mediainfo-term",}, RawHtmlMessages={ "wikibasemediainfo-time-timestamp-formatted",}, composer="wikibase/media-info", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikibaseMediaInfo", }, WikibaseQuality={ name="WikibaseQuality", author="BP2014N1", url="https://www.mediawiki.org/wiki/Extension:WikibaseQuality", descriptionmsg="wbq-desc", version="1.0.0", type="wikibase", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.31.0", }, ExtensionMessagesFiles={ WikibaseQualityAlias="WikibaseQuality.alias.php", }, composer="wikibase/quality", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikibaseQuality", }, WikibaseQualityConstraints={ name="WikibaseQualityConstraints", author={ "BP2014N1","Lucas Werkmeister",}, url="https://www.mediawiki.org/wiki/Extension:WikibaseQualityConstraints", descriptionmsg="wbqc-desc", version="1.0.0", ["license-name"]="GPL-2.0-or-later", type="wikibase", requires={ MediaWiki=">= 1.40.0", }, ExtensionMessagesFiles={ WikibaseQualityConstraintsAlias="WikibaseQualityConstraints.alias.php", }, ServiceWiringFiles={ "src/ServiceWiring.php","src/ServiceWiring-ConstraintCheckers.php","src/ServiceWiring-Wikibase.php",}, Hooks={ LoadExtensionSchemaUpdates="WikibaseQuality\\ConstraintReport\\WikibaseQualityConstraintsHooks::onCreateSchema", WikibaseChangeNotification="WikibaseQuality\\ConstraintReport\\WikibaseQualityConstraintsHooks::onWikibaseChange", ArticlePurge="WikibaseQuality\\ConstraintReport\\WikibaseQualityConstraintsHooks::onArticlePurge", BeforePageDisplay="WikibaseQuality\\ConstraintReport\\WikibaseQualityConstraintsHooks::onBeforePageDisplay", }, SpecialPages={ ConstraintReport={ class="WikibaseQuality\\ConstraintReport\\Specials\\SpecialConstraintReport", factory="WikibaseQuality\\ConstraintReport\\Specials\\SpecialConstraintReport::factory", services={ "MainConfig","StatsdDataFactory","WikibaseRepo.EntityIdHtmlLinkFormatterFactory","WikibaseRepo.EntityIdParser","WikibaseRepo.EntityTitleLookup","WikibaseRepo.ValueFormatterFactory","WBQC_EntityLookup","WBQC_DelegatingConstraintChecker",}, }, }, APIModules={ wbcheckconstraints={ class="WikibaseQuality\\ConstraintReport\\Api\\CheckConstraints", factory="WikibaseQuality\\ConstraintReport\\Api\\CheckConstraints::factory", services={ "MainConfig","StatsdDataFactory","WikibaseRepo.ApiHelperFactory","WikibaseRepo.EntityIdHtmlLinkFormatterFactory","WikibaseRepo.EntityIdParser","WikibaseRepo.EntityTitleLookup","WikibaseRepo.StatementGuidValidator","WikibaseRepo.ValueFormatterFactory","WBQC_ResultsSource",}, }, wbcheckconstraintparameters={ class="WikibaseQuality\\ConstraintReport\\Api\\CheckConstraintParameters", factory="WikibaseQuality\\ConstraintReport\\Api\\CheckConstraintParameters::newFromGlobalState", services={ "MainConfig","StatsdDataFactory","WikibaseRepo.ApiHelperFactory","WikibaseRepo.EntityIdHtmlLinkFormatterFactory","WikibaseRepo.StatementGuidParser","WikibaseRepo.ValueFormatterFactory","WBQC_DelegatingConstraintChecker",}, }, }, Actions={ constraintsrdf={ "WikibaseQuality\\ConstraintReport\\Api\\CheckConstraintsRdf","newFromGlobalState",}, }, JobClasses={ constraintsTableUpdate="WikibaseQuality\\ConstraintReport\\Job\\UpdateConstraintsTableJob::newFromGlobalState", constraintsRunCheck="WikibaseQuality\\ConstraintReport\\Job\\CheckConstraintsJob", }, config={ WBQualityConstraintsTypeCheckMaxEntities={ value=1000, description="The maximum number of entities that are accessed when checking type or subtype relations.", public=true, }, WBQualityConstraintsCheckDurationInfoSeconds={ value=1, description="The maximum time that a single constraint check should usually take, in seconds. Any constraint check that takes longer than this time is logged at ‘info’ level. Specifying `null` disables this logging.", public=true, }, WBQualityConstraintsCheckDurationWarningSeconds={ value=10, description="The maximum time that a single constraint check should ever take, in seconds. Any constraint check that takes longer than this time is logged at ‘warning’ level. Specifying `null` disables this logging.", public=true, }, WBQualityConstraintsCheckOnEntityDurationInfoSeconds={ value=5, description="The maximum time that a full constraint check on an entity should usually take, in seconds. Any entity constraint check that takes longer than this time is logged at ‘info’ level. Specifying `null` disables this logging.", public=true, }, WBQualityConstraintsCheckOnEntityDurationWarningSeconds={ value=55, description="The maximum time that a full constraint check on an entity should ever take, in seconds. Any entity constraint check that takes longer than this time is logged at ‘warning’ level. Specifying `null` disables this logging.", public=true, }, WBQualityConstraintsEnableConstraintsImportFromStatements={ value=true, description="Whether to import property constraint statements into the constraint database or not.", public=true, }, WBQualityConstraintsEnableConstraintsCheckJobs={ value=false, description="Whether to automatically run constraint checks in jobs.", public=true, }, WBQualityConstraintsEnableConstraintsCheckJobsRatio={ value=0, description="Percentage (0%-100%) of edits that trigger a constraint check", public=true, }, WBQualityConstraintsCheckQualifiers={ value=true, description="Whether to check constraints on qualifiers.", public=true, }, WBQualityConstraintsCheckReferences={ value=true, description="Whether to check constraints on references.", public=true, }, WBQualityConstraintsSparqlEndpoint={ value="", description="The URL of the SPARQL endpoint. Should accept the URL parameters 'query', 'format' and 'maxQueryTimeMillis'. Set to '' (empty string, default) to disable SPARQL functionality.", public=true, }, WBQualityConstraintsSparqlMaxMillis={ value=10000, description="The maximum runtime for queries on the configured SPARQL endpoint, in milliseconds.", public=true, }, WBQualityConstraintsSparqlThrottlingFallbackDuration={ value=10, description="The default duration in seconds, which prevents requests to the SPARQL endpoint, if the endpoint response with a 'try-later' (Responsecode 429). This field will only be used, if the endpoint sends a incorrect or incomplete response. The value must be a integer, which is greater than zero.", public=true, }, WBQualityConstraintsSparqlTimeoutExceptionClasses={ value={ "com.bigdata.bop.engine.QueryTimeoutException","java.util.concurrent.TimeoutException",}, description="Strings that, when they occur inside an error response of the SPARQL endpoint, indicate that the error is a query timeout. On the Wikidata Query Service, these are fully qualified names of exception classes.", public=true, }, WBQualityConstraintsSparqlHasWikibaseSupport={ value=false, description="Whether the SPARQL endpoint has special Wikibase support, i. e. whether it is an installation of the Wikibase RDF Query server. If this is enabled, prefixes are not included in SPARQL queries, since the server already defines them by default (which reduces network traffic), and some queries include BlazeGraph-specific query hints. Otherwise, the queries should be suitable for any SPARQL server.", public=true, }, WBQualityConstraintsCheckFormatConstraint={ value=true, description="Whether or not to check the 'format' constraint. If this flag is set to false, any check of the 'format' constraint will return a 'todo' status with the 'wbqc-violation-message-security-reason' message.", public=true, }, WBQualityConstraintsFormatCacheMapSize={ value=100, description="Size of the per-regex cache map for format/regex check results. For each regex, up to this many values will have cached whether they match the regex or not, on a least-recently-used basis.", public=true, }, WBQualityConstraintsCacheCheckConstraintsResults={ value=true, description="Whether to a caching service while running constraint checks. Results are only cached for constraint checks on full entities, and only when the set of constraints to be checked is not specified (i. e. the constraintid parameter is unset).", public=true, }, WBQualityConstraintsCacheCheckConstraintsTTLSeconds={ value=86400, description="The time-to-live, in seconds, of cached results of the wbcheckconstraints API action. Ignored if WBQualityConstraintsCacheCheckConstraintsResults is not true.", public=true, }, WBQualityConstraintsCacheCheckConstraintsMaximumRevisionIds={ value=10000, description="The maximum number of revision IDs to load when checking whether a cached wbcheckconstraints result is still fresh. Results that depend on more entity IDs than this limit are not cached.", public=true, }, WBQualityConstraintsInstanceOfId={ value="P31", description="The property ID of the 'instance of' property (data type: item), which specifies the class(es) of an item.", public=true, }, WBQualityConstraintsSubclassOfId={ value="P279", description="The property ID of the 'subclass of' property (data type: item), which specifies the superclass(es) of an item.", public=true, }, WBQualityConstraintsPropertyConstraintId={ value="P2302", description="The property ID of the 'property constraint' property (data type: item), which specifies the various constraints of a property.", public=true, }, WBQualityConstraintsExceptionToConstraintId={ value="P2303", description="The property ID of the 'exception to constraint' property (data type: item), which specifies the exceptions of a constraint.", public=true, }, WBQualityConstraintsConstraintStatusId={ value="P2316", description="The property ID of the 'constraint status' property (data type: item), which specifies the constraint status of a constraint statement. Currently, only one constraint status is known (see WBQualityConstraintsMandatoryConstraintId), and the default status is signified by the absence of a 'constraint status' qualifier.", public=true, }, WBQualityConstraintsMandatoryConstraintId={ value="Q21502408", description="The item ID of the 'mandatory constraint' item, which, when used in a 'constraint status' qualifier of a 'property constraint' statement on a property, indicates that the constraint is mandatory and should have no violations except for the known exceptions.", public=true, }, WBQualityConstraintsSuggestionConstraintId={ value="Q62026391", description="The item ID of the 'suggestion constraint' item, which, when used in a 'constraint status' qualifier of a 'property constraint' statement on a property, indicates that the constraint is merely a suggestion for improvement and violations need not be taken very seriously.", public=true, }, WBQualityConstraintsDistinctValuesConstraintId={ value="Q21502410", description="The item ID of the 'distinct values constraint' item, which, when used in a 'property constraint' statement on a property, indicates that all values for this property should differ from each other, or, equivalently, that each value for this property should be unique to one item.", public=true, }, WBQualityConstraintsMultiValueConstraintId={ value="Q21510857", description="The item ID of the 'multi-value constraint' item, which, when used in a 'property constraint' statement on a property, indicates that a property should have more than one value per entity.", public=true, }, WBQualityConstraintsUsedAsQualifierConstraintId={ value="Q21510863", description="The item ID of the 'used as qualifier constraint' item, which, when used in a 'property constraint' statement on a property, indicates that a property should only be used as a qualifier.", public=true, }, WBQualityConstraintsSingleValueConstraintId={ value="Q19474404", description="The item ID of the 'single value constraint' item, which, when used in a 'property constraint' statement on a property, indicates that a property should have no more than one value per entity.", public=true, }, WBQualityConstraintsSymmetricConstraintId={ value="Q21510862", description="The item ID of the 'symmetric constraint' item, which, when used in a 'property constraint' statement on a property, indicates that a referenced entity should refer back to the original entity.", public=true, }, WBQualityConstraintsTypeConstraintId={ value="Q21503250", description="The item ID of the 'type constraint' item, which, when used in a 'property constraint' statement on a property, indicates that the subject entity should have a certain type, with the relation and type given in the parameters.", public=true, }, WBQualityConstraintsValueTypeConstraintId={ value="Q21510865", description="The item ID of the 'value type constraint' item, which, when used in a 'property constraint' statement on a property, indicates that the referenced entity should have a certain type, with the class and relation given in the parameters.", public=true, }, WBQualityConstraintsInverseConstraintId={ value="Q21510855", description="The item ID of the 'inverse constraint' item, which, when used in a 'property constraint' statement on a property, indicates that a referenced entity should refer back to the original entity with the property given in the parameters.", public=true, }, WBQualityConstraintsItemRequiresClaimConstraintId={ value="Q21503247", description="The item ID of the 'item requires claim constraint' item, which, when used in a 'property constraint' statement on a property, indicates that an entity with a given statement should also have certain other statements.", public=true, }, WBQualityConstraintsValueRequiresClaimConstraintId={ value="Q21510864", description="The item ID of the 'value requires claim constraint' item, which, when used in a 'property constraint' statement on a property, indicates that the target/value entity of a given statement should have certain statements.", public=true, }, WBQualityConstraintsConflictsWithConstraintId={ value="Q21502838", description="The item ID of the 'conflicts-with constraint' item, which, when used in a 'property constraint' statement on a property, indicates that an entity with a given statement should not have certain other statements.", public=true, }, WBQualityConstraintsOneOfConstraintId={ value="Q21510859", description="The item ID of the 'one-of constraint' item, which, when used in a 'property constraint' statement on a property, indicates that the value of a given statement should be one of a given set of values.", public=true, }, WBQualityConstraintsMandatoryQualifierConstraintId={ value="Q21510856", description="The item ID of the 'mandatory qualifier' item, which, when used in a 'property constraint' statement on a property, indicates a given statement should have the given qualifier.", public=true, }, WBQualityConstraintsAllowedQualifiersConstraintId={ value="Q21510851", description="The item ID of the 'allowed qualifiers constraint' item, which, when used in a 'property constraint' statement on a property, indicates a given statement should only have the given qualifiers.", public=true, }, WBQualityConstraintsRangeConstraintId={ value="Q21510860", description="The item ID of the 'range constraint' item, which, when used in a 'property constraint' statement on a property, indicates that the value of a given statement should be within a given range.", public=true, }, WBQualityConstraintsDifferenceWithinRangeConstraintId={ value="Q21510854", description="The item ID of the 'difference within range constraint' item, which, when used in a 'property constraint' statement on a property, indicates that the difference value of a given statement and of another given statement should be within a given range.", public=true, }, WBQualityConstraintsCommonsLinkConstraintId={ value="Q21510852", description="The item ID of the 'commons link constraint' item, which, when used in a 'property constraint' statement on a property, indicates that the value of a given statement should be a valid link to Wikimedia Commons.", public=true, }, WBQualityConstraintsContemporaryConstraintId={ value="Q25796498", description="The item ID of the 'contemporary constraint' item, which, when used in a 'property constraint' statement on a property, indicates that the entities which are linked through this property should be contemporary according to their start and end time values.", public=true, }, WBQualityConstraintsFormatConstraintId={ value="Q21502404", description="The item ID of the 'format constraint' item, which, when used in a 'property constraint' statement on a property, indicates that the value of a given statement should conform to a given pattern.", public=true, }, WBQualityConstraintsUsedForValuesOnlyConstraintId={ value="Q21528958", description="The item ID of the 'used for values only constraint' item, which, when used in a 'property constraint' statement on a property, indicates that the property should only be used for the main value of a statement, not for qualifiers or references.", public=true, }, WBQualityConstraintsUsedAsReferenceConstraintId={ value="Q21528959", description="The item ID of the 'used as reference constraint' item, which, when used in a 'property constraint' statement on a property, indicates that the property should only be used for references, not for the main value of a statement or for qualifiers.", public=true, }, WBQualityConstraintsNoBoundsConstraintId={ value="Q51723761", description="The item ID of the 'no bounds constraint' item, which, when used in a 'property constraint' statement on a property, indicates that the property should only be used with no bounded quantity as its value.", public=true, }, WBQualityConstraintsAllowedUnitsConstraintId={ value="Q21514353", description="The item ID for the 'allowed units constraint' item, which, when used in a 'property constraint' statement on a property, indicates that the value of a given statement should only have certain units.", public=true, }, WBQualityConstraintsSingleBestValueConstraintId={ value="Q52060874", description="The item ID for the 'single best value constraint' item, which, when used in a 'property constraint' statement on a property, indicates that the property should have a single, distinguished best value per item.", public=true, }, WBQualityConstraintsAllowedEntityTypesConstraintId={ value="Q52004125", description="The item ID for the 'allowed entity types constraint' item, which, when used in a 'property constraint' statement on a property, indicates that the property can be used only in certain entity types (e.g. only items).", public=true, }, WBQualityConstraintsCitationNeededConstraintId={ value="Q54554025", description="The item ID of the 'citation needed constraint' item, which, when used in a 'property constraint' statement on a property, indicates that the value of a given statement should have at least one reference for its values.", public=true, }, WBQualityConstraintsPropertyScopeConstraintId={ value="Q53869507", description="The item ID of the 'property scope constraint' item, which, when used in a 'property constraint' statement on a property, indicates that the property should only be used in some locations (main value, qualifiers, and/or references, but not all of them).", public=true, }, WBQualityConstraintsLexemeLanguageConstraintId={ value="Q55819106", description="The item ID of the 'lexeme language constraint' item, which, when used in a 'property constraint' statement on a property, indicates that the property should only be used in lexeme that have the given language set.", public=true, }, WBQualityConstraintsLabelInLanguageConstraintId={ value="Q108139345", description="The item ID of the 'label in language constraint' item, which, when used in a 'property constraint' statement on a property, indicates that the property should only be used in entities that have label in the given languages.", public=true, }, WBQualityConstraintsLanguagePropertyId={ value="P424", description="The property ID of the 'Wikimedia language code' property (data type: string), which specifies the language code of a 'label in language' constraint.", public=true, }, WBQualityConstraintsClassId={ value="P2308", description="The property ID of the 'class' property (data type: item), which specifies the class/type of a 'type' or 'value type' constraint.", public=true, }, WBQualityConstraintsRelationId={ value="P2309", description="The property ID of the 'relation' property (data type: item), which specifies the relation ('instance of' or 'subclass of') of a 'type' or 'value type' constraint.", public=true, }, WBQualityConstraintsInstanceOfRelationId={ value="Q21503252", description="The item ID of the 'instance of' item, which, when used in a 'relation' qualifier of a 'property constraint' statement on a property, indicates that the 'type' or 'value type' constraint defined in this statement demands an 'instance' relation.", public=true, }, WBQualityConstraintsSubclassOfRelationId={ value="Q21514624", description="The item ID of the 'subclass of' item, which, when used in a 'relation' qualifier of a 'property constraint' statement on a property, indicates that the 'type' or 'value type' constraint defined in this statement demands a 'subclass' relation.", public=true, }, WBQualityConstraintsInstanceOrSubclassOfRelationId={ value="Q30208840", description="The item ID of the 'instance or subclass of' item, which, when used in a 'relation' qualifier of a 'property constraint' statement on a property, indicates that the 'type' or 'value type' constraint defined in this statement demands a 'instance or subclass' relation.", public=true, }, WBQualityConstraintsPropertyId={ value="P2306", description="The property ID of the 'property' property (data type: property), which specifies the property parameter of an 'inverse', 'item requires claim', 'value requires claim', 'difference within range', 'mandatory qualifiers', or 'qualifiers' constraint.", public=true, }, WBQualityConstraintsQualifierOfPropertyConstraintId={ value="P2305", description="The property ID of the 'qualifier of property constraint' property (data type: item), which specifies the item parameter of an 'item requires claim', 'value requires claim', or 'one of' constraint.", public=true, }, WBQualityConstraintsMinimumQuantityId={ value="P2313", description="The property ID of the 'minimum quantity' property (data type: quantity), which specifies the minimum quantity parameter of a 'range' or 'diff within range' constraint.", public=true, }, WBQualityConstraintsMaximumQuantityId={ value="P2312", description="The property ID of the 'maximum quantity' property (data type: quantity), which specifies the maximum quantity parameter of a 'range' or 'diff within range' constraint.", public=true, }, WBQualityConstraintsMinimumDateId={ value="P2310", description="The property ID of the 'minimum date' property (data type: point in time), which specifies the minimum date parameter of a 'range' or 'diff within range' constraint.", public=true, }, WBQualityConstraintsMaximumDateId={ value="P2311", description="The property ID of the 'maximum date' property (data type: point in time), which specifies the maximum date parameter of a 'range' or 'diff within range' constraint.", public=true, }, WBQualityConstraintsNamespaceId={ value="P2307", description="The property ID of the 'namespace' property (data type: string), which specifies the namespace parameter of a 'commons link' constraint.", public=true, }, WBQualityConstraintsFormatAsARegularExpressionId={ value="P1793", description="The property ID of the 'format as a regular expression' property (data type: string), which specifies the format parameter of a 'format' constraint.", public=true, }, WBQualityConstraintsSyntaxClarificationId={ value="P2916", description="The property ID of the 'syntax clarification' property (data type: monolingual text), which specifies human-readable explanations of a 'format' constraint.", public=true, }, WBQualityConstraintsConstraintScopeId={ value="P4680", description="The property ID of the 'constraint scope' property (data type: item), which specifies the context(s) in which a constraint is checked.", public=true, }, WBQualityConstraintsConstraintEntityTypesId={ value="P4680", description="The property ID of the property (data type: item) which specifies the entity types on which a constraint is checked. By default, this is the same as the 'constraint scope' property, but may also be set to a different one. The recognized values (items representing entity types) are the same as for the 'allowed entity types' constraint.", public=true, }, WBQualityConstraintsSeparatorId={ value="P4155", description="The property ID of the 'separator' property (data type: property), which specifies the allowed separator(s) for “single value” and “single best value” constraints.", public=true, }, WBQualityConstraintsConstraintCheckedOnMainValueId={ value="Q46466787", description="The item ID of the 'constraint checked on main value' item, which, when used in a 'constraint scope' qualifier of a 'property constraint' statement on a property, indicates that the constraint should be checked on the main snak of a statement.", public=true, }, WBQualityConstraintsConstraintCheckedOnQualifiersId={ value="Q46466783", description="The item ID of the 'constraint checked on qualifiers' item, which, when used in a 'constraint scope' qualifier of a 'property constraint' statement on a property, indicates that the constraint should be checked on the qualifier snaks of a statement.", public=true, }, WBQualityConstraintsConstraintCheckedOnReferencesId={ value="Q46466805", description="The item ID of the 'constraint checked on references' item, which, when used in a 'constraint scope' qualifier of a 'property constraint' statement on a property, indicates that the constraint should be checked on the reference snaks of a statement.", public=true, }, WBQualityConstraintsNoneOfConstraintId={ value="Q52558054", description="The item ID of the 'none-of constraint' item, which, when used in a 'property constraint' statement on a property, indicates that the value of a given statement should not be one of a given set of values.", public=true, }, WBQualityConstraintsIntegerConstraintId={ value="Q52848401", description="The item ID of the 'integer constraint' item, which, when used in a 'property constraint' statement on a property, indicates that the value of a given statement should have only integer values.", public=true, }, WBQualityConstraintsWikibaseItemId={ value="Q29934200", description="The item ID of the 'wikibase item' item, which represents the 'item' entity type for 'allowed entity types' constraints.", public=true, }, WBQualityConstraintsWikibasePropertyId={ value="Q29934218", description="The item ID of the 'wikibase property' item, which represents the 'property' entity type for 'allowed entity types' constraints.", public=true, }, WBQualityConstraintsWikibaseLexemeId={ value="Q51885771", description="The item ID of the 'wikibase lexeme' item, which represents the 'lexeme' entity type for 'allowed entity types' constraints.", public=true, }, WBQualityConstraintsWikibaseFormId={ value="Q54285143", description="The item ID of the 'wikibase form' item, which represents the 'form' entity type for 'allowed entity types' constraints.", public=true, }, WBQualityConstraintsWikibaseSenseId={ value="Q54285715", description="The item ID of the 'wikibase sense' item, which represents the 'sense' entity type for 'allowed entity types' constraints.", public=true, }, WBQualityConstraintsWikibaseMediaInfoId={ value="Q59712033", description="The item ID of the 'wikibase MediaInfo' item, which represents the 'mediainfo' entity type for 'allowed entity types' constraints.", public=true, }, WBQualityConstraintsPropertyScopeId={ value="P5314", description="The property ID of the 'property scope' property, which specifies the scope parameter of a 'scope' constraint.", public=true, }, WBQualityConstraintsAsMainValueId={ value="Q54828448", description="The item ID of the 'as main value' item, which, when used in a 'property scope' parameter of a 'scope' constraint, signifies that a property may be used for the main snaks of statements.", public=true, }, WBQualityConstraintsAsQualifiersId={ value="Q54828449", description="The item ID of the 'as qualifiers' item, which, when used in a 'property scope' parameter of a 'scope' constraint, signifies that a property may be used for qualifiers of statements.", public=true, }, WBQualityConstraintsAsReferencesId={ value="Q54828450", description="The item ID of the 'as references' item, which, when used in a 'property scope' parameter of a 'scope' constraint, signifies that a property may be used for references of statements.", public=true, }, WBQualityConstraintsPropertiesWithViolatingQualifiers={ value={ }, description="Property IDs of statements whose qualifiers are expected to violate constraints, and where constraints checks are therefore skipped, as if the subject entity was an exception to the constraints defined on the qualifier properties.", public=true, }, WBQualityConstraintsStartTimePropertyIds={ value={ "P569","P571","P580","P585",}, description="Property IDs of statements whose minimum value defines the start time of an entity, which is used by 'contemporary' contraints.", public=true, }, WBQualityConstraintsEndTimePropertyIds={ value={ "P570","P576","P582","P585",}, description="Property IDs of statements whose maximum value defines the end time of an entity, which is used by 'contemporary' contraints.", public=true, }, WBQualityConstraintsYearUnit={ value="http://www.wikidata.org/entity/Q577", description="The unit used for a quantity that represents a difference between two dates, in years. Note that for entity units, the full concept URI must be used, not just the entity ID.", public=true, }, WBQualityConstraintsSecondUnit={ value="http://www.wikidata.org/entity/Q11574", description="The unit used for a quantity that represents a difference between two dates, in seconds. Note that for entity units, the full concept URI must be used, not just the entity ID.", public=true, }, WBQualityConstraintsEnableSuggestionConstraintStatus={ value=false, description="Whether to enable the 'constraint suggestion' constraint status or not. This is a temporary configuration that will be removed once constraint suggestions are permanently enabled on Wikidata.", public=true, }, WBQualityConstraintsFormatCheckerShellboxRatio={ value=0, description="Float value between 0 and 1 determining ratio of requests made to shellbox (vs. WDQS) in FormatChecker in evaluating regexes. Zero disables requesting to shellbox (all going to WDQS) and one means all requests will go to shellbox.", public=true, }, }, composer="wikibase/constraints", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikibaseQualityConstraints", }, WikibaseQualityExternalValidation={ name="WikibaseQualityExternalValidation", author="BP2014N1", url="https://www.mediawiki.org/wiki/Extension:WikibaseQualityExternalValidation", descriptionmsg="wbqev-desc", version="1.0.0", ["license-name"]="GPL-2.0-or-later", type="wikibase", requires={ MediaWiki=">= 1.31.0", }, ExtensionMessagesFiles={ WikibaseQualityExternalValidationAlias="WikibaseQualityExternalValidation.alias.php", }, Hooks={ LoadExtensionSchemaUpdates="WikibaseQuality\\ExternalValidation\\WikibaseQualityExternalValidationHooks::onCreateSchema", }, SpecialPages={ CrossCheck="WikibaseQuality\\ExternalValidation\\Specials\\SpecialCrossCheck::newFromGlobalState", ExternalDatabases="WikibaseQuality\\ExternalValidation\\Specials\\SpecialExternalDatabases::newFromGlobalState", }, APIModules={ wbqevcrosscheck={ class="WikibaseQuality\\ExternalValidation\\Api\\RunCrossCheck", factory="WikibaseQuality\\ExternalValidation\\Api\\RunCrossCheck::newFromGlobalState", }, }, config={ WBQEVInstanceOfPID={ value="P31", public=true, description="The property ID of the “instance of” property (data type: item).", }, WBQEVStatedInPID={ value="P248", public=true, description="The property ID of the “stated in” property (data type: item).", }, WBQEVIdentifierPropertyQID={ value="Q19847637", public=true, description="The item ID of the “Wikidata property for an identifier” item.", }, }, composer="wikibase/external-validation", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikibaseQualityExternalValidation", }, WikibaseSchema={ name="WikibaseSchema", author={ "The Wikidata team",}, url="https://www.mediawiki.org/wiki/Extension:WikibaseSchema", descriptionmsg="entityschema-desc", ["license-name"]="GPL-2.0-or-later", type="wikibase", requires={ MediaWiki=">= 1.33.0", }, ExtensionMessagesFiles={ WikibaseSchemaAlias="EntitySchema.i18n.alias.php", }, Hooks={ SkinTemplateNavigation="EntitySchema\\MediaWiki\\EntitySchemaHooks::onSkinTemplateNavigation", LoadExtensionSchemaUpdates="EntitySchema\\MediaWiki\\EntitySchemaHooks::onCreateDBSchema", ExtensionTypes="EntitySchema\\MediaWiki\\EntitySchemaHooks::onExtensionTypes", BeforeDisplayNoArticleText="\\EntitySchema\\MediaWiki\\EntitySchemaHooks::onBeforeDisplayNoArticleText", PageHistoryLineEnding="\\EntitySchema\\MediaWiki\\EntitySchemaHooks::onPageHistoryLineEnding", FormatAutocomments="\\EntitySchema\\MediaWiki\\EntitySchemaHooks::onFormatAutocomments", ContentModelCanBeUsedOn="\\EntitySchema\\MediaWiki\\EntitySchemaHooks::onContentModelCanBeUsedOn", ImportHandleRevisionXMLTag="\\EntitySchema\\MediaWiki\\EntitySchemaHooks::onImportHandleRevisionXMLTag", NamespaceIsMovable="\\EntitySchema\\MediaWiki\\EntitySchemaHooks::onNamespaceIsMovable", TitleGetRestrictionTypes="\\EntitySchema\\MediaWiki\\EntitySchemaHooks::onTitleGetRestrictionTypes", }, ContentHandlers={ WikibaseSchema="EntitySchema\\MediaWiki\\Content\\EntitySchemaContentHandler", }, namespaces={ { id=640, constant="NS_ENTITYSCHEMA_JSON", name="EntitySchema", subpages=false, content=true, defaultcontentmodel="WikibaseSchema", },{ id=641, constant="NS_ENTITYSCHEMA_JSON_TALK", name="EntitySchema_talk", subpages=true, content=false, defaultcontentmodel="wikitext", },}, config={ WBSchemaSchemaTextMaxSizeBytes={ value=50000, description="Max length of the Schema text in bytes", public=true, }, WBSchemaNameBadgeMaxSizeChars={ value=250, description="Max length of the label description or combined aliases in characters", public=true, }, WBSchemaShExSimpleUrl={ value=nil, description="The URL for a shex-simple installation. Users are sent here to check entities against schema, with a schemaURL=… url query parameter appended to the URL specifying a URL for the schema text.", public=true, }, }, SpecialPages={ NewEntitySchema="EntitySchema\\MediaWiki\\Specials\\NewEntitySchema", EntitySchemaText="EntitySchema\\MediaWiki\\Specials\\EntitySchemaText", SetEntitySchemaLabelDescriptionAliases="EntitySchema\\MediaWiki\\Specials\\SetEntitySchemaLabelDescriptionAliases", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikibaseSchema", }, WikibaseStatementUpdater={ name="WikibaseStatementUpdater", author="Niklas Laxström", version="1.0.0+20201212", url="https://www.mediawiki.org/wiki/Extension:WikibaseStatementUpdater", descriptionmsg="wsu-desc", namemsg="wsu-extension-name", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.38.0", }, config={ WSUClientConfig={ value={ key="", secret="", }, }, }, ServiceWiringFiles={ "src/ServiceWiring.php",}, ExtensionMessagesFiles={ WikibaseStatementUpdaterAlias="WikibaseStatementUpdater.alias.php", }, APIModules={ wikibasestatementupdater={ class="MediaWiki\\Extension\\WikibaseStatementUpdater\\WikibaseStatementUpdaterActionApi", services={ "DBLoadBalancer",}, }, }, SpecialPages={ WikibaseStatementUpdater={ factory="MediaWiki\\Extension\\WikibaseStatementUpdater\\WikibaseStatementUpdaterSpecialPage::factory", }, }, HookHandlers={ WsuHookHandler={ class="MediaWiki\\Extension\\WikibaseStatementUpdater\\Hooks", }, }, Hooks={ LoadExtensionSchemaUpdates={ handler="WsuHookHandler", }, }, JobClasses={ WSUUpdateJob="MediaWiki\\Extension\\WikibaseStatementUpdater\\Updater\\UpdateJob", }, composer="mediawiki/wikibase-statement-updater", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikibaseStatementUpdater", }, ["Wikidata.org"]={ name="Wikidata.org", version="1.0.0", author="Bene*", url="https://github.com/wmde/Wikidata.org", descriptionmsg="wikidata-org-desc", ["license-name"]="GPL-2.0-or-later", type="wikibase", requires={ MediaWiki=">= 1.31.0", }, Hooks={ BeforePageDisplay="WikidataOrg\\Hooks::onBeforePageDisplay", ApiMaxLagInfo="WikidataOrg\\Hooks::onApiMaxLagInfo", SkinAddFooterLinks="WikidataOrg\\Hooks::onSkinAddFooterLinks", }, config={ WikidataOrgQueryServiceMaxLagFactor={ value=3600, }, }, composer="wikibase/wikidata.org", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Wikidata.org", }, WikidataPageBanner={ name="WikidataPageBanner", namemsg="wikidatapagebanner-extensionname", version="0.0.3", author={ "Sumit Asthana",}, url="https://www.mediawiki.org/wiki/Extension:WikidataPageBanner", descriptionmsg="wikidatapagebanner-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.38.0", }, ExtensionMessagesFiles={ WikidataPageBannerMagic="WikidataPageBanner.i18n.magic.php", }, QUnitTestModule={ localBasePath="tests/qunit", remoteExtPath="WikidataPageBanner/tests/qunit", scripts={ "ext.WikidataPageBanner.positionBanner/test_ext.WikidataPageBanner.positionBanner.js",}, dependencies={ "ext.WikidataPageBanner.positionBanner",}, }, Hooks={ BeforePageDisplay={ "MediaWiki\\Extension\\WikidataPageBanner\\WikidataPageBanner::onBeforePageDisplay",}, ParserOutputPostCacheTransform={ "MediaWiki\\Extension\\WikidataPageBanner\\WikidataPageBanner::onParserOutputPostCacheTransform",}, OutputPageParserOutput={ "MediaWiki\\Extension\\WikidataPageBanner\\WikidataPageBanner::onOutputPageParserOutput",}, SiteNoticeAfter={ "MediaWiki\\Extension\\WikidataPageBanner\\WikidataPageBanner::onSiteNoticeAfter",}, ParserFirstCallInit={ "MediaWiki\\Extension\\WikidataPageBanner\\WikidataPageBanner::onParserFirstCallInit",}, }, config={ WPBEnablePageImagesBanners={ value=false, }, WPBEnableHeadingOverride={ value=true, }, WPBDisplaySubtitleAfterBannerSkins={ value={ "minerva",}, }, WPBEnableDefaultBanner={ value=false, }, WPBImage={ value="", }, WPBNamespaces={ value={ 0,}, }, WPBDisabledNamespaces={ value={ }, }, WPBEnableMainPage={ value=false, }, WPBStandardSizes={ value={ 640,1280,2560,}, }, WPBBannerProperty={ value="", }, WPBSkinDisabled={ value={ }, }, }, ConfigRegistry={ wikidatapagebanner="GlobalVarConfig::newInstance", }, composer="mediawiki/wikidata-page-banner", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikidataPageBanner", }, WikimediaApiPortalOAuth={ name="WikimediaApiPortalOAuth", ["license-name"]="GPL-2.0-or-later", author={ "Dejan Savuljesku","Robert Vogel",}, url="https://www.mediawiki.org/wiki/Extension:WikimediaApiPortalOAuth", descriptionmsg="wikimediaapiportaloauth-desc", requires={ MediaWiki=">= 1.35.0", }, ExtensionMessagesFiles={ WikimediaApiPortalOAuthAlias="WikimediaApiPortalOAuth.alias.php", }, AvailableRights={ "wikimediaapiportaloauth-manage-oauth",}, GroupPermissions={ user={ ["wikimediaapiportaloauth-manage-oauth"]=true, }, }, SpecialPages={ AppManagement="MediaWiki\\Extension\\WikimediaApiPortalOAuth\\Special\\AppManagement", }, config={ WikimediaApiPortalOAuthMetaApiURL={ value="https://meta.wikimedia.org/w/api.php", description="URL to api.php on Meta", }, WikimediaApiPortalOAuthMetaRestURL={ value="https://meta.wikimedia.org/w/rest.php", description="URL to rest.php on Meta", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikimediaApiPortalOAuth", }, WikimediaBadges={ name="WikimediaBadges", author={ "Bene*","Marius Hoch",}, url="https://www.mediawiki.org/wiki/Extension:WikimediaBadges", descriptionmsg="wikimediabadges-desc", ["license-name"]="GPL-2.0-or-later", type="wikibase", requires={ MediaWiki=">= 1.34.0", }, Hooks={ BeforePageDisplay="WikimediaBadges\\BeforePageDisplayHookHandler::onBeforePageDisplay", WikibaseClientSiteLinksForItem="WikimediaBadges\\WikibaseClientSiteLinksForItemHandler::provideSiteLinks", }, config={ WikimediaBadgesTopicsMainCategoryProperty={ value="P910", }, WikimediaBadgesCategoryRelatedToListProperty={ value="P1754", }, WikimediaBadgesCommonsCategoryProperty={ value="P373", }, }, composer="wikibase/wikimedia-badges", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikimediaBadges", }, WikimediaEditorTasks={ name="WikimediaEditorTasks", version="0.1.0", author={ "Michael Holloway",}, url="https://www.mediawiki.org/wiki/Extension:WikimediaEditorTasks", descriptionmsg="wikimediaeditortasks-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.37.0", }, ServiceWiringFiles={ "ServiceWiring.php",}, ConfigRegistry={ WikimediaEditorTasks="GlobalVarConfig::newInstance", }, config={ WikimediaEditorTasksUserCountsCluster={ value=false, description="Database cluster to use for storing user count data. False means the cluster of the current wiki will be used.", }, WikimediaEditorTasksUserCountsDatabase={ value=false, description="Database to use for storing user count data. False means use the database of the current wiki. To use a table prefix, use ' , remove all tags of that type.\n","* If an array, remove tags whose class matches any of the ","strings in the array.\n* If false, tags of that type will ","not be removed. This can be used in LocalSetting.php to ","override default criteria.",}, value={ span="mw-editsection", table=true, sup="reference", div={ "thumb","toc",}, }, }, WikispeechSegmentBreakingTags={ description={ "HTML tags that will break text in segments. This ensure that, ","for example a header text without punctuation suffix will not ","be merged to the same segment as the text content of a ","preceding paragraph.",}, value={ "h1","h2","h3","h4","h5","h6","p","br","li",}, }, WikispeechNamespaces={ description={ "List of the namespace ","indices, for which Wikispeech is activated.",}, value={ 0,}, }, WikispeechKeyboardShortcuts={ description={ "Shortcuts for Wikispeech commands. Each shortcut defines the ","key pressed (as key code ) ","and any modifier keys (ctrl, alt or shift).",}, value={ playStop={ key=13, modifiers={ "alt","shift",}, }, skipAheadSentence={ key=39, modifiers={ "alt","shift",}, }, skipBackSentence={ key=37, modifiers={ "alt","shift",}, }, skipAheadWord={ key=40, modifiers={ "alt","shift",}, }, skipBackWord={ key=38, modifiers={ "alt","shift",}, }, }, }, WikispeechSkipBackRewindsThreshold={ description={ "If an utterance has played longer than this (in seconds), ","skipping back will rewind to the start of the current ","utterance, instead of skipping to previous utterance.",}, value=3, }, WikispeechHelpPage={ description={ "Help page for Wikispeech. If defined, a button that takes the ","user here is added next to the player buttons.",}, value="Help:Wikispeech", }, WikispeechFeedbackPage={ description={ "Feedback page for Wikispeech. If defined, a button that takes ","the user here is added next to the player buttons.",}, value="Wikispeech feedback", }, WikispeechContentSelector={ description={ "The selector for the element that contains the text of the page. ","Used internally, but may change with MediaWiki version.",}, value="#mw-content-text", }, WikispeechVoices={ description={ "Registered voices per language. ","System default voice falls back on the first registered voice for a language ","if not defined by Speechoid.",}, value={ ar={ "ar-nah-hsmm",}, en={ "dfki-spike-hsmm","cmu-slt-hsmm",}, sv={ "stts_sv_nst-hsmm",}, }, }, WikispeechMinimumMinutesBetweenFlushExpiredUtterancesJobs={ description={ "Minimum number of minutes between queuing jobs that ","automatically flushes expired utterances from the utterance store. ","The job will be queued during creation of a new utterance, ","given that enough minutes has passed since the previous queuing of the job. ","Disable automatic flushing by setting value to a falsy value (0, false, null, etc). ","To avoid running the flush job too often, see the MW job documentation: ","https://www.mediawiki.org/wiki/Manual:Job_queue#Job_execution_on_page_requests",}, value=30, }, WikispeechUtteranceTimeToLiveDays={ description={ "Minimum number of days for an utterance to live before being ","automatically flushed from the utterance store. ","More or less the cache flush setting for synthesized text. ","Setting this value too low will save disk space but cause frequently ","requested text segments to be re-synthesized more often with a CPU cost. ","Setting this value too high will block improvements to the voice synthesis. ","Setting this value to 0 will in effect turn off the cache ","and thus flush all utterances as soon as possible.",}, value=31, }, WikispeechUtteranceFileBackendName={ description={ "FileBackend group defined in LocalSettings.php used for utterance audio and metadata files. ","If not defined in LocalSettings.php, a FSBackend will be created that work against ","a temporary directory. See log warnings for exact path.",}, value="", }, WikispeechUtteranceFileBackendContainerName={ description="Container name used in FileBackend for utterance audio and metadata files.", value="wikispeech_utterances", }, WikispeechUtteranceUseSwiftFileBackendExpiring={ description={ "In case of the file backend is Swift and this value is set true,","the Wikispeech will set the 'X-Delete-After' header when creating files in Swift ","and the utterance flushing mechanism will not invoke delete command in Swift. ","I.e. the actual flushing of utterances is moved to the Swift layer. ","In order for this to make sense, the Swift file backend must be set to accept ","these headers. For more information on how to do this see ","https://docs.openstack.org/swift/latest/overview_expiring_objects.html","This feature will be officially supported by Wikispeech as of ","the first LTS release of MediaWiki after 1.35 (i.e. probably 1.39).",}, value=false, }, WikispeechPronunciationLexiconConfiguration={ description={ "Controls how the pronunciation lexicon is persisted and accessed. ","'Speechoid' must be a part of the chain in order to make an impact to the speech synthesis. ","Possible values are: ","'Speechoid', access only the underlying lexicon in Speechoid. No revision history. ","'Wiki+Speechoid', access the lexicon stored as articles in NS_PRONUNCIATION_LEXICON for revision history and passed down to Speechoid. ","'Wiki', access only the lexicon stored as articles in NS_PRONUNCIATION_LEXICON. ","'Cache', transient storage in MediaWiki WAN cache. For development only. ","'Cache+Speechoid', transient storage in WAN cache, passed down to Speechoid. For development only.",}, value="Wiki+Speechoid", }, WikispeechProducerMode={ description={ "Run Wikispeech in producer mode. This allows other ","wikis (consumers) to use this wiki to generate ","utterances. When an API requests includes the ","parameter `consumer-url`, page content is retrieved ","from the consumer wiki on that URL.",}, value=false, }, WikispeechListenDoJournalMetrics={ description="Whether or not to log usage metrics for TTS API", value=true, }, WikispeechListenMetricsJournalFile={ description={ "Location of file in which to log usage metrics from TTS API.","Defaults to UploadDirectory/wikispeechListenMetrics.log",}, value="", }, }, DefaultUserOptions={ wikispeechEnable=true, wikispeechShowPlayer=false, wikispeechVoiceAr="", wikispeechVoiceEn="", wikispeechVoiceSv="", wikispeechSpeechRate=1, }, APIModules={ ["wikispeech-segment"]={ class="\\MediaWiki\\Wikispeech\\Api\\ApiWikispeechSegment", services={ "MainWANObjectCache","HttpRequestFactory","RevisionStore","ConfigFactory",}, }, ["wikispeech-listen"]={ class="\\MediaWiki\\Wikispeech\\Api\\ApiWikispeechListen", services={ "MainWANObjectCache","RevisionStore","HttpRequestFactory",}, }, }, AvailableRights={ "wikispeech-listen","wikispeech-read-lexicon","wikispeech-edit-lexicon",}, GroupPermissions={ ["*"]={ ["wikispeech-listen"]=true, ["wikispeech-read-lexicon"]=true, }, ["wikispeech-edit-lexicon"]={ ["wikispeech-edit-lexicon"]=true, }, }, namespaces={ { id=5772, constant="NS_PRONUNCIATION_LEXICON", name="Pronunciation_lexicon", protection="wikispeech-edit-lexicon", },{ id=5773, constant="NS_PRONUNCIATION_LEXICON_TALK", name="Pronunciation_lexicon_talk", },}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Wikispeech", }, WikispeechSpeechDataCollector={ name="Wikispeech Speech Data Collector", version="0.1.0", author={ "Sebastian Berlin","André Costa","Karl Wettin",}, url="https://www.mediawiki.org/wiki/Extension:WikispeechSpeechDataCollector", namemsg="wikispeech-sdc", descriptionmsg="wikispeech-sdc-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.35.3", }, SpecialPages={ RecordSpeech="MediaWiki\\WikispeechSpeechDataCollector\\Specials\\SpecialRecordSpeech", }, ExtensionMessagesFiles={ WikispeechSpeechDataCollectorAlias="WikispeechSpeechDataCollector.alias.php", WikispeechSpeechDataCollectorNamespaces="WikispeechSpeechDataCollector.namespaces.php", }, QUnitTestModule={ localBasePath=".", remoteExtPath="WikispeechSpeechDataCollector", packageFiles={ "tests/qunit/ext.wikispeech-sdc.recorder.test.js","modules/ext.wikispeech-sdc.recorder.js",}, }, Hooks={ LoadExtensionSchemaUpdates="db", ApiBeforeMain="api", MediaWikiServices="mcr", }, HookHandlers={ api={ class="MediaWiki\\WikispeechSpeechDataCollector\\Hooks\\ApiHooks", services={ "ConfigFactory",}, }, db={ class="MediaWiki\\WikispeechSpeechDataCollector\\Hooks\\DatabaseHooks", }, mcr={ class="MediaWiki\\WikispeechSpeechDataCollector\\Hooks\\McrHooks", }, }, ConfigRegistry={ ["wikispeech-sdc"]="GlobalVarConfig::newInstance", }, APIModules={ ["wikispeech-sdc-crud"]={ class="\\MediaWiki\\WikispeechSpeechDataCollector\\Api\\ApiCrud", services={ "DBLoadBalancer","RevisionStore",}, }, }, AvailableRights={ "wikispeech-sdc-record","wikispeech-sdc-speech-recording",}, GroupPermissions={ ["*"]={ ["wikispeech-sdc-record"]=true, ["wikispeech-sdc-speech-recording"]=true, }, }, namespaces={ { id=5770, constant="NS_SPEECH_RECORDING", name="Speech_recording", protection="wikispeech-sdc-speech-recording", },{ id=5771, constant="NS_SPEECH_RECORDING_TALK", name="Speech_recording_talk", },}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikispeechSpeechDataCollector", }, Wikistories={ name="Wikistories", namemsg="wikistories-extensionname", descriptionmsg="wikistories-extensiondesc", ["license-name"]="MIT", requires={ MediaWiki=">= 1.38.0", }, ContentHandlers={ story={ class="MediaWiki\\Extension\\Wikistories\\StoryContentHandler", services={ "Wikistories.StoryConverter","Wikistories.StoryValidator","Wikistories.Cache","Wikistories.StoryRenderer",}, }, }, SpecialPages={ StoryBuilder={ class="MediaWiki\\Extension\\Wikistories\\SpecialStoryBuilder", services={ "WikiPageFactory","Wikistories.StoryRenderer","PageStore",}, }, }, Hooks={ GetBetaFeaturePreferences="MediaWiki\\Extension\\Wikistories\\Hooks::onGetBetaFeaturePreferences", BeforePageDisplayMobile="MediaWiki\\Extension\\Wikistories\\Hooks::onBeforePageDisplayMobile", LoginFormValidErrorMessages="MediaWiki\\Extension\\Wikistories\\Hooks::onLoginFormValidErrorMessages", PageSaveComplete="MediaWiki\\Extension\\Wikistories\\Hooks::onPageSaveComplete", PageDeleteComplete="MediaWiki\\Extension\\Wikistories\\Hooks::onPageDeleteComplete", GetPreferences="MediaWiki\\Extension\\Wikistories\\Hooks::onGetPreferences", }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, ExtensionMessagesFiles={ WikistoriesAliasSpecial="Wikistories.alias.special.php", WikistoriesNamespaces="Wikistories.i18n.namespaces.php", }, config={ WikistoriesMinFrames={ description="Minimum number of frames a story needs to have to be valid.", value=2, }, WikistoriesMaxFrames={ description="Maximum number of frames a story needs to have to be valid.", value=10, }, WikistoriesMaxTextLength={ description="Maximum number of characters a story frame can have.", value=1000, }, WikistoriesDiscoveryMode={ description="Defines how is the discovery module activated. 'beta' means it is a beta feature. 'public' means it is available by default to everyone, including anons. Any other value means the discovery feature is disabled. ", value="off", }, }, DefaultUserOptions={ ["wikistories-pref-showdiscovery"]=true, }, namespaces={ { id=1704, constant="NS_STORY", name="Story", content=true, defaultcontentmodel="story", protection="edit-story", },{ id=1705, constant="NS_STORY_TALK", name="Story_Talk", content=true, defaultcontentmodel="wikitext", },}, AvailableRights={ "edit-story",}, GroupPermissions={ user={ ["edit-story"]=true, }, }, RestRoutes={ { path="/wikistories/v0/page/{title}/stories", method="GET", class="MediaWiki\\Extension\\Wikistories\\RelatedStoriesRestRoutes", services={ "TitleFormatter","TitleParser","PageStore","Wikistories.Cache",}, },}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Wikistories", }, WindowsAzureStorage={ name="WindowsAzureStorage", version="1.2.0", author={ "Hallo Welt! Medienwerkstatt GmbH","Markus Glaser","Robert Vogel",}, url="https://www.mediawiki.org/wiki/Extension:WindowsAzureStorage", descriptionmsg="windowsazurestorage-desc", type="other", requires={ MediaWiki=">= 1.34.0", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WindowsAzureStorage", }, Workflows={ name="Workflows", version="1.1", ["license-name"]="GPL-3.0-only", author={ "Hallo Welt! GmbH",}, url="http://www.hallowelt.com", descriptionmsg="workflows-desc", requires={ MediaWiki=">= 1.35.0", extensions={ Forms="*", OOJSPlus="*", }, }, attributes={ BlueSpiceFoundation={ PermissionRegistry={ ["workflows-view"]={ type="global", roles={ "reader",}, }, ["workflows-execute"]={ type="global", roles={ "admin","reviewer","editor",}, }, ["workflows-admin"]={ type="global", roles={ "admin",}, }, }, }, Workflows={ LogicObjects={ ActivityRegistry={ user_vote={ class="\\MediaWiki\\Extension\\Workflows\\Activity\\VoteActivity\\UserVoteActivity", services={ "MWStakeNotificationsNotifier",}, }, group_vote={ class="\\MediaWiki\\Extension\\Workflows\\Activity\\VoteActivity\\GroupVoteActivity", services={ "MWStakeNotificationsNotifier","WorkflowUtilGroupDataProvider",}, }, user_feedback={ class="\\MediaWiki\\Extension\\Workflows\\Activity\\FeedbackActivity\\UserFeedbackActivity", services={ "MWStakeNotificationsNotifier",}, }, group_feedback={ class="\\MediaWiki\\Extension\\Workflows\\Activity\\FeedbackActivity\\GroupFeedbackActivity", services={ "MWStakeNotificationsNotifier","WorkflowUtilGroupDataProvider",}, }, send_mail={ class="\\MediaWiki\\Extension\\Workflows\\Activity\\SendMail\\SendMailActivity", services={ "Emailer","MainConfig",}, }, custom_form={ class="\\MediaWiki\\Extension\\Workflows\\Activity\\CustomForm\\CustomFormActivity", }, edit_request={ class="\\MediaWiki\\Extension\\Workflows\\Activity\\EditRequest\\EditRequestActivity", }, edit_page={ class="\\MediaWiki\\Extension\\Workflows\\Activity\\EditPageActivity", services={ "TitleFactory","UserFactory","PermissionManager",}, }, set_template_param={ class="\\MediaWiki\\Extension\\Workflows\\Activity\\SetTemplateParamsActivity", services={ "MWStakeWikitextParserFactory","TitleFactory","RevisionStore","UserFactory","PermissionManager",}, }, }, DecisionRegistry={ }, }, DefinitionRepositories={ wikipage={ class="\\MediaWiki\\Extension\\Workflows\\Definition\\Repository\\WikiPageDefinitionRepository", services={ "DBLoadBalancer","RevisionStore",}, }, ["workflow-file"]={ factory="\\MediaWiki\\Extension\\Workflows\\Definition\\Repository\\WorkflowFileDefinitionRepository::factory", services={ "MainConfig","HookContainer",}, }, }, WorkflowListeners={ }, WorkflowDefinitions={ ["group-feedback"]="Workflows/workflow/GroupFeedback.bpmn", ["user-feedback"]="Workflows/workflow/UserFeedback.bpmn", }, PropertyValidators={ ["existing-user"]={ class="\\MediaWiki\\Extension\\Workflows\\PropertyValidator\\ExistingUser", services={ "UserFactory",}, }, ["can-execute-task"]={ class="\\MediaWiki\\Extension\\Workflows\\PropertyValidator\\CanExecuteTask", services={ "UserFactory","PermissionManager",}, }, ["existing-title"]={ class="\\MediaWiki\\Extension\\Workflows\\PropertyValidator\\ExistingTitle", services={ "TitleFactory",}, }, required={ class="\\MediaWiki\\Extension\\Workflows\\PropertyValidator\\Required", }, ["email-recipient"]={ class="\\MediaWiki\\Extension\\Workflows\\PropertyValidator\\EmailRecipient", services={ "UserFactory",}, }, }, TriggerTypes={ edit={ factory="\\MediaWiki\\Extension\\Workflows\\Trigger\\PageRelatedTrigger::factory", services={ "TitleFactory",}, }, create={ factory="\\MediaWiki\\Extension\\Workflows\\Trigger\\PageRelatedTrigger::factory", services={ "TitleFactory",}, }, manual={ factory="\\MediaWiki\\Extension\\Workflows\\Trigger\\PageRelatedTrigger::factory", services={ "TitleFactory",}, }, time={ factory="\\MediaWiki\\Extension\\Workflows\\Trigger\\TimeBasedTrigger::factory", services={ "TitleFactory",}, }, }, TriggerEditors={ ["page-action"]={ supports={ "edit","create",}, module="ext.workflows.trigger.editors", class="workflows.ui.trigger.PageRelated", }, manual={ supports={ "manual",}, module="ext.workflows.trigger.editors", class="workflows.ui.trigger.Manual", }, }, }, BlueSpiceDiscovery={ AttentionIndicatorRegistry={ workflows="\\MediaWiki\\Extension\\Workflows\\AttentionIndicator\\Workflows::factory", }, }, UnifiedTaskOverview={ AttentionIndicatorCollectionRegistry={ "workflows",}, }, }, callback="MediaWiki\\Extension\\Workflows\\Extension::register", ServiceWiringFiles={ "includes/ServiceWiring.php",}, Hooks={ LoadExtensionSchemaUpdates={ "runDatabaseUpdates",}, BeforePageDisplay="addBootstrap", ContentHandlerDefaultModelFor="setContentModels", ["SkinTemplateNavigation::Universal"]="addActions", UnifiedTaskOverviewGetTaskDescriptors="addUTOUserActivities", MWStakeRunJobsTriggerRegisterHandlers="MediaWiki\\Extension\\Workflows\\MediaWiki\\Hook\\MWStakeRunJobsTriggerRegisterHandlers\\AddBackgroundProcess::callback", BlueSpiceDiscoveryTemplateDataProviderAfterInit="discovery-skin", ArticleDeleteComplete="abortWorkflows", MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", CodeEditorGetPageLanguage="MediaWiki\\Extension\\Workflows\\MediaWiki\\Hook\\IntegrateCodeEditor::onCodeEditorGetPageLanguage", PageSaveComplete="triggerWorkflows", SetupAfterCache="registerNotifications", }, HookHandlers={ runDatabaseUpdates={ class="MediaWiki\\Extension\\Workflows\\MediaWiki\\Hook\\RunDatabaseUpdates", }, addBootstrap={ class="MediaWiki\\Extension\\Workflows\\MediaWiki\\Hook\\AddBootstrap", }, setContentModels={ class="MediaWiki\\Extension\\Workflows\\MediaWiki\\Hook\\SetContentModels", services={ "WorkflowTriggerRepo",}, }, addActions={ class="MediaWiki\\Extension\\Workflows\\MediaWiki\\Hook\\AddActions", services={ "PermissionManager",}, }, addUTOUserActivities={ class="MediaWiki\\Extension\\Workflows\\MediaWiki\\Hook\\AddUnifiedTaskOverviewUserActivities", services={ "WorkflowsStateStore","WorkflowFactory","PermissionManager","SpecialPageFactory",}, }, abortWorkflows={ class="MediaWiki\\Extension\\Workflows\\MediaWiki\\Hook\\AbortWorkflowsOnDelete", services={ "WorkflowFactory","WorkflowsStateStore",}, }, ["discovery-skin"]={ class="MediaWiki\\Extension\\Workflows\\MediaWiki\\HookHandler\\DiscoverySkin", }, ["common-user-interface"]={ class="\\MediaWiki\\Extension\\Workflows\\MediaWiki\\HookHandler\\CommonUserInterface", services={ "SpecialPageFactory","WorkflowTriggerRepo",}, }, triggerWorkflows={ class="MediaWiki\\Extension\\Workflows\\MediaWiki\\Hook\\TriggerWorkflows", services={ "WorkflowTriggerRunner",}, }, registerNotifications={ class="MediaWiki\\Extension\\Workflows\\MediaWiki\\Hook\\RegisterNotifications", services={ "MWStakeNotificationsNotifier",}, }, }, ContentHandlers={ BPMN="MediaWiki\\Extension\\Workflows\\MediaWiki\\ContentHandler\\BPMNHandler", ["workflow-triggers"]="MediaWiki\\Extension\\Workflows\\MediaWiki\\ContentHandler\\TriggerDefinitionHandler", }, GroupPermissions={ user={ ["workflows-view"]=true, ["workflows-admin"]=false, }, sysop={ ["workflows-execute"]=true, ["workflows-admin"]=true, }, review={ ["workflows-execute"]=true, }, }, AvailableRights={ "workflows-view","workflows-execute","workflows-admin",}, RestRoutes={ { path="/workflow/list", method="GET", class="MediaWiki\\Extension\\Workflows\\Rest\\ListHandler", services={ "WorkflowFactory","WorkflowsStateStore","WorkflowSerializer","TitleFactory","LinkRenderer",}, },{ path="/workflow/abort/{id}", method="POST", class="MediaWiki\\Extension\\Workflows\\Rest\\AbortHandler", services={ "WorkflowFactory",}, },{ path="/workflow/restore/{id}", method="POST", class="MediaWiki\\Extension\\Workflows\\Rest\\RestoreHandler", services={ "WorkflowFactory",}, },{ path="/workflow/start/{repository}/{id}", method="POST", class="MediaWiki\\Extension\\Workflows\\Rest\\StartHandler", services={ "WorkflowFactory",}, },{ path="/workflow/dry_start/{repository}/{id}", method="POST", class="MediaWiki\\Extension\\Workflows\\Rest\\DryStartHandler", services={ "WorkflowFactory",}, },{ path="/workflow/complete_task/{id}/{taskId}", method="POST", class="MediaWiki\\Extension\\Workflows\\Rest\\CompleteHandler", services={ "WorkflowFactory",}, },{ path="/workflow/retrieve/{id}", method="GET", class="MediaWiki\\Extension\\Workflows\\Rest\\RetrieveHandler", services={ "WorkflowFactory",}, },{ path="/workflow/definition/list", method="GET", class="MediaWiki\\Extension\\Workflows\\Rest\\DefinitionListHandler", services={ "DefinitionRepositoryFactory",}, },{ path="/workflow/definition/details/{repo}/{definition}", method="GET", class="MediaWiki\\Extension\\Workflows\\Rest\\DefinitionDetailsHandler", services={ "DefinitionRepositoryFactory",}, },{ path="/workflow/triggers/{key}", method="GET", class="MediaWiki\\Extension\\Workflows\\Rest\\RetrieveTriggersHandler", services={ "WorkflowTriggerRepo",}, },{ path="/workflow/triggers/of_type/{key}", method="GET", class="MediaWiki\\Extension\\Workflows\\Rest\\RetrieveTriggersHandler", args={ true,}, services={ "WorkflowTriggerRepo","TitleFactory",}, },{ path="/workflow/triggers/{key}", method="DELETE", class="MediaWiki\\Extension\\Workflows\\Rest\\DeleteTriggerHandler", services={ "WorkflowTriggerRepo","PermissionManager",}, },{ path="/workflow/triggers", method="PUT", class="MediaWiki\\Extension\\Workflows\\Rest\\PersistTriggersHandler", services={ "WorkflowTriggerRepo","PermissionManager",}, },{ path="/workflow/trigger_types", method="GET", class="MediaWiki\\Extension\\Workflows\\Rest\\RetrieveTriggerTypesHandler", },}, LogTypes={ "ext-workflows",}, LogActionsHandlers={ ["ext-workflows/*"]="LogFormatter", }, SpecialPages={ WorkflowsOverview={ class="\\MediaWiki\\Extension\\Workflows\\MediaWiki\\Special\\WorkflowOverview", }, }, ExtensionMessagesFiles={ WorkflowsOverviewAlias="languages/SpecialWorkflowOverview.alias.php", }, DefaultUserOptions={ ["echo-subscriptions-email-workflow-cat"]=1, }, composer="mediawiki/workflows", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Workflows", }, XAnalytics={ name="XAnalytics", ["license-name"]="GPL-2.0-or-later", url="https://wikitech.wikimedia.org/wiki/X-Analytics", descriptionmsg="xanalytics-desc", author={ "Ori Livneh",}, version="0.3", type="other", requires={ MediaWiki=">= 1.31.0", }, Hooks={ BeforePageDisplay="MediaWiki\\Extension\\XAnalytics\\XAnalytics::onBeforePageDisplay", APIAfterExecute="MediaWiki\\Extension\\XAnalytics\\XAnalytics::onAPIAfterExecute", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/XAnalytics", }, XSL={ name="XSLExtension", author="Greg Rundlett https://equality-tech.com", version="2.0.0", url="https://www.mediawiki.org/wiki/Extension:XSL", descriptionmsg="xsl-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", Hooks={ ParserFirstCallInit="XSLExtensionHooks::onParserFirstCallInit", }, ExtensionMessagesFiles={ XSLExtensionMagic="XSLExtension.i18n.magic.php", }, requires={ MediaWiki=">= 1.29.0", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/XSL", }, XenForoAuth={ name="XenForoAuth", version="0.1.0", author="Florian Schmidt", url="https://www.mediawiki.org/wiki/Extension:XenForoAuth", descriptionmsg="xenforoauth-desc", ["license-name"]="MIT", type="auth", requires={ MediaWiki=">= 1.28.0", }, ConfigRegistry={ xenforoauth="GlobalVarConfig::newInstance", }, Hooks={ LoadExtensionSchemaUpdates="XenForoAuth\\Hooks::onLoadExtensionSchemaUpdates", AuthChangeFormFields="XenForoAuth\\Hooks::onAuthChangeFormFields", }, AuthManagerAutoConfig={ primaryauth={ ["XenForoAuth\\Auth\\XenForoPrimaryAuthenticationProvider"]={ class="XenForoAuth\\Auth\\XenForoPrimaryAuthenticationProvider", sort=102, }, }, }, config={ XenForoAuthBaseUrl="", XenForoAuthClientId="", XenForoAuthClientSecret="", XenForoAuthButtonIcon="'images/xenForo_icon.png'", XenForoAuthAutoCreate=false, }, composer="mediawiki/xenforoauth", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/XenForoAuth", }, YetAnotherKeywords={ name="YetAnotherKeywords", version="0.4.0", author="Jehy", ["license-name"]="MIT", url="https://www.mediawiki.org/wiki/Extension:YetAnotherKeywords", descriptionmsg="yetanotherkeywords-desc", type="parserhook", requires={ MediaWiki=">= 1.29.0", }, Hooks={ ParserFirstCallInit="YetAnotherKeywords::onParserFirstCallInit", OutputPageBeforeHTML="YetAnotherKeywords::insertMetaKeywords", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/YetAnotherKeywords", }, YotpoReviews={ name="YotpoReviews", namemsg="yotporeviews-extensionname", version="0.4", author="Felipe Schenone", url="https://www.mediawiki.org/wiki/Extension:YotpoReviews", descriptionmsg="yotporeviews-desc", ["license-name"]="GPL-3.0-only", type="parserhook", requires={ MediaWiki=">= 1.31.0", }, Hooks={ ParserFirstCallInit="YotpoReviews::onParserFirstCallInit", SkinAfterContent="YotpoReviews::onSkinAfterContent", }, config={ YotpoAppKey="your-yotpo-app-key", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/YotpoReviews", }, YouTube={ name="YouTube", version="1.9.3", author={ "Przemek Piotrowski",}, url="https://www.mediawiki.org/wiki/Extension:YouTube", descriptionmsg="youtube-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.34.0", }, Hooks={ ParserFirstCallInit="YouTube::registerTags", }, config={ YouTubeEnableLazyLoad=false, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/YouTube", }, ZeroBanner={ name="ZeroBanner", version="1.1.1", author={ "Patrick Reilly","Yuri Astrakhan",}, url="https://www.mediawiki.org/wiki/Extension:ZeroBanner", descriptionmsg="zero-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.29.0", }, callback="ZeroBanner\\PageRenderingHooks::registerExtension", SpecialPages={ ZeroRatedMobileAccess="ZeroBanner\\ZeroSpecialPage", }, APIModules={ zeroconfig="ZeroBanner\\ApiZeroBanner", }, ExtensionMessagesFiles={ ZeroBannerAlias="ZeroBanner.alias.notranslate.php", }, Hooks={ BeforePageDisplayMobile="ZeroBanner\\PageRenderingHooks::onBeforePageDisplay", GetMobileUrl="ZeroBanner\\PageRenderingHooks::onGetMobileUrl", MinervaPreRender="ZeroBanner\\PageRenderingHooks::onMinervaPreRender", MobileFrontendBeforeDOM="ZeroBanner\\PageRenderingHooks::onMobileFrontendBeforeDOM", ["SpecialMobileEditWatchlist::images"]="ZeroBanner\\PageRenderingHooks::onSpecialMobileEditWatchlist_images", }, attributes={ JsonConfig={ Models={ JsonZeroConfig={ class="ZeroBanner\\ZeroConfig", }, }, s={ JsonZeroConfig={ namespace=480, nsName="Zero", isLocal=false, cacheKey="1", }, }, }, }, config={ ZeroSiteOverride={ ["@note"]="false|string[] For testing, overrides Conf->siteFromDB( DBname )", ["@note2"]="On a test wiki, set it to ['wikipedia','en'] or similar.", ["@note3"]="ZeroBanner explicitly checks for the site to equal 'wikipedia' before enabling Zero.", value=false, }, ZeroBannerClusterDomain={ ["@note"]="string Temporary workaround - until I figure out how to calculate it", value="org", }, ZeroBannerImageFontSize={ ["@note"]="int size of the font used for the image", value=14, }, ZeroBannerImageWidth={ ["@note"]="int size of the image banner width", value=320, }, ZeroBannerImageHeight={ ["@note"]="int size of the image banner width", value=28, }, ZeroBannerErrImageWidth={ ["@note"]="int size of the error image width", value=320, }, ZeroBannerErrImageHeight={ ["@note"]="int size of the error image width", value=200, }, ZeroBannerFont={ value="unifont/unifont_csur-7.0.03.ttf", path=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ZeroBanner", }, ZeroPortal={ name="ZeroPortal", version="1.1.1", author={ "Yuri Astrakhan",}, url="https://www.mediawiki.org/wiki/Extension:ZeroPortal", descriptionmsg="zeroportal-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.32.0", extensions={ ZeroBanner="*", }, }, SpecialPages={ ZeroPortal="ZeroPortal\\PortalSpecialPage", }, APIModules={ zeroportal="ZeroPortal\\ApiZeroPortal", }, ExtensionMessagesFiles={ ZeroPortalAlias="ZeroPortal.alias.php", }, Hooks={ BeforePageDisplay="ZeroPortal\\ConfigPageHooks::onBeforePageDisplay", ScribuntoExternalLibraries="ZeroPortal\\LuaLibrary::onScribuntoExternalLibraries", }, attributes={ JsonConfig={ Models={ JsonZeroConfig={ view="ZeroPortal\\ZeroConfigView", }, }, s={ JsonZeroConfig={ store=true, }, }, }, }, config={ ZeroPortalImpersonateUser={ value=false, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ZeroPortal", }, CLDR={ name="CLDR", version="4.11.0", author={ "Niklas Laxström","Siebrand Mazeland","Ryan Kaldari","Sam Reed",}, requires={ MediaWiki=">= 1.34.0", }, url="https://www.mediawiki.org/wiki/Extension:CLDR", descriptionmsg="cldr-desc", ["license-name"]="GPL-2.0-or-later", Hooks={ LanguageGetTranslatedLanguageNames="MediaWiki\\Extension\\CLDR\\LanguageNames::coreHook", GetHumanTimestamp="MediaWiki\\Extension\\CLDR\\TimeUnits::onGetHumanTimestamp", }, composer="mediawiki/cldr", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/cldr", }, Example={ name="examples", author={ "Timo Tijhof","Kaldari","Ævar Arnfjörð Bjarmason","Daniel Kinzler","Derick Alangi",}, url="https://www.mediawiki.org/wiki/Extension:Example", descriptionmsg="example-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.35.0", }, config={ ExampleEnableWelcome={ description="Enable the Welcome features", value=true, }, ExampleWelcomeColorDays={ description="Color for the Welcome message bar by week day", value={ monday="orange", tuesday="blue", wednesday="green", thursday="red", friday="yellow", }, }, ExampleWelcomeColorDefault={ description="Default color for the Welcome message", value="#eee", }, ExampleMyWord={ description="Value for the  magic word in wikitext.", value="Awesome", }, }, ExtensionMessagesFiles={ ExampleAlias="Example.i18n.alias.php", ExampleMagic="Example.i18n.magic.php", }, APIListModules={ example="MediaWiki\\Extension\\Example\\ApiQueryExample", }, SpecialPages={ HelloWorld="MediaWiki\\Extension\\Example\\SpecialHelloWorld", Includable="MediaWiki\\Extension\\Example\\SpecialIncludable", }, Actions={ myact="MediaWiki\\Extension\\Example\\MyActAction", }, ContentHandlers={ xmldata="MediaWiki\\Extension\\Example\\XmlContentHandler", }, namespaces={ { id=234, constant="NS_XML", name="XML", subpages=false, content=false, defaultcontentmodel="xmldata", },{ id=235, constant="NS_XML_TALK", name="XML_Talk", subpages=true, content=false, defaultcontentmodel="wikitext", },}, QUnitTestModule={ localBasePath="tests/qunit/", remoteExtPath="examples/tests/qunit/", scripts={ "ext.Example.welcome.test.js",}, dependencies={ "ext.Example.welcome",}, }, Hooks={ BeforePageDisplay="handleHooks", ParserFirstCallInit="handleHooks", ParserGetVariableValueSwitch="handleHooks", SkinTemplateNavigation="handleHooks", MagicWordwgVariableIDs={ handler="handleMoreHooks", deprecated=true, }, GetMagicVariableIDs="handleMoreHooks", LoadExtensionSchemaUpdates={ handler="handleMoreHooks", }, }, HookHandlers={ handleHooks={ class="MediaWiki\\Extension\\Example\\Hooks", services={ "PermissionManager",}, }, handleMoreHooks={ class="MediaWiki\\Extension\\Example\\MoreHooks", }, }, RestRoutes={ { path="/examples/v1/echo_path_param/{value_to_echo}", class="MediaWiki\\Extension\\Example\\RestApiExample", },}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/examples", }, Intersection={ name="DynamicPageList", version="1.7.0", author={ "Amgine","IlyaHaykinson",}, url="https://www.mediawiki.org/wiki/Extension:Intersection", descriptionmsg="intersection-desc", type="parserhook", requires={ MediaWiki=">= 1.37.0", }, ["license-name"]="GPL-2.0-or-later", Hooks={ ParserFirstCallInit="MediaWiki\\Extension\\DynamicPageList\\Hooks::onParserFirstCallInit", }, TrackingCategories={ "intersection-category",}, config={ DLPmaxCategories={ value=6, }, DLPMaxResultCount={ value=200, }, DLPAllowUnlimitedResults={ value=false, }, DLPAllowUnlimitedCategories={ value=false, }, DLPMaxCacheTime={ value=86400, }, DLPMaxQueryTime={ value=10000, description="Maximum allowed time for database queries in milliseconds.", }, DLPQueryCacheTime={ value=0, description="This is the query cache. It can help with situations where you have a template with the same query used on a large number of pages all being refreshed at once. The query cache cannot be purged. Suggested value between 30 to 600.", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/intersection", }, EasyTimeline={ name="EasyTimeline", author="Erik Zachte", url="https://www.mediawiki.org/wiki/Extension:EasyTimeline", descriptionmsg="timeline-desc", ["license-name"]="GPL-2.0-only", type="parserhook", requires={ MediaWiki=">= 1.36.0", }, Hooks={ ParserFirstCallInit="MediaWiki\\Extension\\Timeline\\Timeline::onParserFirstCallInit", }, TrackingCategories={ "timeline-tracking-category",}, config={ TimelinePloticusCommand={ value="/usr/bin/ploticus", }, TimelinePerlCommand={ value="/usr/bin/perl", }, TimelineFonts={ value={ }, }, TimelineFontFile={ value="FreeSans", }, TimelineFontDirectory={ value=false, }, TimelineFileBackend={ value="", }, TimelineShell={ value="/bin/bash", }, TimelineRsvgCommand={ value="/usr/bin/rsvg-convert", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/timeline", }, WikiHiero={ name="WikiHiero", version="1.1", author={ "Guillaume Blanchard","Max Semenik",}, url="https://www.mediawiki.org/wiki/Extension:WikiHiero", descriptionmsg="wikihiero-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.35.0", }, Hooks={ ParserFirstCallInit={ "WikiHiero\\Hooks::onParserFirstCallInit",}, }, ExtensionMessagesFiles={ HieroglyphsAlias="wikihiero.alias.php", }, SpecialPages={ Hieroglyphs={ class="WikiHiero\\SpecialHieroglyphs", services={ "UserOptionsLookup",}, }, }, attributes={ VisualEditor={ PluginModules={ "ext.wikihiero.visualEditor",}, }, }, ParsoidModules={ "WikiHiero\\Hooks",}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/wikihiero", }, }