Book management 2014/Progress
See the final report here.
Weekly and Monthly reports on progress of the project
editMonthly Reports
editMay
editI started working on Book Management project. Most of planning of the project was done with the help of documents like Tasks, Benchmark, Technical notes and Bug Priority List. I also created a UX Document with mock-ups of new interface. Web interface of bookmanagerv2 tool was setup for testing. I fixed the bug 52435 ( Efficient navigation through the sections ) and bug 51257 ( Improve UX in chapter dropdown menu ) by implementing modified jquery autocomplete feature ( with ajax for retrieving remote data ) to the chapter list in table of contents. So, currently the problem of dealing with big books has been largely solved with some minor bugs that I am working on right now. Other patches submitted by me were also tested on wmflabs server and merged there.
June
editI completed another major task of creating option to migrate old books to json structure easily. Now you can simply create Book:Book_Name and import the list of chapters from an existing table of contents page. Relevant category will also be added automatically to the imported chapters so that they contain the navigation bar. For this, I implemented an API module, parselinks to parse internal links on the contents page in the same order as given on the page. You may test the tool here. Formatting readability option was added to the book pages so that users may adjust readability settings like font, text-size, line-spacing, text-alignment, background color, page layout etc. according to their comfort. The option to retain these options as the user navigates through the book using navigation bar was implemented. Users do not need to set them for every chapter separately. Also I fixed some minor bugs during the process and completed documentation of new messages. The next tasks decided are:
- Mobile Frontend
- Importing data from proofread page extension and wikidata
- Improve book reading interface ( using futurepress ).
July
editWe prioritized our work and decided that Importing metadata was most important for stable extension. So, I worked on that first. Functionality to import metadata from ProofreadPage extension Index pages and wikidata items is now implemented. Also, I installed proofreadPage on the server for testing. Apart from this major task, I worked on other minor bugs in parallel that I felt were easy but also important. So the extension is now complete more or less. We have now decided to do thorough testing by importing Wikibooks to the server. Meanwhile, I am working on documentation of the code and constantly fishing for little bugs. Two tasks that I could not complete due to lack of time are Mobile Frontend interface and full-screen futurepress-like reading interface. I will now concentrate on testing the code.
Micro(Weekly) Reports
editApril 21 - April 25
edit- Accepted to Google Summer of Code 2014!
- Decided on meeting timings and other communication details with Raylton.
- Created Book_management_2014 for organizing our work.
- Updated my Mediawiki Userpage
- Started reading about benchmarking:
April 26 - April 29
edit- Benchmark done.
- Modification in project workflow.
- Created Tasks page for recording the tasks to be performed.
- Started working on technical notes.
April 30 - May 8
edit- Technical notes done.
- UX Document started.
- Created features page
- Added editing interface mock-ups to UX Document.
- Added book landing page mock-ups to UX Document.
- Read some mediawiki API documentation.
May 9 - May 14
edit- Read some more code and documentation.
- Fixed a minor bug while going through the code.
- Talked to Raylton:
- Feedback on the mock-ups:
- Finalized full screen design.
- Added search box in menubar.
- Modified the edit page mockup for visual editor.
- Decided next task, i.e. Bug Priority list.
- Decided to use futurepress book reader.
- Feedback on the mock-ups:
- Created Bug Priority list (initial draft).
- Discussed on the design and modified some mock-ups.
May 15 - May 18
edit- Filed new bugs for improving UX based on our discussion till now:
- Set up Futurepress epub reader locally to get a feel of how it works.
- Joined #epub.js on freenode and Epubjs mailing list.
- Read up on Unit testing
- Tried implementing efficient navigation method mentioned here.
May 19 - May 25
edit- Coding period begins!
- Completed implementation of efficient navigation method for bug 52435.
- Tried the implemented code on a book with 5000 sections and discovered that the bottleneck is the loading of formatted chapter list for showing table of contents on every section.
- Memcached formatted chapter list for table of contents on the book landing page and all sections.
- Fixed a small bug with generation of prev/next links.
- Submitted patch with above changes for fixing bug 52435.
- Tested navigation on a book with 16,000 sections.
- Requested access for wmflabs tools.
- Added search in book example to technical notes.
- Installed BookManagerv2 extension on web interface of bookmanagerv2 tool.
- Recreated test for a big book.
May 26 - May 31
edit- Tested efficient navigation code on wmflabs server and filed relevant bugs:
- Tried caching of chapter list data on json editor and discussed some new ideas for solving above bugs.
- Tested code with mobile front end.
- Implemented a new solution for efficient navigation: showing a small part of chapter list with see more links retrieving more data through ajax.
- Filed some more bugs encountered:
- Submitted new patch and merged it in wmflabs server for testing.
- Made some minor enhancements to the code.
- Started working on bug 51257 - implemented search in chapter list.
- Submitted patch for bug 51257 and merged for testing on server.
June 1 - June 9
edit- Added modified jquery autocomplete feature for searching and displaying the chapter list.
- Some bugs in the feature:
- Tested previous patches to some bugs on wmflabs server.
- Submitted patch for bug:51975 ( Automatically add book categories to sections of the book ).
- Filed a few bugs for UX enhancement:
- Submitted patch for bug:53286 ( Ease migration of existing books ).
- Filed a bug in importing books:
- Also merged the above two commits in the wmflabs server for testing.
June 10 - June 22
edit- Fixed bug 66367 (links from mw m w) and merged in wmflabs server for testing.
- Fixed bug 66788 (links from mw m w).
- Fixed bug 65295 (links from mw m w).
- Fixed bug 65329 (links from mw m w).
- Filed bug 66957 (links from mw m w).
- Merged and tested all the patches in wmflabs server.
June 23 -July 5
edit- Fixed bug 65300 (links from mw m w).
- Filed bug 67066 (links from mw m w).
- Fixed bug 66957 (links from mw m w).
- Some other minor changes: [26] [27]
- Decided priority of tasks:
- Mobile Frontend
- Importing data from proofread page extension and wikidata
- Improve book reading interface ( using futurepress ).
- Fixed bug 51844 (links from mw m w).
- Fixed bug 66789 (links from mw m w).
July 6 - July 18
edit- Submitted patch to show short title on subpages of a book.
- Submitted patch to add message documentation for newly added messages.
- Submitted patch to add variables to enable or disable parts of the extension.
- Submitted patch to fix bug 67872 (links from mw m w).
- Submitted patch to implement functionality to import metadata from proofread page.
- Merge all the patches in wmflabs server.
- Install ProofreadPage extension on wmflabs server to test import of metadata from Index: pages.
July 19 - July 27
edit- Submitted patch to allow users to add links to the metadata.
- Submitted patch to implement functionality to import metadata from proofread page.
- Updated the extension page documentation.
July 28 - August 13
edit- Submitted patch to allow mass indentation in JSON editor.
- Imported Wikibooks to wmflabs server for testing.