VCWE-TeamBuilder

This prototype system is fully functional and allows the set up, management and participation of/in a distributed project team.
There are five separate applications in the system:

    1: VCWE Set Up/Manager
    2: Environment Server
    3: Chat Server
    4: File Server
    5: Client Application
1: Source code/classes and a jar file are available in the repository.The manager app allows a project team to be set up very simply and workers are each allocated a room with their own colour and image. A JFileChooser is used to set the colour scheme of the workers virtual room. The application works perfectly but it needs to be optimised as the chooser is taking longer than necessary to function.
2: The main server allows client login and updates their working environment to the values stored on the server by the Manager application. More than one project can be serviced by the server. Source code, classes and jar file are available in the repository. This application has been improved by the addition of a very simple GUI to stop and start the server which also gives the name of the Host.
3: This application uses sockets to manage logged in chatters messages to each other. Source code, classes and jar file are available in the repository. This application has been improved by the addition of a very simple GUI to stop and start the server which also gives the name of the host that clients should use to connect to the teams virtual environment.
4: This application allows clients to upload and download files from the server. Source code, classes and jar file are available in the repository. This application could be improved by the addition of a very simple GUI to stop and start the server.
5: Each worker in the team uses this app to chat, share files, handle documents, browse the web and manage task lists. This application requires the most work. Source code, classes and jar file are available in the repository. All five applications are at the prototype stage and help is required to package the prototype system so that it can be beta tested. I developed this system as part of my BSc hons degree in computing and I worked on it for nearly a year. I would rather not see all this work go to waste so if any developer could help me package and manage it I would really appreciate it!

 

Manager Overview Login Overview Chat Overview Files Overview Client Overview System Overview

 

Project highlights

Project Manager

The Manager Application GUI
picture of Manager GUI
This application is used on the server machine to set up a project building where each worker in the project team has a virtual room.

The Client Application

The Client application is run by the members of the project team. It has a very simple interface and networking is transparent to the user. Each workers application has its own unique properties which are downloaded from the server when the application starts. The GUI is a metaphor of a room and each wall in the room has its own function. The user turns in the room using the left and right cursor keys. This allows different facilities to be navigared very simply. Each facility can be left open and returned to by facing that direction in the room.

1: Visit Room (File Manager)


The door is actually a JButton which opens a panel displaying the rooms in the project. tooltips display the owners name. When a room's button is selected any available files uploaded by the rooms owner can be downloaded to the clients system. Files can be uploaded to the server too

2: Chat Manager


When the chat button is selected a list of users logged on to the chat server is displayed. once logged on messages are received from any co worker at any time. Messages can be sent messages by selecting there name in the list and typing a message. The chat facility is very simple and just receives and sends messages in any order to and from any worker logged on to the project team's chat server.

3: Task Manager


The task manager allows the creation and editing of task lists. Their status can be colour coded using the simple status pop up menu colour selector and they can be given priorities, start and end dates etc.

4: Document Manager


The document manager allows text files to be edited and created. It also allows HTML pages to be viewed locally. Files in rtf format can be viewed an edited too but their are is style property choices implemented yet. The Internet can be browsed by typing an address and using the browse button.

The Main Server

When the client application starts it displays a dialog box with a list of available project environments it downloads from the server. It allows the user to enter a username and password for their selected project. If this is incorrect the client app will not start. When the server validates the users details it sends their project environment details and continues to listen for connections from other users. The server has been configured to accept a maximum of 35 users at once.
The properties of the environment are stored in a simple properties file on the users system
Each user has their own room colour and image as set up on the server with the manager module

The File Server

This simple server uses java sockets to listen for connections on a designated port. It responds to upload and download requests. When a download request is receives it returns a list of available files for the selected user. When a file is requested it sends it to the client which saves it to the users system. When an upload request is received it saves the file in the correct worker's directory.

The Chat Server

This simple server uses java sockets to listen for connections on a designated port. When a connection occurs the users connection details are saved in a hash table phonebook. When a message is received the server delivers the message to the selected worker's machine. If a user disconnects or closes the chat manager the server removes them from the phonebook of logged in chatters and they can no longer receive messages until they log in again. There are no message queues so missed messages are not delivered.

Milestones

Milestone or objective 1

Provide documentation in web site format

design homepage using template (almost done)
provide overview of VCWE system (done)
Design HTML pages for each link on home page (almost complete)

Milestone or objective 2

Make source code available
The Manager Application's source code is available from the repository
I intend to modify the source code and upload the latest version of all files shortly. The program now works perfectly when run on the local hosts allowing client connections, chat etc. There is now one problem which I am investigating. This occurs when the clients are moved to separate machines In a LAN the program starts to execute - the user name and password are checked and the GUI starts unfortunately the GUI does not display correctly and this is what I am working on at the moment. The program is not using an application server (eg TomCat) and I dont have a domain name registered for the server machine. It may not be possible to use sockets alone over a TCP/IP connection?
any help with this appreciated

description

Milestone or objective 3

The poster can be downloaded or viewed in browser.
Publicise Project and get help
I have posted a help wanted message. but I dont think my sourcecode is up to date in the CVS repository

description

Releases

How this is done will need to be investigated.

Initial Propsal

The Development of a Virtual Collaborative Working Environment
Planning Project Aims: There are few Virtual Collaborative Working Environments (VCWE) s (At the time of writing) but many project managers commercially available, mostly expensive and complex to set up and use. [1] My prospective customer will be a team manager, overseeing collaboration on a project. They need a VCWE that needs no training, is fun and easy to use, and easily set up. Concerns are with, ease of use, speed and results - they have no interest in the intricacies of project management. This system aims to allow the set up and implementation of such a VCWE allowing team identity to be established speedily and improving the company's brand image and morale, thus getting any project off to a good start. Automated systems introduce an element of inflexibility to their users working environments. [2] *[1] This system aims to provide a flexible virtual work environment where the user's domain can be changed dynamically as needed to suit the level of security required. It should enable workers to communicate and interact intuitively without restriction. The GUI should be simple to use, requiring no training or vast user manuals, as I think users want to concentrate on their own work unhampered by further training. Therefore the GUI should be as intuitive as possible. Two modules will be required: A Manager Module (MM) - an application allowing the set-up of a VCWE. This module will: " Provide a GUI for a manager to allocate a work space (virtual room) for each employee " Enable the manager to easily set the attributes for the virtual environment " Allow the manager to save a virtual environment (folders, file structure and attributes) in a persistent format " Allow Opening and editing of a previously saved VCWE Each virtual room's attributes could include: Image number, authority code, owner details including password, colour and whether locked or not. The manager should be able to set up a working environment for a project easily and efficiently. Environments should be easily edited. The identified actions performed in the MM will be Build, Edit, Remove, Swap, Set, Open, Save and Exit. This should ensure the application is simple in structure and not bloat ware. The side panel will display the main buttons. Each button will start a function in the GUI displaying the relevant widgets for that function. The main panel will be returned to by clicking done. A vector storing initials of room owners will be used to keep the JList in the Edit panel updated. The current room is the selected index in the list box and its details will display enabling modification in the text fields of the edit panel.

Feedback

list of feedback and participation options including mailing lists, project owners/contacts, discussion forum, wikis etc Forums have been set up for this project