Changes

Jump to navigation Jump to search
305 bytes removed ,  13:45, 30 May 2018
m
no edit summary
Line 1: Line 1: −
== Page Under Development GO SLOW! ==
+
GSoC 2018 - Activity Team - Setting up the new Activity Server
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]
      +
Project Status - ACTIVE
   −
[[File:Logo wikiport.png|frameless|center|WikiPort]]
+
'''Retasked'''
 +
 
 +
- Details at [http://www.tiny.cc/vgsoc www.tiny.cc/vgsoc]  
    +
- All code available at [https://www.github.com/vipulgupta2048/sugarport www.github.com/vipulgupta2048/sugarport]
   −
'''Update: One-time task completed and contributed to major issues.''' 
   
== About You ==
 
== About You ==
 
'''Name''' - Vipul Gupta<br />
 
'''Name''' - Vipul Gupta<br />
Line 22: Line 24:  
== My Contributions/Love for Open-Source ==
 
== My Contributions/Love for Open-Source ==
 
'''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?'''
 
'''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?'''
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
+
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
   −
* [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.
+
* [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.
 
* [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.  
 
* [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.  
 
* [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)
 
* [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)
* 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&q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ Here] and [https://github.com/pythonindia/inpycon-blog/pulls?utf8=%E2%9C%93&q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ here])  
+
* 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&q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ Here] and [https://github.com/pythonindia/inpycon-blog/pulls?utf8=%E2%9C%93&q=is%3Apr+author%3Avipulgupta2048+is%3Amerged+sort%3Acreated-asc+ here])  
 
* [https://gitlab.com/asetalias/Community-Connect gitlab/asetalias/Community-Connect] [Ongoing]   
 
* [https://gitlab.com/asetalias/Community-Connect gitlab/asetalias/Community-Connect] [Ongoing]   
 
* Completed: Hacktoberfest Challenge;  [https://hacktoberfestchecker.herokuapp.com/?username=vipulgupta2048 Here].
 
* Completed: Hacktoberfest Challenge;  [https://hacktoberfestchecker.herokuapp.com/?username=vipulgupta2048 Here].
Line 35: Line 37:  
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. <br />
 
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. <br />
 
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.<br />
 
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.<br />
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])
+
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])
      Line 41: Line 43:  
'''What is the name of your project?''' <br />  
 
'''What is the name of your project?''' <br />  
 
Wikiport  
 
Wikiport  
 +
 +
 +
[[File:Logo wikiport.png|frameless|center|WikiPort]]
 +
    
'''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? ''' <br />
 
'''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? ''' <br />
Line 49: Line 55:  
   
 
   
 
'''My understanding of the problem and why it needs to be solved?'''<br />
 
'''My understanding of the problem and why it needs to be solved?'''<br />
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:- <br />
+
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:-  
    
# '''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.  
 
# '''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.  
# '''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.  
+
# '''Size issues''' - 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.  
 
# '''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.  
 
# '''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.  
- Found 2 wiki pages of the same activity. (this page and this too)
+
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.  
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. <br />
  −
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.  
   
   
 
   
 
== Objective == <br />
 
== Objective == <br />
Line 63: Line 67:  
'''Technologies and Skills Used''' <br />
 
'''Technologies and Skills Used''' <br />
 
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)   
 
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)   
* '''Programming Language''': Python 3.6 using libraries such as requests, LXML, Beautifulsoup etc. Python will be used widely in this project.  
+
* '''Programming Language''': Python 3.6 using libraries such as requests, LXML, Beautifulsoup etc. Python3 will be used widely in this project.  
 
* '''Markup Languages''' - Markdown, MediaWiki, reStructuredText
 
* '''Markup Languages''' - Markdown, MediaWiki, reStructuredText
 
* '''For Automation''' - Ansible or Bash (To automate each step of the migration process and installation of the tool.)
 
* '''For Automation''' - Ansible or Bash (To automate each step of the migration process and installation of the tool.)
Line 82: Line 86:  
:  3.  GET page in simple HTML ( Activities/Sugar_Network&printable=yes)  
 
:  3.  GET page in simple HTML ( Activities/Sugar_Network&printable=yes)  
 
*'''Step 1 -''' 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.   
 
*'''Step 1 -''' 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.   
* '''Step 2''' - Fork and clone the respective GitHub repository from the links already scraped or found manually of the activity   
+
* '''Step 2''' - Fork and clone the respective GitHub repository from the links already scraped or found manually of the correct activity   
* 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.
+
* 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.
 
* '''Step 4 -''' 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.
 
* '''Step 4 -''' 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.
* '''Step 5 -''' 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.  
+
* '''Step 5 -''' 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]] 
 
* '''Step 6 -''' 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)       
 
* '''Step 6 -''' 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)       
 
* '''Step 7''' - Repeat Step 1 for next activity.
 
* '''Step 7''' - Repeat Step 1 for next activity.
Line 100: Line 104:  
   
 
   
 
== Other Deliverables (and Future Work) ==
 
== Other Deliverables (and Future Work) ==
# '''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.
+
# '''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 Sugar. Already working on [https://github.com/sugarlabs/sugar-live-build/issues/6 Sugar-live-build]
# '''Add Features''' - Edit history of wikis that are being migrated by WikiPort can be exported as commits on GitHub (implementing this).  
+
# '''Add Features''' - Edit history of wikis that are being migrated by WikiPort can be exported as commits on GitHub. (Experimental)   
 
# '''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.
 
# '''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.
 
# '''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.
 
# '''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.
 
# 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.
 
# 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.
# 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)
+
# 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.  
“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.”
+
 
This seems to me like an excellent repository description of an awesome tool.
  −
I always wanted to create an open-source tool, that people would use and benefit from and take the time to contribute back.
  −
WikiPort feels likes that chance. 
  −
   
== Timeline ==  
 
== Timeline ==  
   Line 225: Line 225:     
'''Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. ''' <br />
 
'''Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. ''' <br />
* 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.   
+
* 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.   
* All my past projects, showcase a strong dedication to the deadline and the determination to get work done. WikiPort will be no different.
+
* All my past projects, showcase a strong dedication to the deadline and the determination to get work done. WikiPort will be no different.
 +
* I have been working on Python2 and Python3 for a year now over a lot of projects and activities. 
 
* As for my skills,  
 
* As for my skills,  
 
- Articles written, published using Pelican, Wordpress (Markdown).<br />
 
- Articles written, published using Pelican, Wordpress (Markdown).<br />

Navigation menu