{"id":925,"date":"2010-07-22T18:09:00","date_gmt":"2010-07-22T17:09:00","guid":{"rendered":"https:\/\/www.entropywins.wtf\/blog\/?p=925"},"modified":"2010-07-22T18:09:00","modified_gmt":"2010-07-22T17:09:00","slug":"mediawiki-deployment-modifying-the-new-installer","status":"publish","type":"post","link":"https:\/\/www.entropywins.wtf\/blog\/2010\/07\/22\/mediawiki-deployment-modifying-the-new-installer\/","title":{"rendered":"MediaWiki Deployment: Modifying the new installer"},"content":{"rendered":"<p>I got a new diagram!!!1!11!! It&#8217;s based on my <a href=\"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/07\/800px-Mwdeployment.jpg\">previous one<\/a>, but slightly more elaborate, and a lot less messy, as I now used <a href=\"https:\/\/secure.wikimedia.org\/wikipedia\/en\/wiki\/Dia_%28software%29\">Dia<\/a> to create it \ud83d\ude42<\/p>\n<p><a href=\"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/07\/MwDeployment.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-926\" title=\"MediaWiki deployment diagram\" src=\"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/07\/MwDeployment-1024x389.png\" alt=\"MediaWiki deployment diagram\" width=\"1024\" height=\"389\" \/><\/a><\/p>\n<p><strong>Legend<\/strong>:<\/p>\n<ul>\n<li>Striped lines: Existing components where code will be copied from, or based upon.<\/li>\n<li>Full lines: Components of the complete deployment model.<\/li>\n<li>Thick full lines: Core components (of the deployment model) that I definitely want to have completed during <a href=\"https:\/\/www.entropywins.wtf\/blog\/tag\/gsoc\/\">GSoC<\/a>.<\/li>\n<\/ul>\n<p>Since my <a href=\"https:\/\/www.entropywins.wtf\/blog\/2010\/07\/15\/mediawiki-deployment\/\">previous post about my Google Summer of Code project<\/a> I have been poking at the new MediaWiki installer to see what&#8217;s there already, how it is there, and how I can integrate it with the above deployment model. I&#8217;ve made a bunch of style and documentation improvements while going over the code, and renamed some things to make more sense. And I had Tim Starling clean up a bad svn commit I made \ud83d\ude1b<\/p>\n<p>So what I&#8217;m doing now is splitting the current &#8216;Installer&#8217; class, which is part of the new installer, into 2: Installer and CoreInstaller. Installer will hold general installer functionality and be part of the whole deployment model, while CoreInstaller will hold installer functionality specific to core, and will be part of the new installer. After that I can create an initial version of CoreInstallers counterpart: ExtensionInstaller.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I got a new diagram!!!1!11!! It&#8217;s based on my previous one, but slightly more elaborate, and a lot less messy,&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[7],"tags":[74,92,115,116,156,181,195,197,215,285],"class_list":["post-925","post","type-post","status-publish","format-standard","hentry","category-programming","tag-deployment","tag-extension-management","tag-gsoc","tag-gsoc-2010","tag-mediawiki","tag-open-source","tag-php","tag-planet-wikimedia","tag-refactoring","tag-wikimedia"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>MediaWiki Deployment: Modifying the new installer - Blog of Jeroen De Dauw<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.entropywins.wtf\/blog\/2010\/07\/22\/mediawiki-deployment-modifying-the-new-installer\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MediaWiki Deployment: Modifying the new installer - Blog of Jeroen De Dauw\" \/>\n<meta property=\"og:description\" content=\"I got a new diagram!!!1!11!! It&#8217;s based on my previous one, but slightly more elaborate, and a lot less messy,&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.entropywins.wtf\/blog\/2010\/07\/22\/mediawiki-deployment-modifying-the-new-installer\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog of Jeroen De Dauw\" \/>\n<meta property=\"article:published_time\" content=\"2010-07-22T17:09:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/07\/MwDeployment-1024x389.png\" \/>\n<meta name=\"author\" content=\"Jeroen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/JeroenDeDauw\" \/>\n<meta name=\"twitter:site\" content=\"@JeroenDeDauw\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeroen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/07\\\/22\\\/mediawiki-deployment-modifying-the-new-installer\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/07\\\/22\\\/mediawiki-deployment-modifying-the-new-installer\\\/\"},\"author\":{\"name\":\"Jeroen\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\"},\"headline\":\"MediaWiki Deployment: Modifying the new installer\",\"datePublished\":\"2010-07-22T17:09:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/07\\\/22\\\/mediawiki-deployment-modifying-the-new-installer\\\/\"},\"wordCount\":219,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\"},\"image\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/07\\\/22\\\/mediawiki-deployment-modifying-the-new-installer\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/wp-content\\\/uploads\\\/2010\\\/07\\\/MwDeployment-1024x389.png\",\"keywords\":[\"Deployment\",\"Extension management\",\"GSoC\",\"GSoC 2010\",\"MediaWiki\",\"Open Source\",\"PHP\",\"Planet Wikimedia\",\"Refactoring\",\"Wikimedia\"],\"articleSection\":[\"Programming\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/07\\\/22\\\/mediawiki-deployment-modifying-the-new-installer\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/07\\\/22\\\/mediawiki-deployment-modifying-the-new-installer\\\/\",\"url\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/07\\\/22\\\/mediawiki-deployment-modifying-the-new-installer\\\/\",\"name\":\"MediaWiki Deployment: Modifying the new installer - Blog of Jeroen De Dauw\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/07\\\/22\\\/mediawiki-deployment-modifying-the-new-installer\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/07\\\/22\\\/mediawiki-deployment-modifying-the-new-installer\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/wp-content\\\/uploads\\\/2010\\\/07\\\/MwDeployment-1024x389.png\",\"datePublished\":\"2010-07-22T17:09:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/07\\\/22\\\/mediawiki-deployment-modifying-the-new-installer\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/07\\\/22\\\/mediawiki-deployment-modifying-the-new-installer\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/07\\\/22\\\/mediawiki-deployment-modifying-the-new-installer\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/wp-content\\\/uploads\\\/2010\\\/07\\\/MwDeployment-1024x389.png\",\"contentUrl\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/wp-content\\\/uploads\\\/2010\\\/07\\\/MwDeployment-1024x389.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2010\\\/07\\\/22\\\/mediawiki-deployment-modifying-the-new-installer\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MediaWiki Deployment: Modifying the new installer\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/\",\"name\":\"Entropy Wins\",\"description\":\"A blog on Software Architecture, Design and Craftsmanship\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\",\"name\":\"Jeroen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g\",\"caption\":\"Jeroen\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/jeroendedauw\\\/\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/twitter.com\\\/JeroenDeDauw\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"MediaWiki Deployment: Modifying the new installer - Blog of Jeroen De Dauw","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.entropywins.wtf\/blog\/2010\/07\/22\/mediawiki-deployment-modifying-the-new-installer\/","og_locale":"en_US","og_type":"article","og_title":"MediaWiki Deployment: Modifying the new installer - Blog of Jeroen De Dauw","og_description":"I got a new diagram!!!1!11!! It&#8217;s based on my previous one, but slightly more elaborate, and a lot less messy,&hellip;","og_url":"https:\/\/www.entropywins.wtf\/blog\/2010\/07\/22\/mediawiki-deployment-modifying-the-new-installer\/","og_site_name":"Blog of Jeroen De Dauw","article_published_time":"2010-07-22T17:09:00+00:00","og_image":[{"url":"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/07\/MwDeployment-1024x389.png","type":"","width":"","height":""}],"author":"Jeroen","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/JeroenDeDauw","twitter_site":"@JeroenDeDauw","twitter_misc":{"Written by":"Jeroen","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.entropywins.wtf\/blog\/2010\/07\/22\/mediawiki-deployment-modifying-the-new-installer\/#article","isPartOf":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2010\/07\/22\/mediawiki-deployment-modifying-the-new-installer\/"},"author":{"name":"Jeroen","@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7"},"headline":"MediaWiki Deployment: Modifying the new installer","datePublished":"2010-07-22T17:09:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2010\/07\/22\/mediawiki-deployment-modifying-the-new-installer\/"},"wordCount":219,"commentCount":0,"publisher":{"@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7"},"image":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2010\/07\/22\/mediawiki-deployment-modifying-the-new-installer\/#primaryimage"},"thumbnailUrl":"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/07\/MwDeployment-1024x389.png","keywords":["Deployment","Extension management","GSoC","GSoC 2010","MediaWiki","Open Source","PHP","Planet Wikimedia","Refactoring","Wikimedia"],"articleSection":["Programming"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.entropywins.wtf\/blog\/2010\/07\/22\/mediawiki-deployment-modifying-the-new-installer\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.entropywins.wtf\/blog\/2010\/07\/22\/mediawiki-deployment-modifying-the-new-installer\/","url":"https:\/\/www.entropywins.wtf\/blog\/2010\/07\/22\/mediawiki-deployment-modifying-the-new-installer\/","name":"MediaWiki Deployment: Modifying the new installer - Blog of Jeroen De Dauw","isPartOf":{"@id":"https:\/\/www.entropywins.wtf\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2010\/07\/22\/mediawiki-deployment-modifying-the-new-installer\/#primaryimage"},"image":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2010\/07\/22\/mediawiki-deployment-modifying-the-new-installer\/#primaryimage"},"thumbnailUrl":"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/07\/MwDeployment-1024x389.png","datePublished":"2010-07-22T17:09:00+00:00","breadcrumb":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2010\/07\/22\/mediawiki-deployment-modifying-the-new-installer\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.entropywins.wtf\/blog\/2010\/07\/22\/mediawiki-deployment-modifying-the-new-installer\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.entropywins.wtf\/blog\/2010\/07\/22\/mediawiki-deployment-modifying-the-new-installer\/#primaryimage","url":"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/07\/MwDeployment-1024x389.png","contentUrl":"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/07\/MwDeployment-1024x389.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.entropywins.wtf\/blog\/2010\/07\/22\/mediawiki-deployment-modifying-the-new-installer\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.entropywins.wtf\/blog\/"},{"@type":"ListItem","position":2,"name":"MediaWiki Deployment: Modifying the new installer"}]},{"@type":"WebSite","@id":"https:\/\/www.entropywins.wtf\/blog\/#website","url":"https:\/\/www.entropywins.wtf\/blog\/","name":"Entropy Wins","description":"A blog on Software Architecture, Design and Craftsmanship","publisher":{"@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.entropywins.wtf\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7","name":"Jeroen","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g","caption":"Jeroen"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g"},"sameAs":["https:\/\/www.linkedin.com\/in\/jeroendedauw\/","https:\/\/x.com\/https:\/\/twitter.com\/JeroenDeDauw"]}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p74TBF-eV","jetpack-related-posts":[{"id":945,"url":"https:\/\/www.entropywins.wtf\/blog\/2010\/08\/12\/visible-awesomeness-at-last\/","url_meta":{"origin":925,"position":0},"title":"Visible awesomeness at last","author":"Jeroen","date":"2010-08-12","format":false,"excerpt":"Since my last blog post about my GSoC project, which aims to bring more awesome deployment capabilities to MediaWiki, I've been putting my time into both the Distribution and Deployment extensions. I was pleased to find a bunch of stuff was easier to do then I had imagined, and now\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"Planned architecture for the initial versions of the MediaWiki deployment extensions","src":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/08\/MedaWiki-deployment-initial.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/08\/MedaWiki-deployment-initial.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/08\/MedaWiki-deployment-initial.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/08\/MedaWiki-deployment-initial.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":941,"url":"https:\/\/www.entropywins.wtf\/blog\/2010\/08\/07\/distribution-extension-for-mediawiki\/","url_meta":{"origin":925,"position":1},"title":"Distribution extension for MediaWiki","author":"Jeroen","date":"2010-08-07","format":false,"excerpt":"With only 2 days till the suggested Google Summer of Code 'pencils down' date, and a week longer until the firm one, I'm using my remaining time to get some basic functionality working for my GSoC project. I've started creating a new extension called Distribution that will provide an API\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":962,"url":"https:\/\/www.entropywins.wtf\/blog\/2010\/08\/20\/end-of-google-summer-of-code-2010\/","url_meta":{"origin":925,"position":2},"title":"End of Google Summer of Code 2010","author":"Jeroen","date":"2010-08-20","format":false,"excerpt":"As Google Summer of Code (GSoC) 2010 has ended, I'm writing this blog post to outline what I've done during the coding period and what the results are. Thanks go to the Wikimedia Foundation and Google for providing the opportunity to do this project, Brion Vibber, who mentored me, and\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"Google Summer of Code 2010","src":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/08\/2010_NoURL_300x267px.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":896,"url":"https:\/\/www.entropywins.wtf\/blog\/2010\/07\/15\/mediawiki-deployment\/","url_meta":{"origin":925,"position":3},"title":"MediaWiki deployment","author":"Jeroen","date":"2010-07-15","format":false,"excerpt":"A lot has happened in my Google Summer of Code project since my last blog post about it, so here is another update. I did give a short presentation about it at Wikimania 2010, but that did not go very well unfortunately. You can get the slides though. I changed\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"MediaWiki deployment","src":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/07\/800px-Mwdeployment.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/07\/800px-Mwdeployment.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/07\/800px-Mwdeployment.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/07\/800px-Mwdeployment.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":957,"url":"https:\/\/www.entropywins.wtf\/blog\/2010\/08\/14\/specialextensions-taking-form\/","url_meta":{"origin":925,"position":4},"title":"Special:Extensions taking form","author":"Jeroen","date":"2010-08-14","format":false,"excerpt":"Just a few quick screenshots of Special:Extensions, on which I've been working today. The first screenshot shows Special:Extensions page displaying a list of all the extensions I have installed on my local wiki: As you can see, you can now filter on extension type with the control right below the\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"Special:Extensions page showing all installed extensions","src":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/08\/mediawiki-special-extensions.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/08\/mediawiki-special-extensions.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/08\/mediawiki-special-extensions.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2010\/08\/mediawiki-special-extensions.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":852,"url":"https:\/\/www.entropywins.wtf\/blog\/2010\/06\/10\/extension-management-platform\/","url_meta":{"origin":925,"position":5},"title":"Extension management platform","author":"Jeroen","date":"2010-06-10","format":false,"excerpt":"After doing a pile of research on how to best create an extension management platform for MediaWiki as my Google Summer of Code project, I realized that a lot of the work that I wanted to do was already done in some form or another, and decided to somewhat augment\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/posts\/925","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/comments?post=925"}],"version-history":[{"count":0,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/posts\/925\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/media?parent=925"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/categories?post=925"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/tags?post=925"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}