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

From Sugar Labs
Jump to navigation Jump to search
 
(25 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=== Proposal for a client-initiated journal transfer (1-to-N feature) ===
+
__TOC__
 +
<br style="clear: both" />
 +
== Basic Usage ==
  
 +
* This feature helps share Journal/Documents/Mounted-Drives' entries across XOs, via the following two mechanisms ::
  
''' Note that the initial "Browse" based solution (of which comments have been struck out) cannot fill the purpose, because of the following reasons '''
 
  
  
* (Thanks Anish) "Browse" based solution only allows files to be downloaded. But Sugar's entries are more than just a file - they are a combination of metadata, and data (files). Eg. - Turtle Art Journal entry.
+
**Peer-to-Peer mode
* (Thanks Anish and Daniel) Mounting the server's shares' entries locally, also conforms to the Sugar look-and-feel.
+
*** 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.
  
  
== Workflow ==
 
  
* The server XO would make its shares available via WebDAV, running in the context of "httpd" service.
+
**Via-School-Server mode
* <del>The client XO would connect to the server XO via its browser.</del>
+
*** In this mode, an XO uploads an entry to the central School Server; from where the client XO(s) may download the entry.
* <del>Therafter, "Browse" would take over.</del>
+
*** 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
* The client would mount the server's share locally.
+
**** XOs are connected to the same Access Point (as long as school-server is pingable throughout).
* Thereafter, the server's share's contents can be "copied" from, just as if it was just another local filesystem.
+
**** 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).
  
  
== Details ==
 
  
* '''Setting up WebDAV on a server XO.'''
 
** Install package "httpd".
 
** <del>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></del>
 
** Configure <del>"/etc/httpd/conf.d/ssl.conf"</del> "/etc/httpd/conf/httpd.conf" to setup the WebDAV share. Sample file : [[media:httpd.conf]]
 
*** <del>Firstly, this sets up the paths "SSLCertificateFile" and "SSLCertificateKeyFile", which are required for HTTPS over SSL.</del>
 
*** <del>Secondly</del>This sets up "/var/www/web1/web" as the "webdav" folder. In other words, whetever entries are present in this folder, will be made available for the client XOs.
 
** Generate authentication file for the webdav folder. These user-password credentials will be asked whenever a client tries to access the webdav folder. For example, the following list of commands sets "test" as the user, and "olpc" as the password.
 
        <code>sudo htpasswd -c /var/www/web1/passwd.dav test
 
        New password:  <olpc>
 
        Re-type new password:  <olpc>
 
        Adding password for user test</code>
 
** Start service "httd".
 
** ALL THESE STEPS WOULD BE DONE AS PART OF OOB STAGE.
 
  
  
  
 +
== Credits ==
 +
* '''Plan Ceibal'''
 +
** For supporting this feature development.
  
* '''[User-Workflow] Exporting Data to WebDav, on a server XO.'''
 
** Add "Share" listview in the bottom panel-tray; that would make a total of 4 types of listview - Journal, Documents, Mounted-Drives, Share.
 
** "Share" would follow all the schematics of "Documents" type. After all, "Share" is just a folder in the filesystem (like "Documents").
 
** The corresponding folder is "/var/www/web1/web" (as configured in "/etc/httpd/conf.d/ssl.conf").
 
** All entries in the "Share" folder would be available to client XOs.
 
  
 +
* '''Sascha Silbe''' ''silbe@activitycentral.com''
 +
** Initial Proposal for the solution based on WebDAV.
  
* '''[Code-Requirements] Exporting Data to WebDav, on a server XO.'''
 
** "Share" listview needs to be added on the lines of "Documents" listview. Code-reuse should be done as much as possible. Ideally, there should just be a difference of the "folder-path".
 
  
 +
