Привет! I made a simple ebook reader app [1] for Owncloud (henceforth to be abbreviated as 'OC') to allow my daughter - who is encumbered [2] with a school-provided iPad with strict limits on what can be installed - to read books from our personal collection.
In the discussion around that app I got some requests for OPDS [3] integration, something which I felt to be outside of the scope of an OC app. I suggested the opposite, implementing OPDS as a read-only external storage option. A further request came for integrating OC with the FBReader book network to use it as a storage backend instead of Google drive. While this might be a viable proposition, the work would have to be done by the FBReader team (by implementing WebDAV as a storage backend, possibly with some special support for ETags en FileIDs). All this got me thinking about a third way to use OC to serve book by publishing content from a user-defined subtree in the form of an OPDS catalog. This would enable users of OPDS-compliant book reading devices to access this content without needing to go through an external program to download it to their device. This could be implemented in several ways. The most straight-forward implementation would require the user to be logged in to OC - this could be accomplished by re-using the users OC credentials for the OPDS link - after which OC would basically serve an OPDS feed of the designated root directory, from which the user could navigate towards the desired publication. A related option would be to publish (a subset of) shared files/directories as an OPDS catalog. This would enable external users to access the content without needing to be logged in. While the OPDS catalog part is relatively straightforward - it could be based on the file app, serving atom+xml instead of JSON - there is more to OPDS than just serving links. A fully fledged OPDS catalog entry contains a lot of metadata related to the linked publication. OC currently does not provide much in the way of metadata storage. There are some apps which claim to fill this void [4], one of which seems to be dead while the other is not much further along than this RFC. I assume I'm not the first to come up with this idea. The question is whether anyone here has made a start with something similar already? Any suggestions related to the concept or the implementation thereof? Code I could borrow? Laziness is a virtue, after all... TIA//Frank [1] http://apps.owncloud.com/content/show.php?content=167127 [2] Had the school been smart enough to leave the choice to individual parents, they'd have saved an awful lot of money while she'd have used something more suitable to the task at hand. Something with a keyboard, with free software, something she could program herself if she wanted to. Something without bonds and chains. To learn how to produce, not consume... [3] http://opds-spec.org/specs/ http://en.wikipedia.org/wiki/OPDS [4] http://apps.owncloud.com/content/show.php?content=151520 https://github.com/owncloud/metadata -- WWWWW ________________________ ## o o\ / Frank de Lange \ }# \| / \ \ `--| _/ <Hacker for Hire> \ `---' \ +46-734352015 / \ [email protected] / `------------------------' [ "Omnis enim res, quae dando non deficit, dum habetur et non datur, nondum habetur, quomodo habenda est." ] _______________________________________________ Devel mailing list [email protected] http://mailman.owncloud.org/mailman/listinfo/devel
