Activities/Library: Difference between revisions

 
(27 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<noinclude>{{ GoogleTrans-en | es =show | bg =show | zh-CN =show | zh-TW =show | hr =show | cs =show | da =show | nl =show | fi =show | fr =show | de =show | el =show | hi =show | it =show | ja =show | ko =show | no =show | pl =show | pt =show | ro =show | ru =show | sv =show }}{{TOCright}}
<noinclude>{{GoogleTrans-en}}{{TOCright}}
[[Category:Activities|Library]]</noinclude>
 
----
'''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 [http://thread.gmane.org/gmane.comp.education.sugar.discuss/2586 iaep@ mailing list thread].
 
= Related ideas =
 
* [http://wiki.laptop.org/go/Journal%2C_reloaded Journal, reloaded]
* [[Design_Team/Designs/Journal#01|Journal mockups]]
* [[Unified Bundles]]
* [[User:Alsroot/trash/Unified Objects | Unified Objects]]
* ...


= Purposes =
= Purposes =


Cornerstone ideas:
Cornerstone ideas:
* implement [[Unified Objects]] proposal to have unified method to create, reuse and share ''all'' Objects in Sugar
* implement [[User:Alsroot/trash/Unified Objects | 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''
* work with ''remote'' Sugar Objects in the same way like with ''local''
* make this activity Sucrose version independent(0.82+)
* make this activity Sucrose version independent (0.82+)


= Objects model =
= Objects model =
Line 36: Line 53:


* ''creator'' for activities
* ''creator'' for activities
* ''creation'' for objects that were generated by activity(''activity_id'' field is not empty)
* ''creation'' for objects that were generated by activity (''activity_id'' field is not empty)
* ''unbind'' for Journal objects w/o ''activity_id'' field
* ''unbind'' for Journal objects w/o ''activity_id'' field
* ''local'' objects are stored in Journal
* ''local'' objects are stored in Journal
* ''remote'' object from online ''source'' (only for current session)
* ''remote'' object from online ''source'' (only for current session)
=== Properties based tags ===
* tags values parsed from object's properties


=== Subjective tags ===
=== Subjective tags ===
Line 91: Line 112:
** ''local objects'' that were created on local system
** ''local objects'' that were created on local system
** ''local objects'' that were downloaded from remote ''source''<br>user can sync them with original remote objects
** ''local objects'' that were downloaded from remote ''source''<br>user can sync them with original remote objects
* ''remote objects'' stored in the Journal of other(online) users
* ''remote objects'' stored in the Journal of other (online) users


=== Sources ===
=== Sources ===


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


* ''local objects'' stored in local Journal
* ''local objects'' stored in local Journal
* ''Sugar users'' joined(if they are online) to this Library session
* ''Sugar users'' joined (if they are online) to this Library session
* (?) ''activities.sugarlabs.org''
* (?) ''activities.sugarlabs.org''
* (?) ''various sources'' that are provided by proper backend, for example books from gutenberg.org
* (?) ''various sources'' that are provided by proper backend, for example books from gutenberg.org


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.
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 ===
=== Synchronize/Upgrade objects ===
Line 127: Line 148:
* ''download'' remote object, if current object is from remote ''source'' and wasn't downloaded previously
* ''download'' remote object, if current object is from remote ''source'' and wasn't downloaded previously
* ''sync'' current object with remote one, if current object was originally downloaded from remote ''source''
* ''sync'' current object with remote one, if current object was originally downloaded from remote ''source''
* ''delete'' object from local system(i.e. from the Journal), if current object was originally downloaded from remote ''source'' it would turn to "un-downloaded" state
* ''delete'' object from local system (i.e., from the Journal), if current object was originally downloaded from remote ''source'' it would turn to "un-downloaded" state


=== Tags sidebar ===
=== Tags sidebar ===
Line 136: Line 157:
* ''related tags''
* ''related tags''
** cloud of ''related tags''
** cloud of ''related tags''
** tree(made by ''composite tags'') of ''related tags''
** tree (made by ''composite tags'') of ''related tags''
* without any tags i.e. all objects


After proper ''tag'' was chosen:
After proper ''tag'' was chosen:
Line 142: Line 164:
# ''related tags'' would reflect on the final list of objects
# ''related tags'' would reflect on the final list of objects
# ''objects list'' would contain the final list of objects
# ''objects list'' would contain the final list of objects
User can choose what kinds of tags it should contain:
* ''objective tags''
* ''properties based tags''
* ''subjective tags''


=== Sources sidebar ===
=== Sources sidebar ===
Line 147: Line 174:
It filters objects for ''tags sidebar''
It filters objects for ''tags sidebar''


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


Line 153: Line 180:


[[Image:library.svg|200px]]
[[Image:library.svg|200px]]
[[Image:-1.png|200px]]
[[Image:-2.png|200px]]
[[Image:-3.png|200px]]
[[Image:-4.png|200px]]


= Usage scenarios =
= Usage scenarios =
Line 162: Line 193:
# ''B'' browses ''A''s ''local'' objects
# ''B'' browses ''A''s ''local'' objects
# ''B'' can download particular/all ''A'''s ''local'' objects
# ''B'' can download particular/all ''A'''s ''local'' objects
# ''B'' can merge ''A'''s ''local'' objects to the objects list(only for current session)
# ''B'' can merge ''A'''s ''local'' objects to the objects list (only for current session)
# during the next online session ''B'' can synchronize previously downloaded objects
# during the next online session ''B'' can synchronize previously downloaded objects


Line 179: Line 210:
# make these activities auto-updated
# make these activities auto-updated
# add rule to include to this "Activities" object all activities
# add rule to include to this "Activities" object all activities
# treats created Library object like a regular Home view i.e. use it to run all(preinstalled and downloaded) activities
# treats created Library object like a regular Home view i.e. use it to run all (preinstalled and downloaded) activities
# "auto-updated" should mean that downloaded activities will be up-to-date(in some way) when "Activities" object is run
# "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 ===
=== Publish objects on non-Sugar sources ===
Line 201: Line 232:


= Going further =
= Going further =
=== Integration with Sugar components ===
* downloaded files by Browse activity
=== Simplify UI usage ===
* several levels of UI complexity
* presets with different sets of UI components


=== Various non-sugar ''sources'' ===
=== Various non-sugar ''sources'' ===
Line 224: Line 264:
! Real date
! Real date
|-
|-
| Local version
| Local version<br>v1
| 2009-05-12
| 2009-05-12
|
| 2009-05-29
|-
|-
| Remote version(Sugar users as an objects source)<br>v1 release
| Remote version(Sugar users as an objects source)
| 2009-05-19
| 2009-05-19
|  
|  
|-
|-
| Publish objects on activities.sugarlabs.org<br>v2 release
| Publish objects on activities.sugarlabs.org
| 2009-05-26
| 2009-05-26
|
|
|-
|-
| Provide [[#Keep activities up-to-date]] scenario for LTSP<br>v3 release
| Provide [[#Keep activities up-to-date]] scenario for LTSP
|
|
|
|
|-
|-
| Provide [[#Keep activities up-to-date]] scenario for intranet library portal<br>v4 release
| Provide [[#Keep activities up-to-date]] scenario for intranet library portal
|
|
|
|
|-}
|-
|}
 
== Activity Library ==
 
See also [[Activities/Activity Library]].
 
= Resources =


[[Category:Activities]]
* [http://git.sugarlabs.org/projects/library Sources]
* [http://activities.sugarlabs.org/en-US/sugar/addon/4089 Activity Library page]