Mentor(s)
Student
Estimated workload
2 man month
Details

The idea is to develop an importer to import GitHub pages written in GitHub-flavored Markdown into XWiki pages written in XWiki Syntax 2.1.

To do that you would use the following existing modules in XWiki:

Here's an idea of a possible implementation workflow:

  • Since there's no GitHub REST API to access GitHub wiki pages, use the XWiki Git API to checkout/clone the underlying Git repo containing the GitHub wiki pages.
  • Write an input Filter that takes as input a Git repo containing GitHub wiki pages. Use the existing XWiki Instance output filter to convert that into wiki pages.
  • Use the Markdown Syntax to parse the GitHub pages and use XWiki Rendering APIs to convert that to XWiki Syntax 2.1
  • See this snippet to import from GitHub
Active
Yes
Year

2020

Developer profile

Knowledge required:

  • Java
Status

Selected

Progress

Google Summer of Code 2020 Report


GitHub Importer - XWiki

Mentors: Vincent Massol, Simon Urli.

Student: Haxsen (Hassan Ali)

Introduction

GitHub Importer is an XWiki extension which provides the ability to import and convert pages from GitHub to XWiki with various features.
Technologies: JAVA, MAVEN, XML, XWiki, Docker.

Output

Work Summary

Roadmap v1.0

  • GHIMPORT-1: Ability to import GitHub pages to XWiki

Released 1.0: Forum post

Roadmap v1.1

Released 1.1: Forum post

Roadmap v1.2

  • GHIMPORT-9: The conversion should be done with the xwiki default syntax and not hardcoded to xwiki/2.1
  • GHIMPORT-3: Organize pages hierarchically according to the Sidebar
  • GHIMPORT-10: Rephrase all hints in the UI to be more precise and useful
  • GHIMPORT-8: Create docker tests to test the features

Released 1.2: Forum post

Roadmap v1.3

Released 1.3: Forum post

Roadmap v1.4

  • GHIMPORT-29: Page author is not correctly assigned
  • GHIMPORT-21: Internationalize the application
  • GHIMPORT-26: Forbid creating pages under existing Parent
  • GHIMPORT-23: Add support for mediawiki and creole syntaxes

Released 1.4: Forum post

Roadmap v1.5

Released 1.5: Forum post

Full Work

Total releases: 6
All JIRA issues fixed by me.

Code committed by me.

What's Next

  • Roadmap v1.6 (Done here).
  • Release 7 (v1.6).
  • Track it here.

Experience

My experience was great in this journey of creating a new extension for an open source organization. I learned a lot and my mindset has tilted more towards contributing to help the world grow!

Mentors

My mentors were very helpful throughout the project and communication was readily available on the chat. They greatly improved my knowledge as well as skills.

Tags:
Created by Fawad Ali on 2020/02/19 18:19
   

Get Connected