User:PabloCastellano/GSoC 2011 Application

Identity
Name: Pablo Castellano Email: pablo@anche.no Project title: Making easier the migration of Drupal content to Mediawiki

Contact/working info
Timezone: UTC+2 Typical working hours: I prefer evenings and late nights IRC or IM networks/handle(s): pablog@FreeNode, my email address also as Jabber account

Project summary
My project is about making easier the migration of Drupal content to Mediawiki, making it almost transparent for the end-user or sysadmin.

The idea of this project has come to me because I collaborate with a libre telecommunications network project called Guifi.net, mainly developed in Catalonia but also in other places of Spain. During years, users have been creating every kind of contents in Drupal like events, tutorials, news, questions... and now there's so much disorganized information and everytime an user adds new content it's like it went to a black hole where nobody will realize of it. I and other collaborators have agreed that moving the content to a wiki would be more useful and easy for users to read. I tried to find some tool to do the migration but I found nothing.

In order to start with this migration process I wrote a few days ago a series of Python scripts to do it. What it does is simply getting the data from the Drupal database, wikifying it and writing it to Mediawiki revision by revision (to maintain the editions and the date they were done). This could be improved a lot by also saving comments in the discussion page, saving authorship, migrating images too, updating internal links... Taking profit of this work I'm going to do anyways, I could also take advantage and write a Mediawiki extension (or just a php script if it's more appropriated) in order to make the migration from Drupal to Mediawiki easier for users in a few steps.

About you
I'm currently studying Computers Engineering in the University of Málaga, Spain. I'm a geek and free software supporter who has been dealing with Linux since I was 13 (now I'm 22). I enjoy working in projects with social benefits and of course I love wikis and I use to contribute to the Spanish Wikipedia :D. My favorite programming languages are Python and C/C++.

Participating in GSoC is one of the things I wanted to do during my academic life. It's very exciting and to be honest I hadn't thought that I was going to write about it in 2011, but this idea came to me just two days ago and I just decided to go forward and give it a try.

Required deliverables

 * Studying database schemes of both Drupal and Mediawiki (this is mostly done).
 * Studying Mediawiki API.
 * Programming the migration script
 * Code a Mediawiki extension based on the previous script.
 * Make it user-friendly
 * Documentation

If time permits

 * Maybe doing the same but from Mediawiki to Drupal?

Community Bonding Period
- Getting in contact with the community - Getting into the Mediawiki API
 * April 25 - May 10

- Start coding (since in June I'll be busy with exams, I prefer to start before the official coding period)
 * May 11 - May 22

Official Coding Period
- Continue coding
 * May 23 - June 8

- I have my final exams between these dates, so I won't have so much free time to work on GSoC :(
 * June 9 - June 25

- Coding a nice interface with options and menus for migrating step by step (I have in mind something like a Drupal module I used to import my posts from Wordpress)
 * June 26 - July 11

- Hard testing the code - Making documentation
 * July 12 - July 31

- Buffer period for any unlikely delays
 * August 1 - August 15

Participation

 * I will reach my mentor mostly by email to discuss all important things about the development. In emergency cases I would also phone him/her :D.
 * People will be able to consult my code as I will set up a Git repository where I will commit.
 * I will write a blog post about my progresses once a week.
 * I will also idle in #mediawiki to get in touch with the community.
 * I will be listening for comments and suggestions.

Past open source experience
I'm a GNOME developer and member of the GNOME Foundation, that is the biggest project I have contributed. I have experience working with some other open source projects but I have never contributed to Mediawiki. You can see other contributions to open source projects at my ohloh account.

I try to fix every annoying bug I find in software daily.

I like attending to free software events. I have attended to DebConf9 and Fosdem 2010 among others.

Any other info
I coded my scripts just like a proof on concept. They are shabby, please don't blame me. You can find them at my Github repository.