Last week I’ve been working on admin review feature to incorporate the new changes happened in the user end.
With the addition of in-place editing feature, admins can now approve minor edits by actually looking the difference. They also have options to replace author/publisher if the previously set author was different.
Along with that, we now have an option to upload book cover. It can be found in ‘Add new book’ form. In the long run, it will be also appearing under each book cover(in book page) where user can upload a cover just like they edit other information.
In Week 9, I rewrote the complete crowdsourcing functionality of Grandham from a submission based approach to micro-edits based approach. Earlier we used to store the entire snapshot while recording modifications but now we store only the ‘edit’ (similar to diff, but in a structured database table) and pass it to admins for reviewing. This approach has some significant advantages including the easy generation of history of book pages.
In-place editing was integrated during the same week. Now participants can click on a field and edit it.
Last weekly I mainly worked on Search feature and admin interfaces. Here’s a quick review:
- Experimented with various search engines like Sphinx, Ferret, etc and finally decided to use Solr with sunspot gem as it worked well with unicorn data without any configuration.
- Wrote a general search backend interface for Grandham. We can plugin other search engines anytime as long as it communicated the way Grandham needs it.
- Added Admin interfaces managing Authors and Publishers.
I couldn’t post the weekly updates regularly for the last two times since I was kept more busy than I had expected and the festive holiday that came in between. Here’s a quick review of what happened during the 7th week of GSoC.
- Grandham got an UI revamp!
- Integrated new theme.
- Separate books / authors / publishers lists were implemented
- Updated user sign in / sign up pages
- Integrated database clear and fixed failing specs (It’s green now, yay!)