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.
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!)
This week I’ve been mostly fixing bugs, refactoring code and building admin features. Grandham has built in checks to avoid duplication in Authors/Publishers now.
Submission Review Interface
We have a new interface this week – A screen to review crowdsourced information submissions. Administrators can use this feature to control the information displayed to user. Currently every review item has 3 actions – Approve, Archive or Comment. Out of these, ‘Comment’ is a new feature which needs to be implemented. It will be helpful for the task force to generate discussions around specific submissions.
After a couple of rounds of refactoring, Grandham got a Code Climate score of 4.0 from 1.61!
A couple of weeks before, We (Anivar, Manoj and me) had a meetup with Sri K. H. Hussain who is a pioneer in library science. He has worked in many projects including earlier version of Grandham (Malayalagrandham.com) and has been a member of its task force. He offered guidance for development and his inspiring vision for this project helped us to fix the goals.
(The trip for the meetup was fun. Though it was for Google ‘Summer’ of Code, we got drenched in the heavy monsoon of Kerala ;))
Meanwhile the coding period for GSoC had started, It was time to fasten the development process and get the project up as fast as possible. I had drawn few design mockups and have started implementing them.
Most of these designs are just helpers to assist in development to get the backend and features done. We will do proper styling and UX enhancements after implementing the backend.
Currently the application has the following features,
- Basic books listing and API
- Bootswatch integration
- Dynamic URLs in Navbar according to the language selected
- Add book form
- Edit book (which would save the data as as a new revision)
- Decent test coverage
Live instance of the application in development is running here – grandham.herokuapp.com
Regarding the representation of binary MARC21 data in relational database, we had decided to convert it to MARCXML and then it shouldn’t be a problem to store. It needs a bit more research on how many attributes and data fields it would take to completely express MARC data, hoping to write a separate post on that later.
That’s all for now. Happy hacking, folks!
This summer I’m contributing to Swathanthra Malayalam Computing through Google Summer of Code 2013 by developing an application called Grandham, a bibliography data project. I’ve three mentors for this project, namely Anivar Aravind, Mahesh Mukundan and Baiju Muthukadan.
Grandham is essentially a web application to find, contribute and share bibliographic information. It will be serving as an enhanced version of the live application we have now – Malayalagrandham.com. The new application will have support for multiple languages, MARC21 data format, RESTful API, Internationalization and a lot more.
May 27 – June 17 is Community Bonding Period and I’m using this time to discuss and finalize various parts of application with mentors. So far we have decided how the application should collect information from users and how it should organize and store them internally. We need to strictly follow a scalable architecture and avoid internal data duplications.
The project is being built with Ruby on Rails web framework and MySQL as database. The first phase of development includes designing the rest of application and completion of basic API. It’s pretty exciting to build this project, You can follow the development at github. Happy Hacking!
Yesterday, I went to MES College of Engineering to deliver a small talk on programming and free software, it was entirely a new experience for me. A bigger crowd than expected was present. It went fine Thanks to Raghesh sir, Raju sir, S@IT and to friends there
I’m happy to share my little slides. It was created according to numerous suggestions by Raghesh sir. For fun, the presentation was started with a SMS trigger from audience The code for that is like ‘get-thing-done’ and doesn’t have the quality to upload. It’s developed using python with gammu module. Please feel free to tell me if you want to have a look at the code.
Attribution: ‘Input -> Fun -> Output’ is an idea got from Niyam Bhushan during his talk at NIT Calicut on FOSS Meet day.