SYN-RG: S R G YNCHRONIZED

advertisement
Georgia Tech CS8803 AIA - Advanced Internet Application and Services
Spring 2009 Project Proposal
SYN-RG: SYNCHRONIZED RESOURCE GROUPING
Camilo Cepeda, Unmesh Deolekar, Sean Roberts
MOTIVATION AND AIM
Effective communication and collaboration between employees can increase a company's
productivity. Technological advances, such as the ability to share files and track
employee requests from remote locations, can make intra-company collaboration easier
and more efficient. However setting up a company's IT infrastructure to support these
services can be time-consuming and expensive.
To address these issues, we present SYN-RG (Synchronized Resource Grouping), an adsupported Internet-based collaboration suite, which allows the employees of a company
to share files, manage service requests and communicate with each other through
discussion forums and possibly web-based videoconferencing. Since it is ad-supported,
the use of the tool will involve no additional costs to the company. SYN-RG may also be
especially useful to those organizations that operate in different geographical locations,
allowing them to maintain closer bonds betweens departments through the Internet
without needing to install any additional software on their own servers.
RELATED WORK
After coming up with the idea for SYN-RG, we searched the Internet for ideas and
concepts we could use for inspiration. Microsoft Office's Groove 2007 has some features
similar to what we want to implement. This software allows a group of users to setup
shared workspaces that they can use to post messages and share files. However, Groove
must be purchased, installed and setup on a particular machine in order for it to work.
SYN-RG, on the other hand, allows users to communicate from any web browser,
enabling platform and application independence. We believe this can be quite beneficial
to small businesses that might not have enough money to buy Groove for all their
machines.
Mantis is another web-based program that allows bug tracking of software projects. It
allows the submission of requests and has many kinds of status labels to manage them.
However, this software has to be installed in the company’s systems, which initially does
not provide remote access. Moreover, it does not allow the discussion of topics and file
sharing through workgroups.
OVERVIEW OF THE SYSTEM
To get access to SYN-RG, a system supervisor (or super administrator, usually the head
of the IT department) goes to the website, www.syn-rg.com, and creates an account for
their company. The initial setup is then performed, where basic company information is
provided and employee accounts are created. Employees will then be able to login to
create project groups, share files, and submit and track company requests. All of these
services will be managed by SYN-RG, eliminating the software maintenance work and
increasing productivity for the company. SYN-RG is positioned towards small to
medium-sized businesses that do not already have a full IT infrastructure in place, as well
as businesses spread in different geographical locations. We aim to provide services that
these businesses would need but do not have the time, money, or technical knowledge to
implement by themselves.
DETAILED PROPOSAL
The system will consist of a core module, which will allow a super administrator (SA) to
create a company site. The SA can then login to the site and create employee accounts,
which will have their basic information, such as name, user ID, password, e-mail address
and clearance level. This last item will determine if the employee is the SA or has any
other special privileges.
The core module will allow employees to log in and out of the company site and will also
host additional modules. The modules we will be focusing on are the request module,
workgroup module and calendar module. These names are very generic, so their overall
functionality is detailed below.
Request Module
The request module of SYN-RG allows employees to submit requests and view the status
of those requests, depending on the assigned role of each employee within the module.
•
ROLES:
The two roles that will be used within the request module are:
-
Clients: Those who can submit requests and update pending ones. Clients can also
view the status of pending requests as well as their request submission history.
-
Administrators: In addition to client functionality, administrators can approve or
deny requests, as well as view the entire request database which consists of all
current (pending) and past requests.
When registered users are added to the requests module, the SA will determine whether
that person will have client or administrator privileges.
•
REQUESTS:
Requests are the main method of communication between users in this module. Each
request will have information associated which identifies it uniquely, such as its ID, the
user that submitted it, its status (for example pending, approved, denied), request type
(for example, a maintenance request), its solution (if one is available) and the dates and
times on which a particular event occurred (for example, when the request was submitted
or approved).
Request types are managed by an administrator, and may also be associated with a
particular company department, where the department head will receive that particular
type of requests. A group of administrators may also be in charge, and in this case, any of
them will be able to handle the request. For example if a request of type "Maintenance" is
submitted, then it would be approved by an administrator who handles maintenance
requests.
When clients and administrators are viewing past requests, they can search and sort by
their associated properties. Some requests may be set as public if the solution applies to a
large number of users (for example, a classic one: “the printer does not work”). This way
a knowledge base will be gradually created, so that clients can query before actually
sending a request to prevent duplicates from being submitted.
Workgroup Module
This module will allow the creation or joining of workgroups by any user. Workgroups
can be public or private, and they can hold as many users as employees are registered in
the site. These workgroups will have many features to facilitate communication between
the employees of the company. These include:
-
Messaging: Members of the group will be able to post messages to the group,
allowing for the discussion of particular topics.
-
File sharing: Members will be able to post files pertinent to this workgroup so
that other members can access and download them.
-
Videoconferencing (possibly): One member may set up a videoconference, and
start talking through his or her computer’s webcam. Anyone in the group will be
able to watch the video stream.
Calendar module
Every user will have a calendar associated with them, and access to it may be provided to
other users. This module will allow employees to set up meetings and let others know
their availability immediately. The system may also find an optimal meeting time
between two or more employees by automatically searching calendars. Also, e-mail
reminders may be sent to employees and notifications will be shown on the user’s SYNRG home page.
WHY RUBY ON RAILS?
Ruby on Rails is an open source framework used to develop web-based applications,
which is compatible with Windows, Linux and Mac servers. It is based on the Ruby
programming language.
This framework provides many tools for quickly developing software, which saves the
programmer from developing frequently considered use cases (such as insert, edit, delete
and view information on a database). Another advantage is that it implements the MCV
(Model-Controller-View) principles, which separates the appearance of the web
application from its processes and its database structure, allowing the programmer to edit
any of the three without worrying about possible side effects on the other two parts.
PROCESS PLANNING
The following schedule includes all the features mentioned previously except for the
videoconferencing on the workgroup module, which will be implemented given enough
time.
Resources
Language:
Database:
Software:
Operating Systems:
Ruby on Rails
MySQL
Internet Explorer 7, Mozilla Firefox 3, Apple Safari
OS X, Windows XP, Windows Vista
Schedule:
Week
1
2
3
4
Goals
Learn Ruby on Rails and MySQL
Setup web server, begin work on core module
Continue work on core module
Finish core module
5
6
7
8
9
Request module
Group module
Calendar module
Finish up Implementation and Final Testing
Room for Delays/Improvements, Project Report and Presentation
TESTING
The project will be tested by the three developers, as well as other people that may be
asked for help. The teacher and TAs may also be consulted throughout the semester to get
their opinion on its current status.
Our overall goal with this system is to provide ease of use, and our test cases will be
written to ensure this is accomplished.
ACTUAL IMPLEMENTATION
After some more thought, we realized our project was too broad and difficult to implement
and test in one semester. Dr. Liu suggested we implement one scenario of the kind of site
we'd like Syn-RG to provide. We decided to develop our project as a helpdesk application
that allows the submission and tracking of IT requests, while allowing users to search past
requests.
ACTUAL IMPLEMENTATION
After some more thought, we realized our project was too broad and difficult to implement and
test in one semester. Dr. Liu suggested we implement one scenario of the kind of site we'd like
Syn-RG to provide. We decided to develop our project as a helpdesk application that allows the
submission and tracking of IT requests, while allowing users to search past requests.
BIBLIOGRAPHY
Lenz, Patrick. Simply Rails 2, 2nd Edition. May 2008, Sitepoint.
Mantis Bug Tracker. Web site: http://www.mantisbt.org/
Microsoft Office Groove 2007. Web site: http://office.microsoft.com/en-us/groove/default.asp
Thomas, Dave et. al. Agile Web Development with Rails, 2nd Edition. December 2006, Pragmatic
Bookshelf.
Download