**This is a proposal for outreachy(Round-11) to add ZIM support to OCG.**
**Public URL: **T73660
== Name and contact information ==
**Name: **Adisha Porwal
**Irc Nick:** adisha
**Mediawiki User:** Adishaporwal
**Time Zone: **UTC+5:30
**Typical working hours: **5:00 PM to 12:30 AM (Indian Standard Time)
==== Internet Presence ====
**Github Profile: ** [[ https://github.com/adishap/ | adishap ]]
**LinkedIn Profile: ** [[ https://in.linkedin.com/pub/adisha-porwal/8a/458/30a | Adisha Porwal ]]
**Twitter : ** [[ https://twitter.com/AdishaPorwal | @AdishaPorwal ]]
== Synopsis ==
=== Skills ===
=== How it will benefit MediaWiki or Wikimedia projects? ===
# Mediawiki hosted content can be availed offline in ZIM format to read everywhere with a reader like Kiwix.
# the project will also help to integrate the functionalities of OCG and [[ https://wikitech.wikimedia.org/wiki/Nova_Resource:Mwoffliner | MWOffliner ]]
=== Possible Mentors ===
# [[ https://phabricator.wikimedia.org/p/cscott/ | C. Scott Ananian ]]
# [[ https://phabricator.wikimedia.org/p/Kelson/ | Kelson ]]
== Milestones and Deliverables ==
| **Milestone ** | **Description** | **Duration** | **Deliverable**
| -------------------------- | -------------------------- | -------------------- | ------------------
| Milestone 1 | Envision Phase | Before 17 November 2015 | Development enviroment setup
| Milestone 2 | Community Bonding Period | 17 November - 7 December 2015 | WorkFlow of project
| Milestone 3 | Production of metadata about ResourceLaoder Modules | 7 December 2015 - 12 December 2015 | Metadata about ResourceLoader modules
| Milestone 5 | Conversion into HTML tree | 28 December 2015 - 15 January 2016 | Standalone HTML tree
| Milestone 6 | Invoke 'zimwriterfs' to create the ZIM file | 16 January 2016 -3 February 2016 | 'zimwriterfs' will be invoked to convert HTML tree to ZIM format
| Milestone 7 | Debian Package creation for zimwriterfs | 4 Febuary 2016 - 25 February 2016 | Debian package of zimwriterfs
| Milestone 8 | Final Code Review and Documentation | 26 February 2016 - 7 March 2016 | Source code, Project Report
== Schedule ==
**Before 17 November - __Milestone 1__**
- Remain in constant touch with mentor(s) and community.
- Getting myself familiarize with development environment.
- Getting myself familiarize with working of Node.Js and packaging.
- Study required docs.
- Fix some bugs along the way and get my hands dirty with code.
**17-November-2015 to 6 December 2015 - __Milestone 2__**
- Discussion on workflow for development phase with mentors and community
- Get myself familiar with architecture and implementation of OCG and MWOffliner
**7 December 2015
**Actual Coding period begins
**7 December 2015 to 12 December 2015 - __Milestone 3__**
- Send request to API sandbox to get metadata related to css/js dependencies. For example: Ex: http://en.wikipedia.org/w/api.php?action=parse&format=json&page=MathML&prop=modules for getting modules of page MathML.
**13 December 2015 to 27 December 2015 - __Milestone 4__**
- Currently, the ResourceLoader dependencies are not retrieved by the OCG crawler module.OCG and MWOffliner should download correct modules necessary for each page.
**28 December 2015 to 15 January 2016 - __Milestone 5__**
- Transform the bundles genrated by OCG into standalone HTML tree.
**16 January 2016 to 20 January 2016**
- Test the portion of project completed and Documentation for Milestones achieved
- Getting my self familiar with working of MWOffliner
**20 January 2016 to 26 January 2016**
- Invoke zimwriterfs using OCG
- Discuss with mentor(s) with the future work on related milestone
**26 January 2016**
Mid Term Evaluation
**27 January 2016 to 3 February 2016 - __Milestone 6__**
- Convert HTML tree to ZIM format using zimwriterfs
**4 February 2016 to 22 February 2016 - __Milestone 7__ **
- Getting my self familiar with packaging
- Create Debian package of zimwriterfs
**23 February 2016 to 29 February 2016 - __Milestone 8__ **
- Code Review by me and mentors
- Inact information from code review
- Conduct several tests
- Document the project
**1 March 2016 to 7 March 2016**
- A buffer period required for final polishing of work.
**7 March 2016**
Firm Pen Down
== Participation ==
==== Communication of progress ====
- **IRC channel**: I'll stay online on IRC at #kiwix, #mediawiki-parsoid, #wikimedia-dev in freenode, in my working hours.
- **Email**: I will report my progress using mails weekly.
- The project report will be updated on the [[ https://www.mediawiki.org/wiki/User:Adishaporwal | sub-namespace ]] of my user page.
==== Where I would turn for help? ====
- Solve by myself
- Seek help from community
==== Source Code ====
- Source code will be pushed on a gerrit.
= About Me =
I am Adisha Porwal, doing Masters in Computer Science from [[ http://iips.edu.in/ | IIPS-DAVV ]].I am enthusiastic and active member of [[ http://iips.edu.in/dc | Development Center ]] of my college.
My interest is to learn and explore more about web development.I want to be the part of organisation which is used by most people.
I promise to work for at least 40 hours a week.
== Current Experience with Mediawiki ==
- Have set-up the development environment of core , OCG and MWOffliner.
- Basic familiarity of code and code conventions.
- Understood the process of submitting a patch and review (phabricator, gerrit and git).
==== Microtasks and Bugs====
- Currently working on OCG should download resourceLoader js/css dependencies (T114788)
- Search input cut off in noJS mode (T98829)
- Empty message on watchlists is not center aligned (T103727)
== Past Experience ==
=== FOSS Projects ===
My first encounter with FOSS was Linux. As a FOSS user, I use Ubuntu 14.04 as my operating system, Mozzila Firefox for browsing and PHP, Python and other open source languages for development.
However, as a open source contributor , I began with Mediawiki few months ago and submitted few patches in extension MobileFrontend and mw-ocg-bundler.
=== Other Projects ===
- Alumni Portal for institute ([[ https://github.com/adishap/alumniportal | Github Link ]])
- Complaint Management System for a organisation ([[ https://github.com/adishap/complaint_box | Github Link ]])
- Team and Score Management System for a college Event ([[ https://github.com/AkankshaRathore/Event-Result-View | Github Link ]])
== Other Information ==
**Do you meet the eligibility requirements outlined?:** Yes
**Preferred pronoun:** she
**Education:** Student at [[ http://iips.edu.in/ | International Institute of Professional Studies,DAVV ]] Graduating in December 2016
**How did you hear about this program:** A friend who participated in Outreachy (round 9) and GSoC 2015