Line 3: |
Line 3: |
| == Overview == | | == Overview == |
| | | |
− | The major goal of the Sugar Network is providing an infrastructure to let people sharing different kinds of content, e.g., Sugar Activities, artifacts created by Sugar Activities, books, etc. for friends, a class, parents, teachers, or Sugar Learners anywhere. | + | The major goal of the Sugar Network is to provide an infrastructure to let people share different types of content, e.g., Sugar Activities, artifacts created by Sugar Activities, books, etc. for friends, a class, parents, teachers, or Sugar Learners anywhere. |
| | | |
− | Functionality of Sugar Network is split into two parts:
| + | Sugar Network's functionality is split into two parts: |
| | | |
− | * Core functionality that covers low level needs to work with content ([[#Summary|described below]]); | + | * Core functionality, which covers low level needs to work with content ([[#Summary|described below]]); |
− | * Any amount of representation models that are based on core functionality and add high level scenarios to interact with the same content, e.g., gamification elements. Representation models are pluggable and optional. | + | * Any number of representation models for usage of content, which are based on core functionality and add high level scenarios to interact with the same content, e.g., gamification elements. Representation models are pluggable and optional. |
| | | |
| == Targeted audience == | | == Targeted audience == |
Line 15: |
Line 15: |
| |- valign="top" align="let" | | |- valign="top" align="let" |
| | [[File:Sugar-network-audience.png|350px]] | | | [[File:Sugar-network-audience.png|350px]] |
− | | The audience of Sugar Network might be different: | + | | The audience for Sugar Network is highly diverse: |
| | | |
− | * Students, might be different ages, depending on particular representation model; | + | * Students, which might be of different ages depending on a particular representation model or usage scenario; |
| * Educators who need to populate content for students and review what students uploaded to the Network; | | * Educators who need to populate content for students and review what students uploaded to the Network; |
| * Deployment supporters who need to provide technical and educational support; | | * Deployment supporters who need to provide technical and educational support; |
| * Software developers who will have a chance to get feedback directly from users. | | * Software developers who will have a chance to get feedback directly from users. |
| | | |
− | Particular persons might belong to several categories at the same time, e.g., be a content creator, a user of content created by different creators, review content uploaded by another people.
| + | Any individual person might belong to several categories at the same time, e.g., be a content creator, a user of content created by different creators, a reviewer of content uploaded by another people, etc. |
| |} | | |} |
| | | |
Line 38: |
Line 38: |
| == Needs == | | == Needs == |
| | | |
− | The needs that the Sugar Network is trying to support. They might be described by the following selection of [[Wikipedia:Fundamental_human_needs|Fundamental human needs]]: | + | The needs that the Sugar Network is trying to support might be described by the following selection of [[Wikipedia:Fundamental_human_needs|Fundamental human needs]]: |
| | | |
| '''Identity''' | | '''Identity''' |
Line 99: |
Line 99: |
| === Questions === | | === Questions === |
| | | |
− | General question about the Context. A user-friendly interface for asking questions about the current Context. The workflow is much simpler when compared to typical bug trackers (Trac, RT, etc.). It is intended to be more like "forums" or wiki "discussion" pages—just ask your question and wait for answers. In some cases, Questions might be treated as a kind of simple [[Wikipedia:Knowledge base|knowledge base]] for the Context (in contrast to bug trackers, Questions are not closed after answers are provided). The most useful Questions might be picked up to compose the [[Wikipedia:FAQ|FAQ]] for the Context. | + | General question about the Context. A user-friendly interface for asking questions about the current Context. The workflow is much simpler when compared to typical bug trackers (Trac, RT, etc.). It is intended to be more like "forums" or wiki "discussion" pages—just ask your question and wait for answers. In some cases, Questions might be treated as a kind of simple [[Wikipedia:Knowledge base|knowledge base]] for the Context (in contrast to bug trackers, Questions are not closed after answers are provided). The most useful Questions might be picked up to compose the [[Wikipedia:FAQ|FAQ]] for the Context. |
| | | |
− | Other of non-developer needs are covered by [[#Ideas|Ideas]] and [[#Problems|Problems]]. Developer needs are covered by the [[#Objectives|Objectives]] and its advanced view in particular. | + | Other non-developer needs are covered by [[#Ideas|Ideas]] and [[#Problems|Problems]]. Developer needs are covered by the [[#Objectives|Objectives]] and its advanced view, in particular. |
| | | |
| Actions: | | Actions: |
Line 108: |
Line 108: |
| :* Discuss the Question; | | :* Discuss the Question; |
| :* Vote for the Question; | | :* Vote for the Question; |
− | :* Create a Solution; | + | :* Create an Answer; |
− | :* Discuss a Solution; | + | :* Discuss an Answer; |
− | :* Vote for a single Solution; | + | :* Vote for a single Answer; |
− | :* Vote given by Question creator means an answer for the Question. | + | :* Vote given by the Question creator means an Answer for the Question. |
| | | |
| === Ideas === | | === Ideas === |
| | | |
− | Any ideas regarding the Context. A user-friendly interface to propose your idea to the current Context developers. The workflow is much simpler, compared to typical bug trackers, just offer your suggestion, see how other people will rate it, and wait for an implementation. | + | Any ideas regarding the Context. A user-friendly interface to propose your idea to the current Context developers. The workflow is much simpler, compared to typical bug trackers—just offer your suggestion, see how other people will rate it, and wait for an implementation. |
| | | |
| Actions: | | Actions: |
Line 122: |
Line 122: |
| :* Discuss the Idea; | | :* Discuss the Idea; |
| :* Vote for the Idea; | | :* Vote for the Idea; |
− | :* Create a Solution; | + | :* Create a Solution, a possible Implementation, Answer, or other Resource; |
| :* Discuss a Solution; | | :* Discuss a Solution; |
| :* Vote for Solutions; | | :* Vote for Solutions; |
− | :* Context team member attaches one of Objectives to one of Solutions, the Idea's status becomes the same as Objective's. | + | :* A Context team member designates one possible Solution to one Objective, the Idea's status becomes the same as the Objective's. |
| | | |
| === Problems === | | === Problems === |
Line 136: |
Line 136: |
| :* Discuss the Problem; | | :* Discuss the Problem; |
| :* Vote for the Problem; | | :* Vote for the Problem; |
− | :* Create Solution; | + | :* Create Solution (proposed fix); |
| :* Discuss a Solution; | | :* Discuss a Solution; |
− | :* Attach one of Releases as a Solution; | + | :* Designate a Release as a possible Solution; |
| :* Vote for a single Solution; | | :* Vote for a single Solution; |
− | :* Vote given by Problem creator means a fix for the Problem. | + | :* Vote given by the Problem creator means a fix for the Problem. |
| | | |
| === Wiki === | | === Wiki === |
Line 156: |
Line 156: |
| | | |
| :* Modify existing page; | | :* Modify existing page; |
− | :* View the history of modifying. | + | :* View the history of modifications. |
| | | |
| === Artifact === | | === Artifact === |
| | | |
− | A collection of binary objects, of types depending on Context type, associated the the Context. Such artifacts might be, for example, Journal objects created by Sugar activities. | + | A collection of binary objects, of types depending on Context type, associated the the Context. Such artifacts might be, for example, Journal objects created by Sugar Activities. |
| | | |
| Actions: | | Actions: |
Line 170: |
Line 170: |
| Todo: | | Todo: |
| | | |
− | :* Simplify creation of a new Exhibit by having a UI way to quickly share a newly created activity object, e.g., from within the Naming alert or from the Journal. | + | :* Simplify creation of a new Exhibit by having a UI way to quickly share a newly created Activity object, e.g., from within the Naming alert or from the Journal. |
| | | |
| === Implementation === | | === Implementation === |
| | | |
− | For software Contexts, this Resource is about released versions of this Context software. This is exactly what a User can execute. There might be several implementations with different stability levels. By default, Users execute only the most recent stable version, but it is possible to choose any version. | + | For software Contexts, this Resource is about released versions of this Context software. This is exactly what a User can execute in their instance of Sugar. There might be several implementations with different stability levels. By default, Users execute only the most recent stable version; but it is possible to choose any version. |
| | | |
| Actions: | | Actions: |
Line 185: |
Line 185: |
| Todo: | | Todo: |
| | | |
− | :* Support Experiments workflow where people can make a copy of an existing Context and start experimenting with the code and use it on a regular basis, e.g., share with the rest of Sugar Network. | + | :* Support an ''Experiments'' workflow where people can make a copy of an existing Context and start experimenting with the code and use it on a regular basis, e.g., share it in the Sugar Network. |
− | :* Convenient method to attach log reports with errors to the particular Release, e.g., "Share the log" button on activity fail dialog. | + | :* Provide a convenient method to attach log reports with errors to the particular Release, e.g., "Share the log" button on the Activity fail dialog. |
| | | |
| === Objectives === | | === Objectives === |
| | | |
− | These are the exact objectives that a Context is trying to achieve. This type of Resources has two faces: | + | These are the exact objectives that a Context is trying to achieve. This type of Resource has two faces: |
| | | |
− | * The view for Users that are not the part of Context implementers, they see this Resource as a list of, e.g., features that the Context is trying to provide; | + | * The view for Users that are not in the role of Context implementer, who will see this Resource, e.g., as a set of features that the Context is trying to provide; |
| * The fully functional project management interface for people who are owners of the Context and take care of its implementation. | | * The fully functional project management interface for people who are owners of the Context and take care of its implementation. |
| | | |
| Actions: | | Actions: |
| | | |
− | :* Create by Context owners; | + | :* Create - by Context owners; |
| :* Discuss the Objective; | | :* Discuss the Objective; |
| :* Vote for the Objective; | | :* Vote for the Objective; |
Line 207: |
Line 207: |
| == Comments == | | == Comments == |
| | | |
− | All kinds of resources might be [[#Participation|commented on by any users]]. The Sugar Network does not provide any restrictions or permissions, the model is [[#Freedom|leaving responsibility to a viewer]]. | + | All kinds of resources might be [[#Participation|commented on by any user]]. The Sugar Network does not provide any restrictions or permissions, the model is [[#Freedom|one of leaving responsibility to the viewer]]. |
| | | |
| == Events == | | == Events == |
| | | |
− | If some Resource has been changed, e.g., as a result of User interaction, the Resource sends out global notifications. The notification might be seen while investigating this particular object or by Following this Resource. In the last case, events will go to followers' queue of global events. | + | If some Resource has been changed, e.g., as a result of User interaction, the Resource sends out global notifications. The notification might be seen while investigating this particular object or by Following this Resource, in which case, events will go to a followers' queue of global events. |
| | | |
| Events might be personal, e.g., personal invitations or personal messages. | | Events might be personal, e.g., personal invitations or personal messages. |
Line 217: |
Line 217: |
| == Workflows == | | == Workflows == |
| | | |
− | These are kinds of workflows that [[#Roles|Roles]] can take part in. The particular activity might involve several Users and several Roles. | + | These are types of workflows that [[#Roles|Roles]] can take part in. The particular activity might involve several Users and several Roles. |
| | | |
| == Roles == | | == Roles == |
Line 228: |
Line 228: |
| :* Go to Browser and click Home Context button; | | :* Go to Browser and click Home Context button; |
| :* Try to search if your problem was already reported using text search string or tags; | | :* Try to search if your problem was already reported using text search string or tags; |
− | :* If search is not successful, describe your problem in Problem (as well for Questions and Ideas) entry widget as fully as possible; | + | :* If search is not successful, describe your problem in a Problem entry widget as fully as possible (same as for Questions and Ideas); |
| :* The supporters will be notified and will reply with a request for further information, or with an answer; | | :* The supporters will be notified and will reply with a request for further information, or with an answer; |
| :* On the Network screen, you will be notified about a submitted reply. | | :* On the Network screen, you will be notified about a submitted reply. |
Line 235: |
Line 235: |
| | | |
| :* You need to be a part of a community with local support, thus, you will have a default place to complain, the Home Context; | | :* You need to be a part of a community with local support, thus, you will have a default place to complain, the Home Context; |
− | :* Since there is not any ideas about what part of the system is affected, thus, there is no way to decide against which Context to complain, go to Browser and click Home Context button; | + | :* Since you have no any idea about what part of the system is affected, there is no way to decide against which Context to complain, go to Browser and click Home Context button; |
| :* Try to search if your problem was already reported using a text search string or tags; | | :* Try to search if your problem was already reported using a text search string or tags; |
− | :* If the search is not successful, describe your problem in a Problem entry widget (as for Questions and Ideas) as fully as possible; | + | :* If the search is not successful, describe your problem in a Problem entry widget as fully as possible (as for Questions and Ideas); |
| :* The supporters will be notified and will reply with a request for further information, or with an answer; | | :* The supporters will be notified and will reply with a request for further information, or with an answer; |
| :* On the Network screen, you will be notified about a submitted reply. | | :* On the Network screen, you will be notified about a submitted reply. |
Line 245: |
Line 245: |
| :* Go to the Browser and try to find the Context that is associated with the problem part; use Tags and full text search; after finding it, click its Home button; | | :* Go to the Browser and try to find the Context that is associated with the problem part; use Tags and full text search; after finding it, click its Home button; |
| :* Search to see if your problem has already been reported using text search string or tags; | | :* Search to see if your problem has already been reported using text search string or tags; |
− | :* If the search is not successful, describe your problem in Problem entry widget (as for Questions and Ideas) as fully as possible; | + | :* If the search is not successful, describe your problem in Problem entry widget as fully as possible (as for Questions and Ideas); |
| :* Any Context Contributor can reply with a request for further information, or with an answer; | | :* Any Context Contributor can reply with a request for further information, or with an answer; |
| :* On the Network screen, you will be notified about a submitted reply. | | :* On the Network screen, you will be notified about a submitted reply. |
Line 255: |
Line 255: |
| :* Teachers/students can always get these materials by going to the Home Context and clicking Wiki. | | :* Teachers/students can always get these materials by going to the Home Context and clicking Wiki. |
| | | |
− | Suppose a Sugar activity fails to start or fails on exit. | + | Suppose a Sugar Activity fails to start or fails on exit. |
| | | |
| :* The activity fail dialog should have a complaint field. Describe your problem there as fully as possible; | | :* The activity fail dialog should have a complaint field. Describe your problem there as fully as possible; |
Line 277: |
Line 277: |
| :* The Journal should have a way to share any object with one click. | | :* The Journal should have a way to share any object with one click. |
| | | |
− | === Sugar activities === | + | === Sugar Activities === |
| | | |
− | Fast launch of an activity. | + | Fast launch of an Activity. |
| | | |
− | :* Go to the Browser and explore the activity you want to start, maybe using the ''Activity'' Tag or full-text search; | + | :* Go to the Browser and explore the Activity you want to start, maybe using the ''Activity'' Tag or full-text search; |
| :* Click found entity. | | :* Click found entity. |
| | | |
− | Launch particular activity version, e.g., to help with testing non-stable version or fallback to previous one because the recent version doesn't work for you. | + | Launch a particular Activity version, e.g., to help with testing a non-stable version or revert to a previous one because the most recent version doesn't work for you. |
| | | |
− | :* Go to the Browser and explore the activity you want to start, maybe using the ''Activity'' Tag or full-text search; | + | :* Go to the Browser and explore the Activity you want to start, maybe using the ''Activity'' Tag or full-text search; |
| :* Click Home button for a found entity; | | :* Click Home button for a found entity; |
− | :* You should find the list of Releases with the recent stable Release chosen, select any version you want; | + | :* You should find the list of Releases with the most recent stable Release chosen, select any version you want; |
| :* Click the Launch button, or run it from the Browser, to run a newly selected Release. | | :* Click the Launch button, or run it from the Browser, to run a newly selected Release. |
| | | |
Line 298: |
Line 298: |
| | | |
| :* Go to the Browser and explore the Context you want to work on at home; | | :* Go to the Browser and explore the Context you want to work on at home; |
− | :* Pick up, select, collect these Contexts (depends on implementation); | + | :* Pick up, select, collect these Contexts (depending on implementation); |
− | :* Once at home where a Network is not accessible, you will see all chosen Contexts in the Browser; | + | :* Once at home, where a Network is not accessible, you will see all chosen Contexts in the Browser; |
− | :* A limited functionality (depends on implementation) will be supported for these Contexts. | + | :* A limited functionality (depending on implementation) will be supported for these Contexts. |
| | | |
| === Teaching === | | === Teaching === |
Line 310: |
Line 310: |
| Fork me. | | Fork me. |
| | | |
− | :* Go to the Browser and explore the activity you want to start, maybe using the ''Activity'' Tag or full-text search; | + | :* Go to the Browser and explore the Activity you want to start, maybe using the ''Activity'' Tag or full-text search; |
| :* Click Home button for the found entity; | | :* Click Home button for the found entity; |
| :* ''TODO'' | | :* ''TODO'' |