Changes

Jump to navigation Jump to search
744 bytes added ,  02:54, 29 March 2018
m
no edit summary
Line 7: Line 7:  
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]
 
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]
    +
[[File:Logo wikiport.png|frameless|center|WikiPort]]
    
== About You ==
 
== About You ==
Line 64: Line 65:  
Technologies and Skills Used
 
Technologies and Skills Used
 
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, Scrapy, Beautifulsoup etc. Python will be used widely in this project.  
+
'''Programming Language''': Python 3.6 using libraries such as requests, LXML, Scrapy, Beautifulsoup etc. Python 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.)
Tools - git, shell, MediaWiki API - Pywikibot,GitHub API (Experimental)  
+
'''Tools''' - git, shell, MediaWiki API - Pywikibot,GitHub API (Experimental)  
Others - Yaml (If Ansible is used)  
+
'''Others''' - Yaml (If Ansible is used)  
 +
 
 
An Overview of the Migration Process   
 
An Overview of the Migration Process   
   −
 
+
[[File:S.U.G.A.R.png|thumb|center]]
    
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.     
 
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.     
Line 165: Line 167:       −
Week Number [#]
+
 
 
Task
 
Task
Week 1 [#1]  
+
 
April 23 - April 30
+
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Week Number [#]  !! Tasks
 +
|-
 +
| [#1] April 23 - April 30   || Week 1 [#1]
 
Community Bonding Period  
 
Community Bonding Period  
 
Community Bonding, if possible keen on having a meeting with the Activity and wiki team. Discussion of ideas that I have.
 
Community Bonding, if possible keen on having a meeting with the Activity and wiki team. Discussion of ideas that I have.
Line 175: Line 197:  
Wikitext
 
Wikitext
 
Exploring the problem case defined earlier.
 
Exploring the problem case defined earlier.
 
+
|-
[#2] April 1 - May 7
+
| [#2] April 1 - May 7
Start documentation and blog post, about Sugar Labs on my blog.
+
|| Start documentation and blog post, about Sugar Labs on my blog.
 
Setup: development environment.  
 
Setup: development environment.  
 
Continue with Research Part 2
 
Continue with Research Part 2
Line 183: Line 205:  
Discuss results with mentor, shortlist methods that have the highest success rate.  
 
Discuss results with mentor, shortlist methods that have the highest success rate.  
 
Pushing to Github; fixing organization problems
 
Pushing to Github; fixing organization problems
 
+
|-
[#3] May 7 - May 14
+
| [#3] May 7 - May 14
Finalized migration process, start coding.
+
|| Finalized migration process, start coding.
 
Spider ready to scrape activities for their GitHub repo.
 
Spider ready to scrape activities for their GitHub repo.
 
Report on activities missing GitHub repo. links  
 
Report on activities missing GitHub repo. links  
 
Blog post on Community Bonding @ Sugar Labs
 
Blog post on Community Bonding @ Sugar Labs
   −
[#4] May 15 - May 22
+
|-
Official Coding period starts  
+
| [#4] May 15 - May 22
 +
|| Official Coding period starts  
 
Start work on migration script.  
 
Start work on migration script.  
 
Test migration script on 10 activities (aim - 60% migration of content from wiki to GitHub readme of the activity)
 
Test migration script on 10 activities (aim - 60% migration of content from wiki to GitHub readme of the activity)
 
Gets reviewed by mentor; implement suggestions
 
Gets reviewed by mentor; implement suggestions
   −
[#5] May 23 - May 30
+
 
Work on script continues; Tweaking; suggestions implemented by the community
+
|-
 +
| [#5] May 23 - May 30
 +
|| Work on script continues; Tweaking; suggestions implemented by the community
 
Testing extensively; and commenting  
 
Testing extensively; and commenting  
 
Documentation for script
 
Documentation for script
Line 203: Line 228:  
Write a quality checklist for pages converted to determine bugs, thorough checking of every page converted, every step of the way.  
 
Write a quality checklist for pages converted to determine bugs, thorough checking of every page converted, every step of the way.  
   −
[#6] June 1 - June 7
+
|-
Work on Other Deliverables  
+
| [#6] June 1 - June 7
 +
|| Work on Other Deliverables  
 
Script improved; Commenting; Logging implemented;
 
Script improved; Commenting; Logging implemented;
 
Quality Checks implemented on sourced markdown files
 
Quality Checks implemented on sourced markdown files
Line 210: Line 236:  
100 pages completed (minor improvements)
 
100 pages completed (minor improvements)
   −
[#7] June 8 - June 15
+
|-
 
+
| [#7] June 8 - June 15
 
First Code Evaluations
 
First Code Evaluations
 
+
|| Implement suggestions from evaluations.
 
  −
Implement suggestions from evaluations.
   
Start work towards automation of scripts wherever possible (Aim - Least user input)
 
Start work towards automation of scripts wherever possible (Aim - Least user input)
 
Start work on making WikiPort available to all as a simple tool.
 
Start work on making WikiPort available to all as a simple tool.
Line 221: Line 245:  
Get a review of pages migrated, from the community.
 
Get a review of pages migrated, from the community.
   −
[#8] June 16 - June 23
+
|-
Documentation alpha release; Repository made;  
+
| [#8] June 16 - June 23
 +
|| Documentation alpha release; Repository made;  
 
Start work: Report of Activities#Sugar_Activities
 
Start work: Report of Activities#Sugar_Activities
 
200 pages migrated.
 
200 pages migrated.
Line 228: Line 253:  
Random quality checks; manual fixes wherever required.  
 
Random quality checks; manual fixes wherever required.  
   −
[#9] June 24 - July 1
+
|-
250 pages migrated, checked.  
+
| [#9] June 24 - July 1
 +
|| 250 pages migrated, checked.  
 
Get a review of the pages migrated from the community and mentor(s)
 
Get a review of the pages migrated from the community and mentor(s)
 
Implement and discuss changes.
 
Implement and discuss changes.
Line 235: Line 261:  
Finish automation task.  
 
Finish automation task.  
   −
[#10] July 2 - July 10  
+
|-
Second Code Evaluations
+
| [#10] July 2 - July 10  
 +
|| Second Code Evaluations
 
300 pages migrated. Completed end-to-end.  
 
300 pages migrated. Completed end-to-end.  
 
Blog post about GSoC: 10 weeks later.
 
Blog post about GSoC: 10 weeks later.
   −
[#11] July 11 - July 18
+
|-
 +
| [#11] July 11 - July 18
 
Soft Deadline - All 345 web pages migrated completing the primary objective.
 
Soft Deadline - All 345 web pages migrated completing the primary objective.
345 pages migrated.   
+
|| 345 pages migrated.   
 
Documentation completed.
 
Documentation completed.
 
Tool Ready with automated tasks and checks wherever they could be implemented hosted on GitHub for everyone to use under Sugar Labs
 
Tool Ready with automated tasks and checks wherever they could be implemented hosted on GitHub for everyone to use under Sugar Labs
 
Start work on wiki report (Aim - To propose a better format for clear, uniform documentation)  
 
Start work on wiki report (Aim - To propose a better format for clear, uniform documentation)  
   −
[#12] July 19 - July 26
+
|-
 +
| [#12] July 19 - July 26
 
Hard Deadline  
 
Hard Deadline  
Time allocated to fix errors and do any due/extra/unknown work.  
+
|| Time allocated to fix errors and do any due/extra/unknown work.  
 
Submit Wiki Report; Get feedback from the community
 
Submit Wiki Report; Get feedback from the community
 
WikiPort reviewed from the community  
 
WikiPort reviewed from the community  
   −
[#13] July 27 - August 05
+
|-
Time allocated to fix errors and do any due/extra/unknown work.  
+
| [#13] July 27 - August 05
 +
|| Time allocated to fix errors and do any due/extra/unknown work.  
 
WikiPort reviewed from the community  
 
WikiPort reviewed from the community  
 
Implement further suggestion if possible.  
 
Implement further suggestion if possible.  
   −
[#14] August 6 - August 13  
+
|-
Final Code Evaluations
+
| [#14] August 6 - August 13  
 +
|| Final Code Evaluations
 
Various blog posts about the entire experience, GSoC 2018 and Sugar Community.  
 
Various blog posts about the entire experience, GSoC 2018 and Sugar Community.  
 
Finish making the activity (tentative)  
 
Finish making the activity (tentative)  
   −
Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described.  
+
|}
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.   
+
 
All my past  projects, showcase a strong dedication to the deadline and the determination to get work done. WikiPort will be no different.   
+
 
As for my skills,  
+
'''Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. ''' <br />
Articles written, published using Pelican, Wordpress (Markdown).
+
* 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.   
I use git in all project that I start. Document and collaborate on GitHub.  
+
* All my past  projects, showcase a strong dedication to the deadline and the determination to get work done. WikiPort will be no different.   
Comfortable with both Linux and Windows OS, (preferring Linux all the way)  
+
* As for my skills, <br />
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)  
+
- Articles written, published using Pelican, Wordpress (Markdown).<br />
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)  
+
- I use git in all project that I start. Document and collaborate on GitHub. <br />
 +
- Comfortable with both Linux and Windows OS, (preferring Linux all the way) <br />
 +
- 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) <br />
 +
- There are many points to keep in mind while migrating is taking place, hence for a '''more methodical''' 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) <br />
 
   
 
   
 
You and the community
 
You and the community
Line 286: Line 320:  
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.
 
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.
 
Produce a new tool by the community, for the community and with the community’s help for everyone to benefit from.
 
Produce a new tool by the community, for the community and with the community’s help for everyone to benefit from.
Answer 2: Walter Bender - walter.bender@gmail.com  
+
 
 +
'''Answer 2:''' Walter Bender - walter.bender@gmail.com <br />
 
This project has solid potential to address several pressing issues for the community:  
 
This project has solid potential to address several pressing issues for the community:  
 
(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;  
 
(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;  
 
(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.
 
(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.
   −
Answer 3: James Cameron - quozl@laptop.org  
+
'''Answer 3:''' James Cameron - quozl@laptop.org <br />
 
(His assessment of project impact from both Github and Email )
 
(His assessment of project impact from both Github and Email )
"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."
+
* "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."
“Originally documentation was separate because we had non-coding
+
* “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.”
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.”
     −
Answer 4: Tony Anderson - quozl@laptop.org  
+
'''Answer 4:''' Tony Anderson - quozl@laptop.org <br />
 
(His comments clarifying the need of WikiPort and the problems it solves)
 
(His comments clarifying the need of WikiPort and the problems it solves)
 
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.
 
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.
 
[1] http://www.sugarlabs.org [2] http://www.laptop.org
 
[1] http://www.sugarlabs.org [2] http://www.laptop.org
   −
What will you do if you get stuck on your project and your mentor isn't around?
+
'''What will you do if you get stuck on your project and your mentor isn't around?'''<br />
 
I strive to solve a problem using my own skill base by searching about the problem case and working it out into smaller bits.
 
I strive to solve a problem using my own skill base by searching about the problem case and working it out into smaller bits.
 
#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.
 
#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.
Line 309: Line 342:       −
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?
+
'''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?''' <br />
 
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]
 
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]
 
Post constant updates on my blog and maintain an update tracker for each week on a public notepad (Etherpad, etc.)
 
Post constant updates on my blog and maintain an update tracker for each week on a public notepad (Etherpad, etc.)
   −
Miscellaneous
+
== Miscellaneous ==
Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.
+
'''Send us a link to a pull request or merge request you have made a Sugar or Sugar activity bug.''' <br />
I needed to test my WikiPort beta script that I had created, hence took extra effort and migrated these four wiki pages listed below.   
+
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.   
lettermatch/pull/3  
+
[https://github.com/sugarlabs/lettermatch/pull/3 lettermatch/pull/3]
iknowmyabcs/pull/7  
+
[https://github.com/sugarlabs/AEIOU/pull/9 sugarlabs/AEIOU/pull/9]
sugarlabs/AEIOU/pull/9
+
[https://github.com/sugarlabs/iknowmyabcs/pull/7 iknowmyabcs/pull/7]
/i-can-read-activity/pull/4
+
[https://github.com/sugarlabs/i-can-read-activity/pull/6 /i-can-read-activity/pull/6]
      Line 329: Line 362:  
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.  
 
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.  
 
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.  
 
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.  
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.  
+
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.  
 +
 
 +
'''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?'''<br />
   −
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?
+
* 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.  
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.  
+
* 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.
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.
+
* 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.
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.
+
* 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.
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.
 

Navigation menu