<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sugarlabs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vipulgupta2048</id>
	<title>Sugar Labs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sugarlabs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vipulgupta2048"/>
	<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/go/Special:Contributions/Vipulgupta2048"/>
	<updated>2026-04-07T15:17:47Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Oversight_Board/2019-2021-candidates&amp;diff=103570</id>
		<title>Oversight Board/2019-2021-candidates</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Oversight_Board/2019-2021-candidates&amp;diff=103570"/>
		<updated>2020-01-10T14:25:14Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Election==&lt;br /&gt;
&lt;br /&gt;
There are to be two (2) [[Oversight Board]] slots to be elected for the 2020-2022 period.  Slots vacated include Claudia and Samson.&lt;br /&gt;
&lt;br /&gt;
There is one (1) additional slot to be filled after the [[Oversight_Board/Decisions#2020-01-09|resignation]] of [[User:Walter|Walter Bender]].&lt;br /&gt;
==Calendar==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Stage I&lt;br /&gt;
|December 21&lt;br /&gt;
|Announcement of election date and first call for candidates.&lt;br /&gt;
|-&lt;br /&gt;
|Stage II&lt;br /&gt;
|December 28&lt;br /&gt;
|Reminder of election date and second call for candidates.&lt;br /&gt;
|-&lt;br /&gt;
|Stage III&lt;br /&gt;
|January 4th&lt;br /&gt;
|[[#Candidates|Candidates&#039; Wiki submissions]] deadline.&lt;br /&gt;
|-&lt;br /&gt;
|Stage IV&lt;br /&gt;
|Jan 15th - 31st  &lt;br /&gt;
|Election.&lt;br /&gt;
|}  &lt;br /&gt;
&lt;br /&gt;
==Candidates== &lt;br /&gt;
&lt;br /&gt;
{{Special:PrefixIndex/Oversight_Board/2019-2021-candidates/}}&lt;br /&gt;
&lt;br /&gt;
== Instructions ==&lt;br /&gt;
&lt;br /&gt;
Candidates should create a Wiki entry at [[#Candidates|Candidates&#039; Wiki submissions]], one entry per candidate, sharing their vision and motivation. &lt;br /&gt;
&lt;br /&gt;
Candidates should read and understand Sugar Labs&#039; [[Sugar_Labs/Governance|Governance]], because such terms bind our behavior as Sugar Labs Oversight Board and all our internal policies and procedures as a Project and as an organization.&lt;br /&gt;
&lt;br /&gt;
Among other terms, please note the Project Management, Communications and Activities terms in the agreement provide that: &lt;br /&gt;
&lt;br /&gt;
2.1. The Oversight Board Will Manage the Project.&lt;br /&gt;
&lt;br /&gt;
2.2. The Project Will Be Free Software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The terms contemplate that the Oversight Board elects a single individual to communicate with Conservancy (the “Representative”) and shall notify Conservancy promptly following the election of a new Representative. &lt;br /&gt;
&lt;br /&gt;
By publishing your candidacy below, you imply that in case you are elected a Sugar Labs Oversight board member you will honor the agreement terms.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This election is being run by the [[Sugar_Labs/Governance/Committees#Membership_and_Elections_Committee|Membership and Elections Committee]] which was [[Sugar_Labs/Governance/Committees|appointed in November 2017]], along with [[Oversight_Board/Decisions#2019-12-04|Samson Goddy]]&lt;br /&gt;
as an impartial election oversight party and [[User:Vipulgupta2048|Vipul Gupta]] as the election administrator.&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Oversight_Board/2019-2021-candidates&amp;diff=103569</id>
		<title>Oversight Board/2019-2021-candidates</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Oversight_Board/2019-2021-candidates&amp;diff=103569"/>
		<updated>2020-01-10T12:46:04Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: Add Election Dates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Election==&lt;br /&gt;
&lt;br /&gt;
There are to be two (2) [[Oversight Board]] slots to be elected for the 2020-2022 period.  Slots vacated include Claudia and Samson.&lt;br /&gt;
&lt;br /&gt;
There is one (1) additional slot to be filled after the [[Oversight_Board/Decisions#2020-01-09|resignation]] of [[User:Walter|Walter Bender]].&lt;br /&gt;
==Calendar==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Stage I&lt;br /&gt;
|December 21&lt;br /&gt;
|Announcement of election date and first call for candidates.&lt;br /&gt;
|-&lt;br /&gt;
|Stage II&lt;br /&gt;
|December 28&lt;br /&gt;
|Reminder of election date and second call for candidates.&lt;br /&gt;
|-&lt;br /&gt;
|Stage III&lt;br /&gt;
|January 4th&lt;br /&gt;
|[[#Candidates|Candidates&#039; Wiki submissions]] deadline.&lt;br /&gt;
|-&lt;br /&gt;
|Stage IV&lt;br /&gt;
|Jan 15th - 31st  &lt;br /&gt;
|Election.&lt;br /&gt;
|}  &lt;br /&gt;
&lt;br /&gt;
==Candidates== &lt;br /&gt;
&lt;br /&gt;
{{Special:PrefixIndex/Oversight_Board/2019-2021-candidates/}}&lt;br /&gt;
&lt;br /&gt;
== Instructions ==&lt;br /&gt;
&lt;br /&gt;
Candidates should create a Wiki entry at [[#Candidates|Candidates&#039; Wiki submissions]], one entry per candidate, sharing their vision and motivation. &lt;br /&gt;
&lt;br /&gt;
Candidates should read and understand Sugar Labs&#039; [[Sugar_Labs/Governance|Governance]], because such terms bind our behavior as Sugar Labs Oversight Board and all our internal policies and procedures as a Project and as an organization.&lt;br /&gt;
&lt;br /&gt;
Among other terms, please note the Project Management, Communications and Activities terms in the agreement provide that: &lt;br /&gt;
&lt;br /&gt;
2.1. The Oversight Board Will Manage the Project.&lt;br /&gt;
&lt;br /&gt;
2.2. The Project Will Be Free Software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The terms contemplate that the Oversight Board elects a single individual to communicate with Conservancy (the “Representative”) and shall notify Conservancy promptly following the election of a new Representative. &lt;br /&gt;
&lt;br /&gt;
By publishing your candidacy below, you imply that in case you are elected a Sugar Labs Oversight board member you will honor the agreement terms.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This election is being run by the [[Sugar_Labs/Governance/Committees#Membership_and_Elections_Committee|Membership and Elections Committee]] which was [[Sugar_Labs/Governance/Committees|appointed in November 2017]], along with [[Oversight_Board/Decisions#2019-12-04|Samson Goddy]]&lt;br /&gt;
as an impartial election oversight party.&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=User:Vipulgupta2048&amp;diff=103561</id>
		<title>User:Vipulgupta2048</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=User:Vipulgupta2048&amp;diff=103561"/>
		<updated>2020-01-05T16:32:13Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello there, I am Vipul. I am the election administrator for the SLOB 2020-22 elections, actively participate in Google OSS programs with Sugar Labs and do outreach work.&lt;br /&gt;
&lt;br /&gt;
I am a developer seeking experiences, leading to new learning opportunities, presenting a chance to explore and give back to the community. FOSS developer and advocate, capturing thoughts in my blog, and in the habit of collecting comic strips. I run a kickass initiative to write documentation and technical content for OSS organizations and startups called [https://mixstersite.wordpress.com Mixster]. Along with, leading [ALiAS https://asetalias.in] . A community that I run to boost student contribution in FOSS projects and communities online and offline.   &lt;br /&gt;
&lt;br /&gt;
I have been associated with Sugar labs since [https://github.com/vipulgupta2048/mygsoc Google Summer of Code 2018] and have been playing an active in Sugar Labs&#039;s Outreach work all over the globe. Organizing talks, sessions, and workshops in major conferences and education summits. PyCon Cleveland and FOSDEM being the most recent ones.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://cultofthepartyparrot.com/parrots/hd/laptop_parrot.gif&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Available all over the web by @vipulgupta2048.&lt;br /&gt;
&lt;br /&gt;
Ps. Fond of party parrots and never met a pizza I didn&#039;t like.&lt;br /&gt;
&lt;br /&gt;
Reach me on [https://www.linkedin.com/in/vipulgupta2048/ LinkedIn] | [https://twitter.com/vipulgupta2048 Twitter]&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Google_Code_In_2019&amp;diff=103365</id>
		<title>Google Code In 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Google_Code_In_2019&amp;diff=103365"/>
		<updated>2019-10-13T11:05:01Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;[[Category:Trac Reference]][[Category:Idea]]&lt;br /&gt;
[[Category: GCI2019]]&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sugar Labs community members: please feel free to add tasks below.&lt;br /&gt;
&lt;br /&gt;
== Message to potential participants ==&lt;br /&gt;
&lt;br /&gt;
It is important that you obtain permission of your parents.&lt;br /&gt;
&lt;br /&gt;
Es importante que obtengas el permiso de tus padres para participar.&lt;br /&gt;
&lt;br /&gt;
Please see the Contest Rules for Eligibility and Registration process.&lt;br /&gt;
&lt;br /&gt;
https://codein.withgoogle.com/student-terms/&lt;br /&gt;
&lt;br /&gt;
Also, you will likely need to set up the Sugar development environment. See http://developer.sugarlabs.org/dev-environment.md.html for details. Further information about contributing to the project can be found here: http://developer.sugarlabs.org/&lt;br /&gt;
&lt;br /&gt;
Please don&#039;t hesitate to ask questions on our IRC channel (#sugar on irc.freenode.net) or on the sugar-devel list: sugar-devel AT lists.sugarlabs DOT org&lt;br /&gt;
(See [[Google_Code_In_2019#Getting_set_up_on_IRC|below]] for details regarding setting up an IRC account.)&lt;br /&gt;
&lt;br /&gt;
== Why Sugar Labs is participating ==&lt;br /&gt;
&lt;br /&gt;
Sugar is written and maintained by volunteers, who range from seasoned professionals to children as young as 12-years of age. Children who have grown up with Sugar have transitioned from Sugar users to Sugar App developers to Sugar maintainers. They hang out on IRC with the global Sugar developer community and are full-fledged members of the Sugar development team. It is this latter group of children we hope will participate in and benefit from Google Code-in. Specifically we want to re-enforce the message that Sugar belongs to its users and that they have both ownership and the responsibility that ownership implies. Just as learning is not something done to you, but something you do, learning with Sugar ultimately means participating in the Sugar development process. At Sugar Labs, we are trying to bring the culture of Free Software into the culture of school. So the Code-in is not just an opportunity for us to get some tasks accomplished, it is quintessential to our overall mission.&lt;br /&gt;
&lt;br /&gt;
== Some background from GCI ==&lt;br /&gt;
&lt;br /&gt;
[See https://developers.google.com/open-source/gci/resources/getting-started]&lt;br /&gt;
&lt;br /&gt;
===Open Source Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
You can contribute without being a coder!&lt;br /&gt;
You do not have to be a coder to contribute to open source. There are many different skill sets needed to help an open source community thrive:&lt;br /&gt;
;Documentation: If you are a good writer and enjoy attention to detail then you might want to contribute by writing or editing documentation. Documentation is a huge part of a successful open source project. Organizations need documentation to help attract new contributors as it helps them see what the codebase looks like and where things are and what the plan is for the project.&lt;br /&gt;
;Research: An organization may need help crunching numbers or sorting through pages of documents to better understand what the users want or need.  There are many different types of tasks that students could work on that are very important to the health of the project.&lt;br /&gt;
;Outreach: If you have an outgoing personality and like being around and talking to people, take a look at the outreach tasks. Outreach tasks often include hosting meetups in your local community or creating a plan on how people around the globe can host a meetup about the project in their local communities.&lt;br /&gt;
;Training: You could create a YouTube video discussing a new feature of the project or maybe some basics on what the project does so people who haven’t heard about it can understand the project and get involved.&lt;br /&gt;
;User Interface: User interface can include many types of tasks including designing new aspects of a web page or creating a new logo for the project. It may also include various accessibility opportunities to help make the project easier for people who are blind.&lt;br /&gt;
;Other: If you have an idea that may help an organization, reach out to them and let them know! Sometimes the best task is one that the organization hasn’t even considered yet.&lt;br /&gt;
=== Collaboration===&lt;br /&gt;
Open source is not just about coding but working with other people to find the best solution. Being a part of the community is an essential part of success in Google Code-in.  Mentors tell us every year that their best students were the ones who worked hard on their projects but also participated on IRC and helped answer questions other students had. Collaborate with the community and mentors on the #sugar channel in the irc.freenode.net network.&lt;br /&gt;
&lt;br /&gt;
=== Quality over Quantity === &lt;br /&gt;
&lt;br /&gt;
It’s not about being the student who completes the most tasks, that only gets you to the top 10 to be reviewed, it doesn’t mean you will be a grand prize winner. We have had quite a few students who completed the most tasks for their organization yet were not named as Grand Prize Winners because they did everything solo and didn’t get involved in the community or think about the health of the project as a whole, they just kept completing task after task like a machine. If you actively participate in the community then you not only feel the camaraderie that comes with working as a team but you become committed to making the project better for everyone.&lt;br /&gt;
&lt;br /&gt;
== Some basics about Sugar Labs and Sugar development ==&lt;br /&gt;
&lt;br /&gt;
For some basics about the project, see [http://people.sugarlabs.org/walter/docs/Learning-to-Change-the-World-Chapter-4.pdf Chapter 4 of Learning to Change the World].&lt;br /&gt;
&lt;br /&gt;
{{:Google Code In 2018/background}}&lt;br /&gt;
&lt;br /&gt;
== This is a stub for 25+ example tasks new for GCI 2019. ==&lt;br /&gt;
&lt;br /&gt;
Note, more detailed task descriptions will be available once the contest begins.&lt;br /&gt;
&lt;br /&gt;
=== Beginner tasks ===&lt;br /&gt;
# Install the Sugar development environment by following the instruction at [http://developer.sugarlabs.org/dev-environment.md.html].&lt;br /&gt;
# Install Sugar in a virtual machine.&lt;br /&gt;
# Install Sugar packages on Ubuntu, Debian, or Fedora.&lt;br /&gt;
# Install Sugarizer on a Raspberry Pi for use by nearby computers, tablets, or phones.&lt;br /&gt;
# Create an example program in Turtle Blocks (See [https://www.pinterest.com/walterbender/turtle-art/] for some ideas).&lt;br /&gt;
# Create an example program in Music Blocks.&lt;br /&gt;
# Create a simple machine in Physics.&lt;br /&gt;
&lt;br /&gt;
=== General tasks ===&lt;br /&gt;
# Organize a Turtle Art Day (or Music Blocks Day) in your community (Outreach)&lt;br /&gt;
# Create a 60 second promotional video on Sugar and its community (Outreach)&lt;br /&gt;
# Host a Question and Answer (Q&amp;amp;A)/Information session about Sugar on Google Hangouts. (Outreach)&lt;br /&gt;
# DIY Sugar on a Stick||Organize and host a Sugar on a Stick party where you show people how to make their own Sugar on a Stick. (Outreach)&lt;br /&gt;
# Find an educator who is using open-source educational software to teach. Interview the educator about their experience as an educator and why they are using open-source software to teach. (Outreach)&lt;br /&gt;
# Write a blog post about your experience as a GCI participant for Sugar Labs. (Outreach)&lt;br /&gt;
# Create a 10-minute presentation celebrating at least three women within the Sugar community and/or the open-source community at large. (Research/Outreach)&lt;br /&gt;
# Gather information on who could benefit from using or knowing about Sugar. (Research)&lt;br /&gt;
# Find the resources that people are using throughout the world to learn about or teach Sugar Activities. (Research)&lt;br /&gt;
# Find the missing repo: we&#039;ve lost track of the source repository of some Sugar activities: help us find them (Research)&lt;br /&gt;
# Wiki cleanup (Documentation)&lt;br /&gt;
# Music Blocks examples (Documentation/Training)&lt;br /&gt;
# Write a review about an Activity in Sugar. (Documentation)&lt;br /&gt;
# Create a unit tests for a JavaScript activity (Quality assurance)&lt;br /&gt;
# Test old Sugar activities and report any really obvious problems (Quality assurance)&lt;br /&gt;
# Refactor Turtle graphics to adopt look of Javascript version (Code: Python)&lt;br /&gt;
# write a Python/GTK version of Music Blocks&lt;br /&gt;
# Investigate CSound/Python version of Music Blocks (Code: Python)&lt;br /&gt;
# Resolve an open issue from https://github.com/sugarlabs/ (Code: Python)&lt;br /&gt;
# Plugin manager for Turtle JS (Code: Javascript)&lt;br /&gt;
# Add Lilypond import to Music Blocks (Code: Javascript)&lt;br /&gt;
# Write a Turtle plugin (Code: Javascript)&lt;br /&gt;
# Write a extruder in JavaScript to convert from SVG to STL for 3D printing. (Code: JavaScript)&lt;br /&gt;
# Write a slicer in JavaScript to convert between SL and GCODE for 3D printing. (Code: JavaScript)&lt;br /&gt;
# Resolve an open issue from https://github.com/walterbender/musicblocks/ (Code: JavaScript)&lt;br /&gt;
# Port a Sugarizer activity to Sugar (Code: Javascript)&lt;br /&gt;
# Port an old Sugar activity to the most recent Sugar (Code: Python)&lt;br /&gt;
&lt;br /&gt;
Mentors: please feel free to add more tasks and/or add yourself as a potential mentor to an existing task.&lt;br /&gt;
&lt;br /&gt;
Tasks must fall within one of these five categories: [[#Documentation/Training]]; [[#Outreach/Research]]; [[#User Interface]]; [[#Quality Assurance]]; and [[#Code]].&lt;br /&gt;
&lt;br /&gt;
== Mentors ==&lt;br /&gt;
;NOTES TO MENTORS:&lt;br /&gt;
:Please note that not all tasks are coding tasks so please consider participating even if you are not a coder (there are research, outreach, design, and documentation tasks as well).&lt;br /&gt;
:But also note that prior participation in the Sugar Labs community is a requirement for mentoring.&lt;br /&gt;
&lt;br /&gt;
Send an email to one of the Org Admins (this year they are Walter and TBD). You will then receive an invitation by email.&lt;br /&gt;
Follow the instructions in the email to sign up as a Sugar Labs mentor.&lt;br /&gt;
:Please add yourself to the list below.&lt;br /&gt;
:Feel free to add new tasks to the table above.&lt;br /&gt;
&lt;br /&gt;
Depending on the task, we will assign multiple mentors from our various development and support teams.&lt;br /&gt;
&lt;br /&gt;
* Walter Bender - co-administrator&lt;br /&gt;
* James Cameron - release manager&lt;br /&gt;
* Sumit Srivastava - Mentor for Coding, Design, and QA tasks.&lt;br /&gt;
* Jaskirat Singh - Mentor for Research, Documentation, Design and Testing tasks&lt;br /&gt;
* Vaibhav Aren - Mentor for Coding, Research, Documentation, Design and Testing tasks.&lt;br /&gt;
* Hrishi Patel - Mentor for Coding, Research, Documentation, Design and QA tasks.&lt;br /&gt;
* Amaan Iqbal - Mentor for Coding, Research, Documentation, Design, and Testing Tasks&lt;br /&gt;
* Pratul Kumar - Mentor for Coding, Beginner First Issues, Git and Github, Documentation.&lt;br /&gt;
* Vipul Gupta - Mentor for Research, Coding, Git and GitHub, Documentation, Design tasks.&lt;br /&gt;
* Rishabh Thaney - Mentor for Coding, Research, Documentation, Design and Testing tasks.&lt;br /&gt;
* Ashish Aggarwal - Mentor for Coding, Research, Documentation, Design, and Testing Tasks&lt;br /&gt;
* Favour Kelvin - Mentor for Coding, Research, Documentation and Testing Tasks&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=User:Vipulgupta2048&amp;diff=102760</id>
		<title>User:Vipulgupta2048</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=User:Vipulgupta2048&amp;diff=102760"/>
		<updated>2019-04-10T18:41:08Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello there, I am Vipul Gupta working with Sugar Labs&#039;s Global Outreach Team with Samson Goddy. &lt;br /&gt;
&lt;br /&gt;
According to my portfolio, I am &amp;quot;An observant of the present, a student seeking experiences, leading to new learning opportunities, presenting a chance to explore and give back to the community. Programmer, capturing thoughts in my blog, a Linux enthusiast and in the habit of collecting comic strips.&#039; In some ways that is the truth, but if you like to know me more. You can always refer to [https://mixstersite.wordpress.com Mixster], my personal blog and a freelance technical documentation venture that I started, we are currently a team of 4. Writing for startups and organization.  &lt;br /&gt;
&lt;br /&gt;
High on Open-Source, Python, and Automation. &lt;br /&gt;
Available all over the web by @vipulgupta2048.&lt;br /&gt;
&lt;br /&gt;
Email - vipulgupta2048@gmail.com &lt;br /&gt;
&lt;br /&gt;
Ps. I love coffee and never met a pizza I didn&#039;t like.&lt;br /&gt;
Toodles&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Google_Code_In_2018&amp;diff=102080</id>
		<title>Google Code In 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Google_Code_In_2018&amp;diff=102080"/>
		<updated>2018-10-04T21:53:32Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: Add name in Mentor list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;[[Category:Trac Reference]][[Category:Idea]]&lt;br /&gt;
[[Category: GCI2018]]&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the project page for the Sugar Labs [https://opensource.googleblog.com/2018/10/welcoming-25-mentor-organizations-for.html application] to [https://developers.google.com/open-source/gci/ Google Code In 2018]. Sugar Labs community members: please feel free to add tasks below.&lt;br /&gt;
&lt;br /&gt;
== Message to potential participants ==&lt;br /&gt;
&lt;br /&gt;
It is important that you obtain permission of your parents.&lt;br /&gt;
&lt;br /&gt;
Es importante que obtengas el permiso de tus padres para participar.&lt;br /&gt;
&lt;br /&gt;
Please see the Contest Rules for Eligibility and Registration process.&lt;br /&gt;
&lt;br /&gt;
https://developers.google.com/open-source/gci/resources/contest-rules&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Details regarding the required forms and paperwork are here: [[Google Code In 2018/Participate#Students]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Also, you will likely need to set up the Sugar development environment. See http://developer.sugarlabs.org/dev-environment.md.html for details. Further information about contributing to the project can be found here: http://developer.sugarlabs.org/&lt;br /&gt;
&lt;br /&gt;
Please don&#039;t hesitate to ask questions on our irc channel (#sugar on irc.freenode.net) or on the sugar-devel list: sugar-devel AT lists.sugarlabs DOT org&lt;br /&gt;
&lt;br /&gt;
== Why Sugar Labs is participating ==&lt;br /&gt;
&lt;br /&gt;
Sugar is written and maintained by volunteers, who range from seasoned professionals to children as young as 12-years of age. Children who have grown up with Sugar have transitioned from Sugar users to Sugar App developers to Sugar maintainers. They hang out on IRC with the global Sugar developer community and are full-fledged members of the Sugar development team. It is this latter group of children we hope will participate in and benefit from Google Code-in. Specifically we want to re-enforce the message that Sugar belongs to its users and that they have both ownership and the responsibility that ownership implies. Just as learning is not something done to you, but something you do, learning with Sugar ultimately means participating in the Sugar development process. At Sugar Labs, we are trying to bring the culture of Free Software into the culture of school. So the Code-in is not just an opportunity for us to get some tasks accomplished, it is quintessential to our overall mission.&lt;br /&gt;
&lt;br /&gt;
== Some background from GCI ==&lt;br /&gt;
&lt;br /&gt;
[See https://developers.google.com/open-source/gci/resources/getting-started]&lt;br /&gt;
&lt;br /&gt;
===Open Source Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
You can contribute without being a coder!&lt;br /&gt;
You do not have to be a coder to contribute to open source. There are many different skill sets needed to help an open source community thrive:&lt;br /&gt;
;Documentation: If you are a good writer and enjoy attention to detail then you might want to contribute by writing or editing documentation. Documentation is a huge part of a successful open source project. Organizations need documentation to help attract new contributors as it helps them see what the codebase looks like and where things are and what the plan is for the project.&lt;br /&gt;
;Research: An organization may need help crunching numbers or sorting through pages of documents to better understand what the users want or need.  There are many different types of tasks that students could work on that are very important to the health of the project.&lt;br /&gt;
;Outreach: If you have an outgoing personality and like being around and talking to people, take a look at the outreach tasks. Outreach tasks often include hosting meetups in your local community or creating a plan on how people around the globe can host a meetup about the project in their local communities.&lt;br /&gt;
;Training: You could create a YouTube video discussing a new feature of the project or maybe some basics on what the project does so people who haven’t heard about it can understand the project and get involved.&lt;br /&gt;
;User Interface: User interface can include many types of tasks including designing new aspects of a webpage or creating a new logo for the project. It may also include various accessibility opportunities to help make the project easier for people who are blind.&lt;br /&gt;
;Other: If you have an idea that may help an organization, reach out to them and let them know! Sometimes the best task is one that the organization hasn’t even considered yet.&lt;br /&gt;
=== Collaboration===&lt;br /&gt;
Open source is not just about coding but working with other people to find the best solution. Being a part of the community is an essential part of success in Google Code-in.  Mentors tell us every year that their best students were the ones who worked hard on their projects but also participated on IRC and helped answer questions other students had. Collaborate with the community and mentors on the #sugar channel in the irc.freenode.net network.&lt;br /&gt;
&lt;br /&gt;
=== Quality over Quantity === &lt;br /&gt;
&lt;br /&gt;
It’s not about being the student who completes the most tasks, that only gets you to the top 10 to be reviewed, it doesn’t mean you will be a grand prize winner. We have had quite a few students who completed the most tasks for their organization yet were not named as Grand Prize Winners because they did everything solo and didn’t get involved in the community or think about the health of the project as a whole, they just kept completing task after task like a machine. If you actively participate in the community then you not only feel the camaraderie that comes with working as a team but you become committed to making the project better for everyone.&lt;br /&gt;
&lt;br /&gt;
== Some basics about Sugar Labs and Sugar development ==&lt;br /&gt;
&lt;br /&gt;
For some basics about the project, see [http://people.sugarlabs.org/walter/docs/Learning-to-Change-the-World-Chapter-4.pdf Chapter 4 of Learning to Change the World].&lt;br /&gt;
&lt;br /&gt;
{{:Google Code In 2018/background}}&lt;br /&gt;
&lt;br /&gt;
== This is a stub for 25+ example tasks new for GCI 2018. ==&lt;br /&gt;
&lt;br /&gt;
Note, more detailed task descriptions will be available once the contest begins.&lt;br /&gt;
&lt;br /&gt;
=== Beginner tasks ===&lt;br /&gt;
# Install the Sugar development environment by following the instruction at [http://developer.sugarlabs.org/dev-environment.md.html].&lt;br /&gt;
# Install Sugar in a virtual machine.&lt;br /&gt;
# Install Sugar packages on Ubuntu, Debian, or Fedora.&lt;br /&gt;
# Create an example program in Turtle Blocks (See [https://www.pinterest.com/walterbender/turtle-art/] for some ideas).&lt;br /&gt;
# Create an example program in Music Blocks.&lt;br /&gt;
# Create a simple machine in Physics.&lt;br /&gt;
&lt;br /&gt;
=== General tasks ===&lt;br /&gt;
# Organize a Turtle Art Day (or Music Blocks Day) in your community (Outreach)&lt;br /&gt;
# Create a 60 second promotional video on Sugar and its community (Outreach)&lt;br /&gt;
# Host a Question and Answer (Q&amp;amp;A)/Information session about Sugar on Google Hangouts. (Outreach)&lt;br /&gt;
# DIY Sugar on a Stick||Organize and host a Sugar on a Stick party where you show people how to make their own Sugar on a Stick. (Outreach)&lt;br /&gt;
# Find an educator who is using open-source educational software to teach. Interview the educator about their experience as an educator and why they are using open-source software to teach. (Outreach)&lt;br /&gt;
# Write a blog post about your experience as a GCI participant for Sugar Labs. (Outreach)&lt;br /&gt;
# Create a 10-minute presentation celebrating at least three women within the Sugar community and/or the open-source community at large. (Research/Outreach)&lt;br /&gt;
# Gather information on who could benefit from using or knowing about Sugar. (Research)&lt;br /&gt;
# Find the resources that people are using throughout the world to learn about or teach Sugar Activities. (Research)&lt;br /&gt;
# Find the missing repo: we&#039;ve lost track of the source repository of some Sugar activities: help us find them (Research)&lt;br /&gt;
# Investigate Google Fuzzing tool (Research)&lt;br /&gt;
# Add more synths/sound fonts to Music Blocks (Research)&lt;br /&gt;
# Design the music equivalent of Turtle Confusion for Music Blocks (Research)&lt;br /&gt;
# Wiki cleanup (Documentation)&lt;br /&gt;
# Music Blocks examples (Documentation/Training)&lt;br /&gt;
# Write a review about an Activity in Sugar. (Documentation)&lt;br /&gt;
# How should the Sugar UI change to accommodate a small screen? (User interface)&lt;br /&gt;
# What else should be made easier to customize in Sugar with minimal programming? (User interface)&lt;br /&gt;
# Create a unit tests for a JavaScript activity (Quality assurance)&lt;br /&gt;
# Bugzilla clean up (Quality assurance)&lt;br /&gt;
# Refactor Turtle graphics to adopt look of Javascript version (Code: Python)&lt;br /&gt;
# Write a Pinetrest plugin for the Sugar Journal (Code: Python)&lt;br /&gt;
# Investigate CSound/Python version of Music Blocks (Code: Python)&lt;br /&gt;
# Resolve an open issue from https://github.com/sugarlabs/ (Code: Python)&lt;br /&gt;
# Teach me how to draw activity (Code: Javascript)&lt;br /&gt;
# Plugin manager for Turtle JS (Code: Javascript)&lt;br /&gt;
# Improvements to Lilypond interface (Code: Javascript)&lt;br /&gt;
# Add ABC import to Music Blocks (Code: Javascript)&lt;br /&gt;
# Add Lilypond import to Music Blocks (Code: Javascript)&lt;br /&gt;
# Write a Turtle plugin (Code: Javascript)&lt;br /&gt;
# Visualize turtle movements in Pitch-Time Matrix (Code: Javascript)&lt;br /&gt;
# Visualize turtle pitch in Music Blocks widget (Code: Javascript)&lt;br /&gt;
# Write a extruder in JavaScript to convert from SVG to STL for 3D printing. (Code: JavaScript)&lt;br /&gt;
# Write a slicer in JavaScript to convert between SL and GCODE for 3D printing. (Code: JavaScript)&lt;br /&gt;
# Resolve an open issue from https://github.com/walterbender/musicblocks/ (Code: JavaScript)&lt;br /&gt;
&lt;br /&gt;
Mentors: please feel free to add more tasks and/or add yourself as a potential mentor to an existing task.&lt;br /&gt;
&lt;br /&gt;
Tasks must fall within one of these five categories: [[#Documentation/Training]]; [[#Outreach/Research]]; [[#User Interface]]; [[#Quality Assurance]]; and [[#Code]].&lt;br /&gt;
&lt;br /&gt;
== Mentors ==&lt;br /&gt;
;NOTES TO MENTORS:&lt;br /&gt;
:Please refer to [[Google Code In 2018/Participate#Mentors]] for details regarding enrolling as a mentor.&lt;br /&gt;
:Please add yourself to the list below.&lt;br /&gt;
:Feel free to add new tasks to the table above.&lt;br /&gt;
&lt;br /&gt;
Depending on the task, we will assign multiple mentors from our various development and support teams.&lt;br /&gt;
&lt;br /&gt;
* Walter Bender - co-administrator&lt;br /&gt;
* [mailto:sumitsrisumit@gmail.com Sumit Srivastava]&lt;br /&gt;
* [mailto:rrbothra@gmail.com Rahul Bothra]&lt;br /&gt;
* Ignacio Rodriguez&lt;br /&gt;
* Hrishi Patel&lt;br /&gt;
* Tayba Wasim (Tabs16)&lt;br /&gt;
* Ibiam Chihurumnaya - co-administrator&lt;br /&gt;
* Rishabh Thaney&lt;br /&gt;
* Samson Goddy&lt;br /&gt;
* Jaskirat Singh&lt;br /&gt;
* Peace Ojemeh&lt;br /&gt;
* [mailto:anmolmishra.jiit@gmail.com Anmol Mishra]&lt;br /&gt;
* Amaan Iqbal&lt;br /&gt;
* [mailto:aritwik93@gmail.com Ritwik Agarwal]&lt;br /&gt;
* Caryl Bigenho&lt;br /&gt;
* Iqra Muhammad&lt;br /&gt;
* [mailto:vipulgupta2048@gmail.com Vipul Gupta]&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101825</id>
		<title>WikiPort</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101825"/>
		<updated>2018-05-30T17:45:08Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;GSoC 2018 - Activity Team - Setting up the new Activity Server &lt;br /&gt;
&lt;br /&gt;
Project Status - ACTIVE&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retasked&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
- Details at [http://www.tiny.cc/vgsoc www.tiny.cc/vgsoc] &lt;br /&gt;
&lt;br /&gt;
- All code available at [https://www.github.com/vipulgupta2048/sugarport www.github.com/vipulgupta2048/sugarport]&lt;br /&gt;
&lt;br /&gt;
== About You ==&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039; - Vipul Gupta&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Email address&#039;&#039;&#039; - [http://mailto:vipulgupta2048@gmail.com vipulgupta2048@gmail.com] &amp;lt;br /&amp;gt;  &lt;br /&gt;
&#039;&#039;&#039;Blog Url&#039;&#039;&#039; -  [http://www.mixstersite.wordpress.com www.mixstersite.wordpress.com]  &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Sugar Labs wiki username&#039;&#039;&#039; - [https://wiki.sugarlabs.org/go/User:Vipulgupta2048 Vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IRC nickname&#039;&#039;&#039; - vipulgupta2048 &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Linkedin&#039;&#039;&#039; - [http://www.linkedin.com/in/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Github&#039;&#039;&#039; - [http://www.github.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Twitter&#039;&#039;&#039; - [http://www.twitter.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;First language - &#039;&#039;&#039;English (Fluent) &#039;&#039;&#039;&amp;lt;br /&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Located at, and what hours (UTC) do you tend to work&#039;&#039;&#039; - I am based out of New Delhi, India (+5.30 GMT). I am flexible with timings and can work for 3-5 hours everyday. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== My Contributions/Love for Open-Source ==&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects or some other demonstration of the work that you have done in open-source?&#039;&#039;&#039;&lt;br /&gt;
Yes, I have been participating and maintaining many open-source projects. Also been contributing to other communities and conference projects. Links and detailed description are as follows&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/asetalias/asetalias.github.io/pull/52 First pull request] on my college open-source community’s website, [http://www.github.com/asetalias ALiAS] - Maintainer since 2016.&lt;br /&gt;
* [https://github.com/vipulgupta2048/opengisproj_mirror vipulgupta2048/opengisproj_mirror]- Involved building a web app for real-time monitoring of pollution levels in rivers of India and to assess the impact on the health of people using the water from the river. The working repo is private, hence a public mirror for showcasing. &lt;br /&gt;
* [https://github.com/vipulgupta2048/scrape vipulgupta2048/scrape] Scraping major news websites/outlets in India using Scrapy [Python] Managing the data flow by employing PostgreSQL. Finding fake news using Machine Learning with help of libraries (Word2vec)&lt;br /&gt;
* Fixed bugs, wrote blogs, added new features using HTML, CSS, and JS for the official website of the premier conference on Python in India, PyCon India 2017 and now in 2018 workgroup  ([https://github.com/pythonindia/inpycon2017/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ Here] and [https://github.com/pythonindia/inpycon-blog/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ here]) &lt;br /&gt;
* [https://gitlab.com/asetalias/Community-Connect gitlab/asetalias/Community-Connect] [Ongoing]  &lt;br /&gt;
* Completed: Hacktoberfest Challenge;  [https://hacktoberfestchecker.herokuapp.com/?username=vipulgupta2048 Here].&lt;br /&gt;
* Building and mentoring website development for Pyladies Delhi Chapter [https://github.com/vipulgupta2048/Pyladies-delhi-website Pyladies-delhi-website]  &lt;br /&gt;
* Recent contribution: In Sugar Labs. Mentioned in the Miscellaneous section.        &lt;br /&gt;
&lt;br /&gt;
Along with this, [http://meetup.com/pydelhi Python Delhi User Group] (PyDelhi) is a volunteer-driven organization comprising of Pythonistas, enthusiasts, who have a primary focus in Python. I help by volunteering and organizing meetups for them. &amp;lt;br /&amp;gt;&lt;br /&gt;
I am a committee member of my college’s open source community. [http://www.asetalias.in ALiAS (Amity Linux Assistance Sapience)] We conduct hands-on workshops, seminars, talks and much more to try and help as many people as we can along the process and motivate them to make their first PR.&amp;lt;br /&amp;gt;&lt;br /&gt;
I genuinely love spreading knowledge among peers/juniors/underprivileged children anywhere I can through my voice ([https://github.com/asetalias/Logistics-and-Event-Contributions/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed Talks] and [https://github.com/ILUGD/talks/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed workshops]) and my words ([http://www.mixstersite.wordpress.com Tech-Blog])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039; &amp;lt;br /&amp;gt; &lt;br /&gt;
Wikiport &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Logo wikiport.png|frameless|center|WikiPort]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using? &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Abstract Ideas:&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
	Documentation tools have become modern, lighter, easier to use with the use of Sphinx, Github pages/wiki, Mkdocs and many more similar frameworks and applications. It’s easily the first and the most important steps for any open-source projects implemented by almost everybody.&amp;lt;br /&amp;gt; &lt;br /&gt;
If people know more, they would want to get involved and contribute more. This would, in turn, help the entire community to grow and expand. If the information (Documentation) is accessible fast, easily comprehensible, simple enough to edit and manage for people then I think this project will help really help Sugar Labs achieve that.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;My understanding of the problem and why it needs to be solved?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Documentation, as mentioned before, is important to all open-source projects. Sugar Labs has all documentation for its learner applications called “Activities” at one place in the Activities#Sugar_Activities. Some problem (#risks) that I found with this sort of implementation is as follows:- &lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Difficult to add, edit and manage&#039;&#039;&#039;  - In reference to the conversation [archive/sugar-devel] As a user, I need to create an account for editing privileges. Which is very tiresome to be very honest, hence discouraging contributions. &lt;br /&gt;
# &#039;&#039;&#039;Size issues&#039;&#039;&#039; - Wiki is being hosted on a a server. With the growing number of activities, the size occupiewould l increasl leading  atsurge i in maintenance cost. Not to mention buying more space. &lt;br /&gt;
# &#039;&#039;&#039;No clear format/classification&#039;&#039;&#039; - Some links are for one activity only while other activities have multiple links for them (example Turtle Art) Results in time being wasted of the user even if they are justified. &lt;br /&gt;
I did extensive research on the same and found many such problems with the wiki. According to my experience in open-source, users just need information fast, easily accessible and neatly organized. A new method to make that information organized should be brought in place for the betterment of the whole community. GitHub could be the solution to all our problems ([https://insights.stackoverflow.com/survey/2018/#work-version-control stackoverflow/survey/2018]) WikiPort is a tool that helps in migration process of wiki’s to Github hosted README.md. &lt;br /&gt;
 &lt;br /&gt;
== Objective == &amp;lt;br /&amp;gt;&lt;br /&gt;
To migrate documentation and information of each activity in Activities#Sugar_Activities of Sugar Labs in MediaWiki format to their respective git repositories hosted on GitHub in rich markdown format by a program/tool with special attention to the transfer of all information and media associated with the activity with least redundancies and zero duplication of content if not already present in GitHub@README.md or user documentation in help-activity.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Technologies and Skills Used&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This list is just a small glimpse of technologies that I am thinking to use for this project. I am proficient in each of them, through my past projects. (Refer)  &lt;br /&gt;
* &#039;&#039;&#039;Programming Language&#039;&#039;&#039;: Python 3.6 using libraries such as requests, LXML, Beautifulsoup etc. Python3 will be used widely in this project. &lt;br /&gt;
* &#039;&#039;&#039;Markup Languages&#039;&#039;&#039; - Markdown, MediaWiki, reStructuredText&lt;br /&gt;
* &#039;&#039;&#039;For Automation&#039;&#039;&#039; - Ansible or Bash (To automate each step of the migration process and installation of the tool.)&lt;br /&gt;
* &#039;&#039;&#039;Tools&#039;&#039;&#039; - git, shell, MediaWiki API - Pywikibot, GitHub API - PyGitHub  &lt;br /&gt;
* &#039;&#039;&#039;Others&#039;&#039;&#039; - Yaml (If Ansible is used) &lt;br /&gt;
&lt;br /&gt;
== An Overview of the Migration Process ==  &lt;br /&gt;
&lt;br /&gt;
[[File:S.U.G.A.R.png|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Detailed Description of the steps mentioned &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;One time task&#039;&#039;&#039; -  Used GitHub API and PyGithub to find all repository links that don&#039;t have a README.md and are a activity under SugarLabs organisation. [https://github.com/sugarlabs/sugar-docs/issues/102 Completed] and [https://gist.github.com/vipulgupta2048/6eef7de43ac628e8e7ed11217fbb1803 Scripts availabe here]  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Step 0&#039;&#039;&#039; - Extracting content; from these methods that offers the least redundancies. My research yielded these results.&lt;br /&gt;
:  1. Query MediaWiki API and acquire content in wikitext format&lt;br /&gt;
:  2. Export pages in XML using Python Wikipedia Robot Framework  &lt;br /&gt;
:  3.  GET page in simple HTML ( Activities/Sugar_Network&amp;amp;printable=yes) &lt;br /&gt;
*&#039;&#039;&#039;Step 1 -&#039;&#039;&#039; Convert the data sourced from step 0; using Pandoc to Markdown. Removing syntax, comments and Wikimedia code that might be left after conversion using regex wherever required.  &lt;br /&gt;
* &#039;&#039;&#039;Step 2&#039;&#039;&#039; - Fork and clone the respective GitHub repository from the links already scraped or found manually of the correct activity   &lt;br /&gt;
* Step 3 - Python script to fetch all image links and then download media (images) associated with the activity from the web-page; renames them in correct format; adds them to repository folder cloned under directory “images” Fix image links and testing.&lt;br /&gt;
* &#039;&#039;&#039;Step 4 -&#039;&#039;&#039; Ensuring content is not duplicated by being already present either in the README.md file or the user documentation in the help-activity. Make the necessary changes, fix broken links. Testing; Commit and push to fork.&lt;br /&gt;
* &#039;&#039;&#039;Step 5 -&#039;&#039;&#039; Pull request submitted with the detailed description of the changes in activity documentation in clear format containing all details. When PR merged, move to step 6. [Refer [https://etherpad.net/p/Sugar_Migration_Checklist Sugar_Migration_Checklist]]  &lt;br /&gt;
* &#039;&#039;&#039;Step 6 -&#039;&#039;&#039; Use Pywikibot (Check delete.py) to delete pages/media associated with wiki page using admin privileges and link back to their repositories. This can also be achieved using the mediawiki API which saves edit history as I mentioned before.  (Read more here)              (End-to-end Migration of wiki page complete)      &lt;br /&gt;
* &#039;&#039;&#039;Step 7&#039;&#039;&#039; - Repeat Step 1 for next activity.&lt;br /&gt;
&lt;br /&gt;
== Project Deliverables ==&lt;br /&gt;
# 345 web pages stored in MediaWiki format atActivities#Sugar_Activities on Sugar Labs Wiki converted to Markdown format with assets (images and other files) intact and in-place with zero duplication.  &lt;br /&gt;
# Files in Markdown converted from the wiki content are tested and checked to ensure foolproof 100% migration without any redundancies or loss of information. Manually or through scripts.&lt;br /&gt;
# A detailed report with classified information about the Sugar_activities wiki that needs further improvements submitted to Sugar Labs (Refer week #8 in timeline #Wikiteam)&lt;br /&gt;
Files committed, pushed and PR’s made in each activity’s respective git repository in an information specific format for easy reference. &lt;br /&gt;
# Tested bug-free source code for everyone to use (and other open source projects) for their wikis facing the same issues. Complete documentation of the migration method submitted on time of evaluations with the review of the mentor incorporated.&lt;br /&gt;
# After the complete transfer of all the wiki content, discuss and implement the last actions on the wiki, to either delete the pages or link them back to their respective git repositories.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Thus, by the deliverables mentioned above, 3 well-defined goals that determine project status which will help in evaluation i.e&#039;&#039;&#039;&amp;lt;br /&amp;gt;1. Evaluation 1: Migration of 100 wiki-pages complete; &amp;lt;br /&amp;gt;2. Evaluation 2: Migration of 300 wiki-pages complete;&amp;lt;br /&amp;gt;3. Final: Migration of 345 wiki-pages;&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Other Deliverables (and Future Work) ==&lt;br /&gt;
# &#039;&#039;&#039;Contribute more&#039;&#039;&#039; - After and during the project, will help in solving bigger challenges and bugs faced as my experience lies in DevOps tasks and start reading code of Sugar. Already working on [https://github.com/sugarlabs/sugar-live-build/issues/6 Sugar-live-build]&lt;br /&gt;
# &#039;&#039;&#039;Add Features&#039;&#039;&#039; - Edit history of wikis that are being migrated by WikiPort can be exported as commits on GitHub. (Experimental)  &lt;br /&gt;
# &#039;&#039;&#039;Create New Activities&#039;&#039;&#039; - Being well versed in Python (tried making a game with pygame) Would enjoy the new learning curve as I never really explored GTK. Have some new ideas that could be later transformed into fun, interactive learning activities.&lt;br /&gt;
# &#039;&#039;&#039;Complete Misc. Tasks&#039;&#039;&#039; - Wiki pages contain task waiting to be completed I would like to volunteer and finish them for the welfare of the community like this one here IRC#Wishlist.&lt;br /&gt;
# Remain as an &#039;&#039;&#039;active contributor for Sugar Labs&#039;&#039;&#039; and take part in discussions for the future projects. Maybe if the community agrees, also mentor someone &#039;&#039;&#039;myself&#039;&#039;&#039; in the foreseeable future.&lt;br /&gt;
# Use Automation to our favor so that many tasks are completed in WikiPort using bash or Ansible scripts like environment setups, installation and fine workings of the entire tool. &lt;br /&gt;
&lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
* In accordance with the official timeline by GSoC, my college exams end somewhere in the first week of May or so. My college reopens early in July. During this time, I will remain in contact with my mentor.&lt;br /&gt;
* This gives me ample time to code. I plan to begin coding before the official period coding period of GSoC starts from starting of May. Which gives me a head start to finish the majority (80%) of the project before the second evaluation. &lt;br /&gt;
 &#039;&#039;&#039;Providing a total of 10 weeks to write code for WikiPort (&amp;amp; other deliverables)&#039;&#039;&#039;&lt;br /&gt;
* I will also write a weekly or Bi-weekly blog post on my progress and updates on my project and post it diligently on the website to get the community involved.  The Weekly timeline is as follows. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Week Number [#]  !! Tasks&lt;br /&gt;
|-&lt;br /&gt;
| [#1] April 23 - April 30   || Community Bonding Period &lt;br /&gt;
Community Bonding, if possible keen on having a meeting with the Activity and wiki team. Discussion of ideas that I have. Research Part 1&lt;br /&gt;
MediaWiki [Syntax, documentation, API, functionalities]; GitHub API; Wikitext; Exploring the problem case defined earlier.&lt;br /&gt;
|-&lt;br /&gt;
| [#2] April 1 - May 7&lt;br /&gt;
 || Start documentation and blog post, about Sugar Labs on my blog.Setup: development environment. &lt;br /&gt;
Continue with Research &lt;br /&gt;
&lt;br /&gt;
Part 2 - Finding, testing, implementing solutions available for Migration Process step 0 through 6. Discuss results with the mentor, shortlist methods that have the highest success rate. &lt;br /&gt;
Pushing to Github; fixing organization problems&lt;br /&gt;
|-&lt;br /&gt;
| [#3] May 7 - May 14&lt;br /&gt;
 || Finalized migration process, start coding.&lt;br /&gt;
Spider ready to scrape activities for their GitHub repo.&lt;br /&gt;
Report on activities missing GitHub repo. links &lt;br /&gt;
Blog post on Community Bonding @ Sugar Labs&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#4] May 15 - May 22&lt;br /&gt;
 || Official Coding period starts &lt;br /&gt;
Start work on migration script. &lt;br /&gt;
Test migration script on 10 activities (aim - 60% migration of content from wiki to GitHub readme of the activity)&lt;br /&gt;
Gets reviewed by the mentor; implement suggestions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#5] May 23 - May 30&lt;br /&gt;
 || Work on script continues; Tweaking; suggestions implemented by the community&lt;br /&gt;
Testing extensively; and commenting &lt;br /&gt;
Documentation for script&lt;br /&gt;
40 pages completed (Aim - 70% migration of content through the script without manual edits;)&lt;br /&gt;
Write a quality checklist for pages converted to determine bugs, thorough checking of every page converted, every step of the way. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#6] June 1 - June 7&lt;br /&gt;
 || Work on Other Deliverables &lt;br /&gt;
Script improved; Commenting; Logging implemented;&lt;br /&gt;
Quality Checks implemented on sourced markdown files&lt;br /&gt;
Blog post on research and work did so far. &lt;br /&gt;
100 pages completed (minor improvements)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#7] June 8 - June 15&lt;br /&gt;
First Code Evaluations&lt;br /&gt;
 || Implement suggestions from evaluations.&lt;br /&gt;
Start work towards automation of scripts wherever possible (Aim - Least user input)&lt;br /&gt;
Start work on making WikiPort available to all as a simple tool.&lt;br /&gt;
150 pages completed. &lt;br /&gt;
Get a review of pages migrated, from the community.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#8] June 16 - June 23&lt;br /&gt;
 || Documentation alpha release; Repository made; &lt;br /&gt;
Start work: Report of Activities#Sugar_Activities&lt;br /&gt;
200 pages migrated.&lt;br /&gt;
Give a talk related to “Sugar and what it stands for” at one of our local meetups in Delhi. &lt;br /&gt;
Random quality checks; manual fixes wherever required. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#9] June 24 - July 1&lt;br /&gt;
 || 250 pages migrated, checked. &lt;br /&gt;
Get a review of the pages migrated from the community and mentor(s)&lt;br /&gt;
Implement and discuss changes.&lt;br /&gt;
Start with pet project of making my own activity.&lt;br /&gt;
Finish automation task. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#10] July 2 - July 10 &lt;br /&gt;
|| Second Code Evaluations&lt;br /&gt;
300 pages migrated. Completed end-to-end. &lt;br /&gt;
Blog post about GSoC: 10 weeks later.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#11] July 11 - July 18&lt;br /&gt;
Soft Deadline - All 345 web pages migrated completing the primary objective.&lt;br /&gt;
 || 345 pages migrated.  &lt;br /&gt;
Documentation completed.&lt;br /&gt;
Tool Ready with automated tasks and checks wherever they could be implemented hosted on GitHub for everyone to use under Sugar Labs&lt;br /&gt;
Start work on wiki report (Aim - To propose a better format for clear, uniform documentation) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#12] July 19 - July 26&lt;br /&gt;
Hard Deadline &lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
Submit Wiki Report; Get feedback from the community&lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#13] July 27 - August 05&lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
Implement further suggestion if possible. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#14] August 6 - August 13 &lt;br /&gt;
 || Final Code Evaluations&lt;br /&gt;
Various blog posts about the entire experience, GSoC 2018 and Sugar Community. &lt;br /&gt;
Finish making the activity (tentative) &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* I learned almost everything by reading the docs. I, later on, started writing documentation and code for others too. Helping me always know exactly where I can find the information I am looking for and how to improve on it, how necessary it is.  &lt;br /&gt;
* All my past projects, showcase a strong dedication to the deadline and the determination to get work done. WikiPort will be no different.&lt;br /&gt;
* I have been working on Python2 and Python3 for a year now over a lot of projects and activities.   &lt;br /&gt;
* As for my skills, &lt;br /&gt;
- Articles written, published using Pelican, Wordpress (Markdown).&amp;lt;br /&amp;gt;&lt;br /&gt;
- I use git in all project that I start. Document and collaborate on GitHub. &amp;lt;br /&amp;gt;&lt;br /&gt;
- Comfortable with both Linux and Windows OS, (preferring Linux all the way) &amp;lt;br /&amp;gt;&lt;br /&gt;
- Since Python is used widely, my previous projects justify my skill and flexibility in the language. &amp;lt;br /&amp;gt;&lt;br /&gt;
- There is no better to prove that I can accomplish and execute my vision for WikiPort by actually showing that work has been done. (Refer Miscellaneous section) &amp;lt;br /&amp;gt;&lt;br /&gt;
- There are many points to keep in mind while migrating is taking place, hence for a &#039;&#039;&#039;more methodical&#039;&#039;&#039; approach a [https://etherpad.net/p/Sugar_Migration_Checklist checklist] has been implemented by me which has a summary of all the - steps. (Both manual/automated) &lt;br /&gt;
- Completed the &#039;&#039;&#039;one time task&#039;&#039;&#039; in my &#039;&#039;&#039;migration process&#039;&#039;&#039; beforehand and also solving a [https://github.com/sugarlabs/sugar-docs/issues/102 pending issue] related to it. Used &#039;&#039;&#039;GitHub API&#039;&#039;&#039; and &#039;&#039;&#039;PyGithub&#039;&#039;&#039; which seems much more effective then Scraping (using Scrapy) as mentioned before. Scripts are availabe [https://gist.github.com/vipulgupta2048/6eef7de43ac628e8e7ed11217fbb1803 here].&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== You and the community ==&lt;br /&gt;
&#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community?&#039;&#039;&#039;&lt;br /&gt;
*If WikiPort is completed and deployed as a tool for this project. It would help in making the work easier for developers to not just Sugar Labs but everybody and even experienced users. &lt;br /&gt;
*WikiPort will help users port their wikis to GitHub with minimum user inputs, which  would ultimately benefit everyone involved and for many generations of developers to come who will use that documentation.&lt;br /&gt;
*As previously stated, documentation is an important part of any development process. Bad documentation impacts the entire community as. But if the documentation is&lt;br /&gt;
1. &#039;&#039;&#039;Accessible&#039;&#039;&#039; - GitHub is one of the best places to host it. &amp;lt;br /&amp;gt;&lt;br /&gt;
2. &#039;&#039;&#039;Relevant and easily traversable&#039;&#039;&#039; - The documentation about every activity will be housed with its GitHub Repository. &amp;lt;br /&amp;gt; &lt;br /&gt;
Clearly written - Strict format to maintain overall uniformity. &amp;lt;br /&amp;gt;&lt;br /&gt;
3. &#039;&#039;&#039;Easily editable (+ VCS)&#039;&#039;&#039; - Wiki offers edit history of documents too, but the process to edit a document is cumbersome while GitHub makes it very easy for users to fix issues in it. &amp;lt;br /&amp;gt;&lt;br /&gt;
4. &#039;&#039;&#039;More views, more stars&#039;&#039;&#039; - GitHub also increases views and popularity of the activity ultimately helping Sugar Labs to get noticed more. &amp;lt;br /&amp;gt;&lt;br /&gt;
If our documentation has all these features, then everybody would be more inclined towards contributing to Sugar Labs and get to know more about it.  &lt;br /&gt;
People would contribute more to bug fixing, indirectly helping the Sugar Labs community to grow and expand more. Helping students, developers, activity maintainers, members of the community.&lt;br /&gt;
Produce a new tool by the community, for the community and with the community’s help for everyone to benefit from.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 2:&#039;&#039;&#039; Walter Bender - walter.bender@gmail.com &amp;lt;br /&amp;gt;&lt;br /&gt;
This project has solid potential to address several pressing issues for the community: &lt;br /&gt;
(1) bifurcation --  we are spread across too many platforms which is both a maintenance issue and also an issue for our users and potential developers, who struggle to find the documentation for the Sugar Activities; &lt;br /&gt;
(2) redundancy -- we are spread too thin to maintain multiple, redundant instances of documentation. Migrating everything to a uniform platform where is it directly tied to the source would impact both of these issues.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 3:&#039;&#039;&#039; James Cameron - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His assessment of project impact from both Github and Email )&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;quot;Migration is needed because Wiki is not being used now that GitHub is being used. Maintaining the Wiki in addition to GitHub is not sustainable. So we want documentation to move from Wiki to GitHub. So that when an activity is updated in GitHub, the documentation can be updated in the same place at the same time.&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
* “Originally documentation was separate because we had non-coding developers and tool chains that varied by type of developer.  Now we use GitHub the tool chains are combined. With the project as described, documentation will be concentrated in the source code repository for an activity, reducing ongoing maintenance.We have less active Wiki contributors than we ever did, and in the current threat environment a Wiki requires significant monitoring and administration; we recently lost some system administrators and gained new ones; using GitHub allows us to outsource system administration.”&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 4:&#039;&#039;&#039; Tony Anderson - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His comments clarifying the need of WikiPort and the problems it solves)&amp;lt;br /&amp;gt;&lt;br /&gt;
As always, the question is the impact on our users. The traditional source of information for users is [1] and [2] and, especially the wiki pages. So far the effect of gitHub has been to reduce the value of these two sources. In many cases the activities on ASLO have been superseded by ones on Github other git repository but are not available to our users. The documentation of activities on ASLO has never been adequate but now no effort will be made to improve it. This continues the trend toward Sugar being a playground for the technical elite. Complete conversation available here.&amp;lt;br /&amp;gt;&lt;br /&gt;
[1] http://www.sugarlabs.org 				[2] http://www.laptop.org&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What will you do if you get stuck on your project and your mentor isn&#039;t around?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
I strive to solve a problem using my own skill base by searching about the problem case and working it out into smaller bits.&lt;br /&gt;
#sugar and #sugar-devel channels on IRC, the mailing lists where other community members discuss issues. I am familiar with mailing list etiquettes for open source communities and learn fairly fast.&amp;lt;br /&amp;gt;&lt;br /&gt;
Google and StackOverflow about the issues, later refer to the documentation of the tool I am using for reference. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I would get regular, constructive feedback on the code I will write and the work I would do for the community by posting work samples from Github, on the mailing list and on IRC. [Check Timeline for the same]&amp;lt;br /&amp;gt;&lt;br /&gt;
Post constant updates on my blog and maintain an update tracker for each week on a public notepad (Etherpad, etc.)&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&#039;&#039;&#039;Send us a link to a pull request or merge request you have made a Sugar or Sugar activity bug.&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I needed to test my WikiPort beta script that I had created, hence made some extra efforts and migrated these four wiki pages listed below.   &lt;br /&gt;
[https://github.com/sugarlabs/lettermatch/pull/3 lettermatch/pull/3] &lt;br /&gt;
[https://github.com/sugarlabs/AEIOU/pull/9 sugarlabs/AEIOU/pull/9] &lt;br /&gt;
[https://github.com/sugarlabs/iknowmyabcs/pull/7 iknowmyabcs/pull/7] &lt;br /&gt;
[https://github.com/sugarlabs/i-can-read-activity/pull/6 /i-can-read-activity/pull/6] &lt;br /&gt;
&lt;br /&gt;
Another Issue that I am currently working  is [https://github.com/sugarlabs/sugar-live-build/issues/6 sugar-live-build/issues/] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe a great learning experience you had as a child.&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Here’s a short story titled “Let me Google that for you.” when I was 14. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From my childhood, web technologies have always piqued my interest for the longest time as I can remember. I been writing HTML since I was 1. But I never liked to read from the old, dusty books. When I code, I had to take help from seniors, teachers, the experience I gained and other sources. Almost everybody was irritated by the constant barrage of long and complex questions, that Vipul Gupta had.&lt;br /&gt;
So what happened one day, I walked to one of the seniors and asked him a question if I remember right about how he would determine which browser is better for a particular segment of code I wrote. He took me to the lab and told me to open a link similar like to this http://bfy.tw/HFBs This will have the solution surely to all my problems. &lt;br /&gt;
What happened next? I was embarrassed and couldn’t see straight but he was not judgemental and was very humble (A trait everyone of should have towards beginners, I feel like.) and from that day forward. The only place I actually learned something was the internet. &lt;br /&gt;
That day I actually learned how to Google by letting someone google that for me. Teaching by the application at its best. I look back to this incident and still smile. I share this experience of mine whenever I have a chance to interact with my juniors that serves as motivation boost and compels them to think that nothing is impossible, and everybody makes mistakes once in a while.  This lead to me creating hundreds of links more from this website. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* I think I am well satisfied with the proposal that I have made for WikiPort, the project for Sugar Labs. The template given by Sugar Labs really covers all the corners of my  project, and actually helped me think more constructively about the project and the fine aspects of it. &amp;lt;br /&amp;gt;&lt;br /&gt;
* I learned a lot through these few weeks, working on the proposal. MediaWIki API and new skills, contributing to an open-source organisation of this stature, how to interact with people. This has been a memorable experience. I am in awe, I really am.&amp;lt;br /&amp;gt;&lt;br /&gt;
* All open-source communities may not be same, but are run on the same principle that I also try to follow in life. Be humble, and helpful to everybody. The ‘ahaa-moment’ of a beginner is what I live for, when he truly get the point that I am trying to make.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Some Credits - Learned to not contest for issues, but focus on better PR’s, and many new things from James Cameron (@Quozl)’s blog. Jasikrat too for helping people on IRC emailsll mentors who review our proposal and go through all our mails. Thank you all for the opportunities and the help provided to me and my fellow contributors. I hope down the line, I could follow in your footsteps too.&amp;lt;br /&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
__INDEX__&lt;br /&gt;
[[Category:2018 GSoC applications]]&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2018&amp;diff=101770</id>
		<title>Summer of Code/2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2018&amp;diff=101770"/>
		<updated>2018-05-04T20:07:47Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: /* Selected Projects for summer 2018 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Selected Projects for summer 2018 ==&lt;br /&gt;
&lt;br /&gt;
;Rahul Bothra: Port Sucrose from Python 2 to Python 3 ([http://www.pro-panda.tech/2018/05/24/GSoC-First-Post.html blog])&lt;br /&gt;
;Riya Lohia: Going Beyond Equal Temperament in Music Blocks ([https://medium.com/gsoc18-with-sugar-labs blog])&lt;br /&gt;
;Ritwik Abhishek: Music Blocks Widget Improvement ([https://musicblocks18.wordpress.com/ blog])&lt;br /&gt;
;Vaibhav Aren: Interactive Exercises for Turtle Blocks ([https://vaibhavdaren.wordpress.com/ blog])&lt;br /&gt;
;Aman Sharma: Sugarizer School Box ([https://amansharmablogblog.wordpress.com/2018/04/26/introduction-to-the-community/ blog])&lt;br /&gt;
;Vipul Gupta: Activity Migration ([https://mixstersite.wordpress.com/gsoc2018/ blog])&lt;br /&gt;
;Anmol Mishra: Port to Python 3 ([https://medium.com/anmolmishra-jiit blog])&lt;br /&gt;
;Iqra Muhammad: Sugarizer Primero ([https://iqragsoc.wordpress.com/ blog])&lt;br /&gt;
;Mankirat Singh: Sugarizer Exerciser Activity ([https://mankiratsinghtech.wordpress.com/2018/04/27/google-summer-of-code-2018/ blog])&lt;br /&gt;
;Rudra Sadhu: Migration of Activity wiki-pages to Git ([https://wiki.sugarlabs.org/go/Summer_of_Code/2018/attentive_migration_of_wiki_activity_pages_to_git project-details])([https://rdrsadhu.github.io/blog/gsoc2018/ blog])&lt;br /&gt;
;Yash Aragwal:Just say no to GTK+ 2&lt;br /&gt;
;Pratul Kumar:Beginner&#039;s Guide&lt;br /&gt;
&lt;br /&gt;
[https://summerofcode.withgoogle.com/organizations/6193990685163520/ Sugar Labs at GSoC 2018]&lt;br /&gt;
&lt;br /&gt;
=== Meetings ===&lt;br /&gt;
&lt;br /&gt;
We meet as a group in IRC every Friday at 22IST, 12:30ET, 16:30UTC. The meetings are logged at http://meeting.sugarlabs.org/sugar-meeting/meetings&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GSoC projects must involve some coding. Non-coding projects have been moved to the [[Summer of Code/2018/Archive|Non-Coding Projects Page]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #f7effc;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background:#7409bc; color: white;&amp;quot;&lt;br /&gt;
!Title&lt;br /&gt;
!Mentor&lt;br /&gt;
!Project&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Python 3 port&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Devel Team&lt;br /&gt;
| align=left valign=top  style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: Python 3 has been here for quite some time. We&#039;ve investigated how to migrate and now it is time to do it.&lt;br /&gt;
;Expected results: A Python 3 version of the Sugar toolkit, as well as the Sugar Desktop and a few activities.&lt;br /&gt;
;Knowledge prerequisites: Strong Python and GTK experience&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Migration of wiki activity pages to git&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; |Activity team&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: We have 345 pages under [[Activities]] in this wiki. It would be more sustainable in the long run if these pages were embedded (in Markdown format) in their corresponding git repositories.&lt;br /&gt;
;Expected results: Definition of migration process; migration of the majority of these pages&lt;br /&gt;
;Knowledge prerequisites: Knowledge of Markdown and Mediawiki markup; experience with git.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|GTK-4 exploration&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Devel Team&lt;br /&gt;
| align=left valign=top  style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: GTK-4 is coming soon [https://mclasen.fedorapeople.org/gtk4-devconf2018.pdf]: probably in 2018. We need to be better prepared for the transition than we were for GTK-3.&lt;br /&gt;
;Expected results: Design of a workflow for transitioning from GTK-3 to GTK-4	&lt;br /&gt;
;Knowledge prerequisites: Strong Python and GTK experience&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Internationalization and Localization&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; |Chris Leonard&lt;br /&gt;
Shivang Shekhar&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: A goal of Sugar Labs is to enable our users to experience Sugar in their own native language. See [[Translation_Proposal#ToDo:|Translation Proposal To Do List]] for details.  See [[Translation Team]] for framework description.&lt;br /&gt;
;Expected results: Work flow improvements for i18n&lt;br /&gt;
;Knowledge prerequisites: Some knowledge of Pootle; some scripting experience; Python and JavaScript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Full-color icons&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Design team&amp;lt;br&amp;gt; Jaskirat Singh&amp;lt;br&amp;gt;perriefidelis&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: We have been discussing the implications of removing the duo-tone restriction on Sugar icons, allowing for full-color icons. We can likely use badges to compensate for any functionality we&#039;d lose. (See [https://medium.com/@sidhant/designing-interfaces-for-education-systems-with-sugar-labs-rethinking-icons-on-sugar-614120e7ec6f] as one example of how we might proceed.). Like if an activity has not closed yet so it will be shown through a badge appearing on an icon. Repo can be found here https://github.com/sugarlabs/sugar-toolkit-gtk3/tree/master/src/sugar3&lt;br /&gt;
;Expected results: A patch to Sugar that uses badges to manage the icon notifications such as activity, sharing, achievements and much more.&lt;br /&gt;
;Knowledge prerequisites: Knowledge of GTK; Python.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Learn to program in Turtle Blocks&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Walter Bender &amp;lt;br&amp;gt; Jaskirat Singh&amp;lt;br&amp;gt;&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: In much the same way that [https://www.codecademy.com/courses/programming-intro/0/1#!/exercises/0 ( example here )] walks newbies through the basics of programming in Javascript, it would be nice to walk newbies through the basics of Turtle Blocks. There is already a provision within Turtle Blocks for programatically creating and moving blocks and executing program stacks. So it would be a matter of developing the exercises.&lt;br /&gt;
;Expected results: Website for teaching and having exercises with Turtle Blocks.&lt;br /&gt;
;Knowledge prerequisites: Requires some familiarity with Logo programming and Python.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Music Blocks optimizations&amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Walter Bender&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: Music Blocks has never been optimized in any way. It would be helpful to review the tone.js optimization recommendations, as well as build some unit tests to measure and improve the program itself.&lt;br /&gt;
;Expected results: A more robust and responsive Music Blocks.&lt;br /&gt;
;Knowledge prerequisites: Knowledge of JavaScript, unit testing&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Going Beyond Equal Temperament in Music Blocks&amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;| Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Sachiko Nakajima&amp;lt;br&amp;gt;Marnen Laibow-Koser&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: Most modern music systems are designed around [https://en.wikipedia.org/wiki/Equal_temperament equal temperament]. But there are many ways to [https://en.wikipedia.org/wiki/Musical_temperament chose and tune notes] in a musical system that offer different expressive characteristics.  See also [https://github.com/walterbender/musicblocks/labels/temperament MB issues for temperament], [https://owncloud.libretools.com/index.php/s/2GtAhkvQpt3fYfF Articles about temperament, scales, and tuning] and [https://owncloud.libretools.com/index.php/s/PmPfZ1yMhimQomG various materials related to temperament (.tb files that achieve temperament with existing MB features, videos of those files being performed, notes)]&lt;br /&gt;
;Expected results: Extend Music Blocks such that different approaches to temperament are available to the user.&lt;br /&gt;
;Knowledge prerequisites: Knowledge of JavaScript, music theory&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Just say no to GTK2&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot;| Ignacio Rodriguez&amp;lt;br&amp;gt;Cristian Garcia&amp;lt;br/&amp;gt;Abhijit Patel&amp;lt;br&amp;gt;Ibiam Chihurumnaya&amp;lt;br/&amp;gt;Hrishi Patel&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#f7effc;&amp;quot;|&lt;br /&gt;
;Brief explanation: GTK2 and GST0.10 are end of life. We need to upgrade the remaining activities with these dependencies.&lt;br /&gt;
;Expected results: New versions of at least 25 existing Sugar activities.&lt;br /&gt;
;Knowledge prerequisites: Knowledge of GTK, GST, and Python&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot; |Sugar Labs Social&amp;lt;br&amp;gt;[[File:Social Site.jpg|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;| Jaskirat Singh&amp;lt;br&amp;gt;Samson Goddy&amp;lt;br&amp;gt;Hrishi Patel&amp;lt;br&amp;gt;Shivang Shekhar&amp;lt;br&amp;gt;perriefidelis&lt;br /&gt;
Abdulazeez Abdulazeez&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: &#039;&#039;&#039;[https://github.com/geekrypter/Sugar-Labs-Social Sugar Labs Social]&#039;&#039;&#039; is a website project which should serve a purpose to help people understand and discuss project(s) around Sugar Labs. The goal of this project is to attract Teachers, Parents, Developers and fully communicate together in one platform.   : It&#039;s a social website that can be used to attract maximum users and everything ( Blogs, New projects, Software, Activities, etc) can be uploaded on it which will attract more user and create their interest. : A competitive proposal must include some evidence that the approach taken will result in some use -- just because we build it doesn&#039;t mean they will come.&lt;br /&gt;
;Expected results: It should have user logins, feed and a blog([https://medium.com/ medium] like) that can be over viewed by people around the world&lt;br /&gt;
;Knowledge prerequisites: Good Layout designing and coding experience with backend (Django, JavaScript, HTML/CSS, Mongo).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Lilypond Methodical Improvements to how Music Blocks generates Lilypond output &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Marnen Laibow-Koser&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: Music Blocks is capable of exporting [https://www.lilypond.org Lilypond] code of which general instructions can be found [https://github.com/walterbender/musicblocks/tree/master/guide#BEYOND-MUSIC-BLOCKS here in the Music Blocks guide] and its [https://github.com/walterbender/musicblocks/ source code can be found here]. We would like to improve existing code where needed and implement needed features in a methodical way, which means we must 1) document how the Music Blocks source code works for current and future developers to learn and benefit from and 2) project manage this portion of Music Blocks development (e.g. &amp;quot;what works&amp;quot; and &amp;quot;what needs to be done&amp;quot;. [https://owncloud.libretools.com/index.php/s/tgJAX5yMEzQsENf An example of a draft of a simple type of this analysis exists for you to start from.]), as well as 3) implement and improve features.&lt;br /&gt;
;Expected results: Implement and improve lilypond export features; Detailed documentation created for developer audience that details how Music Blocks exports to Lilypond; documentation to help manage what needs to be completed.&lt;br /&gt;
;Knowledge prerequisites: Literacy in reading music; functional knowledge of Lilypond code (some of your own scores would be nice); Organizational and Project Management Skills; JavaScript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Music Blocks&#039; First Steps for Robotics &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;| Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br/&amp;gt;Hrishi Patel&amp;lt;br/&amp;gt;Rishabh Thaney&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: What is needed to integrate Music Blocks with Robotics? This project is 1) to experiment with existing technologies to see what is already possible, 2) develop features (e.g. plugins, hardware modifications) needed to make interfacing possible, and 3) document the entire process and next steps&lt;br /&gt;
;Expected results: A working method for interfacing with a simple robot; additional features within MB to ease interfacing; and full documentation of how to recreate successful projects (that a classroom could use); communication (we do not want to guess what experiments you are doing by yourself--do not be shy to send emails, videos, pictures DAILY!!!)&lt;br /&gt;
;Knowledge prerequisites: Understanding of JavaScript (Music Blocks source code) and robotics (no particular method requested, just make sure it is free/libre); demonstrable documentation and self-management skills; NOTE: we value quality, clear ideas over expensive or pretty robots&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Create Examples, Compositions, and New Experiments Every Day! &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Sachiko Nakajima&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: [https://walterbender.github.io/musicblocks/ Music Blocks] has some examples already, but it would be nice to have one ambitious student really work for the summer to make new creative, thoughtful code everyday. (You will be expected to code in the Music Blocks language on a daily basis.) Secondary, but important goals, are bug reports when bugs are found, feature suggestions, and overall good and frequent communication with the Music Blocks team.&lt;br /&gt;
;Expected results: Quality examples sent daily; variety of styles; runs entire gamut in terms of blocks used (we want a number of great examples for each and every block feature); organized documentation of all examples created, which can be finalized in the final weeks of GSoC&lt;br /&gt;
;Knowledge prerequisites: Understanding of Music Blocks as a programming language; A good proposal is one that has a well-thought out and detailed list of music projects for each day of GSoC (time-frames, blocks used, musical styles, name of music to be transcribed); experience with music and composition/theory is a definite plus.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Music Blocks UI Improvements and Implementation &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;| Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Hrishi Patel&amp;lt;br&amp;gt; Jaskirat Singh&amp;lt;br&amp;gt;perriefidelis&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: [https://walterbender.github.io/musicblocks/ Music Blocks] has a good enough UI, but there are open issues remaining and it would be nice if a person with a high level of understanding of graphics and style were to proposal and implement changes that unify the entire look and feel of Music Blocks.&lt;br /&gt;
;Expected results: Visually unified, beautiful and intuitive Music Blocks interface. Documentation to benefit future contributors to understand &amp;quot;what Music Blocks style is&amp;quot; (obviously this may change in the future, but a thoughtful rationale for the new style is expected).&lt;br /&gt;
;Knowledge prerequisites: Understanding of CSS, JavaScript, and HTML. Published work on UI (links to code, websites, etc)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Scales/Modes/Keys Design Improvements and Implementation &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Marnen Laibow-Koser&amp;lt;br&amp;gt;Sachiko Nakajima&amp;lt;br&amp;gt;perriefidelis&amp;lt;br&amp;gt;Jaskirat Singh&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: There are features in [https://github.com/walterbender/musicblocks/tree/master/guide#3213-setting-voice-and-keys MB for exploring modes/scales/keys which can are referenced in the guide]. However, we suspect that there are better ways to organize keys. This project would be to reimagine how MB organizes pitches. We recommend that you read the discussions that have taken place already on GitHub as well as research how keys work as well as [https://owncloud.libretools.com/index.php/s/2GtAhkvQpt3fYfF scholarly articles about temperament, scales, and tuning]. Keep in mind that we would like to prepare for the possibility of chromatic pitch spaces that are not 12--for example, a chroma of 5 or 7 or 13, etc. What features and widgets are needed?&lt;br /&gt;
;Expected results: Detailed documentation created for developer audience that specifies 1) proposed features and overall design, 2) purpose of design choices, 3) audit of code (e.g. What changes to our current approach may be necessary? Are there libraries that may be useful?) 4) widget design proposal as well as MB code design proposal.&lt;br /&gt;
;Knowledge prerequisites: Understanding of Music Theory and/or group (or set) theory. Please read the articles at https://owncloud.libretools.com/index.php/s/2GtAhkvQpt3fYfF We are looking for candidates that can make a simple and effective design that can be implemented in JavaScript.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Create UI features for music analysis and visualization &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;| Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Sachiko Nakajima&amp;lt;br&amp;gt;perriefidelis &lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: Music Blocks does not yet have a robust set of tools to help the user analyze their music (e.g. highest pitch, lowest pitch, pitches used, keys, musical form, intervals etc.). Additionally, users would very much benefit from features to help them visualize the way their music is constructed. Perhaps we could even create some features to help the user choose a style of music and the analysis highlights movements that violate that style&#039;s particular rules.&lt;br /&gt;
;Expected results: New Features.&lt;br /&gt;
;Knowledge prerequisites: Literacy in reading music; Music Theory knowledge; UI knowledge; JavaScript knowledge&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Music Blocks Musical Ornaments Features &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Sachiko Nakajima&amp;lt;br&amp;gt;Marnen Laibow-Koser&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: The neighbor block feature is the first of a series of musical ornament features. There are many more possibilities, some of which are described [https://github.com/walterbender/musicblocks/issues/909 in issue 909]. The project would be to implement and document these features as well as to create example programs.&lt;br /&gt;
;Expected results: New Features, documentation, and new example programs for each new feature.&lt;br /&gt;
;Knowledge prerequisites: Music Theory knowledge; JavaScript knowledge; knowledge of Music Blocks and tone.js internals (please research)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Music Blocks Widget Improvements &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;| Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Sachiko Nakajima&amp;lt;br&amp;gt;Marnen Laibow-Koser&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: Music Blocks has a number of features to help users conceptualize musical concepts, which also help to create code. Please see [https://github.com/walterbender/musicblocks/tree/master/guide#widgets the guide for more]. There are a number of widgets that have not been integrated at all as well. This project would be to 1) fix widget bugs, 2) implement unfinished features ([https://github.com/walterbender/musicblocks/issues?utf8=%E2%9C%93&amp;amp;q=is%3Aissue+is%3Aopen+widgets+ see issues]), and 3) document and fully integrate these new features and improve existing features. [https://github.com/walterbender/musicblocks/issues/663 is also a related feature]&lt;br /&gt;
;Expected results: New Features, fixes, documentation, and new example programs for each new feature.&lt;br /&gt;
;Knowledge prerequisites: Music Theory knowledge; JavaScript knowledge; knowledge of Music Blocks and tone.js internals (please research)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Sugarizer School Box&amp;lt;br&amp;gt;[[File:Sugarizerschoolbox.jpg|90px|thumb|center]]&lt;br /&gt;
|valign=top width=&amp;quot;15%&amp;quot; |Michaël Ohayon&amp;lt;br&amp;gt;Lionel Laské&amp;lt;br/&amp;gt;Hrishi Patel&amp;lt;br/&amp;gt;Rishabh Thaney&lt;br /&gt;
Shivang Shekhar&lt;br /&gt;
| align=left valign=top|&lt;br /&gt;
;Brief explanation&lt;br /&gt;
:[https://sugarizer.org Sugarizer] is the JavaScript version of Sugar, making education available of many platforms from web to mobile.:The app is composed by both a client side and a server side.&lt;br /&gt;
:The idea of this project is to develop a package to simplify deployment of Sugarizer in schools.&lt;br /&gt;
: This package will take two forms:&lt;br /&gt;
: 1 - An image for Raspberry Pi that could be flashed on a sd card that could automatically start a sugarizer server at boot and displays sugarizer client on the Pi. The server will be accessible by other devices from the local network. So the teacher has just to plug the RaspberryPI to expose a WiFi and the Sugarizer Server API/WebApp. So any computer connected to this WiFi could use Sugarizer Server WebApp and any tablet with Sugarizer App connected to this WiFi could benefit to collaboration, presence and backup its content on the server.&lt;br /&gt;
: 2 - Create one click to deploy scripts, to deploy a full Sugarizer stack on popular providers such as Amazon AWS or Heroku. So anyone could deploy a new Sugarizer Server instance on one of popular cloud platform without the need to dig into a complex setup process.&lt;br /&gt;
;Expected results:Raspberry Pi image files. Deployment scripts.&lt;br /&gt;
;Knowledge prerequisites:[https://github.com/llaske/sugarizer-server Sugarizer Server] knowledge, Linux system administration knowledge, bash scripting capabilities, Docker enthusiasm. (This project may require to download many system files)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Sugarizer Exerciser activity&amp;lt;br&amp;gt;[[File:Sugarizerexerciser.jpg|90px|thumb|center]]&lt;br /&gt;
|valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Lionel Laské&amp;lt;br&amp;gt;Michaël Ohayon&amp;lt;br&amp;gt;Jaskirat Singh&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation&lt;br /&gt;
:[https://sugarizer.org Sugarizer] is the JavaScript version of Sugar, making education available of many platforms from web to mobile.&lt;br /&gt;
:The idea of this project is to create a new Sugarizer activity to allow users to create exercise and let other users play to this exercise. &lt;br /&gt;
:The activity will propose different templates for exercises. Typical exercises could be multiple-choice question, reordering a list of items, cloze text, group assignment, ...&lt;br /&gt;
:Once created, the exercise could be played locally or shared on the network using Sugarizer presence. At the end of the exercise a graph will give results for each participants.&lt;br /&gt;
:The activity should allow to integrate multimedia element (images, sounds, videos) coming from the Journal. The activity should as simple as possible so even a child should be able to create an exercise and share it.&lt;br /&gt;
:Like all Sugarizer activity, the activity should: adopt the Sugar UI, be responsive (work on any screen size), work with the keyboard and with the mouse (to support touch screen), use journal and use localization. &lt;br /&gt;
:Features inspiration could be found on [https://learningapps.org LearningApps], [https://www.google.com/forms/ Google Forms], [https://www.limesurvey.org LimeSurvey], ...&lt;br /&gt;
;Expected results:A Sugarizer activity.&lt;br /&gt;
;Knowledge prerequisites: HTML/JavaScript, UI Design, [https://github.com/llaske/sugarizer/blob/dev/docs/tutorial.md Sugarizer Development Tutorial]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot;|Music Blocks export &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc&amp;quot;| Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Sachiko Nakajima &lt;br /&gt;
| align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |&lt;br /&gt;
;Brief explanation: Music Blocks is essentially a Logo interpreter. It would be great to be able to export Logo from Music Blocks. (We need to find a Logo that can handle the basic synthesizer needs to make it relevant.)&lt;br /&gt;
;Expected results: A Logo export that is coupled to a music-enabled Logo interpreter.&lt;br /&gt;
;Knowledge prerequisites: Literacy in reading music; Music Theory knowledge; UI knowledge; Logo and JavaScript knowledge&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Music Blocks inline documentation &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc&amp;quot;| Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Sachiko Nakajima &lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: There are three types of documentation for Music Blocks: documentation about how individual blocks work; short coding examples; and lesson plans. This project is about the first two. We can add inline comments to each block as it is defined in basicblocks.js from which help can be autogenerated for each block. And we can utilize the &amp;quot;make block&amp;quot; mechanism to generate on-the-fly examples of how to use blocks in combination to achieve different musical goals. The former will require some JavaScript programming; the latter, Music Blocks programming.&lt;br /&gt;
;Expected results: In-line documentation for each block as well as in-line Music Blocks-coded examples of the core music ideas.&lt;br /&gt;
;Knowledge prerequisites: UI knowledge; JavaScript knowledge; some background in music.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot;|Making a Beginner Guide&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot;| Jaskirat Singh&amp;lt;br/&amp;gt;Hrishi Patel&amp;lt;br/&amp;gt;Rishabh Thaney&amp;lt;br/&amp;gt;Shivang Shekhar&amp;lt;br/&amp;gt;Samson Goddy&amp;lt;br/&amp;gt;Abdulazeez Abdulazeez&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#f7effc;&amp;quot;|&lt;br /&gt;
;Brief explanation: We don&#039;t have a beginner guide for the newcomers to the Sugar labs Community. It would be great to guide them by guiding them how to contribute through making these &amp;quot;form where to start? , What to start? , How to start? , Where to submit? &amp;quot; .  An example is the Coala [http://api.coala.io/en/latest/Developers/Newcomers_Guide.html Newcomers&#039; Guide] which is built from [https://github.com/coala/coala/blob/6dae06082017587a260189a787db9cfdc84a148b/docs/Developers/Newcomers_Guide.rst markdown source].  The goal of this task is to Help newcomers to get introduce in easy way to the world of Sugar Labs also make a dasboard for the users so they can get about developed and developing areas. Their contribution can be seen also their presence can be seen with the community.&lt;br /&gt;
;Expected results: A set of website pages and also documentation in Pdf form with this the problems of newcomers about their contribution will be solved and they can work easily. It is essential to this project that there is a credible maintenance regime to ensure it is easy to keep it up to date after GSoC is completed.&lt;br /&gt;
;Knowledge prerequisites:  HTML, CSS, JavaScript(interactive) , BootStrap(responsive nav compatible on mobile devices also), PHP(dashboard), Github workflow, Markdown/up for documentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #f7effc;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot; |Scratch 3.0 to Sugar Desktop&amp;lt;br&amp;gt;[[File:Scratch.png|centre|thumb|99x99px]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc&amp;quot; | Walter Bender&amp;lt;br&amp;gt;Samson Goddy &lt;br /&gt;
Hrishi Patel&amp;lt;br&amp;gt;Ibiam Chihurumnaya&lt;br /&gt;
| align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot; |&lt;br /&gt;
;Brief explanation: [https://scratch.mit.edu/ Scratch] is a programming environment for kids. The goal of this project is to make bring back the [[Activities/Scratch|Scratch activity]] to the Sugar Desktop. Scratch 3.0 was created with HTML 5 using [https://developers.google.com/blockly/ Google’s blocky]. &lt;br /&gt;
:# Port scratch 3.0 as a Sugar activity using method [https://github.com/sugarlabs/sugar-docs/blob/master/src/web-activity.md 1] or [https://github.com/walterbender/turtle-blocks-embedded-activity 2]. Method 1, a web activity that can run on the Sugar Desktop. While method 2, an embedded activity that can run inside browser activity. There have been some development of [https://github.com/EmilyOng/embedded-scratch-activity scratch to sugar] and a yet to release version of [https://github.com/EmilyOng/Scratch.activity scratch in Sugarizer].&lt;br /&gt;
:# Make the scratch libraries to work completely offline, so a user can import sprite without have issues of internet connection. A possible way is to fork the [https://github.com/LLK/scratch-storage scratch-storage] and [https://github.com/LLK/scratch-gui scratch-gui]  modules to make them work offline by linking the libraries to local assets on the filesystem.  https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers   https://hackernoon.com/service-worker-one-fallback-offline-image-for-any-aspect-ratio-b427c0f897fb&lt;br /&gt;
;Expected results: A stable working Scratch 3 on Sugar Desktop.: User  to &amp;quot;save project&amp;quot; within the scratch activity into the journal, making it easy to resume project.&lt;br /&gt;
: Make the Scratch activity work completely offline stated at 2.&lt;br /&gt;
;Knowledge prerequisites: Python, GTK, JavaScript knowledge&lt;br /&gt;
|}&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #f7effc;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Sugarizer Primero (Sugarizer1°)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; | Caryl Bigenho&lt;br /&gt;
Samson Goddy&lt;br /&gt;
| align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |&lt;br /&gt;
;Brief explanation: Sugarizer is a large collection of many Activities suitable for general audiences on many devices. The goal of this project is to package a subset of the Sugarizer Activities (Maximum of 5) for children 4-7 (grades Pre-K-2) with a young child-friendly UI/UX experience suitable devices. Many of the graphics in the interfaces will be re-designed to accommodate non-readers and very young children who are still developing their fine motor skills. One new Activity for intuitive math concepts will also be developed similar to [https://en.wikipedia.org/wiki/Cuisenaire_rods Cuisenaire Rods]. Sugarizer1° will be non-language dependent so translations will not be needed.&lt;br /&gt;
;Expected results: At the end of the summer project, a prototype of Sugarizer1° will be ready for beta testing by children, parents, and educators. .&lt;br /&gt;
;Knowledge prerequisites:  Javascript, HTML, CSS and some knowledge of layout and design. A familiarity of how young children play and learn will also be helpful.&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2018&amp;diff=101736</id>
		<title>Summer of Code/2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2018&amp;diff=101736"/>
		<updated>2018-04-27T20:03:12Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: /* Selected Projects for summer 2018 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Selected Projects for summer 2018 ==&lt;br /&gt;
&lt;br /&gt;
;Rahul Bothra: Port Sucrose from Python 2 to Python 3 ([http://www.pro-panda.tech/2018/05/24/GSoC-First-Post.html blog])&lt;br /&gt;
;Ritwik Abhishek: Music Blocks Widget Improvement ([https://musicblocks18.wordpress.com/ blog])&lt;br /&gt;
;Vaibhav Aren: Interactive Exercises for Turtle Blocks ([https://vaibhavdaren.wordpress.com/ blog])&lt;br /&gt;
;Aman Sharma: Sugarizer School Box ([https://amansharmablogblog.wordpress.com/2018/04/26/introduction-to-the-community/ blog])&lt;br /&gt;
;Vipul Gupta: Activity Migration ([https://mixstersite.wordpress.com/ blog])&lt;br /&gt;
;Anmol Mishra: Port to Python 3 ([https://medium.com/anmolmishra-jiit blog])&lt;br /&gt;
;Iqra Muhammad: Sugarizer Primero ([https://iqragsoc.wordpress.com/ blog])&lt;br /&gt;
;Mankirat Singh: Sugarizer Exerciser Activity ([https://mankiratsinghtech.wordpress.com/2018/04/27/google-summer-of-code-2018/ blog])&lt;br /&gt;
&lt;br /&gt;
[https://summerofcode.withgoogle.com/organizations/6193990685163520/ Sugar Labs at GSoC 2018]&lt;br /&gt;
&lt;br /&gt;
== Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GSoC projects must involve some coding. Non-coding projects have been moved to the [[Summer of Code/2018/Archive|Non-Coding Projects Page]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #f7effc;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background:#7409bc; color: white;&amp;quot;&lt;br /&gt;
!Title&lt;br /&gt;
!Mentor&lt;br /&gt;
!Project&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Python 3 port&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Devel Team&lt;br /&gt;
| align=left valign=top  style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: Python 3 has been here for quite some time. We&#039;ve investigated how to migrate and now it is time to do it.&lt;br /&gt;
;Expected results: A Python 3 version of the Sugar toolkit, as well as the Sugar Desktop and a few activities.&lt;br /&gt;
;Knowledge prerequisites: Strong Python and GTK experience&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Migration of wiki activity pages to git&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; |Activity team&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: We have 345 pages under [[Activities]] in this wiki. It would be more sustainable in the long run if these pages were embedded (in Markdown format) in their corresponding git repositories.&lt;br /&gt;
;Expected results: Definition of migration process; migration of the majority of these pages&lt;br /&gt;
;Knowledge prerequisites: Knowledge of Markdown and Mediawiki markup; experience with git.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|GTK-4 exploration&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Devel Team&lt;br /&gt;
| align=left valign=top  style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: GTK-4 is coming soon [https://mclasen.fedorapeople.org/gtk4-devconf2018.pdf]: probably in 2018. We need to be better prepared for the transition than we were for GTK-3.&lt;br /&gt;
;Expected results: Design of a workflow for transitioning from GTK-3 to GTK-4	&lt;br /&gt;
;Knowledge prerequisites: Strong Python and GTK experience&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Internationalization and Localization&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; |Chris Leonard&lt;br /&gt;
Shivang Shekhar&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: A goal of Sugar Labs is to enable our users to experience Sugar in their own native language. See [[Translation_Proposal#ToDo:|Translation Proposal To Do List]] for details.  See [[Translation Team]] for framework description.&lt;br /&gt;
;Expected results: Work flow improvements for i18n&lt;br /&gt;
;Knowledge prerequisites: Some knowledge of Pootle; some scripting experience; Python and JavaScript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Full-color icons&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Design team&amp;lt;br&amp;gt; Jaskirat Singh&amp;lt;br&amp;gt;perriefidelis&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: We have been discussing the implications of removing the duo-tone restriction on Sugar icons, allowing for full-color icons. We can likely use badges to compensate for any functionality we&#039;d lose. (See [https://medium.com/@sidhant/designing-interfaces-for-education-systems-with-sugar-labs-rethinking-icons-on-sugar-614120e7ec6f] as one example of how we might proceed.). Like if an activity has not closed yet so it will be shown through a badge appearing on an icon. Repo can be found here https://github.com/sugarlabs/sugar-toolkit-gtk3/tree/master/src/sugar3&lt;br /&gt;
;Expected results: A patch to Sugar that uses badges to manage the icon notifications such as activity, sharing, achievements and much more.&lt;br /&gt;
;Knowledge prerequisites: Knowledge of GTK; Python.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Learn to program in Turtle Blocks&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Walter Bender &amp;lt;br&amp;gt; Jaskirat Singh&amp;lt;br&amp;gt;&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: In much the same way that [https://www.codecademy.com/courses/programming-intro/0/1#!/exercises/0 ( example here )] walks newbies through the basics of programming in Javascript, it would be nice to walk newbies through the basics of Turtle Blocks. There is already a provision within Turtle Blocks for programatically creating and moving blocks and executing program stacks. So it would be a matter of developing the exercises.&lt;br /&gt;
;Expected results: Website for teaching and having exercises with Turtle Blocks.&lt;br /&gt;
;Knowledge prerequisites: Requires some familiarity with Logo programming and Python.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Music Blocks optimizations&amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Walter Bender&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: Music Blocks has never been optimized in any way. It would be helpful to review the tone.js optimization recommendations, as well as build some unit tests to measure and improve the program itself.&lt;br /&gt;
;Expected results: A more robust and responsive Music Blocks.&lt;br /&gt;
;Knowledge prerequisites: Knowledge of JavaScript, unit testing&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Going Beyond Equal Temperament in Music Blocks&amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;| Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Sachiko Nakajima&amp;lt;br&amp;gt;Marnen Laibow-Koser&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: Most modern music systems are designed around [https://en.wikipedia.org/wiki/Equal_temperament equal temperament]. But there are many ways to [https://en.wikipedia.org/wiki/Musical_temperament chose and tune notes] in a musical system that offer different expressive characteristics.  See also [https://github.com/walterbender/musicblocks/labels/temperament MB issues for temperament], [https://owncloud.libretools.com/index.php/s/2GtAhkvQpt3fYfF Articles about temperament, scales, and tuning] and [https://owncloud.libretools.com/index.php/s/PmPfZ1yMhimQomG various materials related to temperament (.tb files that achieve temperament with existing MB features, videos of those files being performed, notes)]&lt;br /&gt;
;Expected results: Extend Music Blocks such that different approaches to temperament are available to the user.&lt;br /&gt;
;Knowledge prerequisites: Knowledge of JavaScript, music theory&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Just say no to GTK2&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot;| Ignacio Rodriguez&amp;lt;br&amp;gt;Cristian Garcia&amp;lt;br/&amp;gt;Abhijit Patel&amp;lt;br&amp;gt;Ibiam Chihurumnaya&amp;lt;br/&amp;gt;Hrishi Patel&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#f7effc;&amp;quot;|&lt;br /&gt;
;Brief explanation: GTK2 and GST0.10 are end of life. We need to upgrade the remaining activities with these dependencies.&lt;br /&gt;
;Expected results: New versions of at least 25 existing Sugar activities.&lt;br /&gt;
;Knowledge prerequisites: Knowledge of GTK, GST, and Python&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot; |Sugar Labs Social&amp;lt;br&amp;gt;[[File:Social Site.jpg|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;| Jaskirat Singh&amp;lt;br&amp;gt;Samson Goddy&amp;lt;br&amp;gt;Hrishi Patel&amp;lt;br&amp;gt;Shivang Shekhar&amp;lt;br&amp;gt;perriefidelis&lt;br /&gt;
Abdulazeez Abdulazeez&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: &#039;&#039;&#039;[https://github.com/geekrypter/Sugar-Labs-Social Sugar Labs Social]&#039;&#039;&#039; is a website project which should serve a purpose to help people understand and discuss project(s) around Sugar Labs. The goal of this project is to attract Teachers, Parents, Developers and fully communicate together in one platform.   : It&#039;s a social website that can be used to attract maximum users and everything ( Blogs, New projects, Software, Activities, etc) can be uploaded on it which will attract more user and create their interest. : A competitive proposal must include some evidence that the approach taken will result in some use -- just because we build it doesn&#039;t mean they will come.&lt;br /&gt;
;Expected results: It should have user logins, feed and a blog([https://medium.com/ medium] like) that can be over viewed by people around the world&lt;br /&gt;
;Knowledge prerequisites: Good Layout designing and coding experience with backend (Django, JavaScript, HTML/CSS, Mongo).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Lilypond Methodical Improvements to how Music Blocks generates Lilypond output &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Marnen Laibow-Koser&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: Music Blocks is capable of exporting [https://www.lilypond.org Lilypond] code of which general instructions can be found [https://github.com/walterbender/musicblocks/tree/master/guide#BEYOND-MUSIC-BLOCKS here in the Music Blocks guide] and its [https://github.com/walterbender/musicblocks/ source code can be found here]. We would like to improve existing code where needed and implement needed features in a methodical way, which means we must 1) document how the Music Blocks source code works for current and future developers to learn and benefit from and 2) project manage this portion of Music Blocks development (e.g. &amp;quot;what works&amp;quot; and &amp;quot;what needs to be done&amp;quot;. [https://owncloud.libretools.com/index.php/s/tgJAX5yMEzQsENf An example of a draft of a simple type of this analysis exists for you to start from.]), as well as 3) implement and improve features.&lt;br /&gt;
;Expected results: Implement and improve lilypond export features; Detailed documentation created for developer audience that details how Music Blocks exports to Lilypond; documentation to help manage what needs to be completed.&lt;br /&gt;
;Knowledge prerequisites: Literacy in reading music; functional knowledge of Lilypond code (some of your own scores would be nice); Organizational and Project Management Skills; JavaScript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Music Blocks&#039; First Steps for Robotics &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;| Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br/&amp;gt;Hrishi Patel&amp;lt;br/&amp;gt;Rishabh Thaney&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: What is needed to integrate Music Blocks with Robotics? This project is 1) to experiment with existing technologies to see what is already possible, 2) develop features (e.g. plugins, hardware modifications) needed to make interfacing possible, and 3) document the entire process and next steps&lt;br /&gt;
;Expected results: A working method for interfacing with a simple robot; additional features within MB to ease interfacing; and full documentation of how to recreate successful projects (that a classroom could use); communication (we do not want to guess what experiments you are doing by yourself--do not be shy to send emails, videos, pictures DAILY!!!)&lt;br /&gt;
;Knowledge prerequisites: Understanding of JavaScript (Music Blocks source code) and robotics (no particular method requested, just make sure it is free/libre); demonstrable documentation and self-management skills; NOTE: we value quality, clear ideas over expensive or pretty robots&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Create Examples, Compositions, and New Experiments Every Day! &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Sachiko Nakajima&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: [https://walterbender.github.io/musicblocks/ Music Blocks] has some examples already, but it would be nice to have one ambitious student really work for the summer to make new creative, thoughtful code everyday. (You will be expected to code in the Music Blocks language on a daily basis.) Secondary, but important goals, are bug reports when bugs are found, feature suggestions, and overall good and frequent communication with the Music Blocks team.&lt;br /&gt;
;Expected results: Quality examples sent daily; variety of styles; runs entire gamut in terms of blocks used (we want a number of great examples for each and every block feature); organized documentation of all examples created, which can be finalized in the final weeks of GSoC&lt;br /&gt;
;Knowledge prerequisites: Understanding of Music Blocks as a programming language; A good proposal is one that has a well-thought out and detailed list of music projects for each day of GSoC (time-frames, blocks used, musical styles, name of music to be transcribed); experience with music and composition/theory is a definite plus.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Music Blocks UI Improvements and Implementation &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;| Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Hrishi Patel&amp;lt;br&amp;gt; Jaskirat Singh&amp;lt;br&amp;gt;perriefidelis&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: [https://walterbender.github.io/musicblocks/ Music Blocks] has a good enough UI, but there are open issues remaining and it would be nice if a person with a high level of understanding of graphics and style were to proposal and implement changes that unify the entire look and feel of Music Blocks.&lt;br /&gt;
;Expected results: Visually unified, beautiful and intuitive Music Blocks interface. Documentation to benefit future contributors to understand &amp;quot;what Music Blocks style is&amp;quot; (obviously this may change in the future, but a thoughtful rationale for the new style is expected).&lt;br /&gt;
;Knowledge prerequisites: Understanding of CSS, JavaScript, and HTML. Published work on UI (links to code, websites, etc)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Scales/Modes/Keys Design Improvements and Implementation &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Marnen Laibow-Koser&amp;lt;br&amp;gt;Sachiko Nakajima&amp;lt;br&amp;gt;perriefidelis&amp;lt;br&amp;gt;Jaskirat Singh&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: There are features in [https://github.com/walterbender/musicblocks/tree/master/guide#3213-setting-voice-and-keys MB for exploring modes/scales/keys which can are referenced in the guide]. However, we suspect that there are better ways to organize keys. This project would be to reimagine how MB organizes pitches. We recommend that you read the discussions that have taken place already on GitHub as well as research how keys work as well as [https://owncloud.libretools.com/index.php/s/2GtAhkvQpt3fYfF scholarly articles about temperament, scales, and tuning]. Keep in mind that we would like to prepare for the possibility of chromatic pitch spaces that are not 12--for example, a chroma of 5 or 7 or 13, etc. What features and widgets are needed?&lt;br /&gt;
;Expected results: Detailed documentation created for developer audience that specifies 1) proposed features and overall design, 2) purpose of design choices, 3) audit of code (e.g. What changes to our current approach may be necessary? Are there libraries that may be useful?) 4) widget design proposal as well as MB code design proposal.&lt;br /&gt;
;Knowledge prerequisites: Understanding of Music Theory and/or group (or set) theory. Please read the articles at https://owncloud.libretools.com/index.php/s/2GtAhkvQpt3fYfF We are looking for candidates that can make a simple and effective design that can be implemented in JavaScript.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Create UI features for music analysis and visualization &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;| Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Sachiko Nakajima&amp;lt;br&amp;gt;perriefidelis &lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: Music Blocks does not yet have a robust set of tools to help the user analyze their music (e.g. highest pitch, lowest pitch, pitches used, keys, musical form, intervals etc.). Additionally, users would very much benefit from features to help them visualize the way their music is constructed. Perhaps we could even create some features to help the user choose a style of music and the analysis highlights movements that violate that style&#039;s particular rules.&lt;br /&gt;
;Expected results: New Features.&lt;br /&gt;
;Knowledge prerequisites: Literacy in reading music; Music Theory knowledge; UI knowledge; JavaScript knowledge&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Music Blocks Musical Ornaments Features &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Sachiko Nakajima&amp;lt;br&amp;gt;Marnen Laibow-Koser&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: The neighbor block feature is the first of a series of musical ornament features. There are many more possibilities, some of which are described [https://github.com/walterbender/musicblocks/issues/909 in issue 909]. The project would be to implement and document these features as well as to create example programs.&lt;br /&gt;
;Expected results: New Features, documentation, and new example programs for each new feature.&lt;br /&gt;
;Knowledge prerequisites: Music Theory knowledge; JavaScript knowledge; knowledge of Music Blocks and tone.js internals (please research)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Music Blocks Widget Improvements &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;| Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Sachiko Nakajima&amp;lt;br&amp;gt;Marnen Laibow-Koser&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: Music Blocks has a number of features to help users conceptualize musical concepts, which also help to create code. Please see [https://github.com/walterbender/musicblocks/tree/master/guide#widgets the guide for more]. There are a number of widgets that have not been integrated at all as well. This project would be to 1) fix widget bugs, 2) implement unfinished features ([https://github.com/walterbender/musicblocks/issues?utf8=%E2%9C%93&amp;amp;q=is%3Aissue+is%3Aopen+widgets+ see issues]), and 3) document and fully integrate these new features and improve existing features. [https://github.com/walterbender/musicblocks/issues/663 is also a related feature]&lt;br /&gt;
;Expected results: New Features, fixes, documentation, and new example programs for each new feature.&lt;br /&gt;
;Knowledge prerequisites: Music Theory knowledge; JavaScript knowledge; knowledge of Music Blocks and tone.js internals (please research)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Sugarizer School Box&amp;lt;br&amp;gt;[[File:Sugarizerschoolbox.jpg|90px|thumb|center]]&lt;br /&gt;
|valign=top width=&amp;quot;15%&amp;quot; |Michaël Ohayon&amp;lt;br&amp;gt;Lionel Laské&amp;lt;br/&amp;gt;Hrishi Patel&amp;lt;br/&amp;gt;Rishabh Thaney&lt;br /&gt;
Shivang Shekhar&lt;br /&gt;
| align=left valign=top|&lt;br /&gt;
;Brief explanation&lt;br /&gt;
:[https://sugarizer.org Sugarizer] is the JavaScript version of Sugar, making education available of many platforms from web to mobile.:The app is composed by both a client side and a server side.&lt;br /&gt;
:The idea of this project is to develop a package to simplify deployment of Sugarizer in schools.&lt;br /&gt;
: This package will take two forms:&lt;br /&gt;
: 1 - An image for Raspberry Pi that could be flashed on a sd card that could automatically start a sugarizer server at boot and displays sugarizer client on the Pi. The server will be accessible by other devices from the local network. So the teacher has just to plug the RaspberryPI to expose a WiFi and the Sugarizer Server API/WebApp. So any computer connected to this WiFi could use Sugarizer Server WebApp and any tablet with Sugarizer App connected to this WiFi could benefit to collaboration, presence and backup its content on the server.&lt;br /&gt;
: 2 - Create one click to deploy scripts, to deploy a full Sugarizer stack on popular providers such as Amazon AWS or Heroku. So anyone could deploy a new Sugarizer Server instance on one of popular cloud platform without the need to dig into a complex setup process.&lt;br /&gt;
;Expected results:Raspberry Pi image files. Deployment scripts.&lt;br /&gt;
;Knowledge prerequisites:[https://github.com/llaske/sugarizer-server Sugarizer Server] knowledge, Linux system administration knowledge, bash scripting capabilities, Docker enthusiasm. (This project may require to download many system files)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Sugarizer Exerciser activity&amp;lt;br&amp;gt;[[File:Sugarizerexerciser.jpg|90px|thumb|center]]&lt;br /&gt;
|valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Lionel Laské&amp;lt;br&amp;gt;Michaël Ohayon&amp;lt;br&amp;gt;Jaskirat Singh&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation&lt;br /&gt;
:[https://sugarizer.org Sugarizer] is the JavaScript version of Sugar, making education available of many platforms from web to mobile.&lt;br /&gt;
:The idea of this project is to create a new Sugarizer activity to allow users to create exercise and let other users play to this exercise. &lt;br /&gt;
:The activity will propose different templates for exercises. Typical exercises could be multiple-choice question, reordering a list of items, cloze text, group assignment, ...&lt;br /&gt;
:Once created, the exercise could be played locally or shared on the network using Sugarizer presence. At the end of the exercise a graph will give results for each participants.&lt;br /&gt;
:The activity should allow to integrate multimedia element (images, sounds, videos) coming from the Journal. The activity should as simple as possible so even a child should be able to create an exercise and share it.&lt;br /&gt;
:Like all Sugarizer activity, the activity should: adopt the Sugar UI, be responsive (work on any screen size), work with the keyboard and with the mouse (to support touch screen), use journal and use localization. &lt;br /&gt;
:Features inspiration could be found on [https://learningapps.org LearningApps], [https://www.google.com/forms/ Google Forms], [https://www.limesurvey.org LimeSurvey], ...&lt;br /&gt;
;Expected results:A Sugarizer activity.&lt;br /&gt;
;Knowledge prerequisites: HTML/JavaScript, UI Design, [https://github.com/llaske/sugarizer/blob/dev/docs/tutorial.md Sugarizer Development Tutorial]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot;|Music Blocks export &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc&amp;quot;| Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Sachiko Nakajima &lt;br /&gt;
| align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |&lt;br /&gt;
;Brief explanation: Music Blocks is essentially a Logo interpreter. It would be great to be able to export Logo from Music Blocks. (We need to find a Logo that can handle the basic synthesizer needs to make it relevant.)&lt;br /&gt;
;Expected results: A Logo export that is coupled to a music-enabled Logo interpreter.&lt;br /&gt;
;Knowledge prerequisites: Literacy in reading music; Music Theory knowledge; UI knowledge; Logo and JavaScript knowledge&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Music Blocks inline documentation &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc&amp;quot;| Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Sachiko Nakajima &lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: There are three types of documentation for Music Blocks: documentation about how individual blocks work; short coding examples; and lesson plans. This project is about the first two. We can add inline comments to each block as it is defined in basicblocks.js from which help can be autogenerated for each block. And we can utilize the &amp;quot;make block&amp;quot; mechanism to generate on-the-fly examples of how to use blocks in combination to achieve different musical goals. The former will require some JavaScript programming; the latter, Music Blocks programming.&lt;br /&gt;
;Expected results: In-line documentation for each block as well as in-line Music Blocks-coded examples of the core music ideas.&lt;br /&gt;
;Knowledge prerequisites: UI knowledge; JavaScript knowledge; some background in music.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot;|Making a Beginner Guide&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot;| Jaskirat Singh&amp;lt;br/&amp;gt;Hrishi Patel&amp;lt;br/&amp;gt;Rishabh Thaney&amp;lt;br/&amp;gt;Shivang Shekhar&amp;lt;br/&amp;gt;Samson Goddy&amp;lt;br/&amp;gt;Abdulazeez Abdulazeez&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#f7effc;&amp;quot;|&lt;br /&gt;
;Brief explanation: We don&#039;t have a beginner guide for the newcomers to the Sugar labs Community. It would be great to guide them by guiding them how to contribute through making these &amp;quot;form where to start? , What to start? , How to start? , Where to submit? &amp;quot; .  An example is the Coala [http://api.coala.io/en/latest/Developers/Newcomers_Guide.html Newcomers&#039; Guide] which is built from [https://github.com/coala/coala/blob/6dae06082017587a260189a787db9cfdc84a148b/docs/Developers/Newcomers_Guide.rst markdown source].  The goal of this task is to Help newcomers to get introduce in easy way to the world of Sugar Labs also make a dasboard for the users so they can get about developed and developing areas. Their contribution can be seen also their presence can be seen with the community.&lt;br /&gt;
;Expected results: A set of website pages and also documentation in Pdf form with this the problems of newcomers about their contribution will be solved and they can work easily. It is essential to this project that there is a credible maintenance regime to ensure it is easy to keep it up to date after GSoC is completed.&lt;br /&gt;
;Knowledge prerequisites:  HTML, CSS, JavaScript(interactive) , BootStrap(responsive nav compatible on mobile devices also), PHP(dashboard), Github workflow, Markdown/up for documentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #f7effc;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot; |Scratch 3.0 to Sugar Desktop&amp;lt;br&amp;gt;[[File:Scratch.png|centre|thumb|99x99px]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc&amp;quot; | Walter Bender&amp;lt;br&amp;gt;Samson Goddy &lt;br /&gt;
Hrishi Patel&amp;lt;br&amp;gt;Ibiam Chihurumnaya&lt;br /&gt;
| align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot; |&lt;br /&gt;
;Brief explanation: [https://scratch.mit.edu/ Scratch] is a programming environment for kids. The goal of this project is to make bring back the [[Activities/Scratch|Scratch activity]] to the Sugar Desktop. Scratch 3.0 was created with HTML 5 using [https://developers.google.com/blockly/ Google’s blocky]. &lt;br /&gt;
:# Port scratch 3.0 as a Sugar activity using method [https://github.com/sugarlabs/sugar-docs/blob/master/src/web-activity.md 1] or [https://github.com/walterbender/turtle-blocks-embedded-activity 2]. Method 1, a web activity that can run on the Sugar Desktop. While method 2, an embedded activity that can run inside browser activity. There have been some development of [https://github.com/EmilyOng/embedded-scratch-activity scratch to sugar] and a yet to release version of [https://github.com/EmilyOng/Scratch.activity scratch in Sugarizer].&lt;br /&gt;
:# Make the scratch libraries to work completely offline, so a user can import sprite without have issues of internet connection. A possible way is to fork the [https://github.com/LLK/scratch-storage scratch-storage] and [https://github.com/LLK/scratch-gui scratch-gui]  modules to make them work offline by linking the libraries to local assets on the filesystem.  https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers   https://hackernoon.com/service-worker-one-fallback-offline-image-for-any-aspect-ratio-b427c0f897fb&lt;br /&gt;
;Expected results: A stable working Scratch 3 on Sugar Desktop.: User  to &amp;quot;save project&amp;quot; within the scratch activity into the journal, making it easy to resume project.&lt;br /&gt;
: Make the Scratch activity work completely offline stated at 2.&lt;br /&gt;
;Knowledge prerequisites: Python, GTK, JavaScript knowledge&lt;br /&gt;
|}&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #f7effc;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Sugarizer Primero (Sugarizer1°)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; | Caryl Bigenho&lt;br /&gt;
Samson Goddy&lt;br /&gt;
| align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |&lt;br /&gt;
;Brief explanation: Sugarizer is a large collection of many Activities suitable for general audiences on many devices. The goal of this project is to package a subset of the Sugarizer Activities (Maximum of 5) for children 4-7 (grades Pre-K-2) with a young child-friendly UI/UX experience suitable devices. Many of the graphics in the interfaces will be re-designed to accommodate non-readers and very young children who are still developing their fine motor skills. One new Activity for intuitive math concepts will also be developed similar to [https://en.wikipedia.org/wiki/Cuisenaire_rods Cuisenaire Rods]. Sugarizer1° will be non-language dependent so translations will not be needed.&lt;br /&gt;
;Expected results: At the end of the summer project, a prototype of Sugarizer1° will be ready for beta testing by children, parents, and educators. .&lt;br /&gt;
;Knowledge prerequisites:  Javascript, HTML, CSS and some knowledge of layout and design. A familiarity of how young children play and learn will also be helpful.&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2018&amp;diff=101735</id>
		<title>Summer of Code/2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Summer_of_Code/2018&amp;diff=101735"/>
		<updated>2018-04-27T20:00:38Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: /* Selected Projects for summer 2018 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Selected Projects for summer 2018 ==&lt;br /&gt;
&lt;br /&gt;
;Rahul Bothra: Port Sucrose from Python 2 to Python 3 ([http://www.pro-panda.tech/2018/05/24/GSoC-First-Post.html blog])&lt;br /&gt;
;Ritwik Abhishek: Music Blocks Widget Improvement ([https://musicblocks18.wordpress.com/ blog])&lt;br /&gt;
;Vaibhav Aren: Interactive Exercises for Turtle Blocks ([https://vaibhavdaren.wordpress.com/ blog])&lt;br /&gt;
;Aman Sharma: Sugarizer School Box ([https://amansharmablogblog.wordpress.com/2018/04/26/introduction-to-the-community/ blog])&lt;br /&gt;
;Vipul Gupta: Activity Migration ([https://mixstersite.wordpress.com/])&lt;br /&gt;
;Anmol Mishra: Port to Python 3 ([https://medium.com/anmolmishra-jiit blog])&lt;br /&gt;
;Iqra Muhammad: Sugarizer Primero ([https://iqragsoc.wordpress.com/ blog])&lt;br /&gt;
;Mankirat Singh: Sugarizer Exerciser Activity ([https://mankiratsinghtech.wordpress.com/2018/04/27/google-summer-of-code-2018/ blog])&lt;br /&gt;
&lt;br /&gt;
[https://summerofcode.withgoogle.com/organizations/6193990685163520/ Sugar Labs at GSoC 2018]&lt;br /&gt;
&lt;br /&gt;
== Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GSoC projects must involve some coding. Non-coding projects have been moved to the [[Summer of Code/2018/Archive|Non-Coding Projects Page]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #f7effc;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background:#7409bc; color: white;&amp;quot;&lt;br /&gt;
!Title&lt;br /&gt;
!Mentor&lt;br /&gt;
!Project&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Python 3 port&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Devel Team&lt;br /&gt;
| align=left valign=top  style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: Python 3 has been here for quite some time. We&#039;ve investigated how to migrate and now it is time to do it.&lt;br /&gt;
;Expected results: A Python 3 version of the Sugar toolkit, as well as the Sugar Desktop and a few activities.&lt;br /&gt;
;Knowledge prerequisites: Strong Python and GTK experience&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Migration of wiki activity pages to git&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; |Activity team&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: We have 345 pages under [[Activities]] in this wiki. It would be more sustainable in the long run if these pages were embedded (in Markdown format) in their corresponding git repositories.&lt;br /&gt;
;Expected results: Definition of migration process; migration of the majority of these pages&lt;br /&gt;
;Knowledge prerequisites: Knowledge of Markdown and Mediawiki markup; experience with git.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|GTK-4 exploration&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Devel Team&lt;br /&gt;
| align=left valign=top  style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: GTK-4 is coming soon [https://mclasen.fedorapeople.org/gtk4-devconf2018.pdf]: probably in 2018. We need to be better prepared for the transition than we were for GTK-3.&lt;br /&gt;
;Expected results: Design of a workflow for transitioning from GTK-3 to GTK-4	&lt;br /&gt;
;Knowledge prerequisites: Strong Python and GTK experience&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Internationalization and Localization&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; |Chris Leonard&lt;br /&gt;
Shivang Shekhar&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: A goal of Sugar Labs is to enable our users to experience Sugar in their own native language. See [[Translation_Proposal#ToDo:|Translation Proposal To Do List]] for details.  See [[Translation Team]] for framework description.&lt;br /&gt;
;Expected results: Work flow improvements for i18n&lt;br /&gt;
;Knowledge prerequisites: Some knowledge of Pootle; some scripting experience; Python and JavaScript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Full-color icons&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Design team&amp;lt;br&amp;gt; Jaskirat Singh&amp;lt;br&amp;gt;perriefidelis&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: We have been discussing the implications of removing the duo-tone restriction on Sugar icons, allowing for full-color icons. We can likely use badges to compensate for any functionality we&#039;d lose. (See [https://medium.com/@sidhant/designing-interfaces-for-education-systems-with-sugar-labs-rethinking-icons-on-sugar-614120e7ec6f] as one example of how we might proceed.). Like if an activity has not closed yet so it will be shown through a badge appearing on an icon. Repo can be found here https://github.com/sugarlabs/sugar-toolkit-gtk3/tree/master/src/sugar3&lt;br /&gt;
;Expected results: A patch to Sugar that uses badges to manage the icon notifications such as activity, sharing, achievements and much more.&lt;br /&gt;
;Knowledge prerequisites: Knowledge of GTK; Python.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Learn to program in Turtle Blocks&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Walter Bender &amp;lt;br&amp;gt; Jaskirat Singh&amp;lt;br&amp;gt;&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: In much the same way that [https://www.codecademy.com/courses/programming-intro/0/1#!/exercises/0 ( example here )] walks newbies through the basics of programming in Javascript, it would be nice to walk newbies through the basics of Turtle Blocks. There is already a provision within Turtle Blocks for programatically creating and moving blocks and executing program stacks. So it would be a matter of developing the exercises.&lt;br /&gt;
;Expected results: Website for teaching and having exercises with Turtle Blocks.&lt;br /&gt;
;Knowledge prerequisites: Requires some familiarity with Logo programming and Python.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Music Blocks optimizations&amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Walter Bender&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: Music Blocks has never been optimized in any way. It would be helpful to review the tone.js optimization recommendations, as well as build some unit tests to measure and improve the program itself.&lt;br /&gt;
;Expected results: A more robust and responsive Music Blocks.&lt;br /&gt;
;Knowledge prerequisites: Knowledge of JavaScript, unit testing&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Going Beyond Equal Temperament in Music Blocks&amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;| Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Sachiko Nakajima&amp;lt;br&amp;gt;Marnen Laibow-Koser&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: Most modern music systems are designed around [https://en.wikipedia.org/wiki/Equal_temperament equal temperament]. But there are many ways to [https://en.wikipedia.org/wiki/Musical_temperament chose and tune notes] in a musical system that offer different expressive characteristics.  See also [https://github.com/walterbender/musicblocks/labels/temperament MB issues for temperament], [https://owncloud.libretools.com/index.php/s/2GtAhkvQpt3fYfF Articles about temperament, scales, and tuning] and [https://owncloud.libretools.com/index.php/s/PmPfZ1yMhimQomG various materials related to temperament (.tb files that achieve temperament with existing MB features, videos of those files being performed, notes)]&lt;br /&gt;
;Expected results: Extend Music Blocks such that different approaches to temperament are available to the user.&lt;br /&gt;
;Knowledge prerequisites: Knowledge of JavaScript, music theory&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Just say no to GTK2&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot;| Ignacio Rodriguez&amp;lt;br&amp;gt;Cristian Garcia&amp;lt;br/&amp;gt;Abhijit Patel&amp;lt;br&amp;gt;Ibiam Chihurumnaya&amp;lt;br/&amp;gt;Hrishi Patel&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#f7effc;&amp;quot;|&lt;br /&gt;
;Brief explanation: GTK2 and GST0.10 are end of life. We need to upgrade the remaining activities with these dependencies.&lt;br /&gt;
;Expected results: New versions of at least 25 existing Sugar activities.&lt;br /&gt;
;Knowledge prerequisites: Knowledge of GTK, GST, and Python&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot; |Sugar Labs Social&amp;lt;br&amp;gt;[[File:Social Site.jpg|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;| Jaskirat Singh&amp;lt;br&amp;gt;Samson Goddy&amp;lt;br&amp;gt;Hrishi Patel&amp;lt;br&amp;gt;Shivang Shekhar&amp;lt;br&amp;gt;perriefidelis&lt;br /&gt;
Abdulazeez Abdulazeez&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: &#039;&#039;&#039;[https://github.com/geekrypter/Sugar-Labs-Social Sugar Labs Social]&#039;&#039;&#039; is a website project which should serve a purpose to help people understand and discuss project(s) around Sugar Labs. The goal of this project is to attract Teachers, Parents, Developers and fully communicate together in one platform.   : It&#039;s a social website that can be used to attract maximum users and everything ( Blogs, New projects, Software, Activities, etc) can be uploaded on it which will attract more user and create their interest. : A competitive proposal must include some evidence that the approach taken will result in some use -- just because we build it doesn&#039;t mean they will come.&lt;br /&gt;
;Expected results: It should have user logins, feed and a blog([https://medium.com/ medium] like) that can be over viewed by people around the world&lt;br /&gt;
;Knowledge prerequisites: Good Layout designing and coding experience with backend (Django, JavaScript, HTML/CSS, Mongo).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Lilypond Methodical Improvements to how Music Blocks generates Lilypond output &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Marnen Laibow-Koser&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: Music Blocks is capable of exporting [https://www.lilypond.org Lilypond] code of which general instructions can be found [https://github.com/walterbender/musicblocks/tree/master/guide#BEYOND-MUSIC-BLOCKS here in the Music Blocks guide] and its [https://github.com/walterbender/musicblocks/ source code can be found here]. We would like to improve existing code where needed and implement needed features in a methodical way, which means we must 1) document how the Music Blocks source code works for current and future developers to learn and benefit from and 2) project manage this portion of Music Blocks development (e.g. &amp;quot;what works&amp;quot; and &amp;quot;what needs to be done&amp;quot;. [https://owncloud.libretools.com/index.php/s/tgJAX5yMEzQsENf An example of a draft of a simple type of this analysis exists for you to start from.]), as well as 3) implement and improve features.&lt;br /&gt;
;Expected results: Implement and improve lilypond export features; Detailed documentation created for developer audience that details how Music Blocks exports to Lilypond; documentation to help manage what needs to be completed.&lt;br /&gt;
;Knowledge prerequisites: Literacy in reading music; functional knowledge of Lilypond code (some of your own scores would be nice); Organizational and Project Management Skills; JavaScript&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Music Blocks&#039; First Steps for Robotics &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;| Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br/&amp;gt;Hrishi Patel&amp;lt;br/&amp;gt;Rishabh Thaney&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: What is needed to integrate Music Blocks with Robotics? This project is 1) to experiment with existing technologies to see what is already possible, 2) develop features (e.g. plugins, hardware modifications) needed to make interfacing possible, and 3) document the entire process and next steps&lt;br /&gt;
;Expected results: A working method for interfacing with a simple robot; additional features within MB to ease interfacing; and full documentation of how to recreate successful projects (that a classroom could use); communication (we do not want to guess what experiments you are doing by yourself--do not be shy to send emails, videos, pictures DAILY!!!)&lt;br /&gt;
;Knowledge prerequisites: Understanding of JavaScript (Music Blocks source code) and robotics (no particular method requested, just make sure it is free/libre); demonstrable documentation and self-management skills; NOTE: we value quality, clear ideas over expensive or pretty robots&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Create Examples, Compositions, and New Experiments Every Day! &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Sachiko Nakajima&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: [https://walterbender.github.io/musicblocks/ Music Blocks] has some examples already, but it would be nice to have one ambitious student really work for the summer to make new creative, thoughtful code everyday. (You will be expected to code in the Music Blocks language on a daily basis.) Secondary, but important goals, are bug reports when bugs are found, feature suggestions, and overall good and frequent communication with the Music Blocks team.&lt;br /&gt;
;Expected results: Quality examples sent daily; variety of styles; runs entire gamut in terms of blocks used (we want a number of great examples for each and every block feature); organized documentation of all examples created, which can be finalized in the final weeks of GSoC&lt;br /&gt;
;Knowledge prerequisites: Understanding of Music Blocks as a programming language; A good proposal is one that has a well-thought out and detailed list of music projects for each day of GSoC (time-frames, blocks used, musical styles, name of music to be transcribed); experience with music and composition/theory is a definite plus.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Music Blocks UI Improvements and Implementation &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;| Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Hrishi Patel&amp;lt;br&amp;gt; Jaskirat Singh&amp;lt;br&amp;gt;perriefidelis&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: [https://walterbender.github.io/musicblocks/ Music Blocks] has a good enough UI, but there are open issues remaining and it would be nice if a person with a high level of understanding of graphics and style were to proposal and implement changes that unify the entire look and feel of Music Blocks.&lt;br /&gt;
;Expected results: Visually unified, beautiful and intuitive Music Blocks interface. Documentation to benefit future contributors to understand &amp;quot;what Music Blocks style is&amp;quot; (obviously this may change in the future, but a thoughtful rationale for the new style is expected).&lt;br /&gt;
;Knowledge prerequisites: Understanding of CSS, JavaScript, and HTML. Published work on UI (links to code, websites, etc)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Scales/Modes/Keys Design Improvements and Implementation &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Marnen Laibow-Koser&amp;lt;br&amp;gt;Sachiko Nakajima&amp;lt;br&amp;gt;perriefidelis&amp;lt;br&amp;gt;Jaskirat Singh&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: There are features in [https://github.com/walterbender/musicblocks/tree/master/guide#3213-setting-voice-and-keys MB for exploring modes/scales/keys which can are referenced in the guide]. However, we suspect that there are better ways to organize keys. This project would be to reimagine how MB organizes pitches. We recommend that you read the discussions that have taken place already on GitHub as well as research how keys work as well as [https://owncloud.libretools.com/index.php/s/2GtAhkvQpt3fYfF scholarly articles about temperament, scales, and tuning]. Keep in mind that we would like to prepare for the possibility of chromatic pitch spaces that are not 12--for example, a chroma of 5 or 7 or 13, etc. What features and widgets are needed?&lt;br /&gt;
;Expected results: Detailed documentation created for developer audience that specifies 1) proposed features and overall design, 2) purpose of design choices, 3) audit of code (e.g. What changes to our current approach may be necessary? Are there libraries that may be useful?) 4) widget design proposal as well as MB code design proposal.&lt;br /&gt;
;Knowledge prerequisites: Understanding of Music Theory and/or group (or set) theory. Please read the articles at https://owncloud.libretools.com/index.php/s/2GtAhkvQpt3fYfF We are looking for candidates that can make a simple and effective design that can be implemented in JavaScript.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Create UI features for music analysis and visualization &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;| Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Sachiko Nakajima&amp;lt;br&amp;gt;perriefidelis &lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: Music Blocks does not yet have a robust set of tools to help the user analyze their music (e.g. highest pitch, lowest pitch, pitches used, keys, musical form, intervals etc.). Additionally, users would very much benefit from features to help them visualize the way their music is constructed. Perhaps we could even create some features to help the user choose a style of music and the analysis highlights movements that violate that style&#039;s particular rules.&lt;br /&gt;
;Expected results: New Features.&lt;br /&gt;
;Knowledge prerequisites: Literacy in reading music; Music Theory knowledge; UI knowledge; JavaScript knowledge&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Music Blocks Musical Ornaments Features &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; | Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Sachiko Nakajima&amp;lt;br&amp;gt;Marnen Laibow-Koser&lt;br /&gt;
| align=left valign=top |&lt;br /&gt;
;Brief explanation: The neighbor block feature is the first of a series of musical ornament features. There are many more possibilities, some of which are described [https://github.com/walterbender/musicblocks/issues/909 in issue 909]. The project would be to implement and document these features as well as to create example programs.&lt;br /&gt;
;Expected results: New Features, documentation, and new example programs for each new feature.&lt;br /&gt;
;Knowledge prerequisites: Music Theory knowledge; JavaScript knowledge; knowledge of Music Blocks and tone.js internals (please research)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Music Blocks Widget Improvements &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;| Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Sachiko Nakajima&amp;lt;br&amp;gt;Marnen Laibow-Koser&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: Music Blocks has a number of features to help users conceptualize musical concepts, which also help to create code. Please see [https://github.com/walterbender/musicblocks/tree/master/guide#widgets the guide for more]. There are a number of widgets that have not been integrated at all as well. This project would be to 1) fix widget bugs, 2) implement unfinished features ([https://github.com/walterbender/musicblocks/issues?utf8=%E2%9C%93&amp;amp;q=is%3Aissue+is%3Aopen+widgets+ see issues]), and 3) document and fully integrate these new features and improve existing features. [https://github.com/walterbender/musicblocks/issues/663 is also a related feature]&lt;br /&gt;
;Expected results: New Features, fixes, documentation, and new example programs for each new feature.&lt;br /&gt;
;Knowledge prerequisites: Music Theory knowledge; JavaScript knowledge; knowledge of Music Blocks and tone.js internals (please research)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Sugarizer School Box&amp;lt;br&amp;gt;[[File:Sugarizerschoolbox.jpg|90px|thumb|center]]&lt;br /&gt;
|valign=top width=&amp;quot;15%&amp;quot; |Michaël Ohayon&amp;lt;br&amp;gt;Lionel Laské&amp;lt;br/&amp;gt;Hrishi Patel&amp;lt;br/&amp;gt;Rishabh Thaney&lt;br /&gt;
Shivang Shekhar&lt;br /&gt;
| align=left valign=top|&lt;br /&gt;
;Brief explanation&lt;br /&gt;
:[https://sugarizer.org Sugarizer] is the JavaScript version of Sugar, making education available of many platforms from web to mobile.:The app is composed by both a client side and a server side.&lt;br /&gt;
:The idea of this project is to develop a package to simplify deployment of Sugarizer in schools.&lt;br /&gt;
: This package will take two forms:&lt;br /&gt;
: 1 - An image for Raspberry Pi that could be flashed on a sd card that could automatically start a sugarizer server at boot and displays sugarizer client on the Pi. The server will be accessible by other devices from the local network. So the teacher has just to plug the RaspberryPI to expose a WiFi and the Sugarizer Server API/WebApp. So any computer connected to this WiFi could use Sugarizer Server WebApp and any tablet with Sugarizer App connected to this WiFi could benefit to collaboration, presence and backup its content on the server.&lt;br /&gt;
: 2 - Create one click to deploy scripts, to deploy a full Sugarizer stack on popular providers such as Amazon AWS or Heroku. So anyone could deploy a new Sugarizer Server instance on one of popular cloud platform without the need to dig into a complex setup process.&lt;br /&gt;
;Expected results:Raspberry Pi image files. Deployment scripts.&lt;br /&gt;
;Knowledge prerequisites:[https://github.com/llaske/sugarizer-server Sugarizer Server] knowledge, Linux system administration knowledge, bash scripting capabilities, Docker enthusiasm. (This project may require to download many system files)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Sugarizer Exerciser activity&amp;lt;br&amp;gt;[[File:Sugarizerexerciser.jpg|90px|thumb|center]]&lt;br /&gt;
|valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Lionel Laské&amp;lt;br&amp;gt;Michaël Ohayon&amp;lt;br&amp;gt;Jaskirat Singh&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation&lt;br /&gt;
:[https://sugarizer.org Sugarizer] is the JavaScript version of Sugar, making education available of many platforms from web to mobile.&lt;br /&gt;
:The idea of this project is to create a new Sugarizer activity to allow users to create exercise and let other users play to this exercise. &lt;br /&gt;
:The activity will propose different templates for exercises. Typical exercises could be multiple-choice question, reordering a list of items, cloze text, group assignment, ...&lt;br /&gt;
:Once created, the exercise could be played locally or shared on the network using Sugarizer presence. At the end of the exercise a graph will give results for each participants.&lt;br /&gt;
:The activity should allow to integrate multimedia element (images, sounds, videos) coming from the Journal. The activity should as simple as possible so even a child should be able to create an exercise and share it.&lt;br /&gt;
:Like all Sugarizer activity, the activity should: adopt the Sugar UI, be responsive (work on any screen size), work with the keyboard and with the mouse (to support touch screen), use journal and use localization. &lt;br /&gt;
:Features inspiration could be found on [https://learningapps.org LearningApps], [https://www.google.com/forms/ Google Forms], [https://www.limesurvey.org LimeSurvey], ...&lt;br /&gt;
;Expected results:A Sugarizer activity.&lt;br /&gt;
;Knowledge prerequisites: HTML/JavaScript, UI Design, [https://github.com/llaske/sugarizer/blob/dev/docs/tutorial.md Sugarizer Development Tutorial]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot;|Music Blocks export &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc&amp;quot;| Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Sachiko Nakajima &lt;br /&gt;
| align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |&lt;br /&gt;
;Brief explanation: Music Blocks is essentially a Logo interpreter. It would be great to be able to export Logo from Music Blocks. (We need to find a Logo that can handle the basic synthesizer needs to make it relevant.)&lt;br /&gt;
;Expected results: A Logo export that is coupled to a music-enabled Logo interpreter.&lt;br /&gt;
;Knowledge prerequisites: Literacy in reading music; Music Theory knowledge; UI knowledge; Logo and JavaScript knowledge&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot;|Music Blocks inline documentation &amp;lt;br&amp;gt;[[File:Music-Blocks.png|90px|thumb|center]]&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc&amp;quot;| Walter Bender&amp;lt;br&amp;gt;Devin Ulibarri&amp;lt;br&amp;gt;Sachiko Nakajima &lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#fcfcfc;&amp;quot;|&lt;br /&gt;
;Brief explanation: There are three types of documentation for Music Blocks: documentation about how individual blocks work; short coding examples; and lesson plans. This project is about the first two. We can add inline comments to each block as it is defined in basicblocks.js from which help can be autogenerated for each block. And we can utilize the &amp;quot;make block&amp;quot; mechanism to generate on-the-fly examples of how to use blocks in combination to achieve different musical goals. The former will require some JavaScript programming; the latter, Music Blocks programming.&lt;br /&gt;
;Expected results: In-line documentation for each block as well as in-line Music Blocks-coded examples of the core music ideas.&lt;br /&gt;
;Knowledge prerequisites: UI knowledge; JavaScript knowledge; some background in music.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot;|Making a Beginner Guide&lt;br /&gt;
| valign=top width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot;| Jaskirat Singh&amp;lt;br/&amp;gt;Hrishi Patel&amp;lt;br/&amp;gt;Rishabh Thaney&amp;lt;br/&amp;gt;Shivang Shekhar&amp;lt;br/&amp;gt;Samson Goddy&amp;lt;br/&amp;gt;Abdulazeez Abdulazeez&lt;br /&gt;
| align=left valign=top style=&amp;quot;background:#f7effc;&amp;quot;|&lt;br /&gt;
;Brief explanation: We don&#039;t have a beginner guide for the newcomers to the Sugar labs Community. It would be great to guide them by guiding them how to contribute through making these &amp;quot;form where to start? , What to start? , How to start? , Where to submit? &amp;quot; .  An example is the Coala [http://api.coala.io/en/latest/Developers/Newcomers_Guide.html Newcomers&#039; Guide] which is built from [https://github.com/coala/coala/blob/6dae06082017587a260189a787db9cfdc84a148b/docs/Developers/Newcomers_Guide.rst markdown source].  The goal of this task is to Help newcomers to get introduce in easy way to the world of Sugar Labs also make a dasboard for the users so they can get about developed and developing areas. Their contribution can be seen also their presence can be seen with the community.&lt;br /&gt;
;Expected results: A set of website pages and also documentation in Pdf form with this the problems of newcomers about their contribution will be solved and they can work easily. It is essential to this project that there is a credible maintenance regime to ensure it is easy to keep it up to date after GSoC is completed.&lt;br /&gt;
;Knowledge prerequisites:  HTML, CSS, JavaScript(interactive) , BootStrap(responsive nav compatible on mobile devices also), PHP(dashboard), Github workflow, Markdown/up for documentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #f7effc;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot; |Scratch 3.0 to Sugar Desktop&amp;lt;br&amp;gt;[[File:Scratch.png|centre|thumb|99x99px]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#fcfcfc&amp;quot; | Walter Bender&amp;lt;br&amp;gt;Samson Goddy &lt;br /&gt;
Hrishi Patel&amp;lt;br&amp;gt;Ibiam Chihurumnaya&lt;br /&gt;
| align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;background:#fcfcfc;&amp;quot; |&lt;br /&gt;
;Brief explanation: [https://scratch.mit.edu/ Scratch] is a programming environment for kids. The goal of this project is to make bring back the [[Activities/Scratch|Scratch activity]] to the Sugar Desktop. Scratch 3.0 was created with HTML 5 using [https://developers.google.com/blockly/ Google’s blocky]. &lt;br /&gt;
:# Port scratch 3.0 as a Sugar activity using method [https://github.com/sugarlabs/sugar-docs/blob/master/src/web-activity.md 1] or [https://github.com/walterbender/turtle-blocks-embedded-activity 2]. Method 1, a web activity that can run on the Sugar Desktop. While method 2, an embedded activity that can run inside browser activity. There have been some development of [https://github.com/EmilyOng/embedded-scratch-activity scratch to sugar] and a yet to release version of [https://github.com/EmilyOng/Scratch.activity scratch in Sugarizer].&lt;br /&gt;
:# Make the scratch libraries to work completely offline, so a user can import sprite without have issues of internet connection. A possible way is to fork the [https://github.com/LLK/scratch-storage scratch-storage] and [https://github.com/LLK/scratch-gui scratch-gui]  modules to make them work offline by linking the libraries to local assets on the filesystem.  https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers   https://hackernoon.com/service-worker-one-fallback-offline-image-for-any-aspect-ratio-b427c0f897fb&lt;br /&gt;
;Expected results: A stable working Scratch 3 on Sugar Desktop.: User  to &amp;quot;save project&amp;quot; within the scratch activity into the journal, making it easy to resume project.&lt;br /&gt;
: Make the Scratch activity work completely offline stated at 2.&lt;br /&gt;
;Knowledge prerequisites: Python, GTK, JavaScript knowledge&lt;br /&gt;
|}&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot; style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #f7effc;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |Sugarizer Primero (Sugarizer1°)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; | Caryl Bigenho&lt;br /&gt;
Samson Goddy&lt;br /&gt;
| align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;background:#f7effc;&amp;quot; |&lt;br /&gt;
;Brief explanation: Sugarizer is a large collection of many Activities suitable for general audiences on many devices. The goal of this project is to package a subset of the Sugarizer Activities (Maximum of 5) for children 4-7 (grades Pre-K-2) with a young child-friendly UI/UX experience suitable devices. Many of the graphics in the interfaces will be re-designed to accommodate non-readers and very young children who are still developing their fine motor skills. One new Activity for intuitive math concepts will also be developed similar to [https://en.wikipedia.org/wiki/Cuisenaire_rods Cuisenaire Rods]. Sugarizer1° will be non-language dependent so translations will not be needed.&lt;br /&gt;
;Expected results: At the end of the summer project, a prototype of Sugarizer1° will be ready for beta testing by children, parents, and educators. .&lt;br /&gt;
;Knowledge prerequisites:  Javascript, HTML, CSS and some knowledge of layout and design. A familiarity of how young children play and learn will also be helpful.&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101720</id>
		<title>WikiPort</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101720"/>
		<updated>2018-04-21T18:29:47Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;GSoC 2018 - Activity Team - Migration of Activity Pages to git &lt;br /&gt;
&lt;br /&gt;
== About You ==&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039; - Vipul Gupta&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Email address&#039;&#039;&#039; - [http://mailto:vipulgupta2048@gmail.com vipulgupta2048@gmail.com] &amp;lt;br /&amp;gt;  &lt;br /&gt;
&#039;&#039;&#039;Blog Url&#039;&#039;&#039; -  [http://www.mixstersite.wordpress.com www.mixstersite.wordpress.com]  &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Sugar Labs wiki username&#039;&#039;&#039; - [https://wiki.sugarlabs.org/go/User:Vipulgupta2048 Vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IRC nickname&#039;&#039;&#039; - vipulgupta2048 &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Linkedin&#039;&#039;&#039; - [http://www.linkedin.com/in/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Github&#039;&#039;&#039; - [http://www.github.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Twitter&#039;&#039;&#039; - [http://www.twitter.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;First language - &#039;&#039;&#039;English (Fluent) &#039;&#039;&#039;&amp;lt;br /&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Located at, and what hours (UTC) do you tend to work&#039;&#039;&#039; - I am based out of New Delhi, India (+5.30 GMT). I am flexible with timings and can work for 3-5 hours everyday. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== My Contributions/Love for Open-Source ==&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects or some other demonstration of the work that you have done in open-source?&#039;&#039;&#039;&lt;br /&gt;
Yes, I have been participating and maintaining many open-source projects. Also been contributing to other communities and conference projects. Links and detailed description are as follows&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/asetalias/asetalias.github.io/pull/52 First pull request] on my college open-source community’s website, [http://www.github.com/asetalias ALiAS] - Maintainer since 2016.&lt;br /&gt;
* [https://github.com/vipulgupta2048/opengisproj_mirror vipulgupta2048/opengisproj_mirror]- Involved building a web app for real-time monitoring of pollution levels in rivers of India and to assess the impact on the health of people using the water from the river. The working repo is private, hence a public mirror for showcasing. &lt;br /&gt;
* [https://github.com/vipulgupta2048/scrape vipulgupta2048/scrape] Scraping major news websites/outlets in India using Scrapy [Python] Managing the data flow by employing PostgreSQL. Finding fake news using Machine Learning with help of libraries (Word2vec)&lt;br /&gt;
* Fixed bugs, wrote blogs, added new features using HTML, CSS, and JS for the official website of the premier conference on Python in India, PyCon India 2017 and now in 2018 workgroup  ([https://github.com/pythonindia/inpycon2017/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ Here] and [https://github.com/pythonindia/inpycon-blog/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ here]) &lt;br /&gt;
* [https://gitlab.com/asetalias/Community-Connect gitlab/asetalias/Community-Connect] [Ongoing]  &lt;br /&gt;
* Completed: Hacktoberfest Challenge;  [https://hacktoberfestchecker.herokuapp.com/?username=vipulgupta2048 Here].&lt;br /&gt;
* Building and mentoring website development for Pyladies Delhi Chapter [https://github.com/vipulgupta2048/Pyladies-delhi-website Pyladies-delhi-website]  &lt;br /&gt;
* Recent contribution: In Sugar Labs. Mentioned in the Miscellaneous section.        &lt;br /&gt;
&lt;br /&gt;
Along with this, [http://meetup.com/pydelhi Python Delhi User Group] (PyDelhi) is a volunteer-driven organization comprising of Pythonistas, enthusiasts, who have a primary focus in Python. I help by volunteering and organizing meetups for them. &amp;lt;br /&amp;gt;&lt;br /&gt;
I am a committee member of my college’s open source community. [http://www.asetalias.in ALiAS (Amity Linux Assistance Sapience)] We conduct hands-on workshops, seminars, talks and much more to try and help as many people as we can along the process and motivate them to make their first PR.&amp;lt;br /&amp;gt;&lt;br /&gt;
I genuinely love spreading knowledge among peers/juniors/underprivileged children anywhere I can through my voice ([https://github.com/asetalias/Logistics-and-Event-Contributions/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed Talks] and [https://github.com/ILUGD/talks/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed workshops]) and my words ([http://www.mixstersite.wordpress.com Tech-Blog])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039; &amp;lt;br /&amp;gt; &lt;br /&gt;
Wikiport &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Logo wikiport.png|frameless|center|WikiPort]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using? &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Abstract Ideas:&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
	Documentation tools have become modern, lighter, easier to use with the use of Sphinx, Github pages/wiki, Mkdocs and many more similar frameworks and applications. It’s easily the first and the most important steps for any open-source projects implemented by almost everybody.&amp;lt;br /&amp;gt; &lt;br /&gt;
If people know more, they would want to get involved and contribute more. This would, in turn, help the entire community to grow and expand. If the information (Documentation) is accessible fast, easily comprehensible, simple enough to edit and manage for people then I think this project will help really help Sugar Labs achieve that.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;My understanding of the problem and why it needs to be solved?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Documentation, as mentioned before, is important to all open-source projects. Sugar Labs has all documentation for its learner applications called “Activities” at one place in the Activities#Sugar_Activities. Some problem (#risks) that I found with this sort of implementation is as follows:- &lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Difficult to add, edit and manage&#039;&#039;&#039;  - In reference to the conversation [archive/sugar-devel] As a user, I need to create an account for editing privileges. Which is very tiresome to be very honest, hence discouraging contributions. &lt;br /&gt;
# &#039;&#039;&#039;Size issues&#039;&#039;&#039; - Wiki is being hosted on a a server. With the growing number of activities, the size occupiewould l increasl leading  atsurge i in maintenance cost. Not to mention buying more space. &lt;br /&gt;
# &#039;&#039;&#039;No clear format/classification&#039;&#039;&#039; - Some links are for one activity only while other activities have multiple links for them (example Turtle Art) Results in time being wasted of the user even if they are justified. &lt;br /&gt;
I did extensive research on the same and found many such problems with the wiki. According to my experience in open-source, users just need information fast, easily accessible and neatly organized. A new method to make that information organized should be brought in place for the betterment of the whole community. GitHub could be the solution to all our problems ([https://insights.stackoverflow.com/survey/2018/#work-version-control stackoverflow/survey/2018]) WikiPort is a tool that helps in migration process of wiki’s to Github hosted README.md. &lt;br /&gt;
 &lt;br /&gt;
== Objective == &amp;lt;br /&amp;gt;&lt;br /&gt;
To migrate documentation and information of each activity in Activities#Sugar_Activities of Sugar Labs in MediaWiki format to their respective git repositories hosted on GitHub in rich markdown format by a program/tool with special attention to the transfer of all information and media associated with the activity with least redundancies and zero duplication of content if not already present in GitHub@README.md or user documentation in help-activity.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Technologies and Skills Used&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This list is just a small glimpse of technologies that I am thinking to use for this project. I am proficient in each of them, through my past projects. (Refer)  &lt;br /&gt;
* &#039;&#039;&#039;Programming Language&#039;&#039;&#039;: Python 3.6 using libraries such as requests, LXML, Beautifulsoup etc. Python3 will be used widely in this project. &lt;br /&gt;
* &#039;&#039;&#039;Markup Languages&#039;&#039;&#039; - Markdown, MediaWiki, reStructuredText&lt;br /&gt;
* &#039;&#039;&#039;For Automation&#039;&#039;&#039; - Ansible or Bash (To automate each step of the migration process and installation of the tool.)&lt;br /&gt;
* &#039;&#039;&#039;Tools&#039;&#039;&#039; - git, shell, MediaWiki API - Pywikibot, GitHub API - PyGitHub  &lt;br /&gt;
* &#039;&#039;&#039;Others&#039;&#039;&#039; - Yaml (If Ansible is used) &lt;br /&gt;
&lt;br /&gt;
== An Overview of the Migration Process ==  &lt;br /&gt;
&lt;br /&gt;
[[File:S.U.G.A.R.png|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Detailed Description of the steps mentioned &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;One time task&#039;&#039;&#039; -  Used GitHub API and PyGithub to find all repository links that don&#039;t have a README.md and are a activity under SugarLabs organisation. [https://github.com/sugarlabs/sugar-docs/issues/102 Completed] and [https://gist.github.com/vipulgupta2048/6eef7de43ac628e8e7ed11217fbb1803 Scripts availabe here]  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Step 0&#039;&#039;&#039; - Extracting content; from these methods that offers the least redundancies. My research yielded these results.&lt;br /&gt;
:  1. Query MediaWiki API and acquire content in wikitext format&lt;br /&gt;
:  2. Export pages in XML using Python Wikipedia Robot Framework  &lt;br /&gt;
:  3.  GET page in simple HTML ( Activities/Sugar_Network&amp;amp;printable=yes) &lt;br /&gt;
*&#039;&#039;&#039;Step 1 -&#039;&#039;&#039; Convert the data sourced from step 0; using Pandoc to Markdown. Removing syntax, comments and Wikimedia code that might be left after conversion using regex wherever required.  &lt;br /&gt;
* &#039;&#039;&#039;Step 2&#039;&#039;&#039; - Fork and clone the respective GitHub repository from the links already scraped or found manually of the correct activity   &lt;br /&gt;
* Step 3 - Python script to fetch all image links and then download media (images) associated with the activity from the web-page; renames them in correct format; adds them to repository folder cloned under directory “images” Fix image links and testing.&lt;br /&gt;
* &#039;&#039;&#039;Step 4 -&#039;&#039;&#039; Ensuring content is not duplicated by being already present either in the README.md file or the user documentation in the help-activity. Make the necessary changes, fix broken links. Testing; Commit and push to fork.&lt;br /&gt;
* &#039;&#039;&#039;Step 5 -&#039;&#039;&#039; Pull request submitted with the detailed description of the changes in activity documentation in clear format containing all details. When PR merged, move to step 6. [Refer [https://etherpad.net/p/Sugar_Migration_Checklist Sugar_Migration_Checklist]]  &lt;br /&gt;
* &#039;&#039;&#039;Step 6 -&#039;&#039;&#039; Use Pywikibot (Check delete.py) to delete pages/media associated with wiki page using admin privileges and link back to their repositories. This can also be achieved using the mediawiki API which saves edit history as I mentioned before.  (Read more here)              (End-to-end Migration of wiki page complete)      &lt;br /&gt;
* &#039;&#039;&#039;Step 7&#039;&#039;&#039; - Repeat Step 1 for next activity.&lt;br /&gt;
&lt;br /&gt;
== Project Deliverables ==&lt;br /&gt;
# 345 web pages stored in MediaWiki format atActivities#Sugar_Activities on Sugar Labs Wiki converted to Markdown format with assets (images and other files) intact and in-place with zero duplication.  &lt;br /&gt;
# Files in Markdown converted from the wiki content are tested and checked to ensure foolproof 100% migration without any redundancies or loss of information. Manually or through scripts.&lt;br /&gt;
# A detailed report with classified information about the Sugar_activities wiki that needs further improvements submitted to Sugar Labs (Refer week #8 in timeline #Wikiteam)&lt;br /&gt;
Files committed, pushed and PR’s made in each activity’s respective git repository in an information specific format for easy reference. &lt;br /&gt;
# Tested bug-free source code for everyone to use (and other open source projects) for their wikis facing the same issues. Complete documentation of the migration method submitted on time of evaluations with the review of the mentor incorporated.&lt;br /&gt;
# After the complete transfer of all the wiki content, discuss and implement the last actions on the wiki, to either delete the pages or link them back to their respective git repositories.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Thus, by the deliverables mentioned above, 3 well-defined goals that determine project status which will help in evaluation i.e&#039;&#039;&#039;&amp;lt;br /&amp;gt;1. Evaluation 1: Migration of 100 wiki-pages complete; &amp;lt;br /&amp;gt;2. Evaluation 2: Migration of 300 wiki-pages complete;&amp;lt;br /&amp;gt;3. Final: Migration of 345 wiki-pages;&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Other Deliverables (and Future Work) ==&lt;br /&gt;
# &#039;&#039;&#039;Contribute more&#039;&#039;&#039; - After and during the project, will help in solving bigger challenges and bugs faced as my experience lies in DevOps tasks and start reading code of Sugar. Already working on [https://github.com/sugarlabs/sugar-live-build/issues/6 Sugar-live-build]&lt;br /&gt;
# &#039;&#039;&#039;Add Features&#039;&#039;&#039; - Edit history of wikis that are being migrated by WikiPort can be exported as commits on GitHub. (Experimental)  &lt;br /&gt;
# &#039;&#039;&#039;Create New Activities&#039;&#039;&#039; - Being well versed in Python (tried making a game with pygame) Would enjoy the new learning curve as I never really explored GTK. Have some new ideas that could be later transformed into fun, interactive learning activities.&lt;br /&gt;
# &#039;&#039;&#039;Complete Misc. Tasks&#039;&#039;&#039; - Wiki pages contain task waiting to be completed I would like to volunteer and finish them for the welfare of the community like this one here IRC#Wishlist.&lt;br /&gt;
# Remain as an &#039;&#039;&#039;active contributor for Sugar Labs&#039;&#039;&#039; and take part in discussions for the future projects. Maybe if the community agrees, also mentor someone &#039;&#039;&#039;myself&#039;&#039;&#039; in the foreseeable future.&lt;br /&gt;
# Use Automation to our favor so that many tasks are completed in WikiPort using bash or Ansible scripts like environment setups, installation and fine workings of the entire tool. &lt;br /&gt;
&lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
* In accordance with the official timeline by GSoC, my college exams end somewhere in the first week of May or so. My college reopens early in July. During this time, I will remain in contact with my mentor.&lt;br /&gt;
* This gives me ample time to code. I plan to begin coding before the official period coding period of GSoC starts from starting of May. Which gives me a head start to finish the majority (80%) of the project before the second evaluation. &lt;br /&gt;
 &#039;&#039;&#039;Providing a total of 10 weeks to write code for WikiPort (&amp;amp; other deliverables)&#039;&#039;&#039;&lt;br /&gt;
* I will also write a weekly or Bi-weekly blog post on my progress and updates on my project and post it diligently on the website to get the community involved.  The Weekly timeline is as follows. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Week Number [#]  !! Tasks&lt;br /&gt;
|-&lt;br /&gt;
| [#1] April 23 - April 30   || Community Bonding Period &lt;br /&gt;
Community Bonding, if possible keen on having a meeting with the Activity and wiki team. Discussion of ideas that I have. Research Part 1&lt;br /&gt;
MediaWiki [Syntax, documentation, API, functionalities]; GitHub API; Wikitext; Exploring the problem case defined earlier.&lt;br /&gt;
|-&lt;br /&gt;
| [#2] April 1 - May 7&lt;br /&gt;
 || Start documentation and blog post, about Sugar Labs on my blog.Setup: development environment. &lt;br /&gt;
Continue with Research &lt;br /&gt;
&lt;br /&gt;
Part 2 - Finding, testing, implementing solutions available for Migration Process step 0 through 6. Discuss results with the mentor, shortlist methods that have the highest success rate. &lt;br /&gt;
Pushing to Github; fixing organization problems&lt;br /&gt;
|-&lt;br /&gt;
| [#3] May 7 - May 14&lt;br /&gt;
 || Finalized migration process, start coding.&lt;br /&gt;
Spider ready to scrape activities for their GitHub repo.&lt;br /&gt;
Report on activities missing GitHub repo. links &lt;br /&gt;
Blog post on Community Bonding @ Sugar Labs&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#4] May 15 - May 22&lt;br /&gt;
 || Official Coding period starts &lt;br /&gt;
Start work on migration script. &lt;br /&gt;
Test migration script on 10 activities (aim - 60% migration of content from wiki to GitHub readme of the activity)&lt;br /&gt;
Gets reviewed by the mentor; implement suggestions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#5] May 23 - May 30&lt;br /&gt;
 || Work on script continues; Tweaking; suggestions implemented by the community&lt;br /&gt;
Testing extensively; and commenting &lt;br /&gt;
Documentation for script&lt;br /&gt;
40 pages completed (Aim - 70% migration of content through the script without manual edits;)&lt;br /&gt;
Write a quality checklist for pages converted to determine bugs, thorough checking of every page converted, every step of the way. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#6] June 1 - June 7&lt;br /&gt;
 || Work on Other Deliverables &lt;br /&gt;
Script improved; Commenting; Logging implemented;&lt;br /&gt;
Quality Checks implemented on sourced markdown files&lt;br /&gt;
Blog post on research and work did so far. &lt;br /&gt;
100 pages completed (minor improvements)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#7] June 8 - June 15&lt;br /&gt;
First Code Evaluations&lt;br /&gt;
 || Implement suggestions from evaluations.&lt;br /&gt;
Start work towards automation of scripts wherever possible (Aim - Least user input)&lt;br /&gt;
Start work on making WikiPort available to all as a simple tool.&lt;br /&gt;
150 pages completed. &lt;br /&gt;
Get a review of pages migrated, from the community.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#8] June 16 - June 23&lt;br /&gt;
 || Documentation alpha release; Repository made; &lt;br /&gt;
Start work: Report of Activities#Sugar_Activities&lt;br /&gt;
200 pages migrated.&lt;br /&gt;
Give a talk related to “Sugar and what it stands for” at one of our local meetups in Delhi. &lt;br /&gt;
Random quality checks; manual fixes wherever required. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#9] June 24 - July 1&lt;br /&gt;
 || 250 pages migrated, checked. &lt;br /&gt;
Get a review of the pages migrated from the community and mentor(s)&lt;br /&gt;
Implement and discuss changes.&lt;br /&gt;
Start with pet project of making my own activity.&lt;br /&gt;
Finish automation task. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#10] July 2 - July 10 &lt;br /&gt;
|| Second Code Evaluations&lt;br /&gt;
300 pages migrated. Completed end-to-end. &lt;br /&gt;
Blog post about GSoC: 10 weeks later.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#11] July 11 - July 18&lt;br /&gt;
Soft Deadline - All 345 web pages migrated completing the primary objective.&lt;br /&gt;
 || 345 pages migrated.  &lt;br /&gt;
Documentation completed.&lt;br /&gt;
Tool Ready with automated tasks and checks wherever they could be implemented hosted on GitHub for everyone to use under Sugar Labs&lt;br /&gt;
Start work on wiki report (Aim - To propose a better format for clear, uniform documentation) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#12] July 19 - July 26&lt;br /&gt;
Hard Deadline &lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
Submit Wiki Report; Get feedback from the community&lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#13] July 27 - August 05&lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
Implement further suggestion if possible. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#14] August 6 - August 13 &lt;br /&gt;
 || Final Code Evaluations&lt;br /&gt;
Various blog posts about the entire experience, GSoC 2018 and Sugar Community. &lt;br /&gt;
Finish making the activity (tentative) &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* I learned almost everything by reading the docs. I, later on, started writing documentation and code for others too. Helping me always know exactly where I can find the information I am looking for and how to improve on it, how necessary it is.  &lt;br /&gt;
* All my past projects, showcase a strong dedication to the deadline and the determination to get work done. WikiPort will be no different.&lt;br /&gt;
* I have been working on Python2 and Python3 for a year now over a lot of projects and activities.   &lt;br /&gt;
* As for my skills, &lt;br /&gt;
- Articles written, published using Pelican, Wordpress (Markdown).&amp;lt;br /&amp;gt;&lt;br /&gt;
- I use git in all project that I start. Document and collaborate on GitHub. &amp;lt;br /&amp;gt;&lt;br /&gt;
- Comfortable with both Linux and Windows OS, (preferring Linux all the way) &amp;lt;br /&amp;gt;&lt;br /&gt;
- Since Python is used widely, my previous projects justify my skill and flexibility in the language. &amp;lt;br /&amp;gt;&lt;br /&gt;
- There is no better to prove that I can accomplish and execute my vision for WikiPort by actually showing that work has been done. (Refer Miscellaneous section) &amp;lt;br /&amp;gt;&lt;br /&gt;
- There are many points to keep in mind while migrating is taking place, hence for a &#039;&#039;&#039;more methodical&#039;&#039;&#039; approach a [https://etherpad.net/p/Sugar_Migration_Checklist checklist] has been implemented by me which has a summary of all the - steps. (Both manual/automated) &lt;br /&gt;
- Completed the &#039;&#039;&#039;one time task&#039;&#039;&#039; in my &#039;&#039;&#039;migration process&#039;&#039;&#039; beforehand and also solving a [https://github.com/sugarlabs/sugar-docs/issues/102 pending issue] related to it. Used &#039;&#039;&#039;GitHub API&#039;&#039;&#039; and &#039;&#039;&#039;PyGithub&#039;&#039;&#039; which seems much more effective then Scraping (using Scrapy) as mentioned before. Scripts are availabe [https://gist.github.com/vipulgupta2048/6eef7de43ac628e8e7ed11217fbb1803 here].&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== You and the community ==&lt;br /&gt;
&#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community?&#039;&#039;&#039;&lt;br /&gt;
*If WikiPort is completed and deployed as a tool for this project. It would help in making the work easier for developers to not just Sugar Labs but everybody and even experienced users. &lt;br /&gt;
*WikiPort will help users port their wikis to GitHub with minimum user inputs, which  would ultimately benefit everyone involved and for many generations of developers to come who will use that documentation.&lt;br /&gt;
*As previously stated, documentation is an important part of any development process. Bad documentation impacts the entire community as. But if the documentation is&lt;br /&gt;
1. &#039;&#039;&#039;Accessible&#039;&#039;&#039; - GitHub is one of the best places to host it. &amp;lt;br /&amp;gt;&lt;br /&gt;
2. &#039;&#039;&#039;Relevant and easily traversable&#039;&#039;&#039; - The documentation about every activity will be housed with its GitHub Repository. &amp;lt;br /&amp;gt; &lt;br /&gt;
Clearly written - Strict format to maintain overall uniformity. &amp;lt;br /&amp;gt;&lt;br /&gt;
3. &#039;&#039;&#039;Easily editable (+ VCS)&#039;&#039;&#039; - Wiki offers edit history of documents too, but the process to edit a document is cumbersome while GitHub makes it very easy for users to fix issues in it. &amp;lt;br /&amp;gt;&lt;br /&gt;
4. &#039;&#039;&#039;More views, more stars&#039;&#039;&#039; - GitHub also increases views and popularity of the activity ultimately helping Sugar Labs to get noticed more. &amp;lt;br /&amp;gt;&lt;br /&gt;
If our documentation has all these features, then everybody would be more inclined towards contributing to Sugar Labs and get to know more about it.  &lt;br /&gt;
People would contribute more to bug fixing, indirectly helping the Sugar Labs community to grow and expand more. Helping students, developers, activity maintainers, members of the community.&lt;br /&gt;
Produce a new tool by the community, for the community and with the community’s help for everyone to benefit from.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 2:&#039;&#039;&#039; Walter Bender - walter.bender@gmail.com &amp;lt;br /&amp;gt;&lt;br /&gt;
This project has solid potential to address several pressing issues for the community: &lt;br /&gt;
(1) bifurcation --  we are spread across too many platforms which is both a maintenance issue and also an issue for our users and potential developers, who struggle to find the documentation for the Sugar Activities; &lt;br /&gt;
(2) redundancy -- we are spread too thin to maintain multiple, redundant instances of documentation. Migrating everything to a uniform platform where is it directly tied to the source would impact both of these issues.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 3:&#039;&#039;&#039; James Cameron - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His assessment of project impact from both Github and Email )&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;quot;Migration is needed because Wiki is not being used now that GitHub is being used. Maintaining the Wiki in addition to GitHub is not sustainable. So we want documentation to move from Wiki to GitHub. So that when an activity is updated in GitHub, the documentation can be updated in the same place at the same time.&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
* “Originally documentation was separate because we had non-coding developers and tool chains that varied by type of developer.  Now we use GitHub the tool chains are combined. With the project as described, documentation will be concentrated in the source code repository for an activity, reducing ongoing maintenance.We have less active Wiki contributors than we ever did, and in the current threat environment a Wiki requires significant monitoring and administration; we recently lost some system administrators and gained new ones; using GitHub allows us to outsource system administration.”&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 4:&#039;&#039;&#039; Tony Anderson - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His comments clarifying the need of WikiPort and the problems it solves)&amp;lt;br /&amp;gt;&lt;br /&gt;
As always, the question is the impact on our users. The traditional source of information for users is [1] and [2] and, especially the wiki pages. So far the effect of gitHub has been to reduce the value of these two sources. In many cases the activities on ASLO have been superseded by ones on Github other git repository but are not available to our users. The documentation of activities on ASLO has never been adequate but now no effort will be made to improve it. This continues the trend toward Sugar being a playground for the technical elite. Complete conversation available here.&amp;lt;br /&amp;gt;&lt;br /&gt;
[1] http://www.sugarlabs.org 				[2] http://www.laptop.org&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What will you do if you get stuck on your project and your mentor isn&#039;t around?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
I strive to solve a problem using my own skill base by searching about the problem case and working it out into smaller bits.&lt;br /&gt;
#sugar and #sugar-devel channels on IRC, the mailing lists where other community members discuss issues. I am familiar with mailing list etiquettes for open source communities and learn fairly fast.&amp;lt;br /&amp;gt;&lt;br /&gt;
Google and StackOverflow about the issues, later refer to the documentation of the tool I am using for reference. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I would get regular, constructive feedback on the code I will write and the work I would do for the community by posting work samples from Github, on the mailing list and on IRC. [Check Timeline for the same]&amp;lt;br /&amp;gt;&lt;br /&gt;
Post constant updates on my blog and maintain an update tracker for each week on a public notepad (Etherpad, etc.)&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&#039;&#039;&#039;Send us a link to a pull request or merge request you have made a Sugar or Sugar activity bug.&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I needed to test my WikiPort beta script that I had created, hence made some extra efforts and migrated these four wiki pages listed below.   &lt;br /&gt;
[https://github.com/sugarlabs/lettermatch/pull/3 lettermatch/pull/3] &lt;br /&gt;
[https://github.com/sugarlabs/AEIOU/pull/9 sugarlabs/AEIOU/pull/9] &lt;br /&gt;
[https://github.com/sugarlabs/iknowmyabcs/pull/7 iknowmyabcs/pull/7] &lt;br /&gt;
[https://github.com/sugarlabs/i-can-read-activity/pull/6 /i-can-read-activity/pull/6] &lt;br /&gt;
&lt;br /&gt;
Another Issue that I am currently working  is [https://github.com/sugarlabs/sugar-live-build/issues/6 sugar-live-build/issues/] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe a great learning experience you had as a child.&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Here’s a short story titled “Let me Google that for you.” when I was 14. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From my childhood, web technologies have always piqued my interest for the longest time as I can remember. I been writing HTML since I was 1. But I never liked to read from the old, dusty books. When I code, I had to take help from seniors, teachers, the experience I gained and other sources. Almost everybody was irritated by the constant barrage of long and complex questions, that Vipul Gupta had.&lt;br /&gt;
So what happened one day, I walked to one of the seniors and asked him a question if I remember right about how he would determine which browser is better for a particular segment of code I wrote. He took me to the lab and told me to open a link similar like to this http://bfy.tw/HFBs This will have the solution surely to all my problems. &lt;br /&gt;
What happened next? I was embarrassed and couldn’t see straight but he was not judgemental and was very humble (A trait everyone of should have towards beginners, I feel like.) and from that day forward. The only place I actually learned something was the internet. &lt;br /&gt;
That day I actually learned how to Google by letting someone google that for me. Teaching by the application at its best. I look back to this incident and still smile. I share this experience of mine whenever I have a chance to interact with my juniors that serves as motivation boost and compels them to think that nothing is impossible, and everybody makes mistakes once in a while.  This lead to me creating hundreds of links more from this website. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* I think I am well satisfied with the proposal that I have made for WikiPort, the project for Sugar Labs. The template given by Sugar Labs really covers all the corners of my  project, and actually helped me think more constructively about the project and the fine aspects of it. &amp;lt;br /&amp;gt;&lt;br /&gt;
* I learned a lot through these few weeks, working on the proposal. MediaWIki API and new skills, contributing to an open-source organisation of this stature, how to interact with people. This has been a memorable experience. I am in awe, I really am.&amp;lt;br /&amp;gt;&lt;br /&gt;
* All open-source communities may not be same, but are run on the same principle that I also try to follow in life. Be humble, and helpful to everybody. The ‘ahaa-moment’ of a beginner is what I live for, when he truly get the point that I am trying to make.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Some Credits - Learned to not contest for issues, but focus on better PR’s, and many new things from James Cameron (@Quozl)’s blog. Jasikrat too for helping people on IRC emailsll mentors who review our proposal and go through all our mails. Thank you all for the opportunities and the help provided to me and my fellow contributors. I hope down the line, I could follow in your footsteps too.&amp;lt;br /&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
__INDEX__&lt;br /&gt;
[[Category:2018 GSoC applications]]&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101719</id>
		<title>WikiPort</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101719"/>
		<updated>2018-04-21T18:27:14Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== About You ==&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039; - Vipul Gupta&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Email address&#039;&#039;&#039; - [http://mailto:vipulgupta2048@gmail.com vipulgupta2048@gmail.com] &amp;lt;br /&amp;gt;  &lt;br /&gt;
&#039;&#039;&#039;Blog Url&#039;&#039;&#039; -  [http://www.mixstersite.wordpress.com www.mixstersite.wordpress.com]  &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Sugar Labs wiki username&#039;&#039;&#039; - [https://wiki.sugarlabs.org/go/User:Vipulgupta2048 Vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IRC nickname&#039;&#039;&#039; - vipulgupta2048 &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Linkedin&#039;&#039;&#039; - [http://www.linkedin.com/in/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Github&#039;&#039;&#039; - [http://www.github.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Twitter&#039;&#039;&#039; - [http://www.twitter.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;First language - &#039;&#039;&#039;English (Fluent) &#039;&#039;&#039;&amp;lt;br /&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Located at, and what hours (UTC) do you tend to work&#039;&#039;&#039; - I am based out of New Delhi, India (+5.30 GMT). I am flexible with timings and can work for 3-5 hours everyday. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== My Contributions/Love for Open-Source ==&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects or some other demonstration of the work that you have done in open-source?&#039;&#039;&#039;&lt;br /&gt;
Yes, I have been participating and maintaining many open-source projects. Also been contributing to other communities and conference projects. Links and detailed description are as follows&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/asetalias/asetalias.github.io/pull/52 First pull request] on my college open-source community’s website, [http://www.github.com/asetalias ALiAS] - Maintainer since 2016.&lt;br /&gt;
* [https://github.com/vipulgupta2048/opengisproj_mirror vipulgupta2048/opengisproj_mirror]- Involved building a web app for real-time monitoring of pollution levels in rivers of India and to assess the impact on the health of people using the water from the river. The working repo is private, hence a public mirror for showcasing. &lt;br /&gt;
* [https://github.com/vipulgupta2048/scrape vipulgupta2048/scrape] Scraping major news websites/outlets in India using Scrapy [Python] Managing the data flow by employing PostgreSQL. Finding fake news using Machine Learning with help of libraries (Word2vec)&lt;br /&gt;
* Fixed bugs, wrote blogs, added new features using HTML, CSS, and JS for the official website of the premier conference on Python in India, PyCon India 2017 and now in 2018 workgroup  ([https://github.com/pythonindia/inpycon2017/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ Here] and [https://github.com/pythonindia/inpycon-blog/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ here]) &lt;br /&gt;
* [https://gitlab.com/asetalias/Community-Connect gitlab/asetalias/Community-Connect] [Ongoing]  &lt;br /&gt;
* Completed: Hacktoberfest Challenge;  [https://hacktoberfestchecker.herokuapp.com/?username=vipulgupta2048 Here].&lt;br /&gt;
* Building and mentoring website development for Pyladies Delhi Chapter [https://github.com/vipulgupta2048/Pyladies-delhi-website Pyladies-delhi-website]  &lt;br /&gt;
* Recent contribution: In Sugar Labs. Mentioned in the Miscellaneous section.        &lt;br /&gt;
&lt;br /&gt;
Along with this, [http://meetup.com/pydelhi Python Delhi User Group] (PyDelhi) is a volunteer-driven organization comprising of Pythonistas, enthusiasts, who have a primary focus in Python. I help by volunteering and organizing meetups for them. &amp;lt;br /&amp;gt;&lt;br /&gt;
I am a committee member of my college’s open source community. [http://www.asetalias.in ALiAS (Amity Linux Assistance Sapience)] We conduct hands-on workshops, seminars, talks and much more to try and help as many people as we can along the process and motivate them to make their first PR.&amp;lt;br /&amp;gt;&lt;br /&gt;
I genuinely love spreading knowledge among peers/juniors/underprivileged children anywhere I can through my voice ([https://github.com/asetalias/Logistics-and-Event-Contributions/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed Talks] and [https://github.com/ILUGD/talks/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed workshops]) and my words ([http://www.mixstersite.wordpress.com Tech-Blog])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039; &amp;lt;br /&amp;gt; &lt;br /&gt;
Wikiport &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Logo wikiport.png|frameless|center|WikiPort]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using? &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Abstract Ideas:&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
	Documentation tools have become modern, lighter, easier to use with the use of Sphinx, Github pages/wiki, Mkdocs and many more similar frameworks and applications. It’s easily the first and the most important steps for any open-source projects implemented by almost everybody.&amp;lt;br /&amp;gt; &lt;br /&gt;
If people know more, they would want to get involved and contribute more. This would, in turn, help the entire community to grow and expand. If the information (Documentation) is accessible fast, easily comprehensible, simple enough to edit and manage for people then I think this project will help really help Sugar Labs achieve that.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;My understanding of the problem and why it needs to be solved?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Documentation, as mentioned before, is important to all open-source projects. Sugar Labs has all documentation for its learner applications called “Activities” at one place in the Activities#Sugar_Activities. Some problem (#risks) that I found with this sort of implementation is as follows:- &lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Difficult to add, edit and manage&#039;&#039;&#039;  - In reference to the conversation [archive/sugar-devel] As a user, I need to create an account for editing privileges. Which is very tiresome to be very honest, hence discouraging contributions. &lt;br /&gt;
# &#039;&#039;&#039;Size issues&#039;&#039;&#039; - Wiki is being hosted on a a server. With the growing number of activities, the size occupiewould l increasl leading  atsurge i in maintenance cost. Not to mention buying more space. &lt;br /&gt;
# &#039;&#039;&#039;No clear format/classification&#039;&#039;&#039; - Some links are for one activity only while other activities have multiple links for them (example Turtle Art) Results in time being wasted of the user even if they are justified. &lt;br /&gt;
I did extensive research on the same and found many such problems with the wiki. According to my experience in open-source, users just need information fast, easily accessible and neatly organized. A new method to make that information organized should be brought in place for the betterment of the whole community. GitHub could be the solution to all our problems ([https://insights.stackoverflow.com/survey/2018/#work-version-control stackoverflow/survey/2018]) WikiPort is a tool that helps in migration process of wiki’s to Github hosted README.md. &lt;br /&gt;
 &lt;br /&gt;
== Objective == &amp;lt;br /&amp;gt;&lt;br /&gt;
To migrate documentation and information of each activity in Activities#Sugar_Activities of Sugar Labs in MediaWiki format to their respective git repositories hosted on GitHub in rich markdown format by a program/tool with special attention to the transfer of all information and media associated with the activity with least redundancies and zero duplication of content if not already present in GitHub@README.md or user documentation in help-activity.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Technologies and Skills Used&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This list is just a small glimpse of technologies that I am thinking to use for this project. I am proficient in each of them, through my past projects. (Refer)  &lt;br /&gt;
* &#039;&#039;&#039;Programming Language&#039;&#039;&#039;: Python 3.6 using libraries such as requests, LXML, Beautifulsoup etc. Python3 will be used widely in this project. &lt;br /&gt;
* &#039;&#039;&#039;Markup Languages&#039;&#039;&#039; - Markdown, MediaWiki, reStructuredText&lt;br /&gt;
* &#039;&#039;&#039;For Automation&#039;&#039;&#039; - Ansible or Bash (To automate each step of the migration process and installation of the tool.)&lt;br /&gt;
* &#039;&#039;&#039;Tools&#039;&#039;&#039; - git, shell, MediaWiki API - Pywikibot, GitHub API - PyGitHub  &lt;br /&gt;
* &#039;&#039;&#039;Others&#039;&#039;&#039; - Yaml (If Ansible is used) &lt;br /&gt;
&lt;br /&gt;
== An Overview of the Migration Process ==  &lt;br /&gt;
&lt;br /&gt;
[[File:S.U.G.A.R.png|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Detailed Description of the steps mentioned &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;One time task&#039;&#039;&#039; -  Used GitHub API and PyGithub to find all repository links that don&#039;t have a README.md and are a activity under SugarLabs organisation. [https://github.com/sugarlabs/sugar-docs/issues/102 Completed] and [https://gist.github.com/vipulgupta2048/6eef7de43ac628e8e7ed11217fbb1803 Scripts availabe here]  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Step 0&#039;&#039;&#039; - Extracting content; from these methods that offers the least redundancies. My research yielded these results.&lt;br /&gt;
:  1. Query MediaWiki API and acquire content in wikitext format&lt;br /&gt;
:  2. Export pages in XML using Python Wikipedia Robot Framework  &lt;br /&gt;
:  3.  GET page in simple HTML ( Activities/Sugar_Network&amp;amp;printable=yes) &lt;br /&gt;
*&#039;&#039;&#039;Step 1 -&#039;&#039;&#039; Convert the data sourced from step 0; using Pandoc to Markdown. Removing syntax, comments and Wikimedia code that might be left after conversion using regex wherever required.  &lt;br /&gt;
* &#039;&#039;&#039;Step 2&#039;&#039;&#039; - Fork and clone the respective GitHub repository from the links already scraped or found manually of the correct activity   &lt;br /&gt;
* Step 3 - Python script to fetch all image links and then download media (images) associated with the activity from the web-page; renames them in correct format; adds them to repository folder cloned under directory “images” Fix image links and testing.&lt;br /&gt;
* &#039;&#039;&#039;Step 4 -&#039;&#039;&#039; Ensuring content is not duplicated by being already present either in the README.md file or the user documentation in the help-activity. Make the necessary changes, fix broken links. Testing; Commit and push to fork.&lt;br /&gt;
* &#039;&#039;&#039;Step 5 -&#039;&#039;&#039; Pull request submitted with the detailed description of the changes in activity documentation in clear format containing all details. When PR merged, move to step 6. [Refer [https://etherpad.net/p/Sugar_Migration_Checklist Sugar_Migration_Checklist]]  &lt;br /&gt;
* &#039;&#039;&#039;Step 6 -&#039;&#039;&#039; Use Pywikibot (Check delete.py) to delete pages/media associated with wiki page using admin privileges and link back to their repositories. This can also be achieved using the mediawiki API which saves edit history as I mentioned before.  (Read more here)              (End-to-end Migration of wiki page complete)      &lt;br /&gt;
* &#039;&#039;&#039;Step 7&#039;&#039;&#039; - Repeat Step 1 for next activity.&lt;br /&gt;
&lt;br /&gt;
== Project Deliverables ==&lt;br /&gt;
# 345 web pages stored in MediaWiki format atActivities#Sugar_Activities on Sugar Labs Wiki converted to Markdown format with assets (images and other files) intact and in-place with zero duplication.  &lt;br /&gt;
# Files in Markdown converted from the wiki content are tested and checked to ensure foolproof 100% migration without any redundancies or loss of information. Manually or through scripts.&lt;br /&gt;
# A detailed report with classified information about the Sugar_activities wiki that needs further improvements submitted to Sugar Labs (Refer week #8 in timeline #Wikiteam)&lt;br /&gt;
Files committed, pushed and PR’s made in each activity’s respective git repository in an information specific format for easy reference. &lt;br /&gt;
# Tested bug-free source code for everyone to use (and other open source projects) for their wikis facing the same issues. Complete documentation of the migration method submitted on time of evaluations with the review of the mentor incorporated.&lt;br /&gt;
# After the complete transfer of all the wiki content, discuss and implement the last actions on the wiki, to either delete the pages or link them back to their respective git repositories.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Thus, by the deliverables mentioned above, 3 well-defined goals that determine project status which will help in evaluation i.e&#039;&#039;&#039;&amp;lt;br /&amp;gt;1. Evaluation 1: Migration of 100 wiki-pages complete; &amp;lt;br /&amp;gt;2. Evaluation 2: Migration of 300 wiki-pages complete;&amp;lt;br /&amp;gt;3. Final: Migration of 345 wiki-pages;&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Other Deliverables (and Future Work) ==&lt;br /&gt;
# &#039;&#039;&#039;Contribute more&#039;&#039;&#039; - After and during the project, will help in solving bigger challenges and bugs faced as my experience lies in DevOps tasks and start reading code of Sugar. Already working on [https://github.com/sugarlabs/sugar-live-build/issues/6 Sugar-live-build]&lt;br /&gt;
# &#039;&#039;&#039;Add Features&#039;&#039;&#039; - Edit history of wikis that are being migrated by WikiPort can be exported as commits on GitHub. (Experimental)  &lt;br /&gt;
# &#039;&#039;&#039;Create New Activities&#039;&#039;&#039; - Being well versed in Python (tried making a game with pygame) Would enjoy the new learning curve as I never really explored GTK. Have some new ideas that could be later transformed into fun, interactive learning activities.&lt;br /&gt;
# &#039;&#039;&#039;Complete Misc. Tasks&#039;&#039;&#039; - Wiki pages contain task waiting to be completed I would like to volunteer and finish them for the welfare of the community like this one here IRC#Wishlist.&lt;br /&gt;
# Remain as an &#039;&#039;&#039;active contributor for Sugar Labs&#039;&#039;&#039; and take part in discussions for the future projects. Maybe if the community agrees, also mentor someone &#039;&#039;&#039;myself&#039;&#039;&#039; in the foreseeable future.&lt;br /&gt;
# Use Automation to our favor so that many tasks are completed in WikiPort using bash or Ansible scripts like environment setups, installation and fine workings of the entire tool. &lt;br /&gt;
&lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
* In accordance with the official timeline by GSoC, my college exams end somewhere in the first week of May or so. My college reopens early in July. During this time, I will remain in contact with my mentor.&lt;br /&gt;
* This gives me ample time to code. I plan to begin coding before the official period coding period of GSoC starts from starting of May. Which gives me a head start to finish the majority (80%) of the project before the second evaluation. &lt;br /&gt;
 &#039;&#039;&#039;Providing a total of 10 weeks to write code for WikiPort (&amp;amp; other deliverables)&#039;&#039;&#039;&lt;br /&gt;
* I will also write a weekly or Bi-weekly blog post on my progress and updates on my project and post it diligently on the website to get the community involved.  The Weekly timeline is as follows. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Week Number [#]  !! Tasks&lt;br /&gt;
|-&lt;br /&gt;
| [#1] April 23 - April 30   || Community Bonding Period &lt;br /&gt;
Community Bonding, if possible keen on having a meeting with the Activity and wiki team. Discussion of ideas that I have. Research Part 1&lt;br /&gt;
MediaWiki [Syntax, documentation, API, functionalities]; GitHub API; Wikitext; Exploring the problem case defined earlier.&lt;br /&gt;
|-&lt;br /&gt;
| [#2] April 1 - May 7&lt;br /&gt;
 || Start documentation and blog post, about Sugar Labs on my blog.Setup: development environment. &lt;br /&gt;
Continue with Research &lt;br /&gt;
&lt;br /&gt;
Part 2 - Finding, testing, implementing solutions available for Migration Process step 0 through 6. Discuss results with the mentor, shortlist methods that have the highest success rate. &lt;br /&gt;
Pushing to Github; fixing organization problems&lt;br /&gt;
|-&lt;br /&gt;
| [#3] May 7 - May 14&lt;br /&gt;
 || Finalized migration process, start coding.&lt;br /&gt;
Spider ready to scrape activities for their GitHub repo.&lt;br /&gt;
Report on activities missing GitHub repo. links &lt;br /&gt;
Blog post on Community Bonding @ Sugar Labs&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#4] May 15 - May 22&lt;br /&gt;
 || Official Coding period starts &lt;br /&gt;
Start work on migration script. &lt;br /&gt;
Test migration script on 10 activities (aim - 60% migration of content from wiki to GitHub readme of the activity)&lt;br /&gt;
Gets reviewed by the mentor; implement suggestions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#5] May 23 - May 30&lt;br /&gt;
 || Work on script continues; Tweaking; suggestions implemented by the community&lt;br /&gt;
Testing extensively; and commenting &lt;br /&gt;
Documentation for script&lt;br /&gt;
40 pages completed (Aim - 70% migration of content through the script without manual edits;)&lt;br /&gt;
Write a quality checklist for pages converted to determine bugs, thorough checking of every page converted, every step of the way. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#6] June 1 - June 7&lt;br /&gt;
 || Work on Other Deliverables &lt;br /&gt;
Script improved; Commenting; Logging implemented;&lt;br /&gt;
Quality Checks implemented on sourced markdown files&lt;br /&gt;
Blog post on research and work did so far. &lt;br /&gt;
100 pages completed (minor improvements)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#7] June 8 - June 15&lt;br /&gt;
First Code Evaluations&lt;br /&gt;
 || Implement suggestions from evaluations.&lt;br /&gt;
Start work towards automation of scripts wherever possible (Aim - Least user input)&lt;br /&gt;
Start work on making WikiPort available to all as a simple tool.&lt;br /&gt;
150 pages completed. &lt;br /&gt;
Get a review of pages migrated, from the community.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#8] June 16 - June 23&lt;br /&gt;
 || Documentation alpha release; Repository made; &lt;br /&gt;
Start work: Report of Activities#Sugar_Activities&lt;br /&gt;
200 pages migrated.&lt;br /&gt;
Give a talk related to “Sugar and what it stands for” at one of our local meetups in Delhi. &lt;br /&gt;
Random quality checks; manual fixes wherever required. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#9] June 24 - July 1&lt;br /&gt;
 || 250 pages migrated, checked. &lt;br /&gt;
Get a review of the pages migrated from the community and mentor(s)&lt;br /&gt;
Implement and discuss changes.&lt;br /&gt;
Start with pet project of making my own activity.&lt;br /&gt;
Finish automation task. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#10] July 2 - July 10 &lt;br /&gt;
|| Second Code Evaluations&lt;br /&gt;
300 pages migrated. Completed end-to-end. &lt;br /&gt;
Blog post about GSoC: 10 weeks later.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#11] July 11 - July 18&lt;br /&gt;
Soft Deadline - All 345 web pages migrated completing the primary objective.&lt;br /&gt;
 || 345 pages migrated.  &lt;br /&gt;
Documentation completed.&lt;br /&gt;
Tool Ready with automated tasks and checks wherever they could be implemented hosted on GitHub for everyone to use under Sugar Labs&lt;br /&gt;
Start work on wiki report (Aim - To propose a better format for clear, uniform documentation) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#12] July 19 - July 26&lt;br /&gt;
Hard Deadline &lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
Submit Wiki Report; Get feedback from the community&lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#13] July 27 - August 05&lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
Implement further suggestion if possible. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#14] August 6 - August 13 &lt;br /&gt;
 || Final Code Evaluations&lt;br /&gt;
Various blog posts about the entire experience, GSoC 2018 and Sugar Community. &lt;br /&gt;
Finish making the activity (tentative) &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* I learned almost everything by reading the docs. I, later on, started writing documentation and code for others too. Helping me always know exactly where I can find the information I am looking for and how to improve on it, how necessary it is.  &lt;br /&gt;
* All my past projects, showcase a strong dedication to the deadline and the determination to get work done. WikiPort will be no different.&lt;br /&gt;
* I have been working on Python2 and Python3 for a year now over a lot of projects and activities.   &lt;br /&gt;
* As for my skills, &lt;br /&gt;
- Articles written, published using Pelican, Wordpress (Markdown).&amp;lt;br /&amp;gt;&lt;br /&gt;
- I use git in all project that I start. Document and collaborate on GitHub. &amp;lt;br /&amp;gt;&lt;br /&gt;
- Comfortable with both Linux and Windows OS, (preferring Linux all the way) &amp;lt;br /&amp;gt;&lt;br /&gt;
- Since Python is used widely, my previous projects justify my skill and flexibility in the language. &amp;lt;br /&amp;gt;&lt;br /&gt;
- There is no better to prove that I can accomplish and execute my vision for WikiPort by actually showing that work has been done. (Refer Miscellaneous section) &amp;lt;br /&amp;gt;&lt;br /&gt;
- There are many points to keep in mind while migrating is taking place, hence for a &#039;&#039;&#039;more methodical&#039;&#039;&#039; approach a [https://etherpad.net/p/Sugar_Migration_Checklist checklist] has been implemented by me which has a summary of all the - steps. (Both manual/automated) &lt;br /&gt;
- Completed the &#039;&#039;&#039;one time task&#039;&#039;&#039; in my &#039;&#039;&#039;migration process&#039;&#039;&#039; beforehand and also solving a [https://github.com/sugarlabs/sugar-docs/issues/102 pending issue] related to it. Used &#039;&#039;&#039;GitHub API&#039;&#039;&#039; and &#039;&#039;&#039;PyGithub&#039;&#039;&#039; which seems much more effective then Scraping (using Scrapy) as mentioned before. Scripts are availabe [https://gist.github.com/vipulgupta2048/6eef7de43ac628e8e7ed11217fbb1803 here].&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== You and the community ==&lt;br /&gt;
&#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community?&#039;&#039;&#039;&lt;br /&gt;
*If WikiPort is completed and deployed as a tool for this project. It would help in making the work easier for developers to not just Sugar Labs but everybody and even experienced users. &lt;br /&gt;
*WikiPort will help users port their wikis to GitHub with minimum user inputs, which  would ultimately benefit everyone involved and for many generations of developers to come who will use that documentation.&lt;br /&gt;
*As previously stated, documentation is an important part of any development process. Bad documentation impacts the entire community as. But if the documentation is&lt;br /&gt;
1. &#039;&#039;&#039;Accessible&#039;&#039;&#039; - GitHub is one of the best places to host it. &amp;lt;br /&amp;gt;&lt;br /&gt;
2. &#039;&#039;&#039;Relevant and easily traversable&#039;&#039;&#039; - The documentation about every activity will be housed with its GitHub Repository. &amp;lt;br /&amp;gt; &lt;br /&gt;
Clearly written - Strict format to maintain overall uniformity. &amp;lt;br /&amp;gt;&lt;br /&gt;
3. &#039;&#039;&#039;Easily editable (+ VCS)&#039;&#039;&#039; - Wiki offers edit history of documents too, but the process to edit a document is cumbersome while GitHub makes it very easy for users to fix issues in it. &amp;lt;br /&amp;gt;&lt;br /&gt;
4. &#039;&#039;&#039;More views, more stars&#039;&#039;&#039; - GitHub also increases views and popularity of the activity ultimately helping Sugar Labs to get noticed more. &amp;lt;br /&amp;gt;&lt;br /&gt;
If our documentation has all these features, then everybody would be more inclined towards contributing to Sugar Labs and get to know more about it.  &lt;br /&gt;
People would contribute more to bug fixing, indirectly helping the Sugar Labs community to grow and expand more. Helping students, developers, activity maintainers, members of the community.&lt;br /&gt;
Produce a new tool by the community, for the community and with the community’s help for everyone to benefit from.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 2:&#039;&#039;&#039; Walter Bender - walter.bender@gmail.com &amp;lt;br /&amp;gt;&lt;br /&gt;
This project has solid potential to address several pressing issues for the community: &lt;br /&gt;
(1) bifurcation --  we are spread across too many platforms which is both a maintenance issue and also an issue for our users and potential developers, who struggle to find the documentation for the Sugar Activities; &lt;br /&gt;
(2) redundancy -- we are spread too thin to maintain multiple, redundant instances of documentation. Migrating everything to a uniform platform where is it directly tied to the source would impact both of these issues.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 3:&#039;&#039;&#039; James Cameron - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His assessment of project impact from both Github and Email )&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;quot;Migration is needed because Wiki is not being used now that GitHub is being used. Maintaining the Wiki in addition to GitHub is not sustainable. So we want documentation to move from Wiki to GitHub. So that when an activity is updated in GitHub, the documentation can be updated in the same place at the same time.&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
* “Originally documentation was separate because we had non-coding developers and tool chains that varied by type of developer.  Now we use GitHub the tool chains are combined. With the project as described, documentation will be concentrated in the source code repository for an activity, reducing ongoing maintenance.We have less active Wiki contributors than we ever did, and in the current threat environment a Wiki requires significant monitoring and administration; we recently lost some system administrators and gained new ones; using GitHub allows us to outsource system administration.”&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 4:&#039;&#039;&#039; Tony Anderson - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His comments clarifying the need of WikiPort and the problems it solves)&amp;lt;br /&amp;gt;&lt;br /&gt;
As always, the question is the impact on our users. The traditional source of information for users is [1] and [2] and, especially the wiki pages. So far the effect of gitHub has been to reduce the value of these two sources. In many cases the activities on ASLO have been superseded by ones on Github other git repository but are not available to our users. The documentation of activities on ASLO has never been adequate but now no effort will be made to improve it. This continues the trend toward Sugar being a playground for the technical elite. Complete conversation available here.&amp;lt;br /&amp;gt;&lt;br /&gt;
[1] http://www.sugarlabs.org 				[2] http://www.laptop.org&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What will you do if you get stuck on your project and your mentor isn&#039;t around?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
I strive to solve a problem using my own skill base by searching about the problem case and working it out into smaller bits.&lt;br /&gt;
#sugar and #sugar-devel channels on IRC, the mailing lists where other community members discuss issues. I am familiar with mailing list etiquettes for open source communities and learn fairly fast.&amp;lt;br /&amp;gt;&lt;br /&gt;
Google and StackOverflow about the issues, later refer to the documentation of the tool I am using for reference. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I would get regular, constructive feedback on the code I will write and the work I would do for the community by posting work samples from Github, on the mailing list and on IRC. [Check Timeline for the same]&amp;lt;br /&amp;gt;&lt;br /&gt;
Post constant updates on my blog and maintain an update tracker for each week on a public notepad (Etherpad, etc.)&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&#039;&#039;&#039;Send us a link to a pull request or merge request you have made a Sugar or Sugar activity bug.&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I needed to test my WikiPort beta script that I had created, hence made some extra efforts and migrated these four wiki pages listed below.   &lt;br /&gt;
[https://github.com/sugarlabs/lettermatch/pull/3 lettermatch/pull/3] &lt;br /&gt;
[https://github.com/sugarlabs/AEIOU/pull/9 sugarlabs/AEIOU/pull/9] &lt;br /&gt;
[https://github.com/sugarlabs/iknowmyabcs/pull/7 iknowmyabcs/pull/7] &lt;br /&gt;
[https://github.com/sugarlabs/i-can-read-activity/pull/6 /i-can-read-activity/pull/6] &lt;br /&gt;
&lt;br /&gt;
Another Issue that I am currently working  is [https://github.com/sugarlabs/sugar-live-build/issues/6 sugar-live-build/issues/] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe a great learning experience you had as a child.&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Here’s a short story titled “Let me Google that for you.” when I was 14. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From my childhood, web technologies have always piqued my interest for the longest time as I can remember. I been writing HTML since I was 1. But I never liked to read from the old, dusty books. When I code, I had to take help from seniors, teachers, the experience I gained and other sources. Almost everybody was irritated by the constant barrage of long and complex questions, that Vipul Gupta had.&lt;br /&gt;
So what happened one day, I walked to one of the seniors and asked him a question if I remember right about how he would determine which browser is better for a particular segment of code I wrote. He took me to the lab and told me to open a link similar like to this http://bfy.tw/HFBs This will have the solution surely to all my problems. &lt;br /&gt;
What happened next? I was embarrassed and couldn’t see straight but he was not judgemental and was very humble (A trait everyone of should have towards beginners, I feel like.) and from that day forward. The only place I actually learned something was the internet. &lt;br /&gt;
That day I actually learned how to Google by letting someone google that for me. Teaching by the application at its best. I look back to this incident and still smile. I share this experience of mine whenever I have a chance to interact with my juniors that serves as motivation boost and compels them to think that nothing is impossible, and everybody makes mistakes once in a while.  This lead to me creating hundreds of links more from this website. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* I think I am well satisfied with the proposal that I have made for WikiPort, the project for Sugar Labs. The template given by Sugar Labs really covers all the corners of my  project, and actually helped me think more constructively about the project and the fine aspects of it. &amp;lt;br /&amp;gt;&lt;br /&gt;
* I learned a lot through these few weeks, working on the proposal. MediaWIki API and new skills, contributing to an open-source organisation of this stature, how to interact with people. This has been a memorable experience. I am in awe, I really am.&amp;lt;br /&amp;gt;&lt;br /&gt;
* All open-source communities may not be same, but are run on the same principle that I also try to follow in life. Be humble, and helpful to everybody. The ‘ahaa-moment’ of a beginner is what I live for, when he truly get the point that I am trying to make.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Some Credits - Learned to not contest for issues, but focus on better PR’s, and many new things from James Cameron (@Quozl)’s blog. Jasikrat too for helping people on IRC emailsll mentors who review our proposal and go through all our mails. Thank you all for the opportunities and the help provided to me and my fellow contributors. I hope down the line, I could follow in your footsteps too.&amp;lt;br /&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
__INDEX__&lt;br /&gt;
[[Category:2018 GSoC applications]]&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101718</id>
		<title>WikiPort</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101718"/>
		<updated>2018-04-21T18:17:07Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Page Under Development GO SLOW! ==&lt;br /&gt;
This page is under heavy development, thus for the time being, please refer to the proposal in rich-formatting on  [https://docs.google.com/document/d/1mPd_SeUqeJF_yKWVEDFuzU7LWsnUFSbLdQQ44HvsYyA/edit?usp=sharing Google Docs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Logo wikiport.png|frameless|center|WikiPort]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update: One-time task completed and contributed to major issues.&#039;&#039;&#039;  &lt;br /&gt;
== About You ==&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039; - Vipul Gupta&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Email address&#039;&#039;&#039; - [http://mailto:vipulgupta2048@gmail.com vipulgupta2048@gmail.com] &amp;lt;br /&amp;gt;  &lt;br /&gt;
&#039;&#039;&#039;Blog Url&#039;&#039;&#039; -  [http://www.mixstersite.wordpress.com www.mixstersite.wordpress.com]  &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Sugar Labs wiki username&#039;&#039;&#039; - [https://wiki.sugarlabs.org/go/User:Vipulgupta2048 Vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IRC nickname&#039;&#039;&#039; - vipulgupta2048 &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Linkedin&#039;&#039;&#039; - [http://www.linkedin.com/in/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Github&#039;&#039;&#039; - [http://www.github.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Twitter&#039;&#039;&#039; - [http://www.twitter.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;First language - &#039;&#039;&#039;English (Fluent) &#039;&#039;&#039;&amp;lt;br /&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Located at, and what hours (UTC) do you tend to work&#039;&#039;&#039; - I am based out of New Delhi, India (+5.30 GMT). I am flexible with timings and can work for 3-5 hours everyday. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== My Contributions/Love for Open-Source ==&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects or some other demonstration of the work that you have done in open-source?&#039;&#039;&#039;&lt;br /&gt;
Yes, I have been participating and maintaining many open-source projects. Also been contributing to other communities and conference projects. Links and detailed description are as follows&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/asetalias/asetalias.github.io/pull/52 First pull request] on my college open-source community’s website, [http://www.github.com/asetalias ALiAS] - Maintainer since 2016.&lt;br /&gt;
* [https://github.com/vipulgupta2048/opengisproj_mirror vipulgupta2048/opengisproj_mirror]- Involved building a web app for real-time monitoring of pollution levels in rivers of India and to assess the impact on the health of people using the water from the river. The working repo is private, hence a public mirror for showcasing. &lt;br /&gt;
* [https://github.com/vipulgupta2048/scrape vipulgupta2048/scrape] Scraping major news websites/outlets in India using Scrapy [Python] Managing the data flow by employing PostgreSQL. Finding fake news using Machine Learning with help of libraries (Word2vec)&lt;br /&gt;
* Fixed bugs, wrote blogs, added new features using HTML, CSS, and JS for the official website of the premier conference on Python in India, PyCon India 2017 and now in 2018 workgroup  ([https://github.com/pythonindia/inpycon2017/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ Here] and [https://github.com/pythonindia/inpycon-blog/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ here]) &lt;br /&gt;
* [https://gitlab.com/asetalias/Community-Connect gitlab/asetalias/Community-Connect] [Ongoing]  &lt;br /&gt;
* Completed: Hacktoberfest Challenge;  [https://hacktoberfestchecker.herokuapp.com/?username=vipulgupta2048 Here].&lt;br /&gt;
* Building and mentoring website development for Pyladies Delhi Chapter [https://github.com/vipulgupta2048/Pyladies-delhi-website Pyladies-delhi-website]  &lt;br /&gt;
* Recent contribution: In Sugar Labs. Mentioned in the Miscellaneous section.        &lt;br /&gt;
&lt;br /&gt;
Along with this, [http://meetup.com/pydelhi Python Delhi User Group] (PyDelhi) is a volunteer-driven organization comprising of Pythonistas, enthusiasts, who have a primary focus in Python. I help by volunteering and organizing meetups for them. &amp;lt;br /&amp;gt;&lt;br /&gt;
I am a committee member of my college’s open source community. [http://www.asetalias.in ALiAS (Amity Linux Assistance Sapience)] We conduct hands-on workshops, seminars, talks and much more to try and help as many people as we can along the process and motivate them to make their first PR.&amp;lt;br /&amp;gt;&lt;br /&gt;
I genuinely love spreading knowledge among peers/juniors/underprivileged children anywhere I can through my voice ([https://github.com/asetalias/Logistics-and-Event-Contributions/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed Talks] and [https://github.com/ILUGD/talks/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed workshops]) and my words ([http://www.mixstersite.wordpress.com Tech-Blog])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039; &amp;lt;br /&amp;gt; &lt;br /&gt;
Wikiport &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using? &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Abstract Ideas:&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
	Documentation tools have become modern, lighter, easier to use with the use of Sphinx, Github pages/wiki, Mkdocs and many more similar frameworks and applications. It’s easily the first and the most important steps for any open-source projects implemented by almost everybody.&amp;lt;br /&amp;gt; &lt;br /&gt;
If people know more, they would want to get involved and contribute more. This would, in turn, help the entire community to grow and expand. If the information (Documentation) is accessible fast, easily comprehensible, simple enough to edit and manage for people then I think this project will help really help Sugar Labs achieve that.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;My understanding of the problem and why it needs to be solved?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Documentation, as mentioned before, is important to all open-source projects. Sugar Labs has all documentation for its learner applications called “Activities” at one place in the Activities#Sugar_Activities. Some problem (#risks) that I found with this sort of implementation is as follows:- &lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Difficult to add, edit and manage&#039;&#039;&#039;  - In reference to the conversation [archive/sugar-devel] As a user, I need to create an account for editing privileges. Which is very tiresome to be very honest, hence discouraging contributions. &lt;br /&gt;
# &#039;&#039;&#039;Size issues&#039;&#039;&#039; - Wiki is being hosted on a a server. With the growing number of activities, the size occupiewould l increasl leading  atsurge i in maintenance cost. Not to mention buying more space. &lt;br /&gt;
# &#039;&#039;&#039;No clear format/classification&#039;&#039;&#039; - Some links are for one activity only while other activities have multiple links for them (example Turtle Art) Results in time being wasted of the user even if they are justified. &lt;br /&gt;
I did extensive research on the same and found many such problems with the wiki. According to my experience in open-source, users just need information fast, easily accessible and neatly organized. A new method to make that information organized should be brought in place for the betterment of the whole community. GitHub could be the solution to all our problems () WikiPort is a tool that helps in migration process of wiki’s to Github hosted README.md. &lt;br /&gt;
 &lt;br /&gt;
== Objective == &amp;lt;br /&amp;gt;&lt;br /&gt;
To migrate documentation and information of each activity in Activities#Sugar_Activities of Sugar Labs in MediaWiki format to their respective git repositories hosted on GitHub in rich markdown format by a program/tool with special attention to the transfer of all information and media associated with the activity with least redundancies and zero duplication of content if not already present in GitHub@README.md or user documentation in help-activity.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Technologies and Skills Used&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This list is just a small glimpse of technologies that I am thinking to use for this project. I am proficient in each of them, through my past projects. (Refer)  &lt;br /&gt;
* &#039;&#039;&#039;Programming Language&#039;&#039;&#039;: Python 3.6 using libraries such as requests, LXML, Beautifulsoup etc. Python3 will be used widely in this project. &lt;br /&gt;
* &#039;&#039;&#039;Markup Languages&#039;&#039;&#039; - Markdown, MediaWiki, reStructuredText&lt;br /&gt;
* &#039;&#039;&#039;For Automation&#039;&#039;&#039; - Ansible or Bash (To automate each step of the migration process and installation of the tool.)&lt;br /&gt;
* &#039;&#039;&#039;Tools&#039;&#039;&#039; - git, shell, MediaWiki API - Pywikibot, GitHub API - PyGitHub  &lt;br /&gt;
* &#039;&#039;&#039;Others&#039;&#039;&#039; - Yaml (If Ansible is used) &lt;br /&gt;
&lt;br /&gt;
== An Overview of the Migration Process ==  &lt;br /&gt;
&lt;br /&gt;
[[File:S.U.G.A.R.png|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Detailed Description of the steps mentioned &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;One time task&#039;&#039;&#039; -  Used GitHub API and PyGithub to find all repository links that don&#039;t have a README.md and are a activity under SugarLabs organisation. [https://github.com/sugarlabs/sugar-docs/issues/102 Completed] and [https://gist.github.com/vipulgupta2048/6eef7de43ac628e8e7ed11217fbb1803 Scripts availabe here]  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Step 0&#039;&#039;&#039; - Extracting content; from these methods that offers the least redundancies. My research yielded these results.&lt;br /&gt;
:  1. Query MediaWiki API and acquire content in wikitext format&lt;br /&gt;
:  2. Export pages in XML using Python Wikipedia Robot Framework  &lt;br /&gt;
:  3.  GET page in simple HTML ( Activities/Sugar_Network&amp;amp;printable=yes) &lt;br /&gt;
*&#039;&#039;&#039;Step 1 -&#039;&#039;&#039; Convert the data sourced from step 0; using Pandoc to Markdown. Removing syntax, comments and Wikimedia code that might be left after conversion using regex wherever required.  &lt;br /&gt;
* &#039;&#039;&#039;Step 2&#039;&#039;&#039; - Fork and clone the respective GitHub repository from the links already scraped or found manually of the activity   &lt;br /&gt;
* Step 3 - Python script to find all image links and then fetches media (images) associated with the activity from web-page; renames them in correct format; adds them to repository folder cloned under “ images” Fix image links and testing.&lt;br /&gt;
* &#039;&#039;&#039;Step 4 -&#039;&#039;&#039; Ensuring content is not duplicated by being already present either in the README.md file or the user documentation in the help-activity. Make the necessary changes, fix broken links. Testing; Commit and push to fork.&lt;br /&gt;
* &#039;&#039;&#039;Step 5 -&#039;&#039;&#039; Pull request submitted with the detailed description of the changes in activity documentation in clear format containing all details. When PR merged, move to step 6.   &lt;br /&gt;
* &#039;&#039;&#039;Step 6 -&#039;&#039;&#039; Use Pywikibot (Check delete.py) to delete pages/media associated with wiki page using admin privileges and link back to their repositories. This can also be achieved using the mediawiki API which saves edit history as I mentioned before.  (Read more here)              (End-to-end Migration of wiki page complete)      &lt;br /&gt;
* &#039;&#039;&#039;Step 7&#039;&#039;&#039; - Repeat Step 1 for next activity.&lt;br /&gt;
&lt;br /&gt;
== Project Deliverables ==&lt;br /&gt;
# 345 web pages stored in MediaWiki format atActivities#Sugar_Activities on Sugar Labs Wiki converted to Markdown format with assets (images and other files) intact and in-place with zero duplication.  &lt;br /&gt;
# Files in Markdown converted from the wiki content are tested and checked to ensure foolproof 100% migration without any redundancies or loss of information. Manually or through scripts.&lt;br /&gt;
# A detailed report with classified information about the Sugar_activities wiki that needs further improvements submitted to Sugar Labs (Refer week #8 in timeline #Wikiteam)&lt;br /&gt;
Files committed, pushed and PR’s made in each activity’s respective git repository in an information specific format for easy reference. &lt;br /&gt;
# Tested bug-free source code for everyone to use (and other open source projects) for their wikis facing the same issues. Complete documentation of the migration method submitted on time of evaluations with the review of the mentor incorporated.&lt;br /&gt;
# After the complete transfer of all the wiki content, discuss and implement the last actions on the wiki, to either delete the pages or link them back to their respective git repositories.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Thus, by the deliverables mentioned above, 3 well-defined goals that determine project status which will help in evaluation i.e&#039;&#039;&#039;&amp;lt;br /&amp;gt;1. Evaluation 1: Migration of 100 wiki-pages complete; &amp;lt;br /&amp;gt;2. Evaluation 2: Migration of 300 wiki-pages complete;&amp;lt;br /&amp;gt;3. Final: Migration of 345 wiki-pages;&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Other Deliverables (and Future Work) ==&lt;br /&gt;
# &#039;&#039;&#039;Contribute more&#039;&#039;&#039; - After and during the project, will help in solving bigger challenges and bugs faced as my experience lies in DevOps tasks and start reading code of Sugarizer.&lt;br /&gt;
# &#039;&#039;&#039;Add Features&#039;&#039;&#039; - Edit history of wikis that are being migrated by WikiPort can be exported as commits on GitHub (implementing this).  &lt;br /&gt;
# &#039;&#039;&#039;Create New Activities&#039;&#039;&#039; - Being well versed in Python (tried making a game with pygame) Would enjoy the new learning curve as I never really explored GTK. Have some new ideas that could be later transformed into fun, interactive learning activities.&lt;br /&gt;
# &#039;&#039;&#039;Complete Misc. Tasks&#039;&#039;&#039; - Wiki pages contain task waiting to be completed I would like to volunteer and finish them for the welfare of the community like this one here IRC#Wishlist.&lt;br /&gt;
# Remain as an &#039;&#039;&#039;active contributor for Sugar Labs&#039;&#039;&#039; and take part in discussions for the future projects. Maybe if the community agrees, also mentor someone &#039;&#039;&#039;myself&#039;&#039;&#039; in the foreseeable future.&lt;br /&gt;
# Use Automation to our favor so that many tasks are completed in WikiPort using bash or Ansible scripts like environment setups, installation and fine workings of the entire tool. (Aim - one command to work it all out with the least number of user interventions)&lt;br /&gt;
“WikiPort converts all MediaWiki documents to rich markdown format and commit them to GitHub or other hosting services without losing any of your data. A tool created by Sugar Labs with love.” &lt;br /&gt;
This seems to me like an excellent repository description of an awesome tool.&lt;br /&gt;
I always wanted to create an open-source tool, that people would use and benefit from and take the time to contribute back. &lt;br /&gt;
WikiPort feels likes that chance.  &lt;br /&gt;
 &lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
* In accordance with the official timeline by GSoC, my college exams end somewhere in the first week of May or so. My college reopens early in July. During this time, I will remain in contact with my mentor.&lt;br /&gt;
* This gives me ample time to code. I plan to begin coding before the official period coding period of GSoC starts from starting of May. Which gives me a head start to finish the majority (80%) of the project before the second evaluation. &lt;br /&gt;
 &#039;&#039;&#039;Providing a total of 10 weeks to write code for WikiPort (&amp;amp; other deliverables)&#039;&#039;&#039;&lt;br /&gt;
* I will also write a weekly or Bi-weekly blog post on my progress and updates on my project and post it diligently on the website to get the community involved.  The Weekly timeline is as follows. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Week Number [#]  !! Tasks&lt;br /&gt;
|-&lt;br /&gt;
| [#1] April 23 - April 30   || Community Bonding Period &lt;br /&gt;
Community Bonding, if possible keen on having a meeting with the Activity and wiki team. Discussion of ideas that I have. Research Part 1&lt;br /&gt;
MediaWiki [Syntax, documentation, API, functionalities]; GitHub API; Wikitext; Exploring the problem case defined earlier.&lt;br /&gt;
|-&lt;br /&gt;
| [#2] April 1 - May 7&lt;br /&gt;
 || Start documentation and blog post, about Sugar Labs on my blog.Setup: development environment. &lt;br /&gt;
Continue with Research &lt;br /&gt;
&lt;br /&gt;
Part 2 - Finding, testing, implementing solutions available for Migration Process step 0 through 6. Discuss results with the mentor, shortlist methods that have the highest success rate. &lt;br /&gt;
Pushing to Github; fixing organization problems&lt;br /&gt;
|-&lt;br /&gt;
| [#3] May 7 - May 14&lt;br /&gt;
 || Finalized migration process, start coding.&lt;br /&gt;
Spider ready to scrape activities for their GitHub repo.&lt;br /&gt;
Report on activities missing GitHub repo. links &lt;br /&gt;
Blog post on Community Bonding @ Sugar Labs&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#4] May 15 - May 22&lt;br /&gt;
 || Official Coding period starts &lt;br /&gt;
Start work on migration script. &lt;br /&gt;
Test migration script on 10 activities (aim - 60% migration of content from wiki to GitHub readme of the activity)&lt;br /&gt;
Gets reviewed by the mentor; implement suggestions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#5] May 23 - May 30&lt;br /&gt;
 || Work on script continues; Tweaking; suggestions implemented by the community&lt;br /&gt;
Testing extensively; and commenting &lt;br /&gt;
Documentation for script&lt;br /&gt;
40 pages completed (Aim - 70% migration of content through the script without manual edits;)&lt;br /&gt;
Write a quality checklist for pages converted to determine bugs, thorough checking of every page converted, every step of the way. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#6] June 1 - June 7&lt;br /&gt;
 || Work on Other Deliverables &lt;br /&gt;
Script improved; Commenting; Logging implemented;&lt;br /&gt;
Quality Checks implemented on sourced markdown files&lt;br /&gt;
Blog post on research and work did so far. &lt;br /&gt;
100 pages completed (minor improvements)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#7] June 8 - June 15&lt;br /&gt;
First Code Evaluations&lt;br /&gt;
 || Implement suggestions from evaluations.&lt;br /&gt;
Start work towards automation of scripts wherever possible (Aim - Least user input)&lt;br /&gt;
Start work on making WikiPort available to all as a simple tool.&lt;br /&gt;
150 pages completed. &lt;br /&gt;
Get a review of pages migrated, from the community.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#8] June 16 - June 23&lt;br /&gt;
 || Documentation alpha release; Repository made; &lt;br /&gt;
Start work: Report of Activities#Sugar_Activities&lt;br /&gt;
200 pages migrated.&lt;br /&gt;
Give a talk related to “Sugar and what it stands for” at one of our local meetups in Delhi. &lt;br /&gt;
Random quality checks; manual fixes wherever required. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#9] June 24 - July 1&lt;br /&gt;
 || 250 pages migrated, checked. &lt;br /&gt;
Get a review of the pages migrated from the community and mentor(s)&lt;br /&gt;
Implement and discuss changes.&lt;br /&gt;
Start with pet project of making my own activity.&lt;br /&gt;
Finish automation task. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#10] July 2 - July 10 &lt;br /&gt;
|| Second Code Evaluations&lt;br /&gt;
300 pages migrated. Completed end-to-end. &lt;br /&gt;
Blog post about GSoC: 10 weeks later.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#11] July 11 - July 18&lt;br /&gt;
Soft Deadline - All 345 web pages migrated completing the primary objective.&lt;br /&gt;
 || 345 pages migrated.  &lt;br /&gt;
Documentation completed.&lt;br /&gt;
Tool Ready with automated tasks and checks wherever they could be implemented hosted on GitHub for everyone to use under Sugar Labs&lt;br /&gt;
Start work on wiki report (Aim - To propose a better format for clear, uniform documentation) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#12] July 19 - July 26&lt;br /&gt;
Hard Deadline &lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
Submit Wiki Report; Get feedback from the community&lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#13] July 27 - August 05&lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
Implement further suggestion if possible. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#14] August 6 - August 13 &lt;br /&gt;
 || Final Code Evaluations&lt;br /&gt;
Various blog posts about the entire experience, GSoC 2018 and Sugar Community. &lt;br /&gt;
Finish making the activity (tentative) &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* I love writing and reading the code. I learned almost everything by reading the docs. I, later on, started writing documentation and code for others too. Helping me always know exactly where I can find the information I am looking for and how to improve on it, how necessary it is.  &lt;br /&gt;
* All my past projects, showcase a strong dedication to the deadline and the determination to get work done. WikiPort will be no different.  &lt;br /&gt;
* As for my skills, &lt;br /&gt;
- Articles written, published using Pelican, Wordpress (Markdown).&amp;lt;br /&amp;gt;&lt;br /&gt;
- I use git in all project that I start. Document and collaborate on GitHub. &amp;lt;br /&amp;gt;&lt;br /&gt;
- Comfortable with both Linux and Windows OS, (preferring Linux all the way) &amp;lt;br /&amp;gt;&lt;br /&gt;
- Since Python is used widely, my previous projects justify my skill and flexibility in the language. &amp;lt;br /&amp;gt;&lt;br /&gt;
- There is no better to prove that I can accomplish and execute my vision for WikiPort by actually showing that work has been done. (Refer Miscellaneous section) &amp;lt;br /&amp;gt;&lt;br /&gt;
- There are many points to keep in mind while migrating is taking place, hence for a &#039;&#039;&#039;more methodical&#039;&#039;&#039; approach a [https://etherpad.net/p/Sugar_Migration_Checklist checklist] has been implemented by me which has a summary of all the - steps. (Both manual/automated) &lt;br /&gt;
- Completed the &#039;&#039;&#039;one time task&#039;&#039;&#039; in my &#039;&#039;&#039;migration process&#039;&#039;&#039; beforehand and also solving a [https://github.com/sugarlabs/sugar-docs/issues/102 pending issue] related to it. Used &#039;&#039;&#039;GitHub API&#039;&#039;&#039; and &#039;&#039;&#039;PyGithub&#039;&#039;&#039; which seems much more effective then Scraping (using Scrapy) as mentioned before. Scripts are availabe [https://gist.github.com/vipulgupta2048/6eef7de43ac628e8e7ed11217fbb1803 here].&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== You and the community ==&lt;br /&gt;
&#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community?&#039;&#039;&#039;&lt;br /&gt;
*If WikiPort is completed and deployed as a tool for this project. It would help in making the work easier for developers to not just Sugar Labs but everybody and even experienced users. &lt;br /&gt;
*WikiPort will help users port their wikis to GitHub with minimum user inputs, which  would ultimately benefit everyone involved and for many generations of developers to come who will use that documentation.&lt;br /&gt;
*As previously stated, documentation is an important part of any development process. Bad documentation impacts the entire community as. But if the documentation is&lt;br /&gt;
1. &#039;&#039;&#039;Accessible&#039;&#039;&#039; - GitHub is one of the best places to host it. &amp;lt;br /&amp;gt;&lt;br /&gt;
2. &#039;&#039;&#039;Relevant and easily traversable&#039;&#039;&#039; - The documentation about every activity will be housed with its GitHub Repository. &amp;lt;br /&amp;gt; &lt;br /&gt;
Clearly written - Strict format to maintain overall uniformity. &amp;lt;br /&amp;gt;&lt;br /&gt;
3. &#039;&#039;&#039;Easily editable (+ VCS)&#039;&#039;&#039; - Wiki offers edit history of documents too, but the process to edit a document is cumbersome while GitHub makes it very easy for users to fix issues in it. &amp;lt;br /&amp;gt;&lt;br /&gt;
4. &#039;&#039;&#039;More views, more stars&#039;&#039;&#039; - GitHub also increases views and popularity of the activity ultimately helping Sugar Labs to get noticed more. &amp;lt;br /&amp;gt;&lt;br /&gt;
If our documentation has all these features, then everybody would be more inclined towards contributing to Sugar Labs and get to know more about it.  &lt;br /&gt;
People would contribute more to bug fixing, indirectly helping the Sugar Labs community to grow and expand more. Helping students, developers, activity maintainers, members of the community.&lt;br /&gt;
Produce a new tool by the community, for the community and with the community’s help for everyone to benefit from.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 2:&#039;&#039;&#039; Walter Bender - walter.bender@gmail.com &amp;lt;br /&amp;gt;&lt;br /&gt;
This project has solid potential to address several pressing issues for the community: &lt;br /&gt;
(1) bifurcation --  we are spread across too many platforms which is both a maintenance issue and also an issue for our users and potential developers, who struggle to find the documentation for the Sugar Activities; &lt;br /&gt;
(2) redundancy -- we are spread too thin to maintain multiple, redundant instances of documentation. Migrating everything to a uniform platform where is it directly tied to the source would impact both of these issues.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 3:&#039;&#039;&#039; James Cameron - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His assessment of project impact from both Github and Email )&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;quot;Migration is needed because Wiki is not being used now that GitHub is being used. Maintaining the Wiki in addition to GitHub is not sustainable. So we want documentation to move from Wiki to GitHub. So that when an activity is updated in GitHub, the documentation can be updated in the same place at the same time.&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
* “Originally documentation was separate because we had non-coding developers and tool chains that varied by type of developer.  Now we use GitHub the tool chains are combined. With the project as described, documentation will be concentrated in the source code repository for an activity, reducing ongoing maintenance.We have less active Wiki contributors than we ever did, and in the current threat environment a Wiki requires significant monitoring and administration; we recently lost some system administrators and gained new ones; using GitHub allows us to outsource system administration.”&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 4:&#039;&#039;&#039; Tony Anderson - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His comments clarifying the need of WikiPort and the problems it solves)&amp;lt;br /&amp;gt;&lt;br /&gt;
As always, the question is the impact on our users. The traditional source of information for users is [1] and [2] and, especially the wiki pages. So far the effect of gitHub has been to reduce the value of these two sources. In many cases the activities on ASLO have been superseded by ones on Github other git repository but are not available to our users. The documentation of activities on ASLO has never been adequate but now no effort will be made to improve it. This continues the trend toward Sugar being a playground for the technical elite. Complete conversation available here.&amp;lt;br /&amp;gt;&lt;br /&gt;
[1] http://www.sugarlabs.org 				[2] http://www.laptop.org&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What will you do if you get stuck on your project and your mentor isn&#039;t around?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
I strive to solve a problem using my own skill base by searching about the problem case and working it out into smaller bits.&lt;br /&gt;
#sugar and #sugar-devel channels on IRC, the mailing lists where other community members discuss issues. I am familiar with mailing list etiquettes for open source communities and learn fairly fast.&amp;lt;br /&amp;gt;&lt;br /&gt;
Google and StackOverflow about the issues, later refer to the documentation of the tool I am using for reference. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I would get regular, constructive feedback on the code I will write and the work I would do for the community by posting work samples from Github, on the mailing list and on IRC. [Check Timeline for the same]&amp;lt;br /&amp;gt;&lt;br /&gt;
Post constant updates on my blog and maintain an update tracker for each week on a public notepad (Etherpad, etc.)&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&#039;&#039;&#039;Send us a link to a pull request or merge request you have made a Sugar or Sugar activity bug.&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I needed to test my WikiPort beta script that I had created, hence made some extra efforts and migrated these four wiki pages listed below.   &lt;br /&gt;
[https://github.com/sugarlabs/lettermatch/pull/3 lettermatch/pull/3] &lt;br /&gt;
[https://github.com/sugarlabs/AEIOU/pull/9 sugarlabs/AEIOU/pull/9] &lt;br /&gt;
[https://github.com/sugarlabs/iknowmyabcs/pull/7 iknowmyabcs/pull/7] &lt;br /&gt;
[https://github.com/sugarlabs/i-can-read-activity/pull/6 /i-can-read-activity/pull/6] &lt;br /&gt;
&lt;br /&gt;
Another Issue that I am currently working  is [https://github.com/sugarlabs/sugar-live-build/issues/6 sugar-live-build/issues/] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe a great learning experience you had as a child.&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Here’s a short story titled “Let me Google that for you.” when I was 14. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From my childhood, web technologies have always piqued my interest for the longest time as I can remember. I been writing HTML since I was 1. But I never liked to read from the old, dusty books. When I code, I had to take help from seniors, teachers, the experience I gained and other sources. Almost everybody was irritated by the constant barrage of long and complex questions, that Vipul Gupta had.&lt;br /&gt;
So what happened one day, I walked to one of the seniors and asked him a question if I remember right about how he would determine which browser is better for a particular segment of code I wrote. He took me to the lab and told me to open a link similar like to this http://bfy.tw/HFBs This will have the solution surely to all my problems. &lt;br /&gt;
What happened next? I was embarrassed and couldn’t see straight but he was not judgemental and was very humble (A trait everyone of should have towards beginners, I feel like.) and from that day forward. The only place I actually learned something was the internet. &lt;br /&gt;
That day I actually learned how to Google by letting someone google that for me. Teaching by the application at its best. I look back to this incident and still smile. I share this experience of mine whenever I have a chance to interact with my juniors that serves as motivation boost and compels them to think that nothing is impossible, and everybody makes mistakes once in a while.  This lead to me creating hundreds of links more from this website. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* I think I am well satisfied with the proposal that I have made for WikiPort, the project for Sugar Labs. The template given by Sugar Labs really covers all the corners of my  project, and actually helped me think more constructively about the project and the fine aspects of it. &amp;lt;br /&amp;gt;&lt;br /&gt;
* I learned a lot through these few weeks, working on the proposal. MediaWIki API and new skills, contributing to an open-source organisation of this stature, how to interact with people. This has been a memorable experience. I am in awe, I really am.&amp;lt;br /&amp;gt;&lt;br /&gt;
* All open-source communities may not be same, but are run on the same principle that I also try to follow in life. Be humble, and helpful to everybody. The ‘ahaa-moment’ of a beginner is what I live for, when he truly get the point that I am trying to make.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Some Credits - Learned to not contest for issues, but focus on better PR’s, and many new things from James Cameron (@Quozl)’s blog. Jasikrat too for helping people on IRC emailsll mentors who review our proposal and go through all our mails. Thank you all for the opportunities and the help provided to me and my fellow contributors. I hope down the line, I could follow in your footsteps too.&amp;lt;br /&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
__INDEX__&lt;br /&gt;
[[Category:2018 GSoC applications]]&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101717</id>
		<title>WikiPort</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101717"/>
		<updated>2018-04-21T18:12:34Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Page Under Development GO SLOW! ==&lt;br /&gt;
This page is under heavy development, thus for the time being, please refer to the proposal in rich-formatting on  [https://docs.google.com/document/d/1mPd_SeUqeJF_yKWVEDFuzU7LWsnUFSbLdQQ44HvsYyA/edit?usp=sharing Google Docs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Logo wikiport.png|frameless|center|WikiPort]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update: One-time task completed and contributed to major issues.&#039;&#039;&#039;  &lt;br /&gt;
== About You ==&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039; - Vipul Gupta&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Email address&#039;&#039;&#039; - [http://mailto:vipulgupta2048@gmail.com vipulgupta2048@gmail.com] &amp;lt;br /&amp;gt;  &lt;br /&gt;
&#039;&#039;&#039;Blog Url&#039;&#039;&#039; -  [http://www.mixstersite.wordpress.com www.mixstersite.wordpress.com]  &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Sugar Labs wiki username&#039;&#039;&#039; - [https://wiki.sugarlabs.org/go/User:Vipulgupta2048 Vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IRC nickname&#039;&#039;&#039; - vipulgupta2048 &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Linkedin&#039;&#039;&#039; - [http://www.linkedin.com/in/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Github&#039;&#039;&#039; - [http://www.github.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Twitter&#039;&#039;&#039; - [http://www.twitter.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;First language - &#039;&#039;&#039;English (Fluent) &#039;&#039;&#039;&amp;lt;br /&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Located at, and what hours (UTC) do you tend to work&#039;&#039;&#039; - I am based out of New Delhi, India (+5.30 GMT). I am flexible with timings and can work for 3-5 hours everyday. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== My Contributions/Love for Open-Source ==&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects or some other demonstration of the work that you have done in open-source?&#039;&#039;&#039;&lt;br /&gt;
Yes, I have been participating and maintaining many open-source projects. Also been contributing to other communities and conference projects. Links and detailed description are as follows&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/asetalias/asetalias.github.io/pull/52 First pull request] on my college open-source community’s website, [http://www.github.com/asetalias ALiAS] - Maintainer since 2016.&lt;br /&gt;
* [https://github.com/vipulgupta2048/opengisproj_mirror vipulgupta2048/opengisproj_mirror]- Involved building a web app for real-time monitoring of pollution levels in rivers of India and to assess the impact on the health of people using the water from the river. The working repo is private, hence a public mirror for showcasing. &lt;br /&gt;
* [https://github.com/vipulgupta2048/scrape vipulgupta2048/scrape] Scraping major news websites/outlets in India using Scrapy [Python] Managing the data flow by employing PostgreSQL. Finding fake news using Machine Learning with help of libraries (Word2vec)&lt;br /&gt;
* Fixed bugs, wrote blogs, added new features using HTML, CSS, and JS for the official website of the premier conference on Python in India, PyCon India 2017 and now in 2018 workgroup  ([https://github.com/pythonindia/inpycon2017/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ Here] and [https://github.com/pythonindia/inpycon-blog/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ here]) &lt;br /&gt;
* [https://gitlab.com/asetalias/Community-Connect gitlab/asetalias/Community-Connect] [Ongoing]  &lt;br /&gt;
* Completed: Hacktoberfest Challenge;  [https://hacktoberfestchecker.herokuapp.com/?username=vipulgupta2048 Here].&lt;br /&gt;
* Building and mentoring website development for Pyladies Delhi Chapter [https://github.com/vipulgupta2048/Pyladies-delhi-website Pyladies-delhi-website]  &lt;br /&gt;
* Recent contribution: In Sugar Labs. Mentioned in the Miscellaneous section.        &lt;br /&gt;
&lt;br /&gt;
Along with this, [http://meetup.com/pydelhi Python Delhi User Group] (PyDelhi) is a volunteer-driven organization comprising of Pythonistas, enthusiasts, who have a primary focus in Python. I help by volunteering and organizing meetups for them. &amp;lt;br /&amp;gt;&lt;br /&gt;
I am a committee member of my college’s open source community. [http://www.asetalias.in ALiAS (Amity Linux Assistance Sapience)] We conduct hands-on workshops, seminars, talks and much more to try and help as many people as we can along the process and motivate them to make their first PR.&amp;lt;br /&amp;gt;&lt;br /&gt;
I genuinely love spreading knowledge among peers/juniors/underprivileged children anywhere I can through my voice ([https://github.com/asetalias/Logistics-and-Event-Contributions/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed Talks] and [https://github.com/ILUGD/talks/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed workshops]) and my words ([http://www.mixstersite.wordpress.com Tech-Blog])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039; &amp;lt;br /&amp;gt; &lt;br /&gt;
Wikiport &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using? &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Abstract Ideas:&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
	Documentation tools have become modern, lighter, easier to use with the use of Sphinx, Github pages/wiki, Mkdocs and many more similar frameworks and applications. It’s easily the first and the most important steps for any open-source projects implemented by almost everybody.&amp;lt;br /&amp;gt; &lt;br /&gt;
If people know more, they would want to get involved and contribute more. This would, in turn, help the entire community to grow and expand. If the information (Documentation) is accessible fast, easily comprehensible, simple enough to edit and manage for people then I think this project will help really help Sugar Labs achieve that.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;My understanding of the problem and why it needs to be solved?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Documentation, as mentioned before, is important to all open-source projects. Sugar Labs has all documentation for its learner applications called “Activities” at one place in the Activities#Sugar_Activities. Some problem (#risks) that I found with this sort of implementation is as follows:- &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Difficult to add, edit and manage&#039;&#039;&#039;  - In reference to the conversation [archive/sugar-devel] As a user, I need to create an account for editing privileges. Which is very tiresome to be very honest, hence discouraging contributions. &lt;br /&gt;
# &#039;&#039;&#039;Size issues&#039;&#039;&#039; - Wiki is being hosted on the a server. With the growing number of activities, the size occupied by them will increase leading to rise in maintenance cost. Not to mention buying more space. &lt;br /&gt;
# &#039;&#039;&#039;No clear format/classification&#039;&#039;&#039; - Some links are for one activity only while other activities have multiple links for them (example Turtle Art) Results in time being wasted of the user even if they are justified. &lt;br /&gt;
- Found 2 wiki pages of the same activity. (this page and this too)&lt;br /&gt;
I did extensive research on the same and found many such problems with the wiki. According to my experience in open-source, users just need information fast, easily accessible and neatly organized. &amp;lt;br /&amp;gt;&lt;br /&gt;
A new method to make that information organized should be brought in place for the betterment of the whole community. GitHub could be the solution to all our problems (Check here for reference) WikiPort is a tool that helps in migration process of wiki’s to Github hosted README.md. &lt;br /&gt;
 &lt;br /&gt;
== Objective == &amp;lt;br /&amp;gt;&lt;br /&gt;
To migrate documentation and information of each activity in Activities#Sugar_Activities of Sugar Labs in MediaWiki format to their respective git repositories hosted on GitHub in rich markdown format by a program/tool with special attention to the transfer of all information and media associated with the activity with least redundancies and zero duplication of content if not already present in GitHub@README.md or user documentation in help-activity.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Technologies and Skills Used&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This list is just a small glimpse of technologies that I am thinking to use for this project. I am proficient in each of them, through my past projects. (Refer)  &lt;br /&gt;
* &#039;&#039;&#039;Programming Language&#039;&#039;&#039;: Python 3.6 using libraries such as requests, LXML, Beautifulsoup etc. Python will be used widely in this project. &lt;br /&gt;
* &#039;&#039;&#039;Markup Languages&#039;&#039;&#039; - Markdown, MediaWiki, reStructuredText&lt;br /&gt;
* &#039;&#039;&#039;For Automation&#039;&#039;&#039; - Ansible or Bash (To automate each step of the migration process and installation of the tool.)&lt;br /&gt;
* &#039;&#039;&#039;Tools&#039;&#039;&#039; - git, shell, MediaWiki API - Pywikibot, GitHub API - PyGitHub  &lt;br /&gt;
* &#039;&#039;&#039;Others&#039;&#039;&#039; - Yaml (If Ansible is used) &lt;br /&gt;
&lt;br /&gt;
== An Overview of the Migration Process ==  &lt;br /&gt;
&lt;br /&gt;
[[File:S.U.G.A.R.png|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Detailed Description of the steps mentioned &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;One time task&#039;&#039;&#039; -  Used GitHub API and PyGithub to find all repository links that don&#039;t have a README.md and are a activity under SugarLabs organisation. [https://github.com/sugarlabs/sugar-docs/issues/102 Completed] and [https://gist.github.com/vipulgupta2048/6eef7de43ac628e8e7ed11217fbb1803 Scripts availabe here]  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Step 0&#039;&#039;&#039; - Extracting content; from these methods that offers the least redundancies. My research yielded these results.&lt;br /&gt;
:  1. Query MediaWiki API and acquire content in wikitext format&lt;br /&gt;
:  2. Export pages in XML using Python Wikipedia Robot Framework  &lt;br /&gt;
:  3.  GET page in simple HTML ( Activities/Sugar_Network&amp;amp;printable=yes) &lt;br /&gt;
*&#039;&#039;&#039;Step 1 -&#039;&#039;&#039; Convert the data sourced from step 0; using Pandoc to Markdown. Removing syntax, comments and Wikimedia code that might be left after conversion using regex wherever required.  &lt;br /&gt;
* &#039;&#039;&#039;Step 2&#039;&#039;&#039; - Fork and clone the respective GitHub repository from the links already scraped or found manually of the activity   &lt;br /&gt;
* Step 3 - Python script to find all image links and then fetches media (images) associated with the activity from web-page; renames them in correct format; adds them to repository folder cloned under “ images” Fix image links and testing.&lt;br /&gt;
* &#039;&#039;&#039;Step 4 -&#039;&#039;&#039; Ensuring content is not duplicated by being already present either in the README.md file or the user documentation in the help-activity. Make the necessary changes, fix broken links. Testing; Commit and push to fork.&lt;br /&gt;
* &#039;&#039;&#039;Step 5 -&#039;&#039;&#039; Pull request submitted with the detailed description of the changes in activity documentation in clear format containing all details. When PR merged, move to step 6.   &lt;br /&gt;
* &#039;&#039;&#039;Step 6 -&#039;&#039;&#039; Use Pywikibot (Check delete.py) to delete pages/media associated with wiki page using admin privileges and link back to their repositories. This can also be achieved using the mediawiki API which saves edit history as I mentioned before.  (Read more here)              (End-to-end Migration of wiki page complete)      &lt;br /&gt;
* &#039;&#039;&#039;Step 7&#039;&#039;&#039; - Repeat Step 1 for next activity.&lt;br /&gt;
&lt;br /&gt;
== Project Deliverables ==&lt;br /&gt;
# 345 web pages stored in MediaWiki format atActivities#Sugar_Activities on Sugar Labs Wiki converted to Markdown format with assets (images and other files) intact and in-place with zero duplication.  &lt;br /&gt;
# Files in Markdown converted from the wiki content are tested and checked to ensure foolproof 100% migration without any redundancies or loss of information. Manually or through scripts.&lt;br /&gt;
# A detailed report with classified information about the Sugar_activities wiki that needs further improvements submitted to Sugar Labs (Refer week #8 in timeline #Wikiteam)&lt;br /&gt;
Files committed, pushed and PR’s made in each activity’s respective git repository in an information specific format for easy reference. &lt;br /&gt;
# Tested bug-free source code for everyone to use (and other open source projects) for their wikis facing the same issues. Complete documentation of the migration method submitted on time of evaluations with the review of the mentor incorporated.&lt;br /&gt;
# After the complete transfer of all the wiki content, discuss and implement the last actions on the wiki, to either delete the pages or link them back to their respective git repositories.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Thus, by the deliverables mentioned above, 3 well-defined goals that determine project status which will help in evaluation i.e&#039;&#039;&#039;&amp;lt;br /&amp;gt;1. Evaluation 1: Migration of 100 wiki-pages complete; &amp;lt;br /&amp;gt;2. Evaluation 2: Migration of 300 wiki-pages complete;&amp;lt;br /&amp;gt;3. Final: Migration of 345 wiki-pages;&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Other Deliverables (and Future Work) ==&lt;br /&gt;
# &#039;&#039;&#039;Contribute more&#039;&#039;&#039; - After and during the project, will help in solving bigger challenges and bugs faced as my experience lies in DevOps tasks and start reading code of Sugarizer.&lt;br /&gt;
# &#039;&#039;&#039;Add Features&#039;&#039;&#039; - Edit history of wikis that are being migrated by WikiPort can be exported as commits on GitHub (implementing this).  &lt;br /&gt;
# &#039;&#039;&#039;Create New Activities&#039;&#039;&#039; - Being well versed in Python (tried making a game with pygame) Would enjoy the new learning curve as I never really explored GTK. Have some new ideas that could be later transformed into fun, interactive learning activities.&lt;br /&gt;
# &#039;&#039;&#039;Complete Misc. Tasks&#039;&#039;&#039; - Wiki pages contain task waiting to be completed I would like to volunteer and finish them for the welfare of the community like this one here IRC#Wishlist.&lt;br /&gt;
# Remain as an &#039;&#039;&#039;active contributor for Sugar Labs&#039;&#039;&#039; and take part in discussions for the future projects. Maybe if the community agrees, also mentor someone &#039;&#039;&#039;myself&#039;&#039;&#039; in the foreseeable future.&lt;br /&gt;
# Use Automation to our favor so that many tasks are completed in WikiPort using bash or Ansible scripts like environment setups, installation and fine workings of the entire tool. (Aim - one command to work it all out with the least number of user interventions)&lt;br /&gt;
“WikiPort converts all MediaWiki documents to rich markdown format and commit them to GitHub or other hosting services without losing any of your data. A tool created by Sugar Labs with love.” &lt;br /&gt;
This seems to me like an excellent repository description of an awesome tool.&lt;br /&gt;
I always wanted to create an open-source tool, that people would use and benefit from and take the time to contribute back. &lt;br /&gt;
WikiPort feels likes that chance.  &lt;br /&gt;
 &lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
* In accordance with the official timeline by GSoC, my college exams end somewhere in the first week of May or so. My college reopens early in July. During this time, I will remain in contact with my mentor.&lt;br /&gt;
* This gives me ample time to code. I plan to begin coding before the official period coding period of GSoC starts from starting of May. Which gives me a head start to finish the majority (80%) of the project before the second evaluation. &lt;br /&gt;
 &#039;&#039;&#039;Providing a total of 10 weeks to write code for WikiPort (&amp;amp; other deliverables)&#039;&#039;&#039;&lt;br /&gt;
* I will also write a weekly or Bi-weekly blog post on my progress and updates on my project and post it diligently on the website to get the community involved.  The Weekly timeline is as follows. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Week Number [#]  !! Tasks&lt;br /&gt;
|-&lt;br /&gt;
| [#1] April 23 - April 30   || Community Bonding Period &lt;br /&gt;
Community Bonding, if possible keen on having a meeting with the Activity and wiki team. Discussion of ideas that I have. Research Part 1&lt;br /&gt;
MediaWiki [Syntax, documentation, API, functionalities]; GitHub API; Wikitext; Exploring the problem case defined earlier.&lt;br /&gt;
|-&lt;br /&gt;
| [#2] April 1 - May 7&lt;br /&gt;
 || Start documentation and blog post, about Sugar Labs on my blog.Setup: development environment. &lt;br /&gt;
Continue with Research &lt;br /&gt;
&lt;br /&gt;
Part 2 - Finding, testing, implementing solutions available for Migration Process step 0 through 6. Discuss results with the mentor, shortlist methods that have the highest success rate. &lt;br /&gt;
Pushing to Github; fixing organization problems&lt;br /&gt;
|-&lt;br /&gt;
| [#3] May 7 - May 14&lt;br /&gt;
 || Finalized migration process, start coding.&lt;br /&gt;
Spider ready to scrape activities for their GitHub repo.&lt;br /&gt;
Report on activities missing GitHub repo. links &lt;br /&gt;
Blog post on Community Bonding @ Sugar Labs&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#4] May 15 - May 22&lt;br /&gt;
 || Official Coding period starts &lt;br /&gt;
Start work on migration script. &lt;br /&gt;
Test migration script on 10 activities (aim - 60% migration of content from wiki to GitHub readme of the activity)&lt;br /&gt;
Gets reviewed by the mentor; implement suggestions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#5] May 23 - May 30&lt;br /&gt;
 || Work on script continues; Tweaking; suggestions implemented by the community&lt;br /&gt;
Testing extensively; and commenting &lt;br /&gt;
Documentation for script&lt;br /&gt;
40 pages completed (Aim - 70% migration of content through the script without manual edits;)&lt;br /&gt;
Write a quality checklist for pages converted to determine bugs, thorough checking of every page converted, every step of the way. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#6] June 1 - June 7&lt;br /&gt;
 || Work on Other Deliverables &lt;br /&gt;
Script improved; Commenting; Logging implemented;&lt;br /&gt;
Quality Checks implemented on sourced markdown files&lt;br /&gt;
Blog post on research and work did so far. &lt;br /&gt;
100 pages completed (minor improvements)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#7] June 8 - June 15&lt;br /&gt;
First Code Evaluations&lt;br /&gt;
 || Implement suggestions from evaluations.&lt;br /&gt;
Start work towards automation of scripts wherever possible (Aim - Least user input)&lt;br /&gt;
Start work on making WikiPort available to all as a simple tool.&lt;br /&gt;
150 pages completed. &lt;br /&gt;
Get a review of pages migrated, from the community.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#8] June 16 - June 23&lt;br /&gt;
 || Documentation alpha release; Repository made; &lt;br /&gt;
Start work: Report of Activities#Sugar_Activities&lt;br /&gt;
200 pages migrated.&lt;br /&gt;
Give a talk related to “Sugar and what it stands for” at one of our local meetups in Delhi. &lt;br /&gt;
Random quality checks; manual fixes wherever required. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#9] June 24 - July 1&lt;br /&gt;
 || 250 pages migrated, checked. &lt;br /&gt;
Get a review of the pages migrated from the community and mentor(s)&lt;br /&gt;
Implement and discuss changes.&lt;br /&gt;
Start with pet project of making my own activity.&lt;br /&gt;
Finish automation task. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#10] July 2 - July 10 &lt;br /&gt;
|| Second Code Evaluations&lt;br /&gt;
300 pages migrated. Completed end-to-end. &lt;br /&gt;
Blog post about GSoC: 10 weeks later.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#11] July 11 - July 18&lt;br /&gt;
Soft Deadline - All 345 web pages migrated completing the primary objective.&lt;br /&gt;
 || 345 pages migrated.  &lt;br /&gt;
Documentation completed.&lt;br /&gt;
Tool Ready with automated tasks and checks wherever they could be implemented hosted on GitHub for everyone to use under Sugar Labs&lt;br /&gt;
Start work on wiki report (Aim - To propose a better format for clear, uniform documentation) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#12] July 19 - July 26&lt;br /&gt;
Hard Deadline &lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
Submit Wiki Report; Get feedback from the community&lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#13] July 27 - August 05&lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
Implement further suggestion if possible. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#14] August 6 - August 13 &lt;br /&gt;
 || Final Code Evaluations&lt;br /&gt;
Various blog posts about the entire experience, GSoC 2018 and Sugar Community. &lt;br /&gt;
Finish making the activity (tentative) &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* I love writing and reading the code. I learned almost everything by reading the docs. I, later on, started writing documentation and code for others too. Helping me always know exactly where I can find the information I am looking for and how to improve on it, how necessary it is.  &lt;br /&gt;
* All my past projects, showcase a strong dedication to the deadline and the determination to get work done. WikiPort will be no different.  &lt;br /&gt;
* As for my skills, &lt;br /&gt;
- Articles written, published using Pelican, Wordpress (Markdown).&amp;lt;br /&amp;gt;&lt;br /&gt;
- I use git in all project that I start. Document and collaborate on GitHub. &amp;lt;br /&amp;gt;&lt;br /&gt;
- Comfortable with both Linux and Windows OS, (preferring Linux all the way) &amp;lt;br /&amp;gt;&lt;br /&gt;
- Since Python is used widely, my previous projects justify my skill and flexibility in the language. &amp;lt;br /&amp;gt;&lt;br /&gt;
- There is no better to prove that I can accomplish and execute my vision for WikiPort by actually showing that work has been done. (Refer Miscellaneous section) &amp;lt;br /&amp;gt;&lt;br /&gt;
- There are many points to keep in mind while migrating is taking place, hence for a &#039;&#039;&#039;more methodical&#039;&#039;&#039; approach a [https://etherpad.net/p/Sugar_Migration_Checklist checklist] has been implemented by me which has a summary of all the - steps. (Both manual/automated) &lt;br /&gt;
- Completed the &#039;&#039;&#039;one time task&#039;&#039;&#039; in my &#039;&#039;&#039;migration process&#039;&#039;&#039; beforehand and also solving a [https://github.com/sugarlabs/sugar-docs/issues/102 pending issue] related to it. Used &#039;&#039;&#039;GitHub API&#039;&#039;&#039; and &#039;&#039;&#039;PyGithub&#039;&#039;&#039; which seems much more effective then Scraping (using Scrapy) as mentioned before. Scripts are availabe [https://gist.github.com/vipulgupta2048/6eef7de43ac628e8e7ed11217fbb1803 here].&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== You and the community ==&lt;br /&gt;
&#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community?&#039;&#039;&#039;&lt;br /&gt;
*If WikiPort is completed and deployed as a tool for this project. It would help in making the work easier for developers to not just Sugar Labs but everybody and even experienced users. &lt;br /&gt;
*WikiPort will help users port their wikis to GitHub with minimum user inputs, which  would ultimately benefit everyone involved and for many generations of developers to come who will use that documentation.&lt;br /&gt;
*As previously stated, documentation is an important part of any development process. Bad documentation impacts the entire community as. But if the documentation is&lt;br /&gt;
1. &#039;&#039;&#039;Accessible&#039;&#039;&#039; - GitHub is one of the best places to host it. &amp;lt;br /&amp;gt;&lt;br /&gt;
2. &#039;&#039;&#039;Relevant and easily traversable&#039;&#039;&#039; - The documentation about every activity will be housed with its GitHub Repository. &amp;lt;br /&amp;gt; &lt;br /&gt;
Clearly written - Strict format to maintain overall uniformity. &amp;lt;br /&amp;gt;&lt;br /&gt;
3. &#039;&#039;&#039;Easily editable (+ VCS)&#039;&#039;&#039; - Wiki offers edit history of documents too, but the process to edit a document is cumbersome while GitHub makes it very easy for users to fix issues in it. &amp;lt;br /&amp;gt;&lt;br /&gt;
4. &#039;&#039;&#039;More views, more stars&#039;&#039;&#039; - GitHub also increases views and popularity of the activity ultimately helping Sugar Labs to get noticed more. &amp;lt;br /&amp;gt;&lt;br /&gt;
If our documentation has all these features, then everybody would be more inclined towards contributing to Sugar Labs and get to know more about it.  &lt;br /&gt;
People would contribute more to bug fixing, indirectly helping the Sugar Labs community to grow and expand more. Helping students, developers, activity maintainers, members of the community.&lt;br /&gt;
Produce a new tool by the community, for the community and with the community’s help for everyone to benefit from.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 2:&#039;&#039;&#039; Walter Bender - walter.bender@gmail.com &amp;lt;br /&amp;gt;&lt;br /&gt;
This project has solid potential to address several pressing issues for the community: &lt;br /&gt;
(1) bifurcation --  we are spread across too many platforms which is both a maintenance issue and also an issue for our users and potential developers, who struggle to find the documentation for the Sugar Activities; &lt;br /&gt;
(2) redundancy -- we are spread too thin to maintain multiple, redundant instances of documentation. Migrating everything to a uniform platform where is it directly tied to the source would impact both of these issues.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 3:&#039;&#039;&#039; James Cameron - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His assessment of project impact from both Github and Email )&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;quot;Migration is needed because Wiki is not being used now that GitHub is being used. Maintaining the Wiki in addition to GitHub is not sustainable. So we want documentation to move from Wiki to GitHub. So that when an activity is updated in GitHub, the documentation can be updated in the same place at the same time.&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
* “Originally documentation was separate because we had non-coding developers and tool chains that varied by type of developer.  Now we use GitHub the tool chains are combined. With the project as described, documentation will be concentrated in the source code repository for an activity, reducing ongoing maintenance.We have less active Wiki contributors than we ever did, and in the current threat environment a Wiki requires significant monitoring and administration; we recently lost some system administrators and gained new ones; using GitHub allows us to outsource system administration.”&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 4:&#039;&#039;&#039; Tony Anderson - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His comments clarifying the need of WikiPort and the problems it solves)&amp;lt;br /&amp;gt;&lt;br /&gt;
As always, the question is the impact on our users. The traditional source of information for users is [1] and [2] and, especially the wiki pages. So far the effect of gitHub has been to reduce the value of these two sources. In many cases the activities on ASLO have been superseded by ones on Github other git repository but are not available to our users. The documentation of activities on ASLO has never been adequate but now no effort will be made to improve it. This continues the trend toward Sugar being a playground for the technical elite. Complete conversation available here.&amp;lt;br /&amp;gt;&lt;br /&gt;
[1] http://www.sugarlabs.org 				[2] http://www.laptop.org&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What will you do if you get stuck on your project and your mentor isn&#039;t around?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
I strive to solve a problem using my own skill base by searching about the problem case and working it out into smaller bits.&lt;br /&gt;
#sugar and #sugar-devel channels on IRC, the mailing lists where other community members discuss issues. I am familiar with mailing list etiquettes for open source communities and learn fairly fast.&amp;lt;br /&amp;gt;&lt;br /&gt;
Google and StackOverflow about the issues, later refer to the documentation of the tool I am using for reference. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I would get regular, constructive feedback on the code I will write and the work I would do for the community by posting work samples from Github, on the mailing list and on IRC. [Check Timeline for the same]&amp;lt;br /&amp;gt;&lt;br /&gt;
Post constant updates on my blog and maintain an update tracker for each week on a public notepad (Etherpad, etc.)&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&#039;&#039;&#039;Send us a link to a pull request or merge request you have made a Sugar or Sugar activity bug.&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I needed to test my WikiPort beta script that I had created, hence made some extra efforts and migrated these four wiki pages listed below.   &lt;br /&gt;
[https://github.com/sugarlabs/lettermatch/pull/3 lettermatch/pull/3] &lt;br /&gt;
[https://github.com/sugarlabs/AEIOU/pull/9 sugarlabs/AEIOU/pull/9] &lt;br /&gt;
[https://github.com/sugarlabs/iknowmyabcs/pull/7 iknowmyabcs/pull/7] &lt;br /&gt;
[https://github.com/sugarlabs/i-can-read-activity/pull/6 /i-can-read-activity/pull/6] &lt;br /&gt;
&lt;br /&gt;
Another Issue that I am currently working  is [https://github.com/sugarlabs/sugar-live-build/issues/6 sugar-live-build/issues/] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe a great learning experience you had as a child.&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Here’s a short story titled “Let me Google that for you.” when I was 14. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From my childhood, web technologies have always piqued my interest for the longest time as I can remember. I been writing HTML since I was 1. But I never liked to read from the old, dusty books. When I code, I had to take help from seniors, teachers, the experience I gained and other sources. Almost everybody was irritated by the constant barrage of long and complex questions, that Vipul Gupta had.&lt;br /&gt;
So what happened one day, I walked to one of the seniors and asked him a question if I remember right about how he would determine which browser is better for a particular segment of code I wrote. He took me to the lab and told me to open a link similar like to this http://bfy.tw/HFBs This will have the solution surely to all my problems. &lt;br /&gt;
What happened next? I was embarrassed and couldn’t see straight but he was not judgemental and was very humble (A trait everyone of should have towards beginners, I feel like.) and from that day forward. The only place I actually learned something was the internet. &lt;br /&gt;
That day I actually learned how to Google by letting someone google that for me. Teaching by the application at its best. I look back to this incident and still smile. I share this experience of mine whenever I have a chance to interact with my juniors that serves as motivation boost and compels them to think that nothing is impossible, and everybody makes mistakes once in a while.  This lead to me creating hundreds of links more from this website. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* I think I am well satisfied with the proposal that I have made for WikiPort, the project for Sugar Labs. The template given by Sugar Labs really covers all the corners of my  project, and actually helped me think more constructively about the project and the fine aspects of it. &amp;lt;br /&amp;gt;&lt;br /&gt;
* I learned a lot through these few weeks, working on the proposal. MediaWIki API and new skills, contributing to an open-source organisation of this stature, how to interact with people. This has been a memorable experience. I am in awe, I really am.&amp;lt;br /&amp;gt;&lt;br /&gt;
* All open-source communities may not be same, but are run on the same principle that I also try to follow in life. Be humble, and helpful to everybody. The ‘ahaa-moment’ of a beginner is what I live for, when he truly get the point that I am trying to make.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Some Credits - Learned to not contest for issues, but focus on better PR’s, and many new things from James Cameron (@Quozl)’s blog. Jasikrat too for helping people on IRC emailsll mentors who review our proposal and go through all our mails. Thank you all for the opportunities and the help provided to me and my fellow contributors. I hope down the line, I could follow in your footsteps too.&amp;lt;br /&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
__INDEX__&lt;br /&gt;
[[Category:2018 GSoC applications]]&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101651</id>
		<title>WikiPort</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101651"/>
		<updated>2018-03-30T13:25:48Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Page Under Development GO SLOW! ==&lt;br /&gt;
This page is under heavy development, thus for the time being, please refer to the proposal in rich-formatting on  [https://docs.google.com/document/d/1mPd_SeUqeJF_yKWVEDFuzU7LWsnUFSbLdQQ44HvsYyA/edit?usp=sharing Google Docs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Logo wikiport.png|frameless|center|WikiPort]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update: One-time task completed and contributed to major issues.&#039;&#039;&#039;  &lt;br /&gt;
== About You ==&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039; - Vipul Gupta&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Email address&#039;&#039;&#039; - [http://mailto:vipulgupta2048@gmail.com vipulgupta2048@gmail.com] &amp;lt;br /&amp;gt;  &lt;br /&gt;
&#039;&#039;&#039;Blog Url&#039;&#039;&#039; -  [http://www.mixstersite.wordpress.com www.mixstersite.wordpress.com]  &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Sugar Labs wiki username&#039;&#039;&#039; - [https://wiki.sugarlabs.org/go/User:Vipulgupta2048 Vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IRC nickname&#039;&#039;&#039; - vipulgupta2048 &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Linkedin&#039;&#039;&#039; - [http://www.linkedin.com/in/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Github&#039;&#039;&#039; - [http://www.github.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Twitter&#039;&#039;&#039; - [http://www.twitter.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;First language - &#039;&#039;&#039;English (Fluent) &#039;&#039;&#039;&amp;lt;br /&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Located at, and what hours (UTC) do you tend to work&#039;&#039;&#039; - I am based out of New Delhi, India (+5.30 GMT). I am flexible with timings and can work for 3-5 hours everyday. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== My Contributions/Love for Open-Source ==&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects or some other demonstration of the work that you have done in open-source?&#039;&#039;&#039;&lt;br /&gt;
Yes, I have participated and maintained many open-source projects. Also been contributing to other community and conference projects. Some of the links and description of those pages are as follows&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/asetalias/asetalias.github.io/pull/52 First pull request] on my college community’s website, [http://www.github.com/asetalias ALiAS] - Maintainer since 2016.&lt;br /&gt;
* [https://github.com/vipulgupta2048/opengisproj_mirror vipulgupta2048/opengisproj_mirror]- Involved building a web app for real-time monitoring of pollution levels in rivers of India and to assess the impact on the health of people using the water from the river. The working repo is private, hence a public mirror for showcasing. &lt;br /&gt;
* [https://github.com/vipulgupta2048/scrape vipulgupta2048/scrape] Scraping major news websites/outlets in India using Scrapy [Python] Managing the data flow by employing PostgreSQL. Finding fake news using Machine Learning with help of libraries (Word2vec)&lt;br /&gt;
* Fixed bugs, wrote blogs, added new features using HTML, CSS and JS for the official website of the premier conference on Python in India, PyCON India 2017 ([https://github.com/pythonindia/inpycon2017/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ Here] and [https://github.com/pythonindia/inpycon-blog/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ here]) &lt;br /&gt;
* [https://gitlab.com/asetalias/Community-Connect gitlab/asetalias/Community-Connect] [Ongoing]  &lt;br /&gt;
* Completed: Hacktoberfest Challenge;  [https://hacktoberfestchecker.herokuapp.com/?username=vipulgupta2048 Here].&lt;br /&gt;
* Building and mentoring website development for Pyladies Delhi Chapter [https://github.com/vipulgupta2048/Pyladies-delhi-website Pyladies-delhi-website]  &lt;br /&gt;
* Recent contribution: In Sugar Labs. Mentioned in the Miscellaneous section.        &lt;br /&gt;
&lt;br /&gt;
Along with this, [http://meetup.com/pydelhi Python Delhi User Group] (PyDelhi) is a volunteer-driven organization comprising of Pythonistas, enthusiasts, who have a primary focus in Python. I help by volunteering and organizing meetups for them. &amp;lt;br /&amp;gt;&lt;br /&gt;
I am a committee member of my college’s open source community. [http://www.asetalias.in ALiAS (Amity Linux Assistance Sapience)] We conduct hands-on workshops, seminars, talks and much more to try and help as many people as we can along the process and motivate them to make their first PR.&amp;lt;br /&amp;gt;&lt;br /&gt;
I genuinely love spreading knowledge among peers/juniors/underprivileged children wherever I can through my voice ([https://github.com/asetalias/Logistics-and-Event-Contributions/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed Talks] and [https://github.com/ILUGD/talks/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed workshops]) and my words ([http://www.mixstersite.wordpress.com Tech-Blog])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039; &amp;lt;br /&amp;gt; &lt;br /&gt;
Wikiport &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using? &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Abstract Ideas:&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
	Documentation tools have become modern, lighter, easier to use with the use of Sphinx, Github pages/wiki, Mkdocs and many more similar frameworks and applications. It’s easily the first and the most important steps for any open-source projects implemented by almost everybody.&amp;lt;br /&amp;gt; &lt;br /&gt;
If people know more, they would want to get involved and contribute more. This would, in turn, help the entire community to grow and expand. If the information (Documentation) is accessible fast, easily comprehensible, simple enough to edit and manage for people then I think this project will help really help Sugar Labs achieve that.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;My understanding of the problem and why it needs to be solved?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Documentation, as mentioned before, is important to all open-source projects. Sugar Labs has all documentation for its learner applications called “Activities” at one place in the Activities#Sugar_Activities. Some problem (#risks) that I found with this sort of implementation is as follows:- &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Difficult to add, edit and manage&#039;&#039;&#039;  - In reference to the conversation [archive/sugar-devel] As a user, I need to create an account for editing privileges. Which is very tiresome to be very honest, hence discouraging contributions. &lt;br /&gt;
# &#039;&#039;&#039;Size issues&#039;&#039;&#039; - Wiki is being hosted on the a server. With the growing number of activities, the size occupied by them will increase leading to rise in maintenance cost. Not to mention buying more space. &lt;br /&gt;
# &#039;&#039;&#039;No clear format/classification&#039;&#039;&#039; - Some links are for one activity only while other activities have multiple links for them (example Turtle Art) Results in time being wasted of the user even if they are justified. &lt;br /&gt;
- Found 2 wiki pages of the same activity. (this page and this too)&lt;br /&gt;
I did extensive research on the same and found many such problems with the wiki. According to my experience in open-source, users just need information fast, easily accessible and neatly organized. &amp;lt;br /&amp;gt;&lt;br /&gt;
A new method to make that information organized should be brought in place for the betterment of the whole community. GitHub could be the solution to all our problems (Check here for reference) WikiPort is a tool that helps in migration process of wiki’s to Github hosted README.md. &lt;br /&gt;
 &lt;br /&gt;
== Objective == &amp;lt;br /&amp;gt;&lt;br /&gt;
To migrate documentation and information of each activity in Activities#Sugar_Activities of Sugar Labs in MediaWiki format to their respective git repositories hosted on GitHub in rich markdown format by a program/tool with special attention to the transfer of all information and media associated with the activity with least redundancies and zero duplication of content if not already present in GitHub@README.md or user documentation in help-activity.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Technologies and Skills Used&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This list is just a small glimpse of technologies that I am thinking to use for this project. I am proficient in each of them, through my past projects. (Refer)  &lt;br /&gt;
* &#039;&#039;&#039;Programming Language&#039;&#039;&#039;: Python 3.6 using libraries such as requests, LXML, Beautifulsoup etc. Python will be used widely in this project. &lt;br /&gt;
* &#039;&#039;&#039;Markup Languages&#039;&#039;&#039; - Markdown, MediaWiki, reStructuredText&lt;br /&gt;
* &#039;&#039;&#039;For Automation&#039;&#039;&#039; - Ansible or Bash (To automate each step of the migration process and installation of the tool.)&lt;br /&gt;
* &#039;&#039;&#039;Tools&#039;&#039;&#039; - git, shell, MediaWiki API - Pywikibot, GitHub API - PyGitHub  &lt;br /&gt;
* &#039;&#039;&#039;Others&#039;&#039;&#039; - Yaml (If Ansible is used) &lt;br /&gt;
&lt;br /&gt;
== An Overview of the Migration Process ==  &lt;br /&gt;
&lt;br /&gt;
[[File:S.U.G.A.R.png|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Detailed Description of the steps mentioned &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;One time task&#039;&#039;&#039; -  Used GitHub API and PyGithub to find all repository links that don&#039;t have a README.md and are a activity under SugarLabs organisation. [https://github.com/sugarlabs/sugar-docs/issues/102 Completed] and [https://gist.github.com/vipulgupta2048/6eef7de43ac628e8e7ed11217fbb1803 Scripts availabe here]  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Step 0&#039;&#039;&#039; - Extracting content; from these methods that offers the least redundancies. My research yielded these results.&lt;br /&gt;
:  1. Query MediaWiki API and acquire content in wikitext format&lt;br /&gt;
:  2. Export pages in XML using Python Wikipedia Robot Framework  &lt;br /&gt;
:  3.  GET page in simple HTML ( Activities/Sugar_Network&amp;amp;printable=yes) &lt;br /&gt;
*&#039;&#039;&#039;Step 1 -&#039;&#039;&#039; Convert the data sourced from step 0; using Pandoc to Markdown. Removing syntax, comments and Wikimedia code that might be left after conversion using regex wherever required.  &lt;br /&gt;
* &#039;&#039;&#039;Step 2&#039;&#039;&#039; - Fork and clone the respective GitHub repository from the links already scraped or found manually of the activity   &lt;br /&gt;
* Step 3 - Python script to find all image links and then fetches media (images) associated with the activity from web-page; renames them in correct format; adds them to repository folder cloned under “ images” Fix image links and testing.&lt;br /&gt;
* &#039;&#039;&#039;Step 4 -&#039;&#039;&#039; Ensuring content is not duplicated by being already present either in the README.md file or the user documentation in the help-activity. Make the necessary changes, fix broken links. Testing; Commit and push to fork.&lt;br /&gt;
* &#039;&#039;&#039;Step 5 -&#039;&#039;&#039; Pull request submitted with the detailed description of the changes in activity documentation in clear format containing all details. When PR merged, move to step 6.   &lt;br /&gt;
* &#039;&#039;&#039;Step 6 -&#039;&#039;&#039; Use Pywikibot (Check delete.py) to delete pages/media associated with wiki page using admin privileges and link back to their repositories. This can also be achieved using the mediawiki API which saves edit history as I mentioned before.  (Read more here)              (End-to-end Migration of wiki page complete)      &lt;br /&gt;
* &#039;&#039;&#039;Step 7&#039;&#039;&#039; - Repeat Step 1 for next activity.&lt;br /&gt;
&lt;br /&gt;
== Project Deliverables ==&lt;br /&gt;
# 345 web pages stored in MediaWiki format atActivities#Sugar_Activities on Sugar Labs Wiki converted to Markdown format with assets (images and other files) intact and in-place with zero duplication.  &lt;br /&gt;
# Files in Markdown converted from the wiki content are tested and checked to ensure foolproof 100% migration without any redundancies or loss of information. Manually or through scripts.&lt;br /&gt;
# A detailed report with classified information about the Sugar_activities wiki that needs further improvements submitted to Sugar Labs (Refer week #8 in timeline #Wikiteam)&lt;br /&gt;
Files committed, pushed and PR’s made in each activity’s respective git repository in an information specific format for easy reference. &lt;br /&gt;
# Tested bug-free source code for everyone to use (and other open source projects) for their wikis facing the same issues. Complete documentation of the migration method submitted on time of evaluations with the review of the mentor incorporated.&lt;br /&gt;
# After the complete transfer of all the wiki content, discuss and implement the last actions on the wiki, to either delete the pages or link them back to their respective git repositories.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Thus, by the deliverables mentioned above, 3 well-defined goals that determine project status which will help in evaluation i.e&#039;&#039;&#039;&amp;lt;br /&amp;gt;1. Evaluation 1: Migration of 100 wiki-pages complete; &amp;lt;br /&amp;gt;2. Evaluation 2: Migration of 300 wiki-pages complete;&amp;lt;br /&amp;gt;3. Final: Migration of 345 wiki-pages;&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Other Deliverables (and Future Work) ==&lt;br /&gt;
# &#039;&#039;&#039;Contribute more&#039;&#039;&#039; - After and during the project, will help in solving bigger challenges and bugs faced as my experience lies in DevOps tasks and start reading code of Sugarizer.&lt;br /&gt;
# &#039;&#039;&#039;Add Features&#039;&#039;&#039; - Edit history of wikis that are being migrated by WikiPort can be exported as commits on GitHub (implementing this).  &lt;br /&gt;
# &#039;&#039;&#039;Create New Activities&#039;&#039;&#039; - Being well versed in Python (tried making a game with pygame) Would enjoy the new learning curve as I never really explored GTK. Have some new ideas that could be later transformed into fun, interactive learning activities.&lt;br /&gt;
# &#039;&#039;&#039;Complete Misc. Tasks&#039;&#039;&#039; - Wiki pages contain task waiting to be completed I would like to volunteer and finish them for the welfare of the community like this one here IRC#Wishlist.&lt;br /&gt;
# Remain as an &#039;&#039;&#039;active contributor for Sugar Labs&#039;&#039;&#039; and take part in discussions for the future projects. Maybe if the community agrees, also mentor someone &#039;&#039;&#039;myself&#039;&#039;&#039; in the foreseeable future.&lt;br /&gt;
# Use Automation to our favor so that many tasks are completed in WikiPort using bash or Ansible scripts like environment setups, installation and fine workings of the entire tool. (Aim - one command to work it all out with the least number of user interventions)&lt;br /&gt;
“WikiPort converts all MediaWiki documents to rich markdown format and commit them to GitHub or other hosting services without losing any of your data. A tool created by Sugar Labs with love.” &lt;br /&gt;
This seems to me like an excellent repository description of an awesome tool.&lt;br /&gt;
I always wanted to create an open-source tool, that people would use and benefit from and take the time to contribute back. &lt;br /&gt;
WikiPort feels likes that chance.  &lt;br /&gt;
 &lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
* In accordance with the official timeline by GSoC, my college exams end somewhere in the first week of May or so. My college reopens early in July. During this time, I will remain in contact with my mentor.&lt;br /&gt;
* This gives me ample time to code. I plan to begin coding before the official period coding period of GSoC starts from starting of May. Which gives me a head start to finish the majority (80%) of the project before the second evaluation. &lt;br /&gt;
 &#039;&#039;&#039;Providing a total of 10 weeks to write code for WikiPort (&amp;amp; other deliverables)&#039;&#039;&#039;&lt;br /&gt;
* I will also write a weekly or Bi-weekly blog post on my progress and updates on my project and post it diligently on the website to get the community involved.  The Weekly timeline is as follows. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Week Number [#]  !! Tasks&lt;br /&gt;
|-&lt;br /&gt;
| [#1] April 23 - April 30   || Community Bonding Period &lt;br /&gt;
Community Bonding, if possible keen on having a meeting with the Activity and wiki team. Discussion of ideas that I have. Research Part 1&lt;br /&gt;
MediaWiki [Syntax, documentation, API, functionalities]; GitHub API; Wikitext; Exploring the problem case defined earlier.&lt;br /&gt;
|-&lt;br /&gt;
| [#2] April 1 - May 7&lt;br /&gt;
 || Start documentation and blog post, about Sugar Labs on my blog.Setup: development environment. &lt;br /&gt;
Continue with Research &lt;br /&gt;
&lt;br /&gt;
Part 2 - Finding, testing, implementing solutions available for Migration Process step 0 through 6. Discuss results with the mentor, shortlist methods that have the highest success rate. &lt;br /&gt;
Pushing to Github; fixing organization problems&lt;br /&gt;
|-&lt;br /&gt;
| [#3] May 7 - May 14&lt;br /&gt;
 || Finalized migration process, start coding.&lt;br /&gt;
Spider ready to scrape activities for their GitHub repo.&lt;br /&gt;
Report on activities missing GitHub repo. links &lt;br /&gt;
Blog post on Community Bonding @ Sugar Labs&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#4] May 15 - May 22&lt;br /&gt;
 || Official Coding period starts &lt;br /&gt;
Start work on migration script. &lt;br /&gt;
Test migration script on 10 activities (aim - 60% migration of content from wiki to GitHub readme of the activity)&lt;br /&gt;
Gets reviewed by the mentor; implement suggestions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#5] May 23 - May 30&lt;br /&gt;
 || Work on script continues; Tweaking; suggestions implemented by the community&lt;br /&gt;
Testing extensively; and commenting &lt;br /&gt;
Documentation for script&lt;br /&gt;
40 pages completed (Aim - 70% migration of content through the script without manual edits;)&lt;br /&gt;
Write a quality checklist for pages converted to determine bugs, thorough checking of every page converted, every step of the way. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#6] June 1 - June 7&lt;br /&gt;
 || Work on Other Deliverables &lt;br /&gt;
Script improved; Commenting; Logging implemented;&lt;br /&gt;
Quality Checks implemented on sourced markdown files&lt;br /&gt;
Blog post on research and work did so far. &lt;br /&gt;
100 pages completed (minor improvements)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#7] June 8 - June 15&lt;br /&gt;
First Code Evaluations&lt;br /&gt;
 || Implement suggestions from evaluations.&lt;br /&gt;
Start work towards automation of scripts wherever possible (Aim - Least user input)&lt;br /&gt;
Start work on making WikiPort available to all as a simple tool.&lt;br /&gt;
150 pages completed. &lt;br /&gt;
Get a review of pages migrated, from the community.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#8] June 16 - June 23&lt;br /&gt;
 || Documentation alpha release; Repository made; &lt;br /&gt;
Start work: Report of Activities#Sugar_Activities&lt;br /&gt;
200 pages migrated.&lt;br /&gt;
Give a talk related to “Sugar and what it stands for” at one of our local meetups in Delhi. &lt;br /&gt;
Random quality checks; manual fixes wherever required. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#9] June 24 - July 1&lt;br /&gt;
 || 250 pages migrated, checked. &lt;br /&gt;
Get a review of the pages migrated from the community and mentor(s)&lt;br /&gt;
Implement and discuss changes.&lt;br /&gt;
Start with pet project of making my own activity.&lt;br /&gt;
Finish automation task. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#10] July 2 - July 10 &lt;br /&gt;
|| Second Code Evaluations&lt;br /&gt;
300 pages migrated. Completed end-to-end. &lt;br /&gt;
Blog post about GSoC: 10 weeks later.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#11] July 11 - July 18&lt;br /&gt;
Soft Deadline - All 345 web pages migrated completing the primary objective.&lt;br /&gt;
 || 345 pages migrated.  &lt;br /&gt;
Documentation completed.&lt;br /&gt;
Tool Ready with automated tasks and checks wherever they could be implemented hosted on GitHub for everyone to use under Sugar Labs&lt;br /&gt;
Start work on wiki report (Aim - To propose a better format for clear, uniform documentation) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#12] July 19 - July 26&lt;br /&gt;
Hard Deadline &lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
Submit Wiki Report; Get feedback from the community&lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#13] July 27 - August 05&lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
Implement further suggestion if possible. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#14] August 6 - August 13 &lt;br /&gt;
 || Final Code Evaluations&lt;br /&gt;
Various blog posts about the entire experience, GSoC 2018 and Sugar Community. &lt;br /&gt;
Finish making the activity (tentative) &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* I love writing and reading the code. I learned almost everything by reading the docs. I, later on, started writing documentation and code for others too. Helping me always know exactly where I can find the information I am looking for and how to improve on it, how necessary it is.  &lt;br /&gt;
* All my past projects, showcase a strong dedication to the deadline and the determination to get work done. WikiPort will be no different.  &lt;br /&gt;
* As for my skills, &lt;br /&gt;
- Articles written, published using Pelican, Wordpress (Markdown).&amp;lt;br /&amp;gt;&lt;br /&gt;
- I use git in all project that I start. Document and collaborate on GitHub. &amp;lt;br /&amp;gt;&lt;br /&gt;
- Comfortable with both Linux and Windows OS, (preferring Linux all the way) &amp;lt;br /&amp;gt;&lt;br /&gt;
- Since Python is used widely, my previous projects justify my skill and flexibility in the language. &amp;lt;br /&amp;gt;&lt;br /&gt;
- There is no better to prove that I can accomplish and execute my vision for WikiPort by actually showing that work has been done. (Refer Miscellaneous section) &amp;lt;br /&amp;gt;&lt;br /&gt;
- There are many points to keep in mind while migrating is taking place, hence for a &#039;&#039;&#039;more methodical&#039;&#039;&#039; approach a [https://etherpad.net/p/Sugar_Migration_Checklist checklist] has been implemented by me which has a summary of all the - steps. (Both manual/automated) &lt;br /&gt;
- Completed the &#039;&#039;&#039;one time task&#039;&#039;&#039; in my &#039;&#039;&#039;migration process&#039;&#039;&#039; beforehand and also solving a [https://github.com/sugarlabs/sugar-docs/issues/102 pending issue] related to it. Used &#039;&#039;&#039;GitHub API&#039;&#039;&#039; and &#039;&#039;&#039;PyGithub&#039;&#039;&#039; which seems much more effective then Scraping (using Scrapy) as mentioned before. Scripts are availabe [https://gist.github.com/vipulgupta2048/6eef7de43ac628e8e7ed11217fbb1803 here].&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== You and the community ==&lt;br /&gt;
&#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community?&#039;&#039;&#039;&lt;br /&gt;
*If WikiPort is completed and deployed as a tool for this project. It would help in making the work easier for developers to not just Sugar Labs but everybody and even experienced users. &lt;br /&gt;
*WikiPort will help users port their wikis to GitHub with minimum user inputs, which  would ultimately benefit everyone involved and for many generations of developers to come who will use that documentation.&lt;br /&gt;
*As previously stated, documentation is an important part of any development process. Bad documentation impacts the entire community as. But if the documentation is&lt;br /&gt;
1. &#039;&#039;&#039;Accessible&#039;&#039;&#039; - GitHub is one of the best places to host it. &amp;lt;br /&amp;gt;&lt;br /&gt;
2. &#039;&#039;&#039;Relevant and easily traversable&#039;&#039;&#039; - The documentation about every activity will be housed with its GitHub Repository. &amp;lt;br /&amp;gt; &lt;br /&gt;
Clearly written - Strict format to maintain overall uniformity. &amp;lt;br /&amp;gt;&lt;br /&gt;
3. &#039;&#039;&#039;Easily editable (+ VCS)&#039;&#039;&#039; - Wiki offers edit history of documents too, but the process to edit a document is cumbersome while GitHub makes it very easy for users to fix issues in it. &amp;lt;br /&amp;gt;&lt;br /&gt;
4. &#039;&#039;&#039;More views, more stars&#039;&#039;&#039; - GitHub also increases views and popularity of the activity ultimately helping Sugar Labs to get noticed more. &amp;lt;br /&amp;gt;&lt;br /&gt;
If our documentation has all these features, then everybody would be more inclined towards contributing to Sugar Labs and get to know more about it.  &lt;br /&gt;
People would contribute more to bug fixing, indirectly helping the Sugar Labs community to grow and expand more. Helping students, developers, activity maintainers, members of the community.&lt;br /&gt;
Produce a new tool by the community, for the community and with the community’s help for everyone to benefit from.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 2:&#039;&#039;&#039; Walter Bender - walter.bender@gmail.com &amp;lt;br /&amp;gt;&lt;br /&gt;
This project has solid potential to address several pressing issues for the community: &lt;br /&gt;
(1) bifurcation --  we are spread across too many platforms which is both a maintenance issue and also an issue for our users and potential developers, who struggle to find the documentation for the Sugar Activities; &lt;br /&gt;
(2) redundancy -- we are spread too thin to maintain multiple, redundant instances of documentation. Migrating everything to a uniform platform where is it directly tied to the source would impact both of these issues.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 3:&#039;&#039;&#039; James Cameron - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His assessment of project impact from both Github and Email )&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;quot;Migration is needed because Wiki is not being used now that GitHub is being used. Maintaining the Wiki in addition to GitHub is not sustainable. So we want documentation to move from Wiki to GitHub. So that when an activity is updated in GitHub, the documentation can be updated in the same place at the same time.&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
* “Originally documentation was separate because we had non-coding developers and tool chains that varied by type of developer.  Now we use GitHub the tool chains are combined. With the project as described, documentation will be concentrated in the source code repository for an activity, reducing ongoing maintenance.We have less active Wiki contributors than we ever did, and in the current threat environment a Wiki requires significant monitoring and administration; we recently lost some system administrators and gained new ones; using GitHub allows us to outsource system administration.”&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 4:&#039;&#039;&#039; Tony Anderson - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His comments clarifying the need of WikiPort and the problems it solves)&amp;lt;br /&amp;gt;&lt;br /&gt;
As always, the question is the impact on our users. The traditional source of information for users is [1] and [2] and, especially the wiki pages. So far the effect of gitHub has been to reduce the value of these two sources. In many cases the activities on ASLO have been superseded by ones on Github other git repository but are not available to our users. The documentation of activities on ASLO has never been adequate but now no effort will be made to improve it. This continues the trend toward Sugar being a playground for the technical elite. Complete conversation available here.&amp;lt;br /&amp;gt;&lt;br /&gt;
[1] http://www.sugarlabs.org 				[2] http://www.laptop.org&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What will you do if you get stuck on your project and your mentor isn&#039;t around?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
I strive to solve a problem using my own skill base by searching about the problem case and working it out into smaller bits.&lt;br /&gt;
#sugar and #sugar-devel channels on IRC, the mailing lists where other community members discuss issues. I am familiar with mailing list etiquettes for open source communities and learn fairly fast.&amp;lt;br /&amp;gt;&lt;br /&gt;
Google and StackOverflow about the issues, later refer to the documentation of the tool I am using for reference. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I would get regular, constructive feedback on the code I will write and the work I would do for the community by posting work samples from Github, on the mailing list and on IRC. [Check Timeline for the same]&amp;lt;br /&amp;gt;&lt;br /&gt;
Post constant updates on my blog and maintain an update tracker for each week on a public notepad (Etherpad, etc.)&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&#039;&#039;&#039;Send us a link to a pull request or merge request you have made a Sugar or Sugar activity bug.&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I needed to test my WikiPort beta script that I had created, hence made some extra efforts and migrated these four wiki pages listed below.   &lt;br /&gt;
[https://github.com/sugarlabs/lettermatch/pull/3 lettermatch/pull/3] &lt;br /&gt;
[https://github.com/sugarlabs/AEIOU/pull/9 sugarlabs/AEIOU/pull/9] &lt;br /&gt;
[https://github.com/sugarlabs/iknowmyabcs/pull/7 iknowmyabcs/pull/7] &lt;br /&gt;
[https://github.com/sugarlabs/i-can-read-activity/pull/6 /i-can-read-activity/pull/6] &lt;br /&gt;
&lt;br /&gt;
Another Issue that I am currently working  is [https://github.com/sugarlabs/sugar-live-build/issues/6 sugar-live-build/issues/] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe a great learning experience you had as a child.&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Here’s a short story titled “Let me Google that for you.” when I was 14. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From my childhood, web technologies have always piqued my interest for the longest time as I can remember. I been writing HTML since I was 1. But I never liked to read from the old, dusty books. When I code, I had to take help from seniors, teachers, the experience I gained and other sources. Almost everybody was irritated by the constant barrage of long and complex questions, that Vipul Gupta had.&lt;br /&gt;
So what happened one day, I walked to one of the seniors and asked him a question if I remember right about how he would determine which browser is better for a particular segment of code I wrote. He took me to the lab and told me to open a link similar like to this http://bfy.tw/HFBs This will have the solution surely to all my problems. &lt;br /&gt;
What happened next? I was embarrassed and couldn’t see straight but he was not judgemental and was very humble (A trait everyone of should have towards beginners, I feel like.) and from that day forward. The only place I actually learned something was the internet. &lt;br /&gt;
That day I actually learned how to Google by letting someone google that for me. Teaching by the application at its best. I look back to this incident and still smile. I share this experience of mine whenever I have a chance to interact with my juniors that serves as motivation boost and compels them to think that nothing is impossible, and everybody makes mistakes once in a while.  This lead to me creating hundreds of links more from this website. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* I think I am well satisfied with the proposal that I have made for WikiPort, the project for Sugar Labs. The template given by Sugar Labs really covers all the corners of my  project, and actually helped me think more constructively about the project and the fine aspects of it. &amp;lt;br /&amp;gt;&lt;br /&gt;
* I learned a lot through these few weeks, working on the proposal. MediaWIki API and new skills, contributing to an open-source organisation of this stature, how to interact with people. This has been a memorable experience. I am in awe, I really am.&amp;lt;br /&amp;gt;&lt;br /&gt;
* All open-source communities may not be same, but are run on the same principle that I also try to follow in life. Be humble, and helpful to everybody. The ‘ahaa-moment’ of a beginner is what I live for, when he truly get the point that I am trying to make.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Some Credits - Learned to not contest for issues, but focus on better PR’s, and many new things from James Cameron (@Quozl)’s blog. Jasikrat too for helping people on IRC emailsll mentors who review our proposal and go through all our mails. Thank you all for the opportunities and the help provided to me and my fellow contributors. I hope down the line, I could follow in your footsteps too.&amp;lt;br /&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
__INDEX__&lt;br /&gt;
[[Category:2018 GSoC applications]]&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101650</id>
		<title>WikiPort</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101650"/>
		<updated>2018-03-30T13:24:03Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Page Under Development GO SLOW! ==&lt;br /&gt;
This page is under heavy development, thus for the time being, please refer to the proposal in rich-formatting on  [https://docs.google.com/document/d/1mPd_SeUqeJF_yKWVEDFuzU7LWsnUFSbLdQQ44HvsYyA/edit?usp=sharing Google Docs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Logo wikiport.png|frameless|center|WikiPort]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update: One-time task completed and contributed to major issues.&#039;&#039;&#039;  &lt;br /&gt;
== About You ==&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039; - Vipul Gupta&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Email address&#039;&#039;&#039; - [http://mailto:vipulgupta2048@gmail.com vipulgupta2048@gmail.com] &amp;lt;br /&amp;gt;  &lt;br /&gt;
&#039;&#039;&#039;Blog Url&#039;&#039;&#039; -  [http://www.mixstersite.wordpress.com www.mixstersite.wordpress.com]  &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Sugar Labs wiki username&#039;&#039;&#039; - [https://wiki.sugarlabs.org/go/User:Vipulgupta2048 Vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IRC nickname&#039;&#039;&#039; - vipulgupta2048 &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Linkedin&#039;&#039;&#039; - [http://www.linkedin.com/in/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Github&#039;&#039;&#039; - [http://www.github.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Twitter&#039;&#039;&#039; - [http://www.twitter.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;First language - &#039;&#039;&#039;English (Fluent) &#039;&#039;&#039;&amp;lt;br /&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Located at, and what hours (UTC) do you tend to work&#039;&#039;&#039; - I am based out of New Delhi, India (+5.30 GMT). I am flexible with timings and can work for 3-5 hours everyday. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects or some other demonstration of the work that you have done in open-source?&#039;&#039;&#039;&lt;br /&gt;
Yes, I have participated and maintained many open-source projects. Also been contributing to other community and conference projects. Some of the links and description of those pages are as follows&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/asetalias/asetalias.github.io/pull/52 First pull request] on my college community’s website, [http://www.github.com/asetalias ALiAS] - Maintainer since 2016.&lt;br /&gt;
* [https://github.com/vipulgupta2048/opengisproj_mirror vipulgupta2048/opengisproj_mirror]- Involved building a web app for real-time monitoring of pollution levels in rivers of India and to assess the impact on the health of people using the water from the river. The working repo is private, hence a public mirror for showcasing. &lt;br /&gt;
* [https://github.com/vipulgupta2048/scrape vipulgupta2048/scrape] Scraping major news websites/outlets in India using Scrapy [Python] Managing the data flow by employing PostgreSQL. Finding fake news using Machine Learning with help of libraries (Word2vec)&lt;br /&gt;
* Fixed bugs, wrote blogs, added new features using HTML, CSS and JS for the official website of the premier conference on Python in India, PyCON India 2017 ([https://github.com/pythonindia/inpycon2017/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ Here] and [https://github.com/pythonindia/inpycon-blog/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ here]) &lt;br /&gt;
* [https://gitlab.com/asetalias/Community-Connect gitlab/asetalias/Community-Connect] [Ongoing]  &lt;br /&gt;
* Completed: Hacktoberfest Challenge;  [https://hacktoberfestchecker.herokuapp.com/?username=vipulgupta2048 Here].&lt;br /&gt;
* Building and mentoring website development for Pyladies Delhi Chapter [https://github.com/vipulgupta2048/Pyladies-delhi-website Pyladies-delhi-website]  &lt;br /&gt;
* Recent contribution: In Sugar Labs. Mentioned in the Miscellaneous section.        &lt;br /&gt;
&lt;br /&gt;
Along with this, [http://meetup.com/pydelhi Python Delhi User Group] (PyDelhi) is a volunteer-driven organization comprising of Pythonistas, enthusiasts, who have a primary focus in Python. I help by volunteering and organizing meetups for them. &amp;lt;br /&amp;gt;&lt;br /&gt;
I am a committee member of my college’s open source community. [http://www.asetalias.in ALiAS (Amity Linux Assistance Sapience)] We conduct hands-on workshops, seminars, talks and much more to try and help as many people as we can along the process and motivate them to make their first PR.&amp;lt;br /&amp;gt;&lt;br /&gt;
I genuinely love spreading knowledge among peers/juniors/underprivileged children wherever I can through my voice ([https://github.com/asetalias/Logistics-and-Event-Contributions/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed Talks] and [https://github.com/ILUGD/talks/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed workshops]) and my words ([http://www.mixstersite.wordpress.com Tech-Blog])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039; &amp;lt;br /&amp;gt; &lt;br /&gt;
Wikiport &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using? &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Abstract Ideas:&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
	Documentation tools have become modern, lighter, easier to use with the use of Sphinx, Github pages/wiki, Mkdocs and many more similar frameworks and applications. It’s easily the first and the most important steps for any open-source projects implemented by almost everybody.&amp;lt;br /&amp;gt; &lt;br /&gt;
If people know more, they would want to get involved and contribute more. This would, in turn, help the entire community to grow and expand. If the information (Documentation) is accessible fast, easily comprehensible, simple enough to edit and manage for people then I think this project will help really help Sugar Labs achieve that.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;My understanding of the problem and why it needs to be solved?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Documentation, as mentioned before, is important to all open-source projects. Sugar Labs has all documentation for its learner applications called “Activities” at one place in the Activities#Sugar_Activities. Some problem (#risks) that I found with this sort of implementation is as follows:- &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Difficult to add, edit and manage&#039;&#039;&#039;  - In reference to the conversation [archive/sugar-devel] As a user, I need to create an account for editing privileges. Which is very tiresome to be very honest, hence discouraging contributions. &lt;br /&gt;
# &#039;&#039;&#039;Size issues&#039;&#039;&#039; - Wiki is being hosted on the a server. With the growing number of activities, the size occupied by them will increase leading to rise in maintenance cost. Not to mention buying more space. &lt;br /&gt;
# &#039;&#039;&#039;No clear format/classification&#039;&#039;&#039; - Some links are for one activity only while other activities have multiple links for them (example Turtle Art) Results in time being wasted of the user even if they are justified. &lt;br /&gt;
- Found 2 wiki pages of the same activity. (this page and this too)&lt;br /&gt;
I did extensive research on the same and found many such problems with the wiki. According to my experience in open-source, users just need information fast, easily accessible and neatly organized. &amp;lt;br /&amp;gt;&lt;br /&gt;
A new method to make that information organized should be brought in place for the betterment of the whole community. GitHub could be the solution to all our problems (Check here for reference) WikiPort is a tool that helps in migration process of wiki’s to Github hosted README.md. &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Objective&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
To migrate documentation and information of each activity in Activities#Sugar_Activities of Sugar Labs in MediaWiki format to their respective git repositories hosted on GitHub in rich markdown format by a program/tool with special attention to the transfer of all information and media associated with the activity with least redundancies and zero duplication of content if not already present in GitHub@README.md or user documentation in help-activity.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Technologies and Skills Used&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This list is just a small glimpse of technologies that I am thinking to use for this project. I am proficient in each of them, through my past projects. (Refer)  &lt;br /&gt;
* &#039;&#039;&#039;Programming Language&#039;&#039;&#039;: Python 3.6 using libraries such as requests, LXML, Beautifulsoup etc. Python will be used widely in this project. &lt;br /&gt;
* &#039;&#039;&#039;Markup Languages&#039;&#039;&#039; - Markdown, MediaWiki, reStructuredText&lt;br /&gt;
* &#039;&#039;&#039;For Automation&#039;&#039;&#039; - Ansible or Bash (To automate each step of the migration process and installation of the tool.)&lt;br /&gt;
* &#039;&#039;&#039;Tools&#039;&#039;&#039; - git, shell, MediaWiki API - Pywikibot, GitHub API - PyGitHub  &lt;br /&gt;
* &#039;&#039;&#039;Others&#039;&#039;&#039; - Yaml (If Ansible is used) &lt;br /&gt;
&lt;br /&gt;
== An Overview of the Migration Process ==  &lt;br /&gt;
&lt;br /&gt;
[[File:S.U.G.A.R.png|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Detailed Description of the steps mentioned &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;One time task&#039;&#039;&#039; -  Used GitHub API and PyGithub to find all repository links that don&#039;t have a README.md and are a activity under SugarLabs organisation. [https://github.com/sugarlabs/sugar-docs/issues/102 Completed] and [https://gist.github.com/vipulgupta2048/6eef7de43ac628e8e7ed11217fbb1803 Scripts availabe here]  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Step 0&#039;&#039;&#039; - Extracting content; from these methods that offers the least redundancies. My research yielded these results.&lt;br /&gt;
:  1. Query MediaWiki API and acquire content in wikitext format&lt;br /&gt;
:  2. Export pages in XML using Python Wikipedia Robot Framework  &lt;br /&gt;
:  3.  GET page in simple HTML ( Activities/Sugar_Network&amp;amp;printable=yes) &lt;br /&gt;
*&#039;&#039;&#039;Step 1 -&#039;&#039;&#039; Convert the data sourced from step 0; using Pandoc to Markdown. Removing syntax, comments and Wikimedia code that might be left after conversion using regex wherever required.  &lt;br /&gt;
* &#039;&#039;&#039;Step 2&#039;&#039;&#039; - Fork and clone the respective GitHub repository from the links already scraped or found manually of the activity   &lt;br /&gt;
* Step 3 - Python script to find all image links and then fetches media (images) associated with the activity from web-page; renames them in correct format; adds them to repository folder cloned under “ images” Fix image links and testing.&lt;br /&gt;
* &#039;&#039;&#039;Step 4 -&#039;&#039;&#039; Ensuring content is not duplicated by being already present either in the README.md file or the user documentation in the help-activity. Make the necessary changes, fix broken links. Testing; Commit and push to fork.&lt;br /&gt;
* &#039;&#039;&#039;Step 5 -&#039;&#039;&#039; Pull request submitted with the detailed description of the changes in activity documentation in clear format containing all details. When PR merged, move to step 6.   &lt;br /&gt;
* &#039;&#039;&#039;Step 6 -&#039;&#039;&#039; Use Pywikibot (Check delete.py) to delete pages/media associated with wiki page using admin privileges and link back to their repositories. This can also be achieved using the mediawiki API which saves edit history as I mentioned before.  (Read more here)              (End-to-end Migration of wiki page complete)      &lt;br /&gt;
* &#039;&#039;&#039;Step 7&#039;&#039;&#039; - Repeat Step 1 for next activity.&lt;br /&gt;
&lt;br /&gt;
== Project Deliverables ==&lt;br /&gt;
# 345 web pages stored in MediaWiki format atActivities#Sugar_Activities on Sugar Labs Wiki converted to Markdown format with assets (images and other files) intact and in-place with zero duplication.  &lt;br /&gt;
# Files in Markdown converted from the wiki content are tested and checked to ensure foolproof 100% migration without any redundancies or loss of information. Manually or through scripts.&lt;br /&gt;
# A detailed report with classified information about the Sugar_activities wiki that needs further improvements submitted to Sugar Labs (Refer week #8 in timeline #Wikiteam)&lt;br /&gt;
Files committed, pushed and PR’s made in each activity’s respective git repository in an information specific format for easy reference. &lt;br /&gt;
# Tested bug-free source code for everyone to use (and other open source projects) for their wikis facing the same issues. Complete documentation of the migration method submitted on time of evaluations with the review of the mentor incorporated.&lt;br /&gt;
# After the complete transfer of all the wiki content, discuss and implement the last actions on the wiki, to either delete the pages or link them back to their respective git repositories.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Thus, by the deliverables mentioned above, 3 well-defined goals that determine project status which will help in evaluation i.e&#039;&#039;&#039;&amp;lt;br /&amp;gt;1. Evaluation 1: Migration of 100 wiki-pages complete; &amp;lt;br /&amp;gt;2. Evaluation 2: Migration of 300 wiki-pages complete;&amp;lt;br /&amp;gt;3. Final: Migration of 345 wiki-pages;&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Other Deliverables (and Future Work) ==&lt;br /&gt;
# &#039;&#039;&#039;Contribute more&#039;&#039;&#039; - After and during the project, will help in solving bigger challenges and bugs faced as my experience lies in DevOps tasks and start reading code of Sugarizer.&lt;br /&gt;
# &#039;&#039;&#039;Add Features&#039;&#039;&#039; - Edit history of wikis that are being migrated by WikiPort can be exported as commits on GitHub (implementing this).  &lt;br /&gt;
# &#039;&#039;&#039;Create New Activities&#039;&#039;&#039; - Being well versed in Python (tried making a game with pygame) Would enjoy the new learning curve as I never really explored GTK. Have some new ideas that could be later transformed into fun, interactive learning activities.&lt;br /&gt;
# &#039;&#039;&#039;Complete Misc. Tasks&#039;&#039;&#039; - Wiki pages contain task waiting to be completed I would like to volunteer and finish them for the welfare of the community like this one here IRC#Wishlist.&lt;br /&gt;
# Remain as an &#039;&#039;&#039;active contributor for Sugar Labs&#039;&#039;&#039; and take part in discussions for the future projects. Maybe if the community agrees, also mentor someone &#039;&#039;&#039;myself&#039;&#039;&#039; in the foreseeable future.&lt;br /&gt;
# Use Automation to our favor so that many tasks are completed in WikiPort using bash or Ansible scripts like environment setups, installation and fine workings of the entire tool. (Aim - one command to work it all out with the least number of user interventions)&lt;br /&gt;
“WikiPort converts all MediaWiki documents to rich markdown format and commit them to GitHub or other hosting services without losing any of your data. A tool created by Sugar Labs with love.” &lt;br /&gt;
This seems to me like an excellent repository description of an awesome tool.&lt;br /&gt;
I always wanted to create an open-source tool, that people would use and benefit from and take the time to contribute back. &lt;br /&gt;
WikiPort feels likes that chance.  &lt;br /&gt;
 &lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
* In accordance with the official timeline by GSoC, my college exams end somewhere in the first week of May or so. My college reopens early in July. During this time, I will remain in contact with my mentor.&lt;br /&gt;
* This gives me ample time to code. I plan to begin coding before the official period coding period of GSoC starts from starting of May. Which gives me a head start to finish the majority (80%) of the project before the second evaluation. &lt;br /&gt;
 &#039;&#039;&#039;Providing a total of 10 weeks to write code for WikiPort (&amp;amp; other deliverables)&#039;&#039;&#039;&lt;br /&gt;
* I will also write a weekly or Bi-weekly blog post on my progress and updates on my project and post it diligently on the website to get the community involved.  The Weekly timeline is as follows. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Week Number [#]  !! Tasks&lt;br /&gt;
|-&lt;br /&gt;
| [#1] April 23 - April 30   || Community Bonding Period &lt;br /&gt;
Community Bonding, if possible keen on having a meeting with the Activity and wiki team. Discussion of ideas that I have. Research Part 1&lt;br /&gt;
MediaWiki [Syntax, documentation, API, functionalities]; GitHub API; Wikitext; Exploring the problem case defined earlier.&lt;br /&gt;
|-&lt;br /&gt;
| [#2] April 1 - May 7&lt;br /&gt;
 || Start documentation and blog post, about Sugar Labs on my blog.Setup: development environment. &lt;br /&gt;
Continue with Research &lt;br /&gt;
&lt;br /&gt;
Part 2 - Finding, testing, implementing solutions available for Migration Process step 0 through 6. Discuss results with the mentor, shortlist methods that have the highest success rate. &lt;br /&gt;
Pushing to Github; fixing organization problems&lt;br /&gt;
|-&lt;br /&gt;
| [#3] May 7 - May 14&lt;br /&gt;
 || Finalized migration process, start coding.&lt;br /&gt;
Spider ready to scrape activities for their GitHub repo.&lt;br /&gt;
Report on activities missing GitHub repo. links &lt;br /&gt;
Blog post on Community Bonding @ Sugar Labs&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#4] May 15 - May 22&lt;br /&gt;
 || Official Coding period starts &lt;br /&gt;
Start work on migration script. &lt;br /&gt;
Test migration script on 10 activities (aim - 60% migration of content from wiki to GitHub readme of the activity)&lt;br /&gt;
Gets reviewed by the mentor; implement suggestions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#5] May 23 - May 30&lt;br /&gt;
 || Work on script continues; Tweaking; suggestions implemented by the community&lt;br /&gt;
Testing extensively; and commenting &lt;br /&gt;
Documentation for script&lt;br /&gt;
40 pages completed (Aim - 70% migration of content through the script without manual edits;)&lt;br /&gt;
Write a quality checklist for pages converted to determine bugs, thorough checking of every page converted, every step of the way. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#6] June 1 - June 7&lt;br /&gt;
 || Work on Other Deliverables &lt;br /&gt;
Script improved; Commenting; Logging implemented;&lt;br /&gt;
Quality Checks implemented on sourced markdown files&lt;br /&gt;
Blog post on research and work did so far. &lt;br /&gt;
100 pages completed (minor improvements)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#7] June 8 - June 15&lt;br /&gt;
First Code Evaluations&lt;br /&gt;
 || Implement suggestions from evaluations.&lt;br /&gt;
Start work towards automation of scripts wherever possible (Aim - Least user input)&lt;br /&gt;
Start work on making WikiPort available to all as a simple tool.&lt;br /&gt;
150 pages completed. &lt;br /&gt;
Get a review of pages migrated, from the community.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#8] June 16 - June 23&lt;br /&gt;
 || Documentation alpha release; Repository made; &lt;br /&gt;
Start work: Report of Activities#Sugar_Activities&lt;br /&gt;
200 pages migrated.&lt;br /&gt;
Give a talk related to “Sugar and what it stands for” at one of our local meetups in Delhi. &lt;br /&gt;
Random quality checks; manual fixes wherever required. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#9] June 24 - July 1&lt;br /&gt;
 || 250 pages migrated, checked. &lt;br /&gt;
Get a review of the pages migrated from the community and mentor(s)&lt;br /&gt;
Implement and discuss changes.&lt;br /&gt;
Start with pet project of making my own activity.&lt;br /&gt;
Finish automation task. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#10] July 2 - July 10 &lt;br /&gt;
|| Second Code Evaluations&lt;br /&gt;
300 pages migrated. Completed end-to-end. &lt;br /&gt;
Blog post about GSoC: 10 weeks later.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#11] July 11 - July 18&lt;br /&gt;
Soft Deadline - All 345 web pages migrated completing the primary objective.&lt;br /&gt;
 || 345 pages migrated.  &lt;br /&gt;
Documentation completed.&lt;br /&gt;
Tool Ready with automated tasks and checks wherever they could be implemented hosted on GitHub for everyone to use under Sugar Labs&lt;br /&gt;
Start work on wiki report (Aim - To propose a better format for clear, uniform documentation) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#12] July 19 - July 26&lt;br /&gt;
Hard Deadline &lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
Submit Wiki Report; Get feedback from the community&lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#13] July 27 - August 05&lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
Implement further suggestion if possible. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#14] August 6 - August 13 &lt;br /&gt;
 || Final Code Evaluations&lt;br /&gt;
Various blog posts about the entire experience, GSoC 2018 and Sugar Community. &lt;br /&gt;
Finish making the activity (tentative) &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* I love writing and reading the code. I learned almost everything by reading the docs. I, later on, started writing documentation and code for others too. Helping me always know exactly where I can find the information I am looking for and how to improve on it, how necessary it is.  &lt;br /&gt;
* All my past projects, showcase a strong dedication to the deadline and the determination to get work done. WikiPort will be no different.  &lt;br /&gt;
* As for my skills, &lt;br /&gt;
- Articles written, published using Pelican, Wordpress (Markdown).&amp;lt;br /&amp;gt;&lt;br /&gt;
- I use git in all project that I start. Document and collaborate on GitHub. &amp;lt;br /&amp;gt;&lt;br /&gt;
- Comfortable with both Linux and Windows OS, (preferring Linux all the way) &amp;lt;br /&amp;gt;&lt;br /&gt;
- Since Python is used widely, my previous projects justify my skill and flexibility in the language. &amp;lt;br /&amp;gt;&lt;br /&gt;
- There is no better to prove that I can accomplish and execute my vision for WikiPort by actually showing that work has been done. (Refer Miscellaneous section) &amp;lt;br /&amp;gt;&lt;br /&gt;
- There are many points to keep in mind while migrating is taking place, hence for a &#039;&#039;&#039;more methodical&#039;&#039;&#039; approach a [https://etherpad.net/p/Sugar_Migration_Checklist checklist] has been implemented by me which has a summary of all the - steps. (Both manual/automated) &lt;br /&gt;
- Completed the &#039;&#039;&#039;one time task&#039;&#039;&#039; in my &#039;&#039;&#039;migration process&#039;&#039;&#039; beforehand and also solving a [https://github.com/sugarlabs/sugar-docs/issues/102 pending issue] related to it. Used &#039;&#039;&#039;GitHub API&#039;&#039;&#039; and &#039;&#039;&#039;PyGithub&#039;&#039;&#039; which seems much more effective then Scraping (using Scrapy) as mentioned before. Scripts are availabe [https://gist.github.com/vipulgupta2048/6eef7de43ac628e8e7ed11217fbb1803 here].&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== You and the community ==&lt;br /&gt;
&#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community?&#039;&#039;&#039;&lt;br /&gt;
*If WikiPort is completed and deployed as a tool for this project. It would help in making the work easier for developers to not just Sugar Labs but everybody and even experienced users. &lt;br /&gt;
*WikiPort will help users port their wikis to GitHub with minimum user inputs, which  would ultimately benefit everyone involved and for many generations of developers to come who will use that documentation.&lt;br /&gt;
*As previously stated, documentation is an important part of any development process. Bad documentation impacts the entire community as. But if the documentation is&lt;br /&gt;
1. &#039;&#039;&#039;Accessible&#039;&#039;&#039; - GitHub is one of the best places to host it. &amp;lt;br /&amp;gt;&lt;br /&gt;
2. &#039;&#039;&#039;Relevant and easily traversable&#039;&#039;&#039; - The documentation about every activity will be housed with its GitHub Repository. &amp;lt;br /&amp;gt; &lt;br /&gt;
Clearly written - Strict format to maintain overall uniformity. &amp;lt;br /&amp;gt;&lt;br /&gt;
3. &#039;&#039;&#039;Easily editable (+ VCS)&#039;&#039;&#039; - Wiki offers edit history of documents too, but the process to edit a document is cumbersome while GitHub makes it very easy for users to fix issues in it. &amp;lt;br /&amp;gt;&lt;br /&gt;
4. &#039;&#039;&#039;More views, more stars&#039;&#039;&#039; - GitHub also increases views and popularity of the activity ultimately helping Sugar Labs to get noticed more. &amp;lt;br /&amp;gt;&lt;br /&gt;
If our documentation has all these features, then everybody would be more inclined towards contributing to Sugar Labs and get to know more about it.  &lt;br /&gt;
People would contribute more to bug fixing, indirectly helping the Sugar Labs community to grow and expand more. Helping students, developers, activity maintainers, members of the community.&lt;br /&gt;
Produce a new tool by the community, for the community and with the community’s help for everyone to benefit from.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 2:&#039;&#039;&#039; Walter Bender - walter.bender@gmail.com &amp;lt;br /&amp;gt;&lt;br /&gt;
This project has solid potential to address several pressing issues for the community: &lt;br /&gt;
(1) bifurcation --  we are spread across too many platforms which is both a maintenance issue and also an issue for our users and potential developers, who struggle to find the documentation for the Sugar Activities; &lt;br /&gt;
(2) redundancy -- we are spread too thin to maintain multiple, redundant instances of documentation. Migrating everything to a uniform platform where is it directly tied to the source would impact both of these issues.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 3:&#039;&#039;&#039; James Cameron - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His assessment of project impact from both Github and Email )&amp;lt;br /&amp;gt;&lt;br /&gt;
* &amp;quot;Migration is needed because Wiki is not being used now that GitHub is being used. Maintaining the Wiki in addition to GitHub is not sustainable. So we want documentation to move from Wiki to GitHub. So that when an activity is updated in GitHub, the documentation can be updated in the same place at the same time.&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
* “Originally documentation was separate because we had non-coding developers and tool chains that varied by type of developer.  Now we use GitHub the tool chains are combined. With the project as described, documentation will be concentrated in the source code repository for an activity, reducing ongoing maintenance.We have less active Wiki contributors than we ever did, and in the current threat environment a Wiki requires significant monitoring and administration; we recently lost some system administrators and gained new ones; using GitHub allows us to outsource system administration.”&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 4:&#039;&#039;&#039; Tony Anderson - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His comments clarifying the need of WikiPort and the problems it solves)&amp;lt;br /&amp;gt;&lt;br /&gt;
As always, the question is the impact on our users. The traditional source of information for users is [1] and [2] and, especially the wiki pages. So far the effect of gitHub has been to reduce the value of these two sources. In many cases the activities on ASLO have been superseded by ones on Github other git repository but are not available to our users. The documentation of activities on ASLO has never been adequate but now no effort will be made to improve it. This continues the trend toward Sugar being a playground for the technical elite. Complete conversation available here.&amp;lt;br /&amp;gt;&lt;br /&gt;
[1] http://www.sugarlabs.org 				[2] http://www.laptop.org&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What will you do if you get stuck on your project and your mentor isn&#039;t around?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
I strive to solve a problem using my own skill base by searching about the problem case and working it out into smaller bits.&lt;br /&gt;
#sugar and #sugar-devel channels on IRC, the mailing lists where other community members discuss issues. I am familiar with mailing list etiquettes for open source communities and learn fairly fast.&amp;lt;br /&amp;gt;&lt;br /&gt;
Google and StackOverflow about the issues, later refer to the documentation of the tool I am using for reference. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I would get regular, constructive feedback on the code I will write and the work I would do for the community by posting work samples from Github, on the mailing list and on IRC. [Check Timeline for the same]&amp;lt;br /&amp;gt;&lt;br /&gt;
Post constant updates on my blog and maintain an update tracker for each week on a public notepad (Etherpad, etc.)&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&#039;&#039;&#039;Send us a link to a pull request or merge request you have made a Sugar or Sugar activity bug.&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I needed to test my WikiPort beta script that I had created, hence made some extra efforts and migrated these four wiki pages listed below.   &lt;br /&gt;
[https://github.com/sugarlabs/lettermatch/pull/3 lettermatch/pull/3] &lt;br /&gt;
[https://github.com/sugarlabs/AEIOU/pull/9 sugarlabs/AEIOU/pull/9] &lt;br /&gt;
[https://github.com/sugarlabs/iknowmyabcs/pull/7 iknowmyabcs/pull/7] &lt;br /&gt;
[https://github.com/sugarlabs/i-can-read-activity/pull/6 /i-can-read-activity/pull/6] &lt;br /&gt;
&lt;br /&gt;
Another Issue that I am currently working  is [https://github.com/sugarlabs/sugar-live-build/issues/6 sugar-live-build/issues/] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe a great learning experience you had as a child.&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Here’s a short story titled “Let me Google that for you.” when I was 14. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From my childhood, web technologies have always piqued my interest for the longest time as I can remember. I been writing HTML since I was 1. But I never liked to read from the old, dusty books. When I code, I had to take help from seniors, teachers, the experience I gained and other sources. Almost everybody was irritated by the constant barrage of long and complex questions, that Vipul Gupta had.&lt;br /&gt;
So what happened one day, I walked to one of the seniors and asked him a question if I remember right about how he would determine which browser is better for a particular segment of code I wrote. He took me to the lab and told me to open a link similar like to this http://bfy.tw/HFBs This will have the solution surely to all my problems. &lt;br /&gt;
What happened next? I was embarrassed and couldn’t see straight but he was not judgemental and was very humble (A trait everyone of should have towards beginners, I feel like.) and from that day forward. The only place I actually learned something was the internet. &lt;br /&gt;
That day I actually learned how to Google by letting someone google that for me. Teaching by the application at its best. I look back to this incident and still smile. I share this experience of mine whenever I have a chance to interact with my juniors that serves as motivation boost and compels them to think that nothing is impossible, and everybody makes mistakes once in a while.  This lead to me creating hundreds of links more from this website. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* I think I am well satisfied with the proposal that I have made for WikiPort, the project for Sugar Labs. The template given by Sugar Labs really covers all the corners of my  project, and actually helped me think more constructively about the project and the fine aspects of it. &amp;lt;br /&amp;gt;&lt;br /&gt;
* I learned a lot through these few weeks, working on the proposal. MediaWIki API and new skills, contributing to an open-source organisation of this stature, how to interact with people. This has been a memorable experience. I am in awe, I really am.&amp;lt;br /&amp;gt;&lt;br /&gt;
* All open-source communities may not be same, but are run on the same principle that I also try to follow in life. Be humble, and helpful to everybody. The ‘ahaa-moment’ of a beginner is what I live for, when he truly get the point that I am trying to make.&amp;lt;br /&amp;gt;&lt;br /&gt;
* Some Credits - Learned to not contest for issues, but focus on better PR’s, and many new things from James Cameron (@Quozl)’s blog. Jasikrat too for helping people on IRC emailsll mentors who review our proposal and go through all our mails. Thank you all for the opportunities and the help provided to me and my fellow contributors. I hope down the line, I could follow in your footsteps too.&amp;lt;br /&amp;gt;&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
__INDEX__&lt;br /&gt;
[[Category:2018 GSoC applications]]&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101649</id>
		<title>WikiPort</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101649"/>
		<updated>2018-03-30T13:20:33Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: Made changes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Page Under Development GO SLOW! ==&lt;br /&gt;
This page is under heavy development, thus for the time being, please refer to the proposal in rich-formatting on  [https://docs.google.com/document/d/1mPd_SeUqeJF_yKWVEDFuzU7LWsnUFSbLdQQ44HvsYyA/edit?usp=sharing Google Docs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Logo wikiport.png|frameless|center|WikiPort]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update: One-time task completed and contributed to major issues.&#039;&#039;&#039;  &lt;br /&gt;
== About You ==&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039; - Vipul Gupta&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Email address&#039;&#039;&#039; - [http://mailto:vipulgupta2048@gmail.com vipulgupta2048@gmail.com] &amp;lt;br /&amp;gt;  &lt;br /&gt;
&#039;&#039;&#039;Blog Url&#039;&#039;&#039; -  [http://www.mixstersite.wordpress.com www.mixstersite.wordpress.com]  &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Sugar Labs wiki username&#039;&#039;&#039; - [https://wiki.sugarlabs.org/go/User:Vipulgupta2048 Vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IRC nickname&#039;&#039;&#039; - vipulgupta2048 &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Linkedin&#039;&#039;&#039; - [http://www.linkedin.com/in/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Github&#039;&#039;&#039; - [http://www.github.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Twitter&#039;&#039;&#039; - [http://www.twitter.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;First language - &#039;&#039;&#039;English (Fluent) &#039;&#039;&#039;&amp;lt;br /&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Located at, and what hours (UTC) do you tend to work&#039;&#039;&#039; - I am based out of New Delhi, India (+5.30 GMT). I am flexible with timings and can work for 3-5 hours everyday. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects or some other demonstration of the work that you have done in open-source?&#039;&#039;&#039;&lt;br /&gt;
Yes, I have participated and maintained many open-source projects. Also been contributing to other community and conference projects. Some of the links and description of those pages are as follows&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/asetalias/asetalias.github.io/pull/52 First pull request] on my college community’s website, [http://www.github.com/asetalias ALiAS] - Maintainer since 2016.&lt;br /&gt;
* [https://github.com/vipulgupta2048/opengisproj_mirror vipulgupta2048/opengisproj_mirror]- Involved building a web app for real-time monitoring of pollution levels in rivers of India and to assess the impact on the health of people using the water from the river. The working repo is private, hence a public mirror for showcasing. &lt;br /&gt;
* [https://github.com/vipulgupta2048/scrape vipulgupta2048/scrape] Scraping major news websites/outlets in India using Scrapy [Python] Managing the data flow by employing PostgreSQL. Finding fake news using Machine Learning with help of libraries (Word2vec)&lt;br /&gt;
* Fixed bugs, wrote blogs, added new features using HTML, CSS and JS for the official website of the premier conference on Python in India, PyCON India 2017 ([https://github.com/pythonindia/inpycon2017/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ Here] and [https://github.com/pythonindia/inpycon-blog/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ here]) &lt;br /&gt;
* [https://gitlab.com/asetalias/Community-Connect gitlab/asetalias/Community-Connect] [Ongoing]  &lt;br /&gt;
* Completed: Hacktoberfest Challenge;  [https://hacktoberfestchecker.herokuapp.com/?username=vipulgupta2048 Here].&lt;br /&gt;
* Building and mentoring website development for Pyladies Delhi Chapter [https://github.com/vipulgupta2048/Pyladies-delhi-website Pyladies-delhi-website]  &lt;br /&gt;
* Recent contribution: In Sugar Labs. Mentioned in the Miscellaneous section.        &lt;br /&gt;
&lt;br /&gt;
Along with this, [http://meetup.com/pydelhi Python Delhi User Group] (PyDelhi) is a volunteer-driven organization comprising of Pythonistas, enthusiasts, who have a primary focus in Python. I help by volunteering and organizing meetups for them. &amp;lt;br /&amp;gt;&lt;br /&gt;
I am a committee member of my college’s open source community. [http://www.asetalias.in ALiAS (Amity Linux Assistance Sapience)] We conduct hands-on workshops, seminars, talks and much more to try and help as many people as we can along the process and motivate them to make their first PR.&amp;lt;br /&amp;gt;&lt;br /&gt;
I genuinely love spreading knowledge among peers/juniors/underprivileged children wherever I can through my voice ([https://github.com/asetalias/Logistics-and-Event-Contributions/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed Talks] and [https://github.com/ILUGD/talks/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed workshops]) and my words ([http://www.mixstersite.wordpress.com Tech-Blog])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039; &amp;lt;br /&amp;gt; &lt;br /&gt;
Wikiport &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using? &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Abstract Ideas:&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
	Documentation tools have become modern, lighter, easier to use with the use of Sphinx, Github pages/wiki, Mkdocs and many more similar frameworks and applications. It’s easily the first and the most important steps for any open-source projects implemented by almost everybody.&amp;lt;br /&amp;gt; &lt;br /&gt;
If people know more, they would want to get involved and contribute more. This would, in turn, help the entire community to grow and expand. If the information (Documentation) is accessible fast, easily comprehensible, simple enough to edit and manage for people then I think this project will help really help Sugar Labs achieve that.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;My understanding of the problem and why it needs to be solved?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Documentation, as mentioned before, is important to all open-source projects. Sugar Labs has all documentation for its learner applications called “Activities” at one place in the Activities#Sugar_Activities. Some problem (#risks) that I found with this sort of implementation is as follows:- &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Difficult to add, edit and manage&#039;&#039;&#039;  - In reference to the conversation [archive/sugar-devel] As a user, I need to create an account for editing privileges. Which is very tiresome to be very honest, hence discouraging contributions. &lt;br /&gt;
# &#039;&#039;&#039;Size issues&#039;&#039;&#039; - Wiki is being hosted on the a server. With the growing number of activities, the size occupied by them will increase leading to rise in maintenance cost. Not to mention buying more space. &lt;br /&gt;
# &#039;&#039;&#039;No clear format/classification&#039;&#039;&#039; - Some links are for one activity only while other activities have multiple links for them (example Turtle Art) Results in time being wasted of the user even if they are justified. &lt;br /&gt;
- Found 2 wiki pages of the same activity. (this page and this too)&lt;br /&gt;
I did extensive research on the same and found many such problems with the wiki. According to my experience in open-source, users just need information fast, easily accessible and neatly organized. &amp;lt;br /&amp;gt;&lt;br /&gt;
A new method to make that information organized should be brought in place for the betterment of the whole community. GitHub could be the solution to all our problems (Check here for reference) WikiPort is a tool that helps in migration process of wiki’s to Github hosted README.md. &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Objective&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
To migrate documentation and information of each activity in Activities#Sugar_Activities of Sugar Labs in MediaWiki format to their respective git repositories hosted on GitHub in rich markdown format by a program/tool with special attention to the transfer of all information and media associated with the activity with least redundancies and zero duplication of content if not already present in GitHub@README.md or user documentation in help-activity.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Technologies and Skills Used&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This list is just a small glimpse of technologies that I am thinking to use for this project. I am proficient in each of them, through my past projects. (Refer)  &lt;br /&gt;
* &#039;&#039;&#039;Programming Language&#039;&#039;&#039;: Python 3.6 using libraries such as requests, LXML, Beautifulsoup etc. Python will be used widely in this project. &lt;br /&gt;
* &#039;&#039;&#039;Markup Languages&#039;&#039;&#039; - Markdown, MediaWiki, reStructuredText&lt;br /&gt;
* &#039;&#039;&#039;For Automation&#039;&#039;&#039; - Ansible or Bash (To automate each step of the migration process and installation of the tool.)&lt;br /&gt;
* &#039;&#039;&#039;Tools&#039;&#039;&#039; - git, shell, MediaWiki API - Pywikibot, GitHub API - PyGitHub  &lt;br /&gt;
* &#039;&#039;&#039;Others&#039;&#039;&#039; - Yaml (If Ansible is used) &lt;br /&gt;
&lt;br /&gt;
== An Overview of the Migration Process ==  &lt;br /&gt;
&lt;br /&gt;
[[File:S.U.G.A.R.png|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Detailed Description of the steps mentioned &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;One time task&#039;&#039;&#039; -  Used GitHub API and PyGithub to find all repository links that don&#039;t have a README.md and are a activity under SugarLabs organisation. [https://github.com/sugarlabs/sugar-docs/issues/102 Completed] and [https://gist.github.com/vipulgupta2048/6eef7de43ac628e8e7ed11217fbb1803 Scripts availabe here]  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Step 0&#039;&#039;&#039; - Extracting content; from these methods that offers the least redundancies. My research yielded these results.&lt;br /&gt;
:  1. Query MediaWiki API and acquire content in wikitext format&lt;br /&gt;
:  2. Export pages in XML using Python Wikipedia Robot Framework  &lt;br /&gt;
:  3.  GET page in simple HTML ( Activities/Sugar_Network&amp;amp;printable=yes) &lt;br /&gt;
*&#039;&#039;&#039;Step 1 -&#039;&#039;&#039; Convert the data sourced from step 0; using Pandoc to Markdown. Removing syntax, comments and Wikimedia code that might be left after conversion using regex wherever required.  &lt;br /&gt;
* &#039;&#039;&#039;Step 2&#039;&#039;&#039; - Fork and clone the respective GitHub repository from the links already scraped or found manually of the activity   &lt;br /&gt;
* Step 3 - Python script to find all image links and then fetches media (images) associated with the activity from web-page; renames them in correct format; adds them to repository folder cloned under “ images” Fix image links and testing.&lt;br /&gt;
* &#039;&#039;&#039;Step 4 -&#039;&#039;&#039; Ensuring content is not duplicated by being already present either in the README.md file or the user documentation in the help-activity. Make the necessary changes, fix broken links. Testing; Commit and push to fork.&lt;br /&gt;
* &#039;&#039;&#039;Step 5 -&#039;&#039;&#039; Pull request submitted with the detailed description of the changes in activity documentation in clear format containing all details. When PR merged, move to step 6.   &lt;br /&gt;
* &#039;&#039;&#039;Step 6 -&#039;&#039;&#039; Use Pywikibot (Check delete.py) to delete pages/media associated with wiki page using admin privileges and link back to their repositories. This can also be achieved using the mediawiki API which saves edit history as I mentioned before.  (Read more here)              (End-to-end Migration of wiki page complete)      &lt;br /&gt;
* &#039;&#039;&#039;Step 7&#039;&#039;&#039; - Repeat Step 1 for next activity.&lt;br /&gt;
&lt;br /&gt;
== Project Deliverables ==&lt;br /&gt;
# 345 web pages stored in MediaWiki format atActivities#Sugar_Activities on Sugar Labs Wiki converted to Markdown format with assets (images and other files) intact and in-place with zero duplication.  &lt;br /&gt;
# Files in Markdown converted from the wiki content are tested and checked to ensure foolproof 100% migration without any redundancies or loss of information. Manually or through scripts.&lt;br /&gt;
# A detailed report with classified information about the Sugar_activities wiki that needs further improvements submitted to Sugar Labs (Refer week #8 in timeline #Wikiteam)&lt;br /&gt;
Files committed, pushed and PR’s made in each activity’s respective git repository in an information specific format for easy reference. &lt;br /&gt;
# Tested bug-free source code for everyone to use (and other open source projects) for their wikis facing the same issues. Complete documentation of the migration method submitted on time of evaluations with the review of the mentor incorporated.&lt;br /&gt;
# After the complete transfer of all the wiki content, discuss and implement the last actions on the wiki, to either delete the pages or link them back to their respective git repositories.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Thus, by the deliverables mentioned above, 3 well-defined goals that determine project status which will help in evaluation i.e&#039;&#039;&#039;&amp;lt;br /&amp;gt;1. Evaluation 1: Migration of 100 wiki-pages complete; &amp;lt;br /&amp;gt;2. Evaluation 2: Migration of 300 wiki-pages complete;&amp;lt;br /&amp;gt;3. Final: Migration of 345 wiki-pages;&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Other Deliverables (and Future Work) ==&lt;br /&gt;
# &#039;&#039;&#039;Contribute more&#039;&#039;&#039; - After and during the project, will help in solving bigger challenges and bugs faced as my experience lies in DevOps tasks and start reading code of Sugarizer.&lt;br /&gt;
# &#039;&#039;&#039;Add Features&#039;&#039;&#039; - Edit history of wikis that are being migrated by WikiPort can be exported as commits on GitHub (implementing this).  &lt;br /&gt;
# &#039;&#039;&#039;Create New Activities&#039;&#039;&#039; - Being well versed in Python (tried making a game with pygame) Would enjoy the new learning curve as I never really explored GTK. Have some new ideas that could be later transformed into fun, interactive learning activities.&lt;br /&gt;
# &#039;&#039;&#039;Complete Misc. Tasks&#039;&#039;&#039; - Wiki pages contain task waiting to be completed I would like to volunteer and finish them for the welfare of the community like this one here IRC#Wishlist.&lt;br /&gt;
# Remain as an &#039;&#039;&#039;active contributor for Sugar Labs&#039;&#039;&#039; and take part in discussions for the future projects. Maybe if the community agrees, also mentor someone &#039;&#039;&#039;myself&#039;&#039;&#039; in the foreseeable future.&lt;br /&gt;
# Use Automation to our favor so that many tasks are completed in WikiPort using bash or Ansible scripts like environment setups, installation and fine workings of the entire tool. (Aim - one command to work it all out with the least number of user interventions)&lt;br /&gt;
“WikiPort converts all MediaWiki documents to rich markdown format and commit them to GitHub or other hosting services without losing any of your data. A tool created by Sugar Labs with love.” &lt;br /&gt;
This seems to me like an excellent repository description of an awesome tool.&lt;br /&gt;
I always wanted to create an open-source tool, that people would use and benefit from and take the time to contribute back. &lt;br /&gt;
WikiPort feels likes that chance.  &lt;br /&gt;
 &lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
* In accordance with the official timeline by GSoC, my college exams end somewhere in the first week of May or so. My college reopens early in July. During this time, I will remain in contact with my mentor.&lt;br /&gt;
* This gives me ample time to code. I plan to begin coding before the official period coding period of GSoC starts from starting of May. Which gives me a head start to finish the majority (80%) of the project before the second evaluation. &lt;br /&gt;
 &#039;&#039;&#039;Providing a total of 10 weeks to write code for WikiPort (&amp;amp; other deliverables)&#039;&#039;&#039;&lt;br /&gt;
* I will also write a weekly or Bi-weekly blog post on my progress and updates on my project and post it diligently on the website to get the community involved.  The Weekly timeline is as follows. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Week Number [#]  !! Tasks&lt;br /&gt;
|-&lt;br /&gt;
| [#1] April 23 - April 30   || Community Bonding Period &lt;br /&gt;
Community Bonding, if possible keen on having a meeting with the Activity and wiki team. Discussion of ideas that I have. Research Part 1&lt;br /&gt;
MediaWiki [Syntax, documentation, API, functionalities]; GitHub API; Wikitext; Exploring the problem case defined earlier.&lt;br /&gt;
|-&lt;br /&gt;
| [#2] April 1 - May 7&lt;br /&gt;
 || Start documentation and blog post, about Sugar Labs on my blog.Setup: development environment. &lt;br /&gt;
Continue with Research &lt;br /&gt;
&lt;br /&gt;
Part 2 - Finding, testing, implementing solutions available for Migration Process step 0 through 6. Discuss results with the mentor, shortlist methods that have the highest success rate. &lt;br /&gt;
Pushing to Github; fixing organization problems&lt;br /&gt;
|-&lt;br /&gt;
| [#3] May 7 - May 14&lt;br /&gt;
 || Finalized migration process, start coding.&lt;br /&gt;
Spider ready to scrape activities for their GitHub repo.&lt;br /&gt;
Report on activities missing GitHub repo. links &lt;br /&gt;
Blog post on Community Bonding @ Sugar Labs&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#4] May 15 - May 22&lt;br /&gt;
 || Official Coding period starts &lt;br /&gt;
Start work on migration script. &lt;br /&gt;
Test migration script on 10 activities (aim - 60% migration of content from wiki to GitHub readme of the activity)&lt;br /&gt;
Gets reviewed by the mentor; implement suggestions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#5] May 23 - May 30&lt;br /&gt;
 || Work on script continues; Tweaking; suggestions implemented by the community&lt;br /&gt;
Testing extensively; and commenting &lt;br /&gt;
Documentation for script&lt;br /&gt;
40 pages completed (Aim - 70% migration of content through the script without manual edits;)&lt;br /&gt;
Write a quality checklist for pages converted to determine bugs, thorough checking of every page converted, every step of the way. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#6] June 1 - June 7&lt;br /&gt;
 || Work on Other Deliverables &lt;br /&gt;
Script improved; Commenting; Logging implemented;&lt;br /&gt;
Quality Checks implemented on sourced markdown files&lt;br /&gt;
Blog post on research and work did so far. &lt;br /&gt;
100 pages completed (minor improvements)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#7] June 8 - June 15&lt;br /&gt;
First Code Evaluations&lt;br /&gt;
 || Implement suggestions from evaluations.&lt;br /&gt;
Start work towards automation of scripts wherever possible (Aim - Least user input)&lt;br /&gt;
Start work on making WikiPort available to all as a simple tool.&lt;br /&gt;
150 pages completed. &lt;br /&gt;
Get a review of pages migrated, from the community.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#8] June 16 - June 23&lt;br /&gt;
 || Documentation alpha release; Repository made; &lt;br /&gt;
Start work: Report of Activities#Sugar_Activities&lt;br /&gt;
200 pages migrated.&lt;br /&gt;
Give a talk related to “Sugar and what it stands for” at one of our local meetups in Delhi. &lt;br /&gt;
Random quality checks; manual fixes wherever required. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#9] June 24 - July 1&lt;br /&gt;
 || 250 pages migrated, checked. &lt;br /&gt;
Get a review of the pages migrated from the community and mentor(s)&lt;br /&gt;
Implement and discuss changes.&lt;br /&gt;
Start with pet project of making my own activity.&lt;br /&gt;
Finish automation task. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#10] July 2 - July 10 &lt;br /&gt;
|| Second Code Evaluations&lt;br /&gt;
300 pages migrated. Completed end-to-end. &lt;br /&gt;
Blog post about GSoC: 10 weeks later.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#11] July 11 - July 18&lt;br /&gt;
Soft Deadline - All 345 web pages migrated completing the primary objective.&lt;br /&gt;
 || 345 pages migrated.  &lt;br /&gt;
Documentation completed.&lt;br /&gt;
Tool Ready with automated tasks and checks wherever they could be implemented hosted on GitHub for everyone to use under Sugar Labs&lt;br /&gt;
Start work on wiki report (Aim - To propose a better format for clear, uniform documentation) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#12] July 19 - July 26&lt;br /&gt;
Hard Deadline &lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
Submit Wiki Report; Get feedback from the community&lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#13] July 27 - August 05&lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
Implement further suggestion if possible. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#14] August 6 - August 13 &lt;br /&gt;
 || Final Code Evaluations&lt;br /&gt;
Various blog posts about the entire experience, GSoC 2018 and Sugar Community. &lt;br /&gt;
Finish making the activity (tentative) &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* I love writing and reading the code. I learned almost everything by reading the docs. I, later on, started writing documentation and code for others too. Helping me always know exactly where I can find the information I am looking for and how to improve on it, how necessary it is.  &lt;br /&gt;
* All my past projects, showcase a strong dedication to the deadline and the determination to get work done. WikiPort will be no different.  &lt;br /&gt;
* As for my skills, &lt;br /&gt;
- Articles written, published using Pelican, Wordpress (Markdown).&amp;lt;br /&amp;gt;&lt;br /&gt;
- I use git in all project that I start. Document and collaborate on GitHub. &amp;lt;br /&amp;gt;&lt;br /&gt;
- Comfortable with both Linux and Windows OS, (preferring Linux all the way) &amp;lt;br /&amp;gt;&lt;br /&gt;
- Since Python is used widely, my previous projects justify my skill and flexibility in the language. &amp;lt;br /&amp;gt;&lt;br /&gt;
- There is no better to prove that I can accomplish and execute my vision for WikiPort by actually showing that work has been done. (Refer Miscellaneous section) &amp;lt;br /&amp;gt;&lt;br /&gt;
- There are many points to keep in mind while migrating is taking place, hence for a &#039;&#039;&#039;more methodical&#039;&#039;&#039; approach a [https://etherpad.net/p/Sugar_Migration_Checklist checklist] has been implemented by me which has a summary of all the - steps. (Both manual/automated) &lt;br /&gt;
- Completed the &#039;&#039;&#039;one time task&#039;&#039;&#039; in my &#039;&#039;&#039;migration process&#039;&#039;&#039; beforehand and also solving a [https://github.com/sugarlabs/sugar-docs/issues/102 pending issue] related to it. Used &#039;&#039;&#039;GitHub API&#039;&#039;&#039; and &#039;&#039;&#039;PyGithub&#039;&#039;&#039; which seems much more effective then Scraping (using Scrapy) as mentioned before. Scripts are availabe [https://gist.github.com/vipulgupta2048/6eef7de43ac628e8e7ed11217fbb1803 here].&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== You and the community ==&lt;br /&gt;
&#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community?&#039;&#039;&#039;&lt;br /&gt;
*If WikiPort is completed and deployed as a tool for this project. It would help in making the work easier for developers to not just Sugar Labs but everybody and even experienced users. &lt;br /&gt;
*WikiPort will help users port their wikis to GitHub with minimum user inputs, which  would ultimately benefit everyone involved and for many generations of developers to come who will use that documentation.&lt;br /&gt;
*As previously stated, documentation is an important part of any development process. Bad documentation impacts the entire community as. But if the documentation is&lt;br /&gt;
1. &#039;&#039;&#039;Accessible&#039;&#039;&#039; - GitHub is one of the best places to host it. &lt;br /&gt;
2. &#039;&#039;&#039;Relevant and easily traversable&#039;&#039;&#039; - The documentation about every activity will be housed with its GitHub Repository.  &lt;br /&gt;
Clearly written - Strict format to maintain overall uniformity. &lt;br /&gt;
3. &#039;&#039;&#039;Easily editable (+ VCS)&#039;&#039;&#039; - Wiki offers edit history of documents too, but the process to edit a document is cumbersome while GitHub makes it very easy for users to fix issues in it. &lt;br /&gt;
4. &#039;&#039;&#039;More views, more stars&#039;&#039;&#039; - GitHub also increases views and popularity of the activity ultimately helping Sugar Labs to get noticed more.&lt;br /&gt;
If our documentation has all these features, then everybody would be more inclined towards contributing to Sugar Labs and get to know more about it.  &lt;br /&gt;
People would contribute more to bug fixing, indirectly helping the Sugar Labs community to grow and expand more. Helping students, developers, activity maintainers, members of the community.&lt;br /&gt;
Produce a new tool by the community, for the community and with the community’s help for everyone to benefit from.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 2:&#039;&#039;&#039; Walter Bender - walter.bender@gmail.com &amp;lt;br /&amp;gt;&lt;br /&gt;
This project has solid potential to address several pressing issues for the community: &lt;br /&gt;
(1) bifurcation --  we are spread across too many platforms which is both a maintenance issue and also an issue for our users and potential developers, who struggle to find the documentation for the Sugar Activities; &lt;br /&gt;
(2) redundancy -- we are spread too thin to maintain multiple, redundant instances of documentation. Migrating everything to a uniform platform where is it directly tied to the source would impact both of these issues.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 3:&#039;&#039;&#039; James Cameron - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His assessment of project impact from both Github and Email )&lt;br /&gt;
* &amp;quot;Migration is needed because Wiki is not being used now that GitHub is being used. Maintaining the Wiki in addition to GitHub is not sustainable. So we want documentation to move from Wiki to GitHub. So that when an activity is updated in GitHub, the documentation can be updated in the same place at the same time.&amp;quot;&lt;br /&gt;
* “Originally documentation was separate because we had non-coding developers and tool chains that varied by type of developer.  Now we use GitHub the tool chains are combined. With the project as described, documentation will be concentrated in the source code repository for an activity, reducing ongoing maintenance.We have less active Wiki contributors than we ever did, and in the current threat environment a Wiki requires significant monitoring and administration; we recently lost some system administrators and gained new ones; using GitHub allows us to outsource system administration.”&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 4:&#039;&#039;&#039; Tony Anderson - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His comments clarifying the need of WikiPort and the problems it solves)&lt;br /&gt;
As always, the question is the impact on our users. The traditional source of information for users is [1] and [2] and, especially the wiki pages. So far the effect of gitHub has been to reduce the value of these two sources. In many cases the activities on ASLO have been superseded by ones on Github other git repository but are not available to our users. The documentation of activities on ASLO has never been adequate but now no effort will be made to improve it. This continues the trend toward Sugar being a playground for the technical elite. Complete conversation available here.&lt;br /&gt;
[1] http://www.sugarlabs.org 				[2] http://www.laptop.org&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What will you do if you get stuck on your project and your mentor isn&#039;t around?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
I strive to solve a problem using my own skill base by searching about the problem case and working it out into smaller bits.&lt;br /&gt;
#sugar and #sugar-devel channels on IRC, the mailing lists where other community members discuss issues. I am familiar with mailing list etiquettes for open source communities and learn fairly fast.&lt;br /&gt;
Google and StackOverflow about the issues, later refer to the documentation of the tool I am using for reference. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I would get regular, constructive feedback on the code I will write and the work I would do for the community by posting work samples from Github, on the mailing list and on IRC. [Check Timeline for the same]&lt;br /&gt;
Post constant updates on my blog and maintain an update tracker for each week on a public notepad (Etherpad, etc.)&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&#039;&#039;&#039;Send us a link to a pull request or merge request you have made a Sugar or Sugar activity bug.&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I needed to test my WikiPort beta script that I had created, hence made some extra efforts and migrated these four wiki pages listed below.   &lt;br /&gt;
[https://github.com/sugarlabs/lettermatch/pull/3 lettermatch/pull/3] &lt;br /&gt;
[https://github.com/sugarlabs/AEIOU/pull/9 sugarlabs/AEIOU/pull/9] &lt;br /&gt;
[https://github.com/sugarlabs/iknowmyabcs/pull/7 iknowmyabcs/pull/7] &lt;br /&gt;
[https://github.com/sugarlabs/i-can-read-activity/pull/6 /i-can-read-activity/pull/6] &lt;br /&gt;
&lt;br /&gt;
Another Issue that I am currently working  is [https://github.com/sugarlabs/sugar-live-build/issues/6 sugar-live-build/issues/] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe a great learning experience you had as a child.&#039;&#039;&#039;&lt;br /&gt;
Here’s a short story titled “Let me Google that for you.” when I was 14. &lt;br /&gt;
&lt;br /&gt;
From my childhood, web technologies have always piqued my interest for the longest time as I can remember. I been writing HTML since I was 1. But I never liked to read from the old, dusty books. When I code, I had to take help from seniors, teachers, the experience I gained and other sources. Almost everybody was irritated by the constant barrage of long and complex questions, that Vipul Gupta had.&lt;br /&gt;
So what happened one day, I walked to one of the seniors and asked him a question if I remember right about how he would determine which browser is better for a particular segment of code I wrote. He took me to the lab and told me to open a link similar like to this http://bfy.tw/HFBs This will have the solution surely to all my problems. &lt;br /&gt;
What happened next? I was embarrassed and couldn’t see straight but he was not judgemental and was very humble (A trait everyone of should have towards beginners, I feel like.) and from that day forward. The only place I actually learned something was the internet. &lt;br /&gt;
That day I actually learned how to Google by letting someone google that for me. Teaching by the application at its best. I look back to this incident and still smile. I share this experience of mine whenever I have a chance to interact with my juniors that serves as motivation boost and compels them to think that nothing is impossible, and everybody makes mistakes once in a while.  This lead to me creating hundreds of links more from this website. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* I think I am well satisfied with the proposal that I have made for WikiPort, the project for Sugar Labs. The template given by Sugar Labs really covers all the corners of my  project, and actually helped me think more constructively about the project and the fine aspects of it. &lt;br /&gt;
* I learned a lot through these few weeks, working on the proposal. MediaWIki API and new skills, contributing to an open-source organisation of this stature, how to interact with people. This has been a memorable experience. I am in awe, I really am.&lt;br /&gt;
* All open-source communities may not be same, but are run on the same principle that I also try to follow in life. Be humble, and helpful to everybody. The ‘ahaa-moment’ of a beginner is what I live for, when he truly get the point that I am trying to make.&lt;br /&gt;
* Some Credits - Learned to not contest for issues, but focus on better PR’s, and many new things from James Cameron (@Quozl)’s blog. Jasikrat too for helping people on IRC emailsll mentors who review our proposal and go through all our mails. Thank you all for the opportunities and the help provided to me and my fellow contributors. I hope down the line, I could follow in your footsteps too.&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
__INDEX__&lt;br /&gt;
[[Category:2018 GSoC applications]]&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101631</id>
		<title>WikiPort</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101631"/>
		<updated>2018-03-29T13:39:15Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Page Under Development GO SLOW! ==&lt;br /&gt;
This page is under heavy development, thus for the time being, please refer to the proposal in rich-formatting on  [https://docs.google.com/document/d/1mPd_SeUqeJF_yKWVEDFuzU7LWsnUFSbLdQQ44HvsYyA/edit?usp=sharing Google Docs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Logo wikiport.png|frameless|center|WikiPort]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About You ==&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039; - Vipul Gupta&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Email address&#039;&#039;&#039; - [http://mailto:vipulgupta2048@gmail.com vipulgupta2048@gmail.com] &amp;lt;br /&amp;gt;  &lt;br /&gt;
&#039;&#039;&#039;Blog Url&#039;&#039;&#039; -  [http://www.mixstersite.wordpress.com www.mixstersite.wordpress.com]  &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Sugar Labs wiki username&#039;&#039;&#039; - [https://wiki.sugarlabs.org/go/User:Vipulgupta2048 Vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IRC nickname&#039;&#039;&#039; - vipulgupta2048 &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Linkedin&#039;&#039;&#039; - [http://www.linkedin.com/in/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Github&#039;&#039;&#039; - [http://www.github.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Twitter&#039;&#039;&#039; - [http://www.twitter.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;First language - &#039;&#039;&#039;English (Fluent) &#039;&#039;&#039;&amp;lt;br /&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Located at, and what hours (UTC) do you tend to work&#039;&#039;&#039; - I am based out of New Delhi, India (+5.30 GMT). I am flexible with timings and can work for 3-5 hours everyday. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects or some other demonstration of the work that you have done in open-source?&#039;&#039;&#039;&lt;br /&gt;
Yes, I have participated and maintained many open-source projects. Also been contributing to other community and conference projects. Some of the links and description of those pages are as follows&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/asetalias/asetalias.github.io/pull/52 First pull request] on my college community’s website, [http://www.github.com/asetalias ALiAS] - Maintainer since 2016.&lt;br /&gt;
* [https://github.com/vipulgupta2048/opengisproj_mirror vipulgupta2048/opengisproj_mirror]- Involved building a web app for real-time monitoring of pollution levels in rivers of India and to assess the impact on the health of people using the water from the river. The working repo is private, hence a public mirror for showcasing. &lt;br /&gt;
* [https://github.com/vipulgupta2048/scrape vipulgupta2048/scrape] Scraping major news websites/outlets in India using Scrapy [Python] Managing the data flow by employing PostgreSQL. Finding fake news using Machine Learning with help of libraries (Word2vec)&lt;br /&gt;
* Fixed bugs, wrote blogs, added new features using HTML, CSS and JS for the official website of the premier conference on Python in India, PyCON India 2017 ([https://github.com/pythonindia/inpycon2017/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ Here] and [https://github.com/pythonindia/inpycon-blog/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ here]) &lt;br /&gt;
* [https://gitlab.com/asetalias/Community-Connect gitlab/asetalias/Community-Connect] [Ongoing]  &lt;br /&gt;
* Completed: Hacktoberfest Challenge;  [https://hacktoberfestchecker.herokuapp.com/?username=vipulgupta2048 Here].&lt;br /&gt;
* Building and mentoring website development for Pyladies Delhi Chapter [https://github.com/vipulgupta2048/Pyladies-delhi-website Pyladies-delhi-website]  &lt;br /&gt;
* Recent contribution: In Sugar Labs. Mentioned in the Miscellaneous section.        &lt;br /&gt;
&lt;br /&gt;
Along with this, [http://meetup.com/pydelhi Python Delhi User Group] (PyDelhi) is a volunteer-driven organization comprising of Pythonistas, enthusiasts, who have a primary focus in Python. I help by volunteering and organizing meetups for them. &amp;lt;br /&amp;gt;&lt;br /&gt;
I am a committee member of my college’s open source community. [http://www.asetalias.in ALiAS (Amity Linux Assistance Sapience)] We conduct hands-on workshops, seminars, talks and much more to try and help as many people as we can along the process and motivate them to make their first PR.&amp;lt;br /&amp;gt;&lt;br /&gt;
I genuinely love spreading knowledge among peers/juniors/underprivileged children wherever I can through my voice ([https://github.com/asetalias/Logistics-and-Event-Contributions/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed Talks] and [https://github.com/ILUGD/talks/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed workshops]) and my words ([http://www.mixstersite.wordpress.com Tech-Blog])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039; &amp;lt;br /&amp;gt; &lt;br /&gt;
Wikiport &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using? &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Abstract Ideas:&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
	Documentation tools have become modern, lighter, easier to use with the use of Sphinx, Github pages/wiki, Mkdocs and many more similar frameworks and applications. It’s easily the first and the most important steps for any open-source projects implemented by almost everybody.&amp;lt;br /&amp;gt; &lt;br /&gt;
If people know more, they would want to get involved and contribute more. This would, in turn, help the entire community to grow and expand. If the information (Documentation) is accessible fast, easily comprehensible, simple enough to edit and manage for people then I think this project will help really help Sugar Labs achieve that.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;My understanding of the problem and why it needs to be solved?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Documentation, as mentioned before, is important to all open-source projects. Sugar Labs has all documentation for its learner applications called “Activities” at one place in the Activities#Sugar_Activities. Some problem (#risks) that I found with this sort of implementation is as follows:- &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Difficult to add, edit and manage&#039;&#039;&#039;  - In reference to the conversation [archive/sugar-devel] As a user, I need to create an account for editing privileges. Which is very tiresome to be very honest, hence discouraging contributions. &lt;br /&gt;
# &#039;&#039;&#039;Size issues&#039;&#039;&#039; - Wiki is being hosted on the a server. With the growing number of activities, the size occupied by them will increase leading to rise in maintenance cost. Not to mention buying more space. &lt;br /&gt;
# &#039;&#039;&#039;No clear format/classification&#039;&#039;&#039; - Some links are for one activity only while other activities have multiple links for them (example Turtle Art) Results in time being wasted of the user even if they are justified. &lt;br /&gt;
- Found 2 wiki pages of the same activity. (this page and this too)&lt;br /&gt;
I did extensive research on the same and found many such problems with the wiki. According to my experience in open-source, users just need information fast, easily accessible and neatly organized. &amp;lt;br /&amp;gt;&lt;br /&gt;
A new method to make that information organized should be brought in place for the betterment of the whole community. GitHub could be the solution to all our problems (Check here for reference) WikiPort is a tool that helps in migration process of wiki’s to Github hosted README.md. &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Objective&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
To migrate documentation and information of each activity in Activities#Sugar_Activities of Sugar Labs in MediaWiki format to their respective git repositories hosted on GitHub in rich markdown format by a program/tool with special attention to the transfer of all information and media associated with the activity with least redundancies and zero duplication of content if not already present in GitHub@README.md or user documentation in help-activity.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Technologies and Skills Used&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This list is just a small glimpse of technologies that I am thinking to use for this project. I am proficient in each of them, through my past projects. (Refer)  &lt;br /&gt;
* &#039;&#039;&#039;Programming Language&#039;&#039;&#039;: Python 3.6 using libraries such as requests, LXML, Scrapy, Beautifulsoup etc. Python will be used widely in this project. &lt;br /&gt;
* &#039;&#039;&#039;Markup Languages&#039;&#039;&#039; - Markdown, MediaWiki, reStructuredText&lt;br /&gt;
* &#039;&#039;&#039;For Automation&#039;&#039;&#039; - Ansible or Bash (To automate each step of the migration process and installation of the tool.)&lt;br /&gt;
* &#039;&#039;&#039;Tools&#039;&#039;&#039; - git, shell, MediaWiki API - Pywikibot,GitHub API (Experimental) &lt;br /&gt;
* &#039;&#039;&#039;Others&#039;&#039;&#039; - Yaml (If Ansible is used) &lt;br /&gt;
&lt;br /&gt;
== An Overview of the Migration Process ==  &lt;br /&gt;
&lt;br /&gt;
[[File:S.U.G.A.R.png|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Detailed Description of the steps mentioned &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;One time task&#039;&#039;&#039; - Use a spider to scrape GitHub links for each activity in a proper JSON format (with names of each activity). IF GitHub links not found for the repository, then scripts throws back exception and then links can be found manually. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Step 0&#039;&#039;&#039; - Extracting content; from these methods that offers the least redundancies. My research yielded these results.&lt;br /&gt;
:  1. Query MediaWiki API and acquire content in wikitext format&lt;br /&gt;
:  2. Export pages in XML using Python Wikipedia Robot Framework  &lt;br /&gt;
:  3.  GET page in simple HTML ( Activities/Sugar_Network&amp;amp;printable=yes) &lt;br /&gt;
*&#039;&#039;&#039;Step 1 -&#039;&#039;&#039; Convert the data sourced from step 0; using Pandoc to Markdown. Removing syntax, comments and Wikimedia code that might be left after conversion using regex wherever required.  &lt;br /&gt;
* &#039;&#039;&#039;Step 2&#039;&#039;&#039; - Fork and clone the respective GitHub repository from the links already scraped or found manually of the activity   &lt;br /&gt;
* Step 3 - Python script to find all image links and then fetches media (images) associated with the activity from web-page; renames them in correct format; adds them to repository folder cloned under “ images” Fix image links and testing.&lt;br /&gt;
* &#039;&#039;&#039;Step 4 -&#039;&#039;&#039; Ensuring content is not duplicated by being already present either in the README.md file or the user documentation in the help-activity. Make the necessary changes, fix broken links. Testing; Commit and push to fork.&lt;br /&gt;
* &#039;&#039;&#039;Step 5 -&#039;&#039;&#039; Pull request submitted with the detailed description of the changes in activity documentation in clear format containing all details. When PR merged, move to step 6.   &lt;br /&gt;
* &#039;&#039;&#039;Step 6 -&#039;&#039;&#039; Use Pywikibot (Check delete.py) to delete pages/media associated with wiki page using admin privileges and link back to their repositories. This can also be achieved using the mediawiki API which saves edit history as I mentioned before.  (Read more here)              (End-to-end Migration of wiki page complete)      &lt;br /&gt;
* &#039;&#039;&#039;Step 7&#039;&#039;&#039; - Repeat Step 1 for next activity.&lt;br /&gt;
&lt;br /&gt;
== Project Deliverables ==&lt;br /&gt;
# 345 web pages stored in MediaWiki format atActivities#Sugar_Activities on Sugar Labs Wiki converted to Markdown format with assets (images and other files) intact and in-place with zero duplication.  &lt;br /&gt;
# Files in Markdown converted from the wiki content are tested and checked to ensure foolproof 100% migration without any redundancies or loss of information. Manually or through scripts.&lt;br /&gt;
# A detailed report with classified information about the Sugar_activities wiki that needs further improvements submitted to Sugar Labs (Refer week #8 in timeline #Wikiteam)&lt;br /&gt;
Files committed, pushed and PR’s made in each activity’s respective git repository in an information specific format for easy reference. &lt;br /&gt;
# Tested bug-free source code for everyone to use (and other open source projects) for their wikis facing the same issues. Complete documentation of the migration method submitted on time of evaluations with the review of the mentor incorporated.&lt;br /&gt;
# After the complete transfer of all the wiki content, discuss and implement the last actions on the wiki, to either delete the pages or link them back to their respective git repositories.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Thus, by the deliverables mentioned above, 3 well-defined goals that determine project status which will help in evaluation i.e&#039;&#039;&#039;&amp;lt;br /&amp;gt;1. Evaluation 1: Migration of 100 wiki-pages complete; &amp;lt;br /&amp;gt;2. Evaluation 2: Migration of 300 wiki-pages complete;&amp;lt;br /&amp;gt;3. Final: Migration of 345 wiki-pages;&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Other Deliverables (and Future Work) ==&lt;br /&gt;
# &#039;&#039;&#039;Contribute more&#039;&#039;&#039; - After and during the project, will help in solving bigger challenges and bugs faced as my experience lies in DevOps tasks and start reading code of Sugarizer.&lt;br /&gt;
# &#039;&#039;&#039;Add Features&#039;&#039;&#039; - Edit history of wikis that are being migrated by WikiPort can be exported as commits on GitHub (implementing this).  &lt;br /&gt;
# &#039;&#039;&#039;Create New Activities&#039;&#039;&#039; - Being well versed in Python (tried making a game with pygame) Would enjoy the new learning curve as I never really explored GTK. Have some new ideas that could be later transformed into fun, interactive learning activities.&lt;br /&gt;
# &#039;&#039;&#039;Complete Misc. Tasks&#039;&#039;&#039; - Wiki pages contain task waiting to be completed I would like to volunteer and finish them for the welfare of the community like this one here IRC#Wishlist.&lt;br /&gt;
# Remain as an &#039;&#039;&#039;active contributor for Sugar Labs&#039;&#039;&#039; and take part in discussions for the future projects. Maybe if the community agrees, also mentor someone &#039;&#039;&#039;myself&#039;&#039;&#039; in the foreseeable future.&lt;br /&gt;
# Use Automation to our favor so that many tasks are completed in WikiPort using bash or Ansible scripts like environment setups, installation and fine workings of the entire tool. (Aim - one command to work it all out with the least number of user interventions)&lt;br /&gt;
“WikiPort converts all MediaWiki documents to rich markdown format and commit them to GitHub or other hosting services without losing any of your data. A tool created by Sugar Labs with love.” &lt;br /&gt;
This seems to me like an excellent repository description of an awesome tool.&lt;br /&gt;
I always wanted to create an open-source tool, that people would use and benefit from and take the time to contribute back. &lt;br /&gt;
WikiPort feels likes that chance.  &lt;br /&gt;
 &lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
* In accordance with the official timeline by GSoC, my college exams end somewhere in the first week of May or so. My college reopens early in July. During this time, I will remain in contact with my mentor.&lt;br /&gt;
* This gives me ample time to code. I plan to begin coding before the official period coding period of GSoC starts from starting of May. Which gives me a head start to finish the majority (80%) of the project before the second evaluation. &lt;br /&gt;
 &#039;&#039;&#039;Providing a total of 10 weeks to write code for WikiPort (&amp;amp; other deliverables)&#039;&#039;&#039;&lt;br /&gt;
* I will also write a weekly or Bi-weekly blog post on my progress and updates on my project and post it diligently on the website to get the community involved.  The Weekly timeline is as follows. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Week Number [#]  !! Tasks&lt;br /&gt;
|-&lt;br /&gt;
| [#1] April 23 - April 30   || Community Bonding Period &lt;br /&gt;
Community Bonding, if possible keen on having a meeting with the Activity and wiki team. Discussion of ideas that I have. Research Part 1&lt;br /&gt;
MediaWiki [Syntax, documentation, API, functionalities]; GitHub API; Wikitext; Exploring the problem case defined earlier.&lt;br /&gt;
|-&lt;br /&gt;
| [#2] April 1 - May 7&lt;br /&gt;
 || Start documentation and blog post, about Sugar Labs on my blog.Setup: development environment. &lt;br /&gt;
Continue with Research &lt;br /&gt;
&lt;br /&gt;
Part 2 - Finding, testing, implementing solutions available for Migration Process step 0 through 6. Discuss results with the mentor, shortlist methods that have the highest success rate. &lt;br /&gt;
Pushing to Github; fixing organization problems&lt;br /&gt;
|-&lt;br /&gt;
| [#3] May 7 - May 14&lt;br /&gt;
 || Finalized migration process, start coding.&lt;br /&gt;
Spider ready to scrape activities for their GitHub repo.&lt;br /&gt;
Report on activities missing GitHub repo. links &lt;br /&gt;
Blog post on Community Bonding @ Sugar Labs&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#4] May 15 - May 22&lt;br /&gt;
 || Official Coding period starts &lt;br /&gt;
Start work on migration script. &lt;br /&gt;
Test migration script on 10 activities (aim - 60% migration of content from wiki to GitHub readme of the activity)&lt;br /&gt;
Gets reviewed by the mentor; implement suggestions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#5] May 23 - May 30&lt;br /&gt;
 || Work on script continues; Tweaking; suggestions implemented by the community&lt;br /&gt;
Testing extensively; and commenting &lt;br /&gt;
Documentation for script&lt;br /&gt;
40 pages completed (Aim - 70% migration of content through the script without manual edits;)&lt;br /&gt;
Write a quality checklist for pages converted to determine bugs, thorough checking of every page converted, every step of the way. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#6] June 1 - June 7&lt;br /&gt;
 || Work on Other Deliverables &lt;br /&gt;
Script improved; Commenting; Logging implemented;&lt;br /&gt;
Quality Checks implemented on sourced markdown files&lt;br /&gt;
Blog post on research and work did so far. &lt;br /&gt;
100 pages completed (minor improvements)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#7] June 8 - June 15&lt;br /&gt;
First Code Evaluations&lt;br /&gt;
 || Implement suggestions from evaluations.&lt;br /&gt;
Start work towards automation of scripts wherever possible (Aim - Least user input)&lt;br /&gt;
Start work on making WikiPort available to all as a simple tool.&lt;br /&gt;
150 pages completed. &lt;br /&gt;
Get a review of pages migrated, from the community.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#8] June 16 - June 23&lt;br /&gt;
 || Documentation alpha release; Repository made; &lt;br /&gt;
Start work: Report of Activities#Sugar_Activities&lt;br /&gt;
200 pages migrated.&lt;br /&gt;
Give a talk related to “Sugar and what it stands for” at one of our local meetups in Delhi. &lt;br /&gt;
Random quality checks; manual fixes wherever required. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#9] June 24 - July 1&lt;br /&gt;
 || 250 pages migrated, checked. &lt;br /&gt;
Get a review of the pages migrated from the community and mentor(s)&lt;br /&gt;
Implement and discuss changes.&lt;br /&gt;
Start with pet project of making my own activity.&lt;br /&gt;
Finish automation task. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#10] July 2 - July 10 &lt;br /&gt;
|| Second Code Evaluations&lt;br /&gt;
300 pages migrated. Completed end-to-end. &lt;br /&gt;
Blog post about GSoC: 10 weeks later.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#11] July 11 - July 18&lt;br /&gt;
Soft Deadline - All 345 web pages migrated completing the primary objective.&lt;br /&gt;
 || 345 pages migrated.  &lt;br /&gt;
Documentation completed.&lt;br /&gt;
Tool Ready with automated tasks and checks wherever they could be implemented hosted on GitHub for everyone to use under Sugar Labs&lt;br /&gt;
Start work on wiki report (Aim - To propose a better format for clear, uniform documentation) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#12] July 19 - July 26&lt;br /&gt;
Hard Deadline &lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
Submit Wiki Report; Get feedback from the community&lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#13] July 27 - August 05&lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
Implement further suggestion if possible. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#14] August 6 - August 13 &lt;br /&gt;
 || Final Code Evaluations&lt;br /&gt;
Various blog posts about the entire experience, GSoC 2018 and Sugar Community. &lt;br /&gt;
Finish making the activity (tentative) &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* I love writing and reading the code. I learned almost everything by reading the docs. I, later on, started writing documentation and code for others too. Helping me always know exactly where I can find the information I am looking for and how to improve on it, how necessary it is.  &lt;br /&gt;
* All my past projects, showcase a strong dedication to the deadline and the determination to get work done. WikiPort will be no different.  &lt;br /&gt;
* As for my skills, &amp;lt;br /&amp;gt;&lt;br /&gt;
- Articles written, published using Pelican, Wordpress (Markdown).&amp;lt;br /&amp;gt;&lt;br /&gt;
- I use git in all project that I start. Document and collaborate on GitHub. &amp;lt;br /&amp;gt;&lt;br /&gt;
- Comfortable with both Linux and Windows OS, (preferring Linux all the way) &amp;lt;br /&amp;gt;&lt;br /&gt;
- Since Python is used widely, my previous project justify my experience and skill in the language &amp;lt;br /&amp;gt;&lt;br /&gt;
- There is no better to prove that I can accomplish and execute my vision for WikiPort by actually showing that work has been done. (here) &amp;lt;br /&amp;gt;&lt;br /&gt;
- There are many points to keep in mind while migrating is taking place, hence for a &#039;&#039;&#039;more methodical&#039;&#039;&#039; approach a [https://etherpad.net/p/Sugar_Migration_Checklist checklist] has been implemented by me which has a summary of all the - steps. (Both manual/automated) &amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== You and the community ==&lt;br /&gt;
&#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
*If WikiPort is completed and deployed as a tool for this project. It would help in making the work easier for developers to not just Sugar Labs but everybody and even experienced users. &lt;br /&gt;
*WikiPort will help users port their wikis to GitHub with minimum user inputs, which  would ultimately benefit everyone involved and for many generations of developers to come who will use that documentation.&lt;br /&gt;
*As previously stated, documentation is an important part of any development process. Bad documentation impacts the entire community as. But if the documentation is&lt;br /&gt;
1. &#039;&#039;&#039;Accessible&#039;&#039;&#039; - GitHub is one of the best places to host it. &lt;br /&gt;
2. &#039;&#039;&#039;Relevant and easily traversable&#039;&#039;&#039; - The documentation about every activity will be housed with its GitHub Repository.  &lt;br /&gt;
Clearly written - Strict format to maintain overall uniformity. &lt;br /&gt;
3. &#039;&#039;&#039;Easily editable (+ VCS)&#039;&#039;&#039; - Wiki offers edit history of documents too, but the process to edit a document is cumbersome while GitHub makes it very easy for users to fix issues in it. &lt;br /&gt;
4. &#039;&#039;&#039;More views, more stars&#039;&#039;&#039; - GitHub also increases views and popularity of the activity ultimately helping Sugar Labs to get noticed more.&lt;br /&gt;
If our documentation has all these features, then everybody would be more inclined towards contributing to Sugar Labs and get to know more about it.  &lt;br /&gt;
People would contribute more to bug fixing, indirectly helping the Sugar Labs community to grow and expand more. Helping students, developers, activity maintainers, members of the community.&lt;br /&gt;
Produce a new tool by the community, for the community and with the community’s help for everyone to benefit from.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 2:&#039;&#039;&#039; Walter Bender - walter.bender@gmail.com &amp;lt;br /&amp;gt;&lt;br /&gt;
This project has solid potential to address several pressing issues for the community: &lt;br /&gt;
(1) bifurcation --  we are spread across too many platforms which is both a maintenance issue and also an issue for our users and potential developers, who struggle to find the documentation for the Sugar Activities; &lt;br /&gt;
(2) redundancy -- we are spread too thin to maintain multiple, redundant instances of documentation. Migrating everything to a uniform platform where is it directly tied to the source would impact both of these issues.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 3:&#039;&#039;&#039; James Cameron - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His assessment of project impact from both Github and Email )&lt;br /&gt;
* &amp;quot;Migration is needed because Wiki is not being used now that GitHub is being used. Maintaining the Wiki in addition to GitHub is not sustainable. So we want documentation to move from Wiki to GitHub. So that when an activity is updated in GitHub, the documentation can be updated in the same place at the same time.&amp;quot;&lt;br /&gt;
* “Originally documentation was separate because we had non-coding developers and tool chains that varied by type of developer.  Now we use GitHub the tool chains are combined. With the project as described, documentation will be concentrated in the source code repository for an activity, reducing ongoing maintenance.We have less active Wiki contributors than we ever did, and in the current threat environment a Wiki requires significant monitoring and administration; we recently lost some system administrators and gained new ones; using GitHub allows us to outsource system administration.”&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 4:&#039;&#039;&#039; Tony Anderson - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His comments clarifying the need of WikiPort and the problems it solves)&lt;br /&gt;
As always, the question is the impact on our users. The traditional source of information for users is [1] and [2] and, especially the wiki pages. So far the effect of gitHub has been to reduce the value of these two sources. In many cases the activities on ASLO have been superseded by ones on gitHub or other git repository but are not available to our users. The documentation of activities on ASLO has never been adequate but now no effort will be made to improve it. This continues the trend toward Sugar being a playground for the technical elite. Complete conversation available here.&lt;br /&gt;
[1] http://www.sugarlabs.org 				[2] http://www.laptop.org&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What will you do if you get stuck on your project and your mentor isn&#039;t around?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
I strive to solve a problem using my own skill base by searching about the problem case and working it out into smaller bits.&lt;br /&gt;
#sugar and #sugar-devel channels on IRC, the mailing lists where other community members discuss issues. I am familiar with mailing list etiquettes for open source communities and learn fairly fast.&lt;br /&gt;
Google and StackOverflow about the issues, later refer to the documentation of the tool I am using for reference. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I would get regular, constructive feedback on the code I will write and the work I would do for the community by posting work samples from Github, on the mailing list and on IRC. [Check Timeline for the same]&lt;br /&gt;
Post constant updates on my blog and maintain an update tracker for each week on a public notepad (Etherpad, etc.)&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&#039;&#039;&#039;Send us a link to a pull request or merge request you have made a Sugar or Sugar activity bug.&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I needed to test my WikiPort beta script that I had created, hence made some extra efforts and migrated these four wiki pages listed below.   &lt;br /&gt;
[https://github.com/sugarlabs/lettermatch/pull/3 lettermatch/pull/3] &lt;br /&gt;
[https://github.com/sugarlabs/AEIOU/pull/9 sugarlabs/AEIOU/pull/9] &lt;br /&gt;
[https://github.com/sugarlabs/iknowmyabcs/pull/7 iknowmyabcs/pull/7] &lt;br /&gt;
[https://github.com/sugarlabs/i-can-read-activity/pull/6 /i-can-read-activity/pull/6] &lt;br /&gt;
&lt;br /&gt;
Another Issue that I am currently working  is [https://github.com/sugarlabs/sugar-live-build/issues/6 sugar-live-build/issues/] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe a great learning experience you had as a child.&#039;&#039;&#039;&lt;br /&gt;
Here’s a short story titled “Let me Google that for you.” when I was 14. &lt;br /&gt;
&lt;br /&gt;
From my childhood, web technologies have always piqued my interest for the longest time as I can remember. I been writing HTML since I was 1. But I never liked to read from the old, dusty books. When I code, I had to take help from seniors, teachers, the experience I gained and other sources. Almost everybody was irritated by the constant barrage of long and complex questions, that Vipul Gupta had.&lt;br /&gt;
So what happened one day, I walked to one of the seniors and asked him a question if I remember right about how he would determine which browser is better for a particular segment of code I wrote. He took me to the lab and told me to open a link similar like to this http://bfy.tw/HFBs This will have the solution surely to all my problems. &lt;br /&gt;
What happened next? I was embarrassed and couldn’t see straight but he was not judgemental and was very humble (A trait everyone of should have towards beginners, I feel like.) and from that day forward. The only place I actually learned something was the internet. &lt;br /&gt;
That day I actually learned how to Google by letting someone google that for me. Teaching by the application at its best. I look back to this incident and still smile. I share this experience of mine whenever I have a chance to interact with my juniors that serves as motivation boost and compels them to think that nothing is impossible, and everybody makes mistakes once in a while.  This lead to me creating hundreds of links more from this website. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* I think I am well satisfied with the proposal that I have made for WikiPort, the project for Sugar Labs. The template given by Sugar Labs really covers all the corners of my  project, and actually helped me think more constructively about the project and the fine aspects of it. &lt;br /&gt;
* I learned a lot through these few weeks, working on the proposal. MediaWIki API and new skills, contributing to an open-source organisation of this stature, how to interact with people. This has been a memorable experience. I am in awe, I really am.&lt;br /&gt;
* All open-source communities may not be same, but are run on the same principle that I also try to follow in life. Be humble, and helpful to everybody. The ‘ahaa-moment’ of a beginner is what I live for, when he truly get the point that I am trying to make.&lt;br /&gt;
* Some Credits - Learned to not contest for issues, but focus on better PR’s, and many new things from James Cameron (@Quozl)’s blog. Jasikrat too for helping people on IRC emailsll mentors who review our proposal and go through all our mails. Thank you all for the opportunities and the help provided to me and my fellow contributors. I hope down the line, I could follow in your footsteps too.&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
__INDEX__&lt;br /&gt;
[[Category:2018 GSoC applications]]&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101630</id>
		<title>WikiPort</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101630"/>
		<updated>2018-03-29T13:38:41Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:WikiPort - Migration activity page to git}}&lt;br /&gt;
&lt;br /&gt;
== Page Under Development GO SLOW! ==&lt;br /&gt;
This page is under heavy development, thus for the time being, please refer to the proposal in rich-formatting on  [https://docs.google.com/document/d/1mPd_SeUqeJF_yKWVEDFuzU7LWsnUFSbLdQQ44HvsYyA/edit?usp=sharing Google Docs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Logo wikiport.png|frameless|center|WikiPort]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About You ==&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039; - Vipul Gupta&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Email address&#039;&#039;&#039; - [http://mailto:vipulgupta2048@gmail.com vipulgupta2048@gmail.com] &amp;lt;br /&amp;gt;  &lt;br /&gt;
&#039;&#039;&#039;Blog Url&#039;&#039;&#039; -  [http://www.mixstersite.wordpress.com www.mixstersite.wordpress.com]  &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Sugar Labs wiki username&#039;&#039;&#039; - [https://wiki.sugarlabs.org/go/User:Vipulgupta2048 Vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IRC nickname&#039;&#039;&#039; - vipulgupta2048 &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Linkedin&#039;&#039;&#039; - [http://www.linkedin.com/in/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Github&#039;&#039;&#039; - [http://www.github.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Twitter&#039;&#039;&#039; - [http://www.twitter.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;First language - &#039;&#039;&#039;English (Fluent) &#039;&#039;&#039;&amp;lt;br /&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Located at, and what hours (UTC) do you tend to work&#039;&#039;&#039; - I am based out of New Delhi, India (+5.30 GMT). I am flexible with timings and can work for 3-5 hours everyday. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects or some other demonstration of the work that you have done in open-source?&#039;&#039;&#039;&lt;br /&gt;
Yes, I have participated and maintained many open-source projects. Also been contributing to other community and conference projects. Some of the links and description of those pages are as follows&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/asetalias/asetalias.github.io/pull/52 First pull request] on my college community’s website, [http://www.github.com/asetalias ALiAS] - Maintainer since 2016.&lt;br /&gt;
* [https://github.com/vipulgupta2048/opengisproj_mirror vipulgupta2048/opengisproj_mirror]- Involved building a web app for real-time monitoring of pollution levels in rivers of India and to assess the impact on the health of people using the water from the river. The working repo is private, hence a public mirror for showcasing. &lt;br /&gt;
* [https://github.com/vipulgupta2048/scrape vipulgupta2048/scrape] Scraping major news websites/outlets in India using Scrapy [Python] Managing the data flow by employing PostgreSQL. Finding fake news using Machine Learning with help of libraries (Word2vec)&lt;br /&gt;
* Fixed bugs, wrote blogs, added new features using HTML, CSS and JS for the official website of the premier conference on Python in India, PyCON India 2017 ([https://github.com/pythonindia/inpycon2017/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ Here] and [https://github.com/pythonindia/inpycon-blog/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ here]) &lt;br /&gt;
* [https://gitlab.com/asetalias/Community-Connect gitlab/asetalias/Community-Connect] [Ongoing]  &lt;br /&gt;
* Completed: Hacktoberfest Challenge;  [https://hacktoberfestchecker.herokuapp.com/?username=vipulgupta2048 Here].&lt;br /&gt;
* Building and mentoring website development for Pyladies Delhi Chapter [https://github.com/vipulgupta2048/Pyladies-delhi-website Pyladies-delhi-website]  &lt;br /&gt;
* Recent contribution: In Sugar Labs. Mentioned in the Miscellaneous section.        &lt;br /&gt;
&lt;br /&gt;
Along with this, [http://meetup.com/pydelhi Python Delhi User Group] (PyDelhi) is a volunteer-driven organization comprising of Pythonistas, enthusiasts, who have a primary focus in Python. I help by volunteering and organizing meetups for them. &amp;lt;br /&amp;gt;&lt;br /&gt;
I am a committee member of my college’s open source community. [http://www.asetalias.in ALiAS (Amity Linux Assistance Sapience)] We conduct hands-on workshops, seminars, talks and much more to try and help as many people as we can along the process and motivate them to make their first PR.&amp;lt;br /&amp;gt;&lt;br /&gt;
I genuinely love spreading knowledge among peers/juniors/underprivileged children wherever I can through my voice ([https://github.com/asetalias/Logistics-and-Event-Contributions/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed Talks] and [https://github.com/ILUGD/talks/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed workshops]) and my words ([http://www.mixstersite.wordpress.com Tech-Blog])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039; &amp;lt;br /&amp;gt; &lt;br /&gt;
Wikiport &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using? &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Abstract Ideas:&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
	Documentation tools have become modern, lighter, easier to use with the use of Sphinx, Github pages/wiki, Mkdocs and many more similar frameworks and applications. It’s easily the first and the most important steps for any open-source projects implemented by almost everybody.&amp;lt;br /&amp;gt; &lt;br /&gt;
If people know more, they would want to get involved and contribute more. This would, in turn, help the entire community to grow and expand. If the information (Documentation) is accessible fast, easily comprehensible, simple enough to edit and manage for people then I think this project will help really help Sugar Labs achieve that.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;My understanding of the problem and why it needs to be solved?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Documentation, as mentioned before, is important to all open-source projects. Sugar Labs has all documentation for its learner applications called “Activities” at one place in the Activities#Sugar_Activities. Some problem (#risks) that I found with this sort of implementation is as follows:- &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Difficult to add, edit and manage&#039;&#039;&#039;  - In reference to the conversation [archive/sugar-devel] As a user, I need to create an account for editing privileges. Which is very tiresome to be very honest, hence discouraging contributions. &lt;br /&gt;
# &#039;&#039;&#039;Size issues&#039;&#039;&#039; - Wiki is being hosted on the a server. With the growing number of activities, the size occupied by them will increase leading to rise in maintenance cost. Not to mention buying more space. &lt;br /&gt;
# &#039;&#039;&#039;No clear format/classification&#039;&#039;&#039; - Some links are for one activity only while other activities have multiple links for them (example Turtle Art) Results in time being wasted of the user even if they are justified. &lt;br /&gt;
- Found 2 wiki pages of the same activity. (this page and this too)&lt;br /&gt;
I did extensive research on the same and found many such problems with the wiki. According to my experience in open-source, users just need information fast, easily accessible and neatly organized. &amp;lt;br /&amp;gt;&lt;br /&gt;
A new method to make that information organized should be brought in place for the betterment of the whole community. GitHub could be the solution to all our problems (Check here for reference) WikiPort is a tool that helps in migration process of wiki’s to Github hosted README.md. &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Objective&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
To migrate documentation and information of each activity in Activities#Sugar_Activities of Sugar Labs in MediaWiki format to their respective git repositories hosted on GitHub in rich markdown format by a program/tool with special attention to the transfer of all information and media associated with the activity with least redundancies and zero duplication of content if not already present in GitHub@README.md or user documentation in help-activity.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Technologies and Skills Used&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This list is just a small glimpse of technologies that I am thinking to use for this project. I am proficient in each of them, through my past projects. (Refer)  &lt;br /&gt;
* &#039;&#039;&#039;Programming Language&#039;&#039;&#039;: Python 3.6 using libraries such as requests, LXML, Scrapy, Beautifulsoup etc. Python will be used widely in this project. &lt;br /&gt;
* &#039;&#039;&#039;Markup Languages&#039;&#039;&#039; - Markdown, MediaWiki, reStructuredText&lt;br /&gt;
* &#039;&#039;&#039;For Automation&#039;&#039;&#039; - Ansible or Bash (To automate each step of the migration process and installation of the tool.)&lt;br /&gt;
* &#039;&#039;&#039;Tools&#039;&#039;&#039; - git, shell, MediaWiki API - Pywikibot,GitHub API (Experimental) &lt;br /&gt;
* &#039;&#039;&#039;Others&#039;&#039;&#039; - Yaml (If Ansible is used) &lt;br /&gt;
&lt;br /&gt;
== An Overview of the Migration Process ==  &lt;br /&gt;
&lt;br /&gt;
[[File:S.U.G.A.R.png|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Detailed Description of the steps mentioned &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;One time task&#039;&#039;&#039; - Use a spider to scrape GitHub links for each activity in a proper JSON format (with names of each activity). IF GitHub links not found for the repository, then scripts throws back exception and then links can be found manually. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Step 0&#039;&#039;&#039; - Extracting content; from these methods that offers the least redundancies. My research yielded these results.&lt;br /&gt;
:  1. Query MediaWiki API and acquire content in wikitext format&lt;br /&gt;
:  2. Export pages in XML using Python Wikipedia Robot Framework  &lt;br /&gt;
:  3.  GET page in simple HTML ( Activities/Sugar_Network&amp;amp;printable=yes) &lt;br /&gt;
*&#039;&#039;&#039;Step 1 -&#039;&#039;&#039; Convert the data sourced from step 0; using Pandoc to Markdown. Removing syntax, comments and Wikimedia code that might be left after conversion using regex wherever required.  &lt;br /&gt;
* &#039;&#039;&#039;Step 2&#039;&#039;&#039; - Fork and clone the respective GitHub repository from the links already scraped or found manually of the activity   &lt;br /&gt;
* Step 3 - Python script to find all image links and then fetches media (images) associated with the activity from web-page; renames them in correct format; adds them to repository folder cloned under “ images” Fix image links and testing.&lt;br /&gt;
* &#039;&#039;&#039;Step 4 -&#039;&#039;&#039; Ensuring content is not duplicated by being already present either in the README.md file or the user documentation in the help-activity. Make the necessary changes, fix broken links. Testing; Commit and push to fork.&lt;br /&gt;
* &#039;&#039;&#039;Step 5 -&#039;&#039;&#039; Pull request submitted with the detailed description of the changes in activity documentation in clear format containing all details. When PR merged, move to step 6.   &lt;br /&gt;
* &#039;&#039;&#039;Step 6 -&#039;&#039;&#039; Use Pywikibot (Check delete.py) to delete pages/media associated with wiki page using admin privileges and link back to their repositories. This can also be achieved using the mediawiki API which saves edit history as I mentioned before.  (Read more here)              (End-to-end Migration of wiki page complete)      &lt;br /&gt;
* &#039;&#039;&#039;Step 7&#039;&#039;&#039; - Repeat Step 1 for next activity.&lt;br /&gt;
&lt;br /&gt;
== Project Deliverables ==&lt;br /&gt;
# 345 web pages stored in MediaWiki format atActivities#Sugar_Activities on Sugar Labs Wiki converted to Markdown format with assets (images and other files) intact and in-place with zero duplication.  &lt;br /&gt;
# Files in Markdown converted from the wiki content are tested and checked to ensure foolproof 100% migration without any redundancies or loss of information. Manually or through scripts.&lt;br /&gt;
# A detailed report with classified information about the Sugar_activities wiki that needs further improvements submitted to Sugar Labs (Refer week #8 in timeline #Wikiteam)&lt;br /&gt;
Files committed, pushed and PR’s made in each activity’s respective git repository in an information specific format for easy reference. &lt;br /&gt;
# Tested bug-free source code for everyone to use (and other open source projects) for their wikis facing the same issues. Complete documentation of the migration method submitted on time of evaluations with the review of the mentor incorporated.&lt;br /&gt;
# After the complete transfer of all the wiki content, discuss and implement the last actions on the wiki, to either delete the pages or link them back to their respective git repositories.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Thus, by the deliverables mentioned above, 3 well-defined goals that determine project status which will help in evaluation i.e&#039;&#039;&#039;&amp;lt;br /&amp;gt;1. Evaluation 1: Migration of 100 wiki-pages complete; &amp;lt;br /&amp;gt;2. Evaluation 2: Migration of 300 wiki-pages complete;&amp;lt;br /&amp;gt;3. Final: Migration of 345 wiki-pages;&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Other Deliverables (and Future Work) ==&lt;br /&gt;
# &#039;&#039;&#039;Contribute more&#039;&#039;&#039; - After and during the project, will help in solving bigger challenges and bugs faced as my experience lies in DevOps tasks and start reading code of Sugarizer.&lt;br /&gt;
# &#039;&#039;&#039;Add Features&#039;&#039;&#039; - Edit history of wikis that are being migrated by WikiPort can be exported as commits on GitHub (implementing this).  &lt;br /&gt;
# &#039;&#039;&#039;Create New Activities&#039;&#039;&#039; - Being well versed in Python (tried making a game with pygame) Would enjoy the new learning curve as I never really explored GTK. Have some new ideas that could be later transformed into fun, interactive learning activities.&lt;br /&gt;
# &#039;&#039;&#039;Complete Misc. Tasks&#039;&#039;&#039; - Wiki pages contain task waiting to be completed I would like to volunteer and finish them for the welfare of the community like this one here IRC#Wishlist.&lt;br /&gt;
# Remain as an &#039;&#039;&#039;active contributor for Sugar Labs&#039;&#039;&#039; and take part in discussions for the future projects. Maybe if the community agrees, also mentor someone &#039;&#039;&#039;myself&#039;&#039;&#039; in the foreseeable future.&lt;br /&gt;
# Use Automation to our favor so that many tasks are completed in WikiPort using bash or Ansible scripts like environment setups, installation and fine workings of the entire tool. (Aim - one command to work it all out with the least number of user interventions)&lt;br /&gt;
“WikiPort converts all MediaWiki documents to rich markdown format and commit them to GitHub or other hosting services without losing any of your data. A tool created by Sugar Labs with love.” &lt;br /&gt;
This seems to me like an excellent repository description of an awesome tool.&lt;br /&gt;
I always wanted to create an open-source tool, that people would use and benefit from and take the time to contribute back. &lt;br /&gt;
WikiPort feels likes that chance.  &lt;br /&gt;
 &lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
* In accordance with the official timeline by GSoC, my college exams end somewhere in the first week of May or so. My college reopens early in July. During this time, I will remain in contact with my mentor.&lt;br /&gt;
* This gives me ample time to code. I plan to begin coding before the official period coding period of GSoC starts from starting of May. Which gives me a head start to finish the majority (80%) of the project before the second evaluation. &lt;br /&gt;
 &#039;&#039;&#039;Providing a total of 10 weeks to write code for WikiPort (&amp;amp; other deliverables)&#039;&#039;&#039;&lt;br /&gt;
* I will also write a weekly or Bi-weekly blog post on my progress and updates on my project and post it diligently on the website to get the community involved.  The Weekly timeline is as follows. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Week Number [#]  !! Tasks&lt;br /&gt;
|-&lt;br /&gt;
| [#1] April 23 - April 30   || Community Bonding Period &lt;br /&gt;
Community Bonding, if possible keen on having a meeting with the Activity and wiki team. Discussion of ideas that I have. Research Part 1&lt;br /&gt;
MediaWiki [Syntax, documentation, API, functionalities]; GitHub API; Wikitext; Exploring the problem case defined earlier.&lt;br /&gt;
|-&lt;br /&gt;
| [#2] April 1 - May 7&lt;br /&gt;
 || Start documentation and blog post, about Sugar Labs on my blog.Setup: development environment. &lt;br /&gt;
Continue with Research &lt;br /&gt;
&lt;br /&gt;
Part 2 - Finding, testing, implementing solutions available for Migration Process step 0 through 6. Discuss results with the mentor, shortlist methods that have the highest success rate. &lt;br /&gt;
Pushing to Github; fixing organization problems&lt;br /&gt;
|-&lt;br /&gt;
| [#3] May 7 - May 14&lt;br /&gt;
 || Finalized migration process, start coding.&lt;br /&gt;
Spider ready to scrape activities for their GitHub repo.&lt;br /&gt;
Report on activities missing GitHub repo. links &lt;br /&gt;
Blog post on Community Bonding @ Sugar Labs&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#4] May 15 - May 22&lt;br /&gt;
 || Official Coding period starts &lt;br /&gt;
Start work on migration script. &lt;br /&gt;
Test migration script on 10 activities (aim - 60% migration of content from wiki to GitHub readme of the activity)&lt;br /&gt;
Gets reviewed by the mentor; implement suggestions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#5] May 23 - May 30&lt;br /&gt;
 || Work on script continues; Tweaking; suggestions implemented by the community&lt;br /&gt;
Testing extensively; and commenting &lt;br /&gt;
Documentation for script&lt;br /&gt;
40 pages completed (Aim - 70% migration of content through the script without manual edits;)&lt;br /&gt;
Write a quality checklist for pages converted to determine bugs, thorough checking of every page converted, every step of the way. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#6] June 1 - June 7&lt;br /&gt;
 || Work on Other Deliverables &lt;br /&gt;
Script improved; Commenting; Logging implemented;&lt;br /&gt;
Quality Checks implemented on sourced markdown files&lt;br /&gt;
Blog post on research and work did so far. &lt;br /&gt;
100 pages completed (minor improvements)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#7] June 8 - June 15&lt;br /&gt;
First Code Evaluations&lt;br /&gt;
 || Implement suggestions from evaluations.&lt;br /&gt;
Start work towards automation of scripts wherever possible (Aim - Least user input)&lt;br /&gt;
Start work on making WikiPort available to all as a simple tool.&lt;br /&gt;
150 pages completed. &lt;br /&gt;
Get a review of pages migrated, from the community.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#8] June 16 - June 23&lt;br /&gt;
 || Documentation alpha release; Repository made; &lt;br /&gt;
Start work: Report of Activities#Sugar_Activities&lt;br /&gt;
200 pages migrated.&lt;br /&gt;
Give a talk related to “Sugar and what it stands for” at one of our local meetups in Delhi. &lt;br /&gt;
Random quality checks; manual fixes wherever required. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#9] June 24 - July 1&lt;br /&gt;
 || 250 pages migrated, checked. &lt;br /&gt;
Get a review of the pages migrated from the community and mentor(s)&lt;br /&gt;
Implement and discuss changes.&lt;br /&gt;
Start with pet project of making my own activity.&lt;br /&gt;
Finish automation task. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#10] July 2 - July 10 &lt;br /&gt;
|| Second Code Evaluations&lt;br /&gt;
300 pages migrated. Completed end-to-end. &lt;br /&gt;
Blog post about GSoC: 10 weeks later.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#11] July 11 - July 18&lt;br /&gt;
Soft Deadline - All 345 web pages migrated completing the primary objective.&lt;br /&gt;
 || 345 pages migrated.  &lt;br /&gt;
Documentation completed.&lt;br /&gt;
Tool Ready with automated tasks and checks wherever they could be implemented hosted on GitHub for everyone to use under Sugar Labs&lt;br /&gt;
Start work on wiki report (Aim - To propose a better format for clear, uniform documentation) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#12] July 19 - July 26&lt;br /&gt;
Hard Deadline &lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
Submit Wiki Report; Get feedback from the community&lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#13] July 27 - August 05&lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
Implement further suggestion if possible. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#14] August 6 - August 13 &lt;br /&gt;
 || Final Code Evaluations&lt;br /&gt;
Various blog posts about the entire experience, GSoC 2018 and Sugar Community. &lt;br /&gt;
Finish making the activity (tentative) &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* I love writing and reading the code. I learned almost everything by reading the docs. I, later on, started writing documentation and code for others too. Helping me always know exactly where I can find the information I am looking for and how to improve on it, how necessary it is.  &lt;br /&gt;
* All my past projects, showcase a strong dedication to the deadline and the determination to get work done. WikiPort will be no different.  &lt;br /&gt;
* As for my skills, &amp;lt;br /&amp;gt;&lt;br /&gt;
- Articles written, published using Pelican, Wordpress (Markdown).&amp;lt;br /&amp;gt;&lt;br /&gt;
- I use git in all project that I start. Document and collaborate on GitHub. &amp;lt;br /&amp;gt;&lt;br /&gt;
- Comfortable with both Linux and Windows OS, (preferring Linux all the way) &amp;lt;br /&amp;gt;&lt;br /&gt;
- Since Python is used widely, my previous project justify my experience and skill in the language &amp;lt;br /&amp;gt;&lt;br /&gt;
- There is no better to prove that I can accomplish and execute my vision for WikiPort by actually showing that work has been done. (here) &amp;lt;br /&amp;gt;&lt;br /&gt;
- There are many points to keep in mind while migrating is taking place, hence for a &#039;&#039;&#039;more methodical&#039;&#039;&#039; approach a [https://etherpad.net/p/Sugar_Migration_Checklist checklist] has been implemented by me which has a summary of all the - steps. (Both manual/automated) &amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== You and the community ==&lt;br /&gt;
&#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
*If WikiPort is completed and deployed as a tool for this project. It would help in making the work easier for developers to not just Sugar Labs but everybody and even experienced users. &lt;br /&gt;
*WikiPort will help users port their wikis to GitHub with minimum user inputs, which  would ultimately benefit everyone involved and for many generations of developers to come who will use that documentation.&lt;br /&gt;
*As previously stated, documentation is an important part of any development process. Bad documentation impacts the entire community as. But if the documentation is&lt;br /&gt;
1. &#039;&#039;&#039;Accessible&#039;&#039;&#039; - GitHub is one of the best places to host it. &lt;br /&gt;
2. &#039;&#039;&#039;Relevant and easily traversable&#039;&#039;&#039; - The documentation about every activity will be housed with its GitHub Repository.  &lt;br /&gt;
Clearly written - Strict format to maintain overall uniformity. &lt;br /&gt;
3. &#039;&#039;&#039;Easily editable (+ VCS)&#039;&#039;&#039; - Wiki offers edit history of documents too, but the process to edit a document is cumbersome while GitHub makes it very easy for users to fix issues in it. &lt;br /&gt;
4. &#039;&#039;&#039;More views, more stars&#039;&#039;&#039; - GitHub also increases views and popularity of the activity ultimately helping Sugar Labs to get noticed more.&lt;br /&gt;
If our documentation has all these features, then everybody would be more inclined towards contributing to Sugar Labs and get to know more about it.  &lt;br /&gt;
People would contribute more to bug fixing, indirectly helping the Sugar Labs community to grow and expand more. Helping students, developers, activity maintainers, members of the community.&lt;br /&gt;
Produce a new tool by the community, for the community and with the community’s help for everyone to benefit from.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 2:&#039;&#039;&#039; Walter Bender - walter.bender@gmail.com &amp;lt;br /&amp;gt;&lt;br /&gt;
This project has solid potential to address several pressing issues for the community: &lt;br /&gt;
(1) bifurcation --  we are spread across too many platforms which is both a maintenance issue and also an issue for our users and potential developers, who struggle to find the documentation for the Sugar Activities; &lt;br /&gt;
(2) redundancy -- we are spread too thin to maintain multiple, redundant instances of documentation. Migrating everything to a uniform platform where is it directly tied to the source would impact both of these issues.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 3:&#039;&#039;&#039; James Cameron - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His assessment of project impact from both Github and Email )&lt;br /&gt;
* &amp;quot;Migration is needed because Wiki is not being used now that GitHub is being used. Maintaining the Wiki in addition to GitHub is not sustainable. So we want documentation to move from Wiki to GitHub. So that when an activity is updated in GitHub, the documentation can be updated in the same place at the same time.&amp;quot;&lt;br /&gt;
* “Originally documentation was separate because we had non-coding developers and tool chains that varied by type of developer.  Now we use GitHub the tool chains are combined. With the project as described, documentation will be concentrated in the source code repository for an activity, reducing ongoing maintenance.We have less active Wiki contributors than we ever did, and in the current threat environment a Wiki requires significant monitoring and administration; we recently lost some system administrators and gained new ones; using GitHub allows us to outsource system administration.”&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 4:&#039;&#039;&#039; Tony Anderson - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His comments clarifying the need of WikiPort and the problems it solves)&lt;br /&gt;
As always, the question is the impact on our users. The traditional source of information for users is [1] and [2] and, especially the wiki pages. So far the effect of gitHub has been to reduce the value of these two sources. In many cases the activities on ASLO have been superseded by ones on gitHub or other git repository but are not available to our users. The documentation of activities on ASLO has never been adequate but now no effort will be made to improve it. This continues the trend toward Sugar being a playground for the technical elite. Complete conversation available here.&lt;br /&gt;
[1] http://www.sugarlabs.org 				[2] http://www.laptop.org&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What will you do if you get stuck on your project and your mentor isn&#039;t around?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
I strive to solve a problem using my own skill base by searching about the problem case and working it out into smaller bits.&lt;br /&gt;
#sugar and #sugar-devel channels on IRC, the mailing lists where other community members discuss issues. I am familiar with mailing list etiquettes for open source communities and learn fairly fast.&lt;br /&gt;
Google and StackOverflow about the issues, later refer to the documentation of the tool I am using for reference. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I would get regular, constructive feedback on the code I will write and the work I would do for the community by posting work samples from Github, on the mailing list and on IRC. [Check Timeline for the same]&lt;br /&gt;
Post constant updates on my blog and maintain an update tracker for each week on a public notepad (Etherpad, etc.)&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&#039;&#039;&#039;Send us a link to a pull request or merge request you have made a Sugar or Sugar activity bug.&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I needed to test my WikiPort beta script that I had created, hence made some extra efforts and migrated these four wiki pages listed below.   &lt;br /&gt;
[https://github.com/sugarlabs/lettermatch/pull/3 lettermatch/pull/3] &lt;br /&gt;
[https://github.com/sugarlabs/AEIOU/pull/9 sugarlabs/AEIOU/pull/9] &lt;br /&gt;
[https://github.com/sugarlabs/iknowmyabcs/pull/7 iknowmyabcs/pull/7] &lt;br /&gt;
[https://github.com/sugarlabs/i-can-read-activity/pull/6 /i-can-read-activity/pull/6] &lt;br /&gt;
&lt;br /&gt;
Another Issue that I am currently working  is [https://github.com/sugarlabs/sugar-live-build/issues/6 sugar-live-build/issues/] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe a great learning experience you had as a child.&#039;&#039;&#039;&lt;br /&gt;
Here’s a short story titled “Let me Google that for you.” when I was 14. &lt;br /&gt;
&lt;br /&gt;
From my childhood, web technologies have always piqued my interest for the longest time as I can remember. I been writing HTML since I was 1. But I never liked to read from the old, dusty books. When I code, I had to take help from seniors, teachers, the experience I gained and other sources. Almost everybody was irritated by the constant barrage of long and complex questions, that Vipul Gupta had.&lt;br /&gt;
So what happened one day, I walked to one of the seniors and asked him a question if I remember right about how he would determine which browser is better for a particular segment of code I wrote. He took me to the lab and told me to open a link similar like to this http://bfy.tw/HFBs This will have the solution surely to all my problems. &lt;br /&gt;
What happened next? I was embarrassed and couldn’t see straight but he was not judgemental and was very humble (A trait everyone of should have towards beginners, I feel like.) and from that day forward. The only place I actually learned something was the internet. &lt;br /&gt;
That day I actually learned how to Google by letting someone google that for me. Teaching by the application at its best. I look back to this incident and still smile. I share this experience of mine whenever I have a chance to interact with my juniors that serves as motivation boost and compels them to think that nothing is impossible, and everybody makes mistakes once in a while.  This lead to me creating hundreds of links more from this website. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* I think I am well satisfied with the proposal that I have made for WikiPort, the project for Sugar Labs. The template given by Sugar Labs really covers all the corners of my  project, and actually helped me think more constructively about the project and the fine aspects of it. &lt;br /&gt;
* I learned a lot through these few weeks, working on the proposal. MediaWIki API and new skills, contributing to an open-source organisation of this stature, how to interact with people. This has been a memorable experience. I am in awe, I really am.&lt;br /&gt;
* All open-source communities may not be same, but are run on the same principle that I also try to follow in life. Be humble, and helpful to everybody. The ‘ahaa-moment’ of a beginner is what I live for, when he truly get the point that I am trying to make.&lt;br /&gt;
* Some Credits - Learned to not contest for issues, but focus on better PR’s, and many new things from James Cameron (@Quozl)’s blog. Jasikrat too for helping people on IRC emailsll mentors who review our proposal and go through all our mails. Thank you all for the opportunities and the help provided to me and my fellow contributors. I hope down the line, I could follow in your footsteps too.&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
__INDEX__&lt;br /&gt;
[[Category:2018 GSoC applications]]&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101629</id>
		<title>WikiPort</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101629"/>
		<updated>2018-03-29T13:37:39Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:WikiPort - Migration activity page to git}}&lt;br /&gt;
&lt;br /&gt;
== Page Under Development GO SLOW! ==&lt;br /&gt;
This page is under heavy development, thus for the time being, please refer to the proposal in rich-formatting on  [https://docs.google.com/document/d/1mPd_SeUqeJF_yKWVEDFuzU7LWsnUFSbLdQQ44HvsYyA/edit?usp=sharing Google Docs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Logo wikiport.png|frameless|center|WikiPort]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About You ==&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039; - Vipul Gupta&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Email address&#039;&#039;&#039; - [http://mailto:vipulgupta2048@gmail.com vipulgupta2048@gmail.com] &amp;lt;br /&amp;gt;  &lt;br /&gt;
&#039;&#039;&#039;Blog Url&#039;&#039;&#039; -  [http://www.mixstersite.wordpress.com www.mixstersite.wordpress.com]  &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Sugar Labs wiki username&#039;&#039;&#039; - [https://wiki.sugarlabs.org/go/User:Vipulgupta2048 Vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IRC nickname&#039;&#039;&#039; - vipulgupta2048 &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Linkedin&#039;&#039;&#039; - [http://www.linkedin.com/in/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Github&#039;&#039;&#039; - [http://www.github.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Twitter&#039;&#039;&#039; - [http://www.twitter.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;First language - &#039;&#039;&#039;English (Fluent) &#039;&#039;&#039;&amp;lt;br /&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Located at, and what hours (UTC) do you tend to work&#039;&#039;&#039; - I am based out of New Delhi, India (+5.30 GMT). I am flexible with timings and can work for 3-5 hours everyday. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects or some other demonstration of the work that you have done in open-source?&#039;&#039;&#039;&lt;br /&gt;
Yes, I have participated and maintained many open-source projects. Also been contributing to other community and conference projects. Some of the links and description of those pages are as follows&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/asetalias/asetalias.github.io/pull/52 First pull request] on my college community’s website, [http://www.github.com/asetalias ALiAS] - Maintainer since 2016.&lt;br /&gt;
* [https://github.com/vipulgupta2048/opengisproj_mirror vipulgupta2048/opengisproj_mirror]- Involved building a web app for real-time monitoring of pollution levels in rivers of India and to assess the impact on the health of people using the water from the river. The working repo is private, hence a public mirror for showcasing. &lt;br /&gt;
* [https://github.com/vipulgupta2048/scrape vipulgupta2048/scrape] Scraping major news websites/outlets in India using Scrapy [Python] Managing the data flow by employing PostgreSQL. Finding fake news using Machine Learning with help of libraries (Word2vec)&lt;br /&gt;
* Fixed bugs, wrote blogs, added new features using HTML, CSS and JS for the official website of the premier conference on Python in India, PyCON India 2017 ([https://github.com/pythonindia/inpycon2017/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ Here] and [https://github.com/pythonindia/inpycon-blog/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ here]) &lt;br /&gt;
* [https://gitlab.com/asetalias/Community-Connect gitlab/asetalias/Community-Connect] [Ongoing]  &lt;br /&gt;
* Completed: Hacktoberfest Challenge;  [https://hacktoberfestchecker.herokuapp.com/?username=vipulgupta2048 Here].&lt;br /&gt;
* Building and mentoring website development for Pyladies Delhi Chapter [https://github.com/vipulgupta2048/Pyladies-delhi-website Pyladies-delhi-website]  &lt;br /&gt;
* Recent contribution: In Sugar Labs. Mentioned in the Miscellaneous section.        &lt;br /&gt;
&lt;br /&gt;
Along with this, [http://meetup.com/pydelhi Python Delhi User Group] (PyDelhi) is a volunteer-driven organization comprising of Pythonistas, enthusiasts, who have a primary focus in Python. I help by volunteering and organizing meetups for them. &amp;lt;br /&amp;gt;&lt;br /&gt;
I am a committee member of my college’s open source community. [http://www.asetalias.in ALiAS (Amity Linux Assistance Sapience)] We conduct hands-on workshops, seminars, talks and much more to try and help as many people as we can along the process and motivate them to make their first PR.&amp;lt;br /&amp;gt;&lt;br /&gt;
I genuinely love spreading knowledge among peers/juniors/underprivileged children wherever I can through my voice ([https://github.com/asetalias/Logistics-and-Event-Contributions/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed Talks] and [https://github.com/ILUGD/talks/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed workshops]) and my words ([http://www.mixstersite.wordpress.com Tech-Blog])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039; &amp;lt;br /&amp;gt; &lt;br /&gt;
Wikiport &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using? &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Abstract Ideas:&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
	Documentation tools have become modern, lighter, easier to use with the use of Sphinx, Github pages/wiki, Mkdocs and many more similar frameworks and applications. It’s easily the first and the most important steps for any open-source projects implemented by almost everybody.&amp;lt;br /&amp;gt; &lt;br /&gt;
If people know more, they would want to get involved and contribute more. This would, in turn, help the entire community to grow and expand. If the information (Documentation) is accessible fast, easily comprehensible, simple enough to edit and manage for people then I think this project will help really help Sugar Labs achieve that.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;My understanding of the problem and why it needs to be solved?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Documentation, as mentioned before, is important to all open-source projects. Sugar Labs has all documentation for its learner applications called “Activities” at one place in the Activities#Sugar_Activities. Some problem (#risks) that I found with this sort of implementation is as follows:- &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Difficult to add, edit and manage&#039;&#039;&#039;  - In reference to the conversation [archive/sugar-devel] As a user, I need to create an account for editing privileges. Which is very tiresome to be very honest, hence discouraging contributions. &lt;br /&gt;
# &#039;&#039;&#039;Size issues&#039;&#039;&#039; - Wiki is being hosted on the a server. With the growing number of activities, the size occupied by them will increase leading to rise in maintenance cost. Not to mention buying more space. &lt;br /&gt;
# &#039;&#039;&#039;No clear format/classification&#039;&#039;&#039; - Some links are for one activity only while other activities have multiple links for them (example Turtle Art) Results in time being wasted of the user even if they are justified. &lt;br /&gt;
- Found 2 wiki pages of the same activity. (this page and this too)&lt;br /&gt;
I did extensive research on the same and found many such problems with the wiki. According to my experience in open-source, users just need information fast, easily accessible and neatly organized. &amp;lt;br /&amp;gt;&lt;br /&gt;
A new method to make that information organized should be brought in place for the betterment of the whole community. GitHub could be the solution to all our problems (Check here for reference) WikiPort is a tool that helps in migration process of wiki’s to Github hosted README.md. &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Objective&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
To migrate documentation and information of each activity in Activities#Sugar_Activities of Sugar Labs in MediaWiki format to their respective git repositories hosted on GitHub in rich markdown format by a program/tool with special attention to the transfer of all information and media associated with the activity with least redundancies and zero duplication of content if not already present in GitHub@README.md or user documentation in help-activity.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Technologies and Skills Used&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This list is just a small glimpse of technologies that I am thinking to use for this project. I am proficient in each of them, through my past projects. (Refer)  &lt;br /&gt;
* &#039;&#039;&#039;Programming Language&#039;&#039;&#039;: Python 3.6 using libraries such as requests, LXML, Scrapy, Beautifulsoup etc. Python will be used widely in this project. &lt;br /&gt;
* &#039;&#039;&#039;Markup Languages&#039;&#039;&#039; - Markdown, MediaWiki, reStructuredText&lt;br /&gt;
* &#039;&#039;&#039;For Automation&#039;&#039;&#039; - Ansible or Bash (To automate each step of the migration process and installation of the tool.)&lt;br /&gt;
* &#039;&#039;&#039;Tools&#039;&#039;&#039; - git, shell, MediaWiki API - Pywikibot,GitHub API (Experimental) &lt;br /&gt;
* &#039;&#039;&#039;Others&#039;&#039;&#039; - Yaml (If Ansible is used) &lt;br /&gt;
&lt;br /&gt;
== An Overview of the Migration Process ==  &lt;br /&gt;
&lt;br /&gt;
[[File:S.U.G.A.R.png|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Detailed Description of the steps mentioned &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;One time task&#039;&#039;&#039; - Use a spider to scrape GitHub links for each activity in a proper JSON format (with names of each activity). IF GitHub links not found for the repository, then scripts throws back exception and then links can be found manually. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Step 0&#039;&#039;&#039; - Extracting content; from these methods that offers the least redundancies. My research yielded these results.&lt;br /&gt;
:  1. Query MediaWiki API and acquire content in wikitext format&lt;br /&gt;
:  2. Export pages in XML using Python Wikipedia Robot Framework  &lt;br /&gt;
:  3.  GET page in simple HTML ( Activities/Sugar_Network&amp;amp;printable=yes) &lt;br /&gt;
*&#039;&#039;&#039;Step 1 -&#039;&#039;&#039; Convert the data sourced from step 0; using Pandoc to Markdown. Removing syntax, comments and Wikimedia code that might be left after conversion using regex wherever required.  &lt;br /&gt;
* &#039;&#039;&#039;Step 2&#039;&#039;&#039; - Fork and clone the respective GitHub repository from the links already scraped or found manually of the activity   &lt;br /&gt;
* Step 3 - Python script to find all image links and then fetches media (images) associated with the activity from web-page; renames them in correct format; adds them to repository folder cloned under “ images” Fix image links and testing.&lt;br /&gt;
* &#039;&#039;&#039;Step 4 -&#039;&#039;&#039; Ensuring content is not duplicated by being already present either in the README.md file or the user documentation in the help-activity. Make the necessary changes, fix broken links. Testing; Commit and push to fork.&lt;br /&gt;
* &#039;&#039;&#039;Step 5 -&#039;&#039;&#039; Pull request submitted with the detailed description of the changes in activity documentation in clear format containing all details. When PR merged, move to step 6.   &lt;br /&gt;
* &#039;&#039;&#039;Step 6 -&#039;&#039;&#039; Use Pywikibot (Check delete.py) to delete pages/media associated with wiki page using admin privileges and link back to their repositories. This can also be achieved using the mediawiki API which saves edit history as I mentioned before.  (Read more here)              (End-to-end Migration of wiki page complete)      &lt;br /&gt;
* &#039;&#039;&#039;Step 7&#039;&#039;&#039; - Repeat Step 1 for next activity.&lt;br /&gt;
&lt;br /&gt;
== Project Deliverables ==&lt;br /&gt;
# 345 web pages stored in MediaWiki format atActivities#Sugar_Activities on Sugar Labs Wiki converted to Markdown format with assets (images and other files) intact and in-place with zero duplication.  &lt;br /&gt;
# Files in Markdown converted from the wiki content are tested and checked to ensure foolproof 100% migration without any redundancies or loss of information. Manually or through scripts.&lt;br /&gt;
# A detailed report with classified information about the Sugar_activities wiki that needs further improvements submitted to Sugar Labs (Refer week #8 in timeline #Wikiteam)&lt;br /&gt;
Files committed, pushed and PR’s made in each activity’s respective git repository in an information specific format for easy reference. &lt;br /&gt;
# Tested bug-free source code for everyone to use (and other open source projects) for their wikis facing the same issues. Complete documentation of the migration method submitted on time of evaluations with the review of the mentor incorporated.&lt;br /&gt;
# After the complete transfer of all the wiki content, discuss and implement the last actions on the wiki, to either delete the pages or link them back to their respective git repositories.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Thus, by the deliverables mentioned above, 3 well-defined goals that determine project status which will help in evaluation i.e&#039;&#039;&#039;&amp;lt;br /&amp;gt;1. Evaluation 1: Migration of 100 wiki-pages complete; &amp;lt;br /&amp;gt;2. Evaluation 2: Migration of 300 wiki-pages complete;&amp;lt;br /&amp;gt;3. Final: Migration of 345 wiki-pages;&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Other Deliverables (and Future Work) ==&lt;br /&gt;
# &#039;&#039;&#039;Contribute more&#039;&#039;&#039; - After and during the project, will help in solving bigger challenges and bugs faced as my experience lies in DevOps tasks and start reading code of Sugarizer.&lt;br /&gt;
# &#039;&#039;&#039;Add Features&#039;&#039;&#039; - Edit history of wikis that are being migrated by WikiPort can be exported as commits on GitHub (implementing this).  &lt;br /&gt;
# &#039;&#039;&#039;Create New Activities&#039;&#039;&#039; - Being well versed in Python (tried making a game with pygame) Would enjoy the new learning curve as I never really explored GTK. Have some new ideas that could be later transformed into fun, interactive learning activities.&lt;br /&gt;
# &#039;&#039;&#039;Complete Misc. Tasks&#039;&#039;&#039; - Wiki pages contain task waiting to be completed I would like to volunteer and finish them for the welfare of the community like this one here IRC#Wishlist.&lt;br /&gt;
# Remain as an &#039;&#039;&#039;active contributor for Sugar Labs&#039;&#039;&#039; and take part in discussions for the future projects. Maybe if the community agrees, also mentor someone &#039;&#039;&#039;myself&#039;&#039;&#039; in the foreseeable future.&lt;br /&gt;
# Use Automation to our favor so that many tasks are completed in WikiPort using bash or Ansible scripts like environment setups, installation and fine workings of the entire tool. (Aim - one command to work it all out with the least number of user interventions)&lt;br /&gt;
“WikiPort converts all MediaWiki documents to rich markdown format and commit them to GitHub or other hosting services without losing any of your data. A tool created by Sugar Labs with love.” &lt;br /&gt;
This seems to me like an excellent repository description of an awesome tool.&lt;br /&gt;
I always wanted to create an open-source tool, that people would use and benefit from and take the time to contribute back. &lt;br /&gt;
WikiPort feels likes that chance.  &lt;br /&gt;
 &lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
* In accordance with the official timeline by GSoC, my college exams end somewhere in the first week of May or so. My college reopens early in July. During this time, I will remain in contact with my mentor.&lt;br /&gt;
* This gives me ample time to code. I plan to begin coding before the official period coding period of GSoC starts from starting of May. Which gives me a head start to finish the majority (80%) of the project before the second evaluation. &lt;br /&gt;
 &#039;&#039;&#039;Providing a total of 10 weeks to write code for WikiPort (&amp;amp; other deliverables)&#039;&#039;&#039;&lt;br /&gt;
* I will also write a weekly or Bi-weekly blog post on my progress and updates on my project and post it diligently on the website to get the community involved.  The Weekly timeline is as follows. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Week Number [#]  !! Tasks&lt;br /&gt;
|-&lt;br /&gt;
| [#1] April 23 - April 30   || Community Bonding Period &lt;br /&gt;
Community Bonding, if possible keen on having a meeting with the Activity and wiki team. Discussion of ideas that I have. Research Part 1&lt;br /&gt;
MediaWiki [Syntax, documentation, API, functionalities]; GitHub API; Wikitext; Exploring the problem case defined earlier.&lt;br /&gt;
|-&lt;br /&gt;
| [#2] April 1 - May 7&lt;br /&gt;
 || Start documentation and blog post, about Sugar Labs on my blog.Setup: development environment. &lt;br /&gt;
Continue with Research &lt;br /&gt;
&lt;br /&gt;
Part 2 - Finding, testing, implementing solutions available for Migration Process step 0 through 6. Discuss results with the mentor, shortlist methods that have the highest success rate. &lt;br /&gt;
Pushing to Github; fixing organization problems&lt;br /&gt;
|-&lt;br /&gt;
| [#3] May 7 - May 14&lt;br /&gt;
 || Finalized migration process, start coding.&lt;br /&gt;
Spider ready to scrape activities for their GitHub repo.&lt;br /&gt;
Report on activities missing GitHub repo. links &lt;br /&gt;
Blog post on Community Bonding @ Sugar Labs&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#4] May 15 - May 22&lt;br /&gt;
 || Official Coding period starts &lt;br /&gt;
Start work on migration script. &lt;br /&gt;
Test migration script on 10 activities (aim - 60% migration of content from wiki to GitHub readme of the activity)&lt;br /&gt;
Gets reviewed by the mentor; implement suggestions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#5] May 23 - May 30&lt;br /&gt;
 || Work on script continues; Tweaking; suggestions implemented by the community&lt;br /&gt;
Testing extensively; and commenting &lt;br /&gt;
Documentation for script&lt;br /&gt;
40 pages completed (Aim - 70% migration of content through the script without manual edits;)&lt;br /&gt;
Write a quality checklist for pages converted to determine bugs, thorough checking of every page converted, every step of the way. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#6] June 1 - June 7&lt;br /&gt;
 || Work on Other Deliverables &lt;br /&gt;
Script improved; Commenting; Logging implemented;&lt;br /&gt;
Quality Checks implemented on sourced markdown files&lt;br /&gt;
Blog post on research and work did so far. &lt;br /&gt;
100 pages completed (minor improvements)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#7] June 8 - June 15&lt;br /&gt;
First Code Evaluations&lt;br /&gt;
 || Implement suggestions from evaluations.&lt;br /&gt;
Start work towards automation of scripts wherever possible (Aim - Least user input)&lt;br /&gt;
Start work on making WikiPort available to all as a simple tool.&lt;br /&gt;
150 pages completed. &lt;br /&gt;
Get a review of pages migrated, from the community.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#8] June 16 - June 23&lt;br /&gt;
 || Documentation alpha release; Repository made; &lt;br /&gt;
Start work: Report of Activities#Sugar_Activities&lt;br /&gt;
200 pages migrated.&lt;br /&gt;
Give a talk related to “Sugar and what it stands for” at one of our local meetups in Delhi. &lt;br /&gt;
Random quality checks; manual fixes wherever required. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#9] June 24 - July 1&lt;br /&gt;
 || 250 pages migrated, checked. &lt;br /&gt;
Get a review of the pages migrated from the community and mentor(s)&lt;br /&gt;
Implement and discuss changes.&lt;br /&gt;
Start with pet project of making my own activity.&lt;br /&gt;
Finish automation task. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#10] July 2 - July 10 &lt;br /&gt;
|| Second Code Evaluations&lt;br /&gt;
300 pages migrated. Completed end-to-end. &lt;br /&gt;
Blog post about GSoC: 10 weeks later.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#11] July 11 - July 18&lt;br /&gt;
Soft Deadline - All 345 web pages migrated completing the primary objective.&lt;br /&gt;
 || 345 pages migrated.  &lt;br /&gt;
Documentation completed.&lt;br /&gt;
Tool Ready with automated tasks and checks wherever they could be implemented hosted on GitHub for everyone to use under Sugar Labs&lt;br /&gt;
Start work on wiki report (Aim - To propose a better format for clear, uniform documentation) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#12] July 19 - July 26&lt;br /&gt;
Hard Deadline &lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
Submit Wiki Report; Get feedback from the community&lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#13] July 27 - August 05&lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
Implement further suggestion if possible. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#14] August 6 - August 13 &lt;br /&gt;
 || Final Code Evaluations&lt;br /&gt;
Various blog posts about the entire experience, GSoC 2018 and Sugar Community. &lt;br /&gt;
Finish making the activity (tentative) &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* I love writing and reading the code. I learned almost everything by reading the docs. I, later on, started writing documentation and code for others too. Helping me always know exactly where I can find the information I am looking for and how to improve on it, how necessary it is.  &lt;br /&gt;
* All my past projects, showcase a strong dedication to the deadline and the determination to get work done. WikiPort will be no different.  &lt;br /&gt;
* As for my skills, &amp;lt;br /&amp;gt;&lt;br /&gt;
- Articles written, published using Pelican, Wordpress (Markdown).&amp;lt;br /&amp;gt;&lt;br /&gt;
- I use git in all project that I start. Document and collaborate on GitHub. &amp;lt;br /&amp;gt;&lt;br /&gt;
- Comfortable with both Linux and Windows OS, (preferring Linux all the way) &amp;lt;br /&amp;gt;&lt;br /&gt;
- Since Python is used widely, my previous project justify my experience and skill in the language &amp;lt;br /&amp;gt;&lt;br /&gt;
- There is no better to prove that I can accomplish and execute my vision for WikiPort by actually showing that work has been done. (here) &amp;lt;br /&amp;gt;&lt;br /&gt;
- There are many points to keep in mind while migrating is taking place, hence for a &#039;&#039;&#039;more methodical&#039;&#039;&#039; approach a [https://etherpad.net/p/Sugar_Migration_Checklist checklist] has been implemented by me which has a summary of all the - steps. (Both manual/automated) &amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== You and the community ==&lt;br /&gt;
&#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
*If WikiPort is completed and deployed as a tool for this project. It would help in making the work easier for developers to not just Sugar Labs but everybody and even experienced users. &lt;br /&gt;
*WikiPort will help users port their wikis to GitHub with minimum user inputs, which  would ultimately benefit everyone involved and for many generations of developers to come who will use that documentation.&lt;br /&gt;
*As previously stated, documentation is an important part of any development process. Bad documentation impacts the entire community as. But if the documentation is&lt;br /&gt;
1. &#039;&#039;&#039;Accessible&#039;&#039;&#039; - GitHub is one of the best places to host it. &lt;br /&gt;
2. &#039;&#039;&#039;Relevant and easily traversable&#039;&#039;&#039; - The documentation about every activity will be housed with its GitHub Repository.  &lt;br /&gt;
Clearly written - Strict format to maintain overall uniformity. &lt;br /&gt;
3. &#039;&#039;&#039;Easily editable (+ VCS)&#039;&#039;&#039; - Wiki offers edit history of documents too, but the process to edit a document is cumbersome while GitHub makes it very easy for users to fix issues in it. &lt;br /&gt;
4. &#039;&#039;&#039;More views, more stars&#039;&#039;&#039; - GitHub also increases views and popularity of the activity ultimately helping Sugar Labs to get noticed more.&lt;br /&gt;
If our documentation has all these features, then everybody would be more inclined towards contributing to Sugar Labs and get to know more about it.  &lt;br /&gt;
People would contribute more to bug fixing, indirectly helping the Sugar Labs community to grow and expand more. Helping students, developers, activity maintainers, members of the community.&lt;br /&gt;
Produce a new tool by the community, for the community and with the community’s help for everyone to benefit from.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 2:&#039;&#039;&#039; Walter Bender - walter.bender@gmail.com &amp;lt;br /&amp;gt;&lt;br /&gt;
This project has solid potential to address several pressing issues for the community: &lt;br /&gt;
(1) bifurcation --  we are spread across too many platforms which is both a maintenance issue and also an issue for our users and potential developers, who struggle to find the documentation for the Sugar Activities; &lt;br /&gt;
(2) redundancy -- we are spread too thin to maintain multiple, redundant instances of documentation. Migrating everything to a uniform platform where is it directly tied to the source would impact both of these issues.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 3:&#039;&#039;&#039; James Cameron - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His assessment of project impact from both Github and Email )&lt;br /&gt;
* &amp;quot;Migration is needed because Wiki is not being used now that GitHub is being used. Maintaining the Wiki in addition to GitHub is not sustainable. So we want documentation to move from Wiki to GitHub. So that when an activity is updated in GitHub, the documentation can be updated in the same place at the same time.&amp;quot;&lt;br /&gt;
* “Originally documentation was separate because we had non-coding developers and tool chains that varied by type of developer.  Now we use GitHub the tool chains are combined. With the project as described, documentation will be concentrated in the source code repository for an activity, reducing ongoing maintenance.We have less active Wiki contributors than we ever did, and in the current threat environment a Wiki requires significant monitoring and administration; we recently lost some system administrators and gained new ones; using GitHub allows us to outsource system administration.”&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 4:&#039;&#039;&#039; Tony Anderson - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His comments clarifying the need of WikiPort and the problems it solves)&lt;br /&gt;
As always, the question is the impact on our users. The traditional source of information for users is [1] and [2] and, especially the wiki pages. So far the effect of gitHub has been to reduce the value of these two sources. In many cases the activities on ASLO have been superseded by ones on gitHub or other git repository but are not available to our users. The documentation of activities on ASLO has never been adequate but now no effort will be made to improve it. This continues the trend toward Sugar being a playground for the technical elite. Complete conversation available here.&lt;br /&gt;
[1] http://www.sugarlabs.org 				[2] http://www.laptop.org&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What will you do if you get stuck on your project and your mentor isn&#039;t around?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
I strive to solve a problem using my own skill base by searching about the problem case and working it out into smaller bits.&lt;br /&gt;
#sugar and #sugar-devel channels on IRC, the mailing lists where other community members discuss issues. I am familiar with mailing list etiquettes for open source communities and learn fairly fast.&lt;br /&gt;
Google and StackOverflow about the issues, later refer to the documentation of the tool I am using for reference. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I would get regular, constructive feedback on the code I will write and the work I would do for the community by posting work samples from Github, on the mailing list and on IRC. [Check Timeline for the same]&lt;br /&gt;
Post constant updates on my blog and maintain an update tracker for each week on a public notepad (Etherpad, etc.)&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&#039;&#039;&#039;Send us a link to a pull request or merge request you have made a Sugar or Sugar activity bug.&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I needed to test my WikiPort beta script that I had created, hence made some extra efforts and migrated these four wiki pages listed below.   &lt;br /&gt;
[https://github.com/sugarlabs/lettermatch/pull/3 lettermatch/pull/3] &lt;br /&gt;
[https://github.com/sugarlabs/AEIOU/pull/9 sugarlabs/AEIOU/pull/9] &lt;br /&gt;
[https://github.com/sugarlabs/iknowmyabcs/pull/7 iknowmyabcs/pull/7] &lt;br /&gt;
[https://github.com/sugarlabs/i-can-read-activity/pull/6 /i-can-read-activity/pull/6] &lt;br /&gt;
&lt;br /&gt;
Another Issue that I am currently working  is [https://github.com/sugarlabs/sugar-live-build/issues/6 sugar-live-build/issues/] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe a great learning experience you had as a child.&#039;&#039;&#039;&lt;br /&gt;
Here’s a short story titled “Let me Google that for you.” when I was 14. &lt;br /&gt;
&lt;br /&gt;
From my childhood, web technologies have always piqued my interest for the longest time as I can remember. I been writing HTML since I was 1. But I never liked to read from the old, dusty books. When I code, I had to take help from seniors, teachers, the experience I gained and other sources. Almost everybody was irritated by the constant barrage of long and complex questions, that Vipul Gupta had.&lt;br /&gt;
So what happened one day, I walked to one of the seniors and asked him a question if I remember right about how he would determine which browser is better for a particular segment of code I wrote. He took me to the lab and told me to open a link similar like to this http://bfy.tw/HFBs This will have the solution surely to all my problems. &lt;br /&gt;
What happened next? I was embarrassed and couldn’t see straight but he was not judgemental and was very humble (A trait everyone of should have towards beginners, I feel like.) and from that day forward. The only place I actually learned something was the internet. &lt;br /&gt;
That day I actually learned how to Google by letting someone google that for me. Teaching by the application at its best. I look back to this incident and still smile. I share this experience of mine whenever I have a chance to interact with my juniors that serves as motivation boost and compels them to think that nothing is impossible, and everybody makes mistakes once in a while.  This lead to me creating hundreds of links more from this website. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* I think I am well satisfied with the proposal that I have made for WikiPort, the project for Sugar Labs. The template given by Sugar Labs really covers all the corners of my  project, and actually helped me think more constructively about the project and the fine aspects of it. &lt;br /&gt;
* I learned a lot through these few weeks, working on the proposal. MediaWIki API and new skills, contributing to an open-source organisation of this stature, how to interact with people. This has been a memorable experience. I am in awe, I really am.&lt;br /&gt;
* All open-source communities may not be same, but are run on the same principle that I also try to follow in life. Be humble, and helpful to everybody. The ‘ahaa-moment’ of a beginner is what I live for, when he truly get the point that I am trying to make.&lt;br /&gt;
* Some Credits - Learned to not contest for issues, but focus on better PR’s, and many new things from James Cameron (@Quozl)’s blog. Jasikrat too for helping people on IRC emailsll mentors who review our proposal and go through all our mails. Thank you all for the opportunities and the help provided to me and my fellow contributors. I hope down the line, I could follow in your footsteps too.&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
__INDEX__&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101628</id>
		<title>WikiPort</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101628"/>
		<updated>2018-03-29T13:36:22Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: /* An Overview of the Migration Process */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Page Under Development GO SLOW! ==&lt;br /&gt;
This page is under heavy development, thus for the time being, please refer to the proposal in rich-formatting on  [https://docs.google.com/document/d/1mPd_SeUqeJF_yKWVEDFuzU7LWsnUFSbLdQQ44HvsYyA/edit?usp=sharing Google Docs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Logo wikiport.png|frameless|center|WikiPort]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About You ==&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039; - Vipul Gupta&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Email address&#039;&#039;&#039; - [http://mailto:vipulgupta2048@gmail.com vipulgupta2048@gmail.com] &amp;lt;br /&amp;gt;  &lt;br /&gt;
&#039;&#039;&#039;Blog Url&#039;&#039;&#039; -  [http://www.mixstersite.wordpress.com www.mixstersite.wordpress.com]  &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Sugar Labs wiki username&#039;&#039;&#039; - [https://wiki.sugarlabs.org/go/User:Vipulgupta2048 Vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IRC nickname&#039;&#039;&#039; - vipulgupta2048 &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Linkedin&#039;&#039;&#039; - [http://www.linkedin.com/in/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Github&#039;&#039;&#039; - [http://www.github.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Twitter&#039;&#039;&#039; - [http://www.twitter.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;First language - &#039;&#039;&#039;English (Fluent) &#039;&#039;&#039;&amp;lt;br /&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Located at, and what hours (UTC) do you tend to work&#039;&#039;&#039; - I am based out of New Delhi, India (+5.30 GMT). I am flexible with timings and can work for 3-5 hours everyday. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects or some other demonstration of the work that you have done in open-source?&#039;&#039;&#039;&lt;br /&gt;
Yes, I have participated and maintained many open-source projects. Also been contributing to other community and conference projects. Some of the links and description of those pages are as follows&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/asetalias/asetalias.github.io/pull/52 First pull request] on my college community’s website, [http://www.github.com/asetalias ALiAS] - Maintainer since 2016.&lt;br /&gt;
* [https://github.com/vipulgupta2048/opengisproj_mirror vipulgupta2048/opengisproj_mirror]- Involved building a web app for real-time monitoring of pollution levels in rivers of India and to assess the impact on the health of people using the water from the river. The working repo is private, hence a public mirror for showcasing. &lt;br /&gt;
* [https://github.com/vipulgupta2048/scrape vipulgupta2048/scrape] Scraping major news websites/outlets in India using Scrapy [Python] Managing the data flow by employing PostgreSQL. Finding fake news using Machine Learning with help of libraries (Word2vec)&lt;br /&gt;
* Fixed bugs, wrote blogs, added new features using HTML, CSS and JS for the official website of the premier conference on Python in India, PyCON India 2017 ([https://github.com/pythonindia/inpycon2017/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ Here] and [https://github.com/pythonindia/inpycon-blog/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ here]) &lt;br /&gt;
* [https://gitlab.com/asetalias/Community-Connect gitlab/asetalias/Community-Connect] [Ongoing]  &lt;br /&gt;
* Completed: Hacktoberfest Challenge;  [https://hacktoberfestchecker.herokuapp.com/?username=vipulgupta2048 Here].&lt;br /&gt;
* Building and mentoring website development for Pyladies Delhi Chapter [https://github.com/vipulgupta2048/Pyladies-delhi-website Pyladies-delhi-website]  &lt;br /&gt;
* Recent contribution: In Sugar Labs. Mentioned in the Miscellaneous section.        &lt;br /&gt;
&lt;br /&gt;
Along with this, [http://meetup.com/pydelhi Python Delhi User Group] (PyDelhi) is a volunteer-driven organization comprising of Pythonistas, enthusiasts, who have a primary focus in Python. I help by volunteering and organizing meetups for them. &amp;lt;br /&amp;gt;&lt;br /&gt;
I am a committee member of my college’s open source community. [http://www.asetalias.in ALiAS (Amity Linux Assistance Sapience)] We conduct hands-on workshops, seminars, talks and much more to try and help as many people as we can along the process and motivate them to make their first PR.&amp;lt;br /&amp;gt;&lt;br /&gt;
I genuinely love spreading knowledge among peers/juniors/underprivileged children wherever I can through my voice ([https://github.com/asetalias/Logistics-and-Event-Contributions/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed Talks] and [https://github.com/ILUGD/talks/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed workshops]) and my words ([http://www.mixstersite.wordpress.com Tech-Blog])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039; &amp;lt;br /&amp;gt; &lt;br /&gt;
Wikiport &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using? &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Abstract Ideas:&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
	Documentation tools have become modern, lighter, easier to use with the use of Sphinx, Github pages/wiki, Mkdocs and many more similar frameworks and applications. It’s easily the first and the most important steps for any open-source projects implemented by almost everybody.&amp;lt;br /&amp;gt; &lt;br /&gt;
If people know more, they would want to get involved and contribute more. This would, in turn, help the entire community to grow and expand. If the information (Documentation) is accessible fast, easily comprehensible, simple enough to edit and manage for people then I think this project will help really help Sugar Labs achieve that.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;My understanding of the problem and why it needs to be solved?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Documentation, as mentioned before, is important to all open-source projects. Sugar Labs has all documentation for its learner applications called “Activities” at one place in the Activities#Sugar_Activities. Some problem (#risks) that I found with this sort of implementation is as follows:- &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Difficult to add, edit and manage&#039;&#039;&#039;  - In reference to the conversation [archive/sugar-devel] As a user, I need to create an account for editing privileges. Which is very tiresome to be very honest, hence discouraging contributions. &lt;br /&gt;
# &#039;&#039;&#039;Size issues&#039;&#039;&#039; - Wiki is being hosted on the a server. With the growing number of activities, the size occupied by them will increase leading to rise in maintenance cost. Not to mention buying more space. &lt;br /&gt;
# &#039;&#039;&#039;No clear format/classification&#039;&#039;&#039; - Some links are for one activity only while other activities have multiple links for them (example Turtle Art) Results in time being wasted of the user even if they are justified. &lt;br /&gt;
- Found 2 wiki pages of the same activity. (this page and this too)&lt;br /&gt;
I did extensive research on the same and found many such problems with the wiki. According to my experience in open-source, users just need information fast, easily accessible and neatly organized. &amp;lt;br /&amp;gt;&lt;br /&gt;
A new method to make that information organized should be brought in place for the betterment of the whole community. GitHub could be the solution to all our problems (Check here for reference) WikiPort is a tool that helps in migration process of wiki’s to Github hosted README.md. &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Objective&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
To migrate documentation and information of each activity in Activities#Sugar_Activities of Sugar Labs in MediaWiki format to their respective git repositories hosted on GitHub in rich markdown format by a program/tool with special attention to the transfer of all information and media associated with the activity with least redundancies and zero duplication of content if not already present in GitHub@README.md or user documentation in help-activity.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Technologies and Skills Used&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This list is just a small glimpse of technologies that I am thinking to use for this project. I am proficient in each of them, through my past projects. (Refer)  &lt;br /&gt;
* &#039;&#039;&#039;Programming Language&#039;&#039;&#039;: Python 3.6 using libraries such as requests, LXML, Scrapy, Beautifulsoup etc. Python will be used widely in this project. &lt;br /&gt;
* &#039;&#039;&#039;Markup Languages&#039;&#039;&#039; - Markdown, MediaWiki, reStructuredText&lt;br /&gt;
* &#039;&#039;&#039;For Automation&#039;&#039;&#039; - Ansible or Bash (To automate each step of the migration process and installation of the tool.)&lt;br /&gt;
* &#039;&#039;&#039;Tools&#039;&#039;&#039; - git, shell, MediaWiki API - Pywikibot,GitHub API (Experimental) &lt;br /&gt;
* &#039;&#039;&#039;Others&#039;&#039;&#039; - Yaml (If Ansible is used) &lt;br /&gt;
&lt;br /&gt;
== An Overview of the Migration Process ==  &lt;br /&gt;
&lt;br /&gt;
[[File:S.U.G.A.R.png|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Detailed Description of the steps mentioned &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;One time task&#039;&#039;&#039; - Use a spider to scrape GitHub links for each activity in a proper JSON format (with names of each activity). IF GitHub links not found for the repository, then scripts throws back exception and then links can be found manually. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Step 0&#039;&#039;&#039; - Extracting content; from these methods that offers the least redundancies. My research yielded these results.&lt;br /&gt;
:  1. Query MediaWiki API and acquire content in wikitext format&lt;br /&gt;
:  2. Export pages in XML using Python Wikipedia Robot Framework  &lt;br /&gt;
:  3.  GET page in simple HTML ( Activities/Sugar_Network&amp;amp;printable=yes) &lt;br /&gt;
*&#039;&#039;&#039;Step 1 -&#039;&#039;&#039; Convert the data sourced from step 0; using Pandoc to Markdown. Removing syntax, comments and Wikimedia code that might be left after conversion using regex wherever required.  &lt;br /&gt;
* &#039;&#039;&#039;Step 2&#039;&#039;&#039; - Fork and clone the respective GitHub repository from the links already scraped or found manually of the activity   &lt;br /&gt;
* Step 3 - Python script to find all image links and then fetches media (images) associated with the activity from web-page; renames them in correct format; adds them to repository folder cloned under “ images” Fix image links and testing.&lt;br /&gt;
* &#039;&#039;&#039;Step 4 -&#039;&#039;&#039; Ensuring content is not duplicated by being already present either in the README.md file or the user documentation in the help-activity. Make the necessary changes, fix broken links. Testing; Commit and push to fork.&lt;br /&gt;
* &#039;&#039;&#039;Step 5 -&#039;&#039;&#039; Pull request submitted with the detailed description of the changes in activity documentation in clear format containing all details. When PR merged, move to step 6.   &lt;br /&gt;
* &#039;&#039;&#039;Step 6 -&#039;&#039;&#039; Use Pywikibot (Check delete.py) to delete pages/media associated with wiki page using admin privileges and link back to their repositories. This can also be achieved using the mediawiki API which saves edit history as I mentioned before.  (Read more here)              (End-to-end Migration of wiki page complete)      &lt;br /&gt;
* &#039;&#039;&#039;Step 7&#039;&#039;&#039; - Repeat Step 1 for next activity.&lt;br /&gt;
&lt;br /&gt;
== Project Deliverables ==&lt;br /&gt;
# 345 web pages stored in MediaWiki format atActivities#Sugar_Activities on Sugar Labs Wiki converted to Markdown format with assets (images and other files) intact and in-place with zero duplication.  &lt;br /&gt;
# Files in Markdown converted from the wiki content are tested and checked to ensure foolproof 100% migration without any redundancies or loss of information. Manually or through scripts.&lt;br /&gt;
# A detailed report with classified information about the Sugar_activities wiki that needs further improvements submitted to Sugar Labs (Refer week #8 in timeline #Wikiteam)&lt;br /&gt;
Files committed, pushed and PR’s made in each activity’s respective git repository in an information specific format for easy reference. &lt;br /&gt;
# Tested bug-free source code for everyone to use (and other open source projects) for their wikis facing the same issues. Complete documentation of the migration method submitted on time of evaluations with the review of the mentor incorporated.&lt;br /&gt;
# After the complete transfer of all the wiki content, discuss and implement the last actions on the wiki, to either delete the pages or link them back to their respective git repositories.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Thus, by the deliverables mentioned above, 3 well-defined goals that determine project status which will help in evaluation i.e&#039;&#039;&#039;&amp;lt;br /&amp;gt;1. Evaluation 1: Migration of 100 wiki-pages complete; &amp;lt;br /&amp;gt;2. Evaluation 2: Migration of 300 wiki-pages complete;&amp;lt;br /&amp;gt;3. Final: Migration of 345 wiki-pages;&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Other Deliverables (and Future Work) ==&lt;br /&gt;
# &#039;&#039;&#039;Contribute more&#039;&#039;&#039; - After and during the project, will help in solving bigger challenges and bugs faced as my experience lies in DevOps tasks and start reading code of Sugarizer.&lt;br /&gt;
# &#039;&#039;&#039;Add Features&#039;&#039;&#039; - Edit history of wikis that are being migrated by WikiPort can be exported as commits on GitHub (implementing this).  &lt;br /&gt;
# &#039;&#039;&#039;Create New Activities&#039;&#039;&#039; - Being well versed in Python (tried making a game with pygame) Would enjoy the new learning curve as I never really explored GTK. Have some new ideas that could be later transformed into fun, interactive learning activities.&lt;br /&gt;
# &#039;&#039;&#039;Complete Misc. Tasks&#039;&#039;&#039; - Wiki pages contain task waiting to be completed I would like to volunteer and finish them for the welfare of the community like this one here IRC#Wishlist.&lt;br /&gt;
# Remain as an &#039;&#039;&#039;active contributor for Sugar Labs&#039;&#039;&#039; and take part in discussions for the future projects. Maybe if the community agrees, also mentor someone &#039;&#039;&#039;myself&#039;&#039;&#039; in the foreseeable future.&lt;br /&gt;
# Use Automation to our favor so that many tasks are completed in WikiPort using bash or Ansible scripts like environment setups, installation and fine workings of the entire tool. (Aim - one command to work it all out with the least number of user interventions)&lt;br /&gt;
“WikiPort converts all MediaWiki documents to rich markdown format and commit them to GitHub or other hosting services without losing any of your data. A tool created by Sugar Labs with love.” &lt;br /&gt;
This seems to me like an excellent repository description of an awesome tool.&lt;br /&gt;
I always wanted to create an open-source tool, that people would use and benefit from and take the time to contribute back. &lt;br /&gt;
WikiPort feels likes that chance.  &lt;br /&gt;
 &lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
* In accordance with the official timeline by GSoC, my college exams end somewhere in the first week of May or so. My college reopens early in July. During this time, I will remain in contact with my mentor.&lt;br /&gt;
* This gives me ample time to code. I plan to begin coding before the official period coding period of GSoC starts from starting of May. Which gives me a head start to finish the majority (80%) of the project before the second evaluation. &lt;br /&gt;
 &#039;&#039;&#039;Providing a total of 10 weeks to write code for WikiPort (&amp;amp; other deliverables)&#039;&#039;&#039;&lt;br /&gt;
* I will also write a weekly or Bi-weekly blog post on my progress and updates on my project and post it diligently on the website to get the community involved.  The Weekly timeline is as follows. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Week Number [#]  !! Tasks&lt;br /&gt;
|-&lt;br /&gt;
| [#1] April 23 - April 30   || Community Bonding Period &lt;br /&gt;
Community Bonding, if possible keen on having a meeting with the Activity and wiki team. Discussion of ideas that I have. Research Part 1&lt;br /&gt;
MediaWiki [Syntax, documentation, API, functionalities]; GitHub API; Wikitext; Exploring the problem case defined earlier.&lt;br /&gt;
|-&lt;br /&gt;
| [#2] April 1 - May 7&lt;br /&gt;
 || Start documentation and blog post, about Sugar Labs on my blog.Setup: development environment. &lt;br /&gt;
Continue with Research &lt;br /&gt;
&lt;br /&gt;
Part 2 - Finding, testing, implementing solutions available for Migration Process step 0 through 6. Discuss results with the mentor, shortlist methods that have the highest success rate. &lt;br /&gt;
Pushing to Github; fixing organization problems&lt;br /&gt;
|-&lt;br /&gt;
| [#3] May 7 - May 14&lt;br /&gt;
 || Finalized migration process, start coding.&lt;br /&gt;
Spider ready to scrape activities for their GitHub repo.&lt;br /&gt;
Report on activities missing GitHub repo. links &lt;br /&gt;
Blog post on Community Bonding @ Sugar Labs&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#4] May 15 - May 22&lt;br /&gt;
 || Official Coding period starts &lt;br /&gt;
Start work on migration script. &lt;br /&gt;
Test migration script on 10 activities (aim - 60% migration of content from wiki to GitHub readme of the activity)&lt;br /&gt;
Gets reviewed by the mentor; implement suggestions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#5] May 23 - May 30&lt;br /&gt;
 || Work on script continues; Tweaking; suggestions implemented by the community&lt;br /&gt;
Testing extensively; and commenting &lt;br /&gt;
Documentation for script&lt;br /&gt;
40 pages completed (Aim - 70% migration of content through the script without manual edits;)&lt;br /&gt;
Write a quality checklist for pages converted to determine bugs, thorough checking of every page converted, every step of the way. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#6] June 1 - June 7&lt;br /&gt;
 || Work on Other Deliverables &lt;br /&gt;
Script improved; Commenting; Logging implemented;&lt;br /&gt;
Quality Checks implemented on sourced markdown files&lt;br /&gt;
Blog post on research and work did so far. &lt;br /&gt;
100 pages completed (minor improvements)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#7] June 8 - June 15&lt;br /&gt;
First Code Evaluations&lt;br /&gt;
 || Implement suggestions from evaluations.&lt;br /&gt;
Start work towards automation of scripts wherever possible (Aim - Least user input)&lt;br /&gt;
Start work on making WikiPort available to all as a simple tool.&lt;br /&gt;
150 pages completed. &lt;br /&gt;
Get a review of pages migrated, from the community.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#8] June 16 - June 23&lt;br /&gt;
 || Documentation alpha release; Repository made; &lt;br /&gt;
Start work: Report of Activities#Sugar_Activities&lt;br /&gt;
200 pages migrated.&lt;br /&gt;
Give a talk related to “Sugar and what it stands for” at one of our local meetups in Delhi. &lt;br /&gt;
Random quality checks; manual fixes wherever required. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#9] June 24 - July 1&lt;br /&gt;
 || 250 pages migrated, checked. &lt;br /&gt;
Get a review of the pages migrated from the community and mentor(s)&lt;br /&gt;
Implement and discuss changes.&lt;br /&gt;
Start with pet project of making my own activity.&lt;br /&gt;
Finish automation task. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#10] July 2 - July 10 &lt;br /&gt;
|| Second Code Evaluations&lt;br /&gt;
300 pages migrated. Completed end-to-end. &lt;br /&gt;
Blog post about GSoC: 10 weeks later.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#11] July 11 - July 18&lt;br /&gt;
Soft Deadline - All 345 web pages migrated completing the primary objective.&lt;br /&gt;
 || 345 pages migrated.  &lt;br /&gt;
Documentation completed.&lt;br /&gt;
Tool Ready with automated tasks and checks wherever they could be implemented hosted on GitHub for everyone to use under Sugar Labs&lt;br /&gt;
Start work on wiki report (Aim - To propose a better format for clear, uniform documentation) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#12] July 19 - July 26&lt;br /&gt;
Hard Deadline &lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
Submit Wiki Report; Get feedback from the community&lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#13] July 27 - August 05&lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
Implement further suggestion if possible. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#14] August 6 - August 13 &lt;br /&gt;
 || Final Code Evaluations&lt;br /&gt;
Various blog posts about the entire experience, GSoC 2018 and Sugar Community. &lt;br /&gt;
Finish making the activity (tentative) &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* I love writing and reading the code. I learned almost everything by reading the docs. I, later on, started writing documentation and code for others too. Helping me always know exactly where I can find the information I am looking for and how to improve on it, how necessary it is.  &lt;br /&gt;
* All my past projects, showcase a strong dedication to the deadline and the determination to get work done. WikiPort will be no different.  &lt;br /&gt;
* As for my skills, &amp;lt;br /&amp;gt;&lt;br /&gt;
- Articles written, published using Pelican, Wordpress (Markdown).&amp;lt;br /&amp;gt;&lt;br /&gt;
- I use git in all project that I start. Document and collaborate on GitHub. &amp;lt;br /&amp;gt;&lt;br /&gt;
- Comfortable with both Linux and Windows OS, (preferring Linux all the way) &amp;lt;br /&amp;gt;&lt;br /&gt;
- Since Python is used widely, my previous project justify my experience and skill in the language &amp;lt;br /&amp;gt;&lt;br /&gt;
- There is no better to prove that I can accomplish and execute my vision for WikiPort by actually showing that work has been done. (here) &amp;lt;br /&amp;gt;&lt;br /&gt;
- There are many points to keep in mind while migrating is taking place, hence for a &#039;&#039;&#039;more methodical&#039;&#039;&#039; approach a [https://etherpad.net/p/Sugar_Migration_Checklist checklist] has been implemented by me which has a summary of all the - steps. (Both manual/automated) &amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== You and the community ==&lt;br /&gt;
&#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
*If WikiPort is completed and deployed as a tool for this project. It would help in making the work easier for developers to not just Sugar Labs but everybody and even experienced users. &lt;br /&gt;
*WikiPort will help users port their wikis to GitHub with minimum user inputs, which  would ultimately benefit everyone involved and for many generations of developers to come who will use that documentation.&lt;br /&gt;
*As previously stated, documentation is an important part of any development process. Bad documentation impacts the entire community as. But if the documentation is&lt;br /&gt;
1. &#039;&#039;&#039;Accessible&#039;&#039;&#039; - GitHub is one of the best places to host it. &lt;br /&gt;
2. &#039;&#039;&#039;Relevant and easily traversable&#039;&#039;&#039; - The documentation about every activity will be housed with its GitHub Repository.  &lt;br /&gt;
Clearly written - Strict format to maintain overall uniformity. &lt;br /&gt;
3. &#039;&#039;&#039;Easily editable (+ VCS)&#039;&#039;&#039; - Wiki offers edit history of documents too, but the process to edit a document is cumbersome while GitHub makes it very easy for users to fix issues in it. &lt;br /&gt;
4. &#039;&#039;&#039;More views, more stars&#039;&#039;&#039; - GitHub also increases views and popularity of the activity ultimately helping Sugar Labs to get noticed more.&lt;br /&gt;
If our documentation has all these features, then everybody would be more inclined towards contributing to Sugar Labs and get to know more about it.  &lt;br /&gt;
People would contribute more to bug fixing, indirectly helping the Sugar Labs community to grow and expand more. Helping students, developers, activity maintainers, members of the community.&lt;br /&gt;
Produce a new tool by the community, for the community and with the community’s help for everyone to benefit from.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 2:&#039;&#039;&#039; Walter Bender - walter.bender@gmail.com &amp;lt;br /&amp;gt;&lt;br /&gt;
This project has solid potential to address several pressing issues for the community: &lt;br /&gt;
(1) bifurcation --  we are spread across too many platforms which is both a maintenance issue and also an issue for our users and potential developers, who struggle to find the documentation for the Sugar Activities; &lt;br /&gt;
(2) redundancy -- we are spread too thin to maintain multiple, redundant instances of documentation. Migrating everything to a uniform platform where is it directly tied to the source would impact both of these issues.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 3:&#039;&#039;&#039; James Cameron - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His assessment of project impact from both Github and Email )&lt;br /&gt;
* &amp;quot;Migration is needed because Wiki is not being used now that GitHub is being used. Maintaining the Wiki in addition to GitHub is not sustainable. So we want documentation to move from Wiki to GitHub. So that when an activity is updated in GitHub, the documentation can be updated in the same place at the same time.&amp;quot;&lt;br /&gt;
* “Originally documentation was separate because we had non-coding developers and tool chains that varied by type of developer.  Now we use GitHub the tool chains are combined. With the project as described, documentation will be concentrated in the source code repository for an activity, reducing ongoing maintenance.We have less active Wiki contributors than we ever did, and in the current threat environment a Wiki requires significant monitoring and administration; we recently lost some system administrators and gained new ones; using GitHub allows us to outsource system administration.”&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 4:&#039;&#039;&#039; Tony Anderson - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His comments clarifying the need of WikiPort and the problems it solves)&lt;br /&gt;
As always, the question is the impact on our users. The traditional source of information for users is [1] and [2] and, especially the wiki pages. So far the effect of gitHub has been to reduce the value of these two sources. In many cases the activities on ASLO have been superseded by ones on gitHub or other git repository but are not available to our users. The documentation of activities on ASLO has never been adequate but now no effort will be made to improve it. This continues the trend toward Sugar being a playground for the technical elite. Complete conversation available here.&lt;br /&gt;
[1] http://www.sugarlabs.org 				[2] http://www.laptop.org&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What will you do if you get stuck on your project and your mentor isn&#039;t around?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
I strive to solve a problem using my own skill base by searching about the problem case and working it out into smaller bits.&lt;br /&gt;
#sugar and #sugar-devel channels on IRC, the mailing lists where other community members discuss issues. I am familiar with mailing list etiquettes for open source communities and learn fairly fast.&lt;br /&gt;
Google and StackOverflow about the issues, later refer to the documentation of the tool I am using for reference. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I would get regular, constructive feedback on the code I will write and the work I would do for the community by posting work samples from Github, on the mailing list and on IRC. [Check Timeline for the same]&lt;br /&gt;
Post constant updates on my blog and maintain an update tracker for each week on a public notepad (Etherpad, etc.)&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&#039;&#039;&#039;Send us a link to a pull request or merge request you have made a Sugar or Sugar activity bug.&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I needed to test my WikiPort beta script that I had created, hence made some extra efforts and migrated these four wiki pages listed below.   &lt;br /&gt;
[https://github.com/sugarlabs/lettermatch/pull/3 lettermatch/pull/3] &lt;br /&gt;
[https://github.com/sugarlabs/AEIOU/pull/9 sugarlabs/AEIOU/pull/9] &lt;br /&gt;
[https://github.com/sugarlabs/iknowmyabcs/pull/7 iknowmyabcs/pull/7] &lt;br /&gt;
[https://github.com/sugarlabs/i-can-read-activity/pull/6 /i-can-read-activity/pull/6] &lt;br /&gt;
&lt;br /&gt;
Another Issue that I am currently working  is [https://github.com/sugarlabs/sugar-live-build/issues/6 sugar-live-build/issues/] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe a great learning experience you had as a child.&#039;&#039;&#039;&lt;br /&gt;
Here’s a short story titled “Let me Google that for you.” when I was 14. &lt;br /&gt;
&lt;br /&gt;
From my childhood, web technologies have always piqued my interest for the longest time as I can remember. I been writing HTML since I was 1. But I never liked to read from the old, dusty books. When I code, I had to take help from seniors, teachers, the experience I gained and other sources. Almost everybody was irritated by the constant barrage of long and complex questions, that Vipul Gupta had.&lt;br /&gt;
So what happened one day, I walked to one of the seniors and asked him a question if I remember right about how he would determine which browser is better for a particular segment of code I wrote. He took me to the lab and told me to open a link similar like to this http://bfy.tw/HFBs This will have the solution surely to all my problems. &lt;br /&gt;
What happened next? I was embarrassed and couldn’t see straight but he was not judgemental and was very humble (A trait everyone of should have towards beginners, I feel like.) and from that day forward. The only place I actually learned something was the internet. &lt;br /&gt;
That day I actually learned how to Google by letting someone google that for me. Teaching by the application at its best. I look back to this incident and still smile. I share this experience of mine whenever I have a chance to interact with my juniors that serves as motivation boost and compels them to think that nothing is impossible, and everybody makes mistakes once in a while.  This lead to me creating hundreds of links more from this website. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* I think I am well satisfied with the proposal that I have made for WikiPort, the project for Sugar Labs. The template given by Sugar Labs really covers all the corners of my  project, and actually helped me think more constructively about the project and the fine aspects of it. &lt;br /&gt;
* I learned a lot through these few weeks, working on the proposal. MediaWIki API and new skills, contributing to an open-source organisation of this stature, how to interact with people. This has been a memorable experience. I am in awe, I really am.&lt;br /&gt;
* All open-source communities may not be same, but are run on the same principle that I also try to follow in life. Be humble, and helpful to everybody. The ‘ahaa-moment’ of a beginner is what I live for, when he truly get the point that I am trying to make.&lt;br /&gt;
* Some Credits - Learned to not contest for issues, but focus on better PR’s, and many new things from James Cameron (@Quozl)’s blog. Jasikrat too for helping people on IRC emailsll mentors who review our proposal and go through all our mails. Thank you all for the opportunities and the help provided to me and my fellow contributors. I hope down the line, I could follow in your footsteps too.&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101627</id>
		<title>WikiPort</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101627"/>
		<updated>2018-03-29T13:29:56Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Page Under Development GO SLOW! ==&lt;br /&gt;
This page is under heavy development, thus for the time being, please refer to the proposal in rich-formatting on  [https://docs.google.com/document/d/1mPd_SeUqeJF_yKWVEDFuzU7LWsnUFSbLdQQ44HvsYyA/edit?usp=sharing Google Docs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Logo wikiport.png|frameless|center|WikiPort]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About You ==&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039; - Vipul Gupta&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Email address&#039;&#039;&#039; - [http://mailto:vipulgupta2048@gmail.com vipulgupta2048@gmail.com] &amp;lt;br /&amp;gt;  &lt;br /&gt;
&#039;&#039;&#039;Blog Url&#039;&#039;&#039; -  [http://www.mixstersite.wordpress.com www.mixstersite.wordpress.com]  &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Sugar Labs wiki username&#039;&#039;&#039; - [https://wiki.sugarlabs.org/go/User:Vipulgupta2048 Vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IRC nickname&#039;&#039;&#039; - vipulgupta2048 &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Linkedin&#039;&#039;&#039; - [http://www.linkedin.com/in/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Github&#039;&#039;&#039; - [http://www.github.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Twitter&#039;&#039;&#039; - [http://www.twitter.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;First language - &#039;&#039;&#039;English (Fluent) &#039;&#039;&#039;&amp;lt;br /&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Located at, and what hours (UTC) do you tend to work&#039;&#039;&#039; - I am based out of New Delhi, India (+5.30 GMT). I am flexible with timings and can work for 3-5 hours everyday. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects or some other demonstration of the work that you have done in open-source?&#039;&#039;&#039;&lt;br /&gt;
Yes, I have participated and maintained many open-source projects. Also been contributing to other community and conference projects. Some of the links and description of those pages are as follows&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/asetalias/asetalias.github.io/pull/52 First pull request] on my college community’s website, [http://www.github.com/asetalias ALiAS] - Maintainer since 2016.&lt;br /&gt;
* [https://github.com/vipulgupta2048/opengisproj_mirror vipulgupta2048/opengisproj_mirror]- Involved building a web app for real-time monitoring of pollution levels in rivers of India and to assess the impact on the health of people using the water from the river. The working repo is private, hence a public mirror for showcasing. &lt;br /&gt;
* [https://github.com/vipulgupta2048/scrape vipulgupta2048/scrape] Scraping major news websites/outlets in India using Scrapy [Python] Managing the data flow by employing PostgreSQL. Finding fake news using Machine Learning with help of libraries (Word2vec)&lt;br /&gt;
* Fixed bugs, wrote blogs, added new features using HTML, CSS and JS for the official website of the premier conference on Python in India, PyCON India 2017 ([https://github.com/pythonindia/inpycon2017/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ Here] and [https://github.com/pythonindia/inpycon-blog/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ here]) &lt;br /&gt;
* [https://gitlab.com/asetalias/Community-Connect gitlab/asetalias/Community-Connect] [Ongoing]  &lt;br /&gt;
* Completed: Hacktoberfest Challenge;  [https://hacktoberfestchecker.herokuapp.com/?username=vipulgupta2048 Here].&lt;br /&gt;
* Building and mentoring website development for Pyladies Delhi Chapter [https://github.com/vipulgupta2048/Pyladies-delhi-website Pyladies-delhi-website]  &lt;br /&gt;
* Recent contribution: In Sugar Labs. Mentioned in the Miscellaneous section.        &lt;br /&gt;
&lt;br /&gt;
Along with this, [http://meetup.com/pydelhi Python Delhi User Group] (PyDelhi) is a volunteer-driven organization comprising of Pythonistas, enthusiasts, who have a primary focus in Python. I help by volunteering and organizing meetups for them. &amp;lt;br /&amp;gt;&lt;br /&gt;
I am a committee member of my college’s open source community. [http://www.asetalias.in ALiAS (Amity Linux Assistance Sapience)] We conduct hands-on workshops, seminars, talks and much more to try and help as many people as we can along the process and motivate them to make their first PR.&amp;lt;br /&amp;gt;&lt;br /&gt;
I genuinely love spreading knowledge among peers/juniors/underprivileged children wherever I can through my voice ([https://github.com/asetalias/Logistics-and-Event-Contributions/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed Talks] and [https://github.com/ILUGD/talks/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed workshops]) and my words ([http://www.mixstersite.wordpress.com Tech-Blog])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039; &amp;lt;br /&amp;gt; &lt;br /&gt;
Wikiport &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using? &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Abstract Ideas:&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
	Documentation tools have become modern, lighter, easier to use with the use of Sphinx, Github pages/wiki, Mkdocs and many more similar frameworks and applications. It’s easily the first and the most important steps for any open-source projects implemented by almost everybody.&amp;lt;br /&amp;gt; &lt;br /&gt;
If people know more, they would want to get involved and contribute more. This would, in turn, help the entire community to grow and expand. If the information (Documentation) is accessible fast, easily comprehensible, simple enough to edit and manage for people then I think this project will help really help Sugar Labs achieve that.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;My understanding of the problem and why it needs to be solved?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Documentation, as mentioned before, is important to all open-source projects. Sugar Labs has all documentation for its learner applications called “Activities” at one place in the Activities#Sugar_Activities. Some problem (#risks) that I found with this sort of implementation is as follows:- &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Difficult to add, edit and manage&#039;&#039;&#039;  - In reference to the conversation [archive/sugar-devel] As a user, I need to create an account for editing privileges. Which is very tiresome to be very honest, hence discouraging contributions. &lt;br /&gt;
# &#039;&#039;&#039;Size issues&#039;&#039;&#039; - Wiki is being hosted on the a server. With the growing number of activities, the size occupied by them will increase leading to rise in maintenance cost. Not to mention buying more space. &lt;br /&gt;
# &#039;&#039;&#039;No clear format/classification&#039;&#039;&#039; - Some links are for one activity only while other activities have multiple links for them (example Turtle Art) Results in time being wasted of the user even if they are justified. &lt;br /&gt;
- Found 2 wiki pages of the same activity. (this page and this too)&lt;br /&gt;
I did extensive research on the same and found many such problems with the wiki. According to my experience in open-source, users just need information fast, easily accessible and neatly organized. &amp;lt;br /&amp;gt;&lt;br /&gt;
A new method to make that information organized should be brought in place for the betterment of the whole community. GitHub could be the solution to all our problems (Check here for reference) WikiPort is a tool that helps in migration process of wiki’s to Github hosted README.md. &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Objective&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
To migrate documentation and information of each activity in Activities#Sugar_Activities of Sugar Labs in MediaWiki format to their respective git repositories hosted on GitHub in rich markdown format by a program/tool with special attention to the transfer of all information and media associated with the activity with least redundancies and zero duplication of content if not already present in GitHub@README.md or user documentation in help-activity.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Technologies and Skills Used&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This list is just a small glimpse of technologies that I am thinking to use for this project. I am proficient in each of them, through my past projects. (Refer)  &lt;br /&gt;
* &#039;&#039;&#039;Programming Language&#039;&#039;&#039;: Python 3.6 using libraries such as requests, LXML, Scrapy, Beautifulsoup etc. Python will be used widely in this project. &lt;br /&gt;
* &#039;&#039;&#039;Markup Languages&#039;&#039;&#039; - Markdown, MediaWiki, reStructuredText&lt;br /&gt;
* &#039;&#039;&#039;For Automation&#039;&#039;&#039; - Ansible or Bash (To automate each step of the migration process and installation of the tool.)&lt;br /&gt;
* &#039;&#039;&#039;Tools&#039;&#039;&#039; - git, shell, MediaWiki API - Pywikibot,GitHub API (Experimental) &lt;br /&gt;
* &#039;&#039;&#039;Others&#039;&#039;&#039; - Yaml (If Ansible is used) &lt;br /&gt;
&lt;br /&gt;
== An Overview of the Migration Process ==  &lt;br /&gt;
&lt;br /&gt;
[[File:S.U.G.A.R.png|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Detailed Description of the steps mentioned &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;One time task&#039;&#039;&#039; - Use a spider to scrape GitHub links for each activity in a proper JSON format (with names of each activity). IF GitHub links not found for the repository, then scripts throws back exception and then links can be found manually. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Step 0 &#039;&#039;&#039; -Extracting content; from these methods that offers the least redundancies. My research yielded these results.&lt;br /&gt;
:  1. Query MediaWiki API and acquire content in wikitext format&lt;br /&gt;
:  2. Export pages in XML using Python Wikipedia Robot Framework  &lt;br /&gt;
:  3.  GET page in simple HTML ( Activities/Sugar_Network&amp;amp;printable=yes) &lt;br /&gt;
*&#039;&#039;&#039;Step 1&#039;&#039;&#039;Convert the data sourced from step 0; using Pandoc to Markdown. Removing syntax, comments and Wikimedia code that might be left after conversion using regex wherever required.  &lt;br /&gt;
* Step 2&lt;br /&gt;
Fork and clone the respective GitHub repository from the links already scraped or found manually of the activity   &lt;br /&gt;
Step 3&lt;br /&gt;
Python script to find all image links and then fetches media (images) associated with activity from web-page; renames them in correct format; adds them to repository folder cloned under “ images” Fix image links and testing.&lt;br /&gt;
Step 4&lt;br /&gt;
Ensuring content is not duplicated by being already present either in the README.md file or the user documentation in the help-activity. Make the necessary changes, fix broken links. Testing; Commit and push to fork..&lt;br /&gt;
Step 5&lt;br /&gt;
Pull request submitted with detailed description of the changes in activity documentation in clear format containing all details. When PR merged, move to step 6.   &lt;br /&gt;
Step 6&lt;br /&gt;
Use Pywikibot (Check delete.py) to delete pages/media associated with wiki page using admin privileges and link back to their repositories. This can also be achieved using the mediawiki API which saves edit history as I mentioned before.  (Read more here)              (End-to-end Migration of wiki page complete)      &lt;br /&gt;
Step 7&lt;br /&gt;
Repeat Step 1 for next activity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Deliverables ==&lt;br /&gt;
# 345 web pages stored in MediaWiki format atActivities#Sugar_Activities on Sugar Labs Wiki converted to Markdown format with assets (images and other files) intact and in-place with zero duplication.  &lt;br /&gt;
# Files in Markdown converted from the wiki content are tested and checked to ensure foolproof 100% migration without any redundancies or loss of information. Manually or through scripts.&lt;br /&gt;
# A detailed report with classified information about the Sugar_activities wiki that needs further improvements submitted to Sugar Labs (Refer week #8 in timeline #Wikiteam)&lt;br /&gt;
Files committed, pushed and PR’s made in each activity’s respective git repository in an information specific format for easy reference. &lt;br /&gt;
# Tested bug-free source code for everyone to use (and other open source projects) for their wikis facing the same issues. Complete documentation of the migration method submitted on time of evaluations with the review of the mentor incorporated.&lt;br /&gt;
# After the complete transfer of all the wiki content, discuss and implement the last actions on the wiki, to either delete the pages or link them back to their respective git repositories.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Thus, by the deliverables mentioned above, 3 well-defined goals that determine project status which will help in evaluation i.e&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Evaluation 1: Migration of 100 wiki-pages complete;&amp;lt;br /&amp;gt;  &lt;br /&gt;
Evaluation 2: Migration of 300 wiki-pages complete;&amp;lt;br /&amp;gt;  &lt;br /&gt;
Final: Migration of 345 wiki-pages;&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Other Deliverables (and Future Work) ==&lt;br /&gt;
# &#039;&#039;&#039;Contribute more&#039;&#039;&#039; - After and during the project, will help in solving bigger challenges and bugs faced as my experience lies in DevOps tasks and start reading code of Sugarizer.&lt;br /&gt;
# &#039;&#039;&#039;Add Features&#039;&#039;&#039; - Edit history of wikis that are being migrated by WikiPort can be exported as commits on GitHub (implementing this).  &lt;br /&gt;
# &#039;&#039;&#039;Create New Activities&#039;&#039;&#039; - Being well versed in Python (tried making a game with pygame) Would enjoy the new learning curve as I never really explored GTK. Have some new ideas that could be later transformed into fun, interactive learning activities.&lt;br /&gt;
# &#039;&#039;&#039;Complete Misc. Tasks&#039;&#039;&#039; - Wiki pages contain task waiting to be completed I would like to volunteer and finish them for the welfare of the community like this one here IRC#Wishlist.&lt;br /&gt;
# Remain as an &#039;&#039;&#039;active contributor for Sugar Labs&#039;&#039;&#039; and take part in discussions for the future projects. Maybe if the community agrees, also mentor someone &#039;&#039;&#039;myself&#039;&#039;&#039; in the foreseeable future.&lt;br /&gt;
# Use Automation to our favor so that many tasks are completed in WikiPort using bash or Ansible scripts like environment setups, installation and fine workings of the entire tool. (Aim - one command to work it all out with the least number of user interventions)&lt;br /&gt;
“WikiPort converts all MediaWiki documents to rich markdown format and commit them to GitHub or other hosting services without losing any of your data. A tool created by Sugar Labs with love.” &lt;br /&gt;
This seems to me like an excellent repository description of an awesome tool.&lt;br /&gt;
I always wanted to create an open-source tool, that people would use and benefit from and take the time to contribute back. &lt;br /&gt;
WikiPort feels likes that chance.  &lt;br /&gt;
 &lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
* In accordance with the official timeline by GSoC, my college exams end somewhere in the first week of May or so. My college reopens early in July. During this time, I will remain in contact with my mentor.&lt;br /&gt;
* This gives me ample time to code. I plan to begin coding before the official period coding period of GSoC starts from starting of May. Which gives me a head start to finish the majority (80%) of the project before the second evaluation. &lt;br /&gt;
 &#039;&#039;&#039;Providing a total of 10 weeks to write code for WikiPort (&amp;amp; other deliverables)&#039;&#039;&#039;&lt;br /&gt;
* I will also write a weekly or Bi-weekly blog post on my progress and updates on my project and post it diligently on the website to get the community involved.  The Weekly timeline is as follows. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Week Number [#]  !! Tasks&lt;br /&gt;
|-&lt;br /&gt;
| [#1] April 23 - April 30   || Week 1 [#1] &lt;br /&gt;
Community Bonding Period &lt;br /&gt;
Community Bonding, if possible keen on having a meeting with the Activity and wiki team. Discussion of ideas that I have.&lt;br /&gt;
Research Part 1&lt;br /&gt;
MediaWiki [Syntax, documentation, API, functionalities]&lt;br /&gt;
Wikitext&lt;br /&gt;
Exploring the problem case defined earlier.&lt;br /&gt;
|-&lt;br /&gt;
| [#2] April 1 - May 7&lt;br /&gt;
 || Start documentation and blog post, about Sugar Labs on my blog.&lt;br /&gt;
Setup: development environment. &lt;br /&gt;
Continue with Research Part 2&lt;br /&gt;
Finding, testing, implementing solutions available for Migration Process step 0 through 6.   &lt;br /&gt;
Discuss results with the mentor, shortlist methods that have the highest success rate. &lt;br /&gt;
Pushing to Github; fixing organization problems&lt;br /&gt;
|-&lt;br /&gt;
| [#3] May 7 - May 14&lt;br /&gt;
 || Finalized migration process, start coding.&lt;br /&gt;
Spider ready to scrape activities for their GitHub repo.&lt;br /&gt;
Report on activities missing GitHub repo. links &lt;br /&gt;
Blog post on Community Bonding @ Sugar Labs&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#4] May 15 - May 22&lt;br /&gt;
 || Official Coding period starts &lt;br /&gt;
Start work on migration script. &lt;br /&gt;
Test migration script on 10 activities (aim - 60% migration of content from wiki to GitHub readme of the activity)&lt;br /&gt;
Gets reviewed by the mentor; implement suggestions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#5] May 23 - May 30&lt;br /&gt;
 || Work on script continues; Tweaking; suggestions implemented by the community&lt;br /&gt;
Testing extensively; and commenting &lt;br /&gt;
Documentation for script&lt;br /&gt;
40 pages completed (Aim - 70% migration of content through the script without manual edits;)&lt;br /&gt;
Write a quality checklist for pages converted to determine bugs, thorough checking of every page converted, every step of the way. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#6] June 1 - June 7&lt;br /&gt;
 || Work on Other Deliverables &lt;br /&gt;
Script improved; Commenting; Logging implemented;&lt;br /&gt;
Quality Checks implemented on sourced markdown files&lt;br /&gt;
Blog post on research and work did so far. &lt;br /&gt;
100 pages completed (minor improvements)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#7] June 8 - June 15&lt;br /&gt;
First Code Evaluations&lt;br /&gt;
 || Implement suggestions from evaluations.&lt;br /&gt;
Start work towards automation of scripts wherever possible (Aim - Least user input)&lt;br /&gt;
Start work on making WikiPort available to all as a simple tool.&lt;br /&gt;
150 pages completed. &lt;br /&gt;
Get a review of pages migrated, from the community.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#8] June 16 - June 23&lt;br /&gt;
 || Documentation alpha release; Repository made; &lt;br /&gt;
Start work: Report of Activities#Sugar_Activities&lt;br /&gt;
200 pages migrated.&lt;br /&gt;
Give a talk related to “Sugar and what it stands for” at one of our local meetups in Delhi. &lt;br /&gt;
Random quality checks; manual fixes wherever required. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#9] June 24 - July 1&lt;br /&gt;
 || 250 pages migrated, checked. &lt;br /&gt;
Get a review of the pages migrated from the community and mentor(s)&lt;br /&gt;
Implement and discuss changes.&lt;br /&gt;
Start with pet project of making my own activity.&lt;br /&gt;
Finish automation task. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#10] July 2 - July 10 &lt;br /&gt;
|| Second Code Evaluations&lt;br /&gt;
300 pages migrated. Completed end-to-end. &lt;br /&gt;
Blog post about GSoC: 10 weeks later.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#11] July 11 - July 18&lt;br /&gt;
Soft Deadline - All 345 web pages migrated completing the primary objective.&lt;br /&gt;
 || 345 pages migrated.  &lt;br /&gt;
Documentation completed.&lt;br /&gt;
Tool Ready with automated tasks and checks wherever they could be implemented hosted on GitHub for everyone to use under Sugar Labs&lt;br /&gt;
Start work on wiki report (Aim - To propose a better format for clear, uniform documentation) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#12] July 19 - July 26&lt;br /&gt;
Hard Deadline &lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
Submit Wiki Report; Get feedback from the community&lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#13] July 27 - August 05&lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
Implement further suggestion if possible. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#14] August 6 - August 13 &lt;br /&gt;
 || Final Code Evaluations&lt;br /&gt;
Various blog posts about the entire experience, GSoC 2018 and Sugar Community. &lt;br /&gt;
Finish making the activity (tentative) &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* I love writing and reading the code. I learned almost everything by reading the docs. I, later on, started writing documentation and code for others too. Helping me always know exactly where I can find the information I am looking for and how to improve on it, how necessary it is.  &lt;br /&gt;
* All my past projects, showcase a strong dedication to the deadline and the determination to get work done. WikiPort will be no different.  &lt;br /&gt;
* As for my skills, &amp;lt;br /&amp;gt;&lt;br /&gt;
- Articles written, published using Pelican, Wordpress (Markdown).&amp;lt;br /&amp;gt;&lt;br /&gt;
- I use git in all project that I start. Document and collaborate on GitHub. &amp;lt;br /&amp;gt;&lt;br /&gt;
- Comfortable with both Linux and Windows OS, (preferring Linux all the way) &amp;lt;br /&amp;gt;&lt;br /&gt;
- Since Python is used widely, my previous project justify my experience and skill in the language &amp;lt;br /&amp;gt;&lt;br /&gt;
- There is no better to prove that I can accomplish and execute my vision for WikiPort by actually showing that work has been done. (here) &amp;lt;br /&amp;gt;&lt;br /&gt;
- There are many points to keep in mind while migrating is taking place, hence for a &#039;&#039;&#039;more methodical&#039;&#039;&#039; approach a [https://etherpad.net/p/Sugar_Migration_Checklist checklist] has been implemented by me which has a summary of all the - steps. (Both manual/automated) &amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== You and the community ==&lt;br /&gt;
&#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
*If WikiPort is completed and deployed as a tool for this project. It would help in making the work easier for developers to not just Sugar Labs but everybody and even experienced users. &lt;br /&gt;
*WikiPort will help users port their wikis to GitHub with minimum user inputs, which  would ultimately benefit everyone involved and for many generations of developers to come who will use that documentation.&lt;br /&gt;
*As previously stated, documentation is an important part of any development process. Bad documentation impacts the entire community as. But if the documentation is&lt;br /&gt;
1. &#039;&#039;&#039;Accessible&#039;&#039;&#039; - GitHub is one of the best places to host it. &lt;br /&gt;
2. &#039;&#039;&#039;Relevant and easily traversable&#039;&#039;&#039; - The documentation about every activity will be housed with its GitHub Repository.  &lt;br /&gt;
Clearly written - Strict format to maintain overall uniformity. &lt;br /&gt;
3. &#039;&#039;&#039;Easily editable (+ VCS)&#039;&#039;&#039; - Wiki offers edit history of documents too, but the process to edit a document is cumbersome while GitHub makes it very easy for users to fix issues in it. &lt;br /&gt;
4. &#039;&#039;&#039;More views, more stars&#039;&#039;&#039; - GitHub also increases views and popularity of the activity ultimately helping Sugar Labs to get noticed more.&lt;br /&gt;
If our documentation has all these features, then everybody would be more inclined towards contributing to Sugar Labs and get to know more about it.  &lt;br /&gt;
People would contribute more to bug fixing, indirectly helping the Sugar Labs community to grow and expand more. Helping students, developers, activity maintainers, members of the community.&lt;br /&gt;
Produce a new tool by the community, for the community and with the community’s help for everyone to benefit from.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 2:&#039;&#039;&#039; Walter Bender - walter.bender@gmail.com &amp;lt;br /&amp;gt;&lt;br /&gt;
This project has solid potential to address several pressing issues for the community: &lt;br /&gt;
(1) bifurcation --  we are spread across too many platforms which is both a maintenance issue and also an issue for our users and potential developers, who struggle to find the documentation for the Sugar Activities; &lt;br /&gt;
(2) redundancy -- we are spread too thin to maintain multiple, redundant instances of documentation. Migrating everything to a uniform platform where is it directly tied to the source would impact both of these issues.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 3:&#039;&#039;&#039; James Cameron - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His assessment of project impact from both Github and Email )&lt;br /&gt;
* &amp;quot;Migration is needed because Wiki is not being used now that GitHub is being used. Maintaining the Wiki in addition to GitHub is not sustainable. So we want documentation to move from Wiki to GitHub. So that when an activity is updated in GitHub, the documentation can be updated in the same place at the same time.&amp;quot;&lt;br /&gt;
* “Originally documentation was separate because we had non-coding developers and tool chains that varied by type of developer.  Now we use GitHub the tool chains are combined. With the project as described, documentation will be concentrated in the source code repository for an activity, reducing ongoing maintenance.We have less active Wiki contributors than we ever did, and in the current threat environment a Wiki requires significant monitoring and administration; we recently lost some system administrators and gained new ones; using GitHub allows us to outsource system administration.”&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 4:&#039;&#039;&#039; Tony Anderson - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His comments clarifying the need of WikiPort and the problems it solves)&lt;br /&gt;
As always, the question is the impact on our users. The traditional source of information for users is [1] and [2] and, especially the wiki pages. So far the effect of gitHub has been to reduce the value of these two sources. In many cases the activities on ASLO have been superseded by ones on gitHub or other git repository but are not available to our users. The documentation of activities on ASLO has never been adequate but now no effort will be made to improve it. This continues the trend toward Sugar being a playground for the technical elite. Complete conversation available here.&lt;br /&gt;
[1] http://www.sugarlabs.org 				[2] http://www.laptop.org&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What will you do if you get stuck on your project and your mentor isn&#039;t around?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
I strive to solve a problem using my own skill base by searching about the problem case and working it out into smaller bits.&lt;br /&gt;
#sugar and #sugar-devel channels on IRC, the mailing lists where other community members discuss issues. I am familiar with mailing list etiquettes for open source communities and learn fairly fast.&lt;br /&gt;
Google and StackOverflow about the issues, later refer to the documentation of the tool I am using for reference. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I would get regular, constructive feedback on the code I will write and the work I would do for the community by posting work samples from Github, on the mailing list and on IRC. [Check Timeline for the same]&lt;br /&gt;
Post constant updates on my blog and maintain an update tracker for each week on a public notepad (Etherpad, etc.)&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&#039;&#039;&#039;Send us a link to a pull request or merge request you have made a Sugar or Sugar activity bug.&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I needed to test my WikiPort beta script that I had created, hence made some extra efforts and migrated these four wiki pages listed below.   &lt;br /&gt;
[https://github.com/sugarlabs/lettermatch/pull/3 lettermatch/pull/3] &lt;br /&gt;
[https://github.com/sugarlabs/AEIOU/pull/9 sugarlabs/AEIOU/pull/9] &lt;br /&gt;
[https://github.com/sugarlabs/iknowmyabcs/pull/7 iknowmyabcs/pull/7] &lt;br /&gt;
[https://github.com/sugarlabs/i-can-read-activity/pull/6 /i-can-read-activity/pull/6] &lt;br /&gt;
&lt;br /&gt;
Another Issue that I am currently working  is [https://github.com/sugarlabs/sugar-live-build/issues/6 sugar-live-build/issues/] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe a great learning experience you had as a child.&#039;&#039;&#039;&lt;br /&gt;
Here’s a short story titled “Let me Google that for you.” when I was 14. &lt;br /&gt;
&lt;br /&gt;
From my childhood, web technologies have always piqued my interest for the longest time as I can remember. I been writing HTML since I was 1. But I never liked to read from the old, dusty books. When I code, I had to take help from seniors, teachers, the experience I gained and other sources. Almost everybody was irritated by the constant barrage of long and complex questions, that Vipul Gupta had.&lt;br /&gt;
So what happened one day, I walked to one of the seniors and asked him a question if I remember right about how he would determine which browser is better for a particular segment of code I wrote. He took me to the lab and told me to open a link similar like to this http://bfy.tw/HFBs This will have the solution surely to all my problems. &lt;br /&gt;
What happened next? I was embarrassed and couldn’t see straight but he was not judgemental and was very humble (A trait everyone of should have towards beginners, I feel like.) and from that day forward. The only place I actually learned something was the internet. &lt;br /&gt;
That day I actually learned how to Google by letting someone google that for me. Teaching by the application at its best. I look back to this incident and still smile. I share this experience of mine whenever I have a chance to interact with my juniors that serves as motivation boost and compels them to think that nothing is impossible, and everybody makes mistakes once in a while.  This lead to me creating hundreds of links more from this website. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* I think I am well satisfied with the proposal that I have made for WikiPort, the project for Sugar Labs. The template given by Sugar Labs really covers all the corners of my  project, and actually helped me think more constructively about the project and the fine aspects of it. &lt;br /&gt;
* I learned a lot through these few weeks, working on the proposal. MediaWIki API and new skills, contributing to an open-source organisation of this stature, how to interact with people. This has been a memorable experience. I am in awe, I really am.&lt;br /&gt;
* All open-source communities may not be same, but are run on the same principle that I also try to follow in life. Be humble, and helpful to everybody. The ‘ahaa-moment’ of a beginner is what I live for, when he truly get the point that I am trying to make.&lt;br /&gt;
* Some Credits - Learned to not contest for issues, but focus on better PR’s, and many new things from James Cameron (@Quozl)’s blog. Jasikrat too for helping people on IRC emailsll mentors who review our proposal and go through all our mails. Thank you all for the opportunities and the help provided to me and my fellow contributors. I hope down the line, I could follow in your footsteps too.&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101626</id>
		<title>WikiPort</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101626"/>
		<updated>2018-03-29T13:14:46Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: added link in about section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Page Under Development GO SLOW! ==&lt;br /&gt;
This page is under heavy development, thus for the time being, please refer to the proposal in rich-formatting on  [https://docs.google.com/document/d/1mPd_SeUqeJF_yKWVEDFuzU7LWsnUFSbLdQQ44HvsYyA/edit?usp=sharing Google Docs]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Logo wikiport.png|frameless|center|WikiPort]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About You ==&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039; - Vipul Gupta&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Email address&#039;&#039;&#039; - [http://mailto:vipulgupta2048@gmail.com vipulgupta2048@gmail.com] &amp;lt;br /&amp;gt;  &lt;br /&gt;
&#039;&#039;&#039;Blog Url&#039;&#039;&#039; -  [http://www.mixstersite.wordpress.com www.mixstersite.wordpress.com]  &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Sugar Labs wiki username&#039;&#039;&#039; - [https://wiki.sugarlabs.org/go/User:Vipulgupta2048 Vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IRC nickname&#039;&#039;&#039; - vipulgupta2048 &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Linkedin&#039;&#039;&#039; - [http://www.linkedin.com/in/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Github&#039;&#039;&#039; - [http://www.github.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Twitter&#039;&#039;&#039; - [http://www.twitter.com/vipulgupta2048 vipulgupta2048] &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;First language - English (Fluent) &amp;lt;br /&amp;gt; &lt;br /&gt;
&#039;&#039;&#039;Located at, and what hours (UTC) do you tend to work&#039;&#039;&#039; - I am based out of New Delhi, India (+5.30 GMT). I am flexible with timings and can work for 3-5 hours everyday. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects or some other demonstration of the work that you have done in open-source?&#039;&#039;&#039;&lt;br /&gt;
Yes, I have participated and maintained many open-source projects. Also been contributing to other community and conference projects. Some of the links and description of those pages are as follows&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/asetalias/asetalias.github.io/pull/52 First pull request] on my college community’s website, [http://www.github.com/asetalias ALiAS] - Maintainer since 2016.&lt;br /&gt;
* [https://github.com/vipulgupta2048/opengisproj_mirror vipulgupta2048/opengisproj_mirror]- Involved building a web app for real-time monitoring of pollution levels in rivers of India and to assess the impact on the health of people using the water from the river. The working repo is private, hence a public mirror for showcasing. &lt;br /&gt;
* [https://github.com/vipulgupta2048/scrape vipulgupta2048/scrape] Scraping major news websites/outlets in India using Scrapy [Python] Managing the data flow by employing PostgreSQL. Finding fake news using Machine Learning with help of libraries (Word2vec)&lt;br /&gt;
* Fixed bugs, wrote blogs, added new features using HTML, CSS and JS for the official website of the premier conference on Python in India, PyCON India 2017 ([https://github.com/pythonindia/inpycon2017/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ Here] and [https://github.com/pythonindia/inpycon-blog/pulls?utf8=%E2%9C%93&amp;amp;q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ here]) &lt;br /&gt;
* [https://gitlab.com/asetalias/Community-Connect gitlab/asetalias/Community-Connect] [Ongoing]  &lt;br /&gt;
* Completed: Hacktoberfest Challenge;  [https://hacktoberfestchecker.herokuapp.com/?username=vipulgupta2048 Here].&lt;br /&gt;
* Building and mentoring website development for Pyladies Delhi Chapter [https://github.com/vipulgupta2048/Pyladies-delhi-website Pyladies-delhi-website]  &lt;br /&gt;
* Recent contribution: In Sugar Labs. Mentioned in the Miscellaneous section.        &lt;br /&gt;
&lt;br /&gt;
Along with this, [http://meetup.com/pydelhi Python Delhi User Group] (PyDelhi) is a volunteer-driven organization comprising of Pythonistas, enthusiasts, who have a primary focus in Python. I help by volunteering and organizing meetups for them. &amp;lt;br /&amp;gt;&lt;br /&gt;
I am a committee member of my college’s open source community. [http://www.asetalias.in ALiAS (Amity Linux Assistance Sapience)] We conduct hands-on workshops, seminars, talks and much more to try and help as many people as we can along the process and motivate them to make their first PR.&amp;lt;br /&amp;gt;&lt;br /&gt;
I genuinely love spreading knowledge among peers/juniors/underprivileged children wherever I can through my voice ([https://github.com/asetalias/Logistics-and-Event-Contributions/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed Talks] and [https://github.com/ILUGD/talks/issues?q=is%3Aissue+author%3Avipulgupta2048+is%3Aclosed workshops]) and my words ([http://www.mixstersite.wordpress.com Tech-Blog])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039; &amp;lt;br /&amp;gt; &lt;br /&gt;
Wikiport &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using? &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Abstract Ideas:&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
	Documentation tools have become modern, lighter, easier to use with the use of Sphinx, Github pages/wiki, Mkdocs and many more similar frameworks and applications. It’s easily the first and the most important steps for any open-source projects implemented by almost everybody.&amp;lt;br /&amp;gt; &lt;br /&gt;
If people know more, they would want to get involved and contribute more. This would, in turn, help the entire community to grow and expand. If the information (Documentation) is accessible fast, easily comprehensible, simple enough to edit and manage for people then I think this project will help really help Sugar Labs achieve that.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;My understanding of the problem and why it needs to be solved?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Documentation, as mentioned before, is important to all open-source projects. Sugar Labs has all documentation for its learner applications called “Activities” at one place in the Activities#Sugar_Activities. Some problem (#risks) that I found with this sort of implementation is as follows:- &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Difficult to add, edit and manage&#039;&#039;&#039;  - In reference to the conversation [archive/sugar-devel] As a user, I need to create an account for editing privileges. Which is very tiresome to be very honest, hence discouraging contributions. &lt;br /&gt;
# &#039;&#039;&#039;Size issues&#039;&#039;&#039; - Wiki is being hosted on the a server. With the growing number of activities, the size occupied by them will increase leading to rise in maintenance cost. Not to mention buying more space. &lt;br /&gt;
# &#039;&#039;&#039;No clear format/classification&#039;&#039;&#039; - Some links are for one activity only while other activities have multiple links for them (example Turtle Art) Results in time being wasted of the user even if they are justified. &lt;br /&gt;
- Found 2 wiki pages of the same activity. (this page and this too)&lt;br /&gt;
I did extensive research on the same and found many such problems with the wiki. According to my experience in open-source, users just need information fast, easily accessible and neatly organized. &amp;lt;br /&amp;gt;&lt;br /&gt;
A new method to make that information organized should be brought in place for the betterment of the whole community. GitHub could be the solution to all our problems (Check here for reference) WikiPort is a tool that helps in migration process of wiki’s to Github hosted README.md. &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Objective&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
To migrate documentation and information of each activity in Activities#Sugar_Activities of Sugar Labs in MediaWiki format to their respective git repositories hosted on GitHub in rich markdown format by a program/tool with special attention to the transfer of all information and media associated with the activity with least redundancies and zero duplication of content if not already present in GitHub@README.md or user documentation in help-activity.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Technologies and Skills Used&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
This list is just a small glimpse of technologies that I am thinking to use for this project. I am proficient in each of them, through my past projects. (Refer)  &lt;br /&gt;
* &#039;&#039;&#039;Programming Language&#039;&#039;&#039;: Python 3.6 using libraries such as requests, LXML, Scrapy, Beautifulsoup etc. Python will be used widely in this project. &lt;br /&gt;
* &#039;&#039;&#039;Markup Languages&#039;&#039;&#039; - Markdown, MediaWiki, reStructuredText&lt;br /&gt;
* &#039;&#039;&#039;For Automation&#039;&#039;&#039; - Ansible or Bash (To automate each step of the migration process and installation of the tool.)&lt;br /&gt;
* &#039;&#039;&#039;Tools&#039;&#039;&#039; - git, shell, MediaWiki API - Pywikibot,GitHub API (Experimental) &lt;br /&gt;
* &#039;&#039;&#039;Others&#039;&#039;&#039; - Yaml (If Ansible is used) &lt;br /&gt;
&lt;br /&gt;
== An Overview of the Migration Process ==  &lt;br /&gt;
&lt;br /&gt;
[[File:S.U.G.A.R.png|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Detailed Description of the steps mentioned &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;One time task&#039;&#039;&#039; - Use a spider to scrape GitHub links for each activity in a proper JSON format (with names of each activity). IF GitHub links not found for the repository, then scripts throws back exception and then links can be found manually. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Step 0 &#039;&#039;&#039; -Extracting content; from these methods that offers the least redundancies. My research yielded these results.&lt;br /&gt;
:  1. Query MediaWiki API and acquire content in wikitext format&lt;br /&gt;
:  2. Export pages in XML using Python Wikipedia Robot Framework  &lt;br /&gt;
:  3.  GET page in simple HTML ( Activities/Sugar_Network&amp;amp;printable=yes) &lt;br /&gt;
*&#039;&#039;&#039;Step 1&#039;&#039;&#039;Convert the data sourced from step 0; using Pandoc to Markdown. Removing syntax, comments and Wikimedia code that might be left after conversion using regex wherever required.  &lt;br /&gt;
* Step 2&lt;br /&gt;
Fork and clone the respective GitHub repository from the links already scraped or found manually of the activity   &lt;br /&gt;
Step 3&lt;br /&gt;
Python script to find all image links and then fetches media (images) associated with activity from web-page; renames them in correct format; adds them to repository folder cloned under “ images” Fix image links and testing.&lt;br /&gt;
Step 4&lt;br /&gt;
Ensuring content is not duplicated by being already present either in the README.md file or the user documentation in the help-activity. Make the necessary changes, fix broken links. Testing; Commit and push to fork..&lt;br /&gt;
Step 5&lt;br /&gt;
Pull request submitted with detailed description of the changes in activity documentation in clear format containing all details. When PR merged, move to step 6.   &lt;br /&gt;
Step 6&lt;br /&gt;
Use Pywikibot (Check delete.py) to delete pages/media associated with wiki page using admin privileges and link back to their repositories. This can also be achieved using the mediawiki API which saves edit history as I mentioned before.  (Read more here)              (End-to-end Migration of wiki page complete)      &lt;br /&gt;
Step 7&lt;br /&gt;
Repeat Step 1 for next activity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Deliverables ==&lt;br /&gt;
# 345 web pages stored in MediaWiki format atActivities#Sugar_Activities on Sugar Labs Wiki converted to Markdown format with assets (images and other files) intact and in-place with zero duplication.  &lt;br /&gt;
# Files in Markdown converted from the wiki content are tested and checked to ensure foolproof 100% migration without any redundancies or loss of information. Manually or through scripts.&lt;br /&gt;
# A detailed report with classified information about the Sugar_activities wiki that needs further improvements submitted to Sugar Labs (Refer week #8 in timeline #Wikiteam)&lt;br /&gt;
Files committed, pushed and PR’s made in each activity’s respective git repository in an information specific format for easy reference. &lt;br /&gt;
# Tested bug-free source code for everyone to use (and other open source projects) for their wikis facing the same issues. Complete documentation of the migration method submitted on time of evaluations with the review of the mentor incorporated.&lt;br /&gt;
# After the complete transfer of all the wiki content, discuss and implement the last actions on the wiki, to either delete the pages or link them back to their respective git repositories.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Thus, by the deliverables mentioned above, 3 well-defined goals that determine project status which will help in evaluation i.e&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Evaluation 1: Migration of 100 wiki-pages complete;&amp;lt;br /&amp;gt;  &lt;br /&gt;
Evaluation 2: Migration of 300 wiki-pages complete;&amp;lt;br /&amp;gt;  &lt;br /&gt;
Final: Migration of 345 wiki-pages;&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== Other Deliverables (and Future Work) ==&lt;br /&gt;
# &#039;&#039;&#039;Contribute more&#039;&#039;&#039; - After and during the project, will help in solving bigger challenges and bugs faced as my experience lies in DevOps tasks and start reading code of Sugarizer.&lt;br /&gt;
# &#039;&#039;&#039;Add Features&#039;&#039;&#039; - Edit history of wikis that are being migrated by WikiPort can be exported as commits on GitHub (implementing this).  &lt;br /&gt;
# &#039;&#039;&#039;Create New Activities&#039;&#039;&#039; - Being well versed in Python (tried making a game with pygame) Would enjoy the new learning curve as I never really explored GTK. Have some new ideas that could be later transformed into fun, interactive learning activities.&lt;br /&gt;
# &#039;&#039;&#039;Complete Misc. Tasks&#039;&#039;&#039; - Wiki pages contain task waiting to be completed I would like to volunteer and finish them for the welfare of the community like this one here IRC#Wishlist.&lt;br /&gt;
# Remain as an &#039;&#039;&#039;active contributor for Sugar Labs&#039;&#039;&#039; and take part in discussions for the future projects. Maybe if the community agrees, also mentor someone &#039;&#039;&#039;myself&#039;&#039;&#039; in the foreseeable future.&lt;br /&gt;
# Use Automation to our favor so that many tasks are completed in WikiPort using bash or Ansible scripts like environment setups, installation and fine workings of the entire tool. (Aim - one command to work it all out with the least number of user interventions)&lt;br /&gt;
“WikiPort converts all MediaWiki documents to rich markdown format and commit them to GitHub or other hosting services without losing any of your data. A tool created by Sugar Labs with love.” &lt;br /&gt;
This seems to me like an excellent repository description of an awesome tool.&lt;br /&gt;
I always wanted to create an open-source tool, that people would use and benefit from and take the time to contribute back. &lt;br /&gt;
WikiPort feels likes that chance.  &lt;br /&gt;
 &lt;br /&gt;
== Timeline == &lt;br /&gt;
&lt;br /&gt;
* In accordance with the official timeline by GSoC, my college exams end somewhere in the first week of May or so. My college reopens early in July. During this time, I will remain in contact with my mentor.&lt;br /&gt;
* This gives me ample time to code. I plan to begin coding before the official period coding period of GSoC starts from starting of May. Which gives me a head start to finish the majority (80%) of the project before the second evaluation. &lt;br /&gt;
 &#039;&#039;&#039;Providing a total of 10 weeks to write code for WikiPort (&amp;amp; other deliverables)&#039;&#039;&#039;&lt;br /&gt;
* I will also write a weekly or Bi-weekly blog post on my progress and updates on my project and post it diligently on the website to get the community involved.  The Weekly timeline is as follows. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Week Number [#]  !! Tasks&lt;br /&gt;
|-&lt;br /&gt;
| [#1] April 23 - April 30   || Week 1 [#1] &lt;br /&gt;
Community Bonding Period &lt;br /&gt;
Community Bonding, if possible keen on having a meeting with the Activity and wiki team. Discussion of ideas that I have.&lt;br /&gt;
Research Part 1&lt;br /&gt;
MediaWiki [Syntax, documentation, API, functionalities]&lt;br /&gt;
Wikitext&lt;br /&gt;
Exploring the problem case defined earlier.&lt;br /&gt;
|-&lt;br /&gt;
| [#2] April 1 - May 7&lt;br /&gt;
 || Start documentation and blog post, about Sugar Labs on my blog.&lt;br /&gt;
Setup: development environment. &lt;br /&gt;
Continue with Research Part 2&lt;br /&gt;
Finding, testing, implementing solutions available for Migration Process step 0 through 6.   &lt;br /&gt;
Discuss results with the mentor, shortlist methods that have the highest success rate. &lt;br /&gt;
Pushing to Github; fixing organization problems&lt;br /&gt;
|-&lt;br /&gt;
| [#3] May 7 - May 14&lt;br /&gt;
 || Finalized migration process, start coding.&lt;br /&gt;
Spider ready to scrape activities for their GitHub repo.&lt;br /&gt;
Report on activities missing GitHub repo. links &lt;br /&gt;
Blog post on Community Bonding @ Sugar Labs&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#4] May 15 - May 22&lt;br /&gt;
 || Official Coding period starts &lt;br /&gt;
Start work on migration script. &lt;br /&gt;
Test migration script on 10 activities (aim - 60% migration of content from wiki to GitHub readme of the activity)&lt;br /&gt;
Gets reviewed by the mentor; implement suggestions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#5] May 23 - May 30&lt;br /&gt;
 || Work on script continues; Tweaking; suggestions implemented by the community&lt;br /&gt;
Testing extensively; and commenting &lt;br /&gt;
Documentation for script&lt;br /&gt;
40 pages completed (Aim - 70% migration of content through the script without manual edits;)&lt;br /&gt;
Write a quality checklist for pages converted to determine bugs, thorough checking of every page converted, every step of the way. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#6] June 1 - June 7&lt;br /&gt;
 || Work on Other Deliverables &lt;br /&gt;
Script improved; Commenting; Logging implemented;&lt;br /&gt;
Quality Checks implemented on sourced markdown files&lt;br /&gt;
Blog post on research and work did so far. &lt;br /&gt;
100 pages completed (minor improvements)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#7] June 8 - June 15&lt;br /&gt;
First Code Evaluations&lt;br /&gt;
 || Implement suggestions from evaluations.&lt;br /&gt;
Start work towards automation of scripts wherever possible (Aim - Least user input)&lt;br /&gt;
Start work on making WikiPort available to all as a simple tool.&lt;br /&gt;
150 pages completed. &lt;br /&gt;
Get a review of pages migrated, from the community.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#8] June 16 - June 23&lt;br /&gt;
 || Documentation alpha release; Repository made; &lt;br /&gt;
Start work: Report of Activities#Sugar_Activities&lt;br /&gt;
200 pages migrated.&lt;br /&gt;
Give a talk related to “Sugar and what it stands for” at one of our local meetups in Delhi. &lt;br /&gt;
Random quality checks; manual fixes wherever required. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#9] June 24 - July 1&lt;br /&gt;
 || 250 pages migrated, checked. &lt;br /&gt;
Get a review of the pages migrated from the community and mentor(s)&lt;br /&gt;
Implement and discuss changes.&lt;br /&gt;
Start with pet project of making my own activity.&lt;br /&gt;
Finish automation task. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#10] July 2 - July 10 &lt;br /&gt;
|| Second Code Evaluations&lt;br /&gt;
300 pages migrated. Completed end-to-end. &lt;br /&gt;
Blog post about GSoC: 10 weeks later.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#11] July 11 - July 18&lt;br /&gt;
Soft Deadline - All 345 web pages migrated completing the primary objective.&lt;br /&gt;
 || 345 pages migrated.  &lt;br /&gt;
Documentation completed.&lt;br /&gt;
Tool Ready with automated tasks and checks wherever they could be implemented hosted on GitHub for everyone to use under Sugar Labs&lt;br /&gt;
Start work on wiki report (Aim - To propose a better format for clear, uniform documentation) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#12] July 19 - July 26&lt;br /&gt;
Hard Deadline &lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
Submit Wiki Report; Get feedback from the community&lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#13] July 27 - August 05&lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
Implement further suggestion if possible. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#14] August 6 - August 13 &lt;br /&gt;
 || Final Code Evaluations&lt;br /&gt;
Various blog posts about the entire experience, GSoC 2018 and Sugar Community. &lt;br /&gt;
Finish making the activity (tentative) &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* I love writing and reading the code. I learned almost everything by reading the docs. I, later on, started writing documentation and code for others too. Helping me always know exactly where I can find the information I am looking for and how to improve on it, how necessary it is.  &lt;br /&gt;
* All my past projects, showcase a strong dedication to the deadline and the determination to get work done. WikiPort will be no different.  &lt;br /&gt;
* As for my skills, &amp;lt;br /&amp;gt;&lt;br /&gt;
- Articles written, published using Pelican, Wordpress (Markdown).&amp;lt;br /&amp;gt;&lt;br /&gt;
- I use git in all project that I start. Document and collaborate on GitHub. &amp;lt;br /&amp;gt;&lt;br /&gt;
- Comfortable with both Linux and Windows OS, (preferring Linux all the way) &amp;lt;br /&amp;gt;&lt;br /&gt;
- Since Python is used widely, my previous project justify my experience and skill in the language &amp;lt;br /&amp;gt;&lt;br /&gt;
- There is no better to prove that I can accomplish and execute my vision for WikiPort by actually showing that work has been done. (here) &amp;lt;br /&amp;gt;&lt;br /&gt;
- There are many points to keep in mind while migrating is taking place, hence for a &#039;&#039;&#039;more methodical&#039;&#039;&#039; approach a [https://etherpad.net/p/Sugar_Migration_Checklist checklist] has been implemented by me which has a summary of all the - steps. (Both manual/automated) &amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
== You and the community ==&lt;br /&gt;
&#039;&#039;&#039;If your project is successfully completed, what will its impact be on the Sugar Labs community?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
*If WikiPort is completed and deployed as a tool for this project. It would help in making the work easier for developers to not just Sugar Labs but everybody and even experienced users. &lt;br /&gt;
*WikiPort will help users port their wikis to GitHub with minimum user inputs, which  would ultimately benefit everyone involved and for many generations of developers to come who will use that documentation.&lt;br /&gt;
*As previously stated, documentation is an important part of any development process. Bad documentation impacts the entire community as. But if the documentation is&lt;br /&gt;
1. &#039;&#039;&#039;Accessible&#039;&#039;&#039; - GitHub is one of the best places to host it. &lt;br /&gt;
2. &#039;&#039;&#039;Relevant and easily traversable&#039;&#039;&#039; - The documentation about every activity will be housed with its GitHub Repository.  &lt;br /&gt;
Clearly written - Strict format to maintain overall uniformity. &lt;br /&gt;
3. &#039;&#039;&#039;Easily editable (+ VCS)&#039;&#039;&#039; - Wiki offers edit history of documents too, but the process to edit a document is cumbersome while GitHub makes it very easy for users to fix issues in it. &lt;br /&gt;
4. &#039;&#039;&#039;More views, more stars&#039;&#039;&#039; - GitHub also increases views and popularity of the activity ultimately helping Sugar Labs to get noticed more.&lt;br /&gt;
If our documentation has all these features, then everybody would be more inclined towards contributing to Sugar Labs and get to know more about it.  &lt;br /&gt;
People would contribute more to bug fixing, indirectly helping the Sugar Labs community to grow and expand more. Helping students, developers, activity maintainers, members of the community.&lt;br /&gt;
Produce a new tool by the community, for the community and with the community’s help for everyone to benefit from.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 2:&#039;&#039;&#039; Walter Bender - walter.bender@gmail.com &amp;lt;br /&amp;gt;&lt;br /&gt;
This project has solid potential to address several pressing issues for the community: &lt;br /&gt;
(1) bifurcation --  we are spread across too many platforms which is both a maintenance issue and also an issue for our users and potential developers, who struggle to find the documentation for the Sugar Activities; &lt;br /&gt;
(2) redundancy -- we are spread too thin to maintain multiple, redundant instances of documentation. Migrating everything to a uniform platform where is it directly tied to the source would impact both of these issues.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 3:&#039;&#039;&#039; James Cameron - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His assessment of project impact from both Github and Email )&lt;br /&gt;
* &amp;quot;Migration is needed because Wiki is not being used now that GitHub is being used. Maintaining the Wiki in addition to GitHub is not sustainable. So we want documentation to move from Wiki to GitHub. So that when an activity is updated in GitHub, the documentation can be updated in the same place at the same time.&amp;quot;&lt;br /&gt;
* “Originally documentation was separate because we had non-coding developers and tool chains that varied by type of developer.  Now we use GitHub the tool chains are combined. With the project as described, documentation will be concentrated in the source code repository for an activity, reducing ongoing maintenance.We have less active Wiki contributors than we ever did, and in the current threat environment a Wiki requires significant monitoring and administration; we recently lost some system administrators and gained new ones; using GitHub allows us to outsource system administration.”&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 4:&#039;&#039;&#039; Tony Anderson - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His comments clarifying the need of WikiPort and the problems it solves)&lt;br /&gt;
As always, the question is the impact on our users. The traditional source of information for users is [1] and [2] and, especially the wiki pages. So far the effect of gitHub has been to reduce the value of these two sources. In many cases the activities on ASLO have been superseded by ones on gitHub or other git repository but are not available to our users. The documentation of activities on ASLO has never been adequate but now no effort will be made to improve it. This continues the trend toward Sugar being a playground for the technical elite. Complete conversation available here.&lt;br /&gt;
[1] http://www.sugarlabs.org 				[2] http://www.laptop.org&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What will you do if you get stuck on your project and your mentor isn&#039;t around?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
I strive to solve a problem using my own skill base by searching about the problem case and working it out into smaller bits.&lt;br /&gt;
#sugar and #sugar-devel channels on IRC, the mailing lists where other community members discuss issues. I am familiar with mailing list etiquettes for open source communities and learn fairly fast.&lt;br /&gt;
Google and StackOverflow about the issues, later refer to the documentation of the tool I am using for reference. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I would get regular, constructive feedback on the code I will write and the work I would do for the community by posting work samples from Github, on the mailing list and on IRC. [Check Timeline for the same]&lt;br /&gt;
Post constant updates on my blog and maintain an update tracker for each week on a public notepad (Etherpad, etc.)&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&#039;&#039;&#039;Send us a link to a pull request or merge request you have made a Sugar or Sugar activity bug.&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I needed to test my WikiPort beta script that I had created, hence made some extra efforts and migrated these four wiki pages listed below.   &lt;br /&gt;
[https://github.com/sugarlabs/lettermatch/pull/3 lettermatch/pull/3] &lt;br /&gt;
[https://github.com/sugarlabs/AEIOU/pull/9 sugarlabs/AEIOU/pull/9] &lt;br /&gt;
[https://github.com/sugarlabs/iknowmyabcs/pull/7 iknowmyabcs/pull/7] &lt;br /&gt;
[https://github.com/sugarlabs/i-can-read-activity/pull/6 /i-can-read-activity/pull/6] &lt;br /&gt;
&lt;br /&gt;
Another Issue that I am currently working  is [https://github.com/sugarlabs/sugar-live-build/issues/6 sugar-live-build/issues/] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe a great learning experience you had as a child.&#039;&#039;&#039;&lt;br /&gt;
Here’s a short story titled “Let me Google that for you.” when I was 14. &lt;br /&gt;
&lt;br /&gt;
From my childhood, web technologies have always piqued my interest for the longest time as I can remember. I been writing HTML since I was 1. But I never liked to read from the old, dusty books. When I code, I had to take help from seniors, teachers, the experience I gained and other sources. Almost everybody was irritated by the constant barrage of long and complex questions, that Vipul Gupta had.&lt;br /&gt;
So what happened one day, I walked to one of the seniors and asked him a question if I remember right about how he would determine which browser is better for a particular segment of code I wrote. He took me to the lab and told me to open a link similar like to this http://bfy.tw/HFBs This will have the solution surely to all my problems. &lt;br /&gt;
What happened next? I was embarrassed and couldn’t see straight but he was not judgemental and was very humble (A trait everyone of should have towards beginners, I feel like.) and from that day forward. The only place I actually learned something was the internet. &lt;br /&gt;
That day I actually learned how to Google by letting someone google that for me. Teaching by the application at its best. I look back to this incident and still smile. I share this experience of mine whenever I have a chance to interact with my juniors that serves as motivation boost and compels them to think that nothing is impossible, and everybody makes mistakes once in a while.  This lead to me creating hundreds of links more from this website. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* I think I am well satisfied with the proposal that I have made for WikiPort, the project for Sugar Labs. The template given by Sugar Labs really covers all the corners of my  project, and actually helped me think more constructively about the project and the fine aspects of it. &lt;br /&gt;
* I learned a lot through these few weeks, working on the proposal. MediaWIki API and new skills, contributing to an open-source organisation of this stature, how to interact with people. This has been a memorable experience. I am in awe, I really am.&lt;br /&gt;
* All open-source communities may not be same, but are run on the same principle that I also try to follow in life. Be humble, and helpful to everybody. The ‘ahaa-moment’ of a beginner is what I live for, when he truly get the point that I am trying to make.&lt;br /&gt;
* Some Credits - Learned to not contest for issues, but focus on better PR’s, and many new things from James Cameron (@Quozl)’s blog. Jasikrat too for helping people on IRC emailsll mentors who review our proposal and go through all our mails. Thank you all for the opportunities and the help provided to me and my fellow contributors. I hope down the line, I could follow in your footsteps too.&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101625</id>
		<title>WikiPort</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101625"/>
		<updated>2018-03-29T06:54:36Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:WikiPort : Migration of wiki activity pages to git}}&lt;br /&gt;
&lt;br /&gt;
[[Category:2018 GSoC applications]]&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
__INDEX__&lt;br /&gt;
This page is under heavy development, for the time being, please refer to the proposal in rich-formatting [https://docs.google.com/document/d/1mPd_SeUqeJF_yKWVEDFuzU7LWsnUFSbLdQQ44HvsYyA/edit?usp=sharing here]&lt;br /&gt;
&lt;br /&gt;
[[File:Logo wikiport.png|frameless|center|WikiPort]]&lt;br /&gt;
&lt;br /&gt;
== About You ==&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039; - Vipul Gupta&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Email address&#039;&#039;&#039; - vipulgupta2048@gmail.com &amp;lt;br /&amp;gt;  &lt;br /&gt;
&#039;&#039;&#039;Blog Url&#039;&#039;&#039; -  www.mixstersite.wordpress.com  &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Sugar Labs wiki username&#039;&#039;&#039; - Vipulgupta2048 &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IRC nickname&#039;&#039;&#039; - vipulgupta2048 &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Linkedin&#039;&#039;&#039; - vipulgupta2048&lt;br /&gt;
&#039;&#039;&#039;Github&#039;&#039;&#039; - vipulgupta2048&lt;br /&gt;
&#039;&#039;&#039;Twitter&#039;&#039;&#039; - vipulgupta2048 &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;First language - English (Fluent) &amp;lt;br /&amp;gt; &lt;br /&gt;
&#039;&#039;&#039;Located at, and what hours (UTC) do you tend to work&#039;&#039;&#039; - I am based out of New Delhi, India (+5.30 GMT). I am flexible with timings and can work for 3-5 hours everyday. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects or some other demonstration of the work that you have done in open-source?&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Yes, I have participated and maintained many open-source projects. Also been contributing to other community and conference projects. Some of the links and description of those pages are as follows&lt;br /&gt;
&lt;br /&gt;
* First pull request on my college community’s website, ALiAS - Maintainer since 2016.&lt;br /&gt;
* vipulgupta2048/opengisproj_mirror- Involved building a web app for real-time monitoring of pollution levels in rivers of India and to assess the impact on the health of people using the water from the river. The working repo is private, hence a public mirror for showcasing. &lt;br /&gt;
* vipulgupta2048/scrape Scraping major news websites/outlets in India using Scrapy [Python] Managing the data flow by employing PostgreSQL. Finding fake news using Machine Learning with help of libraries (Word2vec)&lt;br /&gt;
* Fixed bugs, wrote blogs, added new features using HTML, CSS and JS for the official website of the premier conference on Python in India, PyCON India 2017 ( Here and here) &lt;br /&gt;
* gitlab/asetalias/Community-Connect [Ongoing]  &lt;br /&gt;
* Completed: Hacktoberfest Challenge;  Here.&lt;br /&gt;
* Building and mentoring website development for Pyladies Delhi Chapter Pyladies-delhi-website  &lt;br /&gt;
* Recent contribution: In Sugar Labs        &lt;br /&gt;
&lt;br /&gt;
Along with this, Python Delhi User Group (PyDelhi) is a volunteer-driven organization comprising of Pythonistas, enthusiasts, who have a primary focus in Python. I help by volunteering and organizing meetups for them. &amp;lt;br /&amp;gt;&lt;br /&gt;
I am a committee member of my college’s open source community. ALiAS (Amity Linux Assistance Sapience) We conduct hands-on workshops, seminars, talks and much more to try and help as many people as we can along the process and motivate them to make their first PR.&amp;lt;br /&amp;gt;&lt;br /&gt;
I genuinely love spreading knowledge among peers/juniors/underprivileged children wherever I can through my voice (Talks and workshops) and my words (Tech-Blog)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039; &amp;lt;br /&amp;gt; &lt;br /&gt;
Wikiport &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using? &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Abstract Ideas:&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
	Documentation tools have become modern, lighter, easier to use with the use of Sphinx, Github pages/wiki, Mkdocs and many more similar frameworks and applications. It’s easily the first and the most important steps for any open-source projects implemented by almost everybody.&amp;lt;br /&amp;gt; &lt;br /&gt;
If people know more, they would want to get involved and contribute more. This would, in turn, help the entire community to grow and expand. If the information (Documentation) is accessible fast, easily comprehensible, simple enough to edit and manage for people then I think this project will help really help Sugar Labs achieve that.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;My understanding of the problem and why it needs to be solved?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Documentation, as mentioned before, is important to all open-source projects. Sugar Labs has all documentation for its learner applications called “Activities” at one place in the Activities#Sugar_Activities. Some problem (#risks) that I found with this sort of implementation is as follows:- &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Difficult to add, edit and manage&#039;&#039;&#039;  - In reference to the conversation [archive/sugar-devel] As a user, I need to create an account for editing privileges. Which is very tiresome to be very honest, hence discouraging contributions. &lt;br /&gt;
# &#039;&#039;&#039;Size issues&#039;&#039;&#039; - Wiki is being hosted on the a server. With the growing number of activities, the size occupied by them will increase leading to rise in maintenance cost. Not to mention buying more space. &lt;br /&gt;
# &#039;&#039;&#039;No clear format/classification&#039;&#039;&#039; - Some links are for one activity only while other activities have multiple links for them (example Turtle Art) Results in time being wasted of the user even if they are justified. &lt;br /&gt;
Found 2 wiki pages of the same activity. (this page and this too)&lt;br /&gt;
I did extensive research on the same and found many such problems with the wiki. According to my experience in open-source, users just need information fast, easily accessible and neatly organized. &lt;br /&gt;
A new method to make that information organized should be brought in place for the betterment of the whole community. GitHub could be the solution to all our problems (Check here for reference) WikiPort is a tool that helps in migration process of wiki’s to Github hosted README.md. &lt;br /&gt;
 &lt;br /&gt;
Objective &lt;br /&gt;
To migrate documentation and information of each activity in Activities#Sugar_Activities of Sugar Labs in MediaWiki format to their respective git repositories hosted on GitHub in rich markdown format by a program/tool with special attention to the transfer of all information and media associated with the activity with least redundancies and zero duplication of content if not already present in GitHub@README.md or user documentation in help-activity.&lt;br /&gt;
 &lt;br /&gt;
Technologies and Skills Used&lt;br /&gt;
This list is just a small glimpse of technologies that I am thinking to use for this project. I am proficient in each of them, through my past projects. (Refer)  &lt;br /&gt;
&#039;&#039;&#039;Programming Language&#039;&#039;&#039;: Python 3.6 using libraries such as requests, LXML, Scrapy, Beautifulsoup etc. Python will be used widely in this project. &lt;br /&gt;
&#039;&#039;&#039;Markup Languages&#039;&#039;&#039; - Markdown, MediaWiki, reStructuredText&lt;br /&gt;
&#039;&#039;&#039;For Automation&#039;&#039;&#039; - Ansible or Bash (To automate each step of the migration process and installation of the tool.)&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039; - git, shell, MediaWiki API - Pywikibot,GitHub API (Experimental) &lt;br /&gt;
&#039;&#039;&#039;Others&#039;&#039;&#039; - Yaml (If Ansible is used) &lt;br /&gt;
&lt;br /&gt;
An Overview of the Migration Process  &lt;br /&gt;
&lt;br /&gt;
[[File:S.U.G.A.R.png|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
Some documentation of activities are stored in help-activity. Hence to prevent duplication of content between these two sources (Wiki and help-activity), my checklist already contains a step to either manually check the content difference between them or use a script or program to find and settle differences between them. Thus ensuring end-to-end migration of the wiki-pages and avoiding more maintenance.     &lt;br /&gt;
We can also help keep the help-activity updated by using GitHub’s API for pull requests which can comment the link of the specific help-activity page if anyone submits a PR to change README.md of the activity. (Experimental - but can be implemented)&lt;br /&gt;
Detailed Description of the steps mentioned &lt;br /&gt;
One time task - Use a spider to scrape GitHub links for each activity in a proper JSON format (with names of each activity). IF GitHub links not found for the repository, then scripts throws back exception and then links can be found manually. &lt;br /&gt;
Step 0 &lt;br /&gt;
Extracting content; from these methods that offers the least redundancies. My research yielded these results.&lt;br /&gt;
1. Query MediaWiki API and acquire content in wikitext format&lt;br /&gt;
2. Export pages in XML using Python Wikipedia Robot Framework  &lt;br /&gt;
3.  GET page in simple HTML ( Activities/Sugar_Network&amp;amp;printable=yes) &lt;br /&gt;
Step 1&lt;br /&gt;
Convert the data sourced from step 0; using Pandoc to Markdown. Removing syntax, comments and Wikimedia code that might be left after conversion using regex wherever required.  &lt;br /&gt;
Step 2&lt;br /&gt;
Fork and clone the respective GitHub repository from the links already scraped or found manually of the activity   &lt;br /&gt;
Step 3&lt;br /&gt;
Python script to find all image links and then fetches media (images) associated with activity from web-page; renames them in correct format; adds them to repository folder cloned under “ images” Fix image links and testing.&lt;br /&gt;
Step 4&lt;br /&gt;
Ensuring content is not duplicated by being already present either in the README.md file or the user documentation in the help-activity. Make the necessary changes, fix broken links. Testing; Commit and push to fork..&lt;br /&gt;
Step 5&lt;br /&gt;
Pull request submitted with detailed description of the changes in activity documentation in clear format containing all details. When PR merged, move to step 6.   &lt;br /&gt;
Step 6&lt;br /&gt;
Use Pywikibot (Check delete.py) to delete pages/media associated with wiki page using admin privileges and link back to their repositories. This can also be achieved using the mediawiki API which saves edit history as I mentioned before.  (Read more here)              (End-to-end Migration of wiki page complete)      &lt;br /&gt;
Step 7&lt;br /&gt;
Repeat Step 1 for next activity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Important Note&lt;br /&gt;
I noticed by the pull requests of my fellow contributors on Sugar Labs Github have yielded unnecessarily large activity bundles which might be an issue. As one always aims to keep the repository size as small as possible. This needs to be taken care of. &lt;br /&gt;
The fix I propose is to add these said bundles to gitignore by implementing a test case for or a python script to exclude them. &lt;br /&gt;
&lt;br /&gt;
Project Deliverables&lt;br /&gt;
345 web pages stored in MediaWiki format atActivities#Sugar_Activities on Sugar Labs Wiki converted to Markdown format with assets (images and other files) intact and in-place with zero duplication.  &lt;br /&gt;
Files in Markdown converted from the wiki content are tested and checked to ensure foolproof 100% migration without any redundancies or loss of information. Manually or through scripts.&lt;br /&gt;
A detailed report with classified information about the Sugar_activities wiki that needs further improvements submitted to Sugar Labs (Refer week #8 in timeline #Wikiteam)&lt;br /&gt;
Files committed, pushed and PR’s made in each activity’s respective git repository in a information specific format for easy reference. &lt;br /&gt;
Tested bug-free source code for everyone to use (and other open source projects) for their wikis facing the same issues. Complete documentation of the migration method submitted on time of evaluations with the review of the mentor incorporated.&lt;br /&gt;
After the complete transfer of all the wiki content, discuss and implement the last actions on the wiki, to either delete the pages or link them back to their respective git repositories.  &lt;br /&gt;
 &lt;br /&gt;
Thus, by the deliverables mentioned above, 3 well defined goals that determines project status which will help in evaluation i.e&lt;br /&gt;
Evaluation 1: Migration of 100 wiki-pages complete;  &lt;br /&gt;
Evaluation 2: Migration of 300 wiki-pages complete;  &lt;br /&gt;
Final: Migration of 345 wiki-pages;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Other Deliverables (and Future Work)&lt;br /&gt;
Contribute more - After and during the project, will help in solving bigger challenges and bugs faced as my experience lies in DevOps tasks and start reading code of Sugarizer.&lt;br /&gt;
Add Features - Edit history of wikis that are being migrated by WikiPort can be exported as commits on GitHub (implementing this).  &lt;br /&gt;
Create New Activities - Being well versed in Python (tried making a game with pygame) Would enjoy the new learning curve as I never really explored GTK. Have some new ideas that could be later transformed into fun, interactive learning activities.&lt;br /&gt;
Complete Misc. Tasks - Wiki pages contain task waiting to be completed I would like to volunteer and finish them for the welfare of the community like this one here IRC#Wishlist.&lt;br /&gt;
Remain as an active contributor for Sugar Labs and take part in discussions for the future projects. Maybe if the community agrees, also mentor someone myself in the foreseeable future.&lt;br /&gt;
Use Automation to our favor so that many tasks are completed in WikiPort using bash or Ansible scripts like environment setups, installation and fine workings of the entire tool. (Aim - one command to work it all out with the least number of user interventions)&lt;br /&gt;
“WikiPort converts all MediaWiki documents to rich markdown format and commit them to GitHub or other hosting services without losing any of your data. A tool created by Sugar Labs with love.” &lt;br /&gt;
This seems to me like an excellent repository description of an awesome tool.&lt;br /&gt;
I always wanted to create an open-source tool, that people would use and benefit from and take the time to contribute back. &lt;br /&gt;
WikiPort feels likes that chance.  &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
What is the timeline for development of your project? &lt;br /&gt;
Description as follows in accordance with the official timeline.&lt;br /&gt;
&lt;br /&gt;
Date&lt;br /&gt;
Event&lt;br /&gt;
April 16&lt;br /&gt;
Exams start (College)&lt;br /&gt;
April 23&lt;br /&gt;
Student Proposals announced.&lt;br /&gt;
-*-*-*-*-*-  Community Bonding Period  -*-*-*-*-*-&lt;br /&gt;
May 14&lt;br /&gt;
Official Coding Day starts (Summer break starts)&lt;br /&gt;
June 11&lt;br /&gt;
First Evaluations&lt;br /&gt;
July 9&lt;br /&gt;
Second Evaluations&lt;br /&gt;
19 July&lt;br /&gt;
Soft Deadline [Pencil’s Down]&lt;br /&gt;
23 July&lt;br /&gt;
Hard Deadline [Final code review/ Bug fixing]&lt;br /&gt;
August 6&lt;br /&gt;
Submit Code and Final Evaluations&lt;br /&gt;
&lt;br /&gt;
In accordance with the official timeline by GSoC, my college exams end somewhere in the first week of May or so. My college reopens early in July. During this time, I will remain in contact with my mentor.&lt;br /&gt;
This gives me ample time to code. I plan to begin coding before the official period coding period of GSoC starts from starting of May. Which gives me a head start to finish the majority (80%) of the project before the second evaluation. &lt;br /&gt;
Providing a total of 10 weeks to write code for WikiPort (&amp;amp; other deliverables)&lt;br /&gt;
I will also write a weekly or Bi-weekly blog post on my progress and updates on my project and post it diligently on the website to get the community involved.  The Weekly timeline is as follows. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Task&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Week Number [#]  !! Tasks&lt;br /&gt;
|-&lt;br /&gt;
| [#1] April 23 - April 30   || Week 1 [#1] &lt;br /&gt;
Community Bonding Period &lt;br /&gt;
Community Bonding, if possible keen on having a meeting with the Activity and wiki team. Discussion of ideas that I have.&lt;br /&gt;
Research Part 1&lt;br /&gt;
MediaWiki [Syntax, documentation, API, functionalities]&lt;br /&gt;
Wikitext&lt;br /&gt;
Exploring the problem case defined earlier.&lt;br /&gt;
|-&lt;br /&gt;
| [#2] April 1 - May 7&lt;br /&gt;
 || Start documentation and blog post, about Sugar Labs on my blog.&lt;br /&gt;
Setup: development environment. &lt;br /&gt;
Continue with Research Part 2&lt;br /&gt;
Finding, testing, implementing solutions available for Migration Process step 0 through 6.   &lt;br /&gt;
Discuss results with mentor, shortlist methods that have the highest success rate. &lt;br /&gt;
Pushing to Github; fixing organization problems&lt;br /&gt;
|-&lt;br /&gt;
| [#3] May 7 - May 14&lt;br /&gt;
 || Finalized migration process, start coding.&lt;br /&gt;
Spider ready to scrape activities for their GitHub repo.&lt;br /&gt;
Report on activities missing GitHub repo. links &lt;br /&gt;
Blog post on Community Bonding @ Sugar Labs&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#4] May 15 - May 22&lt;br /&gt;
 || Official Coding period starts &lt;br /&gt;
Start work on migration script. &lt;br /&gt;
Test migration script on 10 activities (aim - 60% migration of content from wiki to GitHub readme of the activity)&lt;br /&gt;
Gets reviewed by mentor; implement suggestions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#5] May 23 - May 30&lt;br /&gt;
 || Work on script continues; Tweaking; suggestions implemented by the community&lt;br /&gt;
Testing extensively; and commenting &lt;br /&gt;
Documentation for script&lt;br /&gt;
40 pages completed (Aim - 70% migration of content through the script without manual edits;)&lt;br /&gt;
Write a quality checklist for pages converted to determine bugs, thorough checking of every page converted, every step of the way. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#6] June 1 - June 7&lt;br /&gt;
 || Work on Other Deliverables &lt;br /&gt;
Script improved; Commenting; Logging implemented;&lt;br /&gt;
Quality Checks implemented on sourced markdown files&lt;br /&gt;
Blog post on research and work did so far. &lt;br /&gt;
100 pages completed (minor improvements)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#7] June 8 - June 15&lt;br /&gt;
First Code Evaluations&lt;br /&gt;
 || Implement suggestions from evaluations.&lt;br /&gt;
Start work towards automation of scripts wherever possible (Aim - Least user input)&lt;br /&gt;
Start work on making WikiPort available to all as a simple tool.&lt;br /&gt;
150 pages completed. &lt;br /&gt;
Get a review of pages migrated, from the community.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#8] June 16 - June 23&lt;br /&gt;
 || Documentation alpha release; Repository made; &lt;br /&gt;
Start work: Report of Activities#Sugar_Activities&lt;br /&gt;
200 pages migrated.&lt;br /&gt;
Give a talk related to “Sugar and what it stands for” at one of our local meetups in Delhi. &lt;br /&gt;
Random quality checks; manual fixes wherever required. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#9] June 24 - July 1&lt;br /&gt;
 || 250 pages migrated, checked. &lt;br /&gt;
Get a review of the pages migrated from the community and mentor(s)&lt;br /&gt;
Implement and discuss changes.&lt;br /&gt;
Start with pet project of making my own activity.&lt;br /&gt;
Finish automation task. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#10] July 2 - July 10 &lt;br /&gt;
|| Second Code Evaluations&lt;br /&gt;
300 pages migrated. Completed end-to-end. &lt;br /&gt;
Blog post about GSoC: 10 weeks later.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#11] July 11 - July 18&lt;br /&gt;
Soft Deadline - All 345 web pages migrated completing the primary objective.&lt;br /&gt;
 || 345 pages migrated.  &lt;br /&gt;
Documentation completed.&lt;br /&gt;
Tool Ready with automated tasks and checks wherever they could be implemented hosted on GitHub for everyone to use under Sugar Labs&lt;br /&gt;
Start work on wiki report (Aim - To propose a better format for clear, uniform documentation) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#12] July 19 - July 26&lt;br /&gt;
Hard Deadline &lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
Submit Wiki Report; Get feedback from the community&lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#13] July 27 - August 05&lt;br /&gt;
 || Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
Implement further suggestion if possible. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [#14] August 6 - August 13 &lt;br /&gt;
 || Final Code Evaluations&lt;br /&gt;
Various blog posts about the entire experience, GSoC 2018 and Sugar Community. &lt;br /&gt;
Finish making the activity (tentative) &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
* I love writing and reading code. I learned almost everything by reading the docs. I, later on, started writing documentation and code for others too. Helping me always know exactly where I can find the information I am looking for and how to improve on it, how necessary it is.  &lt;br /&gt;
* All my past  projects, showcase a strong dedication to the deadline and the determination to get work done. WikiPort will be no different.  &lt;br /&gt;
* As for my skills, &amp;lt;br /&amp;gt;&lt;br /&gt;
- Articles written, published using Pelican, Wordpress (Markdown).&amp;lt;br /&amp;gt;&lt;br /&gt;
- I use git in all project that I start. Document and collaborate on GitHub. &amp;lt;br /&amp;gt;&lt;br /&gt;
- Comfortable with both Linux and Windows OS, (preferring Linux all the way) &amp;lt;br /&amp;gt;&lt;br /&gt;
- There is no better to prove that I can accomplish and execute my vision for WikiPort by actually showing that work has been done. (here) &amp;lt;br /&amp;gt;&lt;br /&gt;
- There are many points to keep in mind while migrating is taking place, hence for a &#039;&#039;&#039;more methodical&#039;&#039;&#039; approach a [https://etherpad.net/p/Sugar_Migration_Checklist checklist] has been implemented by me which has a summary of all the - steps. (Both manual/automated) &amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
You and the community&lt;br /&gt;
If your project is successfully completed, what will its impact be on the Sugar Labs community?&lt;br /&gt;
If WikiPort is completed and deployed as a tool through this project. It would help in making the work easier for developers to not just Sugar Labs but everybody and even experienced users. &lt;br /&gt;
WikiPort will help users port their wikis to GitHub with minimum user inputs, which  would ultimately benefit everyone involved and for many generations of developers to come who will use that documentation.&lt;br /&gt;
As previously stated, documentation is an important part of any development process. Bad documentation impacts the entire community as. But if the documentation is&lt;br /&gt;
Accessible - GitHub is one of the best places to host it. &lt;br /&gt;
Relevant and easily traversable - The documentation about every activity will be housed with its GitHub Repository.  &lt;br /&gt;
Clearly written - Strict format to maintain overall uniformity. &lt;br /&gt;
Easily editable (+ VCS) - Wiki offers edit history of documents too, but the process to edit a document is cumbersome while GitHub makes it very easy for users to fix issues in it. &lt;br /&gt;
More views, more stars - GitHub also increases views and popularity of the activity ultimately helping Sugar Labs to get noticed more.&lt;br /&gt;
If our documentation has all these features, then everybody would be more inclined towards contributing to Sugar Labs and get to know more about it.  &lt;br /&gt;
People would contribute more to bug fixing, indirectly helping the Sugar Labs community to grow and expand more. Helping students, developers, activity maintainers, members of the community.&lt;br /&gt;
Produce a new tool by the community, for the community and with the community’s help for everyone to benefit from.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 2:&#039;&#039;&#039; Walter Bender - walter.bender@gmail.com &amp;lt;br /&amp;gt;&lt;br /&gt;
This project has solid potential to address several pressing issues for the community: &lt;br /&gt;
(1) bifurcation --  we are spread across too many platforms which is both a maintenance issue and also an issue for our users and potential developers, who struggle to find the documentation for the Sugar Activities; &lt;br /&gt;
(2) redundancy -- we are spread too thin to maintain multiple, redundant instances of documentation. Migrating everything to a uniform platform where is it directly tied to the source would impact both of these issues.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 3:&#039;&#039;&#039; James Cameron - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His assessment of project impact from both Github and Email )&lt;br /&gt;
* &amp;quot;Migration is needed because Wiki is not being used now that GitHub is being used. Maintaining the Wiki in addition to GitHub is not sustainable. So we want documentation to move from Wiki to GitHub. So that when an activity is updated in GitHub, the documentation can be updated in the same place at the same time.&amp;quot;&lt;br /&gt;
* “Originally documentation was separate because we had non-coding developers and tool chains that varied by type of developer.  Now we use GitHub the tool chains are combined. With the project as described, documentation will be concentrated in the source code repository for an activity, reducing ongoing maintenance.We have less active Wiki contributors than we ever did, and in the current threat environment a Wiki requires significant monitoring and administration; we recently lost some system administrators and gained new ones; using GitHub allows us to outsource system administration.”&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Answer 4:&#039;&#039;&#039; Tony Anderson - quozl@laptop.org &amp;lt;br /&amp;gt;&lt;br /&gt;
(His comments clarifying the need of WikiPort and the problems it solves)&lt;br /&gt;
As always, the question is the impact on our users. The traditional source of information for users is [1] and [2] and, especially the wiki pages. So far the effect of gitHub has been to reduce the value of these two sources. In many cases the activities on ASLO have been superseded by ones on gitHub or other git repository but are not available to our users. The documentation of activities on ASLO has never been adequate but now no effort will be made to improve it. This continues the trend toward Sugar being a playground for the technical elite. Complete conversation available here.&lt;br /&gt;
[1] http://www.sugarlabs.org 				[2] http://www.laptop.org&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;What will you do if you get stuck on your project and your mentor isn&#039;t around?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
I strive to solve a problem using my own skill base by searching about the problem case and working it out into smaller bits.&lt;br /&gt;
#sugar and #sugar-devel channels on IRC, the mailing lists where other community members discuss issues. I am familiar with mailing list etiquettes for open source communities and learn fairly fast.&lt;br /&gt;
Google and StackOverflow about the issues, later refer to the documentation of the tool I am using for reference. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I would get regular, constructive feedback on the code I will write and the work I would do for the community by posting work samples from Github, on the mailing list and on IRC. [Check Timeline for the same]&lt;br /&gt;
Post constant updates on my blog and maintain an update tracker for each week on a public notepad (Etherpad, etc.)&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&#039;&#039;&#039;Send us a link to a pull request or merge request you have made a Sugar or Sugar activity bug.&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
I needed to test my WikiPort beta script that I had created, hence made some extra efforts and migrated these four wiki pages listed below.   &lt;br /&gt;
[https://github.com/sugarlabs/lettermatch/pull/3 lettermatch/pull/3] &lt;br /&gt;
[https://github.com/sugarlabs/AEIOU/pull/9 sugarlabs/AEIOU/pull/9] &lt;br /&gt;
[https://github.com/sugarlabs/iknowmyabcs/pull/7 iknowmyabcs/pull/7] &lt;br /&gt;
[https://github.com/sugarlabs/i-can-read-activity/pull/6 /i-can-read-activity/pull/6] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another Issue that I am currently working  is sugar-live-build/issues/ &lt;br /&gt;
Describe a great learning experience you had as a child.&lt;br /&gt;
Here’s a short story titled “Let me Google that for you.” when I was 14. &lt;br /&gt;
&lt;br /&gt;
From my childhood, web technologies have always piqued my interest for the longest time as I can remember. I been writing HTML since I was 1. But I never liked to read from the old, dusty books. When I code, I had to take help from seniors, teachers, the experience I gained and other sources. Almost everybody was irritated by the constant barrage of long and complex questions, that Vipul Gupta had.&lt;br /&gt;
So what happened one day, I walked to one of the seniors and asked him a question if I remember right about how he would determine which browser is better for a particular segment of code I wrote. He took me to the lab and told me to open a link similar like to this http://bfy.tw/HFBs This will have the solution surely to all my problems. &lt;br /&gt;
What happened next? I was embarrassed and couldn’t see straight but he was not judgemental and was very humble (A trait everyone of should have towards beginners, I feel like.) and from that day forward. The only place I actually learned something was the internet. &lt;br /&gt;
That day I actually learned how to Google by letting someone google that for me. Teaching by the application at its best. I look back to this incident and still smile. I share this experience of mine whenever I have a chance to interact with my juniors that serves as motivation boost and compels them to think that nothing is impossible, and everybody makes mistakes once in a while.  This lead to me creating hundreds of links more from this website. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* I think I am well satisfied with the proposal that I have made for WikiPort, the project for Sugar Labs. The template given by Sugar Labs really covers all the corners of my  project, and actually helped me think more constructively about the project and the fine aspects of it. &lt;br /&gt;
* I learned a lot through these few weeks, working on the proposal. MediaWIki API and new skills, contributing to an open-source organisation of this stature, how to interact with people. This has been a memorable experience. I am in awe, I really am.&lt;br /&gt;
* All open-source communities may not be same, but are run on the same principle that I also try to follow in life. Be humble, and helpful to everybody. The ‘ahaa-moment’ of a beginner is what I live for, when he truly get the point that I am trying to make.&lt;br /&gt;
* Some Credits - Learned to not contest for issues, but focus on better PR’s, and many new things from James Cameron (@Quozl)’s blog. Jasikrat too for helping people on IRC and all mentors who review our proposal and go through all our mails. Thank you all for the opportunities and the help provided to me and my fellow contributors. I hope down the line, I could follow in your footsteps too.&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=File:S.U.G.A.R.png&amp;diff=101624</id>
		<title>File:S.U.G.A.R.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=File:S.U.G.A.R.png&amp;diff=101624"/>
		<updated>2018-03-29T06:30:48Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Migration Process described by a flowchart&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=File:Logo_wikiport.png&amp;diff=101623</id>
		<title>File:Logo wikiport.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=File:Logo_wikiport.png&amp;diff=101623"/>
		<updated>2018-03-29T06:29:35Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logo of my project WikiPort&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101622</id>
		<title>WikiPort</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101622"/>
		<updated>2018-03-28T22:16:39Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: Changes done&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:WikiPort : Migration of wiki activity pages to git}}&lt;br /&gt;
&lt;br /&gt;
[[Category:2018 GSoC applications]]&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
__INDEX__&lt;br /&gt;
This page is under heavy development, for the time being, please refer to the proposal in rich-formatting [https://docs.google.com/document/d/1mPd_SeUqeJF_yKWVEDFuzU7LWsnUFSbLdQQ44HvsYyA/edit?usp=sharing here]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About You ==&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039; - Vipul Gupta&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Email address&#039;&#039;&#039; - vipulgupta2048@gmail.com &amp;lt;br /&amp;gt;  &lt;br /&gt;
&#039;&#039;&#039;Blog Url&#039;&#039;&#039; -  www.mixstersite.wordpress.com  &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Sugar Labs wiki username&#039;&#039;&#039; - Vipulgupta2048 &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IRC nickname&#039;&#039;&#039; - vipulgupta2048 &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Linkedin&#039;&#039;&#039; - vipulgupta2048&lt;br /&gt;
&#039;&#039;&#039;Github&#039;&#039;&#039; - vipulgupta2048&lt;br /&gt;
&#039;&#039;&#039;Twitter&#039;&#039;&#039; - vipulgupta2048 &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;First language - English (Fluent) &amp;lt;br /&amp;gt; &lt;br /&gt;
&#039;&#039;&#039;Located at, and what hours (UTC) do you tend to work&#039;&#039;&#039; - I am based out of New Delhi, India (+5.30 GMT). I am flexible with timings and can work for 3-5 hours everyday. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects or some other demonstration of the work that you have done in open-source?&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Yes, I have participated and maintained many open-source projects. Also been contributing to other community and conference projects. Some of the links and description of those pages are as follows&lt;br /&gt;
&lt;br /&gt;
* First pull request on my college community’s website, ALiAS - Maintainer since 2016.&lt;br /&gt;
* vipulgupta2048/opengisproj_mirror- Involved building a web app for real-time monitoring of pollution levels in rivers of India and to assess the impact on the health of people using the water from the river. The working repo is private, hence a public mirror for showcasing. &lt;br /&gt;
* vipulgupta2048/scrape Scraping major news websites/outlets in India using Scrapy [Python] Managing the data flow by employing PostgreSQL. Finding fake news using Machine Learning with help of libraries (Word2vec)&lt;br /&gt;
* Fixed bugs, wrote blogs, added new features using HTML, CSS and JS for the official website of the premier conference on Python in India, PyCON India 2017 ( Here and here) &lt;br /&gt;
* gitlab/asetalias/Community-Connect [Ongoing]  &lt;br /&gt;
* Completed: Hacktoberfest Challenge;  Here.&lt;br /&gt;
* Building and mentoring website development for Pyladies Delhi Chapter Pyladies-delhi-website  &lt;br /&gt;
* Recent contribution: In Sugar Labs        &lt;br /&gt;
&lt;br /&gt;
Along with this, Python Delhi User Group (PyDelhi) is a volunteer-driven organization comprising of Pythonistas, enthusiasts, who have a primary focus in Python. I help by volunteering and organizing meetups for them. &amp;lt;br /&amp;gt;&lt;br /&gt;
I am a committee member of my college’s open source community. ALiAS (Amity Linux Assistance Sapience) We conduct hands-on workshops, seminars, talks and much more to try and help as many people as we can along the process and motivate them to make their first PR.&amp;lt;br /&amp;gt;&lt;br /&gt;
I genuinely love spreading knowledge among peers/juniors/underprivileged children wherever I can through my voice (Talks and workshops) and my words (Tech-Blog)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About your project ==&lt;br /&gt;
&#039;&#039;&#039;What is the name of your project?&#039;&#039;&#039; &amp;lt;br /&amp;gt; &lt;br /&gt;
Wikiport &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using? &#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Abstract Ideas:&#039;&#039;&#039; &amp;lt;br /&amp;gt;&lt;br /&gt;
	Documentation tools have become modern, lighter, easier to use with the use of Sphinx, Github pages/wiki, Mkdocs and many more similar frameworks and applications. It’s easily the first and the most important steps for any open-source projects implemented by almost everybody.&amp;lt;br /&amp;gt; &lt;br /&gt;
If people know more, they would want to get involved and contribute more. This would, in turn, help the entire community to grow and expand. If the information (Documentation) is accessible fast, easily comprehensible, simple enough to edit and manage for people then I think this project will help really help Sugar Labs achieve that.  &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;My understanding of the problem and why it needs to be solved?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Documentation, as mentioned before, is important to all open-source projects. Sugar Labs has all documentation for its learner applications called “Activities” at one place in the Activities#Sugar_Activities. Some problem (#risks) that I found with this sort of implementation is as follows:- &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Difficult to add, edit and manage&#039;&#039;&#039;  - In reference to the conversation [archive/sugar-devel] As a user, I need to create an account for editing privileges. Which is very tiresome to be very honest, hence discouraging contributions. &lt;br /&gt;
# &#039;&#039;&#039;Size issues&#039;&#039;&#039; - Wiki is being hosted on the a server. With the growing number of activities, the size occupied by them will increase leading to rise in maintenance cost. Not to mention buying more space. &lt;br /&gt;
# &#039;&#039;&#039;No clear format/classification&#039;&#039;&#039; - Some links are for one activity only while other activities have multiple links for them (example Turtle Art) Results in time being wasted of the user even if they are justified. &lt;br /&gt;
Found 2 wiki pages of the same activity. (this page and this too)&lt;br /&gt;
I did extensive research on the same and found many such problems with the wiki. According to my experience in open-source, users just need information fast, easily accessible and neatly organized. &lt;br /&gt;
A new method to make that information organized should be brought in place for the betterment of the whole community. GitHub could be the solution to all our problems (Check here for reference) WikiPort is a tool that helps in migration process of wiki’s to Github hosted README.md. &lt;br /&gt;
 &lt;br /&gt;
Objective &lt;br /&gt;
To migrate documentation and information of each activity in Activities#Sugar_Activities of Sugar Labs in MediaWiki format to their respective git repositories hosted on GitHub in rich markdown format by a program/tool with special attention to the transfer of all information and media associated with the activity with least redundancies and zero duplication of content if not already present in GitHub@README.md or user documentation in help-activity.&lt;br /&gt;
 &lt;br /&gt;
Technologies and Skills Used&lt;br /&gt;
This list is just a small glimpse of technologies that I am thinking to use for this project. I am proficient in each of them, through my past projects. (Refer)  &lt;br /&gt;
Programming Language: Python 3.6 using libraries such as requests, LXML, Scrapy, Beautifulsoup etc. Python will be used widely in this project. &lt;br /&gt;
Markup Languages - Markdown, MediaWiki, reStructuredText&lt;br /&gt;
For Automation - Ansible or Bash (To automate each step of the migration process and installation of the tool.)&lt;br /&gt;
Tools - git, shell, MediaWiki API - Pywikibot,GitHub API (Experimental) &lt;br /&gt;
Others - Yaml (If Ansible is used) &lt;br /&gt;
An Overview of the Migration Process  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some documentation of activities are stored in help-activity. Hence to prevent duplication of content between these two sources (Wiki and help-activity), my checklist already contains a step to either manually check the content difference between them or use a script or program to find and settle differences between them. Thus ensuring end-to-end migration of the wiki-pages and avoiding more maintenance.     &lt;br /&gt;
We can also help keep the help-activity updated by using GitHub’s API for pull requests which can comment the link of the specific help-activity page if anyone submits a PR to change README.md of the activity. (Experimental - but can be implemented)&lt;br /&gt;
Detailed Description of the steps mentioned &lt;br /&gt;
One time task - Use a spider to scrape GitHub links for each activity in a proper JSON format (with names of each activity). IF GitHub links not found for the repository, then scripts throws back exception and then links can be found manually. &lt;br /&gt;
Step 0 &lt;br /&gt;
Extracting content; from these methods that offers the least redundancies. My research yielded these results.&lt;br /&gt;
1. Query MediaWiki API and acquire content in wikitext format&lt;br /&gt;
2. Export pages in XML using Python Wikipedia Robot Framework  &lt;br /&gt;
3.  GET page in simple HTML ( Activities/Sugar_Network&amp;amp;printable=yes) &lt;br /&gt;
Step 1&lt;br /&gt;
Convert the data sourced from step 0; using Pandoc to Markdown. Removing syntax, comments and Wikimedia code that might be left after conversion using regex wherever required.  &lt;br /&gt;
Step 2&lt;br /&gt;
Fork and clone the respective GitHub repository from the links already scraped or found manually of the activity   &lt;br /&gt;
Step 3&lt;br /&gt;
Python script to find all image links and then fetches media (images) associated with activity from web-page; renames them in correct format; adds them to repository folder cloned under “ images” Fix image links and testing.&lt;br /&gt;
Step 4&lt;br /&gt;
Ensuring content is not duplicated by being already present either in the README.md file or the user documentation in the help-activity. Make the necessary changes, fix broken links. Testing; Commit and push to fork..&lt;br /&gt;
Step 5&lt;br /&gt;
Pull request submitted with detailed description of the changes in activity documentation in clear format containing all details. When PR merged, move to step 6.   &lt;br /&gt;
Step 6&lt;br /&gt;
Use Pywikibot (Check delete.py) to delete pages/media associated with wiki page using admin privileges and link back to their repositories. This can also be achieved using the mediawiki API which saves edit history as I mentioned before.  (Read more here)              (End-to-end Migration of wiki page complete)      &lt;br /&gt;
Step 7&lt;br /&gt;
Repeat Step 1 for next activity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Important Note&lt;br /&gt;
I noticed by the pull requests of my fellow contributors on Sugar Labs Github have yielded unnecessarily large activity bundles which might be an issue. As one always aims to keep the repository size as small as possible. This needs to be taken care of. &lt;br /&gt;
The fix I propose is to add these said bundles to gitignore by implementing a test case for or a python script to exclude them. &lt;br /&gt;
&lt;br /&gt;
Project Deliverables&lt;br /&gt;
345 web pages stored in MediaWiki format atActivities#Sugar_Activities on Sugar Labs Wiki converted to Markdown format with assets (images and other files) intact and in-place with zero duplication.  &lt;br /&gt;
Files in Markdown converted from the wiki content are tested and checked to ensure foolproof 100% migration without any redundancies or loss of information. Manually or through scripts.&lt;br /&gt;
A detailed report with classified information about the Sugar_activities wiki that needs further improvements submitted to Sugar Labs (Refer week #8 in timeline #Wikiteam)&lt;br /&gt;
Files committed, pushed and PR’s made in each activity’s respective git repository in a information specific format for easy reference. &lt;br /&gt;
Tested bug-free source code for everyone to use (and other open source projects) for their wikis facing the same issues. Complete documentation of the migration method submitted on time of evaluations with the review of the mentor incorporated.&lt;br /&gt;
After the complete transfer of all the wiki content, discuss and implement the last actions on the wiki, to either delete the pages or link them back to their respective git repositories.  &lt;br /&gt;
 &lt;br /&gt;
Thus, by the deliverables mentioned above, 3 well defined goals that determines project status which will help in evaluation i.e&lt;br /&gt;
Evaluation 1: Migration of 100 wiki-pages complete;  &lt;br /&gt;
Evaluation 2: Migration of 300 wiki-pages complete;  &lt;br /&gt;
Final: Migration of 345 wiki-pages;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Other Deliverables (and Future Work)&lt;br /&gt;
Contribute more - After and during the project, will help in solving bigger challenges and bugs faced as my experience lies in DevOps tasks and start reading code of Sugarizer.&lt;br /&gt;
Add Features - Edit history of wikis that are being migrated by WikiPort can be exported as commits on GitHub (implementing this).  &lt;br /&gt;
Create New Activities - Being well versed in Python (tried making a game with pygame) Would enjoy the new learning curve as I never really explored GTK. Have some new ideas that could be later transformed into fun, interactive learning activities.&lt;br /&gt;
Complete Misc. Tasks - Wiki pages contain task waiting to be completed I would like to volunteer and finish them for the welfare of the community like this one here IRC#Wishlist.&lt;br /&gt;
Remain as an active contributor for Sugar Labs and take part in discussions for the future projects. Maybe if the community agrees, also mentor someone myself in the foreseeable future.&lt;br /&gt;
Use Automation to our favor so that many tasks are completed in WikiPort using bash or Ansible scripts like environment setups, installation and fine workings of the entire tool. (Aim - one command to work it all out with the least number of user interventions)&lt;br /&gt;
“WikiPort converts all MediaWiki documents to rich markdown format and commit them to GitHub or other hosting services without losing any of your data. A tool created by Sugar Labs with love.” &lt;br /&gt;
This seems to me like an excellent repository description of an awesome tool.&lt;br /&gt;
I always wanted to create an open-source tool, that people would use and benefit from and take the time to contribute back. &lt;br /&gt;
WikiPort feels likes that chance.  &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
What is the timeline for development of your project? &lt;br /&gt;
Description as follows in accordance with the official timeline.&lt;br /&gt;
&lt;br /&gt;
Date&lt;br /&gt;
Event&lt;br /&gt;
April 16&lt;br /&gt;
Exams start (College)&lt;br /&gt;
April 23&lt;br /&gt;
Student Proposals announced.&lt;br /&gt;
-*-*-*-*-*-  Community Bonding Period  -*-*-*-*-*-&lt;br /&gt;
May 14&lt;br /&gt;
Official Coding Day starts (Summer break starts)&lt;br /&gt;
June 11&lt;br /&gt;
First Evaluations&lt;br /&gt;
July 9&lt;br /&gt;
Second Evaluations&lt;br /&gt;
19 July&lt;br /&gt;
Soft Deadline [Pencil’s Down]&lt;br /&gt;
23 July&lt;br /&gt;
Hard Deadline [Final code review/ Bug fixing]&lt;br /&gt;
August 6&lt;br /&gt;
Submit Code and Final Evaluations&lt;br /&gt;
&lt;br /&gt;
In accordance with the official timeline by GSoC, my college exams end somewhere in the first week of May or so. My college reopens early in July. During this time, I will remain in contact with my mentor.&lt;br /&gt;
This gives me ample time to code. I plan to begin coding before the official period coding period of GSoC starts from starting of May. Which gives me a head start to finish the majority (80%) of the project before the second evaluation. &lt;br /&gt;
Providing a total of 10 weeks to write code for WikiPort (&amp;amp; other deliverables)&lt;br /&gt;
I will also write a weekly or Bi-weekly blog post on my progress and updates on my project and post it diligently on the website to get the community involved.  The Weekly timeline is as follows. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Week Number [#] &lt;br /&gt;
Task&lt;br /&gt;
Week 1 [#1] &lt;br /&gt;
April 23 - April 30&lt;br /&gt;
Community Bonding Period &lt;br /&gt;
Community Bonding, if possible keen on having a meeting with the Activity and wiki team. Discussion of ideas that I have.&lt;br /&gt;
Research Part 1&lt;br /&gt;
MediaWiki [Syntax, documentation, API, functionalities]&lt;br /&gt;
Wikitext&lt;br /&gt;
Exploring the problem case defined earlier.&lt;br /&gt;
&lt;br /&gt;
[#2] April 1 - May 7&lt;br /&gt;
Start documentation and blog post, about Sugar Labs on my blog.&lt;br /&gt;
Setup: development environment. &lt;br /&gt;
Continue with Research Part 2&lt;br /&gt;
Finding, testing, implementing solutions available for Migration Process step 0 through 6.   &lt;br /&gt;
Discuss results with mentor, shortlist methods that have the highest success rate. &lt;br /&gt;
Pushing to Github; fixing organization problems&lt;br /&gt;
&lt;br /&gt;
[#3] May 7 - May 14&lt;br /&gt;
Finalized migration process, start coding.&lt;br /&gt;
Spider ready to scrape activities for their GitHub repo.&lt;br /&gt;
Report on activities missing GitHub repo. links &lt;br /&gt;
Blog post on Community Bonding @ Sugar Labs&lt;br /&gt;
&lt;br /&gt;
[#4] May 15 - May 22&lt;br /&gt;
Official Coding period starts &lt;br /&gt;
Start work on migration script. &lt;br /&gt;
Test migration script on 10 activities (aim - 60% migration of content from wiki to GitHub readme of the activity)&lt;br /&gt;
Gets reviewed by mentor; implement suggestions&lt;br /&gt;
&lt;br /&gt;
[#5] May 23 - May 30&lt;br /&gt;
Work on script continues; Tweaking; suggestions implemented by the community&lt;br /&gt;
Testing extensively; and commenting &lt;br /&gt;
Documentation for script&lt;br /&gt;
40 pages completed (Aim - 70% migration of content through the script without manual edits;)&lt;br /&gt;
Write a quality checklist for pages converted to determine bugs, thorough checking of every page converted, every step of the way. &lt;br /&gt;
&lt;br /&gt;
[#6] June 1 - June 7&lt;br /&gt;
Work on Other Deliverables &lt;br /&gt;
Script improved; Commenting; Logging implemented;&lt;br /&gt;
Quality Checks implemented on sourced markdown files&lt;br /&gt;
Blog post on research and work did so far. &lt;br /&gt;
100 pages completed (minor improvements)&lt;br /&gt;
&lt;br /&gt;
[#7] June 8 - June 15&lt;br /&gt;
&lt;br /&gt;
First Code Evaluations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implement suggestions from evaluations.&lt;br /&gt;
Start work towards automation of scripts wherever possible (Aim - Least user input)&lt;br /&gt;
Start work on making WikiPort available to all as a simple tool.&lt;br /&gt;
150 pages completed. &lt;br /&gt;
Get a review of pages migrated, from the community.&lt;br /&gt;
&lt;br /&gt;
[#8] June 16 - June 23&lt;br /&gt;
Documentation alpha release; Repository made; &lt;br /&gt;
Start work: Report of Activities#Sugar_Activities&lt;br /&gt;
200 pages migrated.&lt;br /&gt;
Give a talk related to “Sugar and what it stands for” at one of our local meetups in Delhi. &lt;br /&gt;
Random quality checks; manual fixes wherever required. &lt;br /&gt;
&lt;br /&gt;
[#9] June 24 - July 1&lt;br /&gt;
250 pages migrated, checked. &lt;br /&gt;
Get a review of the pages migrated from the community and mentor(s)&lt;br /&gt;
Implement and discuss changes.&lt;br /&gt;
Start with pet project of making my own activity.&lt;br /&gt;
Finish automation task. &lt;br /&gt;
&lt;br /&gt;
[#10] July 2 - July 10 &lt;br /&gt;
Second Code Evaluations&lt;br /&gt;
300 pages migrated. Completed end-to-end. &lt;br /&gt;
Blog post about GSoC: 10 weeks later.&lt;br /&gt;
&lt;br /&gt;
[#11] July 11 - July 18&lt;br /&gt;
Soft Deadline - All 345 web pages migrated completing the primary objective.&lt;br /&gt;
345 pages migrated.  &lt;br /&gt;
Documentation completed.&lt;br /&gt;
Tool Ready with automated tasks and checks wherever they could be implemented hosted on GitHub for everyone to use under Sugar Labs&lt;br /&gt;
Start work on wiki report (Aim - To propose a better format for clear, uniform documentation) &lt;br /&gt;
&lt;br /&gt;
[#12] July 19 - July 26&lt;br /&gt;
Hard Deadline &lt;br /&gt;
Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
Submit Wiki Report; Get feedback from the community&lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
&lt;br /&gt;
[#13] July 27 - August 05&lt;br /&gt;
Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
Implement further suggestion if possible. &lt;br /&gt;
&lt;br /&gt;
[#14] August 6 - August 13 &lt;br /&gt;
Final Code Evaluations&lt;br /&gt;
Various blog posts about the entire experience, GSoC 2018 and Sugar Community. &lt;br /&gt;
Finish making the activity (tentative) &lt;br /&gt;
&lt;br /&gt;
Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. &lt;br /&gt;
I love writing and reading code. I learned almost everything by reading the docs. I, later on, started writing documentation and code for others too. Helping me always know exactly where I can find the information I am looking for and how to improve on it, how necessary it is.  &lt;br /&gt;
All my past  projects, showcase a strong dedication to the deadline and the determination to get work done. WikiPort will be no different.  &lt;br /&gt;
As for my skills, &lt;br /&gt;
Articles written, published using Pelican, Wordpress (Markdown).&lt;br /&gt;
I use git in all project that I start. Document and collaborate on GitHub. &lt;br /&gt;
Comfortable with both Linux and Windows OS, (preferring Linux all the way) &lt;br /&gt;
There is no better to prove that I can accomplish and execute my vision for WikiPort by actually showing that work has been done. (here) &lt;br /&gt;
There are many points to keep in mind while migrating is taking place, hence for a more methodical approach a checklist has been implemented by me which has a summary of all the steps. (Both manual/automated) &lt;br /&gt;
 &lt;br /&gt;
You and the community&lt;br /&gt;
If your project is successfully completed, what will its impact be on the Sugar Labs community?&lt;br /&gt;
If WikiPort is completed and deployed as a tool through this project. It would help in making the work easier for developers to not just Sugar Labs but everybody and even experienced users. &lt;br /&gt;
WikiPort will help users port their wikis to GitHub with minimum user inputs, which  would ultimately benefit everyone involved and for many generations of developers to come who will use that documentation.&lt;br /&gt;
As previously stated, documentation is an important part of any development process. Bad documentation impacts the entire community as. But if the documentation is&lt;br /&gt;
Accessible - GitHub is one of the best places to host it. &lt;br /&gt;
Relevant and easily traversable - The documentation about every activity will be housed with its GitHub Repository.  &lt;br /&gt;
Clearly written - Strict format to maintain overall uniformity. &lt;br /&gt;
Easily editable (+ VCS) - Wiki offers edit history of documents too, but the process to edit a document is cumbersome while GitHub makes it very easy for users to fix issues in it. &lt;br /&gt;
More views, more stars - GitHub also increases views and popularity of the activity ultimately helping Sugar Labs to get noticed more.&lt;br /&gt;
If our documentation has all these features, then everybody would be more inclined towards contributing to Sugar Labs and get to know more about it.  &lt;br /&gt;
People would contribute more to bug fixing, indirectly helping the Sugar Labs community to grow and expand more. Helping students, developers, activity maintainers, members of the community.&lt;br /&gt;
Produce a new tool by the community, for the community and with the community’s help for everyone to benefit from.&lt;br /&gt;
Answer 2: Walter Bender - walter.bender@gmail.com &lt;br /&gt;
This project has solid potential to address several pressing issues for the community: &lt;br /&gt;
(1) bifurcation --  we are spread across too many platforms which is both a maintenance issue and also an issue for our users and potential developers, who struggle to find the documentation for the Sugar Activities; &lt;br /&gt;
(2) redundancy -- we are spread too thin to maintain multiple, redundant instances of documentation. Migrating everything to a uniform platform where is it directly tied to the source would impact both of these issues.&lt;br /&gt;
&lt;br /&gt;
Answer 3: James Cameron - quozl@laptop.org &lt;br /&gt;
(His assessment of project impact from both Github and Email )&lt;br /&gt;
&amp;quot;Migration is needed because Wiki is not being used now that GitHub is being used. Maintaining the Wiki in addition to GitHub is not sustainable. So we want documentation to move from Wiki to GitHub. So that when an activity is updated in GitHub, the documentation can be updated in the same place at the same time.&amp;quot;&lt;br /&gt;
“Originally documentation was separate because we had non-coding&lt;br /&gt;
developers and tool chains that varied by type of developer.  Now we&lt;br /&gt;
use GitHub the tool chains are combined. With the project as described, documentation will be concentrated in the source code repository for an activity, reducing ongoing maintenance.We have less active Wiki contributors than we ever did, and in the current threat environment a Wiki requires significant monitoring and administration; we recently lost some system administrators and gained new ones; using GitHub allows us to outsource system administration.”&lt;br /&gt;
&lt;br /&gt;
Answer 4: Tony Anderson - quozl@laptop.org &lt;br /&gt;
(His comments clarifying the need of WikiPort and the problems it solves)&lt;br /&gt;
As always, the question is the impact on our users. The traditional source of information for users is [1] and [2] and, especially the wiki pages. So far the effect of gitHub has been to reduce the value of these two sources. In many cases the activities on ASLO have been superseded by ones on gitHub or other git repository but are not available to our users. The documentation of activities on ASLO has never been adequate but now no effort will be made to improve it. This continues the trend toward Sugar being a playground for the technical elite. Complete conversation available here.&lt;br /&gt;
[1] http://www.sugarlabs.org 				[2] http://www.laptop.org&lt;br /&gt;
&lt;br /&gt;
What will you do if you get stuck on your project and your mentor isn&#039;t around?&lt;br /&gt;
I strive to solve a problem using my own skill base by searching about the problem case and working it out into smaller bits.&lt;br /&gt;
#sugar and #sugar-devel channels on IRC, the mailing lists where other community members discuss issues. I am familiar with mailing list etiquettes for open source communities and learn fairly fast.&lt;br /&gt;
Google and StackOverflow about the issues, later refer to the documentation of the tool I am using for reference. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&lt;br /&gt;
I would get regular, constructive feedback on the code I will write and the work I would do for the community by posting work samples from Github, on the mailing list and on IRC. [Check Timeline for the same]&lt;br /&gt;
Post constant updates on my blog and maintain an update tracker for each week on a public notepad (Etherpad, etc.)&lt;br /&gt;
&lt;br /&gt;
Miscellaneous&lt;br /&gt;
Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.&lt;br /&gt;
I needed to test my WikiPort beta script that I had created, hence took extra effort and migrated these four wiki pages listed below.   &lt;br /&gt;
lettermatch/pull/3 &lt;br /&gt;
iknowmyabcs/pull/7 &lt;br /&gt;
sugarlabs/AEIOU/pull/9 &lt;br /&gt;
/i-can-read-activity/pull/4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another Issue that I am currently working  is sugar-live-build/issues/ &lt;br /&gt;
Describe a great learning experience you had as a child.&lt;br /&gt;
Here’s a short story titled “Let me Google that for you.” when I was 14. &lt;br /&gt;
&lt;br /&gt;
From my childhood, web technologies have always piqued my interest for the longest time as I can remember. I been writing HTML since I was 1. But I never liked to read from the old, dusty books. When I code, I had to take help from seniors, teachers, the experience I gained and other sources. Almost everybody was irritated by the constant barrage of long and complex questions, that Vipul Gupta had.&lt;br /&gt;
So what happened one day, I walked to one of the seniors and asked him a question if I remember right about how he would determine which browser is better for a particular segment of code I wrote. He took me to the lab and told me to open a link similar like to this http://bfy.tw/HFBs This will have the solution surely to all my problems. &lt;br /&gt;
What happened next? I was embarrassed and couldn’t see straight but he was not judgemental and was very humble (A trait everyone of should have towards beginners, I feel like.) and from that day forward. The only place I actually learned something was the internet. &lt;br /&gt;
That day I actually learned how to Google by letting someone google that for me. Teaching by application at its best. I look back to this incident and still smile. I share this experience of mine whenever I have a chance to interact with my juniors that serves as motivation boost and compels them to think that nothing is impossible, and everybody makes mistakes once in a while.  This lead to me creating hundreds of links more from this website. &lt;br /&gt;
&lt;br /&gt;
Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&lt;br /&gt;
I think I am well satisfied with the proposal that I have made for WikiPort, the project for Sugar Labs. The template given by Sugar Labs really covers all the corners of my  project, and actually helped me think more constructively about the project and the fine aspects of it. &lt;br /&gt;
I learned a lot through these few weeks, working on the proposal. MediaWIki API and new skills, contributing to an open-source organisation of this stature, how to interact with people. This has been a memorable experience. I am in awe, I really am.&lt;br /&gt;
All open-source communities may not be same, but are run on the same principle that I also try to follow in life. Be humble, and helpful to everybody. The ‘ahaa-moment’ of a beginner is what I live for, when he truly get the point that I am trying to make.&lt;br /&gt;
Some Credits - Learned to not contest for issues, but focus on better PR’s, and many new things from James Cameron (@Quozl)’s blog. Jasikrat too for helping people on IRC and all mentors who review our proposal and go through all our mails. Thank you all for the opportunities and the help provided to me and my fellow contributors. I hope down the line, I could follow in your footsteps too.&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101621</id>
		<title>WikiPort</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101621"/>
		<updated>2018-03-28T22:01:45Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:WikiPort : Migration of wiki activity pages to git}}&lt;br /&gt;
&lt;br /&gt;
[[Category:2018 GSoC applications]]&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
__INDEX__&lt;br /&gt;
&lt;br /&gt;
Google Summer of Code 2018&lt;br /&gt;
Project Proposal&lt;br /&gt;
&lt;br /&gt;
Sugar Labs | WikiPort &lt;br /&gt;
Migration of wiki activity pages to git&lt;br /&gt;
Category - Activity Team (#Activities) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&#039;About You&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039; - Vipul Gupta&lt;br /&gt;
&#039;&#039;&#039;Email address&#039;&#039;&#039; - vipulgupta2048@gmail.com&lt;br /&gt;
&#039;&#039;&#039;Blog Url&#039;&#039;&#039; -  www.mixstersite.wordpress.com&lt;br /&gt;
Sugar Labs wiki username - Vipulgupta2048 &lt;br /&gt;
IRC nickname - vipulgupta2048&lt;br /&gt;
Linkedin - vipulgupta2048&lt;br /&gt;
Github - vipulgupta2048&lt;br /&gt;
Twitter - vipulgupta2048&lt;br /&gt;
First language - English (Fluent) &lt;br /&gt;
Located at, and what hours (UTC) do you tend to work - I am based out of New Delhi, India (+5.30 GMT). I am flexible with timings and can work for 3-5 hours everyday. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source.&lt;br /&gt;
&lt;br /&gt;
Yes, I have participated and maintained many open-source projects. Also been contributing to other community and conference projects. Some of the links and description of those pages are as follows&lt;br /&gt;
First pull request on my college community’s website, ALiAS - Maintainer since 2016.&lt;br /&gt;
vipulgupta2048/opengisproj_mirror- Involved building a web app for real-time monitoring of pollution levels in rivers of India and to assess the impact on the health of people using the water from the river. The working repo is private, hence a public mirror for showcasing. &lt;br /&gt;
vipulgupta2048/scrape Scraping major news websites/outlets in India using Scrapy [Python] Managing the data flow by employing PostgreSQL. Finding fake news using Machine Learning with help of libraries (Word2vec)&lt;br /&gt;
Fixed bugs, wrote blogs, added new features using HTML, CSS and JS for the official website of the premier conference on Python in India, PyCON India 2017 ( Here and here) &lt;br /&gt;
gitlab/asetalias/Community-Connect [Ongoing]  &lt;br /&gt;
Completed: Hacktoberfest Challenge;  Here.&lt;br /&gt;
Building and mentoring website development for Pyladies Delhi Chapter Pyladies-delhi-website  &lt;br /&gt;
Recent contribution: Sugar Labs - sugarlabs/i-can-read-activity/        &lt;br /&gt;
&lt;br /&gt;
Along with this,  Python Delhi User Group (PyDelhi) is a volunteer-driven organization comprising of Pythonistas, enthusiasts, who have a primary focus in Python. I help by volunteering and organizing meetups for them. &lt;br /&gt;
 I am a committee member of my college’s open source community. ALiAS (Amity Linux Assistance Sapience) We conduct hands-on workshops, seminars, talks and many more to try and help as many people as we can along the process.&lt;br /&gt;
 I genuinely love spreading knowledge among peers/juniors/underprivileged children wherever I can through my voice (Talks and workshops) and my words (Tech-Blog)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
About your project&lt;br /&gt;
What is the name of your project?  Wikiport &lt;br /&gt;
(We are not exactly porting but if the community agrees, then I think it is pretty good name. I loved the name so much. So I whipped up a logo too. )&lt;br /&gt;
&lt;br /&gt;
Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?&lt;br /&gt;
Abstract Ideas: &lt;br /&gt;
	Documentation tools have become modern, lighter, easier to use with the use of Sphinx, Github pages/wiki, Mkdocs and many more similar frameworks and applications. It’s easily the first and the most important steps for any open-source projects implemented by almost everybody. &lt;br /&gt;
If people know more, they would want to get involved and contribute more. This would, in turn, help the entire community to grow and expand. If the information (Documentation) is accessible fast, easily comprehensible, simple enough to edit and manage for people then I think this project will help really help Sugar Labs achieve that.  &lt;br /&gt;
 &lt;br /&gt;
My understanding of the problem and why it needs to be solved?&lt;br /&gt;
Documentation, as mentioned before, is important to all open-source projects. Sugar Labs has all documentation for its learner applications called “Activities” at one place in the Activities#Sugar_Activities. Some problem (#risks) that I found with this sort of implementation is as follows:- &lt;br /&gt;
Difficult to add, edit and manage  - In reference to the conversation [archive/sugar-devel] As a user, I need to create an account for editing privileges. Which is very tiresome to be very honest, hence discouraging contributions. &lt;br /&gt;
Size issues - Wiki is being hosted on the a server. With the growing number of activities, the size occupied by them will increase leading to rise in maintenance cost. Not to mention buying more space. &lt;br /&gt;
No clear format/classification - Some links are for one activity only while other activities have multiple links for them (example Turtle Art) Results in time being wasted of the user even if they are justified. &lt;br /&gt;
Found 2 wiki pages of the same activity. (this page and this too)&lt;br /&gt;
I did extensive research on the same and found many such problems with the wiki. According to my experience in open-source, users just need information fast, easily accessible and neatly organized. &lt;br /&gt;
A new method to make that information organized should be brought in place for the betterment of the whole community. GitHub could be the solution to all our problems (Check here for reference) WikiPort is a tool that helps in migration process of wiki’s to Github hosted README.md. &lt;br /&gt;
 &lt;br /&gt;
Objective &lt;br /&gt;
To migrate documentation and information of each activity in Activities#Sugar_Activities of Sugar Labs in MediaWiki format to their respective git repositories hosted on GitHub in rich markdown format by a program/tool with special attention to the transfer of all information and media associated with the activity with least redundancies and zero duplication of content if not already present in GitHub@README.md or user documentation in help-activity.&lt;br /&gt;
 &lt;br /&gt;
Technologies and Skills Used&lt;br /&gt;
This list is just a small glimpse of technologies that I am thinking to use for this project. I am proficient in each of them, through my past projects. (Refer)  &lt;br /&gt;
Programming Language: Python 3.6 using libraries such as requests, LXML, Scrapy, Beautifulsoup etc. Python will be used widely in this project. &lt;br /&gt;
Markup Languages - Markdown, MediaWiki, reStructuredText&lt;br /&gt;
For Automation - Ansible or Bash (To automate each step of the migration process and installation of the tool.)&lt;br /&gt;
Tools - git, shell, MediaWiki API - Pywikibot,GitHub API (Experimental) &lt;br /&gt;
Others - Yaml (If Ansible is used) &lt;br /&gt;
An Overview of the Migration Process  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some documentation of activities are stored in help-activity. Hence to prevent duplication of content between these two sources (Wiki and help-activity), my checklist already contains a step to either manually check the content difference between them or use a script or program to find and settle differences between them. Thus ensuring end-to-end migration of the wiki-pages and avoiding more maintenance.     &lt;br /&gt;
We can also help keep the help-activity updated by using GitHub’s API for pull requests which can comment the link of the specific help-activity page if anyone submits a PR to change README.md of the activity. (Experimental - but can be implemented)&lt;br /&gt;
Detailed Description of the steps mentioned &lt;br /&gt;
One time task - Use a spider to scrape GitHub links for each activity in a proper JSON format (with names of each activity). IF GitHub links not found for the repository, then scripts throws back exception and then links can be found manually. &lt;br /&gt;
Step 0 &lt;br /&gt;
Extracting content; from these methods that offers the least redundancies. My research yielded these results.&lt;br /&gt;
1. Query MediaWiki API and acquire content in wikitext format&lt;br /&gt;
2. Export pages in XML using Python Wikipedia Robot Framework  &lt;br /&gt;
3.  GET page in simple HTML ( Activities/Sugar_Network&amp;amp;printable=yes) &lt;br /&gt;
Step 1&lt;br /&gt;
Convert the data sourced from step 0; using Pandoc to Markdown. Removing syntax, comments and Wikimedia code that might be left after conversion using regex wherever required.  &lt;br /&gt;
Step 2&lt;br /&gt;
Fork and clone the respective GitHub repository from the links already scraped or found manually of the activity   &lt;br /&gt;
Step 3&lt;br /&gt;
Python script to find all image links and then fetches media (images) associated with activity from web-page; renames them in correct format; adds them to repository folder cloned under “ images” Fix image links and testing.&lt;br /&gt;
Step 4&lt;br /&gt;
Ensuring content is not duplicated by being already present either in the README.md file or the user documentation in the help-activity. Make the necessary changes, fix broken links. Testing; Commit and push to fork..&lt;br /&gt;
Step 5&lt;br /&gt;
Pull request submitted with detailed description of the changes in activity documentation in clear format containing all details. When PR merged, move to step 6.   &lt;br /&gt;
Step 6&lt;br /&gt;
Use Pywikibot (Check delete.py) to delete pages/media associated with wiki page using admin privileges and link back to their repositories. This can also be achieved using the mediawiki API which saves edit history as I mentioned before.  (Read more here)              (End-to-end Migration of wiki page complete)      &lt;br /&gt;
Step 7&lt;br /&gt;
Repeat Step 1 for next activity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Important Note&lt;br /&gt;
I noticed by the pull requests of my fellow contributors on Sugar Labs Github have yielded unnecessarily large activity bundles which might be an issue. As one always aims to keep the repository size as small as possible. This needs to be taken care of. &lt;br /&gt;
The fix I propose is to add these said bundles to gitignore by implementing a test case for or a python script to exclude them. &lt;br /&gt;
&lt;br /&gt;
Project Deliverables&lt;br /&gt;
345 web pages stored in MediaWiki format atActivities#Sugar_Activities on Sugar Labs Wiki converted to Markdown format with assets (images and other files) intact and in-place with zero duplication.  &lt;br /&gt;
Files in Markdown converted from the wiki content are tested and checked to ensure foolproof 100% migration without any redundancies or loss of information. Manually or through scripts.&lt;br /&gt;
A detailed report with classified information about the Sugar_activities wiki that needs further improvements submitted to Sugar Labs (Refer week #8 in timeline #Wikiteam)&lt;br /&gt;
Files committed, pushed and PR’s made in each activity’s respective git repository in a information specific format for easy reference. &lt;br /&gt;
Tested bug-free source code for everyone to use (and other open source projects) for their wikis facing the same issues. Complete documentation of the migration method submitted on time of evaluations with the review of the mentor incorporated.&lt;br /&gt;
After the complete transfer of all the wiki content, discuss and implement the last actions on the wiki, to either delete the pages or link them back to their respective git repositories.  &lt;br /&gt;
 &lt;br /&gt;
Thus, by the deliverables mentioned above, 3 well defined goals that determines project status which will help in evaluation i.e&lt;br /&gt;
Evaluation 1: Migration of 100 wiki-pages complete;  &lt;br /&gt;
Evaluation 2: Migration of 300 wiki-pages complete;  &lt;br /&gt;
Final: Migration of 345 wiki-pages;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Other Deliverables (and Future Work)&lt;br /&gt;
Contribute more - After and during the project, will help in solving bigger challenges and bugs faced as my experience lies in DevOps tasks and start reading code of Sugarizer.&lt;br /&gt;
Add Features - Edit history of wikis that are being migrated by WikiPort can be exported as commits on GitHub (implementing this).  &lt;br /&gt;
Create New Activities - Being well versed in Python (tried making a game with pygame) Would enjoy the new learning curve as I never really explored GTK. Have some new ideas that could be later transformed into fun, interactive learning activities.&lt;br /&gt;
Complete Misc. Tasks - Wiki pages contain task waiting to be completed I would like to volunteer and finish them for the welfare of the community like this one here IRC#Wishlist.&lt;br /&gt;
Remain as an active contributor for Sugar Labs and take part in discussions for the future projects. Maybe if the community agrees, also mentor someone myself in the foreseeable future.&lt;br /&gt;
Use Automation to our favor so that many tasks are completed in WikiPort using bash or Ansible scripts like environment setups, installation and fine workings of the entire tool. (Aim - one command to work it all out with the least number of user interventions)&lt;br /&gt;
“WikiPort converts all MediaWiki documents to rich markdown format and commit them to GitHub or other hosting services without losing any of your data. A tool created by Sugar Labs with love.” &lt;br /&gt;
This seems to me like an excellent repository description of an awesome tool.&lt;br /&gt;
I always wanted to create an open-source tool, that people would use and benefit from and take the time to contribute back. &lt;br /&gt;
WikiPort feels likes that chance.  &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
What is the timeline for development of your project? &lt;br /&gt;
Description as follows in accordance with the official timeline.&lt;br /&gt;
&lt;br /&gt;
Date&lt;br /&gt;
Event&lt;br /&gt;
April 16&lt;br /&gt;
Exams start (College)&lt;br /&gt;
April 23&lt;br /&gt;
Student Proposals announced.&lt;br /&gt;
-*-*-*-*-*-  Community Bonding Period  -*-*-*-*-*-&lt;br /&gt;
May 14&lt;br /&gt;
Official Coding Day starts (Summer break starts)&lt;br /&gt;
June 11&lt;br /&gt;
First Evaluations&lt;br /&gt;
July 9&lt;br /&gt;
Second Evaluations&lt;br /&gt;
19 July&lt;br /&gt;
Soft Deadline [Pencil’s Down]&lt;br /&gt;
23 July&lt;br /&gt;
Hard Deadline [Final code review/ Bug fixing]&lt;br /&gt;
August 6&lt;br /&gt;
Submit Code and Final Evaluations&lt;br /&gt;
&lt;br /&gt;
In accordance with the official timeline by GSoC, my college exams end somewhere in the first week of May or so. My college reopens early in July. During this time, I will remain in contact with my mentor.&lt;br /&gt;
This gives me ample time to code. I plan to begin coding before the official period coding period of GSoC starts from starting of May. Which gives me a head start to finish the majority (80%) of the project before the second evaluation. &lt;br /&gt;
Providing a total of 10 weeks to write code for WikiPort (&amp;amp; other deliverables)&lt;br /&gt;
I will also write a weekly or Bi-weekly blog post on my progress and updates on my project and post it diligently on the website to get the community involved.  The Weekly timeline is as follows. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Week Number [#] &lt;br /&gt;
Task&lt;br /&gt;
Week 1 [#1] &lt;br /&gt;
April 23 - April 30&lt;br /&gt;
Community Bonding Period &lt;br /&gt;
Community Bonding, if possible keen on having a meeting with the Activity and wiki team. Discussion of ideas that I have.&lt;br /&gt;
Research Part 1&lt;br /&gt;
MediaWiki [Syntax, documentation, API, functionalities]&lt;br /&gt;
Wikitext&lt;br /&gt;
Exploring the problem case defined earlier.&lt;br /&gt;
&lt;br /&gt;
[#2] April 1 - May 7&lt;br /&gt;
Start documentation and blog post, about Sugar Labs on my blog.&lt;br /&gt;
Setup: development environment. &lt;br /&gt;
Continue with Research Part 2&lt;br /&gt;
Finding, testing, implementing solutions available for Migration Process step 0 through 6.   &lt;br /&gt;
Discuss results with mentor, shortlist methods that have the highest success rate. &lt;br /&gt;
Pushing to Github; fixing organization problems&lt;br /&gt;
&lt;br /&gt;
[#3] May 7 - May 14&lt;br /&gt;
Finalized migration process, start coding.&lt;br /&gt;
Spider ready to scrape activities for their GitHub repo.&lt;br /&gt;
Report on activities missing GitHub repo. links &lt;br /&gt;
Blog post on Community Bonding @ Sugar Labs&lt;br /&gt;
&lt;br /&gt;
[#4] May 15 - May 22&lt;br /&gt;
Official Coding period starts &lt;br /&gt;
Start work on migration script. &lt;br /&gt;
Test migration script on 10 activities (aim - 60% migration of content from wiki to GitHub readme of the activity)&lt;br /&gt;
Gets reviewed by mentor; implement suggestions&lt;br /&gt;
&lt;br /&gt;
[#5] May 23 - May 30&lt;br /&gt;
Work on script continues; Tweaking; suggestions implemented by the community&lt;br /&gt;
Testing extensively; and commenting &lt;br /&gt;
Documentation for script&lt;br /&gt;
40 pages completed (Aim - 70% migration of content through the script without manual edits;)&lt;br /&gt;
Write a quality checklist for pages converted to determine bugs, thorough checking of every page converted, every step of the way. &lt;br /&gt;
&lt;br /&gt;
[#6] June 1 - June 7&lt;br /&gt;
Work on Other Deliverables &lt;br /&gt;
Script improved; Commenting; Logging implemented;&lt;br /&gt;
Quality Checks implemented on sourced markdown files&lt;br /&gt;
Blog post on research and work did so far. &lt;br /&gt;
100 pages completed (minor improvements)&lt;br /&gt;
&lt;br /&gt;
[#7] June 8 - June 15&lt;br /&gt;
&lt;br /&gt;
First Code Evaluations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implement suggestions from evaluations.&lt;br /&gt;
Start work towards automation of scripts wherever possible (Aim - Least user input)&lt;br /&gt;
Start work on making WikiPort available to all as a simple tool.&lt;br /&gt;
150 pages completed. &lt;br /&gt;
Get a review of pages migrated, from the community.&lt;br /&gt;
&lt;br /&gt;
[#8] June 16 - June 23&lt;br /&gt;
Documentation alpha release; Repository made; &lt;br /&gt;
Start work: Report of Activities#Sugar_Activities&lt;br /&gt;
200 pages migrated.&lt;br /&gt;
Give a talk related to “Sugar and what it stands for” at one of our local meetups in Delhi. &lt;br /&gt;
Random quality checks; manual fixes wherever required. &lt;br /&gt;
&lt;br /&gt;
[#9] June 24 - July 1&lt;br /&gt;
250 pages migrated, checked. &lt;br /&gt;
Get a review of the pages migrated from the community and mentor(s)&lt;br /&gt;
Implement and discuss changes.&lt;br /&gt;
Start with pet project of making my own activity.&lt;br /&gt;
Finish automation task. &lt;br /&gt;
&lt;br /&gt;
[#10] July 2 - July 10 &lt;br /&gt;
Second Code Evaluations&lt;br /&gt;
300 pages migrated. Completed end-to-end. &lt;br /&gt;
Blog post about GSoC: 10 weeks later.&lt;br /&gt;
&lt;br /&gt;
[#11] July 11 - July 18&lt;br /&gt;
Soft Deadline - All 345 web pages migrated completing the primary objective.&lt;br /&gt;
345 pages migrated.  &lt;br /&gt;
Documentation completed.&lt;br /&gt;
Tool Ready with automated tasks and checks wherever they could be implemented hosted on GitHub for everyone to use under Sugar Labs&lt;br /&gt;
Start work on wiki report (Aim - To propose a better format for clear, uniform documentation) &lt;br /&gt;
&lt;br /&gt;
[#12] July 19 - July 26&lt;br /&gt;
Hard Deadline &lt;br /&gt;
Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
Submit Wiki Report; Get feedback from the community&lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
&lt;br /&gt;
[#13] July 27 - August 05&lt;br /&gt;
Time allocated to fix errors and do any due/extra/unknown work. &lt;br /&gt;
WikiPort reviewed from the community &lt;br /&gt;
Implement further suggestion if possible. &lt;br /&gt;
&lt;br /&gt;
[#14] August 6 - August 13 &lt;br /&gt;
Final Code Evaluations&lt;br /&gt;
Various blog posts about the entire experience, GSoC 2018 and Sugar Community. &lt;br /&gt;
Finish making the activity (tentative) &lt;br /&gt;
&lt;br /&gt;
Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. &lt;br /&gt;
I love writing and reading code. I learned almost everything by reading the docs. I, later on, started writing documentation and code for others too. Helping me always know exactly where I can find the information I am looking for and how to improve on it, how necessary it is.  &lt;br /&gt;
All my past  projects, showcase a strong dedication to the deadline and the determination to get work done. WikiPort will be no different.  &lt;br /&gt;
As for my skills, &lt;br /&gt;
Articles written, published using Pelican, Wordpress (Markdown).&lt;br /&gt;
I use git in all project that I start. Document and collaborate on GitHub. &lt;br /&gt;
Comfortable with both Linux and Windows OS, (preferring Linux all the way) &lt;br /&gt;
There is no better to prove that I can accomplish and execute my vision for WikiPort by actually showing that work has been done. (here) &lt;br /&gt;
There are many points to keep in mind while migrating is taking place, hence for a more methodical approach a checklist has been implemented by me which has a summary of all the steps. (Both manual/automated) &lt;br /&gt;
 &lt;br /&gt;
You and the community&lt;br /&gt;
If your project is successfully completed, what will its impact be on the Sugar Labs community?&lt;br /&gt;
If WikiPort is completed and deployed as a tool through this project. It would help in making the work easier for developers to not just Sugar Labs but everybody and even experienced users. &lt;br /&gt;
WikiPort will help users port their wikis to GitHub with minimum user inputs, which  would ultimately benefit everyone involved and for many generations of developers to come who will use that documentation.&lt;br /&gt;
As previously stated, documentation is an important part of any development process. Bad documentation impacts the entire community as. But if the documentation is&lt;br /&gt;
Accessible - GitHub is one of the best places to host it. &lt;br /&gt;
Relevant and easily traversable - The documentation about every activity will be housed with its GitHub Repository.  &lt;br /&gt;
Clearly written - Strict format to maintain overall uniformity. &lt;br /&gt;
Easily editable (+ VCS) - Wiki offers edit history of documents too, but the process to edit a document is cumbersome while GitHub makes it very easy for users to fix issues in it. &lt;br /&gt;
More views, more stars - GitHub also increases views and popularity of the activity ultimately helping Sugar Labs to get noticed more.&lt;br /&gt;
If our documentation has all these features, then everybody would be more inclined towards contributing to Sugar Labs and get to know more about it.  &lt;br /&gt;
People would contribute more to bug fixing, indirectly helping the Sugar Labs community to grow and expand more. Helping students, developers, activity maintainers, members of the community.&lt;br /&gt;
Produce a new tool by the community, for the community and with the community’s help for everyone to benefit from.&lt;br /&gt;
Answer 2: Walter Bender - walter.bender@gmail.com &lt;br /&gt;
This project has solid potential to address several pressing issues for the community: &lt;br /&gt;
(1) bifurcation --  we are spread across too many platforms which is both a maintenance issue and also an issue for our users and potential developers, who struggle to find the documentation for the Sugar Activities; &lt;br /&gt;
(2) redundancy -- we are spread too thin to maintain multiple, redundant instances of documentation. Migrating everything to a uniform platform where is it directly tied to the source would impact both of these issues.&lt;br /&gt;
&lt;br /&gt;
Answer 3: James Cameron - quozl@laptop.org &lt;br /&gt;
(His assessment of project impact from both Github and Email )&lt;br /&gt;
&amp;quot;Migration is needed because Wiki is not being used now that GitHub is being used. Maintaining the Wiki in addition to GitHub is not sustainable. So we want documentation to move from Wiki to GitHub. So that when an activity is updated in GitHub, the documentation can be updated in the same place at the same time.&amp;quot;&lt;br /&gt;
“Originally documentation was separate because we had non-coding&lt;br /&gt;
developers and tool chains that varied by type of developer.  Now we&lt;br /&gt;
use GitHub the tool chains are combined. With the project as described, documentation will be concentrated in the source code repository for an activity, reducing ongoing maintenance.We have less active Wiki contributors than we ever did, and in the current threat environment a Wiki requires significant monitoring and administration; we recently lost some system administrators and gained new ones; using GitHub allows us to outsource system administration.”&lt;br /&gt;
&lt;br /&gt;
Answer 4: Tony Anderson - quozl@laptop.org &lt;br /&gt;
(His comments clarifying the need of WikiPort and the problems it solves)&lt;br /&gt;
As always, the question is the impact on our users. The traditional source of information for users is [1] and [2] and, especially the wiki pages. So far the effect of gitHub has been to reduce the value of these two sources. In many cases the activities on ASLO have been superseded by ones on gitHub or other git repository but are not available to our users. The documentation of activities on ASLO has never been adequate but now no effort will be made to improve it. This continues the trend toward Sugar being a playground for the technical elite. Complete conversation available here.&lt;br /&gt;
[1] http://www.sugarlabs.org 				[2] http://www.laptop.org&lt;br /&gt;
&lt;br /&gt;
What will you do if you get stuck on your project and your mentor isn&#039;t around?&lt;br /&gt;
I strive to solve a problem using my own skill base by searching about the problem case and working it out into smaller bits.&lt;br /&gt;
#sugar and #sugar-devel channels on IRC, the mailing lists where other community members discuss issues. I am familiar with mailing list etiquettes for open source communities and learn fairly fast.&lt;br /&gt;
Google and StackOverflow about the issues, later refer to the documentation of the tool I am using for reference. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?&lt;br /&gt;
I would get regular, constructive feedback on the code I will write and the work I would do for the community by posting work samples from Github, on the mailing list and on IRC. [Check Timeline for the same]&lt;br /&gt;
Post constant updates on my blog and maintain an update tracker for each week on a public notepad (Etherpad, etc.)&lt;br /&gt;
&lt;br /&gt;
Miscellaneous&lt;br /&gt;
Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.&lt;br /&gt;
I needed to test my WikiPort beta script that I had created, hence took extra effort and migrated these four wiki pages listed below.   &lt;br /&gt;
lettermatch/pull/3 &lt;br /&gt;
iknowmyabcs/pull/7 &lt;br /&gt;
sugarlabs/AEIOU/pull/9 &lt;br /&gt;
/i-can-read-activity/pull/4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another Issue that I am currently working  is sugar-live-build/issues/ &lt;br /&gt;
Describe a great learning experience you had as a child.&lt;br /&gt;
Here’s a short story titled “Let me Google that for you.” when I was 14. &lt;br /&gt;
&lt;br /&gt;
From my childhood, web technologies have always piqued my interest for the longest time as I can remember. I been writing HTML since I was 1. But I never liked to read from the old, dusty books. When I code, I had to take help from seniors, teachers, the experience I gained and other sources. Almost everybody was irritated by the constant barrage of long and complex questions, that Vipul Gupta had.&lt;br /&gt;
So what happened one day, I walked to one of the seniors and asked him a question if I remember right about how he would determine which browser is better for a particular segment of code I wrote. He took me to the lab and told me to open a link similar like to this http://bfy.tw/HFBs This will have the solution surely to all my problems. &lt;br /&gt;
What happened next? I was embarrassed and couldn’t see straight but he was not judgemental and was very humble (A trait everyone of should have towards beginners, I feel like.) and from that day forward. The only place I actually learned something was the internet. &lt;br /&gt;
That day I actually learned how to Google by letting someone google that for me. Teaching by application at its best. I look back to this incident and still smile. I share this experience of mine whenever I have a chance to interact with my juniors that serves as motivation boost and compels them to think that nothing is impossible, and everybody makes mistakes once in a while.  This lead to me creating hundreds of links more from this website. &lt;br /&gt;
&lt;br /&gt;
Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?&lt;br /&gt;
I think I am well satisfied with the proposal that I have made for WikiPort, the project for Sugar Labs. The template given by Sugar Labs really covers all the corners of my  project, and actually helped me think more constructively about the project and the fine aspects of it. &lt;br /&gt;
I learned a lot through these few weeks, working on the proposal. MediaWIki API and new skills, contributing to an open-source organisation of this stature, how to interact with people. This has been a memorable experience. I am in awe, I really am.&lt;br /&gt;
All open-source communities may not be same, but are run on the same principle that I also try to follow in life. Be humble, and helpful to everybody. The ‘ahaa-moment’ of a beginner is what I live for, when he truly get the point that I am trying to make.&lt;br /&gt;
Some Credits - Learned to not contest for issues, but focus on better PR’s, and many new things from James Cameron (@Quozl)’s blog. Jasikrat too for helping people on IRC and all mentors who review our proposal and go through all our mails. Thank you all for the opportunities and the help provided to me and my fellow contributors. I hope down the line, I could follow in your footsteps too.&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101620</id>
		<title>WikiPort</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101620"/>
		<updated>2018-03-28T21:06:30Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:WikiPort : Migration of wiki activity pages to git}}&lt;br /&gt;
&lt;br /&gt;
[[Category:2018 GSoC applications]]&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
__INDEX__&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101619</id>
		<title>WikiPort</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=WikiPort&amp;diff=101619"/>
		<updated>2018-03-28T21:05:30Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: Made Page; Set attributes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:WikiPort - Migration of wiki activity pages to git}}&lt;br /&gt;
&lt;br /&gt;
[[Category:2018 GSoC applications]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
__INDEX__&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=User:Vipulgupta2048&amp;diff=101606</id>
		<title>User:Vipulgupta2048</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=User:Vipulgupta2048&amp;diff=101606"/>
		<updated>2018-03-27T11:11:23Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi, I am from India.&lt;br /&gt;
&lt;br /&gt;
According to my resume, I am &amp;quot; An observant of the present, a student seeking experiences, leading to new learning opportunities, presenting a chance to explore and give back to the community. Programmer, capturing thoughts in my blog, a Linux enthusiast and in the habit of collecting comic strips and listening to music.&#039;&lt;br /&gt;
&lt;br /&gt;
I wrote that myself and love writing on a weekly basis on my blog about Tech-Hacks, personal experiences, pointless life events and occasionally about chicks [[http://www.mixstersite.wordpress.com Mixster]]&lt;br /&gt;
&lt;br /&gt;
I like tweaking, customisation and probably all the things good about Linux (I use Xubuntu currently). I hop distros as if it is a hobby. Just looking forward to the next new thing. Big or small doesn&#039;t matter.&lt;br /&gt;
&lt;br /&gt;
High on Open-Source, Python, and Automation. Interested in Machine Learning, IoT, and some good jazz music.&lt;br /&gt;
&lt;br /&gt;
Available all over the web by @vipulgupta2048&lt;br /&gt;
&lt;br /&gt;
Ping me for anything on IRC, Twitter, Telegram very active) by the same handle.&lt;br /&gt;
&lt;br /&gt;
Email - thisis2048@gmail.com &lt;br /&gt;
&lt;br /&gt;
Ps. I love coffee and never met a pizza I didn&#039;t like.&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=User:Vipulgupta2048&amp;diff=101605</id>
		<title>User:Vipulgupta2048</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=User:Vipulgupta2048&amp;diff=101605"/>
		<updated>2018-03-27T11:08:47Z</updated>

		<summary type="html">&lt;p&gt;Vipulgupta2048: Created&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi, I am from India.&lt;br /&gt;
&lt;br /&gt;
According to my resume, I am &amp;quot; An observant of the present, a student seeking experiences, leading to new learning opportunities, presenting a chance to explore and give back to the community. Programmer, capturing thoughts in my blog, a Linux enthusiast and in the habit of collecting comic strips and listening to music.&#039;&lt;br /&gt;
&lt;br /&gt;
I wrote that myself and love writing on a weekly basis on my blog about Tech-Hacks, personal experiences, pointless life events and occasionally about chicks [Mixster]&lt;br /&gt;
&lt;br /&gt;
I like tweaking, trying out new things, and breaking everything else in my Linux. I hop distros as if it is a hobby. Just looking forward to the next new thing. Big or small doesn&#039;t matter.&lt;br /&gt;
&lt;br /&gt;
High on Open-Source, Python, and Automation. Interested in Machine Learning, IoT, and good jazz music.&lt;br /&gt;
&lt;br /&gt;
Available all over the web by @vipulgupta2048&lt;br /&gt;
&lt;br /&gt;
Ping me for anything on IRC, Twitter, Telegram very active)by the same handle.&lt;br /&gt;
&lt;br /&gt;
Email - thisis2048@gmail.com &lt;br /&gt;
&lt;br /&gt;
Ps. I love coffee and never met a pizza I didn&#039;t like.&lt;/div&gt;</summary>
		<author><name>Vipulgupta2048</name></author>
	</entry>
</feed>