seekshiva / courses

http://courseshub.in
GNU General Public License v3.0
5 stars 3 forks source link

Support both ISBN-10 and ISBN-13? #94

Closed seekshiva closed 10 years ago

seekshiva commented 10 years ago

The 13-digit ISBN checksum has been in use since 1st Jan 2007. Online retailers display both the 10 and 13 digit checksum about a book in the book info page.

Eg: http://www.flipkart.com/data-computer-communications-8/p/itmczymgxfv6unr2?pid=9788131715369&cmpid=content_book_8965229628_gmc_pla&tgi=sem,1,G,9226359,g,search,,30163692860,1o2,,,c,,,,,,,&gclid=CM-N_eWs_rsCFYJU4godYAgA9g

Search in the page for "ISBN"

Should we create separate attribute in the book model for isbn-10 and isbn-13 ?

nobelium commented 10 years ago

ISBN 13 is just an extension of ISBN 10. We need not store ISBN 13 for a book. ISBN 13 can be calculated from ISBN 10

function isbn10ToIsbn13(isbn10) {
    isbn13 = "978" + isbn10;
    return isbn13.substr(0, isbn13.length-1) + getIsbn13CheckSum(isbn13);
}

We can also check if the ISBN is valid. Refer wiki for more info http://en.wikipedia.org/wiki/International_Standard_Book_Number

seekshiva commented 10 years ago

You can't find ISBN 10 checksum from ISBN 13. It s not backward compatible.

All new books are only given an ISBN 13 checksum. Apart from amazon and flipkart, other booksellers probably only display ISBN 10 checksums. The outdated software used in book shops also probably only support the 10-digit checksum. Students will not be able to look up books from these places if we only show the 13-digit checksum.

We have to support both checksums:

nobelium commented 10 years ago

We will only store ISBN 10. ISBN 13 can be found from ISBN 10 while rendering the page. Both can be displayed. Calculation checksum for both is not an issue.

nobelium commented 10 years ago

Pull request #104 closes this.