Related
This might be more of a standard Android question...
How can I associate EPUB files with the Stock Reader app on the rooted Nook Touch?
For instance, if I try to launch a file from Dropbox or ES File Manager, I just get a "No Viewer Available" message. After I download Moon+ Reader, those apps will send the file to that app, so it must do something similar to a Windows machine and associate the file type to that extension when it gets installed.
Is there a way to always open EPUB files in the Nook Reader instead?
As far as I've seen, for every extension you open, you get to choose a program to open it, and there is a checkbox to always open using that specific program. I guess for epub a "reader" program shows up, and that is B&N software.
apeine said:
As far as I've seen, for every extension you open, you get to choose a program to open it, and there is a checkbox to always open using that specific program. I guess for epub a "reader" program shows up, and that is B&N software.
Click to expand...
Click to collapse
I was hoping that would be the case - that seems to work for some apps, but with EPUB it doesn't give me the choice...
I'll keep playing with it...
Android applications announce what types of files they handle to the operating system. If you try to open a file of a type that has at least one such application, it will either open the single application or ask you which to use.
Although the Nook reader program can read epub files (obviously), it doesn't tell Android that so you can't click to open. (The Kindle Android app has the same problem).
If you physically move the epub file to the right folder, the Nook reader will show the file when you open the reader.
Yes, apparently that is exactly the case we are experiencing here.
The question is: how one can edit those associations in Android OS? Where they are stored and in what format?
tymofiy said:
Yes, apparently that is exactly the case we are experiencing here.
The question is: how one can edit those associations in Android OS? Where they are stored and in what format?
Click to expand...
Click to collapse
You misunderstand. It isn't a question of file association. The reader has to ANNOUNCE what it can do, and it has to be able to accept a file handle as input.
The reader application is simply NOT CAPABLE OF THIS.
There is nothing you can do.
Why not use something like Adobe Digital Editions to transfer your epubs properly to your N2?
I buy most my books in epub format with Adobe DRM and transfer them to my Nook with ADE .. works like a charm.
Well, I buy my books from O'Reilly without DRM and transfer them to my Nook with Dropbox. Also I have a bookmarklet for saving big articles I encounter on the web as epub and also put them on my Nook with Dropbox.
Very handy because I do not have to plug in Nook each time I want to save something for reading later. It is like Instapaper, but better - epub reader is better for reading texts than any Instapaper client I tried.
However, opening those downloaded epubs works only from OI file manager, not from Dropbox client itself, which is annoying. Dropbox displays message "no viewer available". While with OI epubs are opened in Nook's reader.
And that is the reason I am looking for a way to work around that Nook's reader limitation.
tymofiy said:
Well, I buy my books from O'Reilly without DRM and transfer them to my Nook with Dropbox. Also I have a bookmarklet for saving big articles I encounter on the web as epub and also put them on my Nook with Dropbox.
Very handy because I do not have to plug in Nook each time I want to save something for reading later. It is like Instapaper, but better - epub reader is better for reading texts than any Instapaper client I tried.
However, opening those downloaded epubs works only from OI file manager, not from Dropbox client itself, which is annoying. Dropbox displays message "no viewer available". While with OI epubs are opened in Nook's reader.
And that is the reason I am looking for a way to work around that Nook's reader limitation.
Click to expand...
Click to collapse
I don't like to plug in my Nook to a computer either. With Dropbox you'll have to just download the file, use a file manager and put it in the proper directory (My Files->Books), and the stock Nook reader will detect it.
I've also discovered you CAN open ePub's with DRM. I use Aldiko, and link it to my Adobe ID, then you can open DRM'ed files that way.
While we at it, as one Dropbox user to other Dropbox user, I can highly recommend you taking a look at Dropsync - unofficial app that lets you sync entire directories, and can also do it automatically.
tymofiy said:
Also I have a bookmarklet for saving big articles I encounter on the web as epub and also put them on my Nook with Dropbox.
Very handy because I do not have to plug in Nook each time I want to save something for reading later. It is like Instapaper, but better - epub reader is better for reading texts than any Instapaper client I tried.
Click to expand...
Click to collapse
What is the bookmarklet you are referring to? Can you send me a link? I would love to have a way to do what you are describing. Thanks!
Sent from my DROID BIONIC using XDA App
Got it, should have searched first. DotEpub is the service. It works great on the PC. I couldn't get the bookmarklet to work on the stock Android browser, but it did work fine on Opera.
I'm about to get a Nook Touch and this is going to be the perfect way to grab web pages to read on it. Thanks!
Sent from my DROID BIONIC using XDA App
Hi,
reopening this thread.I think I saw somewhere on the forum an application that was launching the stock reader app. But I can't find it now. I believe it should be possible to use such an app (propagating it can read epub & pdf files) to launch a stock reader and pass the document to it.
I use Astro (free app) to do this. I also paid 99 cents for button savior pro and set the telephone button as Astro for easy access... works very well
If you want to use the B&N stock reader to open epubs sideloaded wirelessly:
1. Download and install ASTRO File Manager
2. Open Astro and go to preferences. Choose "Edit File Extensions" under Data. Choose "New Extension".
Extension Name: epub (no . in there, just epub)
Mime Type: application
SubType: epub (again, no . in there, just epub)
Save
Exit Astro
Now just open the epubs through Astro
I made an app that will accomplish this: http://forum.xda-developers.com/showthread.php?p=22490176
dhkr234 said:
You misunderstand. It isn't a question of file association. The reader has to ANNOUNCE what it can do, and it has to be able to accept a file handle as input.
The reader application is simply NOT CAPABLE OF THIS.
There is nothing you can do.
Click to expand...
Click to collapse
The B&N factory reader application can most certainly read .epub files.
bigtexan99 said:
The B&N factory reader application can most certainly read .epub files.
Click to expand...
Click to collapse
Yes, but it can not handle TELLING everything else that it can. :/
Has anyone looked into a way to make the nook think your sideloaded content was downloaded from B&N.. IS there some data base file that keeps record that we could edit? I'm sick of my sideloaded books lacking the functionality of the downloaded ones.. anyone have ideas on where to start?
Edit:
I found this on the nook tablet forum... BN Book Directory, Calibre, Cut&Paste, Library Covers
AugustusBot said:
I moved a folder into /system/media/books and after stopping and restarting the Library app, the books within the folder did show up in the Library.
However after long-pressing the book, i noted Delete was not an option from the library.
Not a huge deal... if i want to delete them I can simply mount /system as rw, open ES File Explorer, and delete them.
Can anyone confirm that the /system/ location is actually on the B&N 12gb partition?
edit: this doesn't really resolve my secondary objective, of getting Magazines to show up in the Magazine tab of the Library (there is no /system/media/magazines!)
Click to expand...
Click to collapse
Has any tried placing books in the directory /data/media/b&n downloads/books/
Update:
ok so placing books in /system/media/books does allow it to show up in the library..
and you can read it
Still won't show meta information..
OK so I've found that the database looks to be here
/data/data/com.android.providers.media/databases/internal.db
/data/data/com.android.providers.downloads/databases/downloads.db <----- Looks more promising
I've looked at the file in notepad and can see the ISBN numbers listed in the file but i can't read it correctly ... what program should i use to edit this?
the books you download are names with the ISBN number... in the /data/media/B&N Downloads/Books/
Edit:
/data/data/com.android.providers.downloads/databases/downloads.db is defiantly the right file i just need help editing... it I've never done sqlite3 before
OK so I've found that the database looks to be here
/data/data/com.android.providers.media/databases/internal.db <----- Looks more promising
/data/data/com.android.providers.downloads/databases/downloads.db <----- deadend
I've figured out the sqlite thing....
Downloads didn't work....
Internal.db seems to have all the information.... It has a field for summary, author, what not.... So Meta info isn't used at all by the nook... its added per book base to the internal.db file.... bummer. I guess i'll add the info and see if it is recognized.
Looks like there might be alot of info needed from BN.com to make it work... ugh
persichini said:
Has anyone looked into a way to make the nook think your sideloaded content was downloaded from B&N.. IS there some data base file that keeps record that we could edit?
Click to expand...
Click to collapse
I’m sure B&N keeps info on their server too, and should sync it across all your devices (like the book page you are on). No idea how their sync works and what exactly being sync-ed.
persichini said:
I'm sick of my sideloaded books lacking the functionality of the downloaded ones.. anyone have ideas on where to start?
Click to expand...
Click to collapse
What is it you missing so badly?
I guess i'm to picky... I have 60 books that were suggested by people that i haven't read yet. I like to be able to read a summary before i start reading..
Is it just me or do the search functions not work like the they should? X-ray search doesn't seem to work like the advertisements.
Being able to mark a book as read... I like seeing my progress
Archiving books would also be nice.
Ok, I see what you mean.
I don’t know where book summary is stored. Could be in a EPUB ifself?
I would start copying some book from /data/media/B&N Downloads/Books to SD card and check if you get a summary.
X-ray search – know nothing about it, sorry.
About Archiving - I guess, we supposed to be able to delete a book from nook and be able to download it later again (since B&N have a record that we bought it).
For side loading, we can create Archive folder.
I know, it’s not exactly archiving, but just trying to be helpful…
ApokrifX said:
Ok, I see what you mean.
I don’t know where book summary is stored. Could be in a EPUB ifself?
I would start copying some book from /data/media/B&N Downloads/Books to SD card and check if you get a summary.
Click to expand...
Click to collapse
/data/data/com.android.providers.media/databases/internal.db
This is a database file that contains the book summary and all the other info. I guess when you download a book from B&N it updates this file.
I just haven't been able to update the file and get it to recognize.
ApokrifX said:
X-ray search – know nothing about it, sorry.
About Archiving - I guess, we supposed to be able to delete a book from nook and be able to download it later again (since B&N have a record that we bought it).
For side loading, we can create Archive folder.
I know, it’s not exactly archiving, but just trying to be helpful…
Click to expand...
Click to collapse
I do know that by placing your books in '/system/media/books' folder you can use the B&N partition for your side loaded books you just have to reboot to recognize them. There is also no option to delete books once they are placed there. you would have to delete them with a file manager or over ADB
persichini said:
I guess i'm to picky... I have 60 books that were suggested by people that i haven't read yet. I like to be able to read a summary before i start reading..
Is it just me or do the search functions not work like the they should? X-ray search doesn't seem to work like the advertisements.
Being able to mark a book as read... I like seeing my progress
Archiving books would also be nice.
Click to expand...
Click to collapse
X-Ray Search doesn't work? It shouldn't, that a Kindle feature.
guitar_east said:
X-Ray Search doesn't work? It shouldn't, that a Kindle feature.
Click to expand...
Click to collapse
Ohhh well that makes sense why i could ever figure that out.... Guess i got my research crossed on the x-ray search... i still wouldn't trade my nook for kindle.
That's ok. There's no reason to buy a Kindle, the Nook runs the app quite well
persichini said:
/data/data/com.android.providers.media/databases/internal.db
This is a database file that contains the book summary and all the other info. I guess when you download a book from B&N it updates this file.
I just haven't been able to update the file and get it to recognize.
I do know that by placing your books in '/system/media/books' folder you can use the B&N partition for your side loaded books you just have to reboot to recognize them. There is also no option to delete books once they are placed there. you would have to delete them with a file manager or over ADB
Click to expand...
Click to collapse
As far as I can tell, in the internal.db there are 2 different table, 'docs' for sideloaded books and 'products' for B&N books and the 'docs' table misses the short synopsis field used for the book summary.
So probably there is no way to have summary for sideloaded books...
If we put book into /data/media/B&N Downloads/Books/ folder, it’ll go into 'docs' table for sideloaded books still, right?
BTW: How do you fiddle with databases such as internal.db?
Use adb to pull/push and fiddle on PC, or use adb shell to do it on nook?
ApokrifX said:
If we put book into /data/media/B&N Downloads/Books/ folder, it’ll go into 'docs' table for sideloaded books still, right?
Click to expand...
Click to collapse
IDK, never tried
ApokrifX said:
BTW: How do you fiddle with databases such as internal.db?
Use adb to pull/push and fiddle on PC, or use adb shell to do it on nook?
Click to expand...
Click to collapse
Both, actually.
I use SQLiteStudio to browse data and definitions, and a copy of sqllite3 found on this forum to modify the DB on the device via adb shell
met67 said:
As far as I can tell, in the internal.db there are 2 different table, 'docs' for sideloaded books and 'products' for B&N books and the 'docs' table misses the short synopsis field used for the book summary.
So probably there is no way to have summary for sideloaded books...
Click to expand...
Click to collapse
Well my thoughts were why can't we just manually insert the books in the the "products" with the data fields filled in. i tried guessing at what all those fields were. I'm assuming it wasn't the correct info or didn't match the book some how because it didn't work.
ApokrifX said:
If we put book into /data/media/B&N Downloads/Books/ folder, it’ll go into 'docs' table for sideloaded books still, right?
BTW: How do you fiddle with databases such as internal.db?
Use adb to pull/push and fiddle on PC, or use adb shell to do it on nook?
Click to expand...
Click to collapse
I tried to place the books into /data/media/B&N Downloads/Books/ folder but the nook ignored them. From what i can tell it checks the database file and if its not in there it doesn't see it.
if you place your books in /system/media/books/ folder it will recognize them as sideloaded books. That is the same location as your quick start.epub and the manual.epub
I have placed books there and the nook will load them after a reboot.
I adb pull/push and used a program called sqliteadmin in windows
sideloaded books on Nook
persichini said:
OK so I've found that the database looks to be here
/data/data/com.android.providers.media/databases/internal.db <----- Looks more promising
/data/data/com.android.providers.downloads/databases/downloads.db <----- deadend
I've figured out the sqlite thing....
Downloads didn't work....
Internal.db seems to have all the information.... It has a field for summary, author, what not.... So Meta info isn't used at all by the nook... its added per book base to the internal.db file.... bummer. I guess i'll add the info and see if it is recognized.
Looks like there might be alot of info needed from BN.com to make it work... ugh
Click to expand...
Click to collapse
I was searching and came across your post, have you considered using Calibre to sideload your books? I just changed yesterday to include the metadata (within calibre program) on the first page of the book. that way you can review the information you have set. It will also download metadata for books you do not have info on.
Don't know if this helps good luck with your Nook.
I realize I may be bumping this thread, but I figured that it was worth it. I worked around with a few of the files and I figured out everything now. I can get my side-loaded books to show up in the My Books section. Thanks to OP to giving me the hint about the database files. :good:
My method requires you to download a sample of the book you want to side load from the Nook Store ( remember, a sample; not the book. Samples are free.) The database files contain the metadata info. Copy the filename of the sample you have downloaded( this will be in \sdcard\Nook\Content). Copy over the ePub you want to side load and rename the file with the name of the sample downloaded. Going into the Nook app, you can now see that the sample in the Library has been replaced with the full version of the book.
Head over to Android Market and buy the SQLite Editor. Once that's done, open up the app and click on B&N Nook( or something to that effect, since I don't remember it exactly). Head into products, and scroll sideways until you come across "isSample". ( Please look into the column or row for your book.) For your sample book, the value will be set to 1. For the purchased books, it'll be zero. Just long click on that cell and edit the value and set it to 0. Click back, exit out of the app and launch the Nook app.
You can now see that the "Sample" logo from the sample book is gone. Voila! Sample books have all the privileges of the full book purchased from the B&N Store. The B&N Store has an abysmal selection of books, so I prefer buying my books from elsewhere and then using them on B&N app. That's the best app I've found for Android so far.
I haven't got the syncing to work yet. I just got onto my tablet, and I don't feel like going through the whole process again. I'll try it out tomorrow and let you know. Side note: I also got "Internal errors" upon launching the app. I believe this is because of me updating the database files and B&N not having a copy of the update. But the app obeys the local copy present, so I' m not too worried about that at the moment.
Can the OP look into this on the Nook tablet? I can confirm this works on the normal Android tablets, but I'm not so sure of the Nook tablet. Maybe it can be run from the CM ROMs?
gadgetdroid's workaround does, indeed give you sharing capabilities.
But this happened when I tried to share to facebook:
#NAME# shared a quote from #TITLE# on a NOOK
by #AUTHOR#
Click to expand...
Click to collapse
clicking 'more' in order to have metadata and summary come up yields 'service unavailable'.
Also, the sample books on my Nook get saved to /sdcard/B&N Downloads/Books/ (symlinked /data/media to /sdcard, so pretend it's /data/media for the rest of you who didn't make that change)
Still I count this as progress. I'm not sure if simply adding a line to the products db on scan is the answer because the products db has so many more columns than the docs db but I'ma try it and see what happens.
spoofing tryouts...
So I tried spoofing the products db to see what what would happen by copying an entry from the docs db (where I had a book already) to the products db, like so (IOW, without having downloaded a sample book from B&N):
INSERT INTO products (_data, ean, _size, product_type, mime_type, _display_name, title, authors, mainAuthorFirstName, mainAuthorLastName, publisher, thumb_image, cover_image, product_code, format_code, purchase status, date_published, date_added, date_modified, locker_delivery_id, locker_status, luid) SELECT _data, _data, _size, product_type, mime_type, _display_name, title, authors, mainAuthorFirstName, mainAuthorLastName, "Barnes & Noble", thumb_image, cover_image, "ER", "EP", "1", "0", date_added, date_modified, "39248209", "ACTIVE", "L39248209" FROM docs where docs.title="The Old Man and the Sea" LIMIT 1;
Click to expand...
Click to collapse
I then deleted the relevant entry in the sideloaded db (e.g. docs), went into the Library and clicked the update key. this didn't seem to be effective. I then changed the ean entry to a real isbn number instead of just using the filename twice...still nothing. I then rebooted the device. I tihnk this actually caused the library to do a rescan. I now found that I had two copies of 'The Old Man and the Sea' listed (which of course were actually in the same physical location). The first one listed managed to begin to act like a bought book! E.g. when I went to 'more...' to read metadata, it showed the 'Service Unavailable' error. The sharing button was ungreyed! I then tried to share something to Facebook...but got an error message:
A Problem Occurred: Can't complete operation
Click to expand...
Click to collapse
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Still, I count that as progress. In the above example, the epub file didn't have a publisher field, and of course the _ean field in the docs database is not populated, so I had to manually drop that in. The ean field cannot be null, and cannot just be some random string of characters. I confirmed this by going back and modifying the db - progress stopped right there, and the Share button became greyed out again.
So I'm not sure if a) the other fields in the products db, which I still have not populated, are relevant to making this functionality work or b) this is as far as we can go and b&n holds all the keys.
One other note: The locker_delivery_id and luid numbers, which are identical except for the leading L, I made up; these cannot be null.
EDIT: one last thing - whenever I open either the 'first' or 'second' copies of 'The Old Man and the Sea' off of a cold boot, I simply get a black screen, and have to go back to the Library and click the book again. I'm not sure if that has to do with anything I'm doing or if it's because of the guevor's kernel (which I just installed)
copying the locker_delivery_id and luid from a book that has been dled from B&N as a sample, instead of just making one up, also doesn't seem to work...
LastSilmaril said:
So I tried spoofing the products db to see what what would happen by copying an entry from the docs db (where I had a book already) to the products db, like so (IOW, without having downloaded a sample book from B&N):
I then deleted the relevant entry in the sideloaded db (e.g. docs), went into the Library and clicked the update key. this didn't seem to be effective. I then changed the ean entry to a real isbn number instead of just using the filename twice...still nothing. I then rebooted the device. I tihnk this actually caused the library to do a rescan. I now found that I had two copies of 'The Old Man and the Sea' listed (which of course were actually in the same physical location). The first one listed managed to begin to act like a bought book! E.g. when I went to 'more...' to read metadata, it showed the 'Service Unavailable' error. The sharing button was ungreyed! I then tried to share something to Facebook...but got an error message:
Still, I count that as progress. In the above example, the epub file didn't have a publisher field, and of course the _ean field in the docs database is not populated, so I had to manually drop that in. The ean field cannot be null, and cannot just be some random string of characters. I confirmed this by going back and modifying the db - progress stopped right there, and the Share button became greyed out again.
So I'm not sure if a) the other fields in the products db, which I still have not populated, are relevant to making this functionality work or b) this is as far as we can go and b&n holds all the keys.
One other note: The locker_delivery_id and luid numbers, which are identical except for the leading L, I made up; these cannot be null.
EDIT: one last thing - whenever I open either the 'first' or 'second' copies of 'The Old Man and the Sea' off of a cold boot, I simply get a black screen, and have to go back to the Library and click the book again. I'm not sure if that has to do with anything I'm doing or if it's because of the guevor's kernel (which I just installed)
Click to expand...
Click to collapse
I repeat, unless B&N don't have a copy of your purchase, you will face errors of not finding metadata. I just installed Linux on my laptop, so I'll go through a few things and post the results soon. Have you updated the Nook app to the latest version? In the latest one, you don't have to restart the app any more or restart the device or kill it's process to see the new books added through the file manager.
One more thing. Have you manually tried filling up the metadata on the book you copied in Products db? Don't set the syncing to take place. Mark it as 0. I want to get metadata working first.
Sent from my XT530 using Tapatalk 2
A long-standing problem with B&N's library has been the failure for books stored on the SD card to persist when shelving them. If the sdcard is removed, or the Nook restarted, then, even though the books haven't actually been removed or modified, they will not show up again under the shelves you created.
Putting aside the fact that shelving on the N2E is a ridiculous process that requires you to alphabetically run through every single one of the books on your device, this is really annoying for someone wishing to avoid being limited by the size of internal storage but who doesn't want to switch library programs and still want to make use of the shelving feature.
I saw there were progress on the infamous 'two sets of highlights and notes' bug, here:
http://forum.xda-developers.com/showthread.php?t=1467429
so prima facie I'm going to assume that this may be a similar problem, and I'm gonna be looking at that. Any advice or opinions to the contrary would be welcome.
LastSilmaril said:
A long-standing problem with B&N's library has been the failure for books stored on the SD card to persist when shelving them.
Click to expand...
Click to collapse
There is a special term (among many) introduced by Microsoft : BugOrFeature (one word).
Lots of companies adopted it since…
ApokrifX said:
There is a special term (among many) introduced by Microsoft : BugOrFeature (one word).
Lots of companies adopted it since…
Click to expand...
Click to collapse
LOL. Indeed!
I agree that the existing shelving is so clumsy that it's unusable. So rather than try to fix bugs in it, IMO it would be more productive to develop a separate, PC-based way to create and maintain shelves on the NST, for example using a Calibre plug-in.
You would have to keep your whole library in Calibre, including B&N materials. Then you could specify which fields of Calibre metadata would be used to construct shelf names, and the plug-in would export the data in a form that could be pushed onto the NST. I'm not sure how to match the items between the NST library and the Calibre library. We would need to look at the NST's version of the library, including its internal unique id in the library_items table, and match that with the Calibre version. That process would have to be easy and repeatable, because I'm reasonably sure that the NST rebuilds its library each time you unmount and remount the sd card (if not more often), and it probably gives each item a new id.
Some progress was made on Automating shelving, where jalfrock revealed the database structures and a method for modifying them via noogie. I think it would be possible to build on that work and very probably to make it more automated by using CWM Recovery rather than noogie to transfer data. Or it might be just as simple to use noogie.
Comments?
Sun_Cat said:
I agree that the existing shelving is so clumsy that it's unusable. So rather than try to fix bugs in it, IMO it would be more productive to develop a separate, PC-based way to create and maintain shelves on the NST, for example using a Calibre plug-in.
You would have to keep your whole library in Calibre, including B&N materials. Then you could specify which fields of Calibre metadata would be used to construct shelf names, and the plug-in would export the data in a form that could be pushed onto the NST. I'm not sure how to match the items between the NST library and the Calibre library. We would need to look at the NST's version of the library, including its internal unique id in the library_items table, and match that with the Calibre version. That process would have to be easy and repeatable, because I'm reasonably sure that the NST rebuilds its library each time you unmount and remount the sd card (if not more often), and it probably gives each item a new id.
Click to expand...
Click to collapse
I was trying to maintain my library in Calibre for a couple weeks, than gave up...
I’m not a book worm, definitely...
Sun_Cat said:
Some progress was made on Automating shelving, where jalfrock revealed the database structures and a method for modifying them via noogie. I think it would be possible to build on that work and very probably to make it more automated by using CWM Recovery rather than noogie to transfer data. Or it might be just as simple to use noogie.
Click to expand...
Click to collapse
Shelves are kept in database.
To update it, you need either:
have sqlite3 on nook and use adb shell + sql scripts
do the same via noogie script automation
via adb: pull database to PC, modify using sqlite3 on PC, push them back.
All above uses database field for auto-shelving only.
If we want to use a book metadata field not presented in database, we need to write an app or script to do it. Not a big deal, except I suck @ UI design (and implementation too).
AFAIR, the SQL script to shelve based on author was posted already.
Question to Renate:
Do you know an [easy] way to pull a book metadata field using android CLI?
The MediaScanner crawler on the Nook doesn't impress me.
It's never found any MP3s. Maybe other people have had other results.
If you borrow books from the library, the return date might be of interest to you.
There is no place in the database and the crawler does not read it.
The same goes for language.
I keep track of my own modest library in my own database using my own crawler,
the results being displayed on my own Library.apk replacement.
I've never actually looked at the stock bookshelves so I have no idea how they work.
Um, what was the question? Extracting metadata?
Renate NST said:
The MediaScanner crawler on the Nook doesn't impress me.
It's never found any MP3s. Maybe other people have had other results.
If you borrow books from the library, the return date might be of interest to you.
There is no place in the database and the crawler does not read it.
The same goes for language.
I keep track of my own modest library in my own database using my own crawler,
the results being displayed on my own Library.apk replacement.
I've never actually looked at the stock bookshelves so I have no idea how they work.
Click to expand...
Click to collapse
Good for you!
Renate NST said:
Um, what was the question? Extracting metadata?
Click to expand...
Click to collapse
Basically, we need unzip a file (content.opf) from .epub and do xml parsing from CLI.
ApokrifX said:
If we want to use a book metadata field not presented in database, we need to write an app or script to do it. Not a big deal, except I suck @ UI design (and implementation too).
Click to expand...
Click to collapse
Right. That's why I suggested a Calibre plug-in, since Calibre already has fields for lots more metadata than the Nook library.
ApokrifX said:
AFAIR, the SQL script to shelve based on author was posted already.
Click to expand...
Click to collapse
See the Automated Shelving link in my previous post.
All this stuff is getting kind of complicated.
It's a question of how many data sources and how you'll resolve them.
You could check in all your books in Calibre (which I've never actually seen),
then exports its database to the Nook so that it will have all the info and shelves.
If you start checking in books directly in your Nook, how will that work?
Sun_Cat said:
Right. That's why I suggested a Calibre plug-in, since Calibre already has fields for lots more metadata than the Nook library.
Click to expand...
Click to collapse
Might be easier to generate shelving [update] script from Calibre plug-in and execute manually than?
Renate NST said:
All this stuff is getting kind of complicated.
It's a question of how many data sources and how you'll resolve them.
You could check in all your books in Calibre (which I've never actually seen),
then exports its database to the Nook so that it will have all the info and shelves.
If you start checking in books directly in your Nook, how will that work?
Click to expand...
Click to collapse
IDK. As I posted earlier, I think the trickiest part will be to match up the two libraries (the NST's and Calibre's) so Calibre knows the unique id for each book in the NST library database. I'm not sure if that's even possible. AFAIK, each time you use Calibre to copy books to the NST, there's no feedback about how the NST is storing them.
Renate, does your custom library app have additional metadata fields compared to stock? If so, then the approach in Automating shelving would work.
Sun_Cat said:
IDK. As I posted earlier, I think the trickiest part will be to match up the two libraries (the NST's and Calibre's) so Calibre knows the unique id for each book in the NST library database. I'm not sure if that's even possible. AFAIK, each time you use Calibre to copy books to the NST, there's no feedback about how the NST is storing them.
Renate, does your custom library app have additional metadata fields compared to stock? If so, then the approach in Automating shelving would work.
Click to expand...
Click to collapse
Calibre does store its own database on the reader so that it know whats already on the device. So matching book etc should not be a problem as long as the book has originally been sent from calibre. If you have stored all your books in calibre and have all the correct metadata. You would be better of using folders rather than catalogs.
Dopedangel said:
Calibre does store its own database on the reader so that it know whats already on the device. So matching book etc should not be a problem as long as the book has originally been sent from calibre.
Click to expand...
Click to collapse
That's a good point, but I'm not sure that's the right conclusion. AFAIK Calibre can only read and write the epub files and its own metadata file. It has no way of knowing the Nook internal library unique id, which is required for the shelves database.
Dopedangel said:
If you have stored all your books in calibre and have all the correct metadata. You would be better of using folders rather than catalogs.
Click to expand...
Click to collapse
You mean telling Calibre how to create the folder structure on the Nook rather than trying to use shelves? That's easy to do without any hacking, but there are two deficiencies compared to shelves:
Each book can be in only one folder. (With shelves it can be on multiple shelves.)
You would have to use the "My Files / Memory Card" part of the native library interface and then navigate the folder structure, which is much clumsier than selecting a shelf.
Or did I misunderstand your suggestion?
Just a thought:
We do have book author in nook DB, but not the series.
We can certainly pool series from book metadata, but that’s PiA.
What we can do is to create folders on nook for series and keep books there.
We can use book folder to shelve by series than.
If a book belongs to more than one series, we can encode it into folder name (horror|chldren) as well
Basically, if doesn’t have to be series, but any attribute you want to shelve on, not included in nook db.
Naturally, we can create shelves on more them one attribute (by author, by series. etc)
Similarly, folder name can have more than one attribute (but I’d prefer to keep it simple)
Or, consider the reader broken and use a different app.
Fbreader sorts books into 36 bins (a-z + 0-9) by first letter of the title or by author name by default.
For me, that's already a very nice start on shelving.
fbreader also reads tags inserted by Calibre if you like.
In order to fully use it on a nook device, you need your BN content to live in the same place as your sideloaded content.
I set that up by linking /data/media to /media or to /sdcard.
/sdcard is handy because it doesnt' require repartitioning to contain a useful amount of space.
I use the BN reader app mostly for magazines, and fbreader for most of my books. Together with fbsync (for synicing across all devices) it works really well.
roustabout said:
Fbreader sorts books into 36 bins (a-z + 0-9) by first letter of the title or by author name by default.
For me, that's already a very nice start on shelving.
fbreader also reads tags inserted by Calibre if you like.
Click to expand...
Click to collapse
Sounds nice, but I would greatly prefer a solution that doesn't require rooting, or at least not rooting with gapps. I had my NST rooted for a while, and I reverted to stock after getting annoyed that most of the apps that interested me didn't work very well and that it was doing so much invisibly behind the scenes.
I don't love the native reader, but I like it well enough that I would rather see if it's possible to transcend some of its limitations.
Sun_Cat said:
That's a good point, but I'm not sure that's the right conclusion. AFAIK Calibre can only read and write the epub files and its own metadata file. It has no way of knowing the Nook internal library unique id, which is required for the shelves database.
You mean telling Calibre how to create the folder structure on the Nook rather than trying to use shelves? That's easy to do without any hacking, but there are two deficiencies compared to shelves:
Each book can be in only one folder. (With shelves it can be on multiple shelves.)
You would have to use the "My Files / Memory Card" part of the native library interface and then navigate the folder structure, which is much clumsier than selecting a shelf.
Or did I misunderstand your suggestion?
Click to expand...
Click to collapse
Well I rooted and installed coolreader on my nook in the first few days after I got it. So never used the nook reader app much. I use coolreader and it built in file explorer. I don't think you need to use google apps to use other apps just root and adb install coolreader although I persoanlly prefer to use google market as its easily allows to get the updated apps and I can read my email etc
I use calibre to send books this way I can find books by genre if I want
Genre\Sub Genre\First Letter\Author\Series\Title.epub
As coolreader scans all the books and makes a database I can also find books by series, Author or Title
LOL. So while I'm glad I spawned this discussion here, I fear we've become sidetracked a bit into lectury non-solutions ('just ditch the reader!' 'use a calibre hack!'). What can I say? I'm stubborn, and want to be able to fix the official, nice-looking interface, flaws and all...even if I don't ultimately end up using it. It's the principle!
In the meantime, there was one link to 'autoshelving' that I think I'll be checking out once I finally make the time to start this project.
Dopedangel said:
I use calibre to send books this way I can find books by genre if I want
Genre\Sub Genre\First Letter\Author\Series\Title.epub
As coolreader scans all the books and makes a database I can also find books by series, Author or Title
Click to expand...
Click to collapse
That's what I'd call "101% organized folder structure"!
Piece of cake to parse and put Title.epub into 5 shelves:
Genre\Sub Genre\First Letter\Author\Series
ApokrifX said:
Piece of cake to parse and put Title.epub into 5 shelves:
Genre\Sub Genre\First Letter\Author\Series
Click to expand...
Click to collapse
Guys,
Where does calibre keeps (Genre, Sub Genre, Series, Series index) fields?
I’ve checked few epubs content.opf
All I see (relevant):
Code:
<metadata…>
<meta name="calibre:rating" content="0.00"/>
<meta name="calibre:series_index" content="1"/>
<dc:contributor opf:role="bkp">calibre (0.6.52) [http://calibre-ebook.com]</dc:contributor>
<dc:subject>Science fiction</dc:subject>
</metadata>
series_index is 1 always for every book in series.
Is there any standard or everyone follows its own rules?
I wrote early, it’s easy to parse files path like Genre\Sub Genre\First Letter\Author\Series\Title.epub
And it’s easy to unzip and parse content.opf too, but without standard, we’d need to keep unique setting for a user, providing every user book comply with the settings...
Hello,
I am having trouble get took setup in manner I want for my family.
I would like option to access B&N books on the device so I need to use default reader however for all other books .mobi/,epub I much prefer to use cool reader as I can adjust the margin to avoid the light bloom at the top as well as various spacings to my preference.
Using nookmanager/relaunch, Renate's Simple Library.
If I chose a default app for .epub B&N are treated the same way. Is this possible to sort in manner I'm after by perhaps hacking around with /data/system/packages.xml?
Thanks
Crispy
Crispy3000 said:
Hello,
I am having trouble get took setup in manner I want for my family.
I would like option to access B&N books on the device so I need to use default reader however for all other books .mobi/,epub I much prefer to use cool reader as I can adjust the margin to avoid the light bloom at the top as well as various spacings to my preference.
Using nookmanager/relaunch, Renate's Simple Library.
If I chose a default app for .epub B&N are treated the same way. Is this possible to sort in manner I'm after by perhaps hacking around with /data/system/packages.xml?
Thanks
Crispy
Click to expand...
Click to collapse
BN books are epub, but they are protected epubs (they use adobe drm). I think cool reader may be able to open them too, but the Nook stores them in a place the reader has trouble finding them. Because they are epubs, setting the default would be tricky (one app for downloaded epub, and another for purchased from BN, how would the app know).
I think your best bet would be to use Mantno or Aldiko which can handle all of your epubs because they support drm. Then,all the epubs are handled by one app, and all the mobis by cool reader. That is as simple as clicking the always do this checkbox you open the book from a file manager.
The alternative is to set defaults based on file location, but I think you will need another app running like tasker. Then, you can create shortcuts with a launcher and have the shortcut open the assigned book. The later is much more complicated.
Good luck,
Leko
Thanks for that.
I did try downloading the books from the website to PC to have a look at what format they were etc but could not find a way.
It is indeed the path screwing things up. They live it seems in /data/media/B&N Downloads/Books/ a directory only accesable to system apps.
Copying them to sdcard coolreader had no problem what so ever reading them.
I guess setting up a script to copy the books to another nonroot location would be easiest solution.
Crispy3000 said:
Thanks for that.
I did try downloading the books from the website to PC to have a look at what format they were etc but could not find a way.
It is indeed the path screwing things up. They live it seems in /data/media/B&N Downloads/Books/ a directory only accesable to system apps.
Copying them to sdcard coolreader had no problem what so ever reading them.
I guess setting up a script to copy the books to another nonroot location would be easiest solution.
Click to expand...
Click to collapse
I do not know if this would mess everything up, but what if you changed the permissions on that folder?
It may well do messing with those permissions or at least cause the nook to reset to factory. Not something I am going to consider
I want to remove all the B&N crap stealing battery anyway so side loading the books to my sdcard is way to go and thats fine.
What I need to know now is how to get the books I've paid for in .epub format from B&N when the nst does not download them.
Part of my brain remember Renate does something like this using an Adobe product?
I will google abit after coffee and some Jelly Defense. If someone knows good method please chime in.
Crispy3000 said:
It may well do messing with those permissions or at least cause the nook to reset to factory. Not something I am going to consider
I want to remove all the B&N crap stealing battery anyway so side loading the books to my sdcard is way to go and thats fine.
What I need to know now is how to get the books I've paid for in .epub format from B&N when the nst does not download them.
Part of my brain remember Renate does something like this using an Adobe product?
I will google abit after coffee and some Jelly Defense. If someone knows good method please chime in.
Click to expand...
Click to collapse
Good point. I did that with Nook color tools. Not fun.
To get the books...
Go on a browser (this may work on opera on the device, I am not sure).
Got to bn.com
sign in and go to your nook library.
right click on a book and download it.
Save it to disk. If you have A.D.E. installed it will want to open it.
Move it to your device.
Open the book in a reader which supports A.D.E.
Enter your login in password which is your full name (As they have it on file, spaces count but I do not know about middle names)and credit card you used to purchase the book.
Enjoy.
You should only need to enter the credit card once.
Good luck.
~Leko
Now, I just need to find the full screen version of Mantano. Grrr.
lekofraggle said:
Good point. I did that with Nook color tools. Not fun.
To get the books...
Go on a browser (this may work on opera on the device, I am not sure).
Got to bn.com
sign in and go to your nook library.
right click on a book and download it.
Save it to disk. If you have A.D.E. installed it will want to open it.
Move it to your device.
Open the book in a reader which supports A.D.E.
Enter your login in password which is your full name (As they have it on file, spaces count but I do not know about middle names)and credit card you used to purchase the book.
Enjoy.
You should only need to enter the credit card once.
Good luck.
~Leko
Now, I just need to find the full screen version of Mantano. Grrr.
Click to expand...
Click to collapse
# right click on a book and download it.
This is the bit I was having trouble with. I see now its the difference between the UK and USA site. UK one only gives archive and delete where USA gives the additional option of download. Luckily USA site seems to honor my UK purchases now. It did not when I tried it long time ago I suspect they synced them because they accidentally sent a load USA nst to uk to meet demand.
EDIT: Works great. Downloaded, ADBed across (will setup Renate's adbsync for automation later), Renate's simply library app, opens with cool reader ^_^. Thanks
Only other thing to do on my todo list in this particular process is to change screensaver timeout on command line as I usually keep the 2min but if ADBing going into screensaver mode disrupts the connection either to sleep or wireless turning off.
You could try dropbox, then there is no need for adb. The current apk does not work. I found an old xparent version which does, but as you could imagine xparent is not so good on the nst. Let me know if you want it.
As for screensaver timeout, it is one of the options in settings.
~Leko
Go forth and work toward your salvation with diligence.
It may also be possible to put a link in the default directory for coolreader and point it to the location of the books downloaded from B&N.
David0226 said:
It may also be possible to put a link in the default directory for coolreader and point it to the location of the books downloaded from B&N.
Click to expand...
Click to collapse
Link would inherit the permissions. I prefer ADB / adb sync for large merging of files as it can be done over my LAN not my very tiny pipe to the internet. I do use dropbox for other stuff.
Does anyone know where the Nook Simple Touch store it's media files? Meaning, I downloaded my books from B&N but I can't seem to find them. I have Nook Manager installed but a search from / took a long time and when it finished, it found many but didn't display any.
Thanks.
dlong said:
Does anyone know where the Nook Simple Touch store it's media files? Meaning, I downloaded my books from B&N but I can't seem to find them. I have Nook Manager installed but a search from / took a long time and when it finished, it found many but didn't display any.
Thanks.
Click to expand...
Click to collapse
/data/media/B&N Downloads
nmyshkin said:
/data/media/B&N Downloads
Click to expand...
Click to collapse
Hmm, I am not seeing anything. Using the built-in ReLaunch search, set my path to /data and no string, it yields nothing. Just using ReLaunch's file browser of /data shows no other directories or files. I looked through ReLaunch's settings and have show all files and hidden files. Not hide known directories...etc. Even try adding regex of ".*" nothing....
There also seems to be a bug in ReLaunch? When I browse down.... I can't seem to browse back up via "Up one level". The only way seems to either be reboot the nook or "reset settings to default values" for ReLaunch and then it works again.... but at some point it loses the Up one level ability again.
dlong said:
Hmm, I am not seeing anything. Using the built-in ReLaunch search, set my path to /data and no string, it yields nothing. Just using ReLaunch's file browser of /data shows no other directories or files. I looked through ReLaunch's settings and have show all files and hidden files. Not hide known directories...etc. Even try adding regex of ".*" nothing....
There also seems to be a bug in ReLaunch? When I browse down.... I can't seem to browse back up via "Up one level". The only way seems to either be reboot the nook or "reset settings to default values" for ReLaunch and then it works again.... but at some point it loses the Up one level ability again.
Click to expand...
Click to collapse
Yeah....I am no fan of ReLaunch, and you've just pointed out one of the reasons. There may be a way to convince it to show root directories and their content, but if so, it's not obvious.
I'm pretty sure the information I gave you is correct because I had to figure it out to create the "Set Cover" app and that's what I went back to in order to find the answer.