==Profile Information
**Name**: Jay Prakash
**IRC nickname on Freenode**: Jayprakash12345
**Gmail ID**: 0freerunning@gmail.com
**GitHub profile**: https://github.com/Jayprakash-SE/
**Gerrit Profile:**: https://gerrit.wikimedia.org/r/#/q/owner:0freerunning@gmail.com
**Location**: India
**Typical working hours**: 5:00 PM to 1:00 AM UTC +5:30
==Synopsis
**Project summary**
* This project is about to improve the documentation of MediaWiki maintenance scripts on MediaWiki.Org. There are almost 200+ maintenance scripts. Out of 200+, 125 scripts need to document soon. There are 46 scripts that only have a predefined template. and 40 scripts that only have predefined + one-line descriptions. MediaWiki maintenance scripts play a vital role in wiki maintenance. According to [[https://wikiapiary.com/wiki/Statistics|WikiApiary]], There are **21647 standalone** wikis. And it is painful for the sysadmin to reading documentation from the **docstring** of the script file before running the maintenance script. And lack of documentation can cost to site down for some time. MediaWiki.org is the primary source to provide this kind of basic support. According to MassViews this year, There are 296 views per day on maintenance script pages. So it becomes important to document them on MediaWiki.org. Documentation of the maintenance script will directly benefit the **21647 standalone** wiki's sysadmins. Under this project, I will create a format/structure with minimum sections like Details, Usage, Parameter/Options, and Troubleshooting with templates. and document the maintenance scripts.
| **This year - 45,347 (296/day)** {F31851620 width=500} | **Last year - 117,376 (322/day)** {F31851619 width=500}
**Source**:- https://pageviews.toolforge.org/massviews
==== Scripts with only predefined template
Total count:- 46
| [[https://www.mediawiki.org/wiki/Manual:addRFCandPMIDInterwiki.php|addRFCandPMIDInterwiki.php]] | [[https://www.mediawiki.org/wiki/Manual:addSite.php|addSite.php]] | [[https://www.mediawiki.org/wiki/Manual:categoryChangesAsRdf.php|categoryChangesAsRdf.php]] | [[https://www.mediawiki.org/wiki/Manual:checkDependencies.php|checkDependencies.php]]
| [[https://www.mediawiki.org/wiki/Manual:cleanupBlocks.php|cleanupBlocks.php]] | [[https://www.mediawiki.org/wiki/Manual:cleanupInvalidDbKeys.php|cleanupInvalidDbKeys.php]] | [[https://www.mediawiki.org/wiki/Manual:cleanupRevActorPage.php|cleanupRevActorPage.php]] | [[https://www.mediawiki.org/wiki/Manual:deduplicateArchiveRevId.php|deduplicateArchiveRevId.php]]
| [[https://www.mediawiki.org/wiki/Manual:deleteAutoPatrolLogs.php|deleteAutoPatrolLogs.php]] | [[https://www.mediawiki.org/wiki/Manual:deleteTag.php|deleteTag.php]] | [[https://www.mediawiki.org/wiki/Manual:deleteLocalPasswords.php|deleteLocalPasswords.php]] | [[https://www.mediawiki.org/wiki/Manual:dumpCategoriesAsRdf.php|dumpCategoriesAsRdf.php]]
| [[https://www.mediawiki.org/wiki/Manual:exportSites.php|exportSites.php]] | [[https://www.mediawiki.org/wiki/Manual:findBadBlobs.php|findBadBlobs.php]] | [[https://www.mediawiki.org/wiki/Manual:findDeprecated.php|findDeprecated.php]] | [[https://www.mediawiki.org/wiki/Manual:findMissingFiles.php|findMissingFiles.php]]
| [[https://www.mediawiki.org/wiki/Manual:findOrphanedFiles.php|findOrphanedFiles.php]] | [[https://www.mediawiki.org/wiki/Manual:fixDefaultJsonContentPages.php|fixDefaultJsonContentPages.php]] | [[https://www.mediawiki.org/wiki/Manual:generateLocalAutoload.php|generateLocalAutoload.php]] | [[https://www.mediawiki.org/wiki/Manual:generateSchemaSql.php|generateSchemaSql.php]]
| [[https://www.mediawiki.org/wiki/Manual:importSites.php|importSites.php]] | [[https://www.mediawiki.org/wiki/Manual:initUserPreference.php|initUserPreference.php]] | [[https://www.mediawiki.org/wiki/Manual:invalidateUserSessions.php|invalidateUserSessions.php]] | [[https://www.mediawiki.org/wiki/Manual:makeTestEdits.php|makeTestEdits.php]]
| [[https://www.mediawiki.org/wiki/Manual:manageForeignResources.php|manageForeignResources.php]] | [[https://www.mediawiki.org/wiki/Manual:manageJobs.php|manageJobs.php]] | [[https://www.mediawiki.org/wiki/Manual:migrateFileRepoLayout.php|migrateFileRepoLayout.php]] | [[https://www.mediawiki.org/wiki/Manual:migrateImageCommentTemp.php|migrateImageCommentTemp.php]]
| [[https://www.mediawiki.org/wiki/Manual:mysql.php|mysql.php]] | [[https://www.mediawiki.org/wiki/Manual:populateArchiveRevId.php|populateArchiveRevId.php]] | [[https://www.mediawiki.org/wiki/Manual:populateContentTables.php|populateContentTables.php]] | [[https://www.mediawiki.org/wiki/Manual:populateExternallinksIndex60.php|populateExternallinksIndex60.php]]
| [[https://www.mediawiki.org/wiki/Manual:populateInterwiki.php|populateInterwiki.php]] | [[https://www.mediawiki.org/wiki/Manual:populateIpChanges.php|populateIpChanges.php]] | [[https://www.mediawiki.org/wiki/Manual:populateLogUsertext.php|populateLogUsertext.php]] | [[https://www.mediawiki.org/wiki/Manual:populatePPSortKey.php|populatePPSortKey.php]]
| [[https://www.mediawiki.org/wiki/Manual:purgeModuleDeps.php|purgeModuleDeps.php]] | [[https://www.mediawiki.org/wiki/Manual:refreshExternallinksIndex.php|refreshExternallinksIndex.php]] | [[https://www.mediawiki.org/wiki/Manual:renameRestrictions.php|renameRestrictions.php]] | [[https://www.mediawiki.org/wiki/Manual:resetPageRandom.php|resetPageRandom.php]]
| [[https://www.mediawiki.org/wiki/Manual:tidyUpT39714.php|tidyUpT39714.php]] | [[https://www.mediawiki.org/wiki/Manual:updateCredits.php|updateCredits.php]] | [[https://www.mediawiki.org/wiki/Manual:uppercaseTitlesForUnicodeTransition.php|uppercaseTitlesForUnicodeTransition.php]] | [[https://www.mediawiki.org/wiki/Manual:validateRegistrationFile.php|validateRegistrationFile.php]]
| [[https://www.mediawiki.org/wiki/Manual:view.php|view.php]] | [[https://www.mediawiki.org/wiki/Manual:getReplicaServer.php|getReplicaServer.php]] |
==== Scripts with predefined template + one line description
Total count:- 40
| [[https://www.mediawiki.org/wiki/Manual:populateFilearchiveSha1.php|populateFilearchiveSha1.php]] | [[https://www.mediawiki.org/wiki/Manual:populateImageSha1.php|populateImageSha1.php]] | [[https://www.mediawiki.org/wiki/Manual:populateLogSearch.php|populateLogSearch.php]] | [[https://www.mediawiki.org/wiki/Manual:renameDbPrefix.php|renameDbPrefix.php]]
| [[https://www.mediawiki.org/wiki/Manual:runBatchedQuery.php|runBatchedQuery.php]] | [[https://www.mediawiki.org/wiki/Manual:syncFileBackend.php|syncFileBackend.php]] | [[https://www.mediawiki.org/wiki/Manual:updateRestrictions.php|updateRestrictions.php]] | [[https://www.mediawiki.org/wiki/Manual:cleanupRemovedModules.php|cleanupRemovedModules.php]]
| [[https://www.mediawiki.org/wiki/Manual:cleanupTable.inc|cleanupTable.inc]] | [[https://www.mediawiki.org/wiki/Manual:checkBadRedirects.php|checkBadRedirects.php]] | [[https://www.mediawiki.org/wiki/Manual:checkLess.php|checkLess.php]] | [[https://www.mediawiki.org/wiki/Manual:compareParserCache.php|compareParserCache.php]]
| [[https://www.mediawiki.org/wiki/Manual:convertUserOptions.php|convertUserOptions.php]] | [[https://www.mediawiki.org/wiki/Manual:copyFileBackend.php|copyFileBackend.php]] | [[https://www.mediawiki.org/wiki/Manual:copyJobQueue.php|copyJobQueue.php]] | [[https://www.mediawiki.org/wiki/Manual:deleteSelfExternals.php|deleteSelfExternals.php]]
| [[https://www.mediawiki.org/wiki/Manual:userDupes.inc|userDupes.inc]] | [[https://www.mediawiki.org/wiki/Manual:fileOpPerfTest.php|fileOpPerfTest.php]] | [[https://www.mediawiki.org/wiki/Manual:findHooks.php|findHooks.php]] | [[https://www.mediawiki.org/wiki/Manual:fixExtLinksProtocolRelative.php|fixExtLinksProtocolRelative.php]]
| [[https://www.mediawiki.org/wiki/Manual:formatInstallDoc.php|formatInstallDoc.php]] | [[https://www.mediawiki.org/wiki/Manual:getSlaveServer.php|getSlaveServer.php]] | [[https://www.mediawiki.org/wiki/Manual:importSiteScripts.php|importSiteScripts.php]] | [[https://www.mediawiki.org/wiki/Manual:jsparse.php|jsparse.php]]
| [[https://www.mediawiki.org/wiki/Manual:mcc.php|mcc.php]] | [[https://www.mediawiki.org/wiki/Manual:mctest.php|mctest.php]] | [[https://www.mediawiki.org/wiki/Manual:mergeMessageFileList.php|mergeMessageFileList.php]] | [[https://www.mediawiki.org/wiki/Manual:mwdoc-filter.php|mwdoc-filter.php]]
| [[https://www.mediawiki.org/wiki/Manual:patchSql.php|patchSql.php]] | [[https://www.mediawiki.org/wiki/Manual:populateBacklinkNamespace.php|populateBacklinkNamespace.php]] | [[https://www.mediawiki.org/wiki/Manual:populateRecentChangesSource.php|populateRecentChangesSource.php]] | [[https://www.mediawiki.org/wiki/Manual:populateRevisionLength.php|populateRevisionLength.php]]
| [[https://www.mediawiki.org/wiki/Manual:populateRevisionSha1.php|populateRevisionSha1.php]] | [[https://www.mediawiki.org/wiki/Manual:preprocessDump.php|preprocessDump.php]] | [[https://www.mediawiki.org/wiki/Manual:preprocessorFuzzTest.php|preprocessorFuzzTest.php]] | [[https://www.mediawiki.org/wiki/Manual:protect.php|protect.php]]
| [[https://www.mediawiki.org/wiki/Manual:pruneFileCache.php|pruneFileCache.php]] | [[https://www.mediawiki.org/wiki/Manual:purgeChangedFiles.php|purgeChangedFiles.php]] | [[https://www.mediawiki.org/wiki/Manual:refreshFileHeaders.php|refreshFileHeaders.php]] | [[https://www.mediawiki.org/wiki/Manual:initEditCount.php|initEditCount.php]]
==== Scripts with predefined template + one line description + outdated template
Total count:- 8
| [[https://www.mediawiki.org/wiki/Manual:purgeChangedPages.php|purgeChangedPages.php]] | [[https://www.mediawiki.org/wiki/Manual:doMaintenance.php|doMaintenance.php]] | [[https://www.mediawiki.org/wiki/Manual:dumpIterator.php|dumpIterator.php]] | [[https://www.mediawiki.org/wiki/Manual:dumpLinks.php|dumpLinks.php]]
| [[https://www.mediawiki.org/wiki/Manual:checkComposerLockUpToDate.php|checkComposerLockUpToDate.php]] | [[https://www.mediawiki.org/wiki/Manual:compareParsers.php|compareParsers.php]] | [[https://www.mediawiki.org/wiki/Manual:fixTimestamps.php|fixTimestamps.php]] | [[https://www.mediawiki.org/wiki/Manual:getConfiguration.php|getConfiguration.php]]
==== Scripts need to expand
There are 31 maintenance scripts that need to expand. They are lack of minimal sections like usage, parameter/options, troubleshooting. 2 of them have outdated template.
| [[https://www.mediawiki.org/wiki/Manual:attachLatest.php|attachLatest.php]] | [[https://www.mediawiki.org/wiki/Manual:checkImages.php|checkImages.php]] | [[https://www.mediawiki.org/wiki/Manual:checkUsernames.php|checkUsernames.php]] | [[https://www.mediawiki.org/wiki/Manual:cleanupWatchlist.php|cleanupWatchlist.php]]
| [[https://www.mediawiki.org/wiki/Manual:clearInterwikiCache.php|clearInterwikiCache.php]] | [[https://www.mediawiki.org/wiki/Manual:createCommonPasswordCdb.php|createCommonPasswordCdb.php]] | [[https://www.mediawiki.org/wiki/Manual:deleteDefaultMessages.php|deleteDefaultMessages.php]] | [[https://www.mediawiki.org/wiki/Manual:deleteOrphanedRevisions.php|deleteOrphanedRevisions.php]]
| [[https://www.mediawiki.org/wiki/Manual:dumpTextPass.php|dumpTextPass.php]] | [[https://www.mediawiki.org/wiki/Manual:eraseArchivedFile.php|eraseArchivedFile.php]] | [[https://www.mediawiki.org/wiki/Manual:fixUserRegistration.php|fixUserRegistration.php]] | [[https://www.mediawiki.org/wiki/Manual:minify.php|minify.php]]
| [[https://www.mediawiki.org/wiki/Manual:nukePage.php|nukePage.php]] | [[https://www.mediawiki.org/wiki/Manual:orphans.php|orphans.php]] | [[https://www.mediawiki.org/wiki/Manual:populateCategory.php|populateCategory.php]] | [[https://www.mediawiki.org/wiki/Manual:populateParentId.php|populateParentId.php]]
| [[https://www.mediawiki.org/wiki/Manual:purgeExpiredUserrights.php|purgeExpiredUserrights.php]] | [[https://www.mediawiki.org/wiki/Manual:purgeExpiredWatchlistItems.php|purgeExpiredWatchlistItems.php]] | [[https://www.mediawiki.org/wiki/Manual:rebuildImages.php|rebuildImages.php]] | [[https://www.mediawiki.org/wiki/Manual:rebuildmessages.php|rebuildmessages.php]]
| [[https://www.mediawiki.org/wiki/Manual:refreshImageMetadata.php|refreshImageMetadata.php]] | [[https://www.mediawiki.org/wiki/Manual:removeUnusedAccounts.php|removeUnusedAccounts.php]] | [[https://www.mediawiki.org/wiki/Manual:showSiteStats.php|showSiteStats.php]] | [[https://www.mediawiki.org/wiki/Manual:sql.php|sql.php]]
| [[https://www.mediawiki.org/wiki/Manual:sqlite.inc|sqlite.inc]] | [[https://www.mediawiki.org/wiki/Manual:updateArticleCount.php|updateArticleCount.php]] | [[https://www.mediawiki.org/wiki/Manual:updateCollation.php|updateCollation.php]] | [[https://www.mediawiki.org/wiki/Manual:updateDoubleWidthSearch.php|updateDoubleWidthSearch.php]]
| [[https://www.mediawiki.org/wiki/Manual:updateExtensionJsonSchema.php|updateExtensionJsonSchema.php]] | [[https://www.mediawiki.org/wiki/Manual:wrapOldPasswords.php|wrapOldPasswords.php]] | [[https://www.mediawiki.org/wiki/Manual:deleteBatch.php|deleteBatch.php]]
== Possible Mentor(s)
* @srodlund (Sarah R. Rodlund)
* @apaskulin (Alex Paskulin)
==Deliverables
* Creating a format/structure with minimum sections like Details, Usage, Parameter/Options, and Troubleshooting.
* Creating templates for maintenance script documentations
* Expanding scripts having an only predefined template
* Expanding scripts having predefined template + one-line description
* Expanding scripts having predefined template + one-line description + outdated template
* Expanding/Improving other scripts
==Participation
* I will be online on IRC in my working hours ( 5:00 PM to 1:00 AM +5:30) to collaborate with the mentors. I have [[https://meta.wikimedia.org/wiki/IRC/Cloaks|IRC/Cloaks]] with the name `wikimedia/Jayprakash12345`.
* Communication with my mentors will be done via Zulip/IRC during working hours.
* I will be available in non-working hours through my Google mail account.
* I will use wiki-markups instead of HTML
* I will use wiki-table to track every script's documentation quality.
==About Me
I am a 2nd-year student of Bachelor of Technology (Computer Science & Engineering). My University is Dr. A.P.J. Abdul Kalam Technical University. I have programming experiences for more than 5 years as I had computer science as my stream during High-School. I have been a Wikipedian since 2015. and Wikimedia technical contributor since early 2017. This is my first time applying for the Google season of docs.
**How did You hear about this Program ?**
I heard about this program for the first time in the Wikimedia world last year. when I kept my eyes on the phabricator task for the new bug. Then I eagerly researched on Google season of docs.
**Will you have any other time commitments, such as school work, another job, planned vacation, etc, during the duration of the program?**
I will have my unit tests exam during the duration of the program. Otherwise, I do not have any other time commitments.
**Are you planning to apply with other organization(s) and, if so, with what organization(s)?**
I am only applying to Google Season of Docs with the Wikimedia Foundation. This will be the only proposal.
**What does making this project happen to mean to you?**
It matters a lot to me. I am very enthused about the free open-source software. In the Wikimedia world, I am getting this great chance to contribute to FOSS. From this project, I will deeply drive into the technical documentation. and will start contributing to documentation apart from fixing the bug and developing the tool. Overall this project will boost my activity a lot in the Wikimedia world.
== Timeline
| **Period** | **Task** |
|------------ |-----------|
| August 17 - September 13| **Community bonding period** - Get in touch with the mentors and discussion on the documentation format and structure in detail. Creating the required template with good UI. |
| September 14 - September 20| **Week 1** - Documentation of scripts having only predefined template **1-12** |
| September 21 - September 27| **Week 2** - Documentation of scripts having only predefined template **13-24** |
| September 28 - October 04| **Week 3** - Documentation of scripts having only predefined template **25-36** |
| October 5 - October 11 | **Week 4** - Documentation of scripts with having predefined template **36-46** |
| October 12 - October 18| **Week 5** - Documentation of scripts having predefined template + one-line description **1-13** |
| October 19 - October 25| **Week 6** - Documentation of scripts having predefined template + one-line description **14-27** |
| October 26 - November 01| **Week 7** - Documentation of scripts having predefined template + one-line description **28-40**|
| November 02 - November 08| **Week 8** - Scripts having predefined template + one line description + outdated template **(all)** |
| November 09 - November 15| **Week 9** - Scripts need to expand **1-15** |
| November 16 - November 22| **Week 10** - Scripts need to expand **16-31** |
| November 23 - November 29| **Week 11** - Improving currently expanded documentation |
| November 30 - December 5 | **Final evaluations**|
|--------------|-------------------|
==Past Experience
I joined the Wikimedia world in 2015 from English Wikipedia. And regularly contribute to my native wiki (Hindi Wikipedia) since 2016. But After knowing MediaWiki I shifted my contribution in MediaWiki Extensions Maintenance and development since June 2017. I had uploaded around [[https://gerrit.wikimedia.org/r/#/q/owner:0freerunning%2540gmail.com|556 patches]] on Gerrit. Where [[https://gerrit.wikimedia.org/r/#/q/owner:0freerunning%2540gmail.com+status:merged|512 patches]] already merged in the Wikimedia repository. I am a Technical resource person/trainer of many offline Indic Wikimedia programs like MediaWiki Training 2018, MediaWiki Training 2019, Wiki Advanced Training 2018, NSCET MediaWiki Training, VVIT MediaWiki Training 2019, Jaipur Technical Training 2017, and Bhopal Technical Training 2018. My past activity can be tracked by the following.
**Online Technical Contribution**
* 512 patches out 556 have been merged at Gerrit Wikimedia.
* 31 Commit in [[https://github.com/wikimedia/mediawiki-api-demos|wikimedia/mediawiki-api-demos]] Github Repo.
* 60+ commit on [[http://github.com/indictechcom|Indic-TechCom]]’s Github repo.
* Created [[https://www.mediawiki.org/wiki/MediaWiki:Gadget-tabbedwindow.js|tabbed window]] OOUI widget, which is used by MediaWiki.org Community.
* Created Userscripts
| [[https://meta.wikimedia.org/wiki/Indic-TechCom/Tools/MoveAndReplace|MoveAndReplace]] | [[https://meta.wikimedia.org/wiki/Indic-TechCom/Tools/qrCodeGenerator|QRCodeGenerator]] | [[https://meta.wikimedia.org/wiki/Indic-TechCom/Tools/MassMove|MassMove]] | [[https://meta.wikimedia.org/wiki/Indic-TechCom/Tools/WikidataCoord|WikidataCoord]]
|[[https://meta.wikimedia.org/wiki/Indic-TechCom/Tools/BookReader#UserScript|BookReader]] | [[https://meta.wikimedia.org/wiki/Indic-TechCom/Tools/FloatableEditingButton|FloatableEditingButton]] | [[https://meta.wikimedia.org/wiki/Indic-TechCom/Tools/FileLinkTool|FileLinkTool]] |
* Created Toolforge tools
| [[https://meta.wikimedia.org/wiki/Indic-TechCom/Tools/IndicOCR|Indic-OCR]] | [[https://meta.wikimedia.org/wiki/Indic-TechCom/Tools/Indic_Wikisource_Stats|Indic Wikisource Stats]] | [[https://meta.wikimedia.org/wiki/Indic-TechCom/Tools/Wikifile-transfer|Wikifile-transfer]]
| [[https://meta.wikimedia.org/wiki/Indic-TechCom/Tools/Indic_Wikisource_Contest| Indic Wikisource Contest]] | [[https://meta.wikimedia.org/wiki/Indic-TechCom/Tools/BookReader|BookReader]] | [[https://tools.wmflabs.org/user-contributions-feed/|User contributions feed]]
**Offline/Outreachy events**
* Organizer of [[https://meta.wikimedia.org/wiki/CIS-A2K/Events/MediaWiki_Training/2018|MediaWiki Training 2018]]
* Technical resource person in [[https://meta.wikimedia.org/wiki/CIS-A2K/Events/Wiki_Advanced_Training/2018|Wiki Advanced Training 2018]]
* Technical resource person in [[https://hi.wikipedia.org/wiki/विकिपीडिया:प्रशिक्षण_कार्यशाला-जयपुर|Jaipur Technical Training 2017]]
* Technical resource person [[https://hi.wikipedia.org/wiki/विकिपीडिया:प्रशिक्षण_कार्यशाला-भोपाल|Bhopal Technical Training 2018]]
* MediaWiki trainer in [[https://meta.wikimedia.org/wiki/CIS-A2K/Events/Mini_MediaWiki_Training_Theni|NSCET MediaWiki Training]]
* MediaWiki trainer in [[https://meta.wikimedia.org/wiki/CIS-A2K/Events/Mini-MWT_at_VVIT_(Feb_2019)#Report|VVIT MediaWiki Training 2019]]
* MediaWiki trainer in [[https://meta.wikimedia.org/wiki/CIS-A2K/Events/MediaWiki_Training/2019|MediaWiki Training 2019]]
* Organizer of Hackathon in WikiConference India 2020 (upcoming, Wikimania of India)
**Community Engagement/Others**
* Volunteer Lead Developer of [[https://meta.wikimedia.org/wiki/Indic-TechCom/Management|Indic-TechCom]]:- Primary responsible to create the new tool/reports/RfC and assist the Indic-Community (24 Languages with its project).
* 19,000+ global wiki edits. My favorite wiki project is Wikiversity. I am a sysop at Hindi Wikiversity.
* [[https://meta.wikimedia.org/wiki/Grants:Project/Wikilover90/Heritage_GLAM/Profile|Heritage GLAM]]:- I have provided technical support to the Heritage GLAM Team. I have developed some tools under Heritage GLAM.
* Technical advisor of many Indic community’s regional partnerships.
* Maintain the Indic Wiki Gadgets and user scripts. See [[https://meta.wikimedia.org/wiki/Indic-TechCom/Management|Indic-TechCom/Management]] for detailed Report.
* Created Wikisource Dedicated Python API library [[https://pypi.org/project/pywikisource/|pywikisource]] python library during Wikimania 2019.
**Technical Documentation**
* {T217991}
* {T254081}
* {T218417}
* T215681 ** (Documention of 60+ MediaWiki API) **
* {T188892}