BY – ISHANA RAI
SHASHANK SALWAN
ADITYA BHARADWAJ
SUPERVISOR – Dr. CHARU
 File sharing is the practice of distributing or
providing access to digitally stored
information.
 Types of File Sharing :
 Peer to Peer File Sharing
Users can use software that connects in to a
peer-to-peer network to search for shared
files on the computers of
other users connected to the network.
 Files of interest can then
be downloaded directly from other users on
the network.
 Typically, large files are broken down into
smaller chunks, which may be obtained
from multiple peers and then reassembled
by the downloader.
 This is done while the peer is
simultaneously uploading the chunks it
already has, to other peers.
 File Sync and Sharing Services :
Cloud-based file syncing and sharing
services allow users to create special folders
on each of their computers or mobile
devices, which the service then synchronizes
so that it appears to be the same folder
regardless of which computer is used to view
it.
Files placed in this folder also are typically
accessible through a website and mobile app,
and can be easily shared with other users for
viewing or collaboration.
 For the purpose of our project, we did some
initial field survey where we interacted with
the members of Delhi/NCR RUG who are
working in the same domain and have
undertaken related projects.
 The Framework that we ultimately selected
for the Project is “RAILS”. Rails effectively
creates a domain-specific language for
writing web applications.
 As a result, many common web programming
tasks—such as generating HTML, making data
models, and routing URIs—are easy with Rails, and
the resulting application code is concise and
readable.
 Rails is a web application development
framework written in the Ruby language. It is
designed to make programming web
applications easier by making assumptions
about what every developer needs to get
started. It allows you to write less code while
accomplishing more, than many other
languages and frameworks.
 Model View Controller: A software architectural
pattern for implementing user interfaces. It divides a
given software application into three interconnected
parts, so as to separate internal representations of
information from the ways that information is
presented to or accepted from the user. The central
component, the model, consists of application data,
business rules, logic and functions. A view can be any
output representation of information, such as a chart
or a diagram. Multiple views of the same information
are possible, such as a bar chart for management and
a tabular view for accountants. The third part,
the controller, accepts input and converts it to
commands for the model or view.
Convention Over Configuration:
 A software design principle which seeks to decrease
the number of decisions that developer need to
make, gaining simplicity, but not necessarily losing
flexibility.
 The phrase essentially means a developer only needs
to specify unconventional aspects of the application.
For example, if there's a class Sale in the model, the
corresponding table in the database is called “sales”
by default. It is only if one deviates from this
convention, such as calling the table “sale”, that one
needs to write code regarding these names.
 When the convention implemented by the tool
matches the desired behavior, it behaves as expected
without having to write configuration files. Only when
the desired behavior deviates from the implemented
convention is explicit configuration required.
 Scalability issue at high traffic/heavy load.
 Lack of concurrency due to unavailability of
threads.
 Procedure to move from java based
environment is still not so convenient.
 For Admin it will have the following options.
 Create Group
 Add/Remove Member
 Upload/Download Data
 Share Link
 Set Permissions
 For Member/Guest it will have the following
options :
Upload/Download Data
Add Member
Share Link
Functional Requirements
 Create Group
 Add/Remove Member
 Upload/Download Data
 Share Link
 Set Permissions
Non-Functional Requirements
 Ruby language to interact with the Functionalities
 A well maintained Database for Documentation
 Portability
 Security
Security issues :
 No hash algorithm or security algorithm has
been implemented so far.
Portability:
 Converting it into a mobile application is of
concern right now.
 Implementation of the Application through
RHODES.
Rhodes is an open source Ruby-based
framework to rapidly build native apps for all
major smartphone operating systems .
These are true native device applications which
work with synchronized local data and take
advantage of device capabilities such as GPS,
contacts and calendar, camera, native
mapping, push, barcode, signature capture,
Bluetooth and Near Field Communications .
WEBLINK:
http://purezen.github.io/sharepoint/
SLIDE LINK:
http://www.slideshare.net/
VIDEO LINK:

