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.6", ["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.12.0", 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-or-later", 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, }, AWSLocalCacheExcludeFileExtensions={ description="File extensions (e.g. 'ogg') of files that shouldn't be stored in the local cache. Recommended values: every non-image (files that are never used to make a thumbnail).", value={ "ogg",}, }, }, 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","UserOptionsLookup",}, }, }, 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.2", requires={ MediaWiki=">= 1.37.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.git/", }, AdvancedUserStats={ name="AdvancedUserStats", version="1.1.1", author="Josef Martiňák", descriptionmsg="advanceduserstats-desc", url="https://bitbucket.org/wikiskripta/advanceduserstats", type="specialpage", status="stable", requires={ MediaWiki=">= 1.39.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", }, 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", }, 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.8.0", ["license-name"]="GPL-3.0+", type="other", ExtensionMessagesFiles={ AutoSitemap="AutoSitemap.i18n.php", }, Hooks={ AfterImportPage={ "AutoSitemap::writeSitemap",}, PageDeleteComplete={ "AutoSitemap::writeSitemap",}, ArticleUndelete={ "AutoSitemap::writeSitemap",}, PageMoveComplete={ "AutoSitemap::writeSitemap",}, ArticleMergeComplete={ "AutoSitemap::writeSitemap",}, UploadComplete={ "AutoSitemap::writeSitemap",}, RevisionUndeleted={ "AutoSitemap::writeSitemap",}, RevisionRecordInserted={ "AutoSitemap::writeSitemap",}, PageSaveComplete={ "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", }, Bootstrap={ name="Bootstrap", type="other", author={ "Stephan Gambke","Professional.Wiki","James Hong Kong",}, version="4.6.0", 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", }, BootstrapComponents={ name="BootstrapComponents", version="5.1.0-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.35.0", }, ConfigRegistry={ BootstrapComponents="GlobalVarConfig::newInstance", }, ["@note"]="the extension's main hooks are registered in BootstrapComponents\\HookRegistry", HookHandlers={ BootStrapHooks={ class="BootstrapComponents\\Hooks\\DefaultHooksHandler", }, }, Hooks={ SetupAfterCache={ handler="BootStrapHooks", }, ParserAfterParse={ handler="BootStrapHooks", }, ScribuntoExternalLibraries="BootstrapComponents\\Hooks\\DefaultHooksHandler::onScribuntoExternalLibraries", }, 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", ExtensionFunctions={ "BootstrapComponents\\BootstrapComponents::onExtensionFunction",}, 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.git/", }, 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="2.1", 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.39.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", }, 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.39.0", }, AvailableRights={ "createwiki","requestwiki",}, SpecialPages={ CreateWiki={ class="Miraheze\\CreateWiki\\CreateWiki\\SpecialCreateWiki", services={ "CreateWikiHookRunner",}, }, RequestWiki={ class="Miraheze\\CreateWiki\\RequestWiki\\SpecialRequestWiki", services={ "CreateWikiHookRunner",}, }, RequestWikiQueue={ class="Miraheze\\CreateWiki\\RequestWiki\\SpecialRequestWikiQueue", services={ "CreateWikiHookRunner",}, }, }, JobClasses={ CreateWikiJob="Miraheze\\CreateWiki\\CreateWiki\\CreateWikiJob", RequestWikiAIJob="Miraheze\\CreateWiki\\RequestWiki\\RequestWikiAIJob", SetContainersAccessJob="Miraheze\\CreateWiki\\SetContainersAccessJob", }, LogTypes={ "farmer",}, ActionFilteredLogs={ farmer={ createwiki={ "createwiki",}, requestapprove={ "requestapprove",}, requestdecline={ "requestdecline",}, requestwiki={ "requestreopen","requestwiki",}, }, }, LogActionsHandlers={ ["farmer/createwiki"]="LogFormatter", ["farmer/requestapprove"]="LogFormatter", ["farmer/requestdecline"]="LogFormatter", ["farmer/requestonhold"]="LogFormatter", ["farmer/requestreopen"]="LogFormatter", ["farmer/requestwiki"]="Miraheze\\CreateWiki\\CreateWiki\\CreateWikiLogFormatter", }, ExtensionMessagesFiles={ CreateWikiAliases="CreateWikiAliases.php", CreateWikiMagic="CreateWikiMagic.php", }, Hooks={ BeforeCreateEchoEvent="Miraheze\\CreateWiki\\Hooks::onBeforeCreateEchoEvent", LoadExtensionSchemaUpdates={ handler="Installer", }, GetMagicVariableIDs={ handler="default", }, LoginFormValidErrorMessages={ handler="default", }, ParserGetVariableValueSwitch={ handler="default", }, SetupAfterCache={ handler="default", }, }, HookHandlers={ default={ class="Miraheze\\CreateWiki\\Hooks", services={ "MainConfig","CreateWikiHookRunner","DBLoadBalancerFactory",}, }, Installer={ class="Miraheze\\CreateWiki\\Hooks\\Handlers\\Installer", }, }, config={ CreateWikiAIThreshold={ description="Integer. Minimum percentage points for a request to be created when acceptable.", public=true, value=false, }, CreateWikiAutoApprovalFilter={ description="Array. Regexes to never auto approve requests if their descriptions match.", public=true, value={ }, }, CreateWikiDisallowedSubdomains={ description="String or array. Regex to match for disallowed subdomains.", 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={ }, }, CreateWikiDatabaseSuffix={ description="String. Database suffix.", public=true, value="wiki", }, 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.example.com, example.com 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, }, CreateWikiUseSecureContainers={ description="Boolean. Whether to use secure containers for file backend. If enabled, deleted and temp containers are always secure, and all default (core) local contaners are secure for private wikis. Additional containers can be secured with $wgCreateWikiExtraSecuredContainers.", public=true, value=false, }, CreateWikiExtraSecuredContainers={ description="Array. List of extra local containers to secure for private wikis if $wgCreateWikiUseSecureContainers is enabled.", public=true, value={ }, }, 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, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, callback="Miraheze\\CreateWiki\\Hooks::onRegistration", composer="miraheze/create-wiki", 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/data-dump", 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.4", url="https://www.mediawiki.org/wiki/Extension:Diagrams", descriptionmsg="diagrams-desc", ["license-name"]="GPL-3.0-or-later", requires={ MediaWiki=">= 1.34.0, <= 1.40", }, config={ DiagramsServiceUrl={ description="URL of the diagram-rendering service. If not provided, graphs will be locally rendered.", value="", }, }, Hooks={ ParserFirstCallInit="main", }, HookHandlers={ main={ class="MediaWiki\\Extension\\Diagrams\\Hooks", services={ "MainConfig","ShellCommandFactory",}, }, }, repository="https://github.com/samwilson/diagrams-extension", composer="samwilson/diagrams", }, Discord={ name="Discord", author={ "Jayden Bailey",}, url="https://github.com/jayktaylor/mw-discord", version="1.0.13", descriptionmsg="discord-desc", ["license-name"]="MIT", requires={ MediaWiki=">= 1.38.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.3", 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", }, EmbedScratch={ name="EmbedScratch", version="4.0.0", author={ "Apple502j",}, url="https://github.com/InternationalScratchWiki/mw-embedScratch", descriptionmsg="embedscratch-desc", ["license-name"]="GPLv3", type="parserhook", namespaces={ }, Hooks={ ParserFirstCallInit="main", }, HookHandlers={ main={ class="EmbedScratch", }, }, requires={ MediaWiki=">= 1.35.0", }, 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.git/", }, 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.3.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"]="AGPL-3.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.36.0", extensions={ CategoryTree="*", }, }, HookHandlers={ Main={ class="MediaWiki\\Extension\\FacetedCategory\\Hooks\\Main", services={ }, }, RecursiveCategory={ class="MediaWiki\\Extension\\FacetedCategory\\Hooks\\RecursiveCategory", services={ "DBLoadBalancer","JobQueueGroup",}, }, }, Hooks={ BeforePageDisplay="Main", CategoryAfterPageAdded="RecursiveCategory", ContentAlterParserOutput="RecursiveCategory", MakeGlobalVariablesScript="RecursiveCategory", OutputPageParserOutput="RecursiveCategory", SpecialSearchResultsPrepend="Main", }, SpecialPages={ FacetedCategories="MediaWiki\\Extension\\FacetedCategory\\Special\\SpecialFacetedCategories", CategoryIntersectionSearch="MediaWiki\\Extension\\FacetedCategory\\Special\\SpecialCategoryIntersectionSearch", }, ExtensionMessagesFiles={ FacetedCategoryAlias="FacetedCategory.alias.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.git/", }, FancyModeration={ name="FancyModeration", author="Ostrzyciel", ["license-name"]="GPL-2.0+", version="0.5.2", namemsg="fancyModeration", descriptionmsg="fancyModeration-desc", requires={ MediaWiki=">= 1.37.0", }, 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"]={ class="FancyModeration\\Api\\ApiFmodPatrol", services={ "RevisionStore",}, }, }, type="other", repository="https://gitlab.com/nonsensopedia/extensions/fancymoderation.git/", }, FeedbackUs={ name="FeedbackUs", version="2.1", author={ "Josef Martiňák","Petr Kajzar",}, 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", }, 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="2.0.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.35", }, 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/ProfessionalWiki/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", }, HeaderFooter={ name="HeaderFooter", version="4.0.0", author="Jean-Lou Dupont, James Montalvo, Douglas Mason", url="https://www.mediawiki.org/wiki/Extension:HeaderFooter", descriptionmsg="headerfooter-desc", type="other", requires={ MediaWiki=">= 1.35.0", }, APIModules={ getheaderfooter="ApiGetHeaderFooter", }, Hooks={ OutputPageParserOutput="HeaderFooter::hOutputPageParserOutput", ResourceLoaderGetConfigVars="HeaderFooter::onResourceLoaderGetConfigVars", GetDoubleUnderscoreIDs="HeaderFooter::onGetDoubleUnderscoreIDs", }, ExtensionMessagesFiles={ HeaderFooterMagic="languages/HeaderFooter.i18n.magic.php", }, config_prefix="egHeaderFooter", config={ EnableAsyncHeader={ value=false, }, EnableAsyncFooter={ value=false, }, }, composer="mediawiki/header-footer", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/HeaderFooter", }, 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.9", descriptionmsg="incidentreporting-desc", ["license-name"]="GPL-3.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.38.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, }, }, Hooks={ LoadExtensionSchemaUpdates={ "IncidentReportingHooks::onLoadExtensionSchemaUpdates",}, }, ConfigRegistry={ incidentreporting="GlobalVarConfig::newInstance", }, composer="miraheze/incident-reporting", 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.git/", }, ["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", }, ["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", }, 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, }, }, GrantPermissionGroups={ 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", }, 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="Miraheze\\ManageWiki\\Api\\QueryWikiConfig", }, APIModules={ modifyserver="Miraheze\\ManageWiki\\Api\\ApiModifyServer", }, AvailableRights={ "managewiki","managewiki-editdefault","managewiki-restricted",}, DefaultUserOptions={ managewikisidebar=0, }, SpecialPages={ DeletedWikis="Miraheze\\ManageWiki\\Specials\\SpecialDeletedWikis", ManageWiki="Miraheze\\ManageWiki\\Specials\\SpecialManageWiki", ManageWikiDefaultPermissions="Miraheze\\ManageWiki\\Specials\\SpecialManageWikiDefaultPermissions", }, JobClasses={ MWScriptJob="Miraheze\\ManageWiki\\Jobs\\MWScriptJob", NamespaceMigrationJob="Miraheze\\ManageWiki\\Jobs\\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",}, ActionFilteredLogs={ managewiki={ managewikilock={ "lock",}, managewikiunlock={ "unlock",}, namespaces={ "namespaces","namespaces-delete",}, permissions={ "rename","rights","delete-group",}, settings={ "settings",}, wikidelete={ "delete",}, wikiundelete={ "undelete",}, }, }, ExtensionMessagesFiles={ ManageWikiAliases="ManageWikiAliases.php", }, Hooks={ ContentHandlerForModelID={ "Miraheze\\ManageWiki\\Hooks::onContentHandlerForModelID",}, CreateWikiCreation={ "Miraheze\\ManageWiki\\Hooks::onCreateWikiCreation",}, CreateWikiJsonBuilder={ "Miraheze\\ManageWiki\\Hooks::onCreateWikiJsonBuilder",}, CreateWikiStatePrivate={ "Miraheze\\ManageWiki\\Hooks::onCreateWikiStatePrivate",}, CreateWikiStatePublic={ "Miraheze\\ManageWiki\\Hooks::onCreateWikiStatePublic",}, CreateWikiTables={ "Miraheze\\ManageWiki\\Hooks::onCreateWikiTables",}, GetPreferences={ "Miraheze\\ManageWiki\\Hooks::onGetPreferences",}, LoadExtensionSchemaUpdates={ "Miraheze\\ManageWiki\\Hooks::fnManageWikiSchemaUpdates",}, SidebarBeforeOutput={ "Miraheze\\ManageWiki\\Hooks::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={ }, }, ManageWikiExtensionsDefault={ description="Array. An array of default extensions.", public=true, value={ }, }, ManageWikiNamespacesAdditional={ description="Array. Additional settings available for namespaces.", public=true, value={ }, }, ManageWikiNamespacesDisallowedNames={ 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={ }, }, ManageWikiPermissionsAdditionalAddGroups={ description="Array. ManageWiki's version of $wgAddGroups.", public=true, value={ }, }, ManageWikiPermissionsAdditionalAddGroupsSelf={ description="Array. ManageWiki's version of $wgGroupsAddToSelf.", public=true, value={ }, }, ManageWikiPermissionsAdditionalRemoveGroups={ description="Array. ManageWiki's version of $wgRemoveGroups.", public=true, value={ }, }, ManageWikiPermissionsAdditionalRemoveGroupsSelf={ description="Array. ManageWiki's version of $wgGroupsRemoveFromSelf", public=true, value={ }, }, ManageWikiPermissionsAdditionalRights={ description="Array. ManageWiki's version of $wgGroupPermissions.", public=true, value={ }, }, ManageWikiPermissionsDisallowedGroups={ description="Array. An array of usergroups which ManageWiki can't manage. Will prevent users creating same named groups as well.", public=true, value={ }, }, ManageWikiPermissionsDisallowedRights={ 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="", }, 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="", }, 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="Miraheze\\ManageWiki\\Hooks::onRegistration", composer="miraheze/manage-wiki", repository="https://github.com/miraheze/ManageWiki.git", }, Maps={ name="Maps", version="10.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="Maps\\MapsRegistration::onRegistration", ContentHandlers={ GeoJSON="Maps\\GeoJsonPages\\GeoJsonContentHandler", GeoJson="Maps\\GeoJsonPages\\GeoJsonContentHandler", }, namespaces={ { id=420, constant="NS_GEO_JSON", name="GeoJson", subpages=false, content=false, defaultcontentmodel="GeoJSON", },{ id=421, constant="NS_GEO_JSON_TALK", name="GeoJson_talk", subpages=true, content=false, defaultcontentmodel="wikitext", },}, QUnitTestModule={ localBasePath="tests/js/", remoteExtPath="Maps/tests/js/", scripts={ "leaflet/GeoJsonTest.js",}, dependencies={ "ext.maps.leaflet.geojson",}, }, 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.2", 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.git/", }, 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={ "MediaWiki\\Extension\\Matomo\\Hooks::MatomoSetup",}, SpecialSearchResults={ "MediaWiki\\Extension\\Matomo\\Hooks::onSpecialSearchResults",}, SpecialSearchSetupEngine={ "MediaWiki\\Extension\\Matomo\\Hooks::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.1.2", descriptionmsg="matomoanalytics-desc", ["license-name"]="GPL-3.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.39.0", }, 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="miraheze/matomo-analytics", repository="https://github.com/miraheze/MatomoAnalytics", }, MediaWikiAuth={ name="MediaWikiAuth", namemsg="mwa-extensionname", version="1.5.0", 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, }, MediaWikiAuthImportOptions={ value={ "*",}, description="User preferences to import from the remote wiki; use * for all", descriptionmsg="mwa-config-importoptions", merge_strategy="provide_default", public=true, }, MediaWikiAuthSkipOptions={ value={ }, description="User preferences that should not be imported from the remote wiki", descriptionmsg="mwa-config-skipoptions", merge_strategy="provide_default", public=true, }, }, AvailableRights={ "mwa-createlocalaccount",}, JobClasses={ populateImportedWatchlist="MediaWikiAuth\\PopulateImportedWatchlistJob", reattributeImportedEdits="MediaWikiAuth\\ReattributeImportedEditsJob", }, AuthManagerAutoConfig={ primaryauth={ ExternalWikiPrimaryAuthenticationProvider={ class="MediaWikiAuth\\ExternalWikiPrimaryAuthenticationProvider", args={ { authoritative=false, },}, sort=50, services={ "DBLoadBalancer","HttpRequestFactory","SkinFactory","TalkPageNotificationManager","UserGroupManager","UserOptionsManager",}, optional_services={ "JobQueueGroupFactory",}, }, }, }, callback="MediaWikiAuth\\Setup::callback", repository="https://github.com/SkizNet/mediawiki-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.1.1-beta", 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.39.0", }, ExtensionMessagesFiles={ MirahezeMagicAliases="includes/MirahezeMagicAliases.php", }, SpecialPages={ MirahezeSurvey={ class="SpecialMirahezeSurvey", services={ "ConfigFactory",}, }, }, Hooks={ AbuseFilterShouldFilterAction={ "MirahezeMagicHooks::onAbuseFilterShouldFilterAction",}, BlockIpComplete={ "MirahezeMagicHooks::onBlockIpComplete",}, CreateWikiDeletion={ "MirahezeMagicHooks::onCreateWikiDeletion",}, CreateWikiRename={ "MirahezeMagicHooks::onCreateWikiRename",}, CreateWikiStatePrivate={ "MirahezeMagicHooks::onCreateWikiStatePrivate",}, CreateWikiTables={ "MirahezeMagicHooks::onCreateWikiTables",}, CreateWikiReadPersistentModel={ "MirahezeMagicHooks::onCreateWikiReadPersistentModel",}, CreateWikiWritePersistentModel={ "MirahezeMagicHooks::onCreateWikiWritePersistentModel",}, ["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",}, GetPreferences={ "MirahezeMagicHooks::onGetPreferences",}, BeforeInitialize={ "MirahezeMagicHooks::onBeforeInitialize",}, ContributionsToolLinks={ "MirahezeMagicHooks::onContributionsToolLinks",}, }, ConfigRegistry={ mirahezemagic="GlobalVarConfig::newInstance", }, config={ MirahezeReportsBlockAlertKeywords={ value={ }, }, MirahezeReportsWriteKey={ value="", }, MirahezeStaffAccessIds={ value={ }, }, MirahezeSurveyEnabled={ value=true, }, }, composer="miraheze/mirahezemagic", repository="https://github.com/miraheze/MirahezeMagic.git", }, Moderation={ name="Moderation", version="1.7.1", 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", ChangeTagsAllowedAdd="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.1", 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.git/", }, 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", }, APIModules={ nimiarkistolookup="MediaWiki\\Extensions\\Nimiarkisto\\NimiarkistoLookupActionApi", }, 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.37.0", extensions={ SemanticMediaWiki=">= 3.1.0", }, platform={ php=">= 7.4", }, }, 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={ getUserPermissionsErrors="OSBlocks::onGetUserPermissionsErrors", }, 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",}, requires={ MediaWiki="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://www.mediawiki.org/wiki/Extension: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://gerrit.wikimedia.org/r/mediawiki/extensions/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://github.com/debtcompliance/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",}, requires={ 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", }, 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", }, QRLite={ name="QRLite", version="1.0.0-alpha4", author={ "Simon Heimler (gesinn.it GmbH & Co. KG)","Alexander Gesinn (gesinn.it GmbH & Co. KG)",}, url="https://github.com/gesinn-it/QRLite", descriptionmsg="qrlite-desc", ["license-name"]="GPL-3.0-or-later", type="other", requires={ MediaWiki=">= 1.35", }, ExtensionMessagesFiles={ QRLiteMagic="QRLite.i18n.magic.php", }, Hooks={ ParserFirstCallInit="QRLite", }, HookHandlers={ QRLite={ class="MediaWiki\\Extension\\QRLite\\QRLiteHooks", }, }, composer="gesinn-it/qrlite", repository="https://github.com/gesinn-it/QRLite.git", }, 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.13.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.git/", }, 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", }, 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", }, ResourceLoaderArticles={ name="ResourceLoaderArticles", version="2.2.1", author={ "Alex Winkler",}, url="https://github.com/Liquipedia/ResourceLoaderArticles", descriptionmsg="resourceloaderarticles-desc", ["license-name"]="GPL-2.0+", type="other", requires={ MediaWiki=">= 1.35.3", }, ExtensionMessagesFiles={ ResourceLoaderArticlesAlias="i18n/ResourceLoaderArticlesAlias.php", }, SpecialPages={ ResourceLoaderArticles="\\Liquipedia\\Extension\\ResourceLoaderArticles\\SpecialPage\\SpecialResourceLoaderArticles", }, HookHandlers={ Main={ class="\\Liquipedia\\Extension\\ResourceLoaderArticles\\Hooks\\MainHookHandler", }, Schema={ class="\\Liquipedia\\Extension\\ResourceLoaderArticles\\Hooks\\SchemaHookHandler", }, }, Hooks={ BeforePageDisplay="Main", LoadExtensionSchemaUpdates="Schema", MakeGlobalVariablesScript="Main", ResourceLoaderRegisterModules="Main", }, AvailableRights={ "adminresourceloaderarticles",}, GroupPermissions={ sysop={ adminresourceloaderarticles=true, }, }, config={ ResourceLoaderArticlesWiki={ value="/commons/load.php", path=false, description="load.php of central wiki", public=true, }, }, 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.4", type="other", requires={ MediaWiki=">= 1.37.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.20", 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, }, RottenLinksHTTPProxy={ description="Sets a proxy to use for requests. (string)", public=true, value="", }, 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 exclude 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", }, RottenLinksUserAgent={ description="Overrides the user-agent to use for requests. Defaults to 'RottenLinks, MediaWiki extension (https://github.com/miraheze/RottenLinks), running on '. (string)", public=true, value="", }, }, ConfigRegistry={ rottenlinks="GlobalVarConfig::newInstance", }, composer="miraheze/rotten-links", 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.2.3", 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="*", }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, Hooks={ BeforeCreateEchoEvent="MediaWiki\\Extension\\Sanctions\\Hooks\\Notification::onBeforeCreateEchoEvent", ContributionsToolLinks="ToolLinks", DiffTools="ToolLinks", EmailConfirmed="Notification", GetUserBlock="Block", FlowAddModules="main", HistoryTools="ToolLinks", LoadExtensionSchemaUpdates="SchemaChanges", RecentChange_save="main", ResourceLoaderGetConfigVars="main", SidebarBeforeOutput="ToolLinks", UserToolLinksEdit="ToolLinks", }, HookHandlers={ main={ class="MediaWiki\\Extension\\Sanctions\\Hooks\\Main", services={ "SanctionStore","VoteStore","UserFactory",}, }, SchemaChanges={ class="MediaWiki\\Extension\\Sanctions\\Hooks\\SchemaChanges", }, Block={ class="MediaWiki\\Extension\\Sanctions\\Hooks\\Block", services={ "SanctionStore","MainWANObjectCache",}, }, Notification={ class="MediaWiki\\Extension\\Sanctions\\Hooks\\Notification", }, ToolLinks={ class="MediaWiki\\Extension\\Sanctions\\Hooks\\ToolLinks", services={ "UserFactory","LinkRenderer",}, }, }, SpecialPages={ Sanctions={ class="MediaWiki\\Extension\\Sanctions\\SpacialSanctions", services={ "SanctionStore","UserFactory","RevisionLookup","LinkRenderer",}, }, }, DefaultUserOptions={ ["echo-subscriptions-web-sanctions-against-me"]=true, ["echo-subscriptions-email-sanctions-against-me"]=true, }, ExtensionMessagesFiles={ SanctionsAlias="Sanctions.alias.php", }, composer="femiwiki/sanctions", 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="main", ResourceLoaderGetConfigVars="main", }, HookHandlers={ main={ class="Scratchblock4Hook", }, }, config={ ScratchBlocks4Langs={ value={ }, }, ScratchBlocks4BlockVersion={ value="3.0", }, }, requires={ MediaWiki=">= 1.35.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={ class="SpecialRequestAccount", services={ "PasswordFactory","HookContainer","JobQueueGroup",}, }, ConfirmAccounts={ class="SpecialConfirmAccounts", services={ "JobQueueGroup",}, }, }, JobClasses={ accountRequestCleanup="AccountRequestCleanupJob", expiredBlockCleanup="ExpiredBlockCleanupJob", }, HookHandlers={ main={ class="ScratchConfirmAccountHooks", }, }, Hooks={ LoadExtensionSchemaUpdates="main", BeforePageDisplay="main", GetPreferences="main", ["SkinTemplateNavigation::Universal"]="main", AuthChangeFormFields="main", }, config={ ScratchVerificationProjectID={ value="10135908", }, ScratchVerificationProjectAuthor={ value="ModShare", }, ScratchAccountRequestRejectCooldownDays={ value=7, }, ScratchAccountCheckDisallowNewScratcher={ value=false, }, ScratchAccountJoinedRequirement={ value=0, }, ScratchAccountAutoRejectStaleAwaitingUserRequestDays={ value=30, }, AutoWelcomeNewUsers={ value=true, }, }, DefaultUserOptions={ ["scratch-confirmaccount-open-scratch"]=true, }, AuthManagerAutoConfig={ preauth={ ScratchConfirmAccountPreAuthenticationProvider={ class="ScratchConfirmAccountPreAuthenticationProvider", sort=10, services={ "PasswordFactory",}, }, }, }, requires={ MediaWiki=">= 1.35.0", }, 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="2.0", ["license-name"]="GPL-2.0-or-later", type="specialpage", SpecialPages={ ScratchLogin={ class="SpecialScratchLogin", services={ "UserFactory",}, }, ScratchPasswordReset={ class="SpecialScratchPasswordReset", services={ "UserFactory","AuthManager",}, }, }, Hooks={ BeforePageDisplay="main", }, HookHandlers={ main={ class="ScratchLoginHooks", }, }, config={ ScratchLoginAuthenticator={ value={ value="project", }, }, }, requires={ MediaWiki=">= 1.35.0", }, 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="main", }, HookHandlers={ main={ class="ScratchSig", }, }, requires={ MediaWiki=">= 1.35.0", }, 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.9.2", 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.31", }, 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.4.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", 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", }, SemanticExternalQueryLookup={ name="SemanticExternalQueryLookup", version="1.0.0-alpha", author={ "James Hong Kong",}, url="https://www.mediawiki.org/wiki/Extension:SemanticExternalQueryLookup", descriptionmsg="seql-desc", ["license-name"]="GPL-2.0-or-later", type="semantic", requires={ MediaWiki=">= 1.28", extensions={ SemanticMediaWiki=">= 3.0", }, }, callback="SemanticExternalQueryLookup::onExtensionFunction", config_prefix="seqlg", config={ HttpResponseCacheLifetime={ value=300, description="Specifies how long a response is cached before a new request is routed to the endpoint. This avoids that repeated requests with the same signature are made to an endpoint.", }, HttpResponseCacheType={ value=-1, description="Type of the cache to be used, using CACHE_NONE will disable the caching and reroutes every request to the endpoint.", }, ExternalRepositoryEndpoints={ value={ }, description="An array that identifies valid endpoints with a key expecting yo corresponds to an interwiki prefix. Details of that prefix can be either inserted directly into MediaWiki's interwiki table or through this setting.", }, ExternalRepositoryCredentials={ value={ }, description="An array that defines credentials to access remote wikis in case they're read-protected. Array keys should be named after interwiki prefixes from 'seqlgExternalRepositoryEndpoints' and contain an array with 'username' and 'password' keys", }, ExternalQueryEnabledNamespaces={ value={ }, description="An array defines list of namespaces allowed to execute queries against remote sources. Keep empty to allow every namespace.", }, }, repository="https://github.com/SemanticMediaWiki/SemanticExternalQueryLookup", composer="mediawiki/semantic-external-query-lookup", }, SemanticExtraSpecialProperties={ name="SemanticExtraSpecialProperties", version="3.0.2", author={ "Leo Wallentin","James Hong Kong","Professional Wiki","...",}, url="https://github.com/SemanticMediaWiki/SemanticExtraSpecialProperties/", descriptionmsg="sesp-desc", namemsg="sesp-name", ["license-name"]="GPL-2.0-or-later", type="semantic", requires={ MediaWiki=">= 1.35", extensions={ SemanticMediaWiki="*", }, }, 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?", descriptionmsg="sesp-config-exclude-bot-edits", }, }, Hooks={ SetupAfterCache="SESP\\Hook::onSetupAfterCache", }, repository="https://github.com/SemanticMediaWiki/SemanticExtraSpecialProperties", composer="mediawiki/semantic-extra-special-properties", }, SemanticFormsSelect={ name="Semantic Forms Select", version="4.0.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.35", }, config={ ScriptSelectCount=0, SF_Select_debug=false, }, callback="SFS\\Hooks::onRegistration", Hooks={ ParserFirstCallInit={ "SFS\\Hooks::onSemanticFormsSelectSetup",}, ResourceLoaderTestModules={ "SFS\\Hooks::onResourceLoaderTestModules",}, }, 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.1.1", author={ "Markus Krötzsch","Jeroen De Dauw","James Hong Kong","Professional Wiki","...",}, 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", }, Hooks={ CanonicalNamespaces="SMW\\MediaWiki\\Hooks::onCanonicalNamespaces", ["ApiMain::moduleManager"]="SMW\\MediaWiki\\Hooks::onApiModuleManager", }, callback="SemanticMediaWiki::initExtension", ExtensionFunctions={ "SemanticMediaWiki::onExtensionFunction",}, ExtensionMessagesFiles={ SemanticMediaWikiAlias="i18n/extra/SemanticMediaWiki.alias.php", SemanticMediaWikiMagic="i18n/extra/SemanticMediaWiki.magic.php", }, ContentHandlers={ ["smw/schema"]="SMW\\MediaWiki\\Content\\SchemaContentHandler", }, 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", }, }, SpecialPages={ ExportRDF="SMWSpecialOWLExport", SMWAdmin="SMW\\MediaWiki\\Specials\\SpecialAdmin", PendingTaskList="SMW\\MediaWiki\\Specials\\SpecialPendingTaskList", Ask="SMW\\MediaWiki\\Specials\\SpecialAsk", Browse="SMW\\MediaWiki\\Specials\\SpecialBrowse", Concepts="SMW\\SpecialConcepts", PageProperty="SMW\\MediaWiki\\Specials\\SpecialPageProperty", SearchByProperty="SMW\\MediaWiki\\Specials\\SpecialSearchByProperty", PropertyLabelSimilarity="SMW\\MediaWiki\\Specials\\SpecialPropertyLabelSimilarity", ProcessingErrorList="SMW\\MediaWiki\\Specials\\SpecialProcessingErrorList", MissingRedirectAnnotations="SMW\\MediaWiki\\Specials\\SpecialMissingRedirectAnnotations", ConstraintErrorList="SMW\\MediaWiki\\Specials\\SpecialConstraintErrorList", Types="SMWSpecialTypes", URIResolver="SMW\\MediaWiki\\Specials\\SpecialURIResolver", Properties="SMW\\SpecialProperties", UnusedProperties="SMW\\SpecialUnusedProperties", WantedProperties="SMW\\SpecialWantedProperties", }, DefaultUserOptions={ ["smw-prefs-general-options-show-entity-issue-panel"]=true, }, 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.35.0", }, type="semantic", url="https://www.mediawiki.org/wiki/Extension:SemanticOrganization", ExtensionMessagesFiles={ SemanticOrganizationAlias="SemanticOrganization.i18n.alias.php", }, config={ SemorgUseCustomStyles={ value=false, }, SemorgListLimit={ value=20, }, SemorgAdditionalProperties={ value={ }, }, }, Hooks={ ["SMW::Property::initProperties"]={ "SemanticOrganizationProperties::onsmwInitProperties",}, BeforeInitialize={ "SemanticOrganizationHooks::onBeforeInitialize",}, ParserFirstCallInit={ "SemanticOrganizationHooks::onParserFirstCallInit",}, BeforePageDisplay={ "SemanticOrganizationHooks::onBeforePageDisplay",}, ShowSearchHit={ "SemanticOrganizationHooks::onShowSearchHit",}, ShowSearchHitTitle={ "SemanticOrganizationHooks::onShowSearchHitTitle",}, }, repository="https://github.com/thaider/SemanticOrganization.git", }, SemanticResultFormats={ name="SemanticResultFormats", version="4.0.2", 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.35", extensions={ SemanticMediaWiki=">= 3.0", }, }, callback="SemanticResultFormats::initExtension", ExtensionFunctions={ "SemanticResultFormats::onExtensionFunction",}, QUnitTestModule={ localBasePath="", remoteExtPath="SemanticResultFormats", scripts={ "tests/qunit/ext.srf.test.js","tests/qunit/ext.srf.util.test.js","tests/qunit/formats/ext.srf.formats.datatables.test.js","tests/qunit/formats/ext.srf.formats.carousel.test.js","tests/qunit/formats/ext.srf.formats.eventcalendar.tests.js","tests/qunit/formats/ext.srf.formats.filtered.test.js","tests/qunit/formats/ext.srf.formats.gallery.test.js","tests/qunit/formats/ext.srf.formats.media.test.js","tests/qunit/formats/ext.srf.formats.tagcloud.test.js","tests/qunit/widgets/ext.srf.widgets.eventcalendar.tests.js","tests/qunit/widgets/ext.srf.widgets.optionslist.test.js","tests/qunit/widgets/ext.srf.widgets.panel.test.js","tests/qunit/widgets/ext.srf.widgets.parameters.test.js",}, dependencies={ "ext.srf","ext.srf.util","ext.srf.eventcalendar","ext.srf.datatables","ext.srf.carousel.module","ext.srf.carousel","ext.srf.widgets","ext.srf.gallery.overlay","ext.srf.gallery.carousel","ext.srf.gallery.slideshow","ext.srf.gallery.redirect","ext.srf.formats.media","ext.srf.formats.tagcloud","ext.srf.filtered.value-filter.select",}, }, repository="https://github.com/SemanticMediaWiki/SemanticResultFormats", composer="mediawiki/semantic-result-formats", }, SemanticScribunto={ name="SemanticScribunto", version="2.3.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.35", 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.1.0", author={ "Steren Giannini","Ryan Lane","Ike Hecht","Peter Grassberger","Vedmaka","thomas-topway-it",}, 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.35", }, 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, NotificationFromSystemAddress=false, }, composer="mediawiki/semantic-tasks", repository="https://github.com/SemanticMediaWiki/SemanticTasks.git", }, Semantic_Watchlist={ name="Semantic Watchlist", author={ "Jeroen De Dauw for WikiWorks","Mark A. Hershberger","WikiTeq","...",}, version="1.3.0", url="https://www.mediawiki.org/wiki/Extension:Semantic_Watchlist", descriptionmsg="semanticwatchlist-desc", namemsg="semanticwatchlist-title", ["license-name"]="GPL-3.0-or-later", type="semantic", requires={ MediaWiki=">= 1.35", }, ExtensionMessagesFiles={ SemanticWatchlistAlias="i18n/extra/SemanticWatchlist.alias.php", }, Hooks={ }, callback="SWL\\SemanticWatchlist::initExtension", ExtensionFunctions={ "SWL\\SemanticWatchlist::onExtensionFunction",}, SpecialPages={ SemanticWatchlist="SWL\\Special\\Watchlist", WatchlistConditions="SWL\\Special\\Conditions", }, SpecialPageGroups={ SemanticWatchlist="changes", WatchlistConditions="changes", }, APIModules={ addswlgroup="SWL\\Api\\AddWatchlistGroup", deleteswlgroup="SWL\\Api\\DeleteWatchlistGroup", editswlgroup="SWL\\Api\\EditWatchlistGroup", }, APIListModules={ semanticwatchlist="SWL\\Api\\QuerySemanticWatchlist", }, AvailableRights={ "semanticwatch","semanticwatchgroups",}, GroupPermissions={ ["*"]={ semanticwatch=false, semanticwatchgroups=false, }, user={ semanticwatch=true, semanticwatchgroups=false, }, autoconfirmed={ semanticwatch=true, semanticwatchgroups=false, }, bot={ semanticwatch=false, semanticwatchgroups=false, }, sysop={ semanticwatch=true, semanticwatchgroups=true, }, }, config_prefix="egSWL", config={ EnableEmailNotify={ value=true, description="Enable email notification or not?", }, MailPerChange={ value=true, description="Send an email for every change (as opposed to a \"something changed email\" for the first 'MaxMails'] changes)?", }, MaxMails={ value=1, description="The maximum amount of generic emails to send about changes until the user actually checks his semantic watchlist.", }, EnableTopLink={ value=true, description="Enable displaying a top link to the semantic watchlist?", }, EnableSelfNotify={ value=false, description="Send email to editor", }, SqlDatabaseSchemaPath={ value="sql/swl-table-schema.sql", description="SQL schema path", path=true, }, }, ConfigRegistry={ SemanticWatchlist="GlobalVarConfig::newInstance", }, DefaultUserOptions={ swl_email=true, swl_watchlisttoplink=true, }, repository="https://github.com/SemanticMediaWiki/SemanticWatchlist", composer="mediawiki/semantic-watchlist", }, ["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="2.0.0", 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.35", }, config={ SimpleBatchUploadMaxFilesPerBatch={ value={ ["*"]=1000, }, }, }, ExtensionMessagesFiles={ SimpleBatchUploadAlias="src/SimpleBatchUpload.alias.php", SimpleBatchUploadMagic="src/SimpleBatchUpload.magic.php", }, SpecialPages={ BatchUpload="SimpleBatchUpload\\SpecialBatchUpload", }, Hooks={ ParserFirstCallInit="SimpleBatchUpload\\SimpleBatchUpload::registerParserFunction", MakeGlobalVariablesScript="SimpleBatchUpload\\SimpleBatchUpload::onMakeGlobalVariablesScript", }, 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.3", 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", }, ["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.2.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.2.0", 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", requires={ MediaWiki=">= 1.38.0", }, repository="https://github.com/ciencia/mediawiki-extensions-StubUserWikiAuth.git", }, SubPageList={ name="SubPageList", version="2.0.2", author={ "Jeroen De Dauw","Professional.Wiki",}, url="https://github.com/JeroenDeDauw/SubPageList/blob/master/README.md", descriptionmsg="spl-desc", ["license-name"]="GPL-2.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.35.0", }, ExtensionMessagesFiles={ SubPageListMagic="SubPageList.i18n.magic.php", }, ExtensionFunctions={ "\\SubPageList\\Setup::onExtensionFunctions",}, config_prefix="egSPL", config={ Autorefresh={ value=false, desc="Automatically invalidate the cache of 'base pages' when creating, moving or deleting a subpage? This covers most cases where people expect automatic refresh of the sub page list. However note that this will not update lists displaying subpages from pages different then themselves.", }, }, composer="mediawiki/sub-page-list", repository="https://github.com/JeroenDeDauw/SubPageList.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://gitlab.com/hexmode1/SuggestedTitles.git/", }, Svetovid={ name="Svetovid", author="Ostrzyciel", ["license-name"]="MIT", version="1.4.0", url="https://www.mediawiki.org/wiki/Extension:Svetovid", requires={ MediaWiki=">= 1.38.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.git/", }, 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="main", ["EditPage::showEditForm:initial"]="main", }, HookHandlers={ main={ class="SyntaxHighlight", }, }, repository="https://github.com/InternationalScratchWiki/SyntaxHighlight_PrismJS.git", }, Tabber={ name="Tabber", version="2.4.5", author={ "Eric Fortin","Alexia E. Smith",}, url="https://www.mediawiki.org/wiki/Extension:Tabber", descriptionmsg="tabber-desc", type="parserhook", ["license-name"]="GPL-3.0-only", requires={ MediaWiki=">= 1.29.0", }, Hooks={ ParserFirstCallInit={ "Tabber\\TabberHooks::onParserFirstCallInit",}, }, repository="https://gitlab.com/hydrawiki/extensions/Tabber.git", }, 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", }, ExtensionMessagesFiles={ ["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.1", 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.2", 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.39.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="3.0.1", author="Femiwiki Team", url="https://github.com/femiwiki/unifiedExtensionForFemiwiki", descriptionmsg="unifiedextensionforfemiwiki-desc", ["license-name"]="AGPL-3.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.35.0", extensions={ CategoryTree="*", }, }, AuthManagerAutoConfig={ preauth={ FemiwikiPreAuthenticationProvider={ class="MediaWiki\\Extension\\UnifiedExtensionForFemiwiki\\FemiwikiPreAuthenticationProvider", }, }, }, HookHandlers={ main={ class="MediaWiki\\Extension\\UnifiedExtensionForFemiwiki\\HookHandlers\\Main", services={ "MainConfig",}, }, RelatedArticles={ class="MediaWiki\\Extension\\UnifiedExtensionForFemiwiki\\HookHandlers\\RelatedArticles", services={ "MainConfig","DBLoadBalancer",}, }, DefaultOptions={ class="MediaWiki\\Extension\\UnifiedExtensionForFemiwiki\\HookHandlers\\DefaultOptions", services={ "MainConfig","UserOptionsManager",}, }, }, Hooks={ HtmlPageLinkRendererBegin="main", LinkerMakeExternalLink="main", OutputPageParserOutput="RelatedArticles", SidebarBeforeOutput="main", SkinAddFooterLinks="main", UserMailerTransformContent="main", }, config={ UnifiedExtensionForFemiwikiPreAuth={ value=false, description="If set to true, creating account would require an additional step.", }, UnifiedExtensionForFemiwikiRelatedArticlesUseLinks={ value=true, description="If set to true, Related Articles on a page would show links from the page and links to the page.", }, UnifiedExtensionForFemiwikiModifyEmailTheme={ value=false, description="Modifies the email theme to use the femiwiki theme.", }, UnifiedExtensionForFemiwikiRelatedArticlesTargetNamespaces={ value={ }, description="An array of namespaces which can be a target for RelatedArticles. Empty array means allowing all namespaces.", }, }, composer="femiwiki/unified-extension-for-femiwiki", 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",}, requires={ MediaWiki="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", }, 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.15", 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="1.1.0", 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",}, PageSaveComplete={ "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.7.0", 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.28", 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.1", 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", }, 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/wiki-discover", repository="https://github.com/miraheze/WikiDiscover", }, WikiMirror={ name="WikiMirror", namemsg="wikimirror-extensionname", version="0.9.0", 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", APIGetAllowedParams="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={ "DBLoadBalancer","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",}, }, Mirror={ class="WikiMirror\\Fork\\SpecialMirror", services={ "DBLoadBalancer","Mirror",}, }, }, LogActionsHandlers={ ["delete/fork"]="LogFormatter", ["delete/mirror"]="LogFormatter", ["import/fork"]="LogFormatter", }, ContentHandlers={ mirror="WikiMirror\\Mirror\\MirrorContentHandler", }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, callback="WikiMirror\\Setup::callback", requires={ MediaWiki=">= 1.39.0", }, repository="https://github.com/SkizNet/mediawiki-WikiMirror", }, 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="2.1.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.37.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.2", 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", }, 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", }, ExtensionMessagesFiles={ 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.40.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.41.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","abusefilter-modify-blocked-external-domains","abusefilter-bypass-blocked-external-domains",}, 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, ["abusefilter-modify-blocked-external-domains"]=true, }, suppress={ ["abusefilter-hidden-log"]=true, ["abusefilter-hide-log"]=true, }, bot={ ["abusefilter-bypass-blocked-external-domains"]=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, }, editprotected={ ["abusefilter-bypass-blocked-external-domains"]=true, }, }, SpecialPages={ AbuseLog={ class="MediaWiki\\Extension\\AbuseFilter\\Special\\SpecialAbuseLog", services={ "DBLoadBalancerFactory","LinkBatchFactory","PermissionManager","UserIdentityLookup","AbuseFilterPermissionManager","AbuseFilterConsequencesRegistry","AbuseFilterVariablesBlobStore","AbuseFilterSpecsFormatter","AbuseFilterVariablesFormatter","AbuseFilterVariablesManager",}, }, AbuseFilter={ class="MediaWiki\\Extension\\AbuseFilter\\Special\\SpecialAbuseFilter", services={ "AbuseFilterPermissionManager","ObjectFactory",}, }, BlockedExternalDomains={ class="MediaWiki\\Extension\\AbuseFilter\\Special\\BlockedExternalDomains", services={ "AbuseFilterBlockedDomainStorage","MainWANObjectCache",}, }, }, LogTypes={ "abusefilter","abusefilterblockeddomainhit","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", ["abusefilterblockeddomainhit/*"]="MediaWiki\\Extension\\AbuseFilter\\LogFormatter\\AbuseFilterBlockedDomainHitLogFormatter", ["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", abusefilterblockeddomainhit="abusefilter-view", }, AuthManagerAutoConfig={ preauth={ AbuseFilterPreAuthenticationProvider={ class="MediaWiki\\Extension\\AbuseFilter\\AbuseFilterPreAuthenticationProvider", services={ "AbuseFilterVariableGeneratorFactory","AbuseFilterFilterRunnerFactory","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", }, EditPermission={ class="MediaWiki\\Extension\\AbuseFilter\\Hooks\\Handlers\\EditPermissionHandler", }, 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","AbuseFilterFilterRunnerFactory","AbuseFilterVariableGeneratorFactory","AbuseFilterEditRevUpdater","AbuseFilterBlockedDomainFilter","PermissionManager",}, }, CheckUser={ class="MediaWiki\\Extension\\AbuseFilter\\Hooks\\Handlers\\CheckUserHandler", services={ "AbuseFilterFilterUser","UserIdentityUtils",}, }, }, 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", getUserPermissionsErrors="EditPermission", CheckUserInsertChangesRow="CheckUser", CheckUserInsertPrivateEventRow="CheckUser", CheckUserInsertLogEventRow="CheckUser", UserMergeAccountFields="MediaWiki\\Extension\\AbuseFilter\\Hooks\\Handlers\\UserMergeHandler::onUserMergeAccountFields", BeforeCreateEchoEvent="MediaWiki\\Extension\\AbuseFilter\\Hooks\\Handlers\\EchoHandler::onBeforeCreateEchoEvent", ParserOutputStashForEdit="FilteredActions", UnitTestsAfterDatabaseSetup="Tests", UnitTestsBeforeDatabaseTeardown="Tests", JsonValidateSave="EditPermission", }, 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", }, AbuseFilterActorTableSchemaMigrationStage={ value=3, description="Stage of the migration of af_user/af_user_text to af_actor and afh_user/afh_user_text to afh_actor. Should be one of the following (combinations of) constants: SCHEMA_COMPAT_OLD, SCHEMA_COMPAT_WRITE_BOTH | SCHEMA_COMPAT_READ_OLD, SCHEMA_COMPAT_WRITE_BOTH | SCHEMA_COMPAT_READ_NEW, SCHEMA_COMPAT_NEW. See also \"Schema compatibility flags\" in includes/Defines.php in core. Note: When changing the default here, change it also in unit tests.", }, AbuseFilterEnableBlockedExternalDomain={ value=false, description="Temporary config value to disable Special:BlockedExternalDomains", }, }, 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="6.0", 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.34.0", }, GroupPermissions={ ["*"]={ createaccount=false, createpage=false, createtalk=false, edit=false, writeapi=false, }, user={ pagelang=false, import=false, importupload=false, }, }, 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", }, AccessControlMeta={ value=false, description="If set true, do redirect to target into page from main namespace", }, AccessControlNamespaces={ value={ 0,2,}, description="Anonymous user can't by default view differences between revisions", }, AccessToHistory={ value=false, description="Anonymous user can't by default view history of page", }, }, Hooks={ ModifyExportQuery="AccessControlHooks::onModifyExportQuery", ParserFirstCallInit="AccessControlHooks::accessControlExtension", ParserBeforeStrip="AccessControlHooks::onParserBeforeStrip", getUserPermissionsErrors="AccessControlHooks::onuserCan", ShowSearchHit="AccessControlHooks::onShowSearchHit", ["EditPage::attemptSave"]="AccessControlHooks::onEditPageAttemptSave", }, 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.38.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.39.0", }, HookHandlers={ AddPersonalUrls={ class="AddPersonalUrls", }, }, Hooks={ BeforePageDisplay="AddPersonalUrls", EditFormPreloadText="AddPersonalUrls", ["SkinTemplateNavigation::Universal"]="AddPersonalUrls", }, 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.6.1", 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", }, ConfigRegistry={ AdminLinks="GlobalVarConfig::newInstance", }, config={ AdminLinksDelimiter="·", }, Hooks={ ["SkinTemplateNavigation::Universal"]="main", }, HookHandlers={ main={ class="AdminLinksHooks", }, }, 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.39.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.41.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"]=0, }, 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","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.41.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.38.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.9", 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.35.0", }, ExtensionFunctions={ "ApprovedRevsHooks::initialize",}, 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={ PageSaveComplete={ "ApprovedRevsHooks::setLatestAsApproved","ApprovedRevsHooks::setSearchText",}, PageMoveComplete="ApprovedRevsHooks::setPageMoveAsApproved", RevisionDataUpdates="ApprovedRevsHooks::updateLinksAfterEdit", SearchResultInitFromTitle="ApprovedRevsHooks::setSearchRevisionID", ParserBeforeInternalParse="ApprovedRevsHooks::removeRobotsTag", ArticleFromTitle="ApprovedRevsHooks::showApprovedRevision", ArticleRevisionViewCustom="ApprovedRevsHooks::showBlankIfUnapproved", DisplayOldSubtitle="ApprovedRevsHooks::setSubtitle", ["SkinTemplateNavigation::Universal"]="ApprovedRevsHooks::changeEditLink", PageHistoryBeforeList="ApprovedRevsHooks::storeApprovedRevisionForHistoryPage", PageHistoryLineEnding="ApprovedRevsHooks::addApprovalLink", DiffTools="ApprovedRevsHooks::addApprovalDiffLink", GetMagicVariableIDs="ApprovedRevsHooks::addMagicWordVariableIDs", ParserAfterTidy="ApprovedRevsHooks::handleMagicWords", ParserGetVariableValueSwitch="ApprovedRevsHooks::assignAValue", ParserFirstCallInit="ApprovedRevsHooks::registerFunctions", AdminLinks="ApprovedRevsHooks::addToAdminLinks", LoadExtensionSchemaUpdates="ApprovedRevsHooks::describeDBSchema", TitleGetEditNotices="ApprovedRevsHooks::addEditNotice", ["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", }, ArrayFunctions={ name="ArrayFunctions", type="parserhook", version="1.4.4", author={ "Marijn van Wezel",}, url="https://www.mediawiki.org/wiki/Extension:ArrayFunctions", descriptionmsg="af-desc", namemsg="af-extensionname", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.35.6", platform={ php=">= 7.4", }, }, ExtensionMessagesFiles={ ArrayFunctionsMagic="i18n/ArrayFunctions.i18n.php", }, HookHandlers={ Trivial={ class="\\ArrayFunctions\\TrivialHookHandler", }, ParserInit={ class="\\ArrayFunctions\\ParserInitHookHandler", services={ "ArrayFunctions.ArrayFunctionRegistry",}, }, }, Hooks={ ParserFirstCallInit="ParserInit", ParserGetVariableValueSwitch="Trivial", GetMagicVariableIDs="Trivial", ScribuntoExternalLibraries="\\ArrayFunctions\\LegacyHookHandler::onScribuntoExternalLibraries", }, ServiceWiringFiles={ "src/ArrayFunctions.ServiceWiring.php",}, callback="\\ArrayFunctions\\LegacyHookHandler::onExtensionRegistration", repository="https://gitlab.wikibase.nl/extensions/arrayfunctions", composer="wikibase-solutions/array-functions", }, 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={ GetActionName="ArticleCreationWorkflow\\Hooks::onGetActionName", BeforeDisplayNoArticleText="ArticleCreationWorkflow\\Hooks::onBeforeDisplayNoArticleText", 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 which should replace the default message when intercepting.", value="Project:Article wizard", }, }, 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.38.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", }, 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", }, 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.40.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", }, 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.39.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, }, BabelAllowOverride={ value=true, }, BabelAutoCreate={ value=true, }, }, composer="mediawiki/babel", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Babel", }, 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={ BetaFeaturesAllowList={ 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.35.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", }, 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={ 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:BlueSpiceArticleInfo", 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:BlueSpiceArticlePreviewCapture", 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:BlueSpiceAuthors", 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:BlueSpiceAvatars", 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"]="", }, HookHandlers={ export={ class="\\BlueSpice\\Avatars\\Hook\\BSUEModulePDFFindFiles\\AddProfileImage", services={ "UrlUtils","UserFactory","UserOptionsLookup","BSAvatarsAvatarGenerator","RepoGroup",}, }, }, 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", BSUEModulePDFFindFiles={ "export",}, }, 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:BlueSpiceBookshelf", 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", ["bs-book-chapters-store"]="BlueSpice\\Bookshelf\\Api\\Store\\ApiBookChaptersStore", }, 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", }, addAddToBookEntry={ class="\\BlueSpice\\Bookshelf\\HookHandler\\SkinTemplateNavigation\\AddAddToBookEntry", }, addEditBook={ class="\\BlueSpice\\Bookshelf\\HookHandler\\SkinTemplateNavigation\\AddEditBook", }, ["heading-numberation"]={ class="\\BlueSpice\\Bookshelf\\HookHandler\\HeadingNumberationHandler", services={ "ConfigFactory",}, }, ["add-chapter-number-to-title-and-headings"]={ class="\\BlueSpice\\Bookshelf\\HookHandler\\AddChapterNumberToTitleAndHeadings", services={ "ConfigFactory",}, }, }, Hooks={ BeforePageDisplay={ "\\BlueSpice\\Bookshelf\\Hook\\BeforePageDisplay\\AddResources::callback","add-chapter-number-to-title-and-headings",}, 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","BlueSpice\\Bookshelf\\Hook\\LoadExtensionSchemaUpdates\\AddBookChapterTable::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"]={ "addAddToBookEntry","addEditBook",}, BSUEModulePDFAfterFindFiles="\\BlueSpice\\Bookshelf\\Hook\\BSUEModulePDFAfterFindFiles\\AddAttachments::callback", BSUsageTrackerRegisterCollectors="\\BlueSpice\\Bookshelf\\Hook\\BSUsageTrackerRegisterCollectors\\NoOfUserBooks::callback", BlueSpiceDiscoveryTemplateDataProviderAfterInit="discovery-skin", MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", OutputPageBeforeHTML="add-chapter-number-to-title-and-headings", }, Actions={ editbooksource="\\BlueSpice\\Bookshelf\\Action\\BookEditSourceAction", }, DefaultUserOptions={ ["bs-bookshelf-defaultview"]="gridviewpanel", }, composer="bluespice/bookshelf", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceBookshelf", }, BlueSpiceCategoryCheck={ name="BlueSpiceCategoryCheck", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:BlueSpiceCategoryCheck", 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", NamespaceManagerBeforePersistSettings="writeNamespaceConfiguration", }, HookHandlers={ writeNamespaceConfiguration={ class="\\BlueSpice\\CategoryCheck\\Hook\\WriteNamespaceConfiguration", }, }, 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:BlueSpiceCategoryManager", 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:BlueSpiceChecklist", 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","ext.bluespice.checkbox.visualEditor",}, }, BlueSpiceSMWConnector={ ExtraPropertyRegistry={ checklistfields="\\BlueSpice\\Checklist\\ChecklistPropertyValueProvider::factory", }, }, ContentDroplets={ Droplets={ checklist={ class="\\BlueSpice\\Checklist\\ContentDroplets\\ChecklistDroplet", }, }, }, }, 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:BlueSpiceConfigManager", 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:BlueSpiceContextMenu", 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:BlueSpiceCountThings", 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:BlueSpiceDashboards", 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", }, HookHandlers={ addDashboardUrls={ class="\\BlueSpice\\Dashboards\\HookHandler\\AddDashboardUrls", }, }, Hooks={ GetPreferences="\\BlueSpice\\Dashboards\\Hook\\GetPreferences\\AddUserDashboardOnLogo::callback", ["SkinTemplateNavigation::Universal"]="addDashboardUrls", 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={ DistributionConnectorPluggableAuthConfig="\\BlueSpice\\DistributionConnector\\ConfigDefinition\\PluggableAuth\\Config::getInstance", DistributionConnectorEventBusEnableEventBus="\\BlueSpice\\DistributionConnector\\ConfigDefinition\\EventBus\\EnableEventBus::getInstance", DistributionConnectorEventBusEventServices="\\BlueSpice\\DistributionConnector\\ConfigDefinition\\EventBus\\EventServices::getInstance", DistributionConnectorEventBusEventServiceDefault="\\BlueSpice\\DistributionConnector\\ConfigDefinition\\EventBus\\EventServiceDefault::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", }, }, }, 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", }, video={ class="\\BlueSpice\\DistributionConnector\\ContentDroplets\\VideoDroplet", }, ["circled-number"]={ class="\\BlueSpice\\DistributionConnector\\ContentDroplets\\CircledNumberDroplet", }, subpages={ class="\\BlueSpice\\DistributionConnector\\ContentDroplets\\SubpagesDroplet", }, map={ class="\\BlueSpice\\DistributionConnector\\ContentDroplets\\MapDroplet", }, buttonlink={ class="\\BlueSpice\\DistributionConnector\\ContentDroplets\\ButtonLinkDroplet", }, createInput={ class="\\BlueSpice\\DistributionConnector\\ContentDroplets\\CreateInputDroplet", }, pdflink={ class="\\BlueSpice\\DistributionConnector\\ContentDroplets\\PDFLinkDroplet", }, }, }, MWStakeContentProvisioner={ ContentManifests={ DefaultContentProvisioner={ "extensions/BlueSpiceDistributionConnector/data/Content/ContentDropletsTemplates/manifest.json","extensions/BlueSpiceDistributionConnector/data/Content/Startpage_COMMON/manifest.json","extensions/BlueSpiceDistributionConnector/data/Content/Startpage_Intranet/manifest.json","extensions/BlueSpiceDistributionConnector/data/Content/Startpage_Team/manifest.json",}, }, }, }, callback="\\BlueSpice\\DistributionConnector\\Extension::onRegistration", ExtensionMessagesFiles={ BlueSpiceDistributionConnectorCheckPermissions="languages/SpecialCheckPermissions.alias.php", }, SpecialPages={ CheckPermissions="BlueSpice\\DistributionConnector\\Specials\\CheckPermissions", }, config_prefix="bsg", config={ DistributionConnectorPluggableAuthConfig={ value={ }, descriptionmsg="bs-distributionconnector-pref-pluggableauth-config", public=true, }, DistributionConnectorEventBusEnableEventBus={ value="TYPE_NONE", descriptionmsg="bs-distributionconnector-pref-eventbus-enableeventbus", public=true, }, DistributionConnectorEventBusEventServices={ value={ eventbus={ url="http://localhost:3000/v1/events", timeout=5, }, }, descriptionmsg="bs-distributionconnector-pref-eventbus-eventservices", public=true, }, DistributionConnectorEventBusEventServiceDefault={ value="eventbus", descriptionmsg="bs-distributionconnector-pref-eventbus-eventservicedefault", public=true, }, }, Hooks={ BeforePageDisplay={ "\\BlueSpice\\DistributionConnector\\Hook\\BeforePageDisplay\\AddResources::callback","\\BlueSpice\\DistributionConnector\\Hook\\BeforePageDisplay\\AddHitCounters::callback","\\BlueSpice\\DistributionConnector\\Hook\\BeforePageDisplay\\AddEmbedVideoServices::callback",}, OutputPageBodyAttributes="\\BlueSpice\\DistributionConnector\\Hook\\OutputPageBodyAttributes\\InitRcFilters::onOutputPageBodyAttributes", 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","migrate-pluggable-auth-config",}, ["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", }, ["migrate-pluggable-auth-config"]={ class="\\BlueSpice\\DistributionConnector\\Hook\\LoadExtensionSchemaUpdates\\MigratePluggableAuthConfig", }, }, composer="bluespice/distributionconnector", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceDistributionConnector", }, BlueSpiceEchoConnector={ name="BlueSpiceEchoConnector", ["license-name"]="GPL-3.0-only", version="4.3.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", }, ["add-special-styles"]={ class="BlueSpice\\EchoConnector\\HookHandler\\AddSpecialStyles", }, }, 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", BeforePageDisplay="add-special-styles", }, 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", }, BlueSpiceEmoticons={ name="BlueSpiceEmoticons", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:BlueSpiceEmoticons", 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:BlueSpiceExpiry", 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:BlueSpiceExportTables", 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:BlueSpiceExtendedFilelist", 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.4.0-alpha", author={ "Robert Vogel","Dejan Savuljesku",}, url="https://en.wiki.bluespice.com/wiki/Reference:BlueSpiceExtendedSearch", 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", }, 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={ class="BS\\ExtendedSearch\\Source\\WikiPages", services={ "ObjectFactory",}, }, specialpage={ class="BS\\ExtendedSearch\\Source\\SpecialPages", services={ "ObjectFactory",}, }, repofile={ class="BS\\ExtendedSearch\\Source\\RepoFiles", services={ "ObjectFactory",}, }, externalfile={ class="BS\\ExtendedSearch\\Source\\ExternalFiles", services={ "ObjectFactory",}, }, }, PluginRegistry={ }, DefaultResultStructure={ headerText="basename", headerUri="uri", secondaryInfos={ top={ items={ }, }, bottom={ items={ { name="typetext", },{ name="ctime", },{ name="mtime", },}, }, }, featured={ }, }, Autocomplete={ SuggestField="suggestions", 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={ enabled=true, suggestField="suggestions", 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",}, MWStakeRunJobsTriggerRegisterHandlers="\\BS\\ExtendedSearch\\Hook\\MWStakeRunJobsTriggerRegisterHandlers\\RegisterExternalFileUpdater::callback", }, 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="https", }, 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, }, ESUseSharedUploads={ description="If `$wgUseSharedUploads` is set to true, this setting will allow to search for files in the shared upload directory", value=false, }, ESSharedUploadsIndexPrefix={ description="Prefix for the search index in the shared uploads wiki", value=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:BlueSpiceExtendedStatistics", author={ "Markus Glaser","Patric Wirth","Oleksandr Pinchuk",}, descriptionmsg="bs-statistics-desc", type="bluespice", requires={ MediaWiki=">= 1.39.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", 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", }, BlueSpiceFilterableTables={ name="BlueSpiceFilterableTables", version="4.2.0-alpha", ["license-name"]="GPL-3.0-only", url="https://en.wiki.bluespice.com/wiki/Reference:BlueSpiceFilterableTables", 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:BlueSpiceFlaggedRevsConnector", 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",}, }, }, }, }, 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",}, }, changePendingActionText={ class="\\BlueSpice\\FlaggedRevsConnector\\HookHandler\\SkinTemplateNavigation\\ChangePendingActionText", }, removeFlaggedRevsContentActions={ class="\\BlueSpice\\FlaggedRevsConnector\\HookHandler\\SkinTemplateNavigation\\RemoveFlaggedRevsContentActions", }, }, 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"]={ "changePendingActionText","removeFlaggedRevsContentActions",}, 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","\\BlueSpice\\FlaggedRevsConnector\\Hook\\BeforePageDisplay\\HideWarningBoxWithPendingChanges::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.39.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", }, 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", }, ["bs-ue-module-pdf-integration"]={ class="\\BlueSpice\\HookHandler\\PDFExportHandler", }, }, 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\\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", BSUEModulePDFBeforeAddingContent="bs-ue-module-pdf-integration", }, 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={ }, }, UseRealNameForUserLinks={ description="Replace the user name with the real name in user links", public=true, value=true, }, }, 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:BlueSpiceGroupManager", 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", }, }, }, 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", }, registerDynamicConfig={ class="\\BlueSpice\\GroupManager\\Hook\\RegisterDynamicConfig", }, }, Hooks={ MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", LoadExtensionSchemaUpdates={ "\\BlueSpice\\GroupManager\\Hook\\LoadExtensionSchemaUpdates\\MigrateGmSettings::callback","\\BlueSpice\\GroupManager\\Hook\\LoadExtensionSchemaUpdates\\AddCleanUpUserGroupTableMaintenanceScript::callback",}, MWStakeDynamicConfigRegisterConfigs="registerDynamicConfig", }, callback="mwsInitComponents", 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:BlueSpiceHideTitle", 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.3.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:BlueSpiceInsertCategory", 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", }, }, }, BlueSpiceDiscovery={ MetaItemProviderRegistry={ categories={ class="\\BlueSpice\\InsertCategory\\MetaItemProvider\\Categories", }, }, }, }, config_prefix="bsg", config={ InsertCategoryWithParents={ value=false, descriptionmsg="bs-insertcategory-pref-withparents", }, InsertCategoryUploadPanelIntegration={ value=false, descriptionmsg="bs-insertcategory-pref-uploadpanelintegration", }, }, HookHandlers={ addInsertCategoryAction={ class="\\BlueSpice\\InsertCategory\\HookHandler\\AddInsertCategoryAction", }, }, Hooks={ ChameleonSkinTemplateOutputPageBeforeExec={ "\\BlueSpice\\InsertCategory\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddContentActionToBlacklist::callback",}, ["SkinTemplateNavigation::Universal"]="addInsertCategoryAction", BeforePageDisplay="\\BlueSpice\\InsertCategory\\Hook\\BeforePageDisplay\\AddResources::callback", }, 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:BlueSpiceInsertFile", 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:BlueSpiceInsertLink", 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:BlueSpiceInsertTemplate", 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", }, BlueSpiceInstanceStatus={ name="BlueSpiceInstanceStatus", version="4.3.0-alpha", ["license-name"]="GPL-3.0-only", author={ "Hallo Welt! GmbH",}, url="http://www.bluespice.com", descriptionmsg="bs-instancestatus-desc", type="bluespice", requires={ MediaWiki=">= 1.39.0", }, ExtensionMessagesFiles={ BlueSpiceInstanceStatusAlias="languages/InstanceStatus.alias.php", }, attributes={ BlueSpiceInstanceStatus={ PluginModules={ "ext.bs.instancestatus.overview",}, InstanceStatusProvider={ bluespiceversion={ class="BlueSpice\\InstanceStatus\\InstanceStatusProvider\\BlueSpiceVersion", services={ "ConfigFactory",}, }, created={ class="BlueSpice\\InstanceStatus\\InstanceStatusProvider\\Created", services={ "DBLoadBalancer","ContentLanguage",}, }, lastupdate={ class="BlueSpice\\InstanceStatus\\InstanceStatusProvider\\LastUpdate", services={ "DBLoadBalancer","ContentLanguage",}, }, salescontact={ class="BlueSpice\\InstanceStatus\\InstanceStatusProvider\\SalesContact", services={ "ConfigFactory",}, }, }, }, }, SpecialPages={ InstanceStatus={ class="BlueSpice\\InstanceStatus\\Special\\InstanceStatus", services={ "ObjectFactory",}, }, }, config_prefix="bsg", config={ InstanceStatusBSContactLink={ value="https://bluespice.com/contact/", }, }, Hooks={ MWStakeCommonUIRegisterSkinSlotComponents="addGlobalAction", }, HookHandlers={ addGlobalAction={ class="BlueSpice\\InstanceStatus\\Hook\\AddGlobalAction", services={ "SpecialPageFactory",}, }, }, composer="bluespice/instancestatus", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BlueSpiceInstanceStatus", }, BlueSpiceInterWikiLinks={ name="BlueSpiceInterWikiLinks", ["license-name"]="GPL-3.0-only", version="4.2.0-alpha", url="https://en.wiki.bluespice.com/wiki/Reference:BlueSpiceInterWikiLinks", 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:BlueSpiceMultiUpload", 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:BlueSpiceNSFileRepoConnector", 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", }, 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:BlueSpiceNamespaceManager", 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",}, }, }, }, }, 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", }, registerDynamicConfig={ class="\\BlueSpice\\NamespaceManager\\Hook\\RegisterDynamicConfig", services={ "HookContainer",}, }, persistNamespaceFlags={ class="BlueSpice\\NamespaceManager\\Hook\\NamespaceManagerBeforePersistSettings\\PersistNamespaceFlags", }, }, Hooks={ LoadExtensionSchemaUpdates={ "\\BlueSpice\\NamespaceManager\\Hook\\LoadExtensionSchemaUpdates\\MigrateLegacySettings::callback",}, ["NamespaceManager::editNamespace"]={ "\\BlueSpice\\NamespaceManager\\Hook\\NamespaceManagerEditNamespace\\SetContentFlag::callback","\\BlueSpice\\NamespaceManager\\Hook\\NamespaceManagerEditNamespace\\SetSubPagesFlag::callback",}, NamespaceManagerBeforePersistSettings="persistNamespaceFlags", MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", MWStakeDynamicConfigRegisterConfigs="registerDynamicConfig", }, GroupPermissions={ sysop={ ["namespacemanager-viewspecialpage"]=true, }, }, AvailableRights={ "namespacemanager-viewspecialpage",}, callback="mwsInitComponents", 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:BlueSpicePageAccess", 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:BlueSpicePageAssignments", type="bluespice", version="4.2.0-alpha", descriptionmsg="bs-pageassignments-desc", requires={ MediaWiki=">= 1.39.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", }, sendStabilizationNotifications={ class="\\BlueSpice\\PageAssignments\\HookHandler\\SendStabilizationNotifications", services={ "TitleFactory","BSPageAssignmentsAssignmentFactory","BSNotificationManager",}, }, writeNamespaceConfiguration={ class="\\BlueSpice\\PageAssignments\\Hook\\WriteNamespaceConfiguration", }, }, 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",}, 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", NamespaceManagerBeforePersistSettings="writeNamespaceConfiguration", MergeAccountFromTo="\\BlueSpice\\PageAssignments\\Hook\\MergeAccountFromTo\\MergePageAssignmentsDBFields::callback", EchoGetDefaultNotifiedUsers="\\BlueSpice\\PageAssignments\\Notifications\\Registrator::onEchoGetDefaultNotifiedUsers", MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", BlueSpiceDiscoveryTemplateDataProviderAfterInit="discovery-skin", StandardDialogsRegisterPageInfoPanelModules="standard-dialogs", ContentStabilizationStablePointAdded="sendStabilizationNotifications", ContentStabilizationStablePointUpdated="sendStabilizationNotifications", }, 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", }, }, BlueSpiceDiscovery={ BreadcrumbDataProviderRegistry={ ["form-edit"]={ class="BlueSpice\\PageFormsConnector\\BreadcrumbDataProvider\\FormEditProvider", }, }, }, }, 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:BlueSpicePageTemplates", 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", ["bs-pagetemplate-tags-store"]="BSApiPageTemplateTagsStore", }, 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", }, addPreloadForActions={ class="\\BlueSpice\\PageTemplates\\HookHandler\\AddPreloadForActions", }, writeNamespaceConfiguration={ class="\\BlueSpice\\PageTemplates\\Hook\\WriteNamespaceConfiguration", }, }, 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", NamespaceManagerBeforePersistSettings="writeNamespaceConfiguration", HtmlPageLinkRendererBegin="\\BlueSpice\\PageTemplates\\Extension::onHtmlPageLinkRendererBegin", MessagesPreLoad="\\BlueSpice\\PageTemplates\\Extension::onMessagesPreLoad", MediaWikiPerformAction="\\BlueSpice\\PageTemplates\\Hook\\MediaWikiPerformAction\\PreventEditMode::callback", MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", ["SkinTemplateNavigation::Universal"]="addPreloadForActions", }, 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.35.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:BlueSpicePagesVisited", 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:BlueSpicePermissionManager", 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",}, }, }, }, 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", }, registerDynamicConfig={ class="\\BlueSpice\\PermissionManager\\Hook\\RegisterDynamicConfig", }, }, Hooks={ BSGroupManagerGroupDeleted="\\BlueSpice\\PermissionManager\\Hook\\BSGroupManagerGroupDeleted\\UnassignRoles::callback", BSGroupManagerGroupNameChanged={ "\\BlueSpice\\PermissionManager\\Hook\\BSGroupManagerGroupNameChanged\\ChangeGroupRoleAssignments::callback",}, LoadExtensionSchemaUpdates={ "\\BlueSpice\\PermissionManager\\Hook\\LoadExtensionSchemaUpdates\\MigratePmSettings::callback",}, MWStakeCommonUIRegisterSkinSlotComponents="common-user-interface", MWStakeDynamicConfigRegisterConfigs="registerDynamicConfig", }, 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:BlueSpicePlayer", 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", }, AlertProviderRegistry={ ["bs-privacy-alert"]="\\BlueSpice\\Privacy\\AlertProvider\\MissingPrivacyPages::factory", }, }, 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", PrivacyPages={ class="\\BlueSpice\\Privacy\\Special\\PrivacyPages", args={ "PrivacyPages",}, }, PrivacyConsent="\\BlueSpice\\Privacy\\Special\\PrivacyConsent", }, HookHandlers={ ["common-user-interface"]={ class="\\BlueSpice\\Privacy\\HookHandler\\CommonUserInterface", }, addPrivacyUrls={ class="\\BlueSpice\\Privacy\\HookHandler\\AddPrivacyUrls", }, addCookieConsent={ class="\\BlueSpice\\Privacy\\HookHandler\\AddCookieConsent", services={ "MainConfig","ConfigFactory",}, }, }, Hooks={ ["SkinTemplateNavigation::Universal"]="addPrivacyUrls", LoadExtensionSchemaUpdates={ "\\BlueSpice\\Privacy\\Hook\\LoadExtensionSchemaUpdates\\AddPrivacyRequestTable::callback",}, GetPreferences={ "\\BlueSpice\\Privacy\\Hook\\GetPreferences\\AddConsentPrefs::callback",}, BeforePageDisplay="addCookieConsent", TitleReadWhitelist="\\BlueSpice\\Privacy\\Hook\\TitleReadWhitelist\\AddWhitelistPages::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", }, PrivacyTermsOfServiceLink={ value="", }, PrivacyPrivacyPolicyLink={ value="", }, }, 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.2.0-alpha", ["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","extensions/BlueSpiceProDistributionConnector/data/Content/ContentDropletsTemplates/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", }, ["pro-con-list"]={ class="\\BlueSpice\\ProDistributionConnector\\ContentDroplets\\ProConListDroplet", }, ["modal-dialog"]={ class="\\BlueSpice\\ProDistributionConnector\\ContentDroplets\\ModalDialogDroplet", }, decision={ class="\\BlueSpice\\ProDistributionConnector\\ContentDroplets\\DecisionDroplet", }, ["pdf-embed"]={ class="\\BlueSpice\\ProDistributionConnector\\ContentDroplets\\PDFEmbedDroplet", }, }, }, BlueSpiceInstanceStatus={ InstanceStatusProvider={ numberofusers={ class="BlueSpice\\ProDistributionConnector\\InstanceStatusProvider\\NumberOfUsers", services={ "BlueSpiceUserCounter",}, }, }, }, BlueSpiceFoundation={ JSConfigVars={ BlueSpiceUserLimit="\\BlueSpice\\ProDistributionConnector\\JSConfigVariable\\UserLimit::factory", }, ConfigDefinitionRegistry={ LicenseKey="BlueSpice\\ProDistributionConnector\\ConfigDefinition\\LicenseKey::getInstance", }, }, VisualEditor={ PluginModules={ "ext.prodistributionconnector.droplet.pdfembed",}, }, }, HookHandlers={ ["pdfexport-convert-math-svg-to-png"]={ factory="BlueSpice\\ProDistributionConnector\\HookHandler\\PdfExportConvertMathSVGtoPNG::factory", services={ "MediaHandlerFactory",}, }, applyUserQuota={ class="\\BlueSpice\\ProDistributionConnector\\HookHandler\\ApplyUserQuota", services={ "BlueSpiceUserCounter",}, }, }, AuthManagerAutoConfig={ preauth={ UserLimitedAuthenticationProvider={ class="BlueSpice\\ProDistributionConnector\\UserLimitedAuthenticationProvider", sort=25, }, }, }, Hooks={ BSUEModulePDFFindFiles="pdfexport-convert-math-svg-to-png", BSUsageTrackerRegisterCollectors="BlueSpice\\ProDistributionConnector\\Hook\\BSUsageTrackerRegisterCollectors\\NumberOfNamespaces::callback", BeforePageDisplay="applyUserQuota", UnblockUser="applyUserQuota", }, config_prefix="bsg", config={ UserLimitWhitelist={ value={ "BSMaintenance","WikiSysop","MediaWiki default","DynamicPageList3 extension","Mediawiki default","Maintenance script","BlueSpice default",}, description="Contains user names that do not count towards the user limit", }, LicenseKey={ value=nil, description="License key for BlueSpice edition", }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, 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:BlueSpiceQrCode", type="bluespice", requires={ MediaWiki=">= 1.36.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceQrCode={ className="\\BlueSpice\\QrCode\\Extension", extPath="/BlueSpiceQrCode", package="BlueSpice Pro", }, }, TagRegistry={ qrcode="\\BlueSpice\\QrCode\\Tag\\QrCode", }, DynamicFileRegistry={ qrcode="\\BlueSpice\\QrCode\\DynamicFileDispatcher\\QrCode", }, }, BlueSpiceVisualEditorConnector={ TagDefinitions={ "ext.bluespice.qrCode.visualEditor",}, }, ContentDroplets={ Droplets={ ["qr-code"]={ class="\\BlueSpice\\QrCode\\ContentDroplet\\QrCodeDroplet", }, }, }, }, HookHandlers={ skin={ class="\\BlueSpice\\QrCode\\HookHandler\\Skin", }, ["discovery-skin"]={ class="\\BlueSpice\\QrCode\\HookHandler\\BlueSpiceDiscovery", }, export={ class="\\BlueSpice\\QrCode\\Hook\\BSUEModulePDFFindFiles\\AddQrCode", services={ "UrlUtils",}, }, }, Hooks={ BeforePageDisplay={ "\\BlueSpice\\QrCode\\Hook\\BeforePageDisplay\\AddRessources::callback",}, ["SkinTemplateNavigation::Universal"]={ "skin",}, BlueSpiceDiscoveryTemplateDataProviderAfterInit={ "discovery-skin",}, SetupAfterCache="\\BlueSpice\\QrCode\\Hook\\SetupAfterCache\\AddFileRepo::callback", BSUEModulePDFFindFiles={ "export",}, }, 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:BlueSpiceRSSFeeder", 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:BlueSpiceRating", author="Patric Wirth", descriptionmsg="bs-rating-extension-description", requires={ MediaWiki=">= 1.39.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",}, }, BlueSpiceDiscovery={ MetaItemProviderRegistry={ recommendations={ class="\\BlueSpice\\Rating\\MetaItemProvider\\RecommendationProvider", }, rating={ class="\\BlueSpice\\Rating\\MetaItemProvider\\RatingProvider", }, }, }, }, 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", }, writeNamespaceConfiguration={ class="\\BlueSpice\\Rating\\Hook\\WriteNamespaceConfiguration", }, }, 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",}, 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", NamespaceManagerBeforePersistSettings="writeNamespaceConfiguration", 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:BlueSpiceReadConfirmation", 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",}, }, readconfirmationviewconfirmations={ type="global", roles={ "admin","maintenanceadmin","structureadmin",}, }, }, 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", BSApiNamespaceStoreMakeData="ReadConfirmationHooks::onBSApiNamespaceStoreMakeData", UserMergeAccountFields="\\BlueSpice\\ReadConfirmation\\Hook\\UserMergeAccountFields\\MergeReadConfirmationDBFields::callback", UnifiedTaskOverviewGetTaskDescriptors="addUTOReadConfirmations", ["SkinTemplateNavigation::Universal"]="skin", NamespaceManagerBeforePersistSettings="writeNamespaceConfiguration", StandardDialogsRegisterPageInfoPanelModules="standard-dialogs", }, HookHandlers={ addUTOReadConfirmations={ factory="\\BlueSpice\\ReadConfirmation\\HookHandler\\UnifiedTaskOverview::factory", services={ "DBLoadBalancer","UserGroupManager","BSReadConfirmationMechanismFactory","MainConfig",}, }, skin={ class="\\BlueSpice\\ReadConfirmation\\HookHandler\\Skin", }, writeNamespaceConfiguration={ class="\\BlueSpice\\ReadConfirmation\\Hook\\WriteNamespaceConfiguration", }, ["standard-dialogs"]={ class="\\BlueSpice\\ReadConfirmation\\HookHandler\\StandardDialogs", }, }, RestRoutes={ { path="/readconfirmation/{pageId}", method="GET", class="\\BlueSpice\\ReadConfirmation\\Rest\\GetReadConfirmations", services={ "BSReadConfirmationMechanismFactory","BSPageAssignmentsAssignmentFactory","TitleFactory","UserFactory","PermissionManager",}, },}, LogTypes={ "bs-readconfirmation",}, FilterLogTypes={ ["bs-readconfirmation"]=true, }, LogActionsHandlers={ ["bs-readconfirmation/*"]="LogFormatter", ["bs-readconfirmation/confirm"]="\\BlueSpice\\ReadConfirmation\\Logging\\ConfirmFormatter", }, GroupPermissions={ sysop={ readconfirmationremind=true, readconfirmationviewconfirmations=true, }, }, AvailableRights={ "readconfirmationremind","readconfirmationviewconfirmations",}, config_prefix="bsgReadConfirmation", config={ Mechanism={ value="BlueSpice\\ReadConfirmation\\Mechanism\\NonMinorEdit::factory", }, PageApprovedReminderDelay={ value=168, }, }, 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:BlueSpiceReaders", 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", }, addReaders={ class="\\BlueSpice\\Readers\\HookHandler\\AddReaders", }, }, Hooks={ LoadExtensionSchemaUpdates={ "\\BlueSpice\\Readers\\Hook\\LoadExtensionSchemaUpdates\\AddReadersTable::callback",}, ChameleonSkinTemplateOutputPageBeforeExec={ "\\BlueSpice\\Readers\\Hook\\ChameleonSkinTemplateOutputPageBeforeExec\\AddContentActionToBlacklist::callback",}, BeforePageDisplay={ "\\BlueSpice\\Readers\\Hook\\BeforePageDisplay\\AddResources::callback",}, ["SkinTemplateNavigation::Universal"]="addReaders", 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:BlueSpiceReminder", 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:BlueSpiceSMWConnector", 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", }, }, TagRegistry={ dataquery="\\BlueSpice\\SMWConnector\\Tag\\DataQuery", }, 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",}, }, }, }, BlueSpiceSmartList={ ModeRegistry={ dataquery={ class="BlueSpice\\SMWConnector\\SmartListMode\\DataQueryMode", services={ "PermissionManager","DBLoadBalancer","TitleFactory",}, }, }, }, 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",}, }, }, TitleActionPrimaryActionModifier={ ["form-edit"]={ class="BlueSpice\\SMWConnector\\TitleActionModifier", }, }, }, VisualEditor={ PluginModules={ "ext.BSSMWConnector.DataQuery.visualEditor",}, }, ContentDroplets={ Droplets={ dataquery={ class="\\BlueSpice\\SMWConnector\\ContentDroplets\\DataQueryDroplet", }, }, }, BlueSpicePrivacy={ Handlers={ "\\BlueSpice\\SMWConnector\\Privacy\\Handler",}, }, }, 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", }, forceLinksUpdate={ class="\\BlueSpice\\SMWConnector\\HookHandler\\ForceLinksUpdates", }, writeNamespaceConfiguration={ class="\\BlueSpice\\SMWConnector\\Hook\\WriteNamespaceConfiguration", }, }, 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", NamespaceManagerBeforePersistSettings="writeNamespaceConfiguration", 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", RevisionDataUpdates="forceLinksUpdate", }, 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:BlueSpiceSaferEdit", 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:BlueSpiceSignHere", 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.38.0", extensions={ BlueSpiceFoundation=">= 4.1", }, }, attributes={ BlueSpiceFoundation={ Extensions={ BlueSpiceSmartList={ className="SmartList", extPath="/BlueSpiceSmartList", }, }, TagRegistry={ newbies="BlueSpice\\SmartList\\Tag\\Newbies", toplist="BlueSpice\\SmartList\\Tag\\Toplist", smartlist="BlueSpice\\SmartList\\Tag\\SmartList", userlist="BlueSpice\\SmartList\\Tag\\Userlist", recentchanges="BlueSpice\\SmartList\\Tag\\RecentChanges", whatlinkshere="BlueSpice\\SmartList\\Tag\\Whatlinkshere", }, }, 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={ whatlinkshere={ class="\\BlueSpice\\SmartList\\ContentDroplets\\WhatLinksHereDroplet", }, ["recent-changes"]={ class="\\BlueSpice\\SmartList\\ContentDroplets\\RecentChangesDroplet", }, toplist={ class="\\BlueSpice\\SmartList\\ContentDroplets\\TopListDroplet", }, newbies={ class="\\BlueSpice\\SmartList\\ContentDroplets\\NewbiesDroplet", }, userlist={ class="\\BlueSpice\\SmartList\\ContentDroplets\\UserlistDroplet", }, }, }, BlueSpiceSmartList={ ModeRegistry={ whatlinkshere={ class="BlueSpice\\SmartList\\Mode\\WhatLinksHereMode", services={ "PermissionManager","DBLoadBalancer","TitleFactory",}, }, recentchanges={ class="BlueSpice\\SmartList\\Mode\\RecentChangesMode", services={ "PermissionManager","DBLoadBalancer","TitleFactory",}, }, toplist={ class="BlueSpice\\SmartList\\Mode\\ToplistMode", services={ "PermissionManager","DBLoadBalancer","TitleFactory",}, }, newbies={ class="BlueSpice\\SmartList\\Mode\\NewbiesMode", services={ "DBLoadBalancer","UserFactory","TitleFactory",}, }, userlist={ class="BlueSpice\\SmartList\\Mode\\UserlistMode", services={ "TitleFactory",}, }, }, }, }, APIModules={ ["bs-smartlist-tasks"]="BSApiTasksSmartList", }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, 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:BlueSpiceSocial", author="Patric Wirth", descriptionmsg="bs-social-desc", requires={ MediaWiki=">= 1.37.0", extensions={ BlueSpiceFoundation=">= 4.1", BlueSpiceExtendedSearch=">= 4.4", }, 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={ class="\\BlueSpice\\Social\\ExtendedSearch\\Entities", services={ "ObjectFactory",}, }, }, }, 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:BlueSpiceSocialBlog", 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:BlueSpiceSocialComments", 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:BlueSpiceSocialMicroBlog", 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:BlueSpiceSocialProfile", 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:BlueSpiceSocialRating", author="Patric Wirth", descriptionmsg="bs-socialrating-desc", requires={ MediaWiki=">= 1.39.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:BlueSpiceSocialResolve", author="Patric Wirth", descriptionmsg="bs-socialresolve-desc", requires={ MediaWiki=">= 1.39.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:BlueSpiceSocialTags", 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:BlueSpiceSocialTimelineUpdate", 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:BlueSpiceSocialTopics", 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:BlueSpiceSocialWatch", 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:BlueSpiceTagCloud", 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",}, config_prefix="bsgTagCloud", config={ TypeCategoryExclude={ value={ }, public=false, }, }, Hooks={ BSInsertMagicAjaxGetData="\\BlueSpice\\TagCloud\\Hook\\BSInsertMagicAjaxGetData\\TagCloud::callback", BSUEModulePDFgetPage="\\BlueSpice\\TagCloud\\Hook\\BSUEModulePDFgetPage\\TagCloudText::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:BlueSpiceUEModuleBookPDF", 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:BlueSpiceUEModuleHTML", 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", }, ExportDialogPluginRegistry={ html={ factory="\\BlueSpice\\UEModuleHTML\\ExportDialogPluginHTML::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:BlueSpiceUEModulePDF", 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", }, }, }, BlueSpiceUEModulePDF={ FileResolverRegistry={ ["standard-resolver"]="\\PDFFileResolver", ["strip-special-characters-resolver"]="\\BlueSpice\\UEModulePDF\\PdfFileResolver\\StripSpecialCharsResolver", }, }, }, callback="\\BlueSpice\\UEModulePDF\\Extension::onRegistration", GroupPermissions={ ["*"]={ ["uemodulepdf-export"]=true, ["uemodulepdfsubpages-export"]=true, ["uemodulepdfrecursive-export"]=true, }, }, AvailableRights={ "uemodulepdf-export","uemodulepdfsubpages-export","uemodulepdfrecursive-export",}, HookHandlers={ ["remove-temporary-files"]={ class="\\BlueSpice\\UEModulePDF\\Hook\\BSUEModulePDFCreatePDFBeforeSend\\RemoveTemporaryFiles", }, }, Hooks={ BSMigrateSettingsFromDeviatingNames="\\BlueSpice\\UEModulePDF\\Hook\\BSMigrateSettingsFromDeviatingNames\\SkipServiceSettings::callback", BSUEModulePDFCreatePDFBeforeSend="remove-temporary-files", }, 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, }, UEModulePDFFileResolver={ value="standard-resolver", }, UEModulePDFExportDialogExcludeTemplates={ value={ }, }, }, 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:BlueSpiceUEModulePDFRecursive", 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:BlueSpiceUEModulePDFSubpages", 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:BlueSpiceUEModuleTable2Excel", 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:BlueSpiceUniversalExport", 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 4.3.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:BlueSpiceUsageTracker", 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:BlueSpiceUserInfo", author="Patric Wirth", descriptionmsg="bs-userinfo-description", requires={ MediaWiki=">= 1.39.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:BlueSpiceUserManager", 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={ 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", }, }, 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", StandalonePluginModules="\\BlueSpice\\VisualEditorConnector\\ClientConfig\\StandalonePluginModules::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",}, StandalonePluginModules={ }, }, 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", NamespaceManagerBeforePersistSettings="writeNamespaceConfiguration", BSUEModulePDFBeforeAddingStyleBlocks="\\BlueSpice\\VisualEditorConnector\\Hook\\BSUEModulePDFBeforeAddingStyleBlock\\AddColors::callback", UnitTestsList="\\BlueSpice\\VisualEditorConnector\\Hook\\UnitTestsList\\DisableFlaggedRevsTests::callback", }, HookHandlers={ writeNamespaceConfiguration={ class="\\BlueSpice\\VisualEditorConnector\\Hook\\WriteNamespaceConfiguration", }, }, 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:BlueSpiceWhoIsOnline", 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={ 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","\\BlueSpice\\WhoIsOnline\\Hook\\BeforePageDisplay\\InsertTrace::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:BlueSpiceWikiExplorer", 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", 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", }, 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.40.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", }, 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.33.0", }, Hooks={ BeforePageDisplay={ "BuggyHooks::onBeforePageDisplay",}, }, APIModules={ buggy="ApiBuggy", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/Buggy", }, BulkBlock={ name="BulkBlock", author="WikiTeq team", url="https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:BulkBlock", description="Allows blocking of users by providing a list in a Special page textarea", version="1.0.0", ["license-name"]="GPL-2.0-or-later", type="specialpage", requires={ MediaWiki=">= 1.35.0", }, ExtensionMessagesFiles={ BulkBlockAlias="BulkBlockAlias.alias.php", }, SpecialPages={ BulkBlock={ class="SpecialBulkBlock", services={ "UserFactory","UserNameUtils",}, }, }, AvailableRights={ "bulkblock",}, GroupPermissions={ sysop={ bulkblock=true, }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/BulkBlock", }, 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.41.0", }, attributes={ VisualEditor={ AvailableNamespaces={ Event=true, }, }, }, AvailableRights={ "campaignevents-enable-registration","campaignevents-delete-registration","campaignevents-organize-events","campaignevents-email-participants",}, config={ CampaignEventsDatabaseCluster={ description="The database cluster to use. False means the cluster of the current wiki will be used. In order to use a shared central database for a wiki farm, you need to setup single sign-on for that wiki farm. See https://www.mediawiki.org/wiki/Manual:Central_ID for more information.", value=false, }, CampaignEventsDatabaseName={ description="The database to use. False means the database of the current wiki will be used. In order to use a shared central database for a wiki farm, you need to setup single sign-on for that wiki farm. See https://www.mediawiki.org/wiki/Manual:Central_ID for more information.", 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, }, CampaignEventsEnableEmail={ description="Temporary feature flag to enable support for emailing users.", value=false, }, CampaignEventsEnableParticipantQuestions={ description="Temporary feature flag to enable support for participant questions.", value=false, }, CampaignEventsEnableWikimediaParticipantQuestions={ description="Flag to enable Wikimedia-specific participant questions. This flag could be reconsidered in the future, in favour of other solutions (like a hook to add Wikimedia-specific questions).", value=true, }, }, DefaultUserOptions={ ["echo-subscriptions-email-campaign-events-notification-registration"]=true, ["echo-subscriptions-web-campaign-events-notification-registration"]=false, }, GroupPermissions={ user={ ["campaignevents-enable-registration"]=true, ["campaignevents-organize-events"]=true, ["campaignevents-email-participants"]=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={ "CampaignEventsEventPageDecoratorFactory",}, }, PageMoveAndDeleteHandler={ class="MediaWiki\\Extension\\CampaignEvents\\Hooks\\Handlers\\PageMoveAndDeleteHandler", services={ "CampaignEventsMWEventLookupFromPage","CampaignEventsEventStore","CampaignEventsDeleteEventCommand","PageStore","TitleFormatter",}, }, }, Hooks={ LoadExtensionSchemaUpdates="SchemaChanges", ArticleViewHeader="ArticleViewHeader", PageMoveComplete="PageMoveAndDeleteHandler", PageDeleteComplete="PageMoveAndDeleteHandler", BeforeCreateEchoEvent="MediaWiki\\Extension\\CampaignEvents\\Hooks\\Handlers\\EchoHooksHandler::onBeforeCreateEchoEvent", }, JobClasses={ sendCampaignEmail="MediaWiki\\Extension\\CampaignEvents\\Messaging\\EmailUsersJob", }, namespaces={ { id=1728, constant="NS_EVENT", name="Event", },{ id=1729, constant="NS_EVENT_TALK", name="Event_talk", },}, RateLimits={ ["campaignevents-email-participants"]={ ["user-global"]={ 5,86400,}, }, }, RestRoutes={ { path="/campaignevents/v0/event_registration", method="POST", class="MediaWiki\\Extension\\CampaignEvents\\Rest\\EnableEventRegistrationHandler", services={ "CampaignEventsEventFactory","CampaignEventsPermissionChecker","CampaignEventsEditEventCommand","CampaignEventsOrganizersStore","CampaignEventsCentralUserLookup","CampaignEventsEventQuestionsRegistry","MainConfig",}, },{ path="/campaignevents/v0/event_registration/{id}", method="GET", class="MediaWiki\\Extension\\CampaignEvents\\Rest\\GetEventRegistrationHandler", services={ "CampaignEventsEventLookup","CampaignEventsTrackingToolRegistry","MainConfig",}, },{ path="/campaignevents/v0/event_registration/{id}", method="DELETE", class="MediaWiki\\Extension\\CampaignEvents\\Rest\\DeleteEventRegistrationHandler", services={ "CampaignEventsEventLookup","CampaignEventsDeleteEventCommand",}, },{ path="/campaignevents/v0/event_registration/{id}/participants/self", method="PUT", class="MediaWiki\\Extension\\CampaignEvents\\Rest\\RegisterForEventHandler", services={ "CampaignEventsEventLookup","CampaignEventsRegisterParticipantCommand","CampaignEventsEventQuestionsRegistry","MainConfig",}, },{ path="/campaignevents/v0/event_registration/{id}/participants/self", method="DELETE", class="MediaWiki\\Extension\\CampaignEvents\\Rest\\CancelEventRegistrationHandler", services={ "CampaignEventsEventLookup","CampaignEventsUnregisterParticipantCommand",}, },{ path="/campaignevents/v0/event_registration/{id}/participants/self", method="GET", class="MediaWiki\\Extension\\CampaignEvents\\Rest\\GetOwnRegistrationInfoHandler", services={ "CampaignEventsEventLookup","CampaignEventsParticipantsStore","CampaignEventsCentralUserLookup","CampaignEventsEventQuestionsRegistry","MainConfig",}, },{ path="/campaignevents/v0/event_registration/{id}", method="PUT", class="MediaWiki\\Extension\\CampaignEvents\\Rest\\UpdateEventRegistrationHandler", services={ "CampaignEventsEventFactory","CampaignEventsPermissionChecker","CampaignEventsEditEventCommand","CampaignEventsOrganizersStore","CampaignEventsCentralUserLookup","CampaignEventsEventQuestionsRegistry","MainConfig","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}/organizers", method="PUT", class="MediaWiki\\Extension\\CampaignEvents\\Rest\\SetOrganizersHandler", services={ "CampaignEventsEventLookup","CampaignEventsEditEventCommand","CampaignEventsCentralUserLookup",}, },{ path="/campaignevents/v0/event_registration/{id}/participants", method="GET", class="MediaWiki\\Extension\\CampaignEvents\\Rest\\ListParticipantsHandler", services={ "CampaignEventsPermissionChecker","CampaignEventsEventLookup","CampaignEventsParticipantsStore","CampaignEventsCentralUserLookup","CampaignEventsUserLinker","UserFactory","CampaignEventsUserMailer",}, },{ 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",}, },{ path="/campaignevents/v0/event_registration/{id}/email", method="POST", class="MediaWiki\\Extension\\CampaignEvents\\Rest\\EmailUsersHandler", services={ "CampaignEventsPermissionChecker","CampaignEventsUserMailer","CampaignEventsParticipantsStore","MainConfig","CampaignEventsEventLookup",}, },{ path="/campaignevents/v0/participant_questions", method="GET", class="MediaWiki\\Extension\\CampaignEvents\\Rest\\GetParticipantQuestionsHandler", services={ "CampaignEventsEventQuestionsRegistry","MessageFormatterFactory","ContentLanguage","MainConfig",}, },}, ServiceWiringFiles={ "src/ServiceWiring.php",}, SpecialPages={ EnableEventRegistration={ class="MediaWiki\\Extension\\CampaignEvents\\Special\\SpecialEnableEventRegistration", services={ "CampaignEventsEventLookup","CampaignEventsEventFactory","CampaignEventsEditEventCommand","CampaignEventsPolicyMessagesLookup","CampaignEventsOrganizersStore","CampaignEventsPermissionChecker","CampaignEventsCentralUserLookup","CampaignEventsTrackingToolRegistry","CampaignEventsEventQuestionsRegistry",}, }, EditEventRegistration={ class="MediaWiki\\Extension\\CampaignEvents\\Special\\SpecialEditEventRegistration", services={ "CampaignEventsEventLookup","CampaignEventsEventFactory","CampaignEventsEditEventCommand","CampaignEventsPermissionChecker","CampaignEventsPolicyMessagesLookup","CampaignEventsOrganizersStore","CampaignEventsCentralUserLookup","CampaignEventsTrackingToolRegistry","CampaignEventsEventQuestionsRegistry",}, }, DeleteEventRegistration={ class="MediaWiki\\Extension\\CampaignEvents\\Special\\SpecialDeleteEventRegistration", services={ "CampaignEventsEventLookup","CampaignEventsDeleteEventCommand","CampaignEventsPermissionChecker",}, }, RegisterForEvent={ class="MediaWiki\\Extension\\CampaignEvents\\Special\\SpecialRegisterForEvent", services={ "CampaignEventsEventLookup","CampaignEventsCentralUserLookup","CampaignEventsRegisterParticipantCommand","CampaignEventsParticipantsStore","CampaignEventsPolicyMessagesLookup","CampaignEventsEventQuestionsRegistry",}, }, 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","CampaignEventsPermissionChecker",}, }, }, 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.4.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.35", }, 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", LinksUpdate="links-update", PageSaveComplete="CargoHooks::onPageSaveComplete", ApprovedRevsRevisionApproved="CargoHooks::onARRevisionApproved", ApprovedRevsRevisionUnapproved="CargoHooks::onARRevisionUnapproved", PageMoveComplete="CargoHooks::onPageMoveComplete", UploadComplete="CargoHooks::onUploadComplete", CategoryAfterPageAdded="CargoHooks::addCategoryToPageData", CategoryAfterPageRemoved="CargoHooks::removeCategoryFromPageData", LoadExtensionSchemaUpdates={ "CargoHooks::describeDBSchema","CargoHooks::cargoSchemaUpdates",}, ["SkinTemplateNavigation::Universal"]={ "CargoRecreateDataAction::displayTab","CargoHooks::addPurgeCacheTab",}, SidebarBeforeOutput="CargoPageValuesAction::addLink", ["PageForms::TemplateFieldStart"]="CargoHooks::addTemplateFieldStart", ["PageForms::TemplateFieldEnd"]="CargoHooks::addTemplateFieldEnd", AdminLinks="CargoHooks::addToAdminLinks", PageSchemasRegisterHandlers="CargoPageSchemas::registerClass", ResourceLoaderGetConfigVars="CargoHooks::onResourceLoaderGetConfigVars", ScribuntoExternalLibraries="CargoHooks::addLuaLibrary", }, HookHandlers={ ["links-update"]={ class="CargoLinksUpdateHandler", }, }, 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, CargoIgnoreBacklinks=false, 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", }, 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.40.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={ "CategoryTree.CategoryCache","MainConfig",}, }, config={ class="MediaWiki\\Extension\\CategoryTree\\ConfigHookHandler", }, }, Hooks={ MediaWikiServices="config", ["SpecialTrackingCategories::preprocess"]="default", ["SpecialTrackingCategories::generateCatLink"]="default", SkinAfterPortlet="default", SkinBuildSidebar="default", ParserFirstCallInit="default", OutputPageMakeCategoryLinks="default", ["CategoryViewer::doCategoryQuery"]="default", ["CategoryViewer::generateLink"]="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, }, }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, 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.41.0", extensions={ AntiSpoof="*", }, }, 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={ "UserIdentityLookup","CentralAuth.CentralAuthSessionManager",}, }, CentralAuthApiSessionProvider={ class="CentralAuthApiSessionProvider", args={ }, services={ "UserIdentityLookup","CentralAuth.CentralAuthSessionManager","CentralAuth.CentralAuthUtilityService",}, }, CentralAuthHeaderSessionProvider={ class="CentralAuthHeaderSessionProvider", args={ }, services={ "UserIdentityLookup","CentralAuth.CentralAuthSessionManager","CentralAuth.CentralAuthUtilityService",}, }, }, CentralIdLookupProviders={ CentralAuth={ class="MediaWiki\\Extension\\CentralAuth\\User\\CentralAuthIdLookup", services={ "CentralAuth.CentralAuthDatabaseManager",}, }, }, SpecialPages={ CentralAuth={ class="MediaWiki\\Extension\\CentralAuth\\Special\\SpecialCentralAuth", services={ "CommentFormatter","NamespaceInfo","ReadOnlyMode","UserNameUtils","CentralAuth.CentralAuthDatabaseManager","CentralAuth.CentralAuthUIService",}, }, CentralAutoLogin={ class="MediaWiki\\Extension\\CentralAuth\\Special\\SpecialCentralAutoLogin", services={ "LanguageFactory","ReadOnlyMode","UserIdentityLookup","UserOptionsManager","CentralAuth.CentralAuthSessionManager","CentralAuth.CentralAuthUtilityService",}, }, CentralLogin={ class="MediaWiki\\Extension\\CentralAuth\\Special\\SpecialCentralLogin", services={ "StatsdDataFactory","CentralAuth.CentralAuthSessionManager","CentralAuth.CentralAuthUtilityService",}, }, CreateLocalAccount={ class="MediaWiki\\Extension\\CentralAuth\\Special\\SpecialCreateLocalAccount", services={ "CentralAuth.CentralAuthForcedLocalCreationService",}, }, MergeAccount={ class="MediaWiki\\Extension\\CentralAuth\\Special\\SpecialMergeAccount", services={ "NamespaceInfo","UserFactory","CentralAuth.CentralAuthDatabaseManager",}, }, GlobalGroupMembership={ class="MediaWiki\\Extension\\CentralAuth\\Special\\SpecialGlobalGroupMembership", services={ "TitleFactory","UserNamePrefixSearch","UserNameUtils","CentralAuth.GlobalGroupLookup",}, }, GlobalGroupPermissions={ class="MediaWiki\\Extension\\CentralAuth\\Special\\SpecialGlobalGroupPermissions", services={ "PermissionManager","CentralAuth.CentralAuthDatabaseManager","CentralAuth.GlobalGroupLookup",}, }, WikiSets={ class="MediaWiki\\Extension\\CentralAuth\\Special\\SpecialWikiSets", services={ "CentralAuth.CentralAuthWikiListService",}, }, GlobalUsers={ class="MediaWiki\\Extension\\CentralAuth\\Special\\SpecialGlobalUsers", services={ "ContentLanguage","LinkBatchFactory","CentralAuth.CentralAuthDatabaseManager","CentralAuth.GlobalGroupLookup",}, }, MultiLock={ class="MediaWiki\\Extension\\CentralAuth\\Special\\SpecialMultiLock", services={ "CentralAuth.CentralAuthDatabaseManager","CentralAuth.CentralAuthUIService",}, }, GlobalRenameUser={ class="MediaWiki\\Extension\\CentralAuth\\Special\\SpecialGlobalRenameUser", services={ "UserNameUtils","CentralAuth.CentralAuthAntiSpoofManager","CentralAuth.CentralAuthUIService","CentralAuth.GlobalRenameDenylist","CentralAuth.GlobalRenameFactory","CentralAuth.GlobalRenameUserValidator",}, }, GlobalRenameProgress={ class="MediaWiki\\Extension\\CentralAuth\\Special\\SpecialGlobalRenameProgress", services={ "UserNameUtils","CentralAuth.CentralAuthUIService",}, }, }, JobClasses={ crosswikiSuppressUser={ class="MediaWiki\\Extension\\CentralAuth\\User\\CentralAuthSuppressUserJob", needsPage=false, }, LocalRenameUserJob="MediaWiki\\Extension\\CentralAuth\\GlobalRename\\LocalRenameJob\\LocalRenameUserJob", LocalPageMoveJob="MediaWiki\\Extension\\CentralAuth\\GlobalRename\\LocalRenameJob\\LocalPageMoveJob", CentralAuthCreateLocalAccountJob={ class="MediaWiki\\Extension\\CentralAuth\\User\\CentralAuthCreateLocalAccountJob", needsPage=false, }, CentralAuthUnattachUserJob={ class="MediaWiki\\Extension\\CentralAuth\\User\\CentralAuthUnattachUserJob", needsPage=false, }, }, 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={ "TitleFactory","UserNamePrefixSearch","UserNameUtils","CentralAuth.GlobalGroupLookup",}, }, }, 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={ "UserFactory","CentralAuth.CentralAuthUtilityService",}, }, log={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\LogHookHandler", services={ "DBLoadBalancerFactory","UserNameUtils",}, }, logincomplete={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\LoginCompleteHookHandler", services={ "HookContainer","MainConfig","UserOptionsLookup","CentralAuth.CentralAuthSessionManager",}, }, 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", }, securepoll={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\SecurePollHookHandler", services={ "NamespaceInfo",}, }, specialcontributions={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\SpecialContributionsHookHandler", services={ "NamespaceInfo","UserFactory",}, }, specialpageinit={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\SpecialPageInitHookHandler", services={ "MainConfig",}, }, rename={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\GlobalRenameHookHandler", services={ "CentralAuth.CentralAuthAntiSpoofManager",}, }, unittests={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\UnitTestsHookHandler", services={ "DBLoadBalancer",}, }, usercreation={ class="MediaWiki\\Extension\\CentralAuth\\Hooks\\Handlers\\UserCreationHookHandler", services={ "CentralAuth.CentralAuthAntiSpoofManager","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", ContributionsToolLinks="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",}, }, CentralAuthRC={ description="Array of settings for sending the CentralAuth events to the RC Feeds", value={ }, }, 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, }, CentralAuthEnableGlobalRenameRequest={ description="Feature flag for Special:GlobalRenameRequest", 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", }, CentralAuthOldNameAntiSpoofWiki={ value=false, }, GlobalRenameDenylist={ value=nil, description="Source URL for the global rename denylist feature; if null, the feature is disabled.", }, 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={ "ReadOnlyMode","UserIdentityLookup","UserNameUtils","CentralAuth.CentralAuthAntiSpoofManager","CentralAuth.CentralAuthDatabaseManager","CentralAuth.CentralAuthUtilityService","CentralAuth.GlobalRenameRequestStore",}, }, }, 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.41.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={ class="ApiCentralNoticeCdnCacheUpdateBanner", services={ "LanguageNameUtils",}, }, }, 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, }, 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.3.0", author={ "Roan Kattouw",}, ["license-name"]="GPL-3.0-or-later", url="https://www.mediawiki.org/wiki/Extension:ChangeAuthor", descriptionmsg="changeauthor-desc", requires={ MediaWiki=">= 1.39.0", }, type="specialpage", SpecialPages={ ChangeAuthor={ class="ChangeAuthor", services={ "RevisionLookup","MainConfig","UserFactory","CommentStore","ActorNormalization","DBLoadBalancer",}, }, }, ExtensionMessagesFiles={ ChangeAuthorAliases="ChangeAuthor.alias.php", }, LogTypes={ "changeauth",}, LogActionsHandlers={ ["changeauth/*"]="LogFormatter", }, AvailableRights={ "changeauthor",}, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/ChangeAuthor", }, 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", }, 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.41.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", }, CheckUserCollapseCheckUserHelperByDefault={ value=2500, description="Whether to have the CheckUserHelper shown on Special:CheckUser collapsed by default. Specify true to collapse by default, false to do the opposite and a number to collapse only when the number of rows returned exceeds this value.", }, 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=true, 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", }, CheckUserTemporaryAccountMaxAge={ value=86400, description="Number of seconds for which the temporary account API response is fresh", }, CheckUserEventTablesMigrationStage={ value=259, description="A flag used as the migration stage to the new cu_private_event and cu_log_event tables. Currently set to SCHEMA_COMPAT_OLD | SCHEMA_COMPAT_WRITE_NEW which evaluates to the integer 259.", }, CheckUserClientHintsEnabled={ value=true, description="General on/off switch for User-Agent Client Hints functionality. When set to true, CheckUser will request Client Hints headers specified in the CheckUserClientHintsHeaders config variable.", }, CheckUserPurgeOldClientHintsData={ value=true, description="Used to control whether CheckUser will attempt to purge old client hint data. This is done so that wgCheckUserClientHintsEnabled can be set to false without preventing cleaning up of old client hint data.", }, CheckUserClientHintsRestApiMaxTimeLag={ value=1800, description="The amount of time in seconds that a user has to submit a request to /checkuser/v0/useragent-clienthints/{type}/{id} to store client hints data.", }, CheckUserClientHintsSpecialPages={ value={ "CreateAccount","Emailuser","PasswordReset","Userlogin","Userlogout",}, description="List of SpecialPages where CheckUser will set client hints headers in the response header. Note that the special pages are case sensitive, and do not always match their appearance in the URL, e.g. 'UserLogin' is known in the Special page system as 'Userlogin'.", }, CheckUserClientHintsActionQueryParameter={ value={ "history",}, description="List of values to '?action=' query parameter. If the request contains a query parameter for e.g. ?action=history, then CheckUser will send a header to request Client Hint user agent data on the subsequent request.", }, CheckUserClientHintsHeaders={ value={ ["Sec-CH-UA"]="", ["Sec-CH-UA-Arch"]="architecture", ["Sec-CH-UA-Bitness"]="bitness", [""]="brands", ["Sec-CH-UA-Form-Factor"]="", ["Sec-CH-UA-Full-Version-List"]="fullVersionList", ["Sec-CH-UA-Mobile"]="mobile", ["Sec-CH-UA-Model"]="model", ["Sec-CH-UA-Platform"]="platform", ["Sec-CH-UA-Platform-Version"]="platformVersion", ["Sec-CH-UA-WoW64"]="", }, description="Map of User-Agent Client Hints headers that CheckUser may ask for, either via setting an Accept-CH header on the server-side, or via client-side usage of the NavigatorUAData.getHighEntropyValues API. The keys in the map are the server-side headers, and the values are the JS API equivalents. Empty strings indicate lack of equivalent between JS API and server-side headers. See the list of valid values https://wicg.github.io/ua-client-hints.", }, CheckUserClientHintsUnsetHeaderWhenPossible={ value=true, description="If set to 'true', then CheckUser will transmit an empty `Accept-CH: ` header in BeforePageDisplay and SpecialPageBeforeExecute if SpecialPage isn't in the CheckUserClientHintsSpecialPages config list or the page's action parameter isn't in CheckUserClientHintsActionQueryParameter conifg list. If set to false, CheckUser will not send an empty `Accept-CH: ` header, which in practice means that all logged-in user requests will transmit User-Agent client hint data.", }, }, APIListModules={ checkuser={ class="MediaWiki\\CheckUser\\Api\\ApiQueryCheckUser", services={ "UserIdentityLookup","RevisionLookup","CheckUserLogService","CommentStore",}, }, checkuserlog={ class="MediaWiki\\CheckUser\\Api\\ApiQueryCheckUserLog", services={ "CommentStore","CheckUserLogService","UserFactory",}, }, }, RestRoutes={ { path="/checkuser/v0/temporaryaccount/{name}", method="GET", class="MediaWiki\\CheckUser\\Api\\Rest\\Handler\\TemporaryAccountHandler", services={ "MainConfig","JobQueueGroup","PermissionManager","UserOptionsLookup","UserNameUtils","DBLoadBalancer","ActorStore",}, },{ path="/checkuser/v0/temporaryaccount/{name}/revisions/{ids}", method="GET", class="MediaWiki\\CheckUser\\Api\\Rest\\Handler\\TemporaryAccountRevisionHandler", services={ "MainConfig","JobQueueGroup","PermissionManager","UserOptionsLookup","UserNameUtils","DBLoadBalancer","ActorStore",}, },{ path="/checkuser/v0/useragent-clienthints/{type}/{id}", method="POST", class="MediaWiki\\CheckUser\\Api\\Rest\\Handler\\UserAgentClientHintsHandler", services={ "MainConfig","RevisionStore","UserAgentClientHintsManager",}, },}, HookHandlers={ clienthints={ class="MediaWiki\\CheckUser\\HookHandler\\ClientHints", services={ "MainConfig",}, }, preferences={ class="MediaWiki\\CheckUser\\HookHandler\\Preferences", services={ "PermissionManager","CheckUserTemporaryAccountLoggerFactory",}, }, pageDisplay={ class="MediaWiki\\CheckUser\\HookHandler\\PageDisplay", services={ "MainConfig","PermissionManager","UserOptionsLookup",}, }, SchemaChanges={ class="MediaWiki\\CheckUser\\HookHandler\\SchemaChangesHandler", }, ToolLinks={ class="MediaWiki\\CheckUser\\HookHandler\\ToolLinksHandler", services={ "PermissionManager","SpecialPageFactory","LinkRenderer",}, }, RenameUserSQLHandler={ class="MediaWiki\\CheckUser\\HookHandler\\RenameUserSQLHandler", }, SpecialPageInitList={ class="MediaWiki\\CheckUser\\HookHandler\\SpecialPageInitListHandler", services={ "MainConfig",}, }, RLRegisterModules={ class="MediaWiki\\CheckUser\\HookHandler\\RLRegisterModulesHandler", }, Hooks={ class="MediaWiki\\CheckUser\\Hooks", }, }, Hooks={ RecentChange_save="Hooks", EmailUser="Hooks", ["User::mailPasswordInternal"]="Hooks", LocalUserCreated="Hooks", UserMergeAccountFields="MediaWiki\\CheckUser\\Hooks::onUserMergeAccountFields", RenameUserSQL="RenameUserSQLHandler", LoadExtensionSchemaUpdates="SchemaChanges", ContributionsToolLinks="ToolLinks", UserToolLinksEdit="ToolLinks", PerformRetroactiveAutoblock="Hooks", AuthManagerLoginAuthenticateAudit="Hooks", UserLogoutComplete="Hooks", SpecialPage_initList="SpecialPageInitList", BeforePageDisplay={ "clienthints","pageDisplay",}, GetPreferences="preferences", SaveUserOptions="preferences", SpecialPageBeforeExecute="clienthints", ResourceLoaderRegisterModules="RLRegisterModules", }, attributes={ EventLogging={ Schemas={ SpecialInvestigate="/analytics/legacy/specialinvestigate/1.0.0", }, }, }, GroupPermissions={ checkuser={ checkuser=true, ["checkuser-log"]=true, }, }, AvailableRights={ "checkuser","checkuser-log","checkuser-temporary-account","checkuser-temporary-account-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","CheckUserHookRunner","CheckUserUtilityService","CommentStore","CheckUserUnionSelectQueryBuilderFactory",}, }, CheckUserLog={ class="MediaWiki\\CheckUser\\CheckUser\\SpecialCheckUserLog", services={ "LinkBatchFactory","PermissionManager","CommentStore","CommentFormatter","CheckUserLogService","UserFactory",}, }, }, LogTypes={ "checkuser-temporary-account",}, LogNames={ ["checkuser-temporary-account"]="checkuser-temporary-account-log-name", }, LogHeaders={ ["checkuser-temporary-account"]="checkuser-temporary-account-log-header", }, LogActionsHandlers={ ["checkuser-temporary-account/*"]="MediaWiki\\CheckUser\\Logging\\TemporaryAccountLogFormatter", ["checkuser-private-event/*"]="MediaWiki\\CheckUser\\Logging\\CheckUserPrivateEventLogFormatter", }, LogRestrictions={ ["checkuser-temporary-account"]="checkuser-temporary-account-log", ["checkuser-private-event"]="checkuser", }, ActionFilteredLogs={ ["checkuser-temporary-account"]={ ["change-access"]={ "change-access",}, ["view-ips"]={ "view-ips",}, }, }, JobClasses={ checkuserLogTemporaryAccountAccess="\\MediaWiki\\CheckUser\\Jobs\\LogTemporaryAccountAccessJob", checkuserPruneCheckUserDataJob="\\MediaWiki\\CheckUser\\Jobs\\PruneCheckUserDataJob", }, 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", 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.41.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", PageDelete="changelistener", PageDeleteComplete="changelistener", ArticleRevisionVisibilitySet="changelistener", PageUndeleteHook="changelistener", BeforeInitialize="CirrusSearch\\Hooks::onBeforeInitialize", CirrusSearchAddQueryFeatures="CirrusSearch\\Wikimedia\\WeightedTagsHooks::onCirrusSearchAddQueryFeatures", CirrusSearchAnalysisConfig="CirrusSearch\\Wikimedia\\WeightedTagsHooks::onCirrusSearchAnalysisConfig", CirrusSearchSimilarityConfig="CirrusSearch\\Wikimedia\\WeightedTagsHooks::onCirrusSearchSimilarityConfig", GetPreferences="default", LinksUpdateComplete={ "changelistener","eventbusbridge",}, 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="changelistener", PageMoveComplete="changelistener", UploadComplete="changelistener", UserGetDefaultOptions="default", }, HookHandlers={ default={ class="CirrusSearch\\Hooks", services={ "ConfigFactory",}, }, changelistener={ class="CirrusSearch\\ChangeListener", factory="CirrusSearch\\ChangeListener::create", services={ "JobQueueGroup","ConfigFactory","DBLoadBalancer","RedirectLookup","DeferredUpdatesManager",}, }, eventbusbridge={ class="CirrusSearch\\Event\\EventBridge", factory="CirrusSearch\\Event\\EventBusBridge::factory", services={ "ConfigFactory","MainConfig","GlobalIdGenerator","TitleFormatter","PageStore","DeferredUpdatesManager",}, optional_services={ "EventBus.EventBusFactory",}, }, }, 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={ }, }, 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, }, CirrusSearchDeduplicateAnalysis={ description="[experimental] Deduplicate index analysis chains", value=false, }, CirrusSearchUseEventBusBridge={ description="Emit page-rerenders events via EventBus (requires EventBus)", value=false, }, }, 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", ["EditPage::showEditForm:initial"]="main", ResourceLoaderGetConfigVars="main", }, HookHandlers={ main={ class="Cite\\Hooks\\CiteHooks", services={ "UserOptionsLookup",}, }, 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", references="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={ description="If VisualEditor should list the citation features as part of the existing \"Insert\" drop-down menu instead of a top-level \"Cite\" toolbar button.", public=true, value=false, }, CiteResponsiveReferences={ description="If long  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="7.0.0", 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=">= 7.0", }, }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, config={ SimpleSAMLphp_InstallDir={ value=nil, }, 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", }, 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.35.0", }, AvailableRights={ "sitesettings",}, ExtensionFunctions={ "SSUtils::initializeSite",}, GroupPermissions={ sysop={ sitesettings=true, }, }, SpecialPages={ SiteSettings="SpecialSiteSettings", }, ExtensionMessagesFiles={ SiteSettingsAliases="SiteSettings.alias.php", }, Hooks={ LoadExtensionSchemaUpdates="SSUtils::describeDBSchema", ["SkinTemplateNavigation::Universal"]="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.41.0", }, GroupPermissions={ user={ spamblacklistlog=true, }, bot={ sboverride=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.33.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.34.0", }, AvailableRights={ "spelladmin",}, GroupPermissions={ sysop={ spelladmin=true, }, }, SpecialPages={ SpellingDictionary={ class="SpecialSpellingDictionary", services={ "LanguageNameUtils",}, }, SpellingDictionaryAdmin="SpecialSpellingDictionaryAdmin", ViewAll="SpecialViewAll", ViewByLanguage={ class="SpecialViewByLanguage", services={ "LanguageNameUtils",}, }, }, 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.41.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="2.1-alpha", ["license-name"]="GPL-3.0-only", author={ "Hallo Welt! GmbH",}, url="https://en.wiki.bluespice.com/wiki/Reference:StandardDialogs", descriptionmsg="standarddialogs-desc", requires={ MediaWiki=">= 1.35.0", extensions={ OOJSPlus="*", }, }, 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", }, StandardWikitext={ name="StandardWikitext", version="2.3", author="Sophivorus", url="https://www.mediawiki.org/wiki/Extension:StandardWikitext", descriptionmsg="standardwikitext-desc", ["license-name"]="GPL-3.0-or-later", type="parserhook", requires={ MediaWiki=">= 1.39.0", }, Hooks={ PageSaveComplete="StandardWikitext::onPageSaveComplete", }, config={ StandardWikitextAccount={ value="StandardWikitext bot", }, StandardWikitextNamespaces={ value={ 0,}, merge_strategy="provide_default", }, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/StandardWikitext", }, ["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", }, 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, }, }, RawHtmlMessages={ "stopforumspam-is-blocked",}, HookHandlers={ abusefilter={ class="MediaWiki\\Extension\\StopForumSpam\\AbuseFilterHookHandler", services={ "MainConfig",}, }, hooks={ class="MediaWiki\\Extension\\StopForumSpam\\Hooks", services={ "MainConfig",}, }, }, 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", }, SubpageNavigation={ name="SubpageNavigation", author="thomas-topway-it", version="1.0", url="https://www.mediawiki.org/wiki/Extension:SubpageNavigation", descriptionmsg="subpagenavigation-extension-desc", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.35.0", }, callback="SubpageNavigationHooks::onRegistration", ExtensionMessagesFiles={ SubpageNavigationAlias="SubpageNavigation.alias.php", SubpageNavigationMagic="SubpageNavigationMagic.i18n.magic.php", }, Hooks={ BeforeInitialize="SubpageNavigationHooks::onBeforeInitialize", MediaWikiServices="SubpageNavigationHooks::onMediaWikiServices", BeforePageDisplay="SubpageNavigationHooks::onBeforePageDisplay", ArticleViewNavigation="SubpageNavigationHooks::onArticleViewNavigation", SkinSubPageSubtitle="SubpageNavigationHooks::onSkinSubPageSubtitle", }, SpecialPages={ SubpageNavigationSubpages="SpecialSubpageNavigationSubpages", }, APIModules={ }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SubpageNavigation", }, 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", }, SubpageWatchlist={ name="SubpageWatchlist", version="2.1.0", ["license-name"]="GPL-3.0", author={ "Brian Wolff","Mark A. Hershberger",}, requires={ MediaWiki=">= 1.39", }, url="https://www.mediawiki.org/wiki/Extension:SubpageWatchlist", descriptionmsg="subpagewatchlist-desc", type="specialpage", Hooks={ ChangesListSpecialPageStructuredFilters={ "main",}, ChangesListSpecialPageQuery={ "main",}, GetPreferences={ "main",}, AbortEmailNotification={ "enotif",}, PageViewUpdates={ "enotif",}, }, HookHandlers={ main={ class="MediaWiki\\Extensions\\SubpageWatchlist\\Hooks", services={ "UserOptionsManager","DBLoadBalancer","MainConfig",}, }, enotif={ class="MediaWiki\\Extensions\\SubpageWatchlist\\Enotif", services={ "DBLoadBalancer","MainConfig","UserOptionsManager","ContentLanguage","MessageCache","WatchlistManager","WatchedItemStore",}, }, }, DefaultUserOptions={ watchlisthidesubpages=false, enotifwatchlistsubpages=true, }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/SubpageWatchlist", }, 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.35.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", ["SkinTemplateNavigation::Universal"]="SudoHooks::onSkinTemplateNavigation__Universal", }, 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, }, SyntaxHighlightMaxLines={ value=1000, }, SyntaxHighlightMaxBytes={ value=102400, }, }, 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.39.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", }, 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.40.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={ 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.40.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.41.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.35.0", }, SpecialPages={ TestLanguageNameGrammar={ class="SpecialTestLanguageNameGrammar", services={ "LanguageFactory","LanguageNameUtils",}, }, }, 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.40.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.41.0", extensions={ Echo="*", }, }, DefaultUserOptions={ ["echo-subscriptions-web-edit-thank"]=true, ["echo-subscriptions-email-edit-thank"]=false, }, RateLimits={ ["thanks-notification"]={ user={ 10,60,}, }, }, SpecialPages={ Thanks={ class="MediaWiki\\Extension\\Thanks\\SpecialThanks", services={ "UserFactory",}, }, }, LogTypes={ "thanks",}, FilterLogTypes={ thanks=true, }, LogActionsHandlers={ ["thanks/*"]="MediaWiki\\Extension\\Thanks\\ThanksLogFormatter", }, APIModules={ thank={ class="MediaWiki\\Extension\\Thanks\\Api\\ApiCoreThank", services={ "PermissionManager","RevisionStore","UserFactory","ThanksLogStore",}, }, }, 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", 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", }, ServiceWiringFiles={ "ServiceWiring.php",}, 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.40.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.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",}, }, 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.41.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.35.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", HtmlPageLinkRendererEnd="TinyMCEHooks::changeRedLink", 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.41.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\\ApiTitleBlacklist", }, 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.1", 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={ ApiParseMakeOutputPage="TocTreeHooks", 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.41.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", services={ "HookContainer",}, }, 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", }, UserCanSendEmail={ 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="2023-07-10", url="https://www.mediawiki.org/wiki/Extension:Translate", descriptionmsg="translate-desc", namemsg="translate-extensionname", ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.39", extensions={ UniversalLanguageSelector="*", }, }, callback="MediaWiki\\Extension\\Translate\\HookHandler::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="MediaWiki\\Extension\\Translate\\HookHandler::schemaUpdates", ParserTestTables="MediaWiki\\Extension\\Translate\\HookHandler::parserTestTables", PageContentLanguage="MediaWiki\\Extension\\Translate\\HookHandler::onPageContentLanguage", ["EditPage::showEditForm:initial"]="legacyInterface", AlternateEdit="legacyInterface", getUserPermissionsErrorsExpensive="MediaWiki\\Extension\\Translate\\TranslatorInterface\\TranslateEditAddons::disallowLangTranslations", LanguageGetTranslatedLanguageNames="MediaWiki\\Extension\\Translate\\HookHandler::translateMessageDocumentationLanguage", TranslateSupportedLanguages="MediaWiki\\Extension\\Translate\\HookHandler::translateMessageDocumentationLanguage", ArticlePrepareTextForEdit="MediaWiki\\Extension\\Translate\\TranslatorInterface\\TranslateEditAddons::disablePreSaveTransform", ParserFirstCallInit="MediaWiki\\Extension\\Translate\\HookHandler::setupTranslateParserFunction", UserGetReservedNames="MediaWiki\\Extension\\Translate\\HookHandler::onUserGetReservedNames", ParserAfterTidy="MediaWiki\\Extension\\Translate\\HookHandler::preventCategorization", OutputPageParserOutput="MediaWiki\\Extension\\Translate\\HookHandler::showFakeCategories", ["Translate:newTranslation"]="MediaWiki\\Extension\\Translate\\TranslatorInterface\\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="MediaWiki\\Extension\\Translate\\HookHandler::onAbortEmailNotificationReview", ArticleDeleteComplete="TTMServer::onDelete", TranslateEventMessageMembershipChange="TTMServer::onGroupChange", ArticleContentOnDiff="legacyInterface", SpecialSearchProfiles="MediaWiki\\Extension\\Translate\\HookHandler::searchProfile", SpecialSearchProfileForm="MediaWiki\\Extension\\Translate\\HookHandler::searchProfileForm", SpecialSearchSetupEngine="MediaWiki\\Extension\\Translate\\HookHandler::searchProfileSetupEngine", TitleIsAlwaysKnown="MediaWiki\\Extension\\Translate\\HookHandler::onTitleIsAlwaysKnown", MakeGlobalVariablesScript="MediaWiki\\Extension\\Translate\\HookHandler::addConfig", TranslateEventTranslationReview={ "MessageGroupStats::clear","MessageGroupStatesUpdaterJob::onChange",}, TranslateInitGroupLoaders={ "TranslatablePageMessageGroupStore::registerLoader","WorkflowStatesMessageGroupLoader::registerLoader","AggregateMessageGroupLoader::registerLoader","FileBasedMessageGroupLoader::registerLoader","MediaWiki\\Extension\\Translate\\MessageBundleTranslation\\Hooks::onTranslateInitGroupLoaders",}, AdminLinks="MediaWiki\\Extension\\Translate\\HookHandler::onAdminLinks", MergeAccountFromTo="MediaWiki\\Extension\\Translate\\HookHandler::onMergeAccountFromTo", DeleteAccount="MediaWiki\\Extension\\Translate\\HookHandler::onDeleteAccount", AbuseFilterAlterVariables="MediaWiki\\Extension\\Translate\\HookHandler::onAbuseFilterAlterVariables", ["AbuseFilter-computeVariable"]="MediaWiki\\Extension\\Translate\\HookHandler::onAbuseFilterComputeVariable", ["AbuseFilter-builder"]="MediaWiki\\Extension\\Translate\\HookHandler::onAbuseFilterBuilder", EditFilterMergedContent={ "MediaWiki\\Extension\\Translate\\HookHandler::validateMessage","messageBundle",}, PageSaveComplete="messageBundle", CodeEditorGetPageLanguage="MediaWiki\\Extension\\Translate\\MessageBundleTranslation\\Hooks::onCodeEditorGetPageLanguage", RevisionRecordInserted="main", ListDefinedTags="main", ChangeTagsListActive="main", }, HookHandlers={ main={ class="MediaWiki\\Extension\\Translate\\HookHandler", services={ "RevisionLookup","DBLoadBalancer","MainConfig",}, }, 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","Translate:HookRunner",}, }, 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={ "MainConfig","JobQueueGroup","Translate:MessageGroupStatsTableFactory","Translate:EntitySearch","Translate:MessagePrefixStats",}, }, ImportTranslations={ class="\\MediaWiki\\Extension\\Translate\\Synchronization\\ImportTranslationsSpecialPage", services={ "MainObjectStash",}, }, ExportTranslations={ class="\\MediaWiki\\Extension\\Translate\\Synchronization\\ExportTranslationsSpecialPage", services={ "TitleFormatter","ParserFactory",}, }, ManageMessageGroups={ class="\\MediaWiki\\Extension\\Translate\\Synchronization\\ManageGroupsSpecialPage", services={ "ContentLanguage","NamespaceInfo","RevisionLookup","Translate:GroupSynchronizationCache","JobQueueGroup","Translate:MessageIndex","LinkBatchFactory",}, }, SupportedLanguages={ class="\\MediaWiki\\Extension\\Translate\\Statistics\\ActiveLanguagesSpecialPage", services={ "MainConfig","Translate:TranslatorActivity","LanguageNameUtils","DBLoadBalancer","Translate:ConfigHelper","ContentLanguage","Translate:ProgressStatsTableFactory","LinkBatchFactory","LanguageFactory",}, }, AggregateGroups={ class="\\MediaWiki\\Extension\\Translate\\MessageGroupProcessing\\AggregateGroupsSpecialPage", services={ "LinkBatchFactory",}, }, SearchTranslations={ class="\\MediaWiki\\Extension\\Translate\\TtmServer\\SearchTranslationsSpecialPage", services={ "Translate:TtmServerFactory","LanguageFactory","UrlUtils",}, }, }, 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={ "Translate:HookRunner",}, }, 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","Translate:HookRunner",}, }, 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",}, }, import={ ["translatable-bundle"]={ "translatable-bundle",}, }, }, 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, }, TranslateMessagePrefixStatsLimit={ value=300, description="Represents the number of messages that can be queried via Special:MessageGroupStats when fetching message prefixes.", 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 or spyc.\n\nFor phpyaml see https://secure.php.net/manual/en/book.yaml.php.\n\nphpyaml is the fastest and based on libyaml so the output should be most compatible. spyc output format is least compatible. 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",}, }, VisualEditor={ PluginModules={ "ext.translate.ve",}, }, }, 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.40.0", extensions={ MassMessage="*", Translate="*", }, }, DefaultUserOptions={ ["translationnotifications-lang-1"]="", ["translationnotifications-lang-2"]="", ["translationnotifications-lang-3"]="", }, SpecialPages={ TranslatorSignup={ class="MediaWiki\\Extension\\TranslationNotifications\\SpecialTranslatorSignup", services={ "UserOptionsManager","LanguageNameUtils",}, }, NotifyTranslators={ class="MediaWiki\\Extension\\TranslationNotifications\\SpecialNotifyTranslators", services={ "LanguageNameUtils","JobQueueGroup","LinkBatchFactory",}, }, }, 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",}, BeforeCreateEchoEvent={ "MediaWiki\\Extension\\TranslationNotifications\\Hooks::onBeforeCreateEchoEvent",}, }, 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="https://www.hallowelt.com", descriptionmsg="tuleapintegration-desc", requires={ MediaWiki=">= 1.39.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", ["SkinTemplateNavigation::Universal"]={ "setUpOauthLogin","replaceUserLinks",}, HtmlPageLinkRendererEnd="replaceUserLinks", SpecialPage_initList="setUpOauthLogin", OutputPageBeforeHTML="replaceLinks", BeforePageDisplay="replaceLinks", getUserPermissionsErrors="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="https://www.hallowelt.com", descriptionmsg="tuleapwikifarm-desc", requires={ MediaWiki=">= 1.39.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.41.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.1.0-alpha", ["license-name"]="GPL-3.0-only", author={ "Hallo Welt! GmbH",}, url="https://en.wiki.bluespice.com/wiki/Reference:UnifiedTaskOverview", descriptionmsg="unifiedtaskoverview-desc", requires={ MediaWiki=">= 1.35.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", }, HookHandlers={ setup={ class="\\MediaWiki\\Extension\\UnifiedTaskOverview\\HookHandler\\SkinTemplateNavigation\\Setup", }, }, Hooks={ ["SkinTemplateNavigation::Universal"]="setup", }, 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="2023-07-10", 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.39.0", }, Hooks={ BeforePageDisplay="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, }, 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="3.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", }, 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.41.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","details/uw.LocationDetailsWidget.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.41.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="2.0.0", author={ "Kevin Ji","Cindy Cicalese",}, url="https://www.mediawiki.org/wiki/Extension:UserAgreement", descriptionmsg="useragreement-desc", type="parserhook", requires={ MediaWiki=">= 1.39.0", }, ServiceWiringFiles={ "includes/ServiceWiring.php",}, APIModules={ uaAcceptAgreement={ class="MediaWiki\\Extension\\UserAgreement\\ApiUAAcceptAgreement", services={ "UserAgreementStore",}, }, }, HookHandlers={ schema={ class="MediaWiki\\Extension\\UserAgreement\\SchemaHooks", }, main={ class="MediaWiki\\Extension\\UserAgreement\\MainHooks", services={ "MainConfig","UserAgreementStore",}, }, }, Hooks={ LoadExtensionSchemaUpdates="schema", BeforePageDisplay="main", }, config={ UserAgreement_DaysToReaccept={ value=0, }, }, 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.2", 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", ContributionsToolLinks="UserMergeHooks::onContributionsToolLinks", }, 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.8", 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::Universal"]="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", }, VEForAll={ name="VEForAll", version="0.5.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.35.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", }, 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="2.0.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", platform={ php=">=7.4", }, }, 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.2", author={ "David Pean","Jack Phoenix","John Du Hart","Mainframe98","Universal Omega",}, ["license-name"]="GPL-2.0-or-later", requires={ MediaWiki=">= 1.39.0", }, url="https://www.mediawiki.org/wiki/Extension:Video", descriptionmsg="video-desc", type="other", SpecialPages={ AddVideo="AddVideo", NewVideos="NewVideos", UnusedVideos="SpecialUnusedVideos", Undelete={ class="SpecialUndeleteWithVideoSupport", services={ "PermissionManager","RevisionStore","RevisionRenderer","ContentHandlerFactory","ChangeTagDefStore","LinkBatchFactory","RepoGroup","DBLoadBalancer","UserOptionsLookup","WikiPageFactory","SearchEngineFactory","UndeletePageFactory","ArchivedRevisionLookup","CommentFormatter",}, }, }, 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::onArticleFromTitle",}, ParserBeforeInternalParse={ "VideoHooks::videoTag",}, ParserBeforePreprocess={ "VideoHooks::videoTag",}, ParserFirstCallInit={ "VideoHooks::onParserFirstCallInit","VideoGalleryHooks::onParserFirstCallInit","VideoGalleryPopulateHooks::onParserFirstCallInit",}, PageDelete={ "VideoHooks::onPageDelete",}, PageUndelete={ "VideoHooks::onPageUndelete",}, ["UndeleteForm::showHistory"]={ "VideoHooks::onUndeleteForm__showHistory",}, 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.33.0", }, APIModules={ getTitleIcons="ApiGetTitleIcons", }, Hooks={ ParserFirstCallInit={ "VikiTitleIcon::efVikiTitleIcon_AddResource",}, }, callback="VikiTitleIcon::onRegistration", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/VikiTitleIcon", }, 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.41.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. Does not affect temporary users. 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, }, VisualEditorUnifiedPreference={ description="Replace the old beta feature preference ('visualeditor-enable') and the old opt-out preference ('visualeditor-betatempdisable') with a new preference backed by the old values.", value=false, }, VisualEditorEnableTocWidget={ value=false, }, VisualEditorEnableHelpCompletion={ value=true, }, VisualEditorEnableVisualSectionEditing={ value="mobile", }, VisualEditorEnableWikitext={ description="Make the wikitext mode of VE available (also called 2017 Wikitext Editor). The corresponding per-user options is visualeditor-newwikitext.", value=true, }, VisualEditorEnableWikitextBetaFeature={ value=false, }, VisualEditorFeedbackAPIURL={ value=false, }, VisualEditorFeedbackTitle={ value=false, }, VisualEditorFullRestbaseURL={ value=false, description="Deprecated since MW 1.41. Unused.", }, VisualEditorParsoidAutoConfig={ value=true, description="Deprecated since MW 1.40. Unused.", }, VisualEditorDefaultParsoidClient={ value="direct", description="Deprecated since MW 1.41. Unused.", }, VisualEditorParsoidSettings={ value={ }, description="Deprecated since MW 1.41. Unused.", }, VisualEditorPluginModules={ value={ }, }, VisualEditorPreloadModules={ value={ "site","user",}, }, VisualEditorRebaserURL={ value=false, }, VisualEditorRestbaseURL={ value=false, description="Deprecated since MW 1.41. Unused.", }, 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", editsectionhint="editsectionhint", editsectionsource="visualeditor-ca-editsource-section", editsectionsourcehint="visualeditor-ca-editsource-section-hint", }, }, VisualEditorTabPosition={ value="before", }, VisualEditorTransitionDefault={ value=false, }, VisualEditorUseChangeTagging={ value=true, description="Tag edits as having used visualeditor, or VE's wikitext mode.", }, VisualEditorEditCheckTagging={ value=false, description="For testing only. Tag edits for the Edit Check project.", }, VisualEditorUseSingleEditTab={ value=false, }, }, APIModules={ visualeditor={ class="MediaWiki\\Extension\\VisualEditor\\ApiVisualEditor", services={ "RevisionLookup","TempUserCreator","UserOptionsLookup","WatchlistManager","ContentTransformer","StatsdDataFactory","WikiPageFactory","IntroMessageBuilder","PreloadedContentBuilder","VisualEditor.ParsoidClientFactory",}, }, visualeditoredit={ class="MediaWiki\\Extension\\VisualEditor\\ApiVisualEditorEdit", services={ "VisualEditorHookRunner","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", TextSlotDiffRendererTablePrefix="VisualEditorHooks", ["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", }, HookHandlers={ VisualEditorHooks={ class="MediaWiki\\Extension\\VisualEditor\\Hooks", }, }, QUnitTestModule={ localBasePath="", remoteExtPath="VisualEditor", styles="lib/ve/lib/jsdifflib/diffview.css", scripts={ "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/ve.sanitize.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.desktopArticleTarget.init","ext.visualEditor.desktopArticleTarget","ext.visualEditor.rebase",}, }, ForeignResourcesDir="lib", ["@DefaultUserOptions1"]="'visualeditor-enable' is only read when in beta feature mode ('VisualEditorEnableBetaFeature').", ["@DefaultUserOptions2"]="'visualeditor-betatempdisable' is only read when NOT in beta feature mode.", ["@DefaultUserOptions3"]="'visualeditor-autodisable' records whether the user has explicitly opted out of VE while it was in beta.", DefaultUserOptions={ ["visualeditor-autodisable"]=0, ["visualeditor-betatempdisable"]=0, ["visualeditor-editor"]="visualeditor", ["visualeditor-enable"]=0, ["visualeditor-hidebetawelcome"]=0, ["visualeditor-hidetabdialog"]=0, ["visualeditor-newwikitext"]=0, ["visualeditor-tabs"]="remember-last", }, 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","Roan Kattouw","Anne Tomasevich",}, url="https://www.mediawiki.org/wiki/Extension:VueTest", descriptionmsg="vuetest-desc", ["license-name"]="GPL-2.0-or-later", type="other", requires={ MediaWiki=">= 1.41.0", }, config={ }, ExtensionMessagesFiles={ VueTestAlias="VueTest.alias.php", }, SpecialPages={ VueTest="MediaWiki\\Extension\\VueTest\\SpecialVueTest", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/VueTest", }, WSOAuth={ name="WSOAuth", version="9.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=">= 7.0", }, }, ExtensionMessagesFiles={ WSOAuthAlias="WSOAuth.i18n.alias.php", }, Hooks={ GetPreferences="main", LoadExtensionSchemaUpdates="SchemaUpdater", }, HookHandlers={ main={ class="\\WSOAuth\\WSOAuthHooks", }, 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={ "MainConfig","UserNameUtils","HookContainer",}, }, }, }, 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", }, WarnNotRecentlyUpdated={ name="WarnNotRecentlyUpdated", author={ "Sébastien Santoro aka Dereckson",}, url="https://www.mediawiki.org/wiki/Extension:WarnNotRecentlyUpdated", descriptionmsg="warnnotrecentlyupdated-desc", ["license-name"]="GPL-2.0-or-later", type="interface", requires={ MediaWiki=">= 1.35.0", }, config={ WarnNotRecentlyUpdatedDelay={ description="Delay after a warning is shown", value=31536000, }, WarnNotRecentlyUpdatedPages={ description="Namespaces, prefixes and message to show", value={ }, }, }, Hooks={ ArticleViewHeader="MediaWiki\\Extension\\WarnNotRecentlyUpdated\\Hooks::onArticleViewHeader", }, repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WarnNotRecentlyUpdated", }, WatchAnalytics={ name="WatchAnalytics", version="4.1.0", author={ "James Montalvo",}, url="https://www.mediawiki.org/wiki/Extension:WatchAnalytics", descriptionmsg="watchanalytics-desc", type="specialpage", requires={ MediaWiki=">= 1.35.0", }, 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={ ["SkinTemplateNavigation::Universal"]={ "WatchAnalyticsHooks::onSkinTemplateNavigation__Universal",}, BeforePageDisplay={ "WatchAnalyticsHooks::onBeforePageDisplay",}, ParserFirstCallInit={ "WatchAnalyticsParserFunctions::setup",}, PageMoveComplete={ "WatchAnalyticsHooks::onPageMoveComplete",}, PageViewUpdates={ "WatchAnalyticsHooks::onPageViewUpdates",}, PageContentSaveComplete={ "WatchAnalyticsHooks::onPageContentSaveComplete",}, GetMagicVariableIDs={ "WatchAnalyticsHooks::onGetMagicVariableIDs",}, ParserAfterTidy={ "WatchAnalyticsHooks::handleMagicWords",}, LanguageGetMagic={ "WatchAnalyticsHooks::onLanguageGetMagic",}, LoadExtensionSchemaUpdates={ "WatchAnalyticsUpdaterHooks::addSchemaUpdates",}, }, 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", }, }, composer="mediawiki/watch-analytics", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WatchAnalytics", }, 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 ",}, 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.40.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={ "Hallo Welt! GmbH","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",}, ["SkinTemplateNavigation::Universal"]={ "MediaWiki\\Extension\\WebToolsManager\\Hooks::onSkinTemplateNavigation__Universal",}, LoadExtensionSchemaUpdates={ "MediaWiki\\Extension\\WebToolsManager\\Hooks::onLoadExtensionSchemaUpdates",}, }, config={ WebToolsManagerAllowGoogleAnalytics={ value=false, }, }, ConfigRegistry={ webtoolsmanager="GlobalVarConfig::newInstance", }, GroupPermissions={ sysop={ webtoolsmanagement=true, }, }, requires={ MediaWiki=">= 1.35.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.2", 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, }, }, GrantPermissions={ editwidgets={ 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.4", 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.41.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", }, 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, }, config={ WikiEditorRealtimePreview={ description="Whether to enable the Realtime Preview feature.", value=true, }, 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","Genoveva Galarza","Lindsay Wardell","Dani de Waal","Julia Kieserman","Simone Cuomo","Adesoji","Cory Massaro","David Martin","Edmund Wright","Denny Vrandečić",}, url="https://www.mediawiki.org/wiki/Extension:WikiLambda", descriptionmsg="wikilambda-desc", ["license-name"]="MIT", type="parserhook", requires={ MediaWiki=">= 1.41.0", extensions={ WikimediaMessages="*", }, }, callback="MediaWiki\\Extension\\WikiLambda\\Hooks::registerExtension", ContentHandlers={ zobject="MediaWiki\\Extension\\WikiLambda\\ZObjectContentHandler", }, config={ WikiLambdaObjectCache={ description="If false, store function calls in the main MediaWiki cache; if set to another value, that will be used as the key of a cache in wgObjectCaches.", value=false, }, WikiLambdaEnableParserFunction={ description="Enable the extension.", value=false, }, WikiLambdaOrchestratorLocation={ description="Host and port of the function orchestrator.", value="https://wikifunctions-orchestrator-beta.wmflabs.org:443", }, }, ConfigRegistry={ WikiLambda="GlobalVarConfig::newInstance", }, AvailableRights={ "wikilambda-connect-implementation","wikilambda-connect-tester","wikilambda-create","wikilambda-create-boolean","wikilambda-create-function","wikilambda-create-implementation","wikilambda-create-language","wikilambda-create-predefined","wikilambda-create-programming","wikilambda-create-tester","wikilambda-create-type","wikilambda-create-unit","wikilambda-disconnect-implementation","wikilambda-disconnect-tester","wikilambda-edit","wikilambda-edit-argument-label","wikilambda-edit-attached-implementation","wikilambda-edit-attached-tester","wikilambda-edit-builtin-function","wikilambda-edit-boolean","wikilambda-edit-function","wikilambda-edit-function-definition","wikilambda-edit-implementation","wikilambda-edit-key-label","wikilambda-edit-language","wikilambda-edit-object-alias","wikilambda-edit-object-description","wikilambda-edit-object-label","wikilambda-edit-object-type","wikilambda-edit-predefined","wikilambda-edit-programming","wikilambda-edit-running-function","wikilambda-edit-tester","wikilambda-edit-type","wikilambda-edit-unit","wikilambda-edit-user-function","wikilambda-execute",}, GroupPermissions={ ["*"]={ ["wikilambda-execute"]=true, }, user={ ["wikilambda-create"]=true, ["wikilambda-create-function"]=true, ["wikilambda-create-implementation"]=true, ["wikilambda-create-tester"]=true, ["wikilambda-edit"]=true, ["wikilambda-edit-argument-label"]=true, ["wikilambda-edit-function"]=true, ["wikilambda-edit-implementation"]=true, ["wikilambda-edit-key-label"]=true, ["wikilambda-edit-object-alias"]=true, ["wikilambda-edit-object-description"]=true, ["wikilambda-edit-object-label"]=true, ["wikilambda-edit-tester"]=true, ["wikilambda-edit-user-function"]=true, }, functioneer={ ["wikilambda-connect-implementation"]=true, ["wikilambda-connect-tester"]=true, ["wikilambda-create-type"]=true, ["wikilambda-disconnect-implementation"]=true, ["wikilambda-disconnect-tester"]=true, ["wikilambda-edit-attached-implementation"]=true, ["wikilambda-edit-attached-tester"]=true, ["wikilambda-edit-function-definition"]=true, }, functionmaintainer={ ["wikilambda-create-language"]=true, ["wikilambda-create-predefined"]=true, ["wikilambda-create-programming"]=true, ["wikilambda-edit-builtin-function"]=true, ["wikilambda-edit-language"]=true, ["wikilambda-edit-predefined"]=true, ["wikilambda-edit-programming"]=true, ["wikilambda-edit-running-function"]=true, ["wikilambda-edit-type"]=true, }, sysop={ ["wikilambda-create-boolean"]=true, ["wikilambda-create-unit"]=true, ["wikilambda-edit-boolean"]=true, ["wikilambda-edit-object-type"]=true, ["wikilambda-edit-unit"]=true, }, }, AddGroups={ sysop={ "functioneer",}, bureaucrat={ "functionmaintainer",}, }, RemoveGroups={ sysop={ "functioneer",}, bureaucrat={ "functionmaintainer",}, }, HookHandlers={ WikiLambdaHooks={ class="MediaWiki\\Extension\\WikiLambda\\Hooks", }, PageEditingHandler={ class="MediaWiki\\Extension\\WikiLambda\\HookHandler\\PageEditingHandler", }, PageRenderingHandler={ class="MediaWiki\\Extension\\WikiLambda\\HookHandler\\PageRenderingHandler", }, WikiLambdaParserHooks={ class="MediaWiki\\Extension\\WikiLambda\\ParserHooks", }, }, Hooks={ getUserPermissionsErrors="PageEditingHandler", MultiContentSave="PageEditingHandler", LoadExtensionSchemaUpdates="WikiLambdaHooks", NamespaceIsMovable="PageEditingHandler", ParserFirstCallInit="WikiLambdaParserHooks", HtmlPageLinkRendererEnd="PageRenderingHandler", ["SkinTemplateNavigation::Universal"]="PageRenderingHandler", WebRequestPathInfoRouter="PageRenderingHandler", BeforePageDisplay="PageRenderingHandler", }, ExtensionMessagesFiles={ WikiLambdaAliases="WikiLambda.alias.php", WikiLambdaMagic="WikiLambda.i18n.magic.php", }, ForeignResourcesDir="resources/lib", 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",}, }, wikilambda_supported_programming_languages="MediaWiki\\Extension\\WikiLambda\\API\\ApiSupportedProgrammingLanguages", }, 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={ ViewObject={ class="MediaWiki\\Extension\\WikiLambda\\Special\\SpecialViewObject", services={ "WikiLambdaZObjectStore",}, }, CreateObject="MediaWiki\\Extension\\WikiLambda\\Special\\SpecialCreateObject", RunFunction="MediaWiki\\Extension\\WikiLambda\\Special\\SpecialRunFunction", ListDuplicateObjectNames="MediaWiki\\Extension\\WikiLambda\\Special\\SpecialListDuplicateObjectNames", ListObjectsByType={ class="MediaWiki\\Extension\\WikiLambda\\Special\\SpecialListObjectsByType", 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",}, JobClasses={ cacheTesterResults="MediaWiki\\Extension\\WikiLambda\\Jobs\\CacheTesterResultsJob", updateImplementations="MediaWiki\\Extension\\WikiLambda\\Jobs\\UpdateImplementationsJob", }, 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.41.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", }, WikiSEO={ name="WikiSEO", version="2.7.0", 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.39.0", platform={ php=">=7.4.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, }, WikiSeoOverwritePageImage={ description="Set to true to enable overwriting the image set by extension PageImages", value=false, }, WikiSeoEnableSocialImages={ description="Generate dedicated social media icons for pages", value=false, }, WikiSeoSocialImageIcon={ description="The icon/watermark to add to the social media image", value=nil, }, WikiSeoSocialImageWidth={ description="Width of the social media image", value=1200, }, WikiSeoSocialImageHeight={ description="Height of the social media image", value=620, }, WikiSeoSocialImageTextColor={ description="Color of the text on the social image", value="#ffffff", }, WikiSeoSocialImageShowAuthor={ description="Show the author of the current page revision", value=true, }, WikiSeoSocialImageShowLogo={ description="Show the Wiki logo in the top right corner", value=true, }, WikiSeoSocialImageBackgroundColor={ description="Default background color if no page image is found", value="#14181f", }, }, 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", }, RestRoutes={ { path="/wikiseo/v1/socialmediaimage/{title}", class="MediaWiki\\Extension\\WikiSEO\\Api\\RestSocialMediaImage", },}, composer="octfx/wiki-seo", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiSEO", }, 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.40.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.41", }, callback="Wikibase\\Lexeme\\Registrar::registerExtension", config={ LexemeEnableRepo={ value=true, }, LexemeNamespace={ value=146, }, 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.40.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.40.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", }, 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.41.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.EntityIdLabelFormatterFactory","WikibaseRepo.EntityIdParser","WikibaseRepo.EntityTitleLookup","WikibaseRepo.LanguageFallbackChainFactory","WBQC_EntityLookup","WBQC_DelegatingConstraintChecker","WBQC_ViolationMessageRendererFactory",}, }, }, APIModules={ wbcheckconstraints={ class="WikibaseQuality\\ConstraintReport\\Api\\CheckConstraints", factory="WikibaseQuality\\ConstraintReport\\Api\\CheckConstraints::factory", services={ "StatsdDataFactory","WikibaseRepo.ApiHelperFactory","WikibaseRepo.EntityIdLabelFormatterFactory","WikibaseRepo.EntityIdParser","WikibaseRepo.EntityTitleLookup","WikibaseRepo.LanguageFallbackChainFactory","WikibaseRepo.StatementGuidValidator","WBQC_ResultsSource","WBQC_ViolationMessageRendererFactory",}, }, wbcheckconstraintparameters={ class="WikibaseQuality\\ConstraintReport\\Api\\CheckConstraintParameters", factory="WikibaseQuality\\ConstraintReport\\Api\\CheckConstraintParameters::newFromGlobalState", services={ "StatsdDataFactory","WikibaseRepo.ApiHelperFactory","WikibaseRepo.LanguageFallbackChainFactory","WikibaseRepo.StatementGuidParser","WBQC_DelegatingConstraintChecker","WBQC_ViolationMessageRendererFactory",}, }, }, 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. The syntax clarification is shown as part of the 'format' constraint violation message, clarifying the regular expression.", public=true, }, WBQualityConstraintsConstraintClarificationId={ value="P6607", description="The property ID of the 'constraint clarification' property (data type: monolingual text), which specifies human-readable explanations of a constraint (of any constraint type). The constraint clarification is shown below the main constraint violation message.", 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, }, WBQualityConstraintsShowConstraintViolationToNonLoggedInUsers={ value=true, description="Whether or not show the constraint violation indicator to users that are not logged in.", public=true, }, }, composer="wikibase/constraints", repository="https://gerrit.wikimedia.org/r/mediawiki/extensions/WikibaseQualityConstraints", }, 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.41.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="WikidataPageBannerHooks", ParserOutputPostCacheTransform="WikidataPageBannerHooks", OutputPageParserOutput="WikidataPageBannerHooks", SiteNoticeAfter="WikidataPageBannerHooks", ParserFirstCallInit="WikidataPageBannerHooks", }, HookHandlers={ WikidataPageBannerHooks={ class="MediaWiki\\Extension\\WikidataPageBanner\\Hooks", services={ }, }, }, 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.40.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", url="https://www.mediawiki.org/wiki/Extension:Wikistories", requires={ MediaWiki=">= 1.41.0", }, ContentHandlers={ story={ class="MediaWiki\\Extension\\Wikistories\\StoryContentHandler", services={ "Wikistories.StoryConverter","Wikistories.StoryValidator","Wikistories.StoryRenderer","TrackingCategories",}, }, }, SpecialPages={ StoryBuilder={ class="MediaWiki\\Extension\\Wikistories\\SpecialStoryBuilder", services={ "WikiPageFactory","PageStore","UserOptionsLookup","WatchlistManager","WatchedItemStore","MainConfig","Wikistories.Cache",}, }, }, RecentChangesFlags={ ["wikistories-edit"]={ letter="wikistories-recentchangesflags-letter", title="wikistories-recentchangesflags-title", legend="wikistories-recentchangesflags-legend", class="wikistories-edit", grouping="any", }, }, JobClasses={ ArticleChangedJob={ class="MediaWiki\\Extension\\Wikistories\\jobs\\ArticleChangedJob", services={ "RevisionLookup","Wikistories.Analyzer","WikiPageFactory","Wikistories.PageLinksSearch","MainConfig",}, }, }, HookHandlers={ RecentChangesPropagationHooks={ class="MediaWiki\\Extension\\Wikistories\\hooks\\RecentChangesPropagationHooks", services={ "RevisionStore","MainConfig","LinkRenderer","DBLoadBalancer","UserFactory",}, }, EchoNotificationsHandlers={ class="MediaWiki\\Extension\\Wikistories\\hooks\\EchoNotificationsHandlers", }, }, 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","RecentChangesPropagationHooks",}, EnhancedChangesListModifyBlockLineData="RecentChangesPropagationHooks", EnhancedChangesListModifyLineData="RecentChangesPropagationHooks", OldChangesListRecentChangesLine="RecentChangesPropagationHooks", ChangesListSpecialPageStructuredFilters="RecentChangesPropagationHooks", PageDeleteComplete="MediaWiki\\Extension\\Wikistories\\Hooks::onPageDeleteComplete", PageUndeleteComplete="MediaWiki\\Extension\\Wikistories\\Hooks::onPageUndeleteComplete", GetPreferences="MediaWiki\\Extension\\Wikistories\\Hooks::onGetPreferences", BeforeCreateEchoEvent="EchoNotificationsHandlers", EchoGetBundleRules="EchoNotificationsHandlers", ParserCacheSaveComplete="MediaWiki\\Extension\\Wikistories\\Hooks::onParserCacheSaveComplete", ArticlePurge="MediaWiki\\Extension\\Wikistories\\Hooks::onArticlePurge", ActionModifyFormFields="MediaWiki\\Extension\\Wikistories\\Hooks::onActionModifyFormFields", }, 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, }, WikistoriesUnmodifiedTextThreshold={ description="Percentage threshold of unmodified text allowed before showing final edit warning", value=0.7, }, 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", }, WikistoriesNotifyAboutStoryMaintenance={ description="Send notifications to story watchers when stories need to be updated.", value=false, }, }, 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=false, 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",}, },}, TrackingCategories={ "wikistories-no-image-category","wikistories-no-related-article","wikistories-outdated-text-category",}, 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.2.0-alpha", ["license-name"]="GPL-3.0-only", author={ "Hallo Welt! GmbH",}, url="https://en.wiki.bluespice.com/wiki/Reference:Workflows", descriptionmsg="workflows-desc", requires={ MediaWiki=">= 1.39.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","UserFactory",}, }, 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","WorkflowLogger",}, }, 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","UserFactory",}, },{ 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", }, CLDR={ name="CLDR", version="4.13.0", author={ "Niklas Laxström","Siebrand Mazeland","Ryan Kaldari","Sam Reed",}, requires={ MediaWiki=">= 1.35.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::Universal"]="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", }, ["DynamicPageList_(Wikimedia)"]={ name="DynamicPageList", version="1.7.0", author={ "Amgine","IlyaHaykinson",}, url="https://www.mediawiki.org/wiki/Extension:DynamicPageList_(Wikimedia)", descriptionmsg="intersection-desc", type="parserhook", requires={ MediaWiki=">= 1.40.0", }, ["license-name"]="GPL-2.0-or-later", Hooks={ ParserFirstCallInit="MediaWiki\\Extension\\DynamicPageList\\Hooks::onParserFirstCallInit", ParserTestGlobals="MediaWiki\\Extension\\DynamicPageList\\Hooks::onParserTestGlobals", }, 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.40.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", }, }