Category: GSoC (10 posts)

Aug 13 2018

My GSOC adventure with XWiki and Dokuwiki

Mentors :

I want to thank Thomas Mortagne and Shubham Jain for giving me this opportunity and guiding me throughout this awesome journey patiently.

A little bit about me

I’m a final year B.Tech student, from Bharati Vidyapeeth's College of Engineering, India. I’m 22 years old and I feel pleased to be a part of XWiki community as a GSoC’18 student and learn more about both XWiki and Dokuwiki while playing with Java. 

Description

The project focused on improving the existing DokuWiki importer that imports instances of DokuWiki to XWiki by using some intermediate common events based on Filter Stream Framework. In the previous Dokuwiki importer module already supported basic functionalities. Improvements like support for handling unserializing of files with no metadata, lists, image-link, interwiki-link, macro support and other syntax-parser bug resolution.

You can get inspiration from

http://extensions.xwiki.org/xwiki/bin/view/Extension/Import+DokuWiki+into+XWiki+Application and

Documentation can be found at

https://extensions.xwiki.org/xwiki/bin/view/Extension/DokuWiki

The issue tracker can be found

http://jira.xwiki.org/projects/DOKUWIKI/issues/DOKUWIKI-11?filter=allopenissues

Developer Profile

Java

Status

Successfully terminated

Milestones

Milestone 1 [May 14 - June 15]:

Blocking bug fixing and folder support.

I fixed the warning and critical bugs, by making modifications in dokuwiki-text module. This also included setting up the project and getting used to the Component architecture of XWiki.

  • I started with refactoring my understanding of the Filter API and getting used to the Component architecture of XWiki. 
  • Another challenge was to find the ideal way to check for the input-source type and handle exceptions by reading them and the next task was to add support for DokuWiki data-directory as an input source.
  • Understanding issues with apache compress behavior difference with file input and streaming input. Finding the bug in FileUtils.CopyToFile (closing streams after copying the file) and resolve the FileNotFound Blocking Bug.
  • Fixing the crash of Dokuwiki importer after a few Seconds of start with class ArrayIndexOutOfBoundsException took some days in the debugging phase.
  • The existing code ended up in an infinite loop when importing a tgz input-source package, so the exception handling was added for it to try to find the type of the file before actually read it, before it tried to read it as a zip directly and expect the first read to fail if it's not one basically.
  • Tests were written, and post-testing, the extension was released on XWiki nexus repository. 
  • Finally, documentation was modified on the XWiki extension page. 

Milestone 2 [May 14 - June 15]:

 

Adding more syntax features.

The next step was to modify the DokuWiki-syntax parser module and add support for some more popular features and fixing bugs in image-syntax parsing. The idea was to refine the most of the basic syntax available in DokuWiki. 

  • The initial task for second span tasks was to get the thorough understanding of the DokuWiki syntax module. Critical differences between XWiki syntax and DokuWiki syntax and macros. 
  • Next task was to understand the XWiki rendering API and then, understanding occasional differences in behavior in the XML input and the output string from xwiki/2.1 syntax renderer. 
  • Added support for DokuWiki Interwiki links.
  • Added support for DokuWiki Image links.
  • Added support for DokuWiki indented lists.
  • Fixed the bug of no alignment of images. In the previous module, the image feature support checked for image alignment to be center, left or right but, doesn't return the alignment parameter in the output, so all the images were aligned right. 
  • Test cases were added for the new features. The changes in parser were released as an extension on XWiki nexus repository. 

Milestone 3 [July 20 - August 14]:

Adding macros framework.

The next step was to parse the DokuWiki syntax-plugins and call the relevant methods of the Rendering API so that the output is the XWiki syntax. The idea was to add a DokuWiki macro-framework.

  • I tried to hard-code the DokuWiki plugins in the DokuWiki-syntax parser module initially, but the issue we found was that it's pretty much impossible to support all DokuWiki plugin with all kinds of entry-points, so the challenge was to make it as easy as possible for anyone to add support for new DokuWiki plugins not supported by the standard importer so with the guidance of my mentors I designed a framework which makes it easy to add any DokuWiki-plugin component.

Finally, an updated version of the extension was released on the XWiki nexus repository. 

Deliverables

  • Add improvements to support for ordered, unordered and nested lists.
  • Add code for image-links supporting links to other internal or external pages. 
  • Add support for a folder as a source input. 
  • Handling un-serializing of files with no metadata.
  • Support for Interwiki-link to move to other wikis.  
  • Fix OOM when importing a tgz.
  • Working on FileNotFoundException error. 
  • Add popular macros support with and without arguments.
  • Optimise the way to support various archive type.
  • No alignment of the image detected. 

First Milestone release, latest version here

Second Milestone release, latest version here

Third Milestone release, latest version here

The extension can be downloaded from here

