<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jeroens blog &#187; GSoC</title>
	<atom:link href="http://blog.bn2vs.com/tag/gsoc/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.bn2vs.com</link>
	<description>Blog of Jeroen De Dauw. The latest news on my open source work and interests.</description>
	<lastBuildDate>Fri, 23 Dec 2011 14:44:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>End of Google Summer of Code 2010</title>
		<link>http://blog.bn2vs.com/2010/08/20/end-of-google-summer-of-code-2010/</link>
		<comments>http://blog.bn2vs.com/2010/08/20/end-of-google-summer-of-code-2010/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 18:07:00 +0000</pubDate>
		<dc:creator>Jeroen De Dauw</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Distribution]]></category>
		<category><![CDATA[Extension management]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[GSoC 2010]]></category>
		<category><![CDATA[MediaWiki]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Planet Wikimedia]]></category>
		<category><![CDATA[Refactoring]]></category>
		<category><![CDATA[Wikimedia]]></category>

		<guid isPermaLink="false">http://blog.bn2vs.com/?p=962</guid>
		<description><![CDATA[As Google Summer of Code (GSoC) 2010 has ended, I&#8217;m writing this blog post to outline what I&#8217;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 to all other people who [...]]]></description>
			<content:encoded><![CDATA[<p>As <a href="http://code.google.com/soc/">Google Summer of Code</a> (GSoC) 2010 has ended, I&#8217;m writing this blog post to outline what I&#8217;ve done during the coding period and what the results are. Thanks go to the <a href="http://wikimediafoundation.org/">Wikimedia Foundation</a> and Google for providing the opportunity to do this project, <a href="http://identi.ca/brionv">Brion Vibber</a>, who mentored me, and to all other people who helped me out, especially <a href="http://yaronkoren.com/">Yaron Koren</a> who I bugged the most <img src='http://blog.bn2vs.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="https://code.google.com/soc/"><img class="size-full wp-image-975 alignright" title="Google Summer of Code 2010" src="http://blog.bn2vs.com/wp-content/uploads/2010/08/2010_NoURL_300x267px.jpg" alt="Google Summer of Code 2010" width="300" height="267" /></a></p>
<p><strong>What I did during GSoC</strong></p>
<p>My <a href="http://www.mediawiki.org/wiki/User:Jeroen_De_Dauw/GSoC2010/Proposal">initial proposal</a> was to create an <strong>awesome</strong> extension management platform for <a href="http://www.mediawiki.org/wiki/MediaWiki">MediaWiki</a> that would allow for functionality similar to what you have in the WordPress admin panel. After doing some research I realized this would require significant effort in two areas: configuration and deployment. After looking at some already existing tools such as the <a href="http://www.mediawiki.org/wiki/Extension:Configure">Configure</a> extension and the Deployment Framework of Ontoprise, I decided to completely drop the configuration part and concentrate on the deployment work.</p>
<p>I started with porting the filesystem abstraction classes from WordPress, which are needed for doing any upgrade or installation operations that include changes to the codebase. (The current MediaWiki installer can do upgrades, but only to the database.) I created a new extension called <a href="http://www.mediawiki.org/wiki/Extension:Deployment">Deployment</a>, where I put in this code, and which was intended as a place to experiment with all the MediaWiki-installation side deployment stuff. As You obviously want this functionality to be part of MediaWiki itself, I wrote it with the idea of moving over the code to MediaWiki core once it was finished. It turned out that doing filesystem upgrades securely is not an easy task though, so after finishing the port, I quitted work on this as I decided to do other functionality first.</p>
<p>I then poked somewhat at the new MediaWiki installer, which is a complete rewrite of the current installer with a lot of new cool stuff and a totally more awesome interface. I made some minor imrpovements there, and split the Installer class, which held core installer functionality, into a more generic Installer class and a CoreInstaller. This allows for creating an ExtensionInstaller that uses the same base code, such as database, filesystem and LocalsSttings manipulation.</p>
<p>After this I started thinking about how to best structure a package repository for MediaWiki and extensions to get updates and new extensions from. I had a look at <a href="http://en.wikipedia.org/wiki/PEAR">PEAR</a> and <a href="http://en.wikipedia.org/wiki/CPAN">CPAN</a>, as well as <a href="http://en.wikipedia.org/wiki/WordPress">WordPress</a>, although I don&#8217;t learn a lot about the later. Apparently their repository code is not freely available <img src='http://blog.bn2vs.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  After discussion with <a href="http://identi.ca/brionv">Brion</a> I decided to just create the repository from scratch, and started working on another extension, titled <a href="http://www.mediawiki.org/wiki/Extension:Distribution">Distribution</a>, for this purpose. I merged it together with a rewritten version of the MWReleases extension written by Chad, which already had core update detection functionality.</p>
<p>After the Distribution API&#8217;s where working decently I started work on the Special pages in Distribution that would serve as the equivalent of the WordPress admin panel. As I put of the configuration work, and also the file-system manipulation for the initial version, this came down to simply listing currently installed software, update detection and browsing through extensions available in the repository.</p>
<p>On top of my GSoC project itself, I did quite some other MediaWiki work in &#8220;my free time&#8221;. I released 5 new versions of <a href="http://www.mediawiki.org/wiki/Extension:Maps">Maps</a> and <a href="http://www.mediawiki.org/wiki/Extension:Semantic_Maps">Semantic Maps</a>, starting with 0.6 and ending at 0.6.5. As I finally got core commit access, I also poked at some other things, such as Special:Version, which now will automatically put all extensions of unknown type in the &#8220;other&#8221; category, and will display this category as the last one. Plus misc minor improvements to a verity of extensions. This all amounts into a little over 550 commits to the MediaWiki SVN repository during the GSoC coding period.</p>
<p><strong>State of the code</strong></p>
<p>The Distribution extension has the infrastructure for storing and providing extension and core data via the <a href="http://www.mediawiki.org/wiki/API">MediaWiki API</a> basically ready for use. It adds 4 database tables to MediaWiki:</p>
<ul>
<li>distribution_units: This table stores non-version specific info of &#8216;release units&#8217; . Currently these unit&#8217;s are extensions only &#8211; the reason I went for a more general name is to allow for adding other things such as skins and content packages later on. The info here consist of a name, a URL, a description and a pointer to the &#8220;current version&#8221;.</li>
<li>distribution_unit_versions: Entries in this table contain info about a specific version of a &#8216;release unit&#8217;. The info here consists of a version number, release status (beta, rc, stable, deprecated, &#8230;), release data, authors, description and some installation data.</li>
<li>distribution_mwreleases: This table contains MediaWiki releases. It has been merged in from <a href="http://www.mediawiki.org/wiki/Extension:MWReleases">MWReleases</a>, so all credit for it goes to <a href="http://identi.ca/chadh">Chad</a>.</li>
<li>distribution_packages: This table is not in use yet, and needs some more work. The goal is to be able to install a &#8220;package&#8221; onto your wiki which can contain multiple &#8216;distribution units&#8217;. This would basically be the same as Semantic Bundle is doing now, but a lot easier to set up and maintain.</li>
</ul>
<p>The API modules added are:</p>
<ul>
<li>ApiQueryExtensions: Returns a list of extensions matching certain search criteria, which can include keywords, tags and authors. Only extensions with a version that has a release state acceptable for your installation are returned.</li>
<li>ApiMWReleases: Gets the current MediaWiki releases. Like this distribution_mwreleases database table, this has been merged in from MWReleases and all credits go to Chad.</li>
<li>ApiUpdates: This API module returns update information for the extensions you give it, and does the same for MediaWiki itself if a core version number is provided. The only info that&#8217;s returned is a version number for each unit or core, if there is an update. Otherwise nothing will be returned for that unit or core.</li>
</ul>
<p>To populate the database with existing extension info I wrote a maintenance script &#8220;getSvnMetadata&#8221;, which goes through a local checkout of the MediaWiki extensions directory and get&#8217;s the names from the extensions. I haven&#8217;t found a good way yet to also get other extension data though.</p>
<p>The Deployment extension contains an abstraction layer for repository interaction and several interfaces that use this. The abstraction layer allows for supporting different kinds of repositories. The only implementation it currently has is for interaction with repositories provided by the Distribution extension.  It&#8217;s also a convenient point to implement caching, as you probably don&#8217;t want to send the requests for available updates every time you view a page on the admin panel, and allows for changes to the format the repository uses without any effects in other parts of Deployment. The interfaces that are finished to some extend are:</p>
<ul>
<li>Special:Extensions: This page lists all installed extensions and allows you to filter on extension type. It&#8217;s based on the WordPress &#8220;plugins&#8221; page and is currently only an improved version of the extension list in Special:Version. It&#8217;s the only special page added by Deployment that can be viewed by non administrators. When logged in however, every extension has a list of links allowing you do various actions. The extension info is handled by a new class ExtensionInfo, which parses the info of individual extensions in $wgExtensionCredits, and provides a more convenient way to work with it. This allows for adding support for a new, better, extension info format later on. A planned feature for this special page is showing update notifications in each extension row.</li>
</ul>
<p><a href="http://www.mediawiki.org/wiki/Extension:Deployment"><img class="alignnone size-full wp-image-971" title="Special:Extensions shwoing a list of all extensions installed and some filter options" src="http://blog.bn2vs.com/wp-content/uploads/2010/08/special-extensions1.png" alt="Special:Extensions shwoing a list of all extensions installed and some filter options" width="778" height="271" /></a></p>
<ul>
<li>Special:Install: This page allows you to search through available extensions in the repository. The interface is based on the &#8220;plugin-install&#8221; page of WordPress and allows for searching extensions based on term, tag or author. After performing a search you get a list of matching extensions showing their name, version, authors, description, link to the documentation, and a link to download them. Later on this download link will be replaced by an &#8220;Install&#8221; one.</li>
</ul>
<p><a href="http://www.mediawiki.org/wiki/Extension:Deployment"><img class="alignnone size-full wp-image-972" title="Special:Install displaying controls to browse extensions in the repository" src="http://blog.bn2vs.com/wp-content/uploads/2010/08/special-install1.png" alt="Special:Install displaying controls to browse extensions in the repository" width="817" height="209" /></a></p>
<ul>
<li>Special:Update: This page will inform you of any updates to both core and extensions. It&#8217;s behaves basically identical the WordPress &#8220;update&#8221; page.</li>
</ul>
<p><a href="http://www.mediawiki.org/wiki/Extension:Deployment"><img class="alignnone size-full wp-image-973" title="Special:Update displaying available updates, in this case there are none" src="http://blog.bn2vs.com/wp-content/uploads/2010/08/special-update.png" alt="Special:Update displaying available updates, in this case there are none" width="658" height="214" /></a></p>
<p>The extension allows you to configure several aspects of the repository interaction:</p>
<ul>
<li>$wgRepositoryApiLocation: This might be an obvious one, but also a very important one, as it  allows you to use a repository other the the Wikimedia Foundation one on  mediawiki.org, which will be the default.</li>
<li>$wgRepositoryLocation: This is similar to the previous setting, but links to a web interface providing browsing capabilities through the repository, or at least some additional info.</li>
<li>$wgRepositoryPackageStates: This is a list of allow release states. By default these will only be &#8220;stable&#8221; and &#8220;beta&#8221;. Early adopters can also add &#8220;dev&#8221; and &#8220;alpha&#8221;, and there also is &#8220;rc&#8221; and &#8220;deprecated&#8221;.</li>
</ul>
<p><strong>What&#8217;s next?</strong></p>
<p>Although some very basic functionality is working, quite some work still needs to be done to get this to the WordPress-<strong>awesomeness</strong> level. Let&#8217;s first have a look at Distribution and then Deployment:</p>
<p>The most basic issue with Distribution currently is that there is no script yet that allows collecting all current extension data, which is needed for it to be of any use. I&#8217;m not sure how gathering current data can be properly automated, which is the main reason the script doesn&#8217;t exist yet. Any suggestions here are very welcome! After the initial version it should be possible for extension authors to edit their extensions data, and create new releases. For this we&#8217;ll need some new special pages. The data itself can then be used to populate the extension pages on mediawiki.org, and some new magic words such as &#8220;current MediaWiki version&#8221;, can automate a bunch of stuff. After these things new features can be added, such as the management of packages, and more detailed extension information, including things such as dependencies and compatibility info.</p>
<p>Deployment mainly needs interface work, and will need additions to support any new information provided by the Distirbution repository. A cool feature that could be added is supplying the repository with installation information (obviously optionally), which would allow the developers to get an idea of which versions of MediaWiki core and extensions people are using. After the whole MediaWiki deployment model has been revised and is up and running, it&#8217;s configuration can similarly be reinvented. The interfaces added by Deployment can then be adapted to allow contain extension configuration.</p>
<p><a href="https://secure.wikimedia.org/wikipedia/mediawiki/wiki/Deployment"><img class="alignnone size-full wp-image-981" title="Design for the initial MedaWiki deployment system" src="http://blog.bn2vs.com/wp-content/uploads/2010/08/MedaWiki-deployment-initial1.png" alt="Design for the initial MedaWiki deployment system" width="862" height="522" /></a></p>
<p><strong>GSoC 2011?</strong></p>
<p>This was my last GSoC as a student, as I no longer qualify, since I quitted my official studies. If I&#8217;m still doing MediaWiki development next year, which I guess is pretty likely, there is a lot of change I&#8217;ll be signing up as a mentor though <img src='http://blog.bn2vs.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  If you are interested in being a student in 2011, you can already put your name on the <a href="http://www.mediawiki.org/wiki/Summer_of_Code_2011">2011 GSoC page</a> <img src='http://blog.bn2vs.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Some useful links</strong></p>
<ul>
<li>My <a href="http://blog.bn2vs.com/tag/gsoc-2010/">blog posts</a> about this project</li>
<li>The <a href="http://www.mediawiki.org/wiki/Summer_of_Code_2010">Wikimedia 2010 GSoC page</a> with all GSoC projects</li>
<li><a href="http://www.mediawiki.org/wiki/Extension:Distribution">Distribution</a> and <a href="http://www.mediawiki.org/wiki/Extension:Deployment">Deployment</a> extensions</li>
<li>My <a href="https://secure.wikimedia.org/wikipedia/mediawiki/wiki/User:Jeroen_De_Dauw">MediaWiki.org user page</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.bn2vs.com/2010/08/20/end-of-google-summer-of-code-2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Special:Extensions taking form</title>
		<link>http://blog.bn2vs.com/2010/08/14/specialextensions-taking-form/</link>
		<comments>http://blog.bn2vs.com/2010/08/14/specialextensions-taking-form/#comments</comments>
		<pubDate>Sat, 14 Aug 2010 19:23:55 +0000</pubDate>
		<dc:creator>Jeroen De Dauw</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Extension management]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[GSoC 2010]]></category>
		<category><![CDATA[MediaWiki]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Planet Wikimedia]]></category>
		<category><![CDATA[Wikimedia]]></category>

		<guid isPermaLink="false">http://blog.bn2vs.com/?p=957</guid>
		<description><![CDATA[Just a few quick screenshots of Special:Extensions, on which I&#8217;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 &#8220;Installed extensions&#8221; title. Here I [...]]]></description>
			<content:encoded><![CDATA[<p>Just a few quick screenshots of Special:Extensions, on which I&#8217;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:</p>
<p><a href="https://secure.wikimedia.org/wikipedia/mediawiki/wiki/Extension:Deployment"><img class="alignnone size-full wp-image-958" title="Special:Extensions page showing all installed extensions" src="http://blog.bn2vs.com/wp-content/uploads/2010/08/mediawiki-special-extensions.png" alt="Special:Extensions page showing all installed extensions" width="910" height="415" /></a></p>
<p>As you can see, you can now filter on extension type with the control right below the &#8220;Installed extensions&#8221; title. Here I have filtered on the SEMANTIC extensions:</p>
<p><a href="https://secure.wikimedia.org/wikipedia/mediawiki/wiki/Extension:Deployment"><img class="alignnone size-full wp-image-959" title="Special:Extensions showing semantic extensions" src="http://blog.bn2vs.com/wp-content/uploads/2010/08/mediawiki-special-extensions-semantic.png" alt="Special:Extensions showing semantic extensions" width="892" height="325" /></a></p>
<p>An interesting change I made is that you can now access this page without having the siteadmin permission. Doing this will get the above, but without the add new button and administration controls (currently only &#8220;Deactivate&#8221; which is there only for show so far). This way this page will be a nice addition to Special:Version.</p>
<p>Tomorrow is the last coding day in <a href="http://blog.bn2vs.com/tag/gsoc-2010/">Google Summer of Code 2010</a>, during which I&#8217;m planning to focus on the update detection functionality, or rather creating the interface for it, as the plumbing for it is all but done. I also want to move several classes from <a href="https://secure.wikimedia.org/wikipedia/mediawiki/wiki/Extension:Deployment">Deployment</a> over to <a href="http://blog.bn2vs.com/tag/mediawiki/">MediaWiki</a> core, as they make more sense to have there, and would allow for some nice improvements.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bn2vs.com/2010/08/14/specialextensions-taking-form/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visible awesomeness at last</title>
		<link>http://blog.bn2vs.com/2010/08/12/visible-awesomeness-at-last/</link>
		<comments>http://blog.bn2vs.com/2010/08/12/visible-awesomeness-at-last/#comments</comments>
		<pubDate>Thu, 12 Aug 2010 14:39:43 +0000</pubDate>
		<dc:creator>Jeroen De Dauw</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Distribution]]></category>
		<category><![CDATA[Extension management]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[GSoC 2010]]></category>
		<category><![CDATA[MediaWiki]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Planet Wikimedia]]></category>
		<category><![CDATA[Wikimedia]]></category>

		<guid isPermaLink="false">http://blog.bn2vs.com/?p=945</guid>
		<description><![CDATA[Since my last blog post about my GSoC project, which aims to bring more awesome deployment capabilities to MediaWiki, I&#8217;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 I finally have some functionality [...]]]></description>
			<content:encoded><![CDATA[<p>Since my <a href="http://blog.bn2vs.com/2010/08/07/distribution-extension-for-mediawiki/">last blog post</a> about my <a href="http://blog.bn2vs.com/tag/gsoc-2010/">GSoC project</a>, which aims to bring more awesome <a href="https://secure.wikimedia.org/wikipedia/mediawiki/wiki/Deployment">deployment capabilities</a> to MediaWiki, I&#8217;ve been putting my time into both the <a href="https://secure.wikimedia.org/wikipedia/mediawiki/wiki/Extension:Distribution">Distribution</a> and <a href="https://secure.wikimedia.org/wikipedia/mediawiki/wiki/Extension:Deployment">Deployment</a> extensions. I was pleased to find a bunch of stuff was easier to do then I had imagined, and now I finally have some functionality you can actually see working &#8211; yay <img src='http://blog.bn2vs.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  It&#8217;s not a lot, as this is just very rudimentary and even uses demo data at places. Still it&#8217;s very nice to be able to post some screenshots after months of doing research and poking at code. I also got a new crappy diagram (although I think I&#8217;m succeeding in getting them less crappy each iteration) that shows the architecture of the initial versions I&#8217;m working towards.</p>
<p><a href="https://secure.wikimedia.org/wikipedia/mediawiki/wiki/Deployment"><img class="alignnone size-full wp-image-946" title="MedaWiki-deployment-initial" src="http://blog.bn2vs.com/wp-content/uploads/2010/08/MedaWiki-deployment-initial.png" alt="Planned architecture for the initial versions of the MediaWiki deployment extensions" width="794" height="311" /></a></p>
<p>The following screenshots show an import script running. This script is part of Distribution and is meant to get data from a checked out copy of the extensions directory and store it into the database tables provided by Distribution. I haven&#8217;t found a good way to actually get the extension data other then their path names (for example &#8216;SemanticMediaWiki&#8217;), so have a function that&#8217;s just returning some demo data.</p>
<p><a href="https://secure.wikimedia.org/wikipedia/mediawiki/wiki/Extension:Distribution"><img class="alignnone size-full wp-image-947" title="MediaWiki deployment package metadata import script" src="http://blog.bn2vs.com/wp-content/uploads/2010/08/importScript.png" alt="MediaWiki deployment package metadata import script" width="848" height="273" /></a></p>
<p><a href="https://secure.wikimedia.org/wikipedia/mediawiki/wiki/Extension:Distribution"><img class="alignnone size-full wp-image-948" title="MediaWiki deployment package metadata import script" src="http://blog.bn2vs.com/wp-content/uploads/2010/08/importScript2.png" alt="MediaWiki deployment package metadata import script" width="656" height="206" /></a></p>
<p>Via Deployment you can search for extensions by keyword, author or tag. This is done by making a request to the API provided by Distribution which serves the data collected by the script. This screenshot shows the interface I have created so far:</p>
<p><a href="https://secure.wikimedia.org/wikipedia/mediawiki/wiki/Extension:Deployment"><img class="alignnone size-large wp-image-949" title="First working version of Special:Install" src="http://blog.bn2vs.com/wp-content/uploads/2010/08/special-install-1024x242.png" alt="First working version of Special:Install" width="1024" height="242" /></a></p>
<p>And after clicking the button, you get:</p>
<p><a href="https://secure.wikimedia.org/wikipedia/mediawiki/wiki/Extension:Deployment"><img class="alignnone size-large wp-image-950" title="First working version of Special:Install shwoing a list of extensions that matched the searched made, in this case &quot;Semantic&quot;" src="http://blog.bn2vs.com/wp-content/uploads/2010/08/special-install-list-1024x519.png" alt="First working version of Special:Install shwoing a list of extensions that matched the searched made, in this case &quot;Semantic&quot;" width="1024" height="519" /></a></p>
<p>As I&#8217;m doing with all special pages in Deployment, Special:Install&#8217;s layout and functionality is based on what WordPress has in it&#8217;s admin panel.</p>
<p>I also put some work in Special:Extensions already, although it&#8217;s basically just Special:Version with just the extensions for now.</p>
<p><a href="https://secure.wikimedia.org/wikipedia/mediawiki/wiki/Extension:Deployment"><img class="alignnone size-large wp-image-951" title="Development version of Special:Extensions showing the installed extensions. " src="http://blog.bn2vs.com/wp-content/uploads/2010/08/special-extensions-1024x493.png" alt="Development version of Special:Extensions showing the installed extensions. " width="1024" height="493" /></a></p>
<p>I&#8217;m not wring a real comprehensive overview of what features there are already, which are planned, and how I plan to create them for now, as there is little time left in GSoC (only 3 days!), and I want to get some more work finished before then <img src='http://blog.bn2vs.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bn2vs.com/2010/08/12/visible-awesomeness-at-last/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Distribution extension for MediaWiki</title>
		<link>http://blog.bn2vs.com/2010/08/07/distribution-extension-for-mediawiki/</link>
		<comments>http://blog.bn2vs.com/2010/08/07/distribution-extension-for-mediawiki/#comments</comments>
		<pubDate>Sat, 07 Aug 2010 03:49:26 +0000</pubDate>
		<dc:creator>Jeroen De Dauw</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Distribution]]></category>
		<category><![CDATA[Extension management]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[GSoC 2010]]></category>
		<category><![CDATA[MediaWiki]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Planet Wikimedia]]></category>
		<category><![CDATA[Wikimedia]]></category>

		<guid isPermaLink="false">http://blog.bn2vs.com/?p=941</guid>
		<description><![CDATA[With only 2 days till the suggested Google Summer of Code &#8216;pencils down&#8217; date, and a week longer until the firm one, I&#8217;m using my remaining time to get some basic functionality working for my GSoC project. I&#8217;ve started creating a new extension called Distribution that will provide an API module which can be used [...]]]></description>
			<content:encoded><![CDATA[<p>With only 2 days till the suggested Google Summer of Code &#8216;pencils down&#8217; date, and a week longer until the firm one, I&#8217;m using my remaining time to get some basic functionality working for <a href="http://blog.bn2vs.com/tag/gsoc-2010/">my GSoC project</a>. I&#8217;ve started creating a new extension called <a href="https://secure.wikimedia.org/wikipedia/mediawiki/wiki/Extension:Distribution">Distribution</a> that will provide an API module which can be used to query extension meta-data. Later on it should also be able to do this for core, and provide  archived packages that can be downloaded to your MediaWiki server, and  directly installed. Initially I&#8217;ll probably simply be pointing to the <a href="https://secure.wikimedia.org/wikipedia/mediawiki/wiki/Extension:ExtensionDistributor">ExtensionDistributor</a> extension on MediaWiki.org, which can create archives for extensions on request. The <a href="https://secure.wikimedia.org/wikipedia/mediawiki/wiki/Extension:Deployment">Deployment</a> extension which I started on earlier on will use data obtained via the API Distribution provides to display available extensions on your local installation.  Right now I&#8217;m attempting to get the ExtensionDistributor working locally, so I can develop the Distribution extension alongside it, and confirm everything works. This will take some time as it uses Linux/UNIX specific commands, forcing me to use my Kubuntu install, on which my dev environment is only partially set up at the moment.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bn2vs.com/2010/08/07/distribution-extension-for-mediawiki/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>MediaWiki Deployment: Modifying the new installer</title>
		<link>http://blog.bn2vs.com/2010/07/22/mediawiki-deployment-modifying-the-new-installer/</link>
		<comments>http://blog.bn2vs.com/2010/07/22/mediawiki-deployment-modifying-the-new-installer/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 17:09:00 +0000</pubDate>
		<dc:creator>Jeroen De Dauw</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Extension management]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[GSoC 2010]]></category>
		<category><![CDATA[MediaWiki]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Planet Wikimedia]]></category>
		<category><![CDATA[Refactoring]]></category>
		<category><![CDATA[Wikimedia]]></category>

		<guid isPermaLink="false">http://blog.bn2vs.com/?p=925</guid>
		<description><![CDATA[I got a new diagram!!!1!11!! It&#8217;s based on my previous one, but slightly more elaborate, and a lot less messy, as I now used Dia to create it Legend: Striped lines: Existing components where code will be copied from, or based upon. Full lines: Components of the complete deployment model. Thick full lines: Core components [...]]]></description>
			<content:encoded><![CDATA[<p>I got a new diagram!!!1!11!! It&#8217;s based on my <a href="http://blog.bn2vs.com/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 <img src='http://blog.bn2vs.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://blog.bn2vs.com/wp-content/uploads/2010/07/MwDeployment.png"><img class="alignnone size-large wp-image-926" title="MediaWiki deployment diagram" src="http://blog.bn2vs.com/wp-content/uploads/2010/07/MwDeployment-1024x389.png" alt="MediaWiki deployment diagram" width="1024" height="389" /></a></p>
<p><strong>Legend</strong>:</p>
<ul>
<li>Striped lines: Existing components where code will be copied from, or based upon.</li>
<li>Full lines: Components of the complete deployment model.</li>
<li>Thick full lines: Core components (of the deployment model) that I definitely want to have completed during <a href="http://blog.bn2vs.com/tag/gsoc/">GSoC</a>.</li>
</ul>
<p>Since my <a href="http://blog.bn2vs.com/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 <img src='http://blog.bn2vs.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<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>
]]></content:encoded>
			<wfw:commentRss>http://blog.bn2vs.com/2010/07/22/mediawiki-deployment-modifying-the-new-installer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MediaWiki.org user page 1 year</title>
		<link>http://blog.bn2vs.com/2010/07/20/mediawiki-org-user-page-1-year/</link>
		<comments>http://blog.bn2vs.com/2010/07/20/mediawiki-org-user-page-1-year/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 01:57:13 +0000</pubDate>
		<dc:creator>Jeroen De Dauw</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[MediaWiki]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.bn2vs.com/?p=921</guid>
		<description><![CDATA[Today my MediaWiki.org user page is one year old &#8211; I created the first version on July 20, 2009. With my SVN account also approaching it&#8217;s first birthday, I can now say I&#8217;m doing MediaWiki development for a year. A lot has happened in this year. I created the Maps and Semantic Maps extensions, and [...]]]></description>
			<content:encoded><![CDATA[<p>Today my <a href="http://www.mediawiki.org">MediaWiki.org</a> <a href="http://www.mediawiki.org/wiki/User:Jeroen_De_Dauw">user page</a> is one year old &#8211; I created <a href="http://www.mediawiki.org/w/index.php?title=User:Jeroen_De_Dauw&amp;oldid=266442">the first version</a> on July 20, 2009. With my SVN account also approaching it&#8217;s first birthday, I can now say I&#8217;m doing MediaWiki development for a year. A lot has happened in this year.</p>
<p>I created the <a href="http://www.mediawiki.org/wiki/Extension:Maps">Maps</a> and <a href="http://www.mediawiki.org/wiki/Extension:Semantic_Maps">Semantic Maps</a> extensions, and have continues releasing big and small updates the whole year long. At the end of 2009 I created the <a href="http://www.mediawiki.org/wiki/Extension:Validator">Validator</a> extension to facilitate parameter handling in Maps and Semantic Maps. In early 2010 I was contracted by the Wikimedia Foundation to create the <a href="http://www.mediawiki.org/wiki/Extension:Storyboard">Storyboard</a> extension, and by the Karlsruhe Institute of Technology to do work on <a href="http://semantic-mediawiki.org">Semantic MediaWiki</a>. In May 2010 I started working on my <a href="http://blog.bn2vs.com/tag/gsoc-2010">Google Summer of Code 2010</a> project to create an extension management platform for MediaWiki. In between all these things I made various contributions to other extensions, including Semantic Forms, Semantic Internal Objects, Page Object Model, Semantic Compound Queries, Semantic Result Formats and Approved Revisions.</p>
<p>Next to all the code I created and released, I also attended several events and gave a number of presentations. These events include SMWCamp 2009 in Karlsruhe, the Berlin developers workshop in April and <a href="http://blog.bn2vs.com/2010/07/13/wikimania-2010/">Wikimania 2010</a> in Gdansk.</p>
<p>I&#8217;m currently all time MediaWiki comitter #18, with 1080 commits. Looking forward to all the awesome stuff I can do in the coming year <img src='http://blog.bn2vs.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bn2vs.com/2010/07/20/mediawiki-org-user-page-1-year/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MediaWiki deployment</title>
		<link>http://blog.bn2vs.com/2010/07/15/mediawiki-deployment/</link>
		<comments>http://blog.bn2vs.com/2010/07/15/mediawiki-deployment/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 23:28:46 +0000</pubDate>
		<dc:creator>Jeroen De Dauw</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Crappy diagram]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Extension management]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[GSoC 2010]]></category>
		<category><![CDATA[Installer]]></category>
		<category><![CDATA[MediaWiki]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Planet Wikimedia]]></category>
		<category><![CDATA[Wikimedia]]></category>

		<guid isPermaLink="false">http://blog.bn2vs.com/?p=896</guid>
		<description><![CDATA[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 the goals of my project [...]]]></description>
			<content:encoded><![CDATA[<p>A lot has happened in my <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Google_Summer_of_Code">Google Summer of Code</a> project since my <a href="http://blog.bn2vs.com/2010/06/10/extension-management-platform/">last blog post about it</a>, so here is another update. I did give a short presentation about it <a href="http://blog.bn2vs.com/2010/07/13/wikimania-2010/">at Wikimania 2010</a>, but that did not go very well unfortunately. You can <a href="http://wiki.bn2vs.com/File:2010_07_07_MediaWiki_Deployment.odp">get the slides</a> though.</p>
<p>I changed the goals of my project again, from building an extension management platform build onto the <a href="http://smwforum.ontoprise.com/smwforum/index.php/Help:Deployment_Framework">Deployment Framework</a> and <a href="http://www.mediawiki.org/wiki/Extension:Configure">Configure</a> to creating a more general Deployment base on which the new MediaWiki installer and extension management can run. The reason for this change is that it makes a lot more sense from a technical perspective. The work done by the MediaWiki installer, and the still-to-be-created realized extension management is very similar after all. Because of this change I renamed the project from Extension Management Platform to <a href="http://www.mediawiki.org/wiki/Deployment">Deployment</a>.</p>
<p><strong>Goals</strong></p>
<p>So let&#8217;s have a look at what my idea of the end product is, from an  users perspective. There would be 4 new special pages with the extension  management functionality, largely based on what you can do in  WordPress:</p>
<ul>
<li>Special:Install: On this page administrators can browse and search through extensions  that are in the connected repository. This can be very basic to start  with, but should eventually include filtering on categories and  keywords, popularity, rating, ect.</li>
<li>Special:Update: Checks for updates for both core and extensions, and shows update  options for individual components, or the whole deal.</li>
<li>Special:Extensions: A page listing all installed extensions, with options to uninstall,  disable and upgrade them, as well as links to documentation, ect. Once  MediaWiki has a configuration database, links to configure the  extensions can also be included here.</li>
<li>Special:Dashboard: A dashboard for administrators containing update information and fancy  stuff like statistics.</li>
</ul>
<p>The new MediaWiki installer would also have support for installation extension on initial run, and be able to do a complete core upgrade, instead of just a database update as is now the case.</p>
<p><strong>Technical </strong></p>
<p>This is a rough draft of how I see the structure of the end product, and where  the code is coming from:</p>
<p><a href="http://blog.bn2vs.com/wp-content/uploads/2010/07/800px-Mwdeployment.jpg"><img class="alignnone size-full wp-image-897" title="MediaWiki deployment" src="http://blog.bn2vs.com/wp-content/uploads/2010/07/800px-Mwdeployment.jpg" alt="MediaWiki deployment" width="800" height="592" /></a></p>
<p>I&#8217;m in search of a quick and easy diagram tool to make a cleaner and more elaborate version <img src='http://blog.bn2vs.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h4>Stuff we  already have</h4>
<p>The underneath items have been completed, or require only a little work.</p>
<ul>
<li>Web interface for the core installer.</li>
<li>Database abstraction for the installer.</li>
<li>CLI interface for the core installer? (in progress)</li>
<li>Core installer class with database install and upgrade capabilities.</li>
<li>Filesystem abstraction (I ported this from WP (<a rel="nofollow" href="http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/Deployment/includes/">see code here</a>), mostly done,  no testing done yet though).</li>
</ul>
<h4>Stuff  that&#8217;s still needed</h4>
<ul>
<li>Everything related to detecting updates, fetching packages and  instructions, ect. The DF has some nice stuff that can be used here, so  does WP. It&#8217;s be nice to also have an abstraction layer here, so  multiple mechanisms can be used here. An extension repository also needs  to be set up, preferably on mediawiki.org.</li>
<li>Filesystem support for the installer, so it can be used to upgrade  MW by clicking a button and then just fetching the new release and doing  all the work. This can be achieved by creating the generic installer  class and making the core installer inherit from it.</li>
<li>Extension installer class and the special pages that provide an  interface to it.</li>
<li>Extension support for the core installer: installation and upgrade.  This can be done by re-using the code of the special pages.</li>
<li>CLI support for extension management</li>
</ul>
<h3>Work done</h3>
<p>This is a list of the work I have so far done during this project, oldest first.</p>
<ul>
<li>I researched all involved components and created the above draft.</li>
<li>I ported the WordPress filesystem abstraction classes (base class, FTP and direct  one).</li>
<li>I got core commit access (yay!), so I now can make changes to the new installer.</li>
</ul>
<h3>Roadmap</h3>
<p>A rather loose planning of what I&#8217;m planning to do next:</p>
<ul>
<li>Finish porting SSH2 filesystem abstraction class.</li>
<li>Figure out how to make the whole system secure.</li>
<li>Create installer class, adapt to core installer to work with this,  and also create the extension installer class.</li>
<li>Take care of the fetching stuff.</li>
<li>Create the interfaces.</li>
</ul>
<p>I&#8217;ll update <a href="http://www.mediawiki.org/wiki/Deployment">the deployment wiki page</a> as I make progress, but probably won&#8217;t make a lot of blog posts about it, as I want to focus on the work itself. Suggestions are welcome on <a href="http://www.mediawiki.org/wiki/Talk:Deployment">the discussion page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bn2vs.com/2010/07/15/mediawiki-deployment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wikimania 2010</title>
		<link>http://blog.bn2vs.com/2010/07/13/wikimania-2010/</link>
		<comments>http://blog.bn2vs.com/2010/07/13/wikimania-2010/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 13:22:50 +0000</pubDate>
		<dc:creator>Jeroen De Dauw</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[Mapping]]></category>
		<category><![CDATA[Maps]]></category>
		<category><![CDATA[MediaWiki]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Planet Wikimedia]]></category>
		<category><![CDATA[Semantic Maps]]></category>
		<category><![CDATA[Semantics]]></category>
		<category><![CDATA[SMW]]></category>
		<category><![CDATA[Wikimania]]></category>
		<category><![CDATA[Wikimedia]]></category>
		<category><![CDATA[Wikipadia]]></category>

		<guid isPermaLink="false">http://blog.bn2vs.com/?p=875</guid>
		<description><![CDATA[Last 3 days I&#8217;ve been at the 2010 edittion of Wikimania, one of the biggest yearly wiki events. This year it was in Gdansk, Poland. I went by Plane from Eindhoven, together with Maarten, a moderator on the Dutch Wikipedia with &#62;5 year history, who drove me to the airport. I&#8217;ll start with the things [...]]]></description>
			<content:encoded><![CDATA[<p>Last 3 days I&#8217;ve been at the 2010 edittion of <a href="https://secure.wikimedia.org/wikipedia/meta/wiki/Wikimania">Wikimania</a>, one of the biggest yearly wiki events. This year it was in Gdansk, Poland. I went by Plane from Eindhoven, together with Maarten, a moderator on the Dutch Wikipedia with &gt;5 year history, who drove me to the airport.</p>
<p>I&#8217;ll start with the things that where not nice, basically the heat and the dormitories. It was 30+ Â°C practically the whole time, and the dormitory I stayed in, which was reserved by the event organizers for the attendees, was more like a sauna then a dormitory. It was located right next to a viaduct, so when opening the window at night, you&#8217;d get a lot of noise. On the last night the people from the event could not stay at that dormitory, and had to go somewhere else. Me and another attendee from Belgium got assigned some dormitory a few km away from the event. Saying this was a crappy one is an understatement. Furthermore, the payment was not arranged, so we had to pay for staying, while it should have been done by the event organizers as we paid for it?!!  In any case, this amounted to me having less then 10 hours of sleep over 4 nights <img src='http://blog.bn2vs.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  And they don&#8217;t have Club Mate in Gdansk o_O!!!</p>
<p><a href="http://blog.bn2vs.com/wp-content/uploads/2010/07/320px-Baner_Wikimania2010_-_Gdansk.png"><img class="alignright size-full wp-image-878" title="Wikimania 2010 Gdansk" src="http://blog.bn2vs.com/wp-content/uploads/2010/07/320px-Baner_Wikimania2010_-_Gdansk.png" alt="Wikimania 2010 Gdansk" width="320" height="207" /></a></p>
<p>I think the event itself was great, with lots of interesting talks,  <strong>awesome</strong> people and good food.</p>
<p>On the first day I missed the keynote since my flight arrived to late to see it, and only followed some non-technical talks, of which the most notable one was about <a href="https://secure.wikimedia.org/wikipedia/mediawiki/wiki/Extension:LiquidThreads">Liquid Threads</a>, the totally <strong>awesome</strong> extension by Andrew Garrett and now also some other people. I left early, skipping the deinner and following events, and went straight to the dormitory, to get some sleep (which failed &gt;_&gt;)</p>
<p>I gave 2 talks, one about my Google Summer of Code project, now titled <a href="https://secure.wikimedia.org/wikipedia/mediawiki/wiki/Deployment">Deployment</a>, and one about <a href="https://secure.wikimedia.org/wikipedia/mediawiki/wiki/Extension:Maps">Maps</a> and <a href="https://secure.wikimedia.org/wikipedia/mediawiki/wiki/Extension:SemanticMaps">Semantic Maps</a>, both on the second day. The Deployment talk went pretty bad, as I was extremely tired. Hopefully I got the core message across of the importance of having a solid and user friendly way of deployment. Apologies to all the people I forgot to give credits to! <a href="https://identi.ca/brightbyte">Daniel Kinzler</a> had some interesting security concerns which we discussed later on the day, together with <a href="https://identi.ca/makr">Markus</a>.</p>
<p>On the second day of the event there was a series of Semantic MediaWiki talks and workshops, kicked off by a presentation about the concept and what SMW has become over the past 5 years by Markus. This was followed by a workshop by Hans-JÃ¶rg Happel and Frank Dengler about Semantic Result Formats. Daniel Herzig gave a talk about AskTheWiki, and promising extension he is developing. There where two more SMW related talks focusing on the advantages of SMW and how it can be deployed. Later on the second day I gave my talk about Maps and Semantic Maps, preceded by one of Tim Alder, who presented the capabilities of the geo-related work on the toolserver. Luckily I was awake to some extend during this talk, and it went reasonably well IMO, although I had to rush through it, cause of to little time.</p>
<p>The second day was closed by the word premier of the movie &#8220;<a href="http://www.imdb.com/title/tt0960864/">Truth in Numbers</a>&#8220;, which aims at giving people an idea about the goals of the Wikimedia Foundation, and how it works. It shows arguments from both people involved or enthusiastic about the foundation, and those who think the world is going to explode if you go to Wikipedia for whatever reason. It will be interesting to see how this movie gets distributed and what effect it will have. I&#8217;m a little sad about how the creators choose to distribute it though, as it will require you to pay for it. It would be a lot more <strong>awesome</strong> if it was free with a big donate button. All the footage, which is a lot more then what&#8217;s seen in the movie itself includes, but not edited, will be released for free under a creative commons (or similar?) licence though.</p>
<p>The third day I found the most enjoyable as I did get some amount of sleep the night before. (In other words, I was awake enough again to program during the talks : ) The most interesting talk for me I followed here was definitely the one by <a href="https://identi.ca/catrope">Roan Kattouw</a> about writing MediaWiki extensions, which mentioned some things I did not know about yet (such as build in MediaWiki support for Memcached o_O), as well as provided a nice overview of the things you need to keep in mind. I wish I had seen it a year earlier though, as I would have learned a lot more from it then, and not made a lot of the noted beginner mistakes. In the next session I attended several strategy sessions, which gave me a nice idea of what all the strategy fuss is about. The last session I attended was about Wikimedia credibility, including a talk by Maarten about how information (esp the incorrect) spreads to other media. The other talks in this session where similar, and although obviously none of the issues addresses are technical in nature, I found several of them rather amusing.</p>
<p>It was great to meet all the people involved with SEMANTIC MediaWiki in person, as well as a bunch of people I only knew from IRC and other online communication tools. Sadly enough <a href="https://twitter.com/wikiworks">Yaron Koren</a> and <a href="https://identi.ca/brionv">Brion Vibber</a> and several other people I&#8217;d like to have seen there could not be at the event.</p>
<p>On the way back to Belgium I tackled a lot of small design issues that have been present in Maps and Semantic Maps for months, resulting in one big refactoring commit for each extension, which I made as soon as I was back home. After that I went to sleep, and woke up 19 hours later O_o</p>
<p>Next years Wikimania will be in Haifa, Israel. I&#8217;m probably going, but seriously hope it won&#8217;t be so insanely warm there <img src='http://blog.bn2vs.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bn2vs.com/2010/07/13/wikimania-2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Extension management platform</title>
		<link>http://blog.bn2vs.com/2010/06/10/extension-management-platform/</link>
		<comments>http://blog.bn2vs.com/2010/06/10/extension-management-platform/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 11:44:52 +0000</pubDate>
		<dc:creator>Jeroen De Dauw</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Awesome]]></category>
		<category><![CDATA[Extension management]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[GSoC 2010]]></category>
		<category><![CDATA[MediaWiki]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Planet Wikimedia]]></category>
		<category><![CDATA[Wiki]]></category>
		<category><![CDATA[Wikimedia]]></category>

		<guid isPermaLink="false">http://blog.bn2vs.com/?p=852</guid>
		<description><![CDATA[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 my goals. Since I can [...]]]></description>
			<content:encoded><![CDATA[<p>After doing a pile of research on how to best create an extension management platform for MediaWiki as <a href="http://blog.bn2vs.com/2010/04/26/google-summer-of-code-2010/">my Google Summer of Code project</a>, 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 my goals. Since I can build upon <a href="http://www.mediawiki.org/wiki/Extension:Configure">Configure</a>, and the <a href="http://smwforum.ontoprise.com/smwforum/index.php/Help:Deployment_Framework">Deployment Framework</a> of <a href="http://www.ontoprise.de">Ontoprise</a>, it should now be possible to also take care of the MediaWiki and extension configuration that I put as optional in <a href="http://www.mediawiki.org/wiki/User:Jeroen_De_Dauw/GSoC2010">my original proposal</a>. To have some transparency here, and not to cause misconceptions, I created an <strong>awesome</strong> <a href="http://www.mediawiki.org/wiki/Extension_Management_Platform/Roadmap">new roadmap</a>.</p>
<p>I did an  attempt to get some feedback by posting my roadmap on  wikitech-l, but apparently everyone is either happy with it, or more  likely, Parkinson&#8217;s  Law of Triviality is in play here. So feedback and  suggestions are definitely welcome, you can post them on <a href="http://www.mediawiki.org/wiki/Talk:Extension_Management_Platform">the  discussion page</a>.</p>
<p>As Configure is doing an <strong>awesome</strong> job already without making significant  changes to any existing code, I decided to start off with the Deployment  Framework. I&#8217;m currently in the process of figuring out how it works  exactly, so I&#8217;m able to extend it&#8217;s features, and build a GUI in the  form of several MediaWiki special pages on top of it. This will have some immediate pay-off as Ontoprise will be able to use this improved version directly.</p>
<p>Both my presentations for <a href="http://wikimania2010.wikimedia.org/wiki/Main_Page">Wikimania 2010</a> have been accepted, of which <a href="http://wikimania2010.wikimedia.org/wiki/Submissions/Extension_Management_Platform">one is about my project</a>, which will give me a change to explain to people what I&#8217;m doing and why it&#8217;s so <strong>awesome</strong> <img src='http://blog.bn2vs.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bn2vs.com/2010/06/10/extension-management-platform/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Semantic Maps 0.6 &#8211; almost there?</title>
		<link>http://blog.bn2vs.com/2010/04/30/semantic-maps-0-6-almost-there/</link>
		<comments>http://blog.bn2vs.com/2010/04/30/semantic-maps-0-6-almost-there/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 23:12:26 +0000</pubDate>
		<dc:creator>Jeroen De Dauw</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Geocoding]]></category>
		<category><![CDATA[Google Earth]]></category>
		<category><![CDATA[Google Maps]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Mapping]]></category>
		<category><![CDATA[Maps]]></category>
		<category><![CDATA[MediaWiki]]></category>
		<category><![CDATA[Open Layers]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[OpenStreetMap]]></category>
		<category><![CDATA[OSM]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Refactoring]]></category>
		<category><![CDATA[Semantic Maps]]></category>
		<category><![CDATA[Semantic MediaWiki]]></category>
		<category><![CDATA[Semantics]]></category>
		<category><![CDATA[SMW]]></category>
		<category><![CDATA[Validator]]></category>
		<category><![CDATA[Wikimedia]]></category>
		<category><![CDATA[Yahoo! Maps]]></category>

		<guid isPermaLink="false">http://blog.bn2vs.com/?p=802</guid>
		<description><![CDATA[I&#8217;ve been working on Maps and Semantic Maps 0.6, the next big, awesome, release of both MediaWiki extensions, for over a month now. I also released an early alpha on the 3th of April. All planned new features have been implemented, and known bugs from 0.5.x have been fixed. So you might wonder why 0.6 [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on <a href="http://www.mediawiki.org/wiki/Extension:Maps">Maps</a> and <a href="http://www.mediawiki.org/wiki/Extension:Semantic_Maps">Semantic Maps</a> 0.6, the next big, <strong>awesome</strong>, release of both MediaWiki extensions, for over a month now. I also released an early alpha on the 3th of April. All planned new features have been implemented, and known bugs from 0.5.x have been fixed. So you might wonder why 0.6 is still not out.<a href="http://mapping.referata.com/"><img class="size-full wp-image-803 alignright" title="Semantic Maps" src="http://blog.bn2vs.com/wp-content/uploads/2010/04/SemanticMaps.png" alt="Semantic Maps" width="193" height="200" /></a></p>
<p>In response to the possibility of someone doing work on Maps and Semantic Maps during the upcoming <a href="http://blog.bn2vs.com/tag/gsoc/">Google Summer of Code</a>, I took a critical look at the current structure, holding into account all the things I learned over the last two month while working on <a href="http://blog.bn2vs.com/tag/Storyboard/">Storyboard</a>. I came to the conclusion that a bunch of things ought to be handled in a cleaner fashion, and started to refactor this code. The most difficult part here is changing how the display_map and display_point(s) parser functions handle their mapping service parameter and validate the provided location(s). I&#8217;ve been wanting to change this since 0.4, but didn&#8217;t since it&#8217;s rather tricky to do. I decided to finally get this done now, and have done most of the work. To complete these changes, I&#8217;ll have to make some rather complex modifications to <a href="http://www.mediawiki.org/wiki/Extension:Validator">Validator</a>, which can take a while to complete. That&#8217;s the last thing that needs to be done before the 0.6 release though <img src='http://blog.bn2vs.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I estimate this should be done in approximately 2 weeks, maybe sooner. After that I&#8217;m planning to release at least one RC, to ensure stability and complete <strong>awesomeness</strong>, cause really a lot has been changed. I figure about three quarters of the codebase has been changed in one way or another!</p>
<p>After this release a lot of cool new features can be added, which I might do before the GSoC coding period starts. There are also a few people who wanted to do a mapping project for GSoC at the WMF, but did not get accepted, which are planning to do some effort here after all, which is totally <strong>awesome</strong> <img src='http://blog.bn2vs.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bn2vs.com/2010/04/30/semantic-maps-0-6-almost-there/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

