- Developer Center (Home) |
- Web API |
- Client Library |
- Data Dumps |
- Source Code |
- Report an Issue |
- Licensing
Hello! There are lots of ways you can work with the Open Library system, and the ol-tech mailing list is a great place to ask questions.
Developer Notes & Blogs
- [[http://code.openlibrary.org/en/latest/|Current documentation pages]]
- [[https://openlibrary.org/dev/docs|Main older documentation page]] & API Documentation
- [[https://github.com/jayfajardo/openlibrary|Ruby interface for the API]], written by Jay Fajardo
- Using covers
- [[/dev/docs/setup|Set up a development instance of Open Library]]
- [[/dev/docs/committing|Committing changes to github.com/openlibrary/openlibrary]]
- [[/dev/docs/bots|Writing a Bot for Open Library]]
- [[/dev/docs/bookreader|Using the Internet Archive BookReader]]
- [[/dev/docs/bookurls|Archive.org book URLs]]
- [[/dev/docs/inlibrary|In-Library lending tech notes]]
- [https://github.com/internetarchive/openlibrary/issues|Github Issue Tracker]
- Blogs by current and former devs: [[http://gio.blog.archive.org/category/openlibrary/|Gio]], [[http://raj.blog.archive.org/tag/openlibrary/|Raj]], [[http://anand.blog.archive.org/|Anand]]
Data
-
[[data#bulk_download|Bulk Download Open Library Bibliographic Data]]
- [[/dev/docs/ia|Archive.org Interfaces]] to publicly-accessible books and updates
Infogami
- [[/dev/docs/infogami|Infogami Developer Tutorial]]
Open Library is powered by Infogami, a clean, simple wiki application framework built on web.py. Unlike other wikis, Infogami has the flexibility to handle different classes of data, including structured data. That makes it the perfect platform for Open Library.
Basically, Infogami facilitates the creation of dynamic HTML templates and macros. This flexible environment enables users to create, share and build collaborative interfaces. We'd love to see more of these spring up around Open Library!
Applications are written by extending Infogami through two layers: plugins and templates. Plugins are Python modules that get loaded into Infogami through a special API. (See an overview of Infogami plugins.) They are invoked by submitting HTTP requests to the application, either HTML form posts or direct GET requests. Plugins can use any library or application code that they wish, and they create Python objects to represent results, that then get expanded to HTML by templates. Templates are a mixture of HTML text and user-written code, in the spirit of PHP templates. The user-written code is in a special-purpose scripting language that is approximately a Python subset, which runs in a hopefully-secure server-side interpreter embedded in the Python app that has limited access to system functions and resources.
Open Library also uses a text-to-HTML formatting language Markdown, created by John Gruber. We also use the handy WMD Markdown WYSIWYG editor.
History
- Created October 21, 2009
- 77 revisions
July 5, 2023 | Edited by Mek | updating technologies |
July 23, 2021 | Edited by raybb | all links https |
June 27, 2021 | Edited by Mek | Edited without comment. |
June 27, 2021 | Edited by Mek | Edited without comment. |
October 21, 2009 | Created by George | New page. |