SHAREPOINT (ROR)

  • 1.
    BY – ISHANARAI SHASHANK SALWAN ADITYA BHARADWAJ SUPERVISOR – Dr. CHARU
  • 2.
     File sharingis the practice of distributing or providing access to digitally stored information.  Types of File Sharing :  Peer to Peer File Sharing Users can use software that connects in to a peer-to-peer network to search for shared files on the computers of other users connected to the network.
  • 3.
     Files ofinterest can then be downloaded directly from other users on the network.  Typically, large files are broken down into smaller chunks, which may be obtained from multiple peers and then reassembled by the downloader.  This is done while the peer is simultaneously uploading the chunks it already has, to other peers.
  • 4.
     File Syncand Sharing Services : Cloud-based file syncing and sharing services allow users to create special folders on each of their computers or mobile devices, which the service then synchronizes so that it appears to be the same folder regardless of which computer is used to view it. Files placed in this folder also are typically accessible through a website and mobile app, and can be easily shared with other users for viewing or collaboration.
  • 5.
     For thepurpose of our project, we did some initial field survey where we interacted with the members of Delhi/NCR RUG who are working in the same domain and have undertaken related projects.  The Framework that we ultimately selected for the Project is “RAILS”. Rails effectively creates a domain-specific language for writing web applications.
  • 6.
     As aresult, many common web programming tasks—such as generating HTML, making data models, and routing URIs—are easy with Rails, and the resulting application code is concise and readable.
  • 7.
     Rails isa web application development framework written in the Ruby language. It is designed to make programming web applications easier by making assumptions about what every developer needs to get started. It allows you to write less code while accomplishing more, than many other languages and frameworks.
  • 8.
     Model ViewController: A software architectural pattern for implementing user interfaces. It divides a given software application into three interconnected parts, so as to separate internal representations of information from the ways that information is presented to or accepted from the user. The central component, the model, consists of application data, business rules, logic and functions. A view can be any output representation of information, such as a chart or a diagram. Multiple views of the same information are possible, such as a bar chart for management and a tabular view for accountants. The third part, the controller, accepts input and converts it to commands for the model or view.
  • 10.
    Convention Over Configuration: A software design principle which seeks to decrease the number of decisions that developer need to make, gaining simplicity, but not necessarily losing flexibility.  The phrase essentially means a developer only needs to specify unconventional aspects of the application. For example, if there's a class Sale in the model, the corresponding table in the database is called “sales” by default. It is only if one deviates from this convention, such as calling the table “sale”, that one needs to write code regarding these names.  When the convention implemented by the tool matches the desired behavior, it behaves as expected without having to write configuration files. Only when the desired behavior deviates from the implemented convention is explicit configuration required.
  • 11.
     Scalability issueat high traffic/heavy load.  Lack of concurrency due to unavailability of threads.  Procedure to move from java based environment is still not so convenient.
  • 12.
     For Adminit will have the following options.  Create Group  Add/Remove Member  Upload/Download Data  Share Link  Set Permissions
  • 13.
     For Member/Guestit will have the following options : Upload/Download Data Add Member Share Link
  • 14.
    Functional Requirements  CreateGroup  Add/Remove Member  Upload/Download Data  Share Link  Set Permissions Non-Functional Requirements  Ruby language to interact with the Functionalities  A well maintained Database for Documentation  Portability  Security
  • 15.
    Security issues : No hash algorithm or security algorithm has been implemented so far. Portability:  Converting it into a mobile application is of concern right now.
  • 16.
     Implementation ofthe Application through RHODES. Rhodes is an open source Ruby-based framework to rapidly build native apps for all major smartphone operating systems . These are true native device applications which work with synchronized local data and take advantage of device capabilities such as GPS, contacts and calendar, camera, native mapping, push, barcode, signature capture, Bluetooth and Near Field Communications .
  • 17.