Difference between revisions of "Features/Transfer to many options"

From Sugar Labs
Jump to navigation Jump to search
 
(77 intermediate revisions by 3 users not shown)
Line 1: Line 1:
=== Proposal for a client-initiated journal transfer ===
+
__TOC__
 +
<br style="clear: both" />
 +
== Basic Usage ==
  
== Workflow ==
+
* This feature helps share Journal/Documents/Mounted-Drives' entries across XOs, via the following two mechanisms ::
  
* The server XO would make available its shares available via WebDAV, running in the context of "httpd" service.
 
* The client XO would connect to the server XO via its browser.
 
* Therafter, "Browse" would take over.
 
  
  
== Details ==
+
**Peer-to-Peer mode
 +
*** Sharing in this mode is possible, only when the server and client XO(s) are on the same networks. Thus, peer-to-peer sharing would work on
 +
**** XOs connected to the same Access Point.
 +
**** Adhoc-Network connections.
  
* '''Setting up WebDAV on a server XO.'''
 
** Install package "httpd".
 
** Generate openssl "server.crt" and "server.key".
 
        <code>cd /etc/ssl/certs/</code>
 
        <code>sudo openssl req -new -newkey rsa:1024 -days 365 -nodes -x509 -keyout ssl.key -out ssl.crt</code>
 
** Configure "/etc/httpd/conf.d/ssl.conf" to setup the WebDAV share. Sample file : [[ssl.conf]]
 
  
  
 +
**Via-School-Server mode
 +
*** In this mode, an XO uploads an entry to the central School Server; from where the client XO(s) may download the entry.
 +
*** This mode of sharing works as long as the School-Server is HTTP-pingable between the server and client XOs. Thus, this mode of sharing would work when
 +
**** XOs are connected to the same Access Point (as long as school-server is pingable throughout).
 +
**** XOs are connected to the different Access Points (as long as school-server is pingable throughout).
 +
**** XOs are conencted to Adhoc-Network (as long as school-server is pingable throughout).
  
  
In a server-initiated operation, the server is responsible for adequate delivery to all the clients, whatever the number may be.
 
In a client-initiated operation, each client is responsible for herself only.
 
  
  
{| class="wikitable"
+
 
|-
+
 
! Option
+
== Credits ==
! Server-Initiated / Client-Initiated
+
* '''Plan Ceibal'''
! Secure Data Transfer
+
** For supporting this feature development.
! Proxy Support
+
 
! Peer to Peer Support (Gabble/Salut)
+
 
|-
+
* '''Sascha Silbe''' ''silbe@activitycentral.com''
| Looping over "Send To"
+
** Initial Proposal for the solution based on WebDAV.
| Server-Initiated
+
 
|  
+
 
|  
+
* '''Anish Mangal''' ''anish@activitycentral.com''
| Yes/Yes
+
** Showed why simply accessing the webdav shares via "Browse" activity won't work.
|-
+
** The reason is that accessing Sugar-WebDAV shares via "Browse" (or in any browser), would show only the availability of files. But a Sugar-entry is more than just the (data) file; it is a combination of
| Sascha's JournalToWebDAV
+
*** Metadata-file
| Client-Initiated
+
*** Data-file
|  
+
*** Preview-file (optional)
|
+
** Also, the current workflow conforms to the sugar look-and-feel too. (Thanks again Anish).
|
+
 
|-
+
 
| Each XO acts as an independent WebDAV server; client uses browser
+
* '''Ruben Rodriguez''' ''ruben@activitycentral.com''
| Client-Initiated
+
** Feedback on the "peer-to-peer" mechanism; now when the user clicks "Access Share", the user is directly taken to the newly mounted remote-share view.
| Yes (HTTPS over SSL)
+
 
|  
+
 
| /Yes
+
* '''Nitika Mangal''' ''nitika@activitycentral.com''
|}
+
** Testing
 +
 
 +
 
 +
* '''David Rodriguez''' ''daroal@activitycentral.com''
 +
** Testing
 +
 
 +
== Example Workflow for Peer-To-Peer Mode ==
 +
 
 +
 
 +
== NOTES ==
 +
** An entry present in "Local Shares", is available to other peers, when the peer(s) mount this XO's shares.
 +
** Note that the entries present in "Local Shares", have nothing to do with the entries present in "School Server Shares".
 +
** In the following screenshots' example, "PEER 2" mounts the shares of "PEER 1"; and uses that to copy entries onto its own XO. Thus, the entry is copied from XO-of-PEER-1 to XO-of-PEER-2.
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== SCREENSHOTS ==
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== [PEER 1] "Journal" - View. ==
 +
