CINXE.COM

Google Summer of Code/2024 - MediaWiki

<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-disabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Google Summer of Code/2024 - MediaWiki</title> <script>(function(){var className="client-js vector-feature-language-in-header-disabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )mediawikiwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""], "wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"a362ff29-8041-4980-9ec2-f6a35f2ecc87","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Google_Summer_of_Code/2024","wgTitle":"Google Summer of Code/2024","wgCurRevisionId":6862016,"wgRevisionId":6862016,"wgArticleId":1837863,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Pages kept for historical interest"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Google_Summer_of_Code/2024","wgRelevantArticleId":1837863,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"mediawiki","wgCiteReferencePreviewsActive":true,"wgMediaViewerOnClick":true, "wgMediaViewerEnabledByDefault":true,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":30000,"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgDiscussionToolsFeaturesEnabled":{"replytool":true,"newtopictool":true,"sourcemodetoolbar":true,"topicsubscription":false,"autotopicsub":false,"visualenhancements":false,"visualenhancements_reply":false,"visualenhancements_pageframe":false},"wgDiscussionToolsFallbackEditMode":"visual","wgULSPosition":"personal","wgULSisCompactLinksEnabled":true,"wgVector2022LanguageInHeader":false,"wgULSisLanguageSelectorEmpty":false,"wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"]};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready", "user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","mediawiki.page.gallery.styles":"ready","ext.tmh.player.styles":"ready","ext.discussionTools.init.styles":"ready","oojs-ui-core.styles":"ready","oojs-ui.styles.indicators":"ready","mediawiki.widgets.styles":"ready","oojs-ui-core.icons":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.tablesorter.styles":"ready","mediawiki.ui.button":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.pt":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["mediawiki.page.gallery","ext.tmh.player","mediawiki.page.media","site","mediawiki.page.ready","jquery.tablesorter","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.syntaxhighlight-copy","ext.urlShortener.toolbar","ext.centralauth.centralautologin", "mmv.bootstrap","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.discussionTools.init","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.compactlinks","ext.uls.interface","ext.checkUser.clientHints"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=ext.discussionTools.init.styles%7Cext.tmh.player.styles%7Cext.uls.pt%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cjquery.tablesorter.styles%7Cmediawiki.page.gallery.styles%7Cmediawiki.ui.button%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/0/08/GSoC_logo.svg/1200px-GSoC_logo.svg.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="1200"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/0/08/GSoC_logo.svg/800px-GSoC_logo.svg.png"> <meta property="og:image:width" content="800"> <meta property="og:image:height" content="800"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/0/08/GSoC_logo.svg/640px-GSoC_logo.svg.png"> <meta property="og:image:width" content="640"> <meta property="og:image:height" content="640"> <meta name="viewport" content="width=1120"> <meta property="og:site_name" content="MediaWiki"> <meta property="og:title" content="Google Summer of Code/2024 - MediaWiki"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//m.mediawiki.org/wiki/Google_Summer_of_Code/2024"> <link rel="alternate" type="application/x-wiki" title="Edit" href="/w/index.php?title=Google_Summer_of_Code/2024&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/mediawiki.png"> <link rel="icon" href="/static/favicon/mediawiki.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="MediaWiki (en)"> <link rel="EditURI" type="application/rsd+xml" href="//www.mediawiki.org/w/api.php?action=rsd"> <link rel="canonical" href="https://www.mediawiki.org/wiki/Google_Summer_of_Code/2024"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"> <link rel="alternate" type="application/atom+xml" title="MediaWiki Atom feed" href="/w/index.php?title=Special:RecentChanges&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="ext-discussiontools-replytool-enabled ext-discussiontools-newtopictool-enabled ext-discussiontools-sourcemodetoolbar-enabled skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Google_Summer_of_Code_2024 rootpage-Google_Summer_of_Code skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/MediaWiki" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-mw-download" class="mw-list-item"><a href="/wiki/Download"><span>Get MediaWiki</span></a></li><li id="n-mw-extensions" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Category:Extensions"><span>Get extensions</span></a></li><li id="n-blog-text" class="mw-list-item"><a href="https://techblog.wikimedia.org/"><span>Tech blog</span></a></li><li id="n-mw-contribute" class="mw-list-item"><a href="/wiki/Special:MyLanguage/How_to_contribute"><span>Contribute</span></a></li> </ul> </div> </div> <div id="p-support" class="vector-menu mw-portlet mw-portlet-support" > <div class="vector-menu-heading"> Support </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Help:Contents" title="The place to find out"><span>User help</span></a></li><li id="n-mw-faq" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Manual:FAQ"><span>FAQ</span></a></li><li id="n-mw-manual" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Manual:Contents"><span>Technical manual</span></a></li><li id="n-mw-supportdesk" class="mw-list-item"><a href="/wiki/Project:Support_desk"><span>Support desk</span></a></li><li id="n-mw-communication" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Communication"><span>Communication</span></a></li> </ul> </div> </div> <div id="p-development" class="vector-menu mw-portlet mw-portlet-development" > <div class="vector-menu-heading"> Development </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mw-developerportal" class="mw-list-item"><a href="https://developer.wikimedia.org/"><span>Developer portal</span></a></li><li id="n-svn-statistics" class="mw-list-item"><a href="/wiki/Development_statistics"><span>Code statistics</span></a></li> </ul> </div> </div> <div id="p-mediawiki.org" class="vector-menu mw-portlet mw-portlet-mediawiki_org" > <div class="vector-menu-heading"> mediawiki.org </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-portal" class="mw-list-item"><a href="/wiki/Project:Help" title="About the project, what you can do, where to find things"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes in the wiki [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-mw-translate" class="mw-list-item"><a href="/wiki/Special:LanguageStats"><span>Translate content</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Load a random page [x]" accesskey="x"><span>Random page</span></a></li><li id="n-mw-discussion" class="mw-list-item"><a href="/wiki/Project:Village_Pump"><span>Village pump</span></a></li><li id="n-Sandboxlink-portlet-label" class="mw-list-item"><a href="/wiki/Project:Sandbox"><span>Sandbox</span></a></li> </ul> </div> </div> <div id="p-lang" class="vector-menu mw-portlet mw-portlet-lang" > <div class="vector-menu-heading"> In other languages </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-add wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:NewItem?site=mediawikiwiki&amp;page=Google+Summer+of+Code%2F2024" title="Add interlanguage links" class="wbc-editpage">Add links</a></span></div> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/MediaWiki" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/mediawikiwiki.svg" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="MediaWiki" src="/static/images/mobile/copyright/mediawikiwiki-wordmark.svg" style="width: 7.5em; height: 1.125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search MediaWiki [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search MediaWiki" aria-label="Search MediaWiki" autocapitalize="sentences" title="Search MediaWiki [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-uls" class="mw-list-item active user-links-collapsible-item"><a data-mw="interface" href="#" class="uls-trigger cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet"><span class="vector-icon mw-ui-icon-wikimedia-language mw-ui-icon-wikimedia-wikimedia-language"></span> <span>English</span></a> </li> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page&#039;s font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=spontaneous&amp;uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&amp;returnto=Google+Summer+of+Code%2F2024" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&amp;returnto=Google+Summer+of+Code%2F2024" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="More options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=spontaneous&amp;uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&amp;returnto=Google+Summer+of+Code%2F2024" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=Google+Summer+of+Code%2F2024" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">Beginning</div> </a> </li> <li id="toc-Program_timeline" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Program_timeline"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Program timeline</span> </div> </a> <ul id="toc-Program_timeline-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Gallery" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Gallery"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Gallery</span> </div> </a> <ul id="toc-Gallery-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Accepted_projects" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Accepted_projects"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Accepted projects</span> </div> </a> <ul id="toc-Accepted_projects-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Ideas_for_projects" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Ideas_for_projects"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Ideas for projects</span> </div> </a> <button aria-controls="toc-Ideas_for_projects-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Ideas for projects subsection</span> </button> <ul id="toc-Ideas_for_projects-sublist" class="vector-toc-list"> <li id="toc-1._Commons_app:_Improve_upload_queue_management" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#1._Commons_app:_Improve_upload_queue_management"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.1</span> <span>1. Commons app: Improve upload queue management</span> </div> </a> <ul id="toc-1._Commons_app:_Improve_upload_queue_management-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-2._[Programs_&amp;_Events_Dashboard]_Improve_the_training_module_creation_and_update_process" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#2._[Programs_&amp;_Events_Dashboard]_Improve_the_training_module_creation_and_update_process"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.2</span> <span>2. [Programs &amp; Events Dashboard] Improve the training module creation and update process</span> </div> </a> <ul id="toc-2._[Programs_&amp;_Events_Dashboard]_Improve_the_training_module_creation_and_update_process-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-3._Improve_InlineComments_extension" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#3._Improve_InlineComments_extension"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.3</span> <span>3. Improve InlineComments extension</span> </div> </a> <ul id="toc-3._Improve_InlineComments_extension-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-4._[Programs_&amp;_Events_Dashboard]_Improve_system_for_copying_courses_from_one_Dashboard_to_another" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#4._[Programs_&amp;_Events_Dashboard]_Improve_system_for_copying_courses_from_one_Dashboard_to_another"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.4</span> <span>4. [Programs &amp; Events Dashboard] Improve system for copying courses from one Dashboard to another</span> </div> </a> <ul id="toc-4._[Programs_&amp;_Events_Dashboard]_Improve_system_for_copying_courses_from_one_Dashboard_to_another-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-5._Improve_searchability_and_filtering_of_PageTriage_feed" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#5._Improve_searchability_and_filtering_of_PageTriage_feed"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.5</span> <span>5. Improve searchability and filtering of PageTriage feed</span> </div> </a> <ul id="toc-5._Improve_searchability_and_filtering_of_PageTriage_feed-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-6._Scribe-Data:_Refactor_into_a_multi_purpose_Wikidata_language_pack_CLI_tool" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#6._Scribe-Data:_Refactor_into_a_multi_purpose_Wikidata_language_pack_CLI_tool"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.6</span> <span>6. Scribe-Data: Refactor into a multi purpose Wikidata language pack CLI tool</span> </div> </a> <ul id="toc-6._Scribe-Data:_Refactor_into_a_multi_purpose_Wikidata_language_pack_CLI_tool-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-7._Scribe-iOS:_Add_multilingual_translation_and_internationalized_interfaces" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#7._Scribe-iOS:_Add_multilingual_translation_and_internationalized_interfaces"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.7</span> <span>7. Scribe-iOS: Add multilingual translation and internationalized interfaces</span> </div> </a> <ul id="toc-7._Scribe-iOS:_Add_multilingual_translation_and_internationalized_interfaces-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-8._Lingua_Libre_SignIt" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#8._Lingua_Libre_SignIt"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.8</span> <span>8. Lingua Libre SignIt</span> </div> </a> <ul id="toc-8._Lingua_Libre_SignIt-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-9._Lingua_Libre_Django_migration" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#9._Lingua_Libre_Django_migration"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.9</span> <span>9. Lingua Libre Django migration</span> </div> </a> <ul id="toc-9._Lingua_Libre_Django_migration-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Not_accepted_project" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Not_accepted_project"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Not accepted project</span> </div> </a> <button aria-controls="toc-Not_accepted_project-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Not accepted project subsection</span> </button> <ul id="toc-Not_accepted_project-sublist" class="vector-toc-list"> <li id="toc-Wikimedia_Portals_codebase_modernization" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Wikimedia_Portals_codebase_modernization"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.1</span> <span>Wikimedia Portals codebase modernization</span> </div> </a> <ul id="toc-Wikimedia_Portals_codebase_modernization-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Recommended_steps_for_accepted_candidates" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Recommended_steps_for_accepted_candidates"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Recommended steps for accepted candidates</span> </div> </a> <ul id="toc-Recommended_steps_for_accepted_candidates-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Contact" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Contact"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>Contact</span> </div> </a> <ul id="toc-Contact-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Google Summer of Code/2024</span></h1> <div class="mw-indicators"> <div id="mw-indicator-tpl-shortcut" class="mw-indicator"><div class="mw-parser-output"><div class="mw-parser-output"><style data-mw-deduplicate="TemplateStyles:r6605561">.mw-parser-output .tpl-badge{background-color:var(--background-color-progressive-subtle,#eaf3ff);color:var(--color-base,#202122);border-radius:10px;display:inline-block;font-size:90%;padding:5px 8px}</style><div class="tpl-badge">shortcut: <a href="/wiki/GSOC24" class="mw-redirect" title="GSOC24"><b>GSOC24</b></a></div></div></div></div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Google_Summer_of_Code/2024" title="View the content page [c]" accesskey="c"><span>Page</span></a></li><li id="ca-talk" class="new vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Talk:Google_Summer_of_Code/2024&amp;action=edit&amp;redlink=1" rel="discussion" class="new" title="Discussion about the content page (page does not exist) [t]" accesskey="t"><span>Discussion</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Google_Summer_of_Code/2024"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Google_Summer_of_Code/2024&amp;action=edit" title="Edit the source code of this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Google_Summer_of_Code/2024&amp;action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Google_Summer_of_Code/2024"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Google_Summer_of_Code/2024&amp;action=edit" title="Edit the source code of this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Google_Summer_of_Code/2024&amp;action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Google_Summer_of_Code/2024" title="A list of all wiki pages that link here [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Google_Summer_of_Code/2024" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="//commons.wikimedia.org/wiki/Special:UploadWizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Google_Summer_of_Code/2024&amp;oldid=6862016" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Google_Summer_of_Code/2024&amp;action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&amp;page=Google_Summer_of_Code%2F2024&amp;id=6862016&amp;wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&amp;url=https%3A%2F%2Fwww.mediawiki.org%2Fwiki%2FGoogle_Summer_of_Code%2F2024"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&amp;url=https%3A%2F%2Fwww.mediawiki.org%2Fwiki%2FGoogle_Summer_of_Code%2F2024"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-create_a_book" class="mw-list-item"><a href="/w/index.php?title=Special:Book&amp;bookcmd=book_creator&amp;referer=Google+Summer+of+Code%2F2024"><span>Create a book</span></a></li><li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&amp;page=Google_Summer_of_Code%2F2024&amp;action=show-download-screen"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Google_Summer_of_Code/2024&amp;printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects emptyPortlet" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div id="siteSub" class="noprint">From mediawiki.org</div> </div> <div id="contentSub"><div id="mw-content-subtitle"><div class="subpages">&lt; <bdi dir="ltr"><a href="/wiki/Google_Summer_of_Code" title="Google Summer of Code">Google Summer of Code</a></bdi></div></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><style data-mw-deduplicate="TemplateStyles:r6824882">.mw-parser-output table.ambox{margin:0 10%;width:unset;border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output table.ambox+table.ambox,.mw-parser-output table.ambox+link+table.ambox,.mw-parser-output table.ambox+style+table.ambox{margin-top:-1px}.mw-parser-output .ambox td.mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox th.mbox-text,.mw-parser-output .ambox td.mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox td.mbox-image{padding:2px 0 2px 0.5em}.mw-parser-output .ambox td.mbox-imageright{padding:2px 0.5em 2px 0}.mw-parser-output table.ambox-notice{border-left-color:#36c}.mw-parser-output table.ambox-speedy{background-color:var(--background-color-error-subtle,#fee7e6)}.mw-parser-output table.ambox-delete,.mw-parser-output table.ambox-speedy{border-left-color:var(--background-color-error--active,#b32424)}.mw-parser-output table.ambox-content{border-left-color:#f28500}.mw-parser-output table.ambox-style{border-left-color:#fc3}.mw-parser-output table.ambox-move{border-left-color:#9932cc}.mw-parser-output table.ambox-protection{border-left-color:#a2a9b1}html body.mediawiki .mw-parser-output .ambox.mbox-small{clear:right;float:right;margin:4px 0 4px 1em;box-sizing:border-box;width:238px;font-size:88%;line-height:1.25em}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;box-sizing:border-box;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}</style><table class="ambox-notice box-Notice ambox plainlinks metadata" role="presentation"><tbody><tr><td class="mbox-image"><div style="width:52px"><span typeof="mw:File"><a href="/wiki/File:Historical.svg" class="mw-file-description" title="Notice"><img alt="Notice" src="//upload.wikimedia.org/wikipedia/commons/thumb/5/56/Historical.svg/40px-Historical.svg.png" decoding="async" width="40" height="51" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/5/56/Historical.svg/60px-Historical.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/5/56/Historical.svg/80px-Historical.svg.png 2x" data-file-width="140" data-file-height="177"/></a></span></div></td><td class="mbox-text"><div class="mbox-text-span"><b>This page is obsolete. It is being retained for archival purposes.</b> It may document extensions or features that are obsolete and/or no longer supported. Do not rely on the information here being up-to-date.</div></td></tr></tbody></table> <p><br/> </p> <figure class="mw-halign-right" typeof="mw:File/Frameless"><a href="/wiki/File:GSoC_logo.svg" class="mw-file-description"><img alt="GSoC logo" src="//upload.wikimedia.org/wikipedia/commons/thumb/0/08/GSoC_logo.svg/200px-GSoC_logo.svg.png" decoding="async" width="200" height="200" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/0/08/GSoC_logo.svg/300px-GSoC_logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/0/08/GSoC_logo.svg/400px-GSoC_logo.svg.png 2x" data-file-width="281" data-file-height="281"/></a><figcaption></figcaption></figure> <p>Wikimedia will be taking part as a mentoring organization for <a href="/wiki/Google_Summer_of_Code" title="Google Summer of Code">Google Summer of Code</a> 2024. </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r6824882"><table class="ambox-notice box-Notice ambox plainlinks metadata" role="presentation"><tbody><tr><td class="mbox-image"><div style="width:52px"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/e/ec/OOjs_UI_icon_information-progressive.svg/40px-OOjs_UI_icon_information-progressive.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/e/ec/OOjs_UI_icon_information-progressive.svg/60px-OOjs_UI_icon_information-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/e/ec/OOjs_UI_icon_information-progressive.svg/80px-OOjs_UI_icon_information-progressive.svg.png 2x" data-file-width="20" data-file-height="20"/></span></span></div></td><td class="mbox-text"><div class="mbox-text-span">View monthly highlights from the blogposts of Google Summer of Code &amp; Outreachy participants: <a href="/wiki/Google_Summer_of_Code_2024_and_Outreachy_Round_28/Monthly_Highlights/June_2024" title="Google Summer of Code 2024 and Outreachy Round 28/Monthly Highlights/June 2024">June</a>, <a href="/wiki/Google_Summer_of_Code_2024_and_Outreachy_Round_28/Monthly_Highlights/July_2024" title="Google Summer of Code 2024 and Outreachy Round 28/Monthly Highlights/July 2024">July</a>, and <a href="/wiki/Google_Summer_of_Code_2024_and_Outreachy_Round_28/Monthly_Highlights/August_2024" title="Google Summer of Code 2024 and Outreachy Round 28/Monthly Highlights/August 2024">August</a></div></td></tr></tbody></table> <div style="text-align: center"> <p><a href="/wiki/Google_Summer_of_Code/Participants" title="Google Summer of Code/Participants"><span class="mw-ui-button mw-ui-progressive mw-ui-big" style="font-size: 1.5em;" title="">Read information for participants</span></a> <a href="/wiki/Google_Summer_of_Code/Mentors" title="Google Summer of Code/Mentors"><span class="mw-ui-button mw-ui-progressive mw-ui-big" style="font-size: 1.5em;" title="">Read information for mentors</span></a> </p> </div> <p><br clear="all"/> </p> <meta property="mw:PageProp/toc"/> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Program_timeline" data-mw-thread-id="h-Program_timeline"><span data-mw-comment-start="" id="h-Program_timeline"></span>Program timeline<span data-mw-comment-end="h-Program_timeline"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Google_Summer_of_Code/2024&amp;action=edit&amp;section=1" title="Edit section: Program timeline"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Program_timeline","replies":[]}}--></div> <table class="wikitable"> <tbody><tr> <th colspan="4"><a rel="nofollow" class="external text" href="https://developers.google.com/open-source/gsoc/timeline">Google Summer of Code 2024's timeline</a> </th></tr> <tr> <th> </th> <th>Date </th> <th>Action by </th> <th>Item </th></tr> <tr> <td rowspan="2">Prep </td> <td>February 6, 18:00 UTC </td> <td>WMF</td> <td>Mentoring organization application deadline </td></tr> <tr> <td>February 21, 18:00 UTC </td> <td>Google Inc.</td> <td>List of accepted mentoring organizations published </td></tr> <tr> <td rowspan="4">Application </td> <td>March 18, 18:00 UTC </td> <td>Applicants</td> <td>GSoC projects application period begins, two mentors required. </td></tr> <tr> <td>April 2, 18:00 UTC </td> <td>Applicants</td> <td>GSoC projects application deadline </td></tr> <tr> <td>May 1, 18:00 UTC </td> <td>Google Inc.</td> <td>GSoC projects being accepted are announced </td></tr> <tr> <td>May 1 - 26 </td> <td>Contributors</td> <td>GSoC contributors get to know mentors, read documentation, get up to speed to begin working on their projects </td></tr> <tr> <td rowspan="5">Internships </td> <td>May 27 – August 26 </td> <td>Contributors</td> <td>Coding period – first half </td></tr> <tr> <td>July 8 – 12 </td> <td>Contributors &amp; Mentors</td> <td>Midterm Evaluation period </td></tr> <tr> <td>August 19 – 26 </td> <td>Contributors</td> <td>Final Report Submission period </td></tr> <tr> <td>August 26 – September 2 </td> <td>Mentors</td> <td>Final Evaluation period for all 12 week projects </td></tr> <tr> <td>September 3 </td> <td>Google Inc.</td> <td>Initial results of Google Summer of Code 2024 announced </td></tr> <tr style="background:#AACCAA99;"> <td rowspan="4">Extension </td> <td>September 3 – November 4 </td> <td>Contributors</td> <td>GSoC contributors with extended timelines continue coding </td></tr> <tr> <td>October 28 – November 1 </td> <td>Contributors</td> <td>Final Evaluation period for 22 week projects </td></tr> <tr> <td>November 11 </td> <td>Mentors</td> <td>Final date for mentors to submit evaluations for GSoC contributor projects with extended deadlines </td></tr> <tr> <td>November 14 </td> <td>Google Inc.</td> <td>All projects completed: end of 2024 program </td></tr> <tr> <td colspan="4"><small>Legend: 1) Applicants = Wikimedia mentors and/or GSoC contributors ; 2) Contributors = interns, junior developers. 3) Green background : ongoing phase.</small> </td></tr></tbody></table> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Gallery" data-mw-thread-id="h-Gallery"><span data-mw-comment-start="" id="h-Gallery"></span>Gallery<span data-mw-comment-end="h-Gallery"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Google_Summer_of_Code/2024&amp;action=edit&amp;section=2" title="Edit section: Gallery"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Gallery","replies":[]}}--></div> <ul class="gallery mw-gallery-packed"> <li class="gallerybox" style="width: 266px"> <div class="thumb" style="width: 264px;"><span typeof="mw:File"><a href="/wiki/File:Outreachy_%26_GSoC_Welcome_Session_-_June_5,_2024.png" class="mw-file-description" title="Outreachy and GSoC Welcome Session (online) - June 5, 2024"><img alt="Outreachy and GSoC Welcome Session (online) - June 5, 2024" src="//upload.wikimedia.org/wikipedia/commons/thumb/4/43/Outreachy_%26_GSoC_Welcome_Session_-_June_5%2C_2024.png/396px-Outreachy_%26_GSoC_Welcome_Session_-_June_5%2C_2024.png" decoding="async" width="264" height="120" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/43/Outreachy_%26_GSoC_Welcome_Session_-_June_5%2C_2024.png/594px-Outreachy_%26_GSoC_Welcome_Session_-_June_5%2C_2024.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/4/43/Outreachy_%26_GSoC_Welcome_Session_-_June_5%2C_2024.png/792px-Outreachy_%26_GSoC_Welcome_Session_-_June_5%2C_2024.png 2x" data-file-width="3272" data-file-height="1488"/></a></span></div> <div class="gallerytext">Outreachy and GSoC Welcome Session (online) - June 5, 2024</div> </li> <li class="gallerybox" style="width: 266.66666666667px"> <div class="thumb" style="width: 264.66666666667px;"><span typeof="mw:File"><a href="/wiki/File:Outreachy_Round_28_%26_GSoC_2024_-_final_group_picture_-_22Aug2024.png" class="mw-file-description" title="Final group picture of our Outreachy Round 28 interns and Google Summer of Code (GSoC) contributors 2024, August 2024"><img alt="Final group picture of our Outreachy Round 28 interns and Google Summer of Code (GSoC) contributors 2024, August 2024" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/2f/Outreachy_Round_28_%26_GSoC_2024_-_final_group_picture_-_22Aug2024.png/397px-Outreachy_Round_28_%26_GSoC_2024_-_final_group_picture_-_22Aug2024.png" decoding="async" width="265" height="120" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/2f/Outreachy_Round_28_%26_GSoC_2024_-_final_group_picture_-_22Aug2024.png/595px-Outreachy_Round_28_%26_GSoC_2024_-_final_group_picture_-_22Aug2024.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/2f/Outreachy_Round_28_%26_GSoC_2024_-_final_group_picture_-_22Aug2024.png/793px-Outreachy_Round_28_%26_GSoC_2024_-_final_group_picture_-_22Aug2024.png 2x" data-file-width="3100" data-file-height="1408"/></a></span></div> <div class="gallerytext">Final group picture of our Outreachy Round 28 interns and Google Summer of Code (GSoC) contributors 2024, August 2024</div> </li> </ul> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Accepted_projects" data-mw-thread-id="h-Accepted_projects"><span data-mw-comment-start="" id="h-Accepted_projects"></span>Accepted projects<span data-mw-comment-end="h-Accepted_projects"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Google_Summer_of_Code/2024&amp;action=edit&amp;section=3" title="Edit section: Accepted projects"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Accepted_projects","replies":[]}}--></div> <table class="wikitable sortable"> <caption> </caption> <tbody><tr> <th style="min-width: 12em;">Intern Name (+ Pronouns) </th> <th>Location </th> <th style="min-width: 12em;">Project </th> <th style="min-width: 10em;">Mentor(s) </th> <th style="min-width: 8em;">Weekly Updates </th> <th style="min-width: 4em;">Blogs </th></tr> <tr> <td><a href="/wiki/User:Rockingpenny4" title="User:Rockingpenny4">Angel Sharma</a> </td> <td>Mathura, India </td> <td><a href="https://phabricator.wikimedia.org/T360848" class="extiw" title="phab:T360848">Improve searchability and filtering of PageTriage feed</a> <ul><li><i>Project Timeline: 22 weeks</i></li></ul> </td> <td> <ul><li><a href="/wiki/User:Sohom_Datta" title="User:Sohom Datta">Sohom Datta</a></li> <li><a class="external text" href="https://meta.wikimedia.org/wiki/Special:CentralAuth/TheresNoTime-WMF">Sammy Tarling</a></li></ul> </td> <td> <ul><li><a href="https://phabricator.wikimedia.org/T360848#9852871" class="extiw" title="phab:T360848">Week 1</a></li> <li><a href="https://phabricator.wikimedia.org/T360848#9886026" class="extiw" title="phab:T360848">Week 2</a></li> <li><a href="https://phabricator.wikimedia.org/T360848#9915747" class="extiw" title="phab:T360848">Weeks 3 &amp; 4</a></li> <li><a href="https://phabricator.wikimedia.org/T360848#9970780" class="extiw" title="phab:T360848">Weeks 5 &amp; 6</a></li> <li><a href="https://phabricator.wikimedia.org/T360848#10036711" class="extiw" title="phab:T360848">Weeks 7 &amp; 8</a></li> <li><a href="https://phabricator.wikimedia.org/T360848#10068355" class="extiw" title="phab:T360848">Weeks 9 &amp; 10</a></li> <li><a href="https://phabricator.wikimedia.org/T360848#10146302" class="extiw" title="phab:T360848">Weeks 11 - 14</a></li> <li><a href="https://phabricator.wikimedia.org/T360848#10200524" class="extiw" title="phab:T360848">Weeks 15 - 16</a></li> <li><a href="https://phabricator.wikimedia.org/T360848#10231547" class="extiw" title="phab:T360848">Weeks 17 - 18</a></li></ul> </td> <td> <ul><li><a rel="nofollow" class="external text" href="https://medium.com/@rockingpenny4/gsoc24-mid-evaluation-blog-af000e84d36d">Mid-term report</a></li> <li><a rel="nofollow" class="external text" href="https://medium.com/@rockingpenny4/gsoc24-final-report-83fc9f5112b3">Final report</a></li></ul> </td></tr> <tr> <td><a href="https://meta.wikimedia.org/wiki/User:JagCsd" class="extiw" title="metawiki:User:JagCsd">Marcel Mehl</a> </td> <td>Germany </td> <td><a href="https://phabricator.wikimedia.org/T361431" class="extiw" title="phab:T361431">Scribe-iOS: Add multilingual translation and internationalized interfaces</a> <ul><li><i>Project Timeline: 12 weeks</i></li></ul> </td> <td> <ul><li><a href="/wiki/User:AndrewTavis" title="User:AndrewTavis">Andrew McAllister</a></li> <li>Henrik Thomasson</li> <li><a class="external text" href="https://www.mediawiki.org/w/index.php?title=User:Wkyoshida">Will Yoshida</a></li></ul> </td> <td> <ul><li><a href="https://phabricator.wikimedia.org/T361431#9852879" class="extiw" title="phab:T361431">Week 1</a></li> <li><a href="https://phabricator.wikimedia.org/T361431#9874532" class="extiw" title="phab:T361431">Week 2</a></li> <li><a href="https://phabricator.wikimedia.org/T361431#9900590" class="extiw" title="phab:T361431">Week 3</a></li> <li><a href="https://phabricator.wikimedia.org/T361431#9926895" class="extiw" title="phab:T361431">Week 4</a></li> <li><a href="https://phabricator.wikimedia.org/T361431#9974208" class="extiw" title="phab:T361431">Weeks 5-7</a></li> <li><a href="https://phabricator.wikimedia.org/T361431#10002437" class="extiw" title="phab:T361431">Week 8</a></li> <li><a href="https://phabricator.wikimedia.org/T361431#10035773" class="extiw" title="phab:T361431">Week 9</a></li> <li><a href="https://phabricator.wikimedia.org/T361431#10042290" class="extiw" title="phab:T361431">Week 10</a></li> <li><a href="https://phabricator.wikimedia.org/T361431#10071525" class="extiw" title="phab:T361431">Week 11</a></li> <li><a href="https://phabricator.wikimedia.org/T361431#10071533" class="extiw" title="phab:T361431">Week 12</a></li> <li><a href="https://phabricator.wikimedia.org/T361431#10089759" class="extiw" title="phab:T361431">Week 13</a></li></ul> </td> <td> <ul><li><a rel="nofollow" class="external text" href="https://jagmarcel.hashnode.dev/my-first-experiences-with-gsoc">Initial Report</a></li> <li><a rel="nofollow" class="external text" href="https://jagmarcel.hashnode.dev/gsoc-2024-midterm-report">Midterm Report</a></li> <li><a rel="nofollow" class="external text" href="https://jagmarcel.hashnode.dev/gsoc-2024-final-report">Final Report</a></li></ul> </td></tr> <tr> <td><a href="/w/index.php?title=User:JayanthVikash&amp;action=edit&amp;redlink=1" class="new" title="User:JayanthVikash (page does not exist)">Jayanth Vikash Saminathan</a> </td> <td>Tamil Nadu, India </td> <td><a href="https://phabricator.wikimedia.org/T359771" class="extiw" title="phab:T359771">Improve InlineComments extension</a> <ul><li><i>Project Timeline: 12 weeks</i></li></ul> </td> <td> <ul><li><a href="/wiki/User:Yaron_Koren" title="User:Yaron Koren">Yaron Koren</a></li> <li><a href="/wiki/User:Bawolff" title="User:Bawolff">Brian Wolff</a></li></ul> </td> <td> <ul><li><a href="https://phabricator.wikimedia.org/T359771#9892770" class="extiw" title="phab:T359771">Week 1</a></li> <li><a href="https://phabricator.wikimedia.org/T359771#9893192" class="extiw" title="phab:T359771">Week 2</a></li> <li><a href="https://phabricator.wikimedia.org/T359771#9914061" class="extiw" title="phab:T359771">Week 3</a></li> <li><a href="https://phabricator.wikimedia.org/T359771#9932101" class="extiw" title="phab:T359771">Week 4</a></li> <li><a href="https://phabricator.wikimedia.org/T359771#9944028" class="extiw" title="phab:T359771">Week 5</a></li> <li><a href="https://phabricator.wikimedia.org/T359771#9961656" class="extiw" title="phab:T359771">Week 6</a></li> <li><a href="https://phabricator.wikimedia.org/T359771#9989724" class="extiw" title="phab:T359771">Week 7</a></li> <li><a href="https://phabricator.wikimedia.org/T359771#10011951" class="extiw" title="phab:T359771">Week 8</a></li> <li><a href="https://phabricator.wikimedia.org/T359771#10038256" class="extiw" title="phab:T359771">Week 9</a></li> <li><a href="https://phabricator.wikimedia.org/T359771#10063968" class="extiw" title="phab:T359771">Week 10</a></li> <li><a href="https://phabricator.wikimedia.org/T359771#10065720" class="extiw" title="phab:T359771">Week 11</a></li></ul> </td> <td> <ul><li><a href="/wiki/User:JayanthVikash/GSoC/Reports/Introductory" title="User:JayanthVikash/GSoC/Reports/Introductory">Initial report</a></li> <li><a href="/wiki/User:JayanthVikash/GSoC/Reports/Midterm" title="User:JayanthVikash/GSoC/Reports/Midterm">Mid-term report</a></li> <li><a href="/wiki/User:JayanthVikash/GSoC/Reports/Final" title="User:JayanthVikash/GSoC/Reports/Final">Final report</a></li></ul> </td></tr> <tr> <td><a href="/wiki/User:GonFreeaks" title="User:GonFreeaks">Kabir Singh</a> </td> <td>Delhi, India </td> <td><a href="https://phabricator.wikimedia.org/T361550" class="extiw" title="phab:T361550">Lingua Libre SignIt extension</a> <ul><li><i>Project Timeline: 12 weeks</i></li></ul> </td> <td> <ul><li><a class="external text" href="https://phabricator.wikimedia.org/p/Tsiruot/">IshanSaini</a></li> <li><a class="external text" href="https://meta.wikimedia.org/wiki/User:Yug">Hugo Lopez</a></li></ul> </td> <td> <ul><li><a href="https://phabricator.wikimedia.org/T361550#9855434" class="extiw" title="phab:T361550">Week 1</a></li> <li><a href="https://phabricator.wikimedia.org/T361550#9873179" class="extiw" title="phab:T361550">Week 2</a></li> <li><a href="https://phabricator.wikimedia.org/T361550#9895915" class="extiw" title="phab:T361550">Week 3</a></li> <li><a href="https://phabricator.wikimedia.org/T361550#9925387" class="extiw" title="phab:T361550">Week 4</a></li> <li><a href="https://phabricator.wikimedia.org/T361550#9937516" class="extiw" title="phab:T361550">Week 5</a></li> <li><a href="https://phabricator.wikimedia.org/T361550#9962449" class="extiw" title="phab:T361550">Week 6</a></li> <li><a href="https://phabricator.wikimedia.org/T361550#10020986" class="extiw" title="phab:T361550">Final Update</a></li></ul> </td> <td> <ul><li><a rel="nofollow" class="external text" href="https://medium.com/@kabirsingh12b/navigating-my-first-month-in-the-gsoc-program-80da3a0888d6">Initial Report</a></li> <li><a rel="nofollow" class="external text" href="https://medium.com/@kabirsingh12b/reflections-on-my-second-month-as-gsoc-intern-3e9b596652bd">Midterm Report</a></li> <li><a rel="nofollow" class="external text" href="https://medium.com/@kabirsingh12b/gsoc-2024-summary-with-the-wikimedia-foundation-a0a32b66c797">Final Report</a></li></ul> </td></tr> <tr> <td><a rel="nofollow" class="external text" href="https://github.com/kanahia1">Kanahia Kaushal</a> </td> <td>Patna, Bihar, India </td> <td><a href="https://phabricator.wikimedia.org/T360265" class="extiw" title="phab:T360265">Commons app: Improve upload queue management</a> <ul><li><i>Project Timeline: 12 weeks</i></li></ul> </td> <td> <ul><li><a href="/wiki/User:Syced" title="User:Syced">Nicolas Raoul</a></li> <li><a href="/wiki/User:RitikaPahwa4444" title="User:RitikaPahwa4444">Ritika Pahwa</a></li></ul> </td> <td> <ul><li><a href="https://phabricator.wikimedia.org/T360265#9853382" class="extiw" title="phab:T360265">Week 1</a></li> <li><a href="https://phabricator.wikimedia.org/T360265#9874076" class="extiw" title="phab:T360265">Week 2</a></li> <li><a href="https://phabricator.wikimedia.org/T360265#9896685" class="extiw" title="phab:T360265">Week 3</a></li> <li><a href="https://phabricator.wikimedia.org/T360265#9916275" class="extiw" title="phab:T360265">Week 4</a></li> <li><a href="https://phabricator.wikimedia.org/T360265#9937891" class="extiw" title="phab:T360265">Week 5</a></li> <li><a href="https://phabricator.wikimedia.org/T360265#9980090" class="extiw" title="phab:T360265">Week 6 &amp; 7</a></li> <li><a href="https://phabricator.wikimedia.org/T360265#10000854" class="extiw" title="phab:T360265">Week 8</a></li> <li><a href="https://phabricator.wikimedia.org/T360265#10041127" class="extiw" title="phab:T360265">Week 9 &amp; 10</a></li> <li><a href="https://phabricator.wikimedia.org/T360265#10089757" class="extiw" title="phab:T360265">Final update</a></li></ul> </td> <td> <ul><li><a rel="nofollow" class="external text" href="https://medium.com/@kaushalkanahia/getting-into-gsoc-with-wikimedia-foundation-3dc06295b433">Initial Report</a></li> <li><a rel="nofollow" class="external text" href="https://medium.com/@kaushalkanahia/another-fantastic-month-as-a-gsoc-intern-with-the-wikimedia-foundation-10ba52059c16">Midterm Report</a></li> <li><a rel="nofollow" class="external text" href="https://medium.com/@kaushalkanahia/final-report-gsoc-with-the-wikimedia-foundation-summary-13b96b0f2699">Final Report</a></li></ul> </td></tr> <tr> <td><a href="/wiki/User:Mhmohona" title="User:Mhmohona">Mahfuza Humayra Mohona</a> </td> <td>Bangladesh </td> <td><a href="https://phabricator.wikimedia.org/T361464" class="extiw" title="phab:T361464">Scribe-Data: Refactor into a Multi-Purpose Wikidata Language Pack CLI Tool</a> <ul><li><i>Project Timeline: 12 weeks</i></li></ul> </td> <td> <ul><li><a href="/wiki/User:AndrewTavis" title="User:AndrewTavis">Andrew McAllister</a></li> <li>Henrik Thomasson</li> <li><a class="external text" href="https://www.mediawiki.org/w/index.php?title=User:Wkyoshida">Will Yoshida</a></li></ul> </td> <td> <ul><li><a href="https://phabricator.wikimedia.org/T361464#9853352" class="extiw" title="phab:T361464">Week 1</a></li> <li><a href="https://phabricator.wikimedia.org/T361464#9873557" class="extiw" title="phab:T361464">Week 2</a></li> <li><a href="https://phabricator.wikimedia.org/T361464#9897470" class="extiw" title="phab:T361464">Week 3</a></li> <li><a href="https://phabricator.wikimedia.org/T361464#9919033" class="extiw" title="phab:T361464">Week 4</a></li> <li><a href="https://phabricator.wikimedia.org/T361464#9949218" class="extiw" title="phab:T361464">Week 5</a></li> <li><a href="https://phabricator.wikimedia.org/T361464#9958691" class="extiw" title="phab:T361464">Week 6</a></li> <li><a href="https://phabricator.wikimedia.org/T361464#9980374" class="extiw" title="phab:T361464">Week 7</a></li> <li><a href="https://phabricator.wikimedia.org/T361464#10020789" class="extiw" title="phab:T361464">Week 8</a></li> <li><a href="https://phabricator.wikimedia.org/T361464#10021287" class="extiw" title="phab:T361464">Week 9</a></li> <li><a href="https://phabricator.wikimedia.org/T361464#10041108" class="extiw" title="phab:T361464">Week 10</a></li> <li><a href="https://phabricator.wikimedia.org/T361464#10083511" class="extiw" title="phab:T361464">Week 11</a></li> <li><a href="https://phabricator.wikimedia.org/T361464#10083512" class="extiw" title="phab:T361464">Week 12</a></li></ul> </td> <td> <ul><li><a rel="nofollow" class="external text" href="https://medium.com/@mhmohona/first-month-as-a-gsoc-intern-building-scribe-data-cli-d0c12c9e8371">Blog #1</a></li> <li><a rel="nofollow" class="external text" href="https://medium.com/@mhmohona/halfway-there-my-gsoc-adventure-with-scribe-data-cli-2ffe6d727ecb">Mid-term report</a></li> <li><a rel="nofollow" class="external text" href="https://medium.com/@mhmohona/the-final-stretch-gsoc-journey-with-scribe-data-1740084c958d">Final report</a></li></ul> </td></tr> <tr> <td><a href="/w/index.php?title=User:OmChauhanDev&amp;action=edit&amp;redlink=1" class="new" title="User:OmChauhanDev (page does not exist)">Om Chauhan</a> </td> <td>India </td> <td><a href="https://phabricator.wikimedia.org/T361442" class="extiw" title="phab:T361442">Improve the training module creation and update process [Programs &amp; Events Dashboard</a> <ul><li><i>Project Timeline: 12 weeks</i></li></ul> </td> <td> <ul><li><a class="external text" href="https://phabricator.wikimedia.org/p/dumbPotato/">Shashwat Khanna</a></li> <li><a href="/wiki/User:Ragesoss" title="User:Ragesoss">Sage Ross</a></li></ul> </td> <td> <ul><li><a href="https://phabricator.wikimedia.org/T361442#9873215" class="extiw" title="phab:T361442">Week 1</a></li> <li><a href="https://phabricator.wikimedia.org/T361442#9896163" class="extiw" title="phab:T361442">Week 2</a></li> <li><a href="https://phabricator.wikimedia.org/T361442#9922905" class="extiw" title="phab:T361442">Week 3</a></li> <li><a href="https://phabricator.wikimedia.org/T361442#9923047" class="extiw" title="phab:T361442">Week 4</a></li> <li><a href="https://phabricator.wikimedia.org/T361442#9959544" class="extiw" title="phab:T361442">Week 5</a></li> <li><a href="https://phabricator.wikimedia.org/T361442#9964572" class="extiw" title="phab:T361442">Week 6</a></li> <li><a href="https://phabricator.wikimedia.org/T361442#10034411" class="extiw" title="phab:T361442">Week7</a></li> <li><a href="https://phabricator.wikimedia.org/T361442#10034430" class="extiw" title="phab:T361442">Week 8</a></li> <li><a href="https://phabricator.wikimedia.org/T361442#10034434" class="extiw" title="phab:T361442">Week 9</a></li> <li><a href="https://phabricator.wikimedia.org/T361442#10066691" class="extiw" title="phab:T361442">Week 10</a></li></ul> </td> <td><a rel="nofollow" class="external text" href="https://docs.google.com/spreadsheets/d/1a_Ok3Ijz3eUDstKfSJm4pJ5fhVuJh0och4TSprU4d2c/edit?gid=891834841#gid=891834841">Final report</a> </td></tr> <tr> <td><a href="/wiki/User:PR4NJ41" title="User:PR4NJ41">Pranjal Rajput</a> </td> <td>India </td> <td><a href="https://phabricator.wikimedia.org/T361269" class="extiw" title="phab:T361269">Programs &amp; Events Dashboard Improve system for copying courses from one Dashboard to another</a> <ul><li><i>Project Timeline: 12 weeks</i></li></ul> </td> <td> <ul><li><a class="external text" href="https://phabricator.wikimedia.org/p/dumbPotato/">Shashwat Khanna</a></li> <li><a href="/wiki/User:Ragesoss" title="User:Ragesoss">Sage Ross</a></li></ul> </td> <td> <ul><li><a href="https://phabricator.wikimedia.org/T361269#9886191" class="extiw" title="phab:T361269">Week 1</a></li> <li><a href="https://phabricator.wikimedia.org/T361269#9913953" class="extiw" title="phab:T361269">Week 2</a></li> <li><a href="https://phabricator.wikimedia.org/T361269#9955021" class="extiw" title="phab:T361269">Week 3</a></li> <li><a href="https://phabricator.wikimedia.org/T361269#9955118" class="extiw" title="phab:T361269">Week 4</a></li> <li><a href="https://phabricator.wikimedia.org/T361269#9960574" class="extiw" title="phab:T361269">Week 5</a></li> <li><a href="https://phabricator.wikimedia.org/T361269#9960999" class="extiw" title="phab:T361269">Week 6</a></li> <li><a href="https://phabricator.wikimedia.org/T361269#10084068" class="extiw" title="phab:T361269">Week 7</a></li> <li><a href="https://phabricator.wikimedia.org/T361269#10084092" class="extiw" title="phab:T361269">Week 8</a></li> <li><a href="https://phabricator.wikimedia.org/T361269#10084138" class="extiw" title="phab:T361269">Week 9</a></li> <li><a href="https://phabricator.wikimedia.org/T361269#10084154" class="extiw" title="phab:T361269">Week 10</a></li> <li><a href="https://phabricator.wikimedia.org/T361269#10084169" class="extiw" title="phab:T361269">Week 11</a></li> <li><a href="https://phabricator.wikimedia.org/T361269#10084179" class="extiw" title="phab:T361269">Week 12</a></li></ul> </td> <td> <ul><li><a rel="nofollow" class="external text" href="https://gist.github.com/PR4NJ41/4c49463048eca4dcdf5373da7d588f6c">Final Report</a></li></ul> </td></tr> <tr> <td><a href="/w/index.php?title=User:Pushkar7077&amp;action=edit&amp;redlink=1" class="new" title="User:Pushkar7077 (page does not exist)">Pushkar Bansal</a> </td> <td>India </td> <td><a href="https://phabricator.wikimedia.org/T361440" class="extiw" title="phab:T361440">Lingua Libre v3.0 enhancement and migration</a> <ul><li><i>Project Timeline: 12 weeks</i></li></ul> </td> <td> <ul><li><a class="external text" href="https://meta.wikimedia.org/wiki/User:Yug">Hugo Lopez</a></li> <li><a class="external text" href="https://meta.wikimedia.org/wiki/User:Poslovitch">Florian Cuny</a></li></ul> </td> <td> <ul><li><a href="https://phabricator.wikimedia.org/T361440" class="extiw" title="phab:T361440">Week 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12</a> <small>(see bottom of task description)</small></li></ul> </td> <td> <ul><li><a rel="nofollow" class="external text" href="https://medium.com/@bansalpushkar99/halfway-through-the-gsoc-journey-with-lingualibre-9b77fb9b4d07">Mid-term report</a></li> <li><a rel="nofollow" class="external text" href="https://medium.com/@bansalpushkar99/navigating-through-the-gsoc-journey-c6917cb7eada">Final report</a></li></ul> </td></tr></tbody></table> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Ideas_for_projects" data-mw-thread-id="h-Ideas_for_projects"><span data-mw-comment-start="" id="h-Ideas_for_projects"></span>Ideas for projects<span data-mw-comment-end="h-Ideas_for_projects"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Google_Summer_of_Code/2024&amp;action=edit&amp;section=4" title="Edit section: Ideas for projects"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Ideas_for_projects","replies":["h-1._Commons_app:_Improve_upload_queue_management-Ideas_for_projects","h-2._[Programs_&amp;_Events_Dashboard]_Improve_the_training_module_creation_and_update-Ideas_for_projects","h-3._Improve_InlineComments_extension-Ideas_for_projects","h-4._[Programs_&amp;_Events_Dashboard]_Improve_system_for_copying_courses_from_one_Das-Ideas_for_projects","h-5._Improve_searchability_and_filtering_of_PageTriage_feed-Ideas_for_projects","h-6._Scribe-Data:_Refactor_into_a_multi_purpose_Wikidata_language_pack_CLI_tool-Ideas_for_projects","h-7._Scribe-iOS:_Add_multilingual_translation_and_internationalized_interfaces-Ideas_for_projects","h-8._Lingua_Libre_SignIt-Ideas_for_projects","h-9._Lingua_Libre_Django_migration-Ideas_for_projects"]}}--></div> <p>Watch this space for project ideas! We will keep adding ideas below between now and when the application period opens. </p> <div class="mw-heading mw-heading3"><h3 id="1._Commons_app:_Improve_upload_queue_management" data-mw-thread-id="h-1._Commons_app:_Improve_upload_queue_management-Ideas_for_projects"><span data-mw-comment-start="" id="h-1._Commons_app:_Improve_upload_queue_management-Ideas_for_projects"></span>1. Commons app: Improve upload queue management<span data-mw-comment-end="h-1._Commons_app:_Improve_upload_queue_management-Ideas_for_projects"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Google_Summer_of_Code/2024&amp;action=edit&amp;section=5" title="Edit section: 1. Commons app: Improve upload queue management"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The <a rel="nofollow" class="external text" href="https://play.google.com/store/apps/details?id=fr.free.nrw.commons">Commons app</a> is an open source Android app that allows anyone to upload pictures to Wikimedia Commons (the image repository used by Wikipedia, Wikinews and other projects). The goal of this GSoC is to improve upload queue management, and modernize the app: </p> <ol><li>Improve upload queue management</li> <li>Modernize the app by replacing Kotlin Android Extensions and Butterknife with ViewBinding: <a rel="nofollow" class="external free" href="https://github.com/commons-app/apps-android-commons/issues/4664">https://github.com/commons-app/apps-android-commons/issues/4664</a></li> <li>Improve the "Nearby" feature.</li></ol> <ul><li><b>Tech stack</b>: Java or Kotlin, Android Development</li> <li><b>Size</b>: 350 Hours</li> <li><b>Difficulty</b>: Intermediate</li> <li><b>Mentor(s)</b>: <a href="/wiki/User:Syced" title="User:Syced">Nicolas Raoul</a>, <a href="/wiki/User:RitikaPahwa4444" title="User:RitikaPahwa4444">Ritika Pahwa</a></li> <li><b>Phabricator task</b>: <a href="https://phabricator.wikimedia.org/T356237" class="extiw" title="phab:T356237">T356237</a></li></ul> <div class="mw-heading mw-heading3"><h3 id="2._[Programs_&amp;_Events_Dashboard]_Improve_the_training_module_creation_and_update_process" data-mw-thread-id="h-2._[Programs_&amp;_Events_Dashboard]_Improve_the_training_module_creation_and_update-Ideas_for_projects"><span id="2._.5BPrograms_.26_Events_Dashboard.5D_Improve_the_training_module_creation_and_update_process"></span><span data-mw-comment-start="" id="h-2._[Programs_&amp;_Events_Dashboard]_Improve_the_training_module_creation_and_update-Ideas_for_projects"></span>2. [Programs &amp; Events Dashboard] Improve the training module creation and update process<span data-mw-comment-end="h-2._[Programs_&amp;_Events_Dashboard]_Improve_the_training_module_creation_and_update-Ideas_for_projects"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Google_Summer_of_Code/2024&amp;action=edit&amp;section=6" title="Edit section: 2. [Programs &amp; Events Dashboard] Improve the training module creation and update process"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The training modules on Programs &amp; Events Dashboard - <a rel="nofollow" class="external free" href="https://outreachdashboard.wmflabs.org/training">https://outreachdashboard.wmflabs.org/training</a> - can be created, edited and translated by users. Each piece of training content is based on a corresponding page on meta.wikimedia.org. </p><p>However, creating new modules is tedious, involving the creation of .json pages to define a new Library or Module, and a set of required formatting conventions for individual training slides. It would be nice to switch to a simpler and more user-friendly way of creating and editing training content, perhaps by removing the need for .json pages and allows the configuration of Libraries and Modules to be done from the Dashboard itself. </p> <ul><li><b>Tech stack</b>: Ruby (required), JavaScript and React (helpful)</li> <li><b>Size</b>: Large (350 hours)</li> <li><b>Difficulty</b>: Hard (<i>This project involves one of the more complex subsystems of the Dashboard, in which the Dashboard database gets data drawn from a set of structured wiki pages (currently), and some of that system will need to be rewritten to be updated via a UI within the Dashboard</i>.)</li> <li><b>Mentor(s)</b>: <a href="/wiki/User:Ragesoss" title="User:Ragesoss">Sage Ross</a></li> <li><b>Phabricator task</b>: <a href="https://phabricator.wikimedia.org/T356572" class="extiw" title="phab:T356572">T356572</a></li></ul> <div class="mw-heading mw-heading3"><h3 id="3._Improve_InlineComments_extension" data-mw-thread-id="h-3._Improve_InlineComments_extension-Ideas_for_projects"><span data-mw-comment-start="" id="h-3._Improve_InlineComments_extension-Ideas_for_projects"></span>3. Improve InlineComments extension<span data-mw-comment-end="h-3._Improve_InlineComments_extension-Ideas_for_projects"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Google_Summer_of_Code/2024&amp;action=edit&amp;section=7" title="Edit section: 3. Improve InlineComments extension"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r6651107">.mw-parser-output .note{background-position:left 7px top 50%;padding:0.5em 0.5em 0.5em 40px;margin:0.5em 0;overflow:hidden;background-color:#f8f9fa;color:#333;background-repeat:no-repeat;border:1px solid #ddd}.mw-parser-output .note-inline{display:inline-block;vertical-align:middle}.mw-parser-output .note-info{background-color:#eaf3ff;color:#333;background-image:url("https://upload.wikimedia.org/wikipedia/commons/e/ec/OOjs_UI_icon_information-progressive.svg");background-size:25px;border-color:#a3caff;padding-left:40px;min-height:25px}.mw-parser-output .note-reminder{background-color:#fff9ea;color:#333;background-image:url("https://upload.wikimedia.org/wikipedia/commons/a/a8/OOjs_UI_icon_lightbulb-yellow.svg");background-size:25px;border-color:#fc3;min-height:25px}.mw-parser-output .note-warn{background-color:#fff9ea;color:#333;background-image:url("https://upload.wikimedia.org/wikipedia/commons/3/3b/OOjs_UI_icon_alert-warning.svg");background-size:25px;border-color:#fc3;min-height:25px}.mw-parser-output .note-error{background-color:#fee7e6;color:#333;background-image:url("https://upload.wikimedia.org/wikipedia/commons/b/bf/OOjs_UI_icon_notice-destructive.svg");background-size:25px;border-color:#c33;min-height:25px}@media screen{html.skin-theme-clientpref-night .mw-parser-output .note{background-color:transparent;color:inherit}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .note{background-color:transparent;color:inherit}}</style><div role="note" class="note note-info">This project idea has quite a few strong proposals from folks so you may want to look at another project idea.</div> <p><a href="/wiki/Extension:InlineComments" title="Extension:InlineComments">InlineComments</a> is a relatively new MediaWiki extension that provides a long-missing feature for MediaWiki: the ability to do inline annotation on pages, in the manner of Google Docs, Confluence and other content-management systems. This extension already works fairly well, but it could use some improvements that would take it to the next level: </p> <ul><li>Add user mentions, i.e. selecting a user or users to "ping" about the current discussion by typing "@" and then selecting a username from the dropdown (<a href="https://phabricator.wikimedia.org/T355942" class="extiw" title="phab:T355942">phab:T355942</a>)</li> <li>Make sidebar creation more skin-neutral - currently, the "sidebar" in which comments are displayed is created on somewhat of a skin-by-skin basis; it would be good to have the code handle all skins in a standard way, via CSS and/or JavaScript (<a href="https://phabricator.wikimedia.org/T355948" class="extiw" title="phab:T355948">phab:T355948</a>)</li> <li>Add correct display of username and date/time of posting, on comment creation - currently, these are only displayed correctly for comments created before the page was loaded (<a href="https://phabricator.wikimedia.org/T355943" class="extiw" title="phab:T355943">phab:T355943</a>)</li></ul> <p>There are other improvements that could be made to the extension, although mostly they are smaller; one is even listed as a microtask. However, it is possible that more potential improvements could be suggested during the project, by either the mentors or the student. </p> <ul><li><b>Tech stack</b>: JavaScript (ideally including jQuery), PHP, CSS</li> <li><b>Size</b>: 175 hours</li> <li><b>Difficulty</b>: Intermediate</li> <li><b>Mentor(s)</b>: <a href="/wiki/User:Yaron_Koren" title="User:Yaron Koren">Yaron Koren</a>, <a href="/wiki/User:Bawolff" title="User:Bawolff">Brian Wolff</a></li> <li><b>Phabricator task</b>: <a href="https://phabricator.wikimedia.org/T356436" class="extiw" title="phab:T356436">T356436</a></li></ul> <div class="mw-heading mw-heading3"><h3 id="4._[Programs_&amp;_Events_Dashboard]_Improve_system_for_copying_courses_from_one_Dashboard_to_another" data-mw-thread-id="h-4._[Programs_&amp;_Events_Dashboard]_Improve_system_for_copying_courses_from_one_Das-Ideas_for_projects"><span id="4._.5BPrograms_.26_Events_Dashboard.5D_Improve_system_for_copying_courses_from_one_Dashboard_to_another"></span><span data-mw-comment-start="" id="h-4._[Programs_&amp;_Events_Dashboard]_Improve_system_for_copying_courses_from_one_Das-Ideas_for_projects"></span>4. [Programs &amp; Events Dashboard] Improve system for copying courses from one Dashboard to another<span data-mw-comment-end="h-4._[Programs_&amp;_Events_Dashboard]_Improve_system_for_copying_courses_from_one_Das-Ideas_for_projects"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Google_Summer_of_Code/2024&amp;action=edit&amp;section=8" title="Edit section: 4. [Programs &amp; Events Dashboard] Improve system for copying courses from one Dashboard to another"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>There are two production instances of the WikiEduDashboard software: Programs &amp; Events Dashboard (<a rel="nofollow" class="external free" href="https://outreachdashboard.wmflabs.org/">https://outreachdashboard.wmflabs.org/</a>) and Wiki Education Dashboard (<a rel="nofollow" class="external free" href="https://dashboard.wikiedu.org/">https://dashboard.wikiedu.org/</a>). The system includes a tool to copy a course page from one Dashboard to the other, but the copied content is incomplete. If a course with Timeline content is copied, the Timeline content is not included, making it difficult to re-use assignment plans from Wiki Education Dashboard on Programs &amp; Events Dashboard. In this project, you will improve the course copying feature so that useful Timelines and other content can more easily be transferred across servers. </p> <ul><li><b>Tech stack</b>: JavaScript &amp; React, Ruby</li> <li><b>Size</b>: 350 hours</li> <li><b>Difficulty</b>: Intermediate (<i>This is a moderately complex feature with frontend and backend components, but it touches a limited and well-defined portion of the codebase with code that is all in our control.</i>)</li> <li><b>Mentor(s)</b>: <a href="/wiki/User:Ragesoss" title="User:Ragesoss">Sage Ross</a></li> <li><b>Phabricator task</b>: <a href="https://phabricator.wikimedia.org/T356573" class="extiw" title="phab:T356573">T356573</a></li></ul> <div class="mw-heading mw-heading3"><h3 id="5._Improve_searchability_and_filtering_of_PageTriage_feed" data-mw-thread-id="h-5._Improve_searchability_and_filtering_of_PageTriage_feed-Ideas_for_projects"><span data-mw-comment-start="" id="h-5._Improve_searchability_and_filtering_of_PageTriage_feed-Ideas_for_projects"></span>5. Improve searchability and filtering of PageTriage feed<span data-mw-comment-end="h-5._Improve_searchability_and_filtering_of_PageTriage_feed-Ideas_for_projects"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Google_Summer_of_Code/2024&amp;action=edit&amp;section=9" title="Edit section: 5. Improve searchability and filtering of PageTriage feed"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><a class="external text" href="https://phabricator.wikimedia.org/tag/pagetriage/">PageTriage</a> is an <a href="/wiki/MediaWiki" title="MediaWiki">MediaWiki</a> <a href="/wiki/Manual:Extensions" title="Manual:Extensions">extension</a> that allows <a class="external text" href="https://en.wikipedia.org/wiki/WP:NPP">patrollers</a> on the English Wikipedia to track, categorize and deal with problematic new pages. One of it's features is the VueJS based New pages feed which allows patrollers to filter specific interesting pages they might want to patrol based on certain criteria. However, these filters are often limited and there has been some interest amongst the community to introduce newer filters and in general improve the ability to search for specific content on the New pages feed. </p><p>As part of this project, we would like to enhance the filtering and searching capabilities of the New pages feed. Particularly, we would like to add AI based topic prediction (leveraging the ORES API), the ability to search for a specific keyword in a article, filter by how many pageviews a article gets and be able to search by how similar a particular page is to other deleted pages. While other ideas are also welcomed, they might need to be reviewed by community members before being implemented. </p> <ul><li><b>Tech stack</b>: VueJS, some familiarity with PHP</li> <li><b>Size</b>: 350 hours</li> <li><b>Difficulty</b>: Intermediate</li> <li><b>Mentor(s)</b>: <a href="/wiki/User:Sohom_Datta" title="User:Sohom Datta">Sohom Datta</a>, Sammy</li> <li><b>Phabricator task</b>: <a href="https://phabricator.wikimedia.org/T357337" class="extiw" title="phab:T357337">T357337</a></li></ul> <div class="mw-heading mw-heading3"><h3 id="6._Scribe-Data:_Refactor_into_a_multi_purpose_Wikidata_language_pack_CLI_tool" data-mw-thread-id="h-6._Scribe-Data:_Refactor_into_a_multi_purpose_Wikidata_language_pack_CLI_tool-Ideas_for_projects"><span data-mw-comment-start="" id="h-6._Scribe-Data:_Refactor_into_a_multi_purpose_Wikidata_language_pack_CLI_tool-Ideas_for_projects"></span>6. Scribe-Data: Refactor into a multi purpose Wikidata language pack CLI tool<span data-mw-comment-end="h-6._Scribe-Data:_Refactor_into_a_multi_purpose_Wikidata_language_pack_CLI_tool-Ideas_for_projects"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Google_Summer_of_Code/2024&amp;action=edit&amp;section=10" title="Edit section: 6. Scribe-Data: Refactor into a multi purpose Wikidata language pack CLI tool"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>This is one of two projects for <a rel="nofollow" class="external text" href="https://summerofcode.withgoogle.com/">Google Summer of Code 2024</a> for the <a rel="nofollow" class="external text" href="https://github.com/scribe-org/Scribe-iOS">Scribe</a> organization that makes keyboard applications for second language learners using Wikidata and other Wikimedia projects as a basis for the data. The goal of Scribe is to provide everything that a user needs to help them with their second language in any app without them needing to leave their keyboard to look up grammar or other needed information. One focuses on <a rel="nofollow" class="external text" href="https://github.com/scribe-org/Scribe-iOS">Scribe-iOS</a> (<a href="https://phabricator.wikimedia.org/T358063" class="extiw" title="phab:T358063">phab:T358063</a>), and the other on <a rel="nofollow" class="external text" href="https://github.com/scribe-org/Scribe-Data">Scribe-Data</a> (<a href="https://phabricator.wikimedia.org/T358064" class="extiw" title="phab:T358064">phab:T358064</a>). </p><p>We are a <a href="/wiki/New_Developers" title="New Developers">Wikimedia Project for New Developers</a> and would love to work with you! </p> <ul><li><b>Tech stack</b>: Python, SPARQL query language, maybe Docker</li> <li>Prerequisites: prior experience with Python and data analytics is a plus</li> <li><b>Size</b>: 350 hours</li> <li><b>Difficulty</b>: Intermediate</li> <li><b>Mentor(s)</b>: Will Yoshida (Primary), Andrew McAllister (Secondary), Henrik Thomasson (Tertiary)</li> <li><b>Phabricator task</b>: <a href="https://phabricator.wikimedia.org/T358064" class="extiw" title="phab:T358064">T358064</a></li></ul> <div class="mw-heading mw-heading3"><h3 id="7._Scribe-iOS:_Add_multilingual_translation_and_internationalized_interfaces" data-mw-thread-id="h-7._Scribe-iOS:_Add_multilingual_translation_and_internationalized_interfaces-Ideas_for_projects"><span data-mw-comment-start="" id="h-7._Scribe-iOS:_Add_multilingual_translation_and_internationalized_interfaces-Ideas_for_projects"></span>7. Scribe-iOS: Add multilingual translation and internationalized interfaces<span data-mw-comment-end="h-7._Scribe-iOS:_Add_multilingual_translation_and_internationalized_interfaces-Ideas_for_projects"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Google_Summer_of_Code/2024&amp;action=edit&amp;section=11" title="Edit section: 7. Scribe-iOS: Add multilingual translation and internationalized interfaces"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>This is one of two projects for <a rel="nofollow" class="external text" href="https://summerofcode.withgoogle.com/">Google Summer of Code 2024</a> for the <a rel="nofollow" class="external text" href="https://github.com/scribe-org/Scribe-iOS">Scribe</a> organization that makes keyboard applications for second language learners using Wikidata and other Wikimedia projects as a basis for the data. The goal of Scribe is to provide everything that a user needs to help them with their second language in any app without them needing to leave their keyboard to look up grammar or other needed information. One focuses on <a rel="nofollow" class="external text" href="https://github.com/scribe-org/Scribe-iOS">Scribe-iOS</a> (<a href="https://phabricator.wikimedia.org/T358063" class="extiw" title="phab:T358063">phab:T358063</a>), and the other on <a rel="nofollow" class="external text" href="https://github.com/scribe-org/Scribe-Data">Scribe-Data</a> (<a href="https://phabricator.wikimedia.org/T358064" class="extiw" title="phab:T358064">phab:T358064</a>). </p><p>We are a <a href="/wiki/New_Developers" title="New Developers">Wikimedia Project for New Developers</a> and would love to work with you! </p> <ul><li><b>Tech stack</b>: <a rel="nofollow" class="external text" href="https://developer.apple.com/swift/">Swift</a>, maybe Python, maybe SPARQL query language</li> <li>Prerequisites: the intern needs to develop on Mac as they need access to <a rel="nofollow" class="external text" href="https://developer.apple.com/xcode/">Xcode</a>, prior <a rel="nofollow" class="external text" href="https://developer.apple.com/swift/">Swift</a> experience is a plus</li> <li><b>Size</b>: 350 hours</li> <li><b>Difficulty</b>: Intermediate</li> <li><b>Mentor(s)</b>: Andrew McAllister (Primary), Henrik Thomasson (Secondary), Will Yoshida (Tertiary)</li> <li><b>Phabricator task</b>: <a href="https://phabricator.wikimedia.org/T358063" class="extiw" title="phab:T358063">T358063</a></li></ul> <div class="mw-heading mw-heading3"><h3 id="8._Lingua_Libre_SignIt" data-mw-thread-id="h-8._Lingua_Libre_SignIt-Ideas_for_projects"><span data-mw-comment-start="" id="h-8._Lingua_Libre_SignIt-Ideas_for_projects"></span>8. Lingua Libre SignIt<span data-mw-comment-end="h-8._Lingua_Libre_SignIt-Ideas_for_projects"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Google_Summer_of_Code/2024&amp;action=edit&amp;section=12" title="Edit section: 8. Lingua Libre SignIt"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure typeof="mw:File/Thumb"><a href="/wiki/File:LinguaLibre_SignIt-all.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/3/3f/LinguaLibre_SignIt-all.png/400px-LinguaLibre_SignIt-all.png" decoding="async" width="400" height="158" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/3/3f/LinguaLibre_SignIt-all.png/600px-LinguaLibre_SignIt-all.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/3/3f/LinguaLibre_SignIt-all.png/800px-LinguaLibre_SignIt-all.png 2x" data-file-width="1685" data-file-height="665"/></a><figcaption>Screenshot.</figcaption></figure> <p>Lingua Libre's mission has been extended to <a href="https://en.wikipedia.org/wiki/Sign_Languages" class="extiw" title="en:Sign Languages">Sign Languages</a> in 2019. Both a click-and-translate Firefox extension and a video recording studio have been developed. Both system UI exist in 35+ languages allowing the global documentation and learning of various sign languages. As Manisfest v2.0 extensions are being phased out, the project is under threat. A full revamp into manifest v3.0 and a modern extension structure would allow the project to be compatible with all web navigators. This project must navigate updated in browser web extension security constrains and new web extension API. </p> <ul><li><b>Tech stack</b>: JS, NodeJS, potentially modern frameworks (Vue, React, Svelte)</li> <li><b>Size</b>: 175 hours</li> <li><b>Difficulty</b>: Intermediate</li> <li><b>Mentor(s)</b>: <a href="https://meta.wikimedia.org/wiki/User:Yug" class="extiw" title="meta:User:Yug">Yug</a>, Ishan Saini</li> <li><b>Intern:</b> Kabir Singh <a href="https://phabricator.wikimedia.org/T361550" class="extiw" title="phab:T361550">T361550</a></li> <li><b>Phabricator task</b>: <a href="https://phabricator.wikimedia.org/T359799" class="extiw" title="phab:T359799">T359799</a></li> <li><b>Relevant links:</b> <a rel="nofollow" class="external text" href="https://github.com/lingua-libre/Signit">Repository</a>, <a rel="nofollow" class="external text" href="https://github.com/lingua-libre/Signit/Issues">Issues</a>, <a href="https://meta.wikimedia.org/wiki/Lingua_Libre/SignIt" class="extiw" title="meta:Lingua Libre/SignIt">Lingua Libre SignIt</a>, <a rel="nofollow" class="external text" href="https://addons.mozilla.org/fr/firefox/addon/lingua-libre-signit/Lingua">Firefox extension</a></li></ul> <p><br clear="all"/> </p> <center> <ul class="gallery mw-gallery-traditional"> <li class="gallerybox" style="width: 155px"> <div class="thumb" style="width: 150px; height: 150px;"><span typeof="mw:File"><a href="/wiki/File:Lingua_Libre_pronunciation-fsl_and_bug_T312554-fixed-extension.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/8/82/Lingua_Libre_pronunciation-fsl_and_bug_T312554-fixed-extension.png/120px-Lingua_Libre_pronunciation-fsl_and_bug_T312554-fixed-extension.png" decoding="async" width="120" height="77" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/82/Lingua_Libre_pronunciation-fsl_and_bug_T312554-fixed-extension.png/180px-Lingua_Libre_pronunciation-fsl_and_bug_T312554-fixed-extension.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/82/Lingua_Libre_pronunciation-fsl_and_bug_T312554-fixed-extension.png/240px-Lingua_Libre_pronunciation-fsl_and_bug_T312554-fixed-extension.png 2x" data-file-width="1073" data-file-height="690"/></a></span></div> <div class="gallerytext"></div> </li> <li class="gallerybox" style="width: 155px"> <div class="thumb" style="width: 150px; height: 150px;"><span typeof="mw:File"><span><video id="mwe_player_0" poster="//upload.wikimedia.org/wikipedia/commons/thumb/c/c5/LL-Q33302_%28fsl%29-Hugo_en_r%C3%A9sidence-biblioth%C3%A8que.webm/120px--LL-Q33302_%28fsl%29-Hugo_en_r%C3%A9sidence-biblioth%C3%A8que.webm.jpg" controls="" preload="none" data-mw-tmh="" class="mw-file-element" width="120" height="90" data-durationhint="4" data-mwtitle="LL-Q33302_(fsl)-Hugo_en_résidence-bibliothèque.webm" data-mwprovider="wikimediacommons"><source src="//upload.wikimedia.org/wikipedia/commons/transcoded/c/c5/LL-Q33302_%28fsl%29-Hugo_en_r%C3%A9sidence-biblioth%C3%A8que.webm/LL-Q33302_%28fsl%29-Hugo_en_r%C3%A9sidence-biblioth%C3%A8que.webm.480p.vp9.webm" type="video/webm; codecs=&quot;vp9, opus&quot;" data-transcodekey="480p.vp9.webm" data-width="640" data-height="480"/><source src="//upload.wikimedia.org/wikipedia/commons/c/c5/LL-Q33302_%28fsl%29-Hugo_en_r%C3%A9sidence-biblioth%C3%A8que.webm" type="video/webm; codecs=&quot;vp8, opus&quot;" data-width="640" data-height="480"/><source src="//upload.wikimedia.org/wikipedia/commons/transcoded/c/c5/LL-Q33302_%28fsl%29-Hugo_en_r%C3%A9sidence-biblioth%C3%A8que.webm/LL-Q33302_%28fsl%29-Hugo_en_r%C3%A9sidence-biblioth%C3%A8que.webm.144p.mjpeg.mov" type="video/quicktime" data-transcodekey="144p.mjpeg.mov" data-width="192" data-height="144"/><source src="//upload.wikimedia.org/wikipedia/commons/transcoded/c/c5/LL-Q33302_%28fsl%29-Hugo_en_r%C3%A9sidence-biblioth%C3%A8que.webm/LL-Q33302_%28fsl%29-Hugo_en_r%C3%A9sidence-biblioth%C3%A8que.webm.240p.vp9.webm" type="video/webm; codecs=&quot;vp9, opus&quot;" data-transcodekey="240p.vp9.webm" data-width="320" data-height="240"/><source src="//upload.wikimedia.org/wikipedia/commons/transcoded/c/c5/LL-Q33302_%28fsl%29-Hugo_en_r%C3%A9sidence-biblioth%C3%A8que.webm/LL-Q33302_%28fsl%29-Hugo_en_r%C3%A9sidence-biblioth%C3%A8que.webm.360p.vp9.webm" type="video/webm; codecs=&quot;vp9, opus&quot;" data-transcodekey="360p.vp9.webm" data-width="480" data-height="360"/><source src="//upload.wikimedia.org/wikipedia/commons/transcoded/c/c5/LL-Q33302_%28fsl%29-Hugo_en_r%C3%A9sidence-biblioth%C3%A8que.webm/LL-Q33302_%28fsl%29-Hugo_en_r%C3%A9sidence-biblioth%C3%A8que.webm.360p.webm" type="video/webm; codecs=&quot;vp8, vorbis&quot;" data-transcodekey="360p.webm" data-width="480" data-height="360"/></video></span></span></div> <div class="gallerytext">« bibliothèque »</div> </li> <li class="gallerybox" style="width: 155px"> <div class="thumb" style="width: 150px; height: 150px;"><span typeof="mw:File"><span><video id="mwe_player_1" poster="//upload.wikimedia.org/wikipedia/commons/thumb/7/7c/LL-Q33302_%28fsl%29-Taliba31-merci.webm/120px--LL-Q33302_%28fsl%29-Taliba31-merci.webm.jpg" controls="" preload="none" data-mw-tmh="" class="mw-file-element" width="120" height="90" data-durationhint="4" data-mwtitle="LL-Q33302_(fsl)-Taliba31-merci.webm" data-mwprovider="wikimediacommons"><source src="//upload.wikimedia.org/wikipedia/commons/transcoded/7/7c/LL-Q33302_%28fsl%29-Taliba31-merci.webm/LL-Q33302_%28fsl%29-Taliba31-merci.webm.480p.vp9.webm" type="video/webm; codecs=&quot;vp9, opus&quot;" data-transcodekey="480p.vp9.webm" data-width="640" data-height="480"/><source src="//upload.wikimedia.org/wikipedia/commons/7/7c/LL-Q33302_%28fsl%29-Taliba31-merci.webm" type="video/webm; codecs=&quot;vp8, opus&quot;" data-width="640" data-height="480"/><source src="//upload.wikimedia.org/wikipedia/commons/transcoded/7/7c/LL-Q33302_%28fsl%29-Taliba31-merci.webm/LL-Q33302_%28fsl%29-Taliba31-merci.webm.144p.mjpeg.mov" type="video/quicktime" data-transcodekey="144p.mjpeg.mov" data-width="192" data-height="144"/><source src="//upload.wikimedia.org/wikipedia/commons/transcoded/7/7c/LL-Q33302_%28fsl%29-Taliba31-merci.webm/LL-Q33302_%28fsl%29-Taliba31-merci.webm.240p.vp9.webm" type="video/webm; codecs=&quot;vp9, opus&quot;" data-transcodekey="240p.vp9.webm" data-width="320" data-height="240"/><source src="//upload.wikimedia.org/wikipedia/commons/transcoded/7/7c/LL-Q33302_%28fsl%29-Taliba31-merci.webm/LL-Q33302_%28fsl%29-Taliba31-merci.webm.360p.vp9.webm" type="video/webm; codecs=&quot;vp9, opus&quot;" data-transcodekey="360p.vp9.webm" data-width="480" data-height="360"/><source src="//upload.wikimedia.org/wikipedia/commons/transcoded/7/7c/LL-Q33302_%28fsl%29-Taliba31-merci.webm/LL-Q33302_%28fsl%29-Taliba31-merci.webm.360p.webm" type="video/webm; codecs=&quot;vp8, vorbis&quot;" data-transcodekey="360p.webm" data-width="480" data-height="360"/></video></span></span></div> <div class="gallerytext">« merci »</div> </li> <li class="gallerybox" style="width: 155px"> <div class="thumb" style="width: 150px; height: 150px;"><span typeof="mw:File"><span><video id="mwe_player_2" poster="//upload.wikimedia.org/wikipedia/commons/thumb/e/e7/LL-Q33302_%28fsl%29-Yug-MRV%2C_couloir-cam_720px-light_no_spots_%2B_sunny.webm/120px--LL-Q33302_%28fsl%29-Yug-MRV%2C_couloir-cam_720px-light_no_spots_%2B_sunny.webm.jpg" controls="" preload="none" data-mw-tmh="" class="mw-file-element" width="120" height="90" data-durationhint="3" data-mwtitle="LL-Q33302_(fsl)-Yug-MRV,_couloir-cam_720px-light_no_spots_+_sunny.webm" data-mwprovider="wikimediacommons"><source src="//upload.wikimedia.org/wikipedia/commons/transcoded/e/e7/LL-Q33302_%28fsl%29-Yug-MRV%2C_couloir-cam_720px-light_no_spots_%2B_sunny.webm/LL-Q33302_%28fsl%29-Yug-MRV%2C_couloir-cam_720px-light_no_spots_%2B_sunny.webm.480p.vp9.webm" type="video/webm; codecs=&quot;vp9, opus&quot;" data-transcodekey="480p.vp9.webm" data-width="640" data-height="480"/><source src="//upload.wikimedia.org/wikipedia/commons/e/e7/LL-Q33302_%28fsl%29-Yug-MRV%2C_couloir-cam_720px-light_no_spots_%2B_sunny.webm" type="video/webm; codecs=&quot;vp8, opus&quot;" data-width="640" data-height="480"/><source src="//upload.wikimedia.org/wikipedia/commons/transcoded/e/e7/LL-Q33302_%28fsl%29-Yug-MRV%2C_couloir-cam_720px-light_no_spots_%2B_sunny.webm/LL-Q33302_%28fsl%29-Yug-MRV%2C_couloir-cam_720px-light_no_spots_%2B_sunny.webm.144p.mjpeg.mov" type="video/quicktime" data-transcodekey="144p.mjpeg.mov" data-width="192" data-height="144"/><source src="//upload.wikimedia.org/wikipedia/commons/transcoded/e/e7/LL-Q33302_%28fsl%29-Yug-MRV%2C_couloir-cam_720px-light_no_spots_%2B_sunny.webm/LL-Q33302_%28fsl%29-Yug-MRV%2C_couloir-cam_720px-light_no_spots_%2B_sunny.webm.240p.vp9.webm" type="video/webm; codecs=&quot;vp9, opus&quot;" data-transcodekey="240p.vp9.webm" data-width="320" data-height="240"/><source src="//upload.wikimedia.org/wikipedia/commons/transcoded/e/e7/LL-Q33302_%28fsl%29-Yug-MRV%2C_couloir-cam_720px-light_no_spots_%2B_sunny.webm/LL-Q33302_%28fsl%29-Yug-MRV%2C_couloir-cam_720px-light_no_spots_%2B_sunny.webm.360p.vp9.webm" type="video/webm; codecs=&quot;vp9, opus&quot;" data-transcodekey="360p.vp9.webm" data-width="480" data-height="360"/><source src="//upload.wikimedia.org/wikipedia/commons/transcoded/e/e7/LL-Q33302_%28fsl%29-Yug-MRV%2C_couloir-cam_720px-light_no_spots_%2B_sunny.webm/LL-Q33302_%28fsl%29-Yug-MRV%2C_couloir-cam_720px-light_no_spots_%2B_sunny.webm.360p.webm" type="video/webm; codecs=&quot;vp8, vorbis&quot;" data-transcodekey="360p.webm" data-width="480" data-height="360"/></video></span></span></div> <div class="gallerytext">« crabe » </div> </li> </ul> </center> <div class="mw-heading mw-heading3"><h3 id="9._Lingua_Libre_Django_migration" data-mw-thread-id="h-9._Lingua_Libre_Django_migration-Ideas_for_projects"><span data-mw-comment-start="" id="h-9._Lingua_Libre_Django_migration-Ideas_for_projects"></span>9. Lingua Libre Django migration<span data-mw-comment-end="h-9._Lingua_Libre_Django_migration-Ideas_for_projects"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Google_Summer_of_Code/2024&amp;action=edit&amp;section=13" title="Edit section: 9. Lingua Libre Django migration"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure typeof="mw:File/Thumb"><a href="/wiki/File:Lingua_Libre_home_page_2020-12.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/6/6d/Lingua_Libre_home_page_2020-12.png/280px-Lingua_Libre_home_page_2020-12.png" decoding="async" width="280" height="160" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/6/6d/Lingua_Libre_home_page_2020-12.png/420px-Lingua_Libre_home_page_2020-12.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/6/6d/Lingua_Libre_home_page_2020-12.png/560px-Lingua_Libre_home_page_2020-12.png 2x" data-file-width="1890" data-file-height="1080"/></a><figcaption>Lingua Libre v.2.0, Homepage</figcaption></figure> <p>In the field of Language diversity, Wikimedia Foundation and Wikimedia France have supported <a rel="nofollow" class="external text" href="https://LinguaLibre.org">LinguaLibre.org</a>, a single page VueJS application to rapidly record vocabularies of the world. Over 240 languages and 1.2 millions words have been audio recorded into Wikimedia sites through this open project. Current back end (wikibase, PHP, blazegraph) while interesting have shown limitations, mostly limited query speed, no API, stack opacity and duplication of data. A revamp have been engaged (<a rel="nofollow" class="external text" href="https://dev.lingualibre.org">here</a>) but requires further full stack work to be migrated into a maintainable code base, upgraded into an elegant service and pushed into production for willful native speakers. </p> <figure typeof="mw:File/Thumb"><a href="/wiki/File:Lingua_Libre_-_Record_Wizard_-_Studio.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/3/33/Lingua_Libre_-_Record_Wizard_-_Studio.png/280px-Lingua_Libre_-_Record_Wizard_-_Studio.png" decoding="async" width="280" height="183" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/3/33/Lingua_Libre_-_Record_Wizard_-_Studio.png/420px-Lingua_Libre_-_Record_Wizard_-_Studio.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/3/33/Lingua_Libre_-_Record_Wizard_-_Studio.png/560px-Lingua_Libre_-_Record_Wizard_-_Studio.png 2x" data-file-width="1339" data-file-height="876"/></a><figcaption>Lingua Libre v.2.0, Recording Studio</figcaption></figure> <ul><li><b>Tech stack</b>: VueJS, Django (Python), NodeJS</li> <li><b>Size</b>: 350 hours</li> <li><b>Difficulty</b>: Intermediate</li> <li><b>Mentor(s)</b>: <a href="https://meta.wikimedia.org/wiki/User:Yug" class="extiw" title="meta:User:Yug">Yug</a>, <a href="https://meta.wikimedia.org/wiki/User:Poslovitch" class="extiw" title="meta:User:Poslovitch">Poslovitch</a></li> <li><b>Intern:</b> Pushkar Bansal <a href="https://phabricator.wikimedia.org/T361440" class="extiw" title="phab:T361440">T361440</a></li> <li><b>Phabricator task</b>: <a href="https://phabricator.wikimedia.org/T359797" class="extiw" title="phab:T359797">T359797</a></li> <li><b>Relevant links:</b> <a href="https://gitlab.wikimedia.org/repos/wikimedia-france/lingua-libre/lingua-libre" class="extiw" title="gitlab:repos/wikimedia-france/lingua-libre/lingua-libre">Repository</a> (<a rel="nofollow" class="external text" href="https://dev.lingualibre.org">demo</a>), <a href="https://phabricator.wikimedia.org/project/view/6913/" class="extiw" title="phab:project/view/6913/">Phabricator dashboard</a>, <a href="https://meta.wikimedia.org/wiki/Lingua_Libre" class="extiw" title="meta:Lingua Libre">Lingua Libre</a>, <a href="https://phabricator.wikimedia.org/maniphest/query/IRo_lCOGlEQr/" class="extiw" title="phab:maniphest/query/IRo lCOGlEQr/">closed tasks</a>.</li></ul> <p><br clear="all"/> </p> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Not_accepted_project" data-mw-thread-id="h-Not_accepted_project"><span data-mw-comment-start="" id="h-Not_accepted_project"></span>Not accepted project<span data-mw-comment-end="h-Not_accepted_project"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Google_Summer_of_Code/2024&amp;action=edit&amp;section=14" title="Edit section: Not accepted project"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Not_accepted_project","replies":["h-Wikimedia_Portals_codebase_modernization-Not_accepted_project"]}}--></div> <div class="mw-heading mw-heading3"><h3 id="Wikimedia_Portals_codebase_modernization" data-mw-thread-id="h-Wikimedia_Portals_codebase_modernization-Not_accepted_project"><span data-mw-comment-start="" id="h-Wikimedia_Portals_codebase_modernization-Not_accepted_project"></span>Wikimedia Portals codebase modernization<span data-mw-comment-end="h-Wikimedia_Portals_codebase_modernization-Not_accepted_project"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Google_Summer_of_Code/2024&amp;action=edit&amp;section=15" title="Edit section: Wikimedia Portals codebase modernization"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <table class="wikitable" style="background-color:#CCC;"> <tbody><tr> <td> <p>Help modernize the code that generates <a class="external text" href="https://www.wikipedia.org">www.wikipedia.org</a>. This codebase was originally written in 2015 and now many of it's NPM dependencies have become outdated. This project will involve cleaning up, refactoring, adding tests and removing unnecessary dependencies for one of the most viewed pages on the internet. </p> <ul><li><b>Tech stack</b>: JS, Node.js, Gulp.js, Jest.js</li> <li><b>Size</b>: 150 hours</li> <li><b>Difficulty</b>: Easy to intermediate</li> <li><b>Mentor(s)</b>: <a href="https://meta.wikimedia.org/wiki/User:JDrewniak_(WMF)" class="extiw" title="metawiki:User:JDrewniak (WMF)">Jan Drewniak (WMF)</a>, <a href="/wiki/User:BWang_(WMF)" title="User:BWang (WMF)">Bernard Wang (WMF)</a></li> <li><b>Phabricator task</b>: <a href="https://phabricator.wikimedia.org/T358885" class="extiw" title="phab:T358885">T358885</a></li> <li><b>Relevant links</b>: <a href="https://phabricator.wikimedia.org/project/board/1619/" class="extiw" title="phab:project/board/1619/">Wikimedia Portals workboard</a>, <a href="https://gerrit.wikimedia.org/r/plugins/gitiles/wikimedia/portals/%2B/refs/heads/master" class="extiw" title="gerrit:plugins/gitiles/wikimedia/portals/+/refs/heads/master">Repository</a></li></ul> </td></tr></tbody></table> <p><br clear="all"/> </p> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Recommended_steps_for_accepted_candidates" data-mw-thread-id="h-Recommended_steps_for_accepted_candidates"><span data-mw-comment-start="" id="h-Recommended_steps_for_accepted_candidates"></span>Recommended steps for accepted candidates<span data-mw-comment-end="h-Recommended_steps_for_accepted_candidates"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Google_Summer_of_Code/2024&amp;action=edit&amp;section=16" title="Edit section: Recommended steps for accepted candidates"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Recommended_steps_for_accepted_candidates","replies":[]}}--></div> <p>See <a href="/wiki/Google_Summer_of_Code/Participants#Accepted_participants" title="Google Summer of Code/Participants">Google_Summer_of_Code/Participants#Accepted_participants</a> </p> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Contact" data-mw-thread-id="h-Contact"><span data-mw-comment-start="" id="h-Contact"></span>Contact<span data-mw-comment-end="h-Contact"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Google_Summer_of_Code/2024&amp;action=edit&amp;section=17" title="Edit section: Contact"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Contact","replies":[]}}--></div> <ul><li>Support forum: <a rel="nofollow" class="external text" href="https://wikimedia.zulipchat.com/#streams/419476/Gsoc24-Outreachy28">#Gsoc24-Outreachy28 Zulip Chat</a></li> <li>Organization administrators for this round are: <a href="https://meta.wikimedia.org/wiki/User:DTankersley_(WMF)" class="extiw" title="meta:User:DTankersley (WMF)">Deb Tankersley</a>, <a href="https://meta.wikimedia.org/wiki/User:Sheilakaruku" class="extiw" title="meta:User:Sheilakaruku">Sheila Karuku</a></li> <li>Read how to <a href="/wiki/New_Developers/Communication_tips" title="New Developers/Communication tips">communicate effectively</a> and <a class="external text" href="https://developer.wikimedia.org/get-help/">get help on technical questions</a>.</li></ul> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r6651107"><div role="note" class="note note-info">We encourage applicants to communicate in the public streams and refrain from sending private emails/messages whenever possible. Open communication allows fellow applicants to learn from your questions. It also gives all community members a chance to answer your queries. This way, queries get answered sooner and the administrators do not become a bottleneck. Also see our <a href="/wiki/New_Developers/Communication_tips" title="New Developers/Communication tips">communication tips</a>.</div> <style data-mw-deduplicate="TemplateStyles:r6651103">.mw-parser-output .nmbox{background:#f8f9fa;border:1px solid #AAA;box-sizing:border-box;margin:2px 0;padding:0}.mw-parser-output .nmbox *{box-sizing:border-box}.mw-parser-output .nmbox-header{background:#eaecf0;padding:4px 0.5em;font-weight:bold;text-align:center;white-space:nowrap}.mw-parser-output .nmbox .mbox-image{display:inline-block;padding-right:1em}.mw-parser-output .nmbox-text{border-top:1px solid #AAA;width:100%;padding:4px 0.5em}@media screen and (min-width:768px){.mw-parser-output .nmbox-header{display:table-cell;border-right:1px solid #AAA;width:1%}.mw-parser-output .nmbox-text{border-top:none;display:table-cell}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .nmbox-header,html.skin-theme-clientpref-night .mw-parser-output .nmbox{background:transparent;color:inherit}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .nmbox-header,html.skin-theme-clientpref-os .mw-parser-output .nmbox{background:transparent;color:inherit}}</style> <div class="nmbox noprint mw-content-ltr"><div class="nmbox-header"><b><a href="https://en.wikipedia.org/wiki/Google_Summer_of_Code" class="extiw" title="w:Google Summer of Code">Google Summer of Code:</a></b> </div> <div class="nmbox-text mbox-text"><style data-mw-deduplicate="TemplateStyles:r6387430">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li,.mw-parser-output .hlist .mw-empty-elt{display:none}.mw-parser-output .hlist dt:after{content:": "}.mw-parser-output .hlist dd:after,.mw-parser-output .hlist li:after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child:after,.mw-parser-output .hlist dt:last-child:after,.mw-parser-output .hlist li:last-child:after{content:none}.mw-parser-output .hlist dd dd:first-child:before,.mw-parser-output .hlist dd dt:first-child:before,.mw-parser-output .hlist dd li:first-child:before,.mw-parser-output .hlist dt dd:first-child:before,.mw-parser-output .hlist dt dt:first-child:before,.mw-parser-output .hlist dt li:first-child:before,.mw-parser-output .hlist li dd:first-child:before,.mw-parser-output .hlist li dt:first-child:before,.mw-parser-output .hlist li li:first-child:before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child:after,.mw-parser-output .hlist dd dt:last-child:after,.mw-parser-output .hlist dd li:last-child:after,.mw-parser-output .hlist dt dd:last-child:after,.mw-parser-output .hlist dt dt:last-child:after,.mw-parser-output .hlist dt li:last-child:after,.mw-parser-output .hlist li dd:last-child:after,.mw-parser-output .hlist li dt:last-child:after,.mw-parser-output .hlist li li:last-child:after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li:before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child:before,.mw-parser-output .hlist dt ol>li:first-child:before,.mw-parser-output .hlist li ol>li:first-child:before{content:" ("counter(listitem)"\a0 "}</style><div class="hlist"> <ul><li><a href="/wiki/Special:MyLanguage/Summer_of_Code_2006" title="Special:MyLanguage/Summer of Code 2006">2006</a><span style="display:none"><a href="/wiki/Summer_of_Code_2006" class="mw-redirect" title="Summer of Code 2006"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Summer_of_Code_2007" title="Special:MyLanguage/Summer of Code 2007">2007</a><span style="display:none"><a href="/wiki/Summer_of_Code_2007" class="mw-redirect" title="Summer of Code 2007"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Summer_of_Code_2008" title="Special:MyLanguage/Summer of Code 2008">2008</a><span style="display:none"><a href="/wiki/Summer_of_Code_2008" class="mw-redirect" title="Summer of Code 2008"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Summer_of_Code_2009" title="Special:MyLanguage/Summer of Code 2009">2009</a><span style="display:none"><a href="/wiki/Summer_of_Code_2009" class="mw-redirect" title="Summer of Code 2009"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Summer_of_Code_2010" title="Special:MyLanguage/Summer of Code 2010">2010</a><span style="display:none"><a href="/wiki/Summer_of_Code_2010" class="mw-redirect" title="Summer of Code 2010"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Summer_of_Code_2011" title="Special:MyLanguage/Summer of Code 2011">2011</a><span style="display:none"><a href="/wiki/Summer_of_Code_2011" class="mw-redirect" title="Summer of Code 2011"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Summer_of_Code_2012" title="Special:MyLanguage/Summer of Code 2012">2012</a><span style="display:none"><a href="/wiki/Summer_of_Code_2012" class="mw-redirect" title="Summer of Code 2012"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Summer_of_Code_2013" title="Special:MyLanguage/Summer of Code 2013">2013</a><span style="display:none"><a href="/wiki/Summer_of_Code_2013" class="mw-redirect" title="Summer of Code 2013"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Google_Summer_of_Code_2014" title="Special:MyLanguage/Google Summer of Code 2014">2014</a><span style="display:none"><a href="/wiki/Google_Summer_of_Code_2014" class="mw-redirect" title="Google Summer of Code 2014"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Google_Summer_of_Code_2015" title="Special:MyLanguage/Google Summer of Code 2015">2015</a><span style="display:none"><a href="/wiki/Google_Summer_of_Code_2015" class="mw-redirect" title="Google Summer of Code 2015"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Google_Summer_of_Code_2016" title="Special:MyLanguage/Google Summer of Code 2016">2016</a><span style="display:none"><a href="/wiki/Google_Summer_of_Code_2016" class="mw-redirect" title="Google Summer of Code 2016"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Google_Summer_of_Code_2017" title="Special:MyLanguage/Google Summer of Code 2017">2017</a><span style="display:none"><a href="/wiki/Google_Summer_of_Code_2017" class="mw-redirect" title="Google Summer of Code 2017"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Google_Summer_of_Code/2018" title="Special:MyLanguage/Google Summer of Code/2018">2018</a><span style="display:none"><a href="/wiki/Google_Summer_of_Code/2018" title="Google Summer of Code/2018"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Google_Summer_of_Code/2019" title="Special:MyLanguage/Google Summer of Code/2019">2019</a><span style="display:none"><a href="/wiki/Google_Summer_of_Code/2019" title="Google Summer of Code/2019"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Google_Summer_of_Code/2020" title="Special:MyLanguage/Google Summer of Code/2020">2020</a><span style="display:none"><a href="/wiki/Google_Summer_of_Code/2020" title="Google Summer of Code/2020"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Google_Summer_of_Code/2021" title="Special:MyLanguage/Google Summer of Code/2021">2021</a><span style="display:none"><a href="/wiki/Google_Summer_of_Code/2021" title="Google Summer of Code/2021"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Google_Summer_of_Code/2022" title="Special:MyLanguage/Google Summer of Code/2022">2022</a><span style="display:none"><a href="/wiki/Google_Summer_of_Code/2022" title="Google Summer of Code/2022"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Google_Summer_of_Code/2023" title="Special:MyLanguage/Google Summer of Code/2023">2023</a><span style="display:none"><a href="/wiki/Google_Summer_of_Code/2023" title="Google Summer of Code/2023"> </a></span></li> <li><b><b><a href="/wiki/Special:MyLanguage/Google_Summer_of_Code/2024" title="Special:MyLanguage/Google Summer of Code/2024">2024</a></b><span style="display:none"><a class="mw-selflink selflink"> </a></span></b></li> <li><a href="/wiki/Special:MyLanguage/Google_Summer_of_Code/2025" title="Special:MyLanguage/Google Summer of Code/2025">2025</a><span style="display:none"><a href="/wiki/Google_Summer_of_Code/2025" title="Google Summer of Code/2025"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Google_Summer_of_Code/Past_projects" title="Special:MyLanguage/Google Summer of Code/Past projects">Past projects</a><span style="display:none"><a href="/wiki/Google_Summer_of_Code/Past_projects" title="Google Summer of Code/Past projects"> </a></span></li></ul> </div></div> </div> <!-- NewPP limit report Parsed by mw‐api‐ext.codfw.main‐64b879bb4b‐ghchv Cached time: 20241120152606 Cache expiry: 2592000 Reduced expiry: false Complications: [show‐toc] DiscussionTools time usage: 0.096 seconds CPU time usage: 0.281 seconds Real time usage: 0.431 seconds Preprocessor visited node count: 1426/1000000 Post‐expand include size: 29699/2097152 bytes Template argument size: 15430/2097152 bytes Highest expansion depth: 19/100 Expensive parser function count: 0/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 21451/5000000 bytes Lua time usage: 0.048/10.000 seconds Lua memory usage: 1426997/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 213.186 1 -total 49.07% 104.607 1 Template:GSoC 46.97% 100.143 1 Template:Nmbox 40.58% 86.520 1 Template:Flatlist 26.92% 57.382 21 Template:Ll 24.22% 51.642 1 Template:Historical 21.45% 45.738 2 Template:Notice 20.89% 44.529 42 Template:Translatable 20.52% 43.743 2 Template:Ambox 16.34% 34.829 21 Template:Pagelang --> <!-- Saved in parser cache with key mediawikiwiki:pcache:idhash:1837863-0!canonical and timestamp 20241120152618 and revision id 6862016. Rendering was triggered because: edit-page --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://www.mediawiki.org/w/index.php?title=Google_Summer_of_Code/2024&amp;oldid=6862016">https://www.mediawiki.org/w/index.php?title=Google_Summer_of_Code/2024&amp;oldid=6862016</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Special:Categories" title="Special:Categories">Category</a>: <ul><li><a href="/wiki/Category:Pages_kept_for_historical_interest" title="Category:Pages kept for historical interest">Pages kept for historical interest</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 20 November 2024, at 15:26.</li> <li id="footer-info-copyright">Text is available under the <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-ShareAlike License</a>; additional terms may apply. Text in <a class="external text" href="https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents">the Help: namespace</a> is available under the <a rel="nofollow" class="external text" href="https://creativecommons.org/publicdomain/zero/1.0/">Creative Commons CC0 License</a>. By using this site, you agree to the <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use">Terms of Use</a> and <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy Policy</a>.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Project:About">About mediawiki.org</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Project:General_disclaimer">Disclaimers</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://www.mediawiki.org/wiki/Special:MyLanguage/Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/www.mediawiki.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//m.mediawiki.org/w/index.php?title=Google_Summer_of_Code/2024&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.log.warn("This page is using the deprecated ResourceLoader module \"mediawiki.ui.button\".\n[1.41] Please use Codex. See migration guidelines: https://www.mediawiki.org/wiki/Codex/Migrating_from_MediaWiki_UI");mw.config.set({"wgHostname":"mw-web.codfw.main-8745688f8-w84jz","wgBackendResponseTime":144,"wgDiscussionToolsPageThreads":[{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Program_timeline","replies":[]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Gallery","replies":[]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Accepted_projects","replies":[]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Ideas_for_projects","replies":[{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-1._Commons_app:_Improve_upload_queue_management-Ideas_for_projects","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-2._[Programs_\u0026_Events_Dashboard]_Improve_the_training_module_creation_and_update-Ideas_for_projects","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-3._Improve_InlineComments_extension-Ideas_for_projects","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-4._[Programs_\u0026_Events_Dashboard]_Improve_system_for_copying_courses_from_one_Das-Ideas_for_projects","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-5._Improve_searchability_and_filtering_of_PageTriage_feed-Ideas_for_projects","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-6._Scribe-Data:_Refactor_into_a_multi_purpose_Wikidata_language_pack_CLI_tool-Ideas_for_projects","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-7._Scribe-iOS:_Add_multilingual_translation_and_internationalized_interfaces-Ideas_for_projects","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-8._Lingua_Libre_SignIt-Ideas_for_projects","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-9._Lingua_Libre_Django_migration-Ideas_for_projects","replies":[]}]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Not_accepted_project","replies":[{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-Wikimedia_Portals_codebase_modernization-Not_accepted_project","replies":[]}]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Recommended_steps_for_accepted_candidates","replies":[]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Contact","replies":[]}],"wgPageParseReport":{"discussiontools":{"limitreport-timeusage":"0.096"},"limitreport":{"cputime":"0.281","walltime":"0.431","ppvisitednodes":{"value":1426,"limit":1000000},"postexpandincludesize":{"value":29699,"limit":2097152},"templateargumentsize":{"value":15430,"limit":2097152},"expansiondepth":{"value":19,"limit":100},"expensivefunctioncount":{"value":0,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":21451,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 213.186 1 -total"," 49.07% 104.607 1 Template:GSoC"," 46.97% 100.143 1 Template:Nmbox"," 40.58% 86.520 1 Template:Flatlist"," 26.92% 57.382 21 Template:Ll"," 24.22% 51.642 1 Template:Historical"," 21.45% 45.738 2 Template:Notice"," 20.89% 44.529 42 Template:Translatable"," 20.52% 43.743 2 Template:Ambox"," 16.34% 34.829 21 Template:Pagelang"]},"scribunto":{"limitreport-timeusage":{"value":"0.048","limit":"10.000"},"limitreport-memusage":{"value":1426997,"limit":52428800}},"cachereport":{"origin":"mw-api-ext.codfw.main-64b879bb4b-ghchv","timestamp":"20241120152606","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10