Book management

Google Summer of Code and Outreach Program for Women 2014 Proposal

Book management in Wikibooks/Wikisource

 * Announcement
 * Bugzilla reports:
 * 51239 - Create a tool for edit books (group of pages) that reduces the learning curve
 * 53286 - Ease migration of existing books
 * 52435 - Find previous/next links in the navbar more efficiently

Name and contact information

 * Name: Deepali Jain
 * Email: djdeepalijain811@gmail.com
 * IRC or IM networks/handle(s): Djain
 * Location: Roorkee, Uttarakhand, India
 * Time Zone: IST (Indian Standard Time) (UTC +05:30)
 * Typical working hours : Before July,15th - 10:00 to 14:00, 16:00 to 18:00, 22:00 to 01:00 (IST), After July,15th - 18:00 to 03:00 (IST)

Synopsis
This project focuses mainly on improving user experience for BookManager(v2) extension. It will provide an easy-to-use tool to edit, view and manage books. Major tasks will include the following:


 * 1) Better UI for book creation, reading and editing: Clean and intuitive design for book creation interface to reduce learning curve and make editing a book user friendly experience is the main aim. The user need not think before using this tool and should feel completely comfortable with the interface. I intend to make sure there is full accessibility and zero confusion.
 * 2) Migration of books to BookManagerv2: Creation of BookManagerv2 JSON for existing books so that the new tool may be used for management of already created books as well.
 * 3) Efficient navigation through next/prev buttons on navigation bar: Enhancement in performance of the navigation bar specially in case of huge books with lots of pages. Right now, navigation involves looping through complete list of pages for retrieving information about the position of current page in the table of contents which may get very slow for big books.
 * 4) Proper documentation of the BookManagerv2 Extension.

These are the major tasks but the project will include several other minor bugs as well as these:
 * 1) Listing of books
 * 2) Searching in books
 * 3) One-click operations on all pages of a book
 * 4) Special reference pages for glossaries etc.

Benefits
Wikisource/Wikibooks is a great tool for creating great books with properly structured data in the form of chapters and metadata. The books thus made can easily be saved, printed, edited and distributed. Nicely edited books can be very useful for people. There is a need for a user friendly interface for book creation and management to increase its usage and ensure complete utilisation of this cool feature. Currently, book editing interface is not as easy to use as editing single pages which restricts its userbase.

Deliverables

 * 1) Stable and user-friendly book management interface.
 * 2) Efficient navigation through book.
 * 3) Migration of existing books to BookManagerv2.
 * 4) Some other extra useful features for book management.

Workflow
Get familiar with the code base. Read documentation. Refine the proposed UI design. Plan a proper workflow with mentor in the light of the understanding gained.
 * Before May 19th:

Improve navigation bar code to make it more efficient and faster.
 * May 19 - June 5:

Work migrating existing books to BookManagerv2 JSON format.
 * June 6 - June 15:

Improve code for edit form, landing page and reading interface of the book with the help of UI experts and write necessary back-end code for it.
 * June 16 - June 20:

Work on extra features such as:
 * June 21 - July 10:
 * 1) Listing and searching books.
 * 2) One click operations on the books such as watch-listing, deleting etc.
 * 3) Special reference pages for things like glossary etc.

Deploy and test the project, identify and fix bugs and refine the code. Make the extension completely stable and ready for installation.
 * July 10 - August 5

Complete documentation of the code and final report submission.
 * August 5 - August 18

About me
Hi! I am a second year B.Tech. student of Electrical Engineering at Indian Institute of Technology, Roorkee. I am an enthusiastic programmer. I code mainly in C++, php and javascript and am familiar with MVC application architecture and UX. I am quite comfortable with using git for version controlling. I am a developer at SDSLabs, IIT Roorkee where I have been working on web application projects for past year and a half. I love to build cool stuff and participate in hackathons. I am also quite interested in algorithmic ( competitive ) programming.

Participation
I will take this project as a full time internship and will have my summer vacations for most part when I will be completely free. My work timings are also very flexible and I will be spending around 40-45 hours a week coding for the project. I will start maintaining a blog to communicate about my progress. I plan to use gerrit for publishing the source code. I will stay in regular contact with my mentor, Raylton P. Sousa to seek help whenever I am stuck and for discussing my work and progress. Also, I will be regularly present on irc for communication.

Past open source experience
I got involved in open source through mediawiki. I feel its completely awesome and wish to keep contributing. Here are the bugs I have submitted patches for (none merged yet):

MediaWiki core:


 * 1) Bug 59699
 * 2) Bug 62064
 * 3) Bug 57777
 * 4) Bug 58296

BookManagerv2:


 * 1) Bug 53448
 * 2) Bug 53449
 * 3) Bug 58080
 * 4) Bug 58078
 * 5) Bug 58079

Project Progress

 * 1) Project management page
 * 2) Progress Reports
 * 3) Patches in gerrit