:[[File:p11.png|640px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== [PEER 1] Detail view of the journal-entry. Note the preview presence. ==
 +
:[[File:p12.png|640px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== [PEER 1] Initial "Local Shares" View ==
 +
:[[File:p13.png|640px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== [PEER 1] Copy the journal entry to "Local Shares", to make it available for sharing to other peers. ==
 +
:[[File:p14.png|640px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== [PEER 1] "Local Shares" view, after copying the entry. ==
 +
:[[File:p15.png|640px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== [PEER 1] The detail view in "Local Shares". NOTE that the preview MUST be present, and it must be same as that of "Journal". ==
 +
:[[File:p16.png|640px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== [PEER 2] Initial "Journal" - View. ==
 +
:[[File:p20.png|640px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== [PEER 2] Neighborhood View. ==
 +
:[[File:p21.png|640px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== [PEER 2] Click on "Access Share" of the peer, whose shares need to be accessed. ==
 +
:[[File:p22.png|640px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== [PEER 2] The peer's shares are mounted. ==
 +
:[[File:p23.png|640px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== [PEER 2] Copy the entry to the journal. ==
 +
:[[File:p24.png|640px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== [PEER 2] Final "Journal" View. ==
 +
:[[File:p25.png|640px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== [PEER 2] Detail-view of the entry. Note that the preview is the same as was on the remote peer. ==
 +
:[[File:p26.png|640px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== Example Workflow for Via-School-Server Mode ==
 +
 
 +
 
 +
== NOTES ==
 +
** An entry present in "School Server Shares", is available to all the XOs. There isn't any mounting or anything required as such.
 +
** Note that the entries present in "School Server Shares", have nothing to do with the entries present in "Local Shares".
 +
** In the following screenshots' example, an XO uploads an entry to the school-server, and then downloads the same. HOWEVER, NOTE THAT ANY XO WOULD BE ABLE TO DOWNLOAD THE ENTRY PRESENT ON THE SCHOOL-SERVER, AND NOT ONLY NECESSARILY THE UPLOADER.
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== SCREENSHOTS ==
 +
 
 +
== [UPLOAD] Initially, no entries are present on the school-server. ==
 +
:[[File:sss1.png|640px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== [UPLOAD] Choose an entry to upload to the school-server. ==
 +
:[[File:sss2.png|640px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== [UPLOAD] Enter the pasphrase when prompted. ==
 +
:[[File:sss3.png|640px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== [UPLOAD] After uploading, ensure that the entry has in fact been uploaded to the school-server. ==
 +
:[[File:sss4.png|640px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== [DOWNLOAD] Initial "Documents" view. ==
 +
:[[File:sss5.png|640px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== [DOWNLOAD] Choose to copy the entry from school-server, to "Documents". ==
 +
:[[File:sss6.png|640px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== [DOWNLOAD] Enter (incorrect) password. ==
 +
:[[File:sss7.png|640px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== [DOWNLOAD] 'Passphrase not match' error occurs. ==
 +
:[[File:sss8.png|640px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== [DOWNLOAD] Try copying again. ==
 +
:[[File:sss9.png|640px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== [DOWNLOAD] Enter (correct) password. ==
 +
:[[File:sss10.png|640px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== [DOWNLOAD] Confirm that the entry has been successfully downloaded. ==
 +
:[[File:sss11.png|640px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== [DOWNLOAD] Ensure that in the detail view, the uploader-details are present. ==
 +
:[[File:sss12.png|640px]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== TEST-CASES THAT NEED TO PASS ==
 +
 
 +
* Inter-copying an entry between Journal/Documents/Mounted-Drives/Local-Shares/School-Server-Shares should behave in the same way. For eg, in the peer-to-peer mode, it was shown that the source-entry (on PEER-1) had a preview; the same was true when the entry finally arrived on PEER-2. In particular, the preview should "go along" as and when the entry goes, '''intra-XO''' or '''inter-XO'''.
 +
 
 +
* Things should work fine, irrespective of the fact that whether the sharing is done via single-mode, or batch-mode.

Latest revision as of 12:26, 26 March 2013


Basic Usage

  • This feature helps share Journal/Documents/Mounted-Drives' entries across XOs, via the following two mechanisms ::


    • Peer-to-Peer mode
      • Sharing in this mode is possible, only when the server and client XO(s) are on the same networks. Thus, peer-to-peer sharing would work on
        • XOs connected to the same Access Point.
        • Adhoc-Network connections.


    • Via-School-Server mode
      • In this mode, an XO uploads an entry to the central School Server; from where the client XO(s) may download the entry.
      • This mode of sharing works as long as the School-Server is HTTP-pingable between the server and client XOs. Thus, this mode of sharing would work when
        • XOs are connected to the same Access Point (as long as school-server is pingable throughout).
        • XOs are connected to the different Access Points (as long as school-server is pingable throughout).
        • XOs are conencted to Adhoc-Network (as long as school-server is pingable throughout).




Credits

  • Plan Ceibal
    • For supporting this feature development.


  • Sascha Silbe silbe@activitycentral.com
    • Initial Proposal for the solution based on WebDAV.


  • Anish Mangal anish@activitycentral.com
    • Showed why simply accessing the webdav shares via "Browse" activity won't work.
    • The reason is that accessing Sugar-WebDAV shares via "Browse" (or in any browser), would show only the availability of files. But a Sugar-entry is more than just the (data) file; it is a combination of
      • Metadata-file
      • Data-file
      • Preview-file (optional)
    • Also, the current workflow conforms to the sugar look-and-feel too. (Thanks again Anish).


  • Ruben Rodriguez ruben@activitycentral.com
    • Feedback on the "peer-to-peer" mechanism; now when the user clicks "Access Share", the user is directly taken to the newly mounted remote-share view.


  • Nitika Mangal nitika@activitycentral.com
    • Testing


  • David Rodriguez daroal@activitycentral.com
    • Testing

Example Workflow for Peer-To-Peer Mode

NOTES

    • An entry present in "Local Shares", is available to other peers, when the peer(s) mount this XO's shares.
    • Note that the entries present in "Local Shares", have nothing to do with the entries present in "School Server Shares".
    • In the following screenshots' example, "PEER 2" mounts the shares of "PEER 1"; and uses that to copy entries onto its own XO. Thus, the entry is copied from XO-of-PEER-1 to XO-of-PEER-2.



SCREENSHOTS

[PEER 1] "Journal" - View.

P11.png






[PEER 1] Detail view of the journal-entry. Note the preview presence.

P12.png






[PEER 1] Initial "Local Shares" View

P13.png






[PEER 1] Copy the journal entry to "Local Shares", to make it available for sharing to other peers.

P14.png






[PEER 1] "Local Shares" view, after copying the entry.

P15.png







[PEER 1] The detail view in "Local Shares". NOTE that the preview MUST be present, and it must be same as that of "Journal".

P16.png








[PEER 2] Initial "Journal" - View.

P20.png






[PEER 2] Neighborhood View.

P21.png






[PEER 2] Click on "Access Share" of the peer, whose shares need to be accessed.

P22.png






[PEER 2] The peer's shares are mounted.

P23.png






[PEER 2] Copy the entry to the journal.

P24.png







[PEER 2] Final "Journal" View.

P25.png






[PEER 2] Detail-view of the entry. Note that the preview is the same as was on the remote peer.

P26.png







Example Workflow for Via-School-Server Mode

NOTES

    • An entry present in "School Server Shares", is available to all the XOs. There isn't any mounting or anything required as such.
    • Note that the entries present in "School Server Shares", have nothing to do with the entries present in "Local Shares".
    • In the following screenshots' example, an XO uploads an entry to the school-server, and then downloads the same. HOWEVER, NOTE THAT ANY XO WOULD BE ABLE TO DOWNLOAD THE ENTRY PRESENT ON THE SCHOOL-SERVER, AND NOT ONLY NECESSARILY THE UPLOADER.



SCREENSHOTS

[UPLOAD] Initially, no entries are present on the school-server.

Sss1.png






[UPLOAD] Choose an entry to upload to the school-server.

Sss2.png






[UPLOAD] Enter the pasphrase when prompted.

Sss3.png






[UPLOAD] After uploading, ensure that the entry has in fact been uploaded to the school-server.

Sss4.png






[DOWNLOAD] Initial "Documents" view.

Sss5.png






[DOWNLOAD] Choose to copy the entry from school-server, to "Documents".

Sss6.png







[DOWNLOAD] Enter (incorrect) password.

Sss7.png







[DOWNLOAD] 'Passphrase not match' error occurs.

Sss8.png








[DOWNLOAD] Try copying again.

Sss9.png








[DOWNLOAD] Enter (correct) password.

Sss10.png







[DOWNLOAD] Confirm that the entry has been successfully downloaded.

Sss11.png







[DOWNLOAD] Ensure that in the detail view, the uploader-details are present.

Sss12.png





TEST-CASES THAT NEED TO PASS

  • Inter-copying an entry between Journal/Documents/Mounted-Drives/Local-Shares/School-Server-Shares should behave in the same way. For eg, in the peer-to-peer mode, it was shown that the source-entry (on PEER-1) had a preview; the same was true when the entry finally arrived on PEER-2. In particular, the preview should "go along" as and when the entry goes, intra-XO or inter-XO.
  • Things should work fine, irrespective of the fact that whether the sharing is done via single-mode, or batch-mode.