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!
Project highlights
Project Manager
The Manager Application 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