Difference between revisions of "Features/Problem Reports"

From Sugar Labs
Jump to navigation Jump to search
(Created page with '<noinclude>{{GoogleTrans-en}}{{TOCright}}</noinclude> '''Comments and Explanations:''' There are comments (in italic) providing guidance to fill out each section, see also [[Fe…')
 
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<noinclude>{{GoogleTrans-en}}{{TOCright}}</noinclude>
+
<noinclude>{{GoogleTrans-en}}{{TOCright}}
 +
[[Category:Feature Page Incomplete]]
 +
[[Category:Feature|Problem Reports]]</noinclude>
 +
 
 +
== Summary ==
 +
The "Report a problem" control panel provides a way for the user to report issues with the Sugar shell and activities.  The control panel uploads system information and logs, along with the user's description of the problem.
  
'''Comments and Explanations:'''
+
== Owner ==
 +
* Name: [[User:Wade|Wade Brainerd]]
 +
* Email: wadetb@gmail.com
  
There are comments (in italic) providing guidance to fill out each section, see also [[Features/Policy]]. '''Copy the source to a ''new page'' named Features/''Your Feature Name'' before making changes!  DO NOT EDIT THIS TEMPLATE.'''
+
== Current status ==
 +
* Targeted release: 0.88
 +
* Last updated: October 16th, 2009
 +
* Percentage of completion: 90%
  
<!-- All fields on this form are required to be accepted.
+
== Detailed Description ==
  We also request that you maintain the same order of sections so that all of the feature pages are uniform-->
+
A new control panel will be added, titled "Report a problem".  This panel contains a description box and an Upload report buttonWhen the button is pressed, the description and system logs are uploaded to a central Sugar Labs server.   
  
<!-- The actual name of your feature page should look something like: Features/Your Feature NameThis keeps all features in the same namespace -->
+
The central server logs the problem reports in a database and stores a copy of the logs.  It also analyzes the logs for specific errors (such as Python Tracebacks)When a problem report is added, the server sends an email out to a mailing list of developers and interested parties.
 +
 
 +
When a problem is detected in an Activity, such as failure to launch, Sugar will offer a "Report problem" button which takes the user directly to the control panel.
 +
 
 +
After uploading, the user is given a Report ID number (a small decimal number).  They can use this if they wish to follow up with the Sugar developers by email.
  
== Summary ==
 
''A sentence or two summarizing what this feature is and what it will do. This information is used for the overall feature summary page for each release.''
 
  
== Owner ==
+
==== For Deployments ====
''This should link to your home wiki page so we know who you are''
+
Deployments can set up their own log collection server, if desired.  All that is required is a web server with PHP and sqlite. 
* Name: [[User:AcountName| Your Name]]
 
  
''Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or technical issues need to be resolved''
+
The URL of the log server is configured using a GConf key and can be customized per deployment.
* Email: <your email address so we can contact you, invite you to meetings, etc.>
 
  
== Current status ==
+
It's important to understand that this system is intended to be as automated as possible, so deployments should not expect to have a staff of support personnel monitoring problem reports, but can instead use them to get a general sense of what problems are most common.
* Targeted release: (SUGAR_VERSION)
 
* Last updated: (DATE)
 
* Percentage of completion: XX%
 
  
== Detailed Description ==
+
[[File:Problem-report.jpg]]
''Expand on the summary, if appropriate. A couple sentences suffices to explain the goal, but the more details you can provide the better.''
 
  
 
== Benefit to Sugar ==
 
== Benefit to Sugar ==
''What is the benefit to the platform? If this is a major capability update, what has changed? If this is a new feature, what capabilities does it bring? Why will Sugar become a better platform or project because of this feature?''
+
Currently there is no mechanism for non-technical users to submit problem reports.  In order to inform the Sugar or Activity developers of a problem, a user has two options:
 +
 
 +
* Create a Trac account and enter a bug.
 +
* Write an email to sugar-devel@lists.sugarlabs.org.
 +
 
 +
The first option is time consuming and requires the user to fill in confusing fields such as Component and Version manually. The second option requires the user to have an email account, and the report is not logged anywhere. Neither option is convenient or provides relevant details about the problem.
 +
 
 +
The new control panel offers a way for casual users to report problems encountered in Sugar.  It also supplies a high level of detail about the problem to the developers.
 +
 
 +
The reason problem reports are not added directly to Trac is that we don't want to spam the database with spurious reports.  Problem reports are intended to be triaged by subscribers to the mailing list, and then either bugged or noted on an existing ticket.
  
 
== Scope ==
 
== Scope ==
''What work do the developers have to accomplish to complete the feature in time for releaseIs it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?''
+
A prototype of the control panel and server have been finished and posted to [http://trac.sugarlabs.org/ticket/1439 #1439] as patches.
 +
 
 +
The collection server is currently running at logcollect.sugarlabs.org.  Logs are emailed out to the sugar-reports@lists.sugarlabs.org mailing list.
 +
 
 +
Work left to do:
 +
* <strike>The control panel needs a SVG icon.</strike> [[File:Toolbar-bug.png]]
 +
* When an activity exits, if its log contains an exception report, Sugar should offer to report the problem.  When an activity fails to launch, Sugar should display an error on the launch window and offer to report the problem instead of timing out.
 +
* <strike>The server needs to be installed on the SugarLabs infrastructure and the reports mailing list needs to be created (sugar-reports@lists.sugarlabs.org?).</strike> The server is now live at logcollect.sugarlabs.org. The mailing list sugar-reports@lists.sugarlabs.org now exists.
 +
* <strike>For deployments, there should be a way to override the server URL.</strike> The server URL now comes from Gconf.
 +
* <strike>The Log activity needs to have its Upload Logs button replaced by a button that opens the control panel.</strike> Most likely we will remove the button from Log, but patches for both options have been posted to the ticket.
  
 
== How To Test ==
 
== How To Test ==
 
{{:{{PAGENAME}}/Testing}}
 
{{:{{PAGENAME}}/Testing}}
 +
 
== User Experience ==
 
== User Experience ==
''If this feature is noticeable by its target audience, how will their experiences change as a result? Describe what they will see or notice.''
+
The user will notice a new control panel. When an activity fails to launch or otherwise suffers an exception, the user will be offered an opportunity to report the problem.
  
 
== Dependencies ==
 
== Dependencies ==
''What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this feature depends?  In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like python?''
+
None
  
 
== Contingency Plan ==
 
== Contingency Plan ==
''If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "None necessary, revert to previous release behaviour." Or it might not.  If you feature is not completed in time we want to assure others that other parts of Sugar will not be in jeopardy.''
+
Nothing depends on this feature.  If it's not ready in time it can simply be omitted.
  
 
== Documentation ==
 
== Documentation ==
''Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved.''
+
Ideally this feature would be documented as part of the FLOSS manual.
 +
 
 +
Also, instructions for deploying the log server and configuring the URL via gconf should be documented on the Wiki.
  
 
== Release Notes ==
 
== Release Notes ==
''The Sugar Release Notes inform end-users about what is new in the release. An Example is [[0.84/Notes]]. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the release team and shipped with the release.''
+
A mention of how to customize the server URL would be useful.
  
 
== Comments and Discussion ==
 
== Comments and Discussion ==
* See [[{{TALKPAGENAME}}|discussion tab for this feature]] <!-- This adds a link to the "discussion" tab associated with your page.  This provides the ability to have ongoing comments or conversation without bogging down the main feature page -->
+
* See [[{{TALKPAGENAME}}|discussion tab for this feature]]  
  
 
[[Category:Feature Page Incomplete]]
 
[[Category:Feature]]
 
 
----
 
----
 
''You can add categories to tie features back to real deployments/schools requesting them, for example <nowiki>[[</nowiki>Category:Features requested by School Xyz]]''
 
''You can add categories to tie features back to real deployments/schools requesting them, for example <nowiki>[[</nowiki>Category:Features requested by School Xyz]]''

Latest revision as of 09:23, 20 December 2009

Summary

The "Report a problem" control panel provides a way for the user to report issues with the Sugar shell and activities. The control panel uploads system information and logs, along with the user's description of the problem.

Owner

Current status

  • Targeted release: 0.88
  • Last updated: October 16th, 2009
  • Percentage of completion: 90%

Detailed Description

A new control panel will be added, titled "Report a problem". This panel contains a description box and an Upload report button. When the button is pressed, the description and system logs are uploaded to a central Sugar Labs server.

The central server logs the problem reports in a database and stores a copy of the logs. It also analyzes the logs for specific errors (such as Python Tracebacks). When a problem report is added, the server sends an email out to a mailing list of developers and interested parties.

When a problem is detected in an Activity, such as failure to launch, Sugar will offer a "Report problem" button which takes the user directly to the control panel.

After uploading, the user is given a Report ID number (a small decimal number). They can use this if they wish to follow up with the Sugar developers by email.


For Deployments

Deployments can set up their own log collection server, if desired. All that is required is a web server with PHP and sqlite.

The URL of the log server is configured using a GConf key and can be customized per deployment.

It's important to understand that this system is intended to be as automated as possible, so deployments should not expect to have a staff of support personnel monitoring problem reports, but can instead use them to get a general sense of what problems are most common.

Problem-report.jpg

Benefit to Sugar

Currently there is no mechanism for non-technical users to submit problem reports. In order to inform the Sugar or Activity developers of a problem, a user has two options:

  • Create a Trac account and enter a bug.
  • Write an email to sugar-devel@lists.sugarlabs.org.

The first option is time consuming and requires the user to fill in confusing fields such as Component and Version manually. The second option requires the user to have an email account, and the report is not logged anywhere. Neither option is convenient or provides relevant details about the problem.

The new control panel offers a way for casual users to report problems encountered in Sugar. It also supplies a high level of detail about the problem to the developers.

The reason problem reports are not added directly to Trac is that we don't want to spam the database with spurious reports. Problem reports are intended to be triaged by subscribers to the mailing list, and then either bugged or noted on an existing ticket.

Scope

A prototype of the control panel and server have been finished and posted to #1439 as patches.

The collection server is currently running at logcollect.sugarlabs.org. Logs are emailed out to the sugar-reports@lists.sugarlabs.org mailing list.

Work left to do:

  • The control panel needs a SVG icon. Toolbar-bug.png
  • When an activity exits, if its log contains an exception report, Sugar should offer to report the problem. When an activity fails to launch, Sugar should display an error on the launch window and offer to report the problem instead of timing out.
  • The server needs to be installed on the SugarLabs infrastructure and the reports mailing list needs to be created (sugar-reports@lists.sugarlabs.org?). The server is now live at logcollect.sugarlabs.org. The mailing list sugar-reports@lists.sugarlabs.org now exists.
  • For deployments, there should be a way to override the server URL. The server URL now comes from Gconf.
  • The Log activity needs to have its Upload Logs button replaced by a button that opens the control panel. Most likely we will remove the button from Log, but patches for both options have been posted to the ticket.

How To Test

  • Open the Control panel.
  • Click Report a problem.
  • Type in a problem description.
  • Click the Upload Report button.
  • Verify that the upload succeeds.
  • Verify that a report email was sent to the reports list.
  • Verify that the data in the report email attachment is reasonable.
  • Verify that the download link in the report email works.
  • If there are exceptions in any log files (it may help to add one manually), they should be noted in the email.

User Experience

The user will notice a new control panel. When an activity fails to launch or otherwise suffers an exception, the user will be offered an opportunity to report the problem.

Dependencies

None

Contingency Plan

Nothing depends on this feature. If it's not ready in time it can simply be omitted.

Documentation

Ideally this feature would be documented as part of the FLOSS manual.

Also, instructions for deploying the log server and configuring the URL via gconf should be documented on the Wiki.

Release Notes

A mention of how to customize the server URL would be useful.

Comments and Discussion


You can add categories to tie features back to real deployments/schools requesting them, for example [[Category:Features requested by School Xyz]]