It was a fun and learning experience at the same time this summer with XWiki. The best part was achieving the milestones and doing the release by myself, thanks to my mentors for giving me committer access. emoticon_grin I now have a better idea how everything works in a community, the schedules and deadlines and how to write a code for production. I've learned best practices to be used to code like a modern developer (which was fun for me).
Thank you for reading. emoticon_smile 

Aug 08 2018

My GSoC 2018

My own summary of experience in participating in GSoC 2018 and open source projects contributing ...

Mar 01 2016

XWiki is participating in Google Summer of Code 2016

XWiki has been accepted as a mentoring organization for Google Summer of Code 2016. Since its inception in 2005, the program has brought together over 10,900 successful student participants from over 103 countries worldwide and over 500 open source organizations, all for the love of code. This is our 9th time participating in the program and we are pretty excited about it. We value the participation in the program since it allows us to meet and discuss ideas with smart students from around the world. ...

Apr 08 2013

XWiki is participating in Google Summer of Code 2013

XWiki has been accepted as a mentoring organization for Google Summer of Code 2013.

Google Summer of Code is a global program that offers student developers stipends to write code for various open source software projects. We work with many open source, free software, and technology-related groups to identify and fund projects over a three month period. Since its inception in 2005, the program has brought together nearly 6,000 successful student participants and over 3000 mentors from over 100 countries worldwide, all for the love of code. 

This is our 8th year participating in the program and we are pretty excited about it. We value the participation in the program since it allows us to meet and discuss ideas with smart students from around the world. The past years brought great results, such as the WebDAV and RESTful remote access APIs, the Office importer, and the whole XEclipse project, just to name a few.

This year we're proposing a lot of interesting projects, from Live Notifications to XCLAMS Federated Servers, beside our regular mentors also having the support of mentors from the XCLAMS community.

The student application period will last from April 22 until May 3, 19:00 UTC. Students interested in applying for a project with XWiki should:

Let's work together with the community to make this a great Summer of Code!

gsoc2013.jpg

Mar 29 2011

XWiki is participating in Google Summer of Code 2011

This summer, Google organizes the seventh edition of the Google Summer of Code program:

 Google Summer of Code is a global program that offers students stipends to write code for open source projects. We have worked with the open source community to identify and fund exciting projects for the upcoming summer.

A participant in GSoC since the first edition in 2005, XWiki was left out of the program last year to make way for newer and smaller open source projects, but is back as a mentoring organization this year, and we're ready to give a few lucky students a chance to learn how real world, open source development works in the middle of our wonderful community.

With five years of experience as a GSoC organization, our developers are seasoned mentors, ready to guide students through the entire process. Some students are already mixing in with the developers on our IRC channel, or introducing themselves and their project proposals on the mailing lists. We're very happy to meet and discuss ideas with these interesting students, and we can't wait to see what these collaborations can lead to, since every year we've had great results, such as the WebDAV and RESTful remote access APIs, the Office importer, and the whole XEclipse project, just to name a few.

This year we're proposing a lot of interesting projects, from hard core java to clientside javascript projects, and from mobile devices to the cloud. Of course, the poster child of our GSoC experiences, XEclipse, is ready to receive further improvements, and application development on top of XWiki is also present in this year's proposals.

The student application period just started and lasts until April 8th, 19:00 UTC. Students interested in applying for a project with XWiki should:

Let's work together to make this a great Summer of Code!

Mar 19 2009

Google Summer of Code 2009

The XWiki project has been accepted as a Google Summer of Code 2009 organization. This is the fifth time in a row we're accepted (we've been participating since the beginning) and we're proud of it.

We've started gathering project ideas on the XWiki GSOC page. If you have project ideas or are interested to participate feel free to send us an email on the XWiki Mailing list. ...

Apr 22 2008

Google Summer Of Code 2008 projects

We're delighted that Google has given us 10 slots for GSOC 2008 and we're delighted to have received so many students proposals (all of very good quality - the selection process was hard this year). ...

Apr 03 2008

Summer Of Code Applications Still Open

Google decided to extend the student registration period in order to allow more students to apply, since most organizations reported (on the private mentors mailing list and on the program's IRC channel) that the number of applications is generally smaller than previous years. At the same time, the quality of the proposals seems to have improved for most organizations.

How do things look for XWiki? ...

Apr 13 2007

Google Summer of Code 2007 Selection

GSoC 2007 selection is now done. Google has kindly allocated us 7 slots. The following students have been selected ...

Mar 16 2007

XWiki is recruiting for Google Summer of Code 2007

Good news, XWiki has been accepted by Google as a participating organization for GSoC 2007!

So far we have 17 projects we're proposing to students. Now the next step is to find bright students interested in implementing them. The idea is that Google will pay these students to get to learn how Open Source works by paticipating to some real Open Source projects. ...
Tags:
Created by Sergiu Dumitriu on 2011/03/29
    

Get Connected