Activities/Library

From Sugar Labs
Jump to navigation Jump to search

Purposes

Cornerstone ideas:

  • implement Unified Objects proposal to have unified method to create, reuse and share all Objects in Sugar
  • work with remote Sugar Objects in the same way like with local
  • make this activity Sucrose version independent(0.82+)

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

  • by activity_id if it exists
  • by activity for activities/bundles

are represented in Library by one collapsed item.

Every Library object could include:

  • manually included Journal objects
  • auto included Journal objects
    • by MIME type
    • new version of object, if object was already included
  • all Journal objects

Tags

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

Objective tags

Will be set by activity itself after including new Object.

  • creator for activities
  • creation for objects that were generated by activity(activity_id field is not empty)
  • unbind for Journal objects w/o activity_id field
  • local objects are stored in Journal
  • remote link to remote object
Subjective tags

Will be set by activity authors or users

  • activity required and mutually exclusive for content
  • content required and mutually exclusive for activity
  • endless quantity of users tags
Composite tags

User tags could consist of several child tags to represent tree of users tags.
See #.

Properties

Every object can have:

  • summary short explanation (from Journal by default)
  • description longer explanation (by default from Journal)
  • icon of object (from Journal by default)
  • screenshot of object (from Journal by default)
  • rank

Remote Objects

Room/Lesson mode

UI