Editing User:Richajain1912/GSOC2014/
From BRL-CAD
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
− | =Personal Information= | + | ==Personal Information== |
'''Name:''' Richa Jain <br /> | '''Name:''' Richa Jain <br /> | ||
'''E-Mail:''' richa.jain1912@gmail.com <br /> | '''E-Mail:''' richa.jain1912@gmail.com <br /> | ||
− | '''IRC Nick:''' richa (#brlcad on freenode) | + | '''IRC Nick:''' richa (#brlcad on freenode) |
− | |||
− | ==Background Information== | + | ===Background Information=== |
− | Hi, I am Richa Jain, a third year Undergraduate student from Indian Institute of Technology Roorkee. I am currently a developer at Software Development Section of my institute | + | Hi, I am Richa Jain, a third year Undergraduate student from Indian Institute of Technology Roorkee. I am currently a developer at Software Development Section of my institute. I was also a GSoC 2013 student under Wikimedia Foundation and now I am looking forward to work with BRL-CAD. |
− | =Project Information= | + | ==Project Information== |
− | ==Project Title== | + | ===Project Title=== |
Synchronize wiki with Docbook | Synchronize wiki with Docbook | ||
− | ==Brief project summary== | + | ===Brief project summary=== |
BRL-CAD’s documentation is available in a variety of formats but the best way of maintaining documentation is docbook XML. However, as we know that a general user finds it easier to edit a wiki page rather than a docbook. Conversion between XML markup (docbook) and wiki syntax is not that easy. Using tools like pandoc for this, some markups are lost and ultimately the data is ruined. So, the main aim of this project is to Synchronize wiki and docbook so that any changes made to the wiki appears in the docbook and vice-versa without any loss of data. The project will be implemented as a separate mediawiki extension which shows the docbook XML in the edit window and after they have edited it, the XML is processed to produce the HTML web output. If a user prefers to edit wiki markup, then after the editing, the docbook XML can be downloaded. | BRL-CAD’s documentation is available in a variety of formats but the best way of maintaining documentation is docbook XML. However, as we know that a general user finds it easier to edit a wiki page rather than a docbook. Conversion between XML markup (docbook) and wiki syntax is not that easy. Using tools like pandoc for this, some markups are lost and ultimately the data is ruined. So, the main aim of this project is to Synchronize wiki and docbook so that any changes made to the wiki appears in the docbook and vice-versa without any loss of data. The project will be implemented as a separate mediawiki extension which shows the docbook XML in the edit window and after they have edited it, the XML is processed to produce the HTML web output. If a user prefers to edit wiki markup, then after the editing, the docbook XML can be downloaded. | ||
− | ==Detailed project description== | + | ===Detailed project description=== |
− | + | There are basically two approaches for this project:<br /> | |
− | Docbook | + | 1. Since mediawiki's Collection extension[1] converts wiki markup to Docbook XML and for the vice-versa, projects like Beacon[2] converts Docbook to weboutput. |
+ | So, in order to have a synchronization between the two edits we must use both the technologies in a combined way.<br /> | ||
+ | 2. Instead of using both of these technologies, we can define our own mediawiki extension which intelligently maps wiki markup to docbook markup and serves both the purposes simultaneously. This can be done with mediawiki parser functions. | ||
− | + | This needs some research regarding which approach will be more beneficial, so I will utilize my time during the community bonding period in finding out a reliable method. | |
− | |||
− | + | ===Workflowy=== | |
− | + | 1. '''Fetching of XML-''' Once the user chooses “edit via docbook format”, the backend will fetch XML and display it in the editing window. <br /> | |
− | + | 2. '''Mapping of XML to wiki markup and vice-versa-''' Making a directory which maps the XML markup to wiki markup and vice-versa using mediawiki parser functions. <br /> | |
+ | 3. '''Processing of XML-''' Once the user chooses “save”, the entire XML is processed, compiled into wikitext and the HTML output is displayed. | ||
− | === | + | ===Deliverables=== |
− | + | * A mediawiki extension having two edit options - Wiki and Docbook. | |
− | + | * Providing XML markup instead of wiki when a user chooses "Edit via Docbook". | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | * A mediawiki extension having options | ||
− | * Providing XML markup instead of wiki when a user chooses "Edit | ||
* Mapping Docbook and wiki by using any of the approaches described above such that there exists a synchronization between the two edits. | * Mapping Docbook and wiki by using any of the approaches described above such that there exists a synchronization between the two edits. | ||
* Adding an option to download the XML file once a user has finished editing wiki markup. | * Adding an option to download the XML file once a user has finished editing wiki markup. | ||
* Creating documentation which describes the technologies used for future developers ( Documentation for the code will be written as I write the code ) | * Creating documentation which describes the technologies used for future developers ( Documentation for the code will be written as I write the code ) | ||
− | ==Development Schedule== | + | ===Development Schedule=== |
I will start working on my project as my exams will get over (on 30th April). The basic plan and estimated timeline of my project are: (timeline may change a little during the project) <br /> | I will start working on my project as my exams will get over (on 30th April). The basic plan and estimated timeline of my project are: (timeline may change a little during the project) <br /> | ||
+ | *'''May 1 to May 18:''' Investigating the two approaches describes above, making few experiments with Beacon and Collection Extension and deciding which of the two will be better. | ||
+ | *'''May 19 to May 31:''' Making a skeleton for the extension and giving two edit options - wiki and docbook. | ||
+ | *'''June 1 to July 15:''' Implementing the backend of the extension. This involves fetching of XML to the edit window and mapping XML to wiki and vice-versa using any of the two approaches. | ||
+ | *'''July 16 to July 31:''' Testing and bug fixing | ||
+ | *'''August 1 to August 10:''' Writing relevant Documentation | ||
+ | *'''August 11 to August 18:''' Final Evaluations | ||
− | + | ===Time availability=== | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ==Time availability== | ||
* '''Time Zone:''' UTC+5:30 (IST-India) | * '''Time Zone:''' UTC+5:30 (IST-India) | ||
* '''Typical working hours:''' 12 noon to 1 am before July, 6pm to 3am after July | * '''Typical working hours:''' 12 noon to 1 am before July, 6pm to 3am after July | ||
Line 80: | Line 50: | ||
I am quite flexible with the timings and will try to dedicate most of my time to this project. | I am quite flexible with the timings and will try to dedicate most of my time to this project. | ||
− | ==Past Experiences== | + | ===Past Experiences=== |
− | * I was a Google Summer of Code 2013 student under Wikimedia Foundation. I worked on making a | + | * I was a Google Summer of Code 2013 student under Wikimedia Foundation. I worked on making a mediawiki extension (Annotator) which allows user to make inline comments on a wiki article. This project was based on PHP, JavaScript. The source code can be seen [https://git.wikimedia.org/summary/r=mediawiki/extensions/Annotator.git here] |
* My open source projects can be seen on [https://github.com/richajain github]. | * My open source projects can be seen on [https://github.com/richajain github]. | ||
− | ==Why me== | + | ===Why me=== |
− | I will work hard and bring this project to completion. I am always logged in to IRC (#brlcad) whenever I work | + | I will work hard and bring this project to completion. I am always logged in to IRC (#brlcad) whenever I work. I will be making frequent commits and giving information to my mentors and the community and taking help from people around whenever I am stuck. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | ==References== | + | ===References=== |
[1] https://www.mediawiki.org/wiki/Extension:Collection <br /> | [1] https://www.mediawiki.org/wiki/Extension:Collection <br /> | ||
[2] http://fedoraproject.org/wiki/DocBook_Editor_Documentation | [2] http://fedoraproject.org/wiki/DocBook_Editor_Documentation |