Jump to content

Book management 2014/Progress

From Meta, a Wikimedia project coordination wiki

See the final report here.

Weekly and Monthly reports on progress of the project


Monthly Reports




I 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.



I 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 ).



We 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


April 21 - April 25


April 26 - April 29


April 30 - May 8


May 9 - May 14

  • 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.
  • Created Bug Priority list (initial draft).
  • Discussed on the design and modified some mock-ups.

May 15 - May 18


May 19 - May 25

  • 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

  • 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


June 10 - June 22


June 23 -July 5



  • Decided priority of tasks:
    • Mobile Frontend
    • Importing data from proofread page extension and wikidata
    • Improve book reading interface ( using futurepress ).
  • Fixed bug 51844[29] (links from mw m w).
  • Fixed bug 66789[30] (links from mw m w).

July 6 - July 18

  • 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[31] (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


July 28 - August 13

  • Submitted patch to allow mass indentation in JSON editor.
  • Imported Wikibooks to wmflabs server for testing.