Difference between revisions of "Features/Multiple schoolserver registration"

From Sugar Labs
Jump to navigation Jump to search
(Created page with "<noinclude> Category:Feature Page Incomplete . <!-- You can add categories to tie features back to real deployments/schools requesting them, for examp...")
 
 
(14 intermediate revisions by 2 users not shown)
Line 5: Line 5:
 
[[Category:Features requested by School Xyz|<Feature Name>]] (the |Feature Name option sorts the entry on the category page under the first letter of <Feature Name>). -->
 
[[Category:Features requested by School Xyz|<Feature Name>]] (the |Feature Name option sorts the entry on the category page under the first letter of <Feature Name>). -->
 
</noinclude>
 
</noinclude>
 
<!-- All fields on this form are required to be accepted.
 
We also request that you maintain the same order of sections so that all of the feature pages are uniform.  -->
 
 
<!-- The actual name of your feature page should look something like: Features/Your Feature Name.  This keeps all features in the same namespace -->
 
  
 
== Summary ==
 
== Summary ==
Easily hop between multiple XS servers. Sugar will be able to register to multiple XS servers easily, without the need of clearing the registrations manually.
+
Sugar will be able to register to multiple school servers easily, without the need of clearing the registrations or configuring server ssh identity manually.
  
 
== Owner ==
 
== Owner ==
Line 20: Line 15:
  
 
== Current status ==
 
