Line 1: |
Line 1: |
− | == Page Under Development GO SLOW! ==
| |
− | 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]
| |
| | | |
− |
| |
− | [[File:Logo wikiport.png|frameless|center|WikiPort]]
| |
− |
| |
− |
| |
− | '''Update: One-time task completed and contributed to major issues.'''
| |
| == About You == | | == About You == |
| '''Name''' - Vipul Gupta<br /> | | '''Name''' - Vipul Gupta<br /> |
Line 41: |
Line 34: |
| '''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 54: |
Line 51: |
| # '''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. | | # '''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. |
− | 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. | + | 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. |
| | | |
| == Objective == <br /> | | == Objective == <br /> |
Line 80: |
Line 77: |
| : 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 98: |
Line 95: |
| | | |
| == 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 223: |
Line 216: |
| | | |
| '''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 /> |