Activities/Library

From Sugar Labs

Jump to: navigation, search

Contents


NOTE: Core functionality of Library was moved to Features/Unified Browser for Objects, since now Library will be implemented in plugin form (as a separate activity).


Thanks to

Library activity idea was inspired by iaep@ mailing list thread.

Related ideas

Purposes

Cornerstone ideas:

Objects model

How it looks like from top-level point of view.

Everything is an object

So, journal objects, activities/activity-bundles, content/content-bundles are the same level objects.

All object versions

are represented in Library by one collapsed item.

Every Library object could include:

Tags

Every Library object have finite quantity of predefined tags and infinite quantity of users tags.

Objective tags

Will be set by Library activity itself after including new Object.

Properties based tags

Subjective tags

Will be set by objects authors or users

Composite tags

User tags could be composite.

If we have:

On the top level in cloud view in tags sidebar we have:

After choosing books tag in cloud view in tags sidebar:

Properties

Every object can have:

By default, some properties could be filled from Journal fields or from object itself (like .ogg properties).

Sharing

How users can share their objects.

Type of objects

Library user could operate with two kinds of objects:

Sources

Every Library object has list of known (not necessarily online) sources of objects:

If source is online user can browse his objects (in separate way or merging them to the main set of objects) and download or download+start them.

Synchronize/Upgrade objects

User can manually/auto synchronize local versions with remote versions from online sources.

UI

Core UI components.

Objects list

The list of objects which represents result of chosen tags.

Modes:

User have several options for list items:

Tags sidebar

It filters objects for objects list.

After proper tag was chosen:

  1. selected tag' would be added to chosen tags list
  2. related tags would reflect on the final list of objects
  3. objects list would contain the final list of objects

User can choose what kinds of tags it should contain:

Sources sidebar

It filters objects for tags sidebar

List of known (not necessarily online) sources of objects.
User can select proper item to view objects only for this source.

Mockup

Library.svg -1.png -2.png -3.png -4.png

Usage scenarios

Share objects between Sugar users

  1. user A creates/fills his Library object and shares it
  2. user B joins A's Library session
  3. B browses As local objects
  4. B can download particular/all A's local objects
  5. B can merge A's local objects to the objects list (only for current session)
  6. during the next online session B can synchronize previously downloaded objects

(?) Download objects from non-Sugar sources

  1. user selects proper non-sugar source in the sources list, for example activities.sugarlabs.org or gutenberg.org
  2. makes it online
  3. user browses remote objects
  4. user can download particular/all remote objects
  5. user can merge remote objects to the objects list(only for current session)

Keep activities up-to-date

  1. user creates "Activities" Library object
  2. downloads activities from proper source
  3. make these activities auto-updated
  4. add rule to include to this "Activities" object all activities
  5. treats created Library object like a regular Home view i.e. use it to run all (preinstalled and downloaded) activities
  6. "auto-updated" should mean that downloaded activities will be up-to-date (in some way) when "Activities" object is run

Publish objects on non-Sugar sources

  1. selects object to publish in object list
  2. click "publish" button

Implementation

Implementation details.

Database model

Library follows simple rules:

Going further

Integration with Sugar components

Simplify UI usage

Various non-sugar sources

Room/Lesson mode

At the first approach it could look like:

  1. teacher prepares one or several Library objects for future lesson
  2. during the lesson teacher shares proper Library object for all students
  3. teacher could observe if all students were joined to proper Library object, to proper object inside of Library object

So, this mode should contain mini-neighbourhood view for Library object's items.

Roadmap

Task Planned date Real date
Local version
v1
2009-05-12 2009-05-29
Remote version(Sugar users as an objects source) 2009-05-19
Publish objects on activities.sugarlabs.org 2009-05-26
Provide #Keep activities up-to-date scenario for LTSP
Provide #Keep activities up-to-date scenario for intranet library portal

Activity Library

See also Activities/Activity Library.

Resources

Personal tools
Namespaces
Variants
Actions
Sugar
Projects
Teams
Local Labs
Using the Wiki
Google translations