Library: Difference between revisions
(cleanup) |
|||
(31 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
{{OLPC}} |
|||
{{Translations}} |
{{Translations}} |
||
{{Olpcboxtop|toptext=[[{{PAGENAME}}|Library]]}} |
{{Olpcboxtop|toptext=[[{{PAGENAME}}|Library]]}} |
||
{{ OBX source dev|library/library-activity}} |
|||
{{ OBX activity <!-- |[[Image:Activity4.png]]-->|2=core|3=Part of the [[browse]]r at the moment }} |
|||
{{ OBX source dev|library-activity}} |
|||
{{ OBX test <!--|[[Tests/Write|Write]]|2007-09-18--> }} |
|||
{{ OBX devtickets |library}} |
{{ OBX devtickets |library}} |
||
{{ OBX pot |
|||
| root = [[Localization/Library|wiki.laptop.org]] |
|||
| pot = http://wiki.laptop.org/go/Localization/Library/sidebar_po |
|||
| name = sidebar |
|||
| po-root= http://wiki.laptop.org/go/Localization/Library/sidebar_ |
|||
<!-- explicit codes: am, ar, en, es, fr, ha, ig, ne, pt, ro, ru, rw, th, ur, yo // green countries --> |
|||
| ar = po |
|||
| en = po |
|||
| es = po |
|||
| pt = po |
|||
| others = [http://wiki.laptop.org/go/Localization/Library/sidebar_po ko] |
|||
}} |
|||
{{ OBX pot |
|||
| root = [[Localization/Library|wiki.laptop.org]] |
|||
| pot = http://wiki.laptop.org/go/Localization/Library/atlas_po |
|||
| name = atlas |
|||
| po-root= http://wiki.laptop.org/go/Localization/Library/atlas_ |
|||
<!-- explicit codes: am, ar, en, es, fr, ha, ig, ne, pt, ro, ru, rw, th, ur, yo // green countries --> |
|||
| en = po |
|||
| es = po |
|||
| pt = po |
|||
| others = [http://wiki.laptop.org/go/Localization/Library/atlas_po ko] |
|||
}} |
|||
{{ OBX pot |
|||
| root = [[Localization/Library|wiki.laptop.org]] |
|||
| pot = http://wiki.laptop.org/go/Localization/Library/biology_po |
|||
| name = biology |
|||
| po-root= http://wiki.laptop.org/go/Localization/Library/biology_ |
|||
<!-- explicit codes: am, ar, en, es, fr, ha, ig, ne, pt, ro, ru, rw, th, ur, yo // green countries --> |
|||
| en = po |
|||
| es = po |
|||
| pt = po |
|||
| others = [http://wiki.laptop.org/go/Localization/Library/biology_po ko] |
|||
}} |
|||
{{ OBX pot |
|||
| root = [[Localization/Library|wiki.laptop.org]] |
|||
| pot = http://wiki.laptop.org/go/Localization/Library/books_po |
|||
| name = books |
|||
| po-root= http://wiki.laptop.org/go/Localization/Library/books_ |
|||
<!-- explicit codes: am, ar, en, es, fr, ha, ig, ne, pt, ro, ru, rw, th, ur, yo // green countries --> |
|||
| ar = po |
|||
| en = po |
|||
| es = po |
|||
| fr = po |
|||
| pt = po |
|||
| others = [http://wiki.laptop.org/go/Localization/Library/books_po ko] |
|||
}} |
|||
{{ OBX pot |
|||
| root = [[Localization/Library|wiki.laptop.org]] |
|||
| pot = http://wiki.laptop.org/go/Localization/Library/games_po |
|||
| name = games |
|||
| po-root= http://wiki.laptop.org/go/Localization/Library/games_ |
|||
<!-- explicit codes: am, ar, en, es, fr, ha, ig, ne, pt, ro, ru, rw, th, ur, yo // green countries --> |
|||
| en = po |
|||
| es = po |
|||
| pt = po |
|||
| others = [http://wiki.laptop.org/go/Localization/Library/games_po ko] |
|||
}} |
|||
{{ OBX team |[[user:sj|SJ Klein]], [[user:Eben|Eben]], [[user:Jacobolus|Jacobolus]]}} |
{{ OBX team |[[user:sj|SJ Klein]], [[user:Eben|Eben]], [[user:Jacobolus|Jacobolus]]}} |
||
<small>see more [[:Category:OBX templates|templates]] or [[OBX proposals|propose new]]</small> |
|||
{{Olpcboxbottom}} |
{{Olpcboxbottom}} |
||
== |
== A library of content == |
||
The home page of the [[Browse]] activity is titled "OLPC Library". |
|||
It displays an expandable navigation box that links to available '''content''' on the XO — textbooks, maps, images, music, etc. |
|||
'''Users''' can install new content on their XO by downloading a ''collection'' from the [[Collections]] page. |
|||
You can see the content bundles included in our latest build below (look for those marked as '''core'''). |
|||
A collection is just a compressed bundle of files with a <tt>.xol</tt> extension. |
|||
<!-- A sample online version of the latest library (including all previous bundles as well) is available online. --> |
|||
Downloading a new collection updates the library navigation in the browser's home page. |
|||
[[Creating a collection]] tells '''content providers''' how to package content materials into a collection that users or deployments can install on the XO. |
|||
Materials in the library should be formatted as [[Creating a content bundle|content bundles]] and added to the grid below. To nominate content bundles for the latest release, please add their details below and nominate them at [[Featured bundles]]. |
|||
[[File formats]] discusses some of the formats for library content that the XO supports. |
|||
[[Release notes/8.2.0|Release 8.2.0]] has a [[Software update]] control panel that can install and update ''activity groups'' that include content and activities, such as [[Activities/G1G1/8.2]]. |
|||
Anyone can make library materials and libraries for use on the laptop, and there will be different libraries for each country, but we make every effort to include as many featured bundles as we can in our core builds. See also the [[Library Release Notes]] for more. |
|||
Earlier "ship.2" releases (distributed with the [[G1G1 2007|2007 Give One, Get One]] laptops) included a default or "core" content library. |
|||
== Developers: How it works == |
|||
Library handling is called an "activity" but it was built-in to OLPC releases. I think it's the [[rpm]] package olpc-library-common. |
|||
See [[Creating a content bundle]] and [[Localization]] for ways to contribute new or translated materials to the library. |
|||
There is also a list of [[Contributors#Library contributors|contributors]]. |
|||
* Somehow when you download or run a .xol file from the Journal, Sugar's bundle/contentbundle.py code handles installing it, similar to when you install an activity. contentbundle.py's Install(): |
|||
== Library activity == |
|||
** unzips the .xol file to the user's library (~/Library) |
|||
The Library activity will be an activity for browsing books and media in Sugar. This should provide an intuitive way to search and browse through different kinds of text and media, including granular reference works, classical texts, image galleries, audio books, and videos. It should display rich information about highly collaborative materials, with ongoing updates, version #s, and dozens of authors. |
|||
** runs /usr/share/library-commonmake_index.py |
|||
* The [[rpm]] package olpc-library-common installed code in /usr/share/library-common. |
|||
The activity should make it easy to search for and request new materials for the library from outside sources (international digital libraries, regional or national repositories, the local mesh). It should provide a way to publish new material for others to access. And its infrastructure should allow users to change its layout and what kinds of data it displays. |
|||
/usr/share/library-common/make-index.py runs make_index.py, which: |
|||
** determines information (section in library, name, path) about all installed collections in ~olpc/Library (and the obsolete? /usr/share/activities) |
|||
** uses the "Jinja" templating engine and templates in /usr/share/library-common to build a new page including the information about installed collections |
|||
** writes a new index.html in |
|||
output_path = '/home/olpc/.library_pages' # old but kept around for upgrades |
|||
* The Browse activity source code (in webactivity.py) hardcodes loading |
|||
The initial Library activity is rolled into the browser -- the browser is planned to have a small icon that takes you back to your library from wherever you are, and browsing to leaf nodes of the library will take you away from library navigation elements. In the future these two activities may be separated. |
|||
_LIBRARY_PATH = '/usr/share/library-common/index.html' |
|||
this file is provided by the same olpc-library-common package. Its contents are simply hardcoded to be a meta-equiv redirect to file:///home/olpc/.library_pages/index.html |
|||
And thus, when the user starts Browse, she sees an OLPC Library home page that was re-generated by library-common/make_index.py to include the new collection. |
|||
== |
== A future library activity == |
||
=== |
=== Sugar Labs' status and plans === |
||
The Sugar Labs Sugar releases lacks the machinery to update library navigation in a browser page upon installing a bundle ({{SugarLabs Ticket|574}}). |
|||
Sugar Labs' plans for a [http://wiki.sugarlabs.org/go/Activities/Library Library activity] and [http://wiki.sugarlabs.org/go/Features/Content_support content support] are quite different to what is present in OLPC releases; it envisions presenting content in the Home view on an equal footing with activities. |
|||
=== OLPC's old plans === |
|||
See [[Dynamic library]] for future (possibly release [[9.1.0]]) plans. |
|||
In the future browsing the Web and browsing the library may be separated. |
|||
The Library activity will be an activity for browsing books and media in Sugar. This should provide an intuitive way to search and browse through different kinds of text and media, including granular reference works, classical texts, image galleries, audio books, and videos. It should display rich information about highly collaborative materials, with ongoing updates, version #s, and dozens of authors. |
|||
The activity should make it easy to search for and request new materials for the library from outside sources (international digital libraries, regional or national repositories, the local mesh). It should provide a way to publish new material for others to access. And its infrastructure should allow users to change its layout and what kinds of data it displays. |
|||
=== Initial purpose and goals (from 2007) === |
|||
==== An intuitive interface for finding media ==== |
|||
The Library should provide a layer of abstraction on top of the available reading, editing, and searching activities. It should offer a single place to look for information and media, though there may be separate text-readers, video-viewers, audio-players, and editors for each of these materials. |
The Library should provide a layer of abstraction on top of the available reading, editing, and searching activities. It should offer a single place to look for information and media, though there may be separate text-readers, video-viewers, audio-players, and editors for each of these materials. |
||
Line 97: | Line 63: | ||
Through the default interfaces, we can suggest some of the useful metadata that can be filtered up to the highest levels of indexing and browsing. |
Through the default interfaces, we can suggest some of the useful metadata that can be filtered up to the highest levels of indexing and browsing. |
||
== Initial targets == |
=== Initial targets === |
||
The simplest initial targets are a library of image-light books, in text or crossmark; a subset of these available as audiobooks; 5000 encyclopedia entries; 1000 dictionary terms, with words in 10 languages; a library of images, each with short metadata strings and sources; and a set of short videos. |
The simplest initial targets are a library of image-light books, in text or crossmark; a subset of these available as audiobooks; 5000 encyclopedia entries; 1000 dictionary terms, with words in 10 languages; a library of images, each with short metadata strings and sources; and a set of short videos. |
||
== Repositories == |
=== Repositories === |
||
Sources: http://dev.laptop.org/git/users/dsd/olpc-library/ |
|||
''for notes on an international library catalog for childrens materials, see [[Library catalog]]'' |
''for notes on an international library catalog for childrens materials, see [[Library catalog]]'' |
||
Latest revision as of 22:42, 14 June 2012
A library of content
The home page of the Browse activity is titled "OLPC Library". It displays an expandable navigation box that links to available content on the XO — textbooks, maps, images, music, etc.
Users can install new content on their XO by downloading a collection from the Collections page. A collection is just a compressed bundle of files with a .xol extension. Downloading a new collection updates the library navigation in the browser's home page.
Creating a collection tells content providers how to package content materials into a collection that users or deployments can install on the XO. File formats discusses some of the formats for library content that the XO supports.
Release 8.2.0 has a Software update control panel that can install and update activity groups that include content and activities, such as Activities/G1G1/8.2. Earlier "ship.2" releases (distributed with the 2007 Give One, Get One laptops) included a default or "core" content library.
Developers: How it works
Library handling is called an "activity" but it was built-in to OLPC releases. I think it's the rpm package olpc-library-common.
- Somehow when you download or run a .xol file from the Journal, Sugar's bundle/contentbundle.py code handles installing it, similar to when you install an activity. contentbundle.py's Install():
- unzips the .xol file to the user's library (~/Library)
- runs /usr/share/library-commonmake_index.py
- The rpm package olpc-library-common installed code in /usr/share/library-common.
/usr/share/library-common/make-index.py runs make_index.py, which:
- determines information (section in library, name, path) about all installed collections in ~olpc/Library (and the obsolete? /usr/share/activities)
- uses the "Jinja" templating engine and templates in /usr/share/library-common to build a new page including the information about installed collections
- writes a new index.html in
output_path = '/home/olpc/.library_pages' # old but kept around for upgrades
- The Browse activity source code (in webactivity.py) hardcodes loading
_LIBRARY_PATH = '/usr/share/library-common/index.html'
this file is provided by the same olpc-library-common package. Its contents are simply hardcoded to be a meta-equiv redirect to file:///home/olpc/.library_pages/index.html
And thus, when the user starts Browse, she sees an OLPC Library home page that was re-generated by library-common/make_index.py to include the new collection.
A future library activity
Sugar Labs' status and plans
The Sugar Labs Sugar releases lacks the machinery to update library navigation in a browser page upon installing a bundle (#574).
Sugar Labs' plans for a Library activity and content support are quite different to what is present in OLPC releases; it envisions presenting content in the Home view on an equal footing with activities.
OLPC's old plans
See Dynamic library for future (possibly release 9.1.0) plans. In the future browsing the Web and browsing the library may be separated.
The Library activity will be an activity for browsing books and media in Sugar. This should provide an intuitive way to search and browse through different kinds of text and media, including granular reference works, classical texts, image galleries, audio books, and videos. It should display rich information about highly collaborative materials, with ongoing updates, version #s, and dozens of authors.
The activity should make it easy to search for and request new materials for the library from outside sources (international digital libraries, regional or national repositories, the local mesh). It should provide a way to publish new material for others to access. And its infrastructure should allow users to change its layout and what kinds of data it displays.
Initial purpose and goals (from 2007)
An intuitive interface for finding media
The Library should provide a layer of abstraction on top of the available reading, editing, and searching activities. It should offer a single place to look for information and media, though there may be separate text-readers, video-viewers, audio-players, and editors for each of these materials.
Through the default interfaces, we can suggest some of the useful metadata that can be filtered up to the highest levels of indexing and browsing.
Initial targets
The simplest initial targets are a library of image-light books, in text or crossmark; a subset of these available as audiobooks; 5000 encyclopedia entries; 1000 dictionary terms, with words in 10 languages; a library of images, each with short metadata strings and sources; and a set of short videos.
Repositories
Sources: http://dev.laptop.org/git/users/dsd/olpc-library/
for notes on an international library catalog for childrens materials, see Library catalog
FEDORA (the repository backend, not the Linux distribution; see the 2003 trademark dispute for a cute story) is a good modular and scalable system for providing access to large collections of materials.
- Fedora appeals to me because it is a pure web service. OLPC could develop a very intuitive front-end for kids without compromising the back-end reliability and power. Here is an install guide I put together for a very basic install of fedora. I installed fedora on top of Ubuntu 7.04 Berrybw