Book management

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 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 through htmlForms 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 will make sure there is full accessibilty and zero confusion.
 * 2) Migration of books to BookManagerv2: Transformation of existing books to json format used in BookManagerv2 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 glosaries 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:

Coding begins, improve code for html form interface, landing page and reading interface of the book with the help of ui experts and write necessary backend code for it.
 * May 19 - June 5:

Work on moving existing books to bookmanagerv2 JSON format.
 * June 6 - June 20:

Improve navigation bar code to make it more efficient.
 * June 21 - June 30:

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

Deploying and testing the project, identification and fixing of bugs and refining the code.
 * July 26 - August 5

Completing 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):
 * 1) Bug 59699
 * 2) Bug 62064
 * 3) Bug 57777
 * 4) Bug 58296
 * 5) Bug 53448
 * 6) Bug 58080