* '''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.
  
* '''[User-Workflow] Client XO wishes to access the share of Server XO.'''
 
** Navigates to the "Neighborhood" view.
 
** Hovers over the "Server" buddy.
 
** The popup appears, which has a new entry "Access Share" (in addition to "Make Friend").
 
** Clicks on "Access Share".
 
** <del>The "Browser" activity opens, with the url pointing to the "Server" buddy's webdav share.</del>
 
** <del>Thereafter, client may navigate the webdav directory hierarchy, or download files (all of which is already built in the "Browse" activity). Most importantly, there is the "Keep Link" feature in "Browse", which nicely downloads the webdav-entry, and promptly saves it in the "Journal" - something that happens in the "Send To" feature as well.</del>
 
** The server's share is mounted. A color-specific buddy-icon in the bottom tray signifies it. Clicking this icon displays the server's share's entries, on the lines of Journal/Documents/Shares/Mounted-Drives.
 
** Now, the entries can be copied from the mounted folder, to Journal/Documents/Shares/Mounted-Drives.
 
  
  
* '''[Code-Requirements] Client XO wishes to access the share of Server XO.'''
 
** Mapping a neighborhood-buddy to its IP Address
 
*** Luckily, in the method "def __buddy_updated_cb(self, account, contact_id, properties):" in "jarabe/model/neighborhood.py", there is the "properties['ip4-address']", which contains the IP address of the buddy. All that is needed is to persist it in the "BaseBuddyModel" in "jarabe/model/buddy.py".
 
*** When the client clicks on "Access Share" on the buddy, this IP Address can be easily retreived, and the URI formed "https://<IP Address>/webdav"
 
** <del>Opening up the server's webdav</del>
 
*** <del>The generated URI would be passed to the "Browse" activity; and thereafter, "Browse" would take over.</del>
 
** <del>A minor query, regarding the last point, has been posted at http://lists.sugarlabs.org/archive/sugar-devel/2012-April/036425.html. (For resolving this, some additional code may have to be written, but that is something perfectly doable. However, currently awaiting a reply, to see if the code for this already exists :-) ).</del>
 
  
  
 
== SCREENSHOTS ==
 
== SCREENSHOTS ==
  
== [Server 1] Launch "Turtle Art" ==
 
:[[File:S111.png|640px]]
 
  
  
  
  
 +
== [PEER 1] "Journal" - View. ==
 +
:[[File:p11.png|640px]]
  
  
  
== [Server 1] Modify "Turtle Art" workspace and then "Close". ==
 
:[[File:S121.png|640px]]
 
  
  
Line 90: Line 85:
  
  
== [Server 1] Initially, "Shares" is empty. ==
 
:[[File:S13.png|640px]]
 
  
 +
== [PEER 1] Detail view of the journal-entry. Note the preview presence. ==
 +
:[[File:p12.png|640px]]
  
  
Line 99: Line 94:
  
  
== [Server 1] Copy "Turtle Art" journal entry, to "Shares". ==
 
:[[File:S14.png|640px]]
 
  
  
Line 106: Line 99:
  
  
 +
== [PEER 1] Initial "Local Shares" View ==
 +
:[[File:p13.png|640px]]
  
  
  
== [Server 2] Launch "Turtle Art" ==
 
:[[File:S21.png|640px]]
 
  
  
Line 118: Line 111:
  
  
== [Server 2] Modify "Turtle Art" workspace and then "Close". ==
+
== [PEER 1] Copy the journal entry to "Local Shares", to make it available for sharing to other peers. ==
:[[File:S22.png|640px]]
+
:[[File:p14.png|640px]]
  
  
Line 127: Line 120:
  
  
== [Server 2] Initially, "Shares" is empty. ==
 
:[[File:S23.png|640px]]
 
  
  
  
  
 +
== [PEER 1] "Local Shares" view, after copying the entry. ==
 +
:[[File:p15.png|640px]]
  
  
  
== [Server 2] Copy "Turtle Art" journal entry, to "Shares". ==
 
:[[File:S24.png|640px]]
 
  
  
Line 145: Line 136:
  
  
== [Client] Server-1 and Server-2 buddy icons in Neighborhood-view. ==
 
:[[File:C1.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]]
  
  
Line 154: Line 145:
  
  
== [Client] Click on Server-1's "Access Share". ==
 
:[[File:C2.png|640px]]
 
  
  
Line 163: Line 152:
  
  
== [Client] Notification icon appears at botton, signifying that the remote share has been locally mounted. ==
 
:[[File:C3.png|640px]]
 
  
  
 +
== [PEER 2] Initial "Journal" - View. ==
 +
:[[File:p20.png|640px]]
  
  
Line 173: Line 162:
  
  
== [Client] Click on Server-2's "Access Share". ==
 
:[[File:C4.png|640px]]
 
  
  
Line 180: Line 167:
  
  
 +
== [PEER 2] Neighborhood View. ==
 +
:[[File:p21.png|640px]]
  
  
== [Client] Notification icon appears at bottom, signifying that the remote share has been locally mounted. ==
 
:[[File:C5.png|640px]]
 
  
  
Line 191: Line 178:
  
  
== [Client] Initially, "Journal" is empty. ==
 
:[[File:C6.png|640px]]
 
  
  
 +
== [PEER 2] Click on "Access Share" of the peer, whose shares need to be accessed. ==
 +
:[[File:p22.png|640px]]
  
  
Line 200: Line 187:
  
  
== [Client] Click on Server-1's share. ==
 
:[[File:C7.png|640px]]
 
  
  
Line 208: Line 193:
  
  
 +
== [PEER 2] The peer's shares are mounted. ==
 +
:[[File:p23.png|640px]]
  
== [Client] Download-and-Copy the entry to Journal. ==
 
:[[File:C8.png|640px]]
 
  
  
Line 218: Line 203:
  
  
== [Client] Click on Server-2's share. ==
 
:[[File:C9.png|640px]]
 
  
  
  
 +
== [PEER 2] Copy the entry to the journal. ==
 +
:[[File:p24.png|640px]]
  
  
  
  
== [Client] Download-and-Copy the entry to Journal. ==
 
:[[File:C10.png|640px]]
 
  
  
Line 236: Line 219:
  
  
== [Client] Server-1's Turtle-Art entry, successfully replicated at client. ==
 
:[[File:C11.png|640px]]
 
  
 +
== [PEER 2] Final "Journal" View. ==
 +
:[[File:p25.png|640px]]
  
  
Line 245: Line 228:
  
  
== [ALTERNATE WORKFLOW, Server] Server's Neighborhood-View. Server is connected. ==
 
:[[File:C12.png|640px]]
 
  
  
Line 252: Line 233:
  
  
 +
== [PEER 2] Detail-view of the entry. Note that the preview is the same as was on the remote peer. ==
 +
:[[File:p26.png|640px]]
  
  
== [ALTERNATE WORKFLOW, Client] Click on Server's "Access Share". ==
 
:[[File:C13.png|640px]]
 
  
  
Line 263: Line 244:
  
  
== [ALTERNATE WORKFLOW, Client] Notification icon appears at bottom, signifying that the remote share has been locally mounted.. ==
 
:[[File:C14.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]]
  
  
Line 272: Line 268:
  
  
== [ALTERNATE WORKFLOW, Client] Initially, Documents folder is empty. ==
 
:[[File:C15.png|640px]]
 
  
  
Line 280: Line 274:
  
  
 +
== [UPLOAD] Choose an entry to upload to the school-server. ==
 +
:[[File:sss2.png|640px]]
  
== [ALTERNATE WORKFLOW, Server] Server gets disconnected. ==
 
:[[File:C16.png|640px]]
 
  
  
Line 290: Line 284:
  
  
== [ALTERNATE WORKFLOW, Client] Tries to load the listview, for the locally-mounted remote share. ==
 
:[[File:C17.png|640px]]
 
  
  
  
 +
== [UPLOAD] Enter the pasphrase when prompted. ==
 +
:[[File:sss3.png|640px]]
  
  
  
  
== [ALTERNATE WORKFLOW, Client] CONNECTION-FAILED message appears. ==
 
:[[File:C18.png|640px]]
 
  
  
Line 308: Line 300:
  
  
== [ALTERNATE WORKFLOW, Server] Server gets connected. ==
+
== [UPLOAD] After uploading, ensure that the entry has in fact been uploaded to the school-server. ==
:[[File:C12.png|640px]]
+
:[[File:sss4.png|640px]]
  
  
Line 317: Line 309:
  
  
== [ALTERNATE WORKFLOW, Client] Tries to load the listview, for the locally-mounted remote share. ==
 
:[[File:C17.png|640px]]
 
  
  
  
  
 +
== [DOWNLOAD] Initial "Documents" view. ==
 +
:[[File:sss5.png|640px]]
  
  
  
== [ALTERNATE WORKFLOW, Client] Listview successfully seen. ==
 
:[[File:C20.png|640px]]
 
  
  
Line 335: Line 325:
  
  
== [ALTERNATE WORKFLOW, Server] Server gets disconnected. ==
 
:[[File:C16.png|640px]]
 
  
 +
== [DOWNLOAD] Choose to copy the entry from school-server, to "Documents". ==
 +
:[[File:sss6.png|640px]]
  
  
Line 344: Line 334:
  
  
== [ALTERNATE WORKFLOW, Client] Client tries to a copy a file, from locally-mounted remote share, to Documents. ==
 
:[[File:C21.png|640px]]
 
  
  
Line 352: Line 340:
  
  
 +
== [DOWNLOAD] Enter (incorrect) password. ==
 +
:[[File:sss7.png|640px]]
  
== [ALTERNATE WORKFLOW, Client] CONNECTION-FAILED message appears. ==
 
:[[File:C22.png|640px]]
 
  
  
Line 362: Line 350:
  
  
== [ALTERNATE WORKFLOW, Server] Server gets connected. ==
 
:[[File:C12.png|640px]]
 
  
  
Line 369: Line 355:
  
  
 +
== [DOWNLOAD] 'Passphrase not match' error occurs. ==
 +
:[[File:sss8.png|640px]]
  
  
== [ALTERNATE WORKFLOW, Client] Client tries to a copy a file, from locally-mounted remote share, to Documents. ==
 
:[[File:C21.png|640px]]
 
  
  
Line 380: Line 366:
  
  
== [ALTERNATE WORKFLOW, Client] File copying, begins. ==
 
:[[File:C23.png|640px]]
 
  
  
Line 388: Line 372:
  
  
 +
== [DOWNLOAD] Try copying again. ==
 +
:[[File:sss9.png|640px]]
  
== [ALTERNATE WORKFLOW, Server] Before file-copying is complete, server gets disconnected. ==
 
:[[File:C16.png|640px]]
 
  
  
Line 398: Line 382:
  
  
== [ALTERNATE WORKFLOW, Client] TIME-OUT message appears. ==
 
:[[File:C24.png|640px]]
 
  
  
Line 406: Line 388:
  
  
 +
== [DOWNLOAD] Enter (correct) password. ==
 +
:[[File:sss10.png|640px]]
  
== [ALTERNATE WORKFLOW, Server] Server gets connected. ==
 
:[[File:C12.png|640px]]
 
  
  
Line 416: Line 398:
  
  
== [ALTERNATE WORKFLOW, Client] Client tries to a copy a file, from locally-mounted remote share, to Documents. ==
 
:[[File:C21.png|640px]]
 
  
  
  
  
 +
== [DOWNLOAD] Confirm that the entry has been successfully downloaded. ==
 +
:[[File:sss11.png|640px]]
  
  
  
== [ALTERNATE WORKFLOW, Client] File-copying finishes successfully. ==
 
:[[File:C20.png|640px]]
 
  
== [ALTERNATE WORKFLOW, Client] Documents Listview. ==
 
:[[File:C26.png|640px]]
 
  
  
Line 438: Line 416:
  
  
 +
== [DOWNLOAD] Ensure that in the detail view, the uploader-details are present. ==
 +
:[[File:sss12.png|640px]]
  
  
Line 444: Line 424:
  
  
== [ARCHIVE] Possible options ==
 
  
  
In a server-initiated operation, the server is responsible for adequate delivery to all the clients, whatever the number may be.
+
== TEST-CASES THAT NEED TO PASS ==
In a client-initiated operation, each client is responsible for herself only.
 
  
 +
* 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'''.
  
{| class="wikitable"
+
* Things should work fine, irrespective of the fact that whether the sharing is done via single-mode, or batch-mode.
|-
 
! Option
 
! Server-Initiated / Client-Initiated
 
! Secure Data Transfer
 
! Proxy Support
 
! Peer to Peer Support (Gabble/Salut)
 
|-
 
| Looping over "Send To"
 
| Server-Initiated
 
|
 
|
 
| Yes/Yes
 
|-
 
| Sascha's JournalToWebDAV
 
| Client-Initiated
 
|
 
|
 
|
 
|-
 
| Each XO acts as an independent WebDAV server; client uses browser
 
| Client-Initiated
 
| Yes (HTTPS over SSL)
 
|
 
| /Yes
 
|}
 

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.