== Current status ==
* Targeted release: (SUGAR_VERSION)
+
* Targeted release: 0.110
* Last updated: 15 April 2016
+
* Last updated: 18 April 2016
* Status: Being discussed and development started
+
* Status: Being discussed in sugar-devel and [https://github.com/sugarlabs/sugar/pull/679 pull requested].
<!--* Percentage of completion: 10%-->
+
* Percentage of completion: 90%
  
 
== Detailed Description ==
 
== Detailed Description ==
 +
When a user wants to register to a new school server, they must first manually clear the previous registration details (if present). Then they have to create new registration even if they are returning back to an school server where their laptop has been registered before. For non-XO laptops, every new registration changes the random serial number of the laptop and serial number is used in backup url and backup paths for that laptop in the school server. Hence registering multiple times with the same school server leads to unnecessary change in backup path on non-XO laptops.
 +
 +
Also from the various field reports where a user (generally a teacher) has to register to multiple XS servers on move, it becomes difficult to keep clearing the registration details manually. (reported [https://bugs.sugarlabs.org/ticket/362 bug] and [http://lists.sugarlabs.org/archive/sugar-devel/2016-April/052076.html discussion]). In most of the deployments, the server address is same. As discussed [http://lists.sugarlabs.org/archive/sugar-devel/2016-April/052114.html here]
 +
The present system for registering a Sugar laptop with an school server is depicted below. <br />
 +
[[File:Sugar-server-present1.png|1000px]]<br /><br /><br />
  
 +
This feature is aimed to enhance the Sugar-Server interaction that would include:
 +
**Automated management of registration data so that a user can connect to an school server with only one click regardless of the server being new or previously registered, hence enabling quick hop between multiple servers.
 +
**The ssh identity for the servers where registration was successfully done will be added to ~/.ssh/known_hosts so that users (teachers) would not have to face identity errors while trying to establish ssh communication.
 +
**Creating a new control panel section named "Server" to house the server related settings and provide a reorganized place for future settings to come.
 +
**Retain the registration data required for ds-backup if present in the system so that it can maintain its functionality.
 +
The following is the proposed flow being developed for the feature: <br />
 +
[[File:Sugar-server-modified1.png|1000px]]
 +
*The main advantages of the above flow are:
 +
**Manual clear of previous registration and ssh configuration is not required.
 +
**Each laptop will have same backup url and backup path (in XSCE:/library/users) for a particular XSCE as it was created on first registration with the server. As registration will be done only once. The "Register" button would rather say "Connect to Server". When user connects to an XSCE where it has registered previously (identified by the presence of pubkey), it would simply set its serial number, uuid and backup-url with the pre-registration data. This would enable better and advanced management of backups. (This is only supported in XSCE due to the presence of xs-authserver)
 +
**No extra input is required from the user. The user just has to connect to the school server network, specify the jabber-server address and click on "Connect to server"
  
 
== 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?''
+
This feature has emerged from a [https://bugs.sugarlabs.org/ticket/362 bug].
 
+
The feature is supposed to bring Sugar closer to school server and improve the user experience.  
''Make sure to note here as well if this feature has been requested by a specific deployment, or if it has emerged from a bug report.''
 
  
 
== Scope ==
 
== Scope ==
 
''What work do the developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?''
 
''What work do the developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?''
 +
 +
* The changes only affect use of Sugar with compatible school servers, such as XS or XSCE.
 +
* Also no change is required on the school server side.
 +
* Use of Sugar without a school server shall not be affected.
  
 
==UI Design==
 
==UI Design==
''Does the feature have a direct impact on the work flow, or does it need a UI? Link here mockups, or add detailed descriptions.''
+
The user does not have to provide any extra input. The user is to provide the jabber server url and click on the button to register to it as before. So no change of UI is required to achieve the functionality. But as discussed in the developer mailing list ([http://lists.sugarlabs.org/archive/sugar-devel/2016-April/052071.html link]), it has been emphasized that a new control panel section named "Servers" should be created. This section will as of now only have two user inputs "Jabber Server" and "Collaboration Server" which will be moved in from its present location of the "Network" control panel section.
  
 
== How To Test ==
 
== How To Test ==
{{:{{PAGENAME}}/Testing}}
+
* Connect to XSCE network. Enter its server_address in the "Server" entry present in "Network" section of control panel and click "Connect to server" from the desktop.
 +
* If registration was successful, use Terminal activity for the command: ssh xsce-admin@server_address . Expected behavior: It will prompt for server password.
 +
* Connect to a different XSCE network and register to it as above.
 +
* Try doing ssh again for this XSCE. Expected behavior: It will still prompt for password, without showing identity mis-match error in case the server_address of both XSCE are same.
 +
 
 
== 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 experience is believed to increase quite significantly as it can be judged from the problems that are being faced now in this [https://bugs.sugarlabs.org/ticket/362 bug] and [http://lists.sugarlabs.org/archive/sugar-devel/2016-April/052076.html discussion]
  
 
== 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, does your feature depend on completion of another feature owned by someone else or that you would need to coordinate, which might cause you to be unable to finish on time?  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 your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.''
 
''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 your feature is not completed in time, we want to assure others that other parts of Sugar will not be in jeopardy.''
  
Line 54: Line 72:
  
 
== 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.''
+
''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.'' -->
  
 
== Comments and Discussion ==
 
== Comments and Discussion ==
  
* ''Link to the discussion of this feature on lists.sugarlabs.org''
+
Your comments are very welcome.  Please discuss through the mailing list.
* See [[{{TALKPAGENAME}}|the 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. -->
+
 
 +
* First discussion on the mailing list:
 +
  http://lists.sugarlabs.org/archive/sugar-devel/2016-April/051805.html

Latest revision as of 18:23, 17 April 2016


Summary

Sugar will be able to register to multiple school servers easily, without the need of clearing the registrations or configuring server ssh identity manually.

Owner

  • Email: mpdmanash@gmail.com

Current status

  • Targeted release: 0.110
  • Last updated: 18 April 2016
  • Status: Being discussed in sugar-devel and pull requested.
  • Percentage of completion: 90%

Detailed Description

When a user wants to register to a new school server, they must first manually clear the previous registration details (if present). Then they have to create new registration even if they are returning back to an school server where their laptop has been registered before. For non-XO laptops, every new registration changes the random serial number of the laptop and serial number is used in backup url and backup paths for that laptop in the school server. Hence registering multiple times with the same school server leads to unnecessary change in backup path on non-XO laptops.

Also from the various field reports where a user (generally a teacher) has to register to multiple XS servers on move, it becomes difficult to keep clearing the registration details manually. (reported bug and discussion). In most of the deployments, the server address is same. As discussed here The present system for registering a Sugar laptop with an school server is depicted below.
Sugar-server-present1.png


This feature is aimed to enhance the Sugar-Server interaction that would include:

    • Automated management of registration data so that a user can connect to an school server with only one click regardless of the server being new or previously registered, hence enabling quick hop between multiple servers.
    • The ssh identity for the servers where registration was successfully done will be added to ~/.ssh/known_hosts so that users (teachers) would not have to face identity errors while trying to establish ssh communication.
    • Creating a new control panel section named "Server" to house the server related settings and provide a reorganized place for future settings to come.
    • Retain the registration data required for ds-backup if present in the system so that it can maintain its functionality.

The following is the proposed flow being developed for the feature:
Sugar-server-modified1.png

  • The main advantages of the above flow are:
    • Manual clear of previous registration and ssh configuration is not required.
    • Each laptop will have same backup url and backup path (in XSCE:/library/users) for a particular XSCE as it was created on first registration with the server. As registration will be done only once. The "Register" button would rather say "Connect to Server". When user connects to an XSCE where it has registered previously (identified by the presence of pubkey), it would simply set its serial number, uuid and backup-url with the pre-registration data. This would enable better and advanced management of backups. (This is only supported in XSCE due to the presence of xs-authserver)
    • No extra input is required from the user. The user just has to connect to the school server network, specify the jabber-server address and click on "Connect to server"

Benefit to Sugar

This feature has emerged from a bug. The feature is supposed to bring Sugar closer to school server and improve the user experience.

Scope

What work do the developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?

  • The changes only affect use of Sugar with compatible school servers, such as XS or XSCE.
  • Also no change is required on the school server side.
  • Use of Sugar without a school server shall not be affected.

UI Design

The user does not have to provide any extra input. The user is to provide the jabber server url and click on the button to register to it as before. So no change of UI is required to achieve the functionality. But as discussed in the developer mailing list (link), it has been emphasized that a new control panel section named "Servers" should be created. This section will as of now only have two user inputs "Jabber Server" and "Collaboration Server" which will be moved in from its present location of the "Network" control panel section.

How To Test

  • Connect to XSCE network. Enter its server_address in the "Server" entry present in "Network" section of control panel and click "Connect to server" from the desktop.
  • If registration was successful, use Terminal activity for the command: ssh xsce-admin@server_address . Expected behavior: It will prompt for server password.
  • Connect to a different XSCE network and register to it as above.
  • Try doing ssh again for this XSCE. Expected behavior: It will still prompt for password, without showing identity mis-match error in case the server_address of both XSCE are same.

User Experience

The user experience is believed to increase quite significantly as it can be judged from the problems that are being faced now in this bug and discussion

Dependencies

None


Comments and Discussion

Your comments are very welcome. Please discuss through the mailing list.

  • First discussion on the mailing list:
 http://lists.sugarlabs.org/archive/sugar-devel/2016-April/051805.html