Current MS Students/Jigar Patel/Prospectus
From CSWiki
SciVi Project Management System
Contents |
[edit] What I am planning to accomplish
Scientific Visualization Lab(SciVi) is a group which involves students and faculty members from Department of Physics, Department of Arts and Department of Computer Science at California State University Los Angeles. The aim of this group is to produce animation movies for the field of cosmology and astronomy as well as to create simulation programs and games which involves knowledge of physics.The concept and the background mathematics is provided by physics students, arts students are responsible for creating 2D and 3D animation and computer science students are responsible for developing simulation programs, games and providing support by developing Maya plug-ins, system administration and Project Management website. Each project involves students from different discipline and there is a strong requirement where they can share project related information.Also the faculty members need a task follow up for each project and a better way of communication then emails.As this group deals with animation movies, the file sizes, instead of downloading the files, users should be able to view content in a web based interface. Instead of text based comments, I plan to provide a feature of audio comments which other systems do not provide. Being a part of this group, my role is to develop a project management website, a centralized system which can be used to organize the group work.I plan to develop a web based project management system which will be helpful to the group and write a thesis which describes challenges and difficulties involved with development of such system.
[edit] Features
[edit] Basic Features
- Create/Edit/Delete new project by Administrator or Faculty members
- Create/Edit/Delete new tasks for a particular project by Administrator or Faculty.
- Assign tasks to students.
- Task Follow-up
- Task Follow-up works as a forum thread for certain project where students who are assigned the specific tasks and the faculty members can put the comments regarding the task status or milestones for the tasks.
- Any changes to the task follow-up report will update the corresponding users via an email that there is an update for a specific task.
- Document Library
- Document Library is a main feature of this project. As the system is planned to integrate with Linux NIS accounts and postgreSQL, the files uploaded should be stored with the specific username and file permissions. Users who are assigned to common tasks, should be able to share the documents.
- Announcements and Forum
- Announcements created by Faculty or Administrator will be displayed on home page as the user login.
- Forum will involve standard features of a forum of create/edit/delete threads. Post reply and upload files.Subscribed users will be notified by an email regarding the new forum post.
- Web Forms Data gathering(Survey)
- Survey module will include the feature where administrator created survey will be taken by the group of members defined by administrator.
[edit] Advanced Features
- Live Communication between the students and faculty members. (i.e Live chat, Web conference)
- Audio/Video comments.
- Faculty members can give the comments in the form of an audio/video and students should be able to respond the the comments in the form of audio/video as well as text based comments.
- Calendar (Private and Shared Calendar)
- WebLinks(Useful weblinks for different tasks)
- User Directory
- Help Desk
- Ask question to administrator
- Online User Guide
- Web based content Viewer.
- In large case, animators deal with large file size i.e. video/audio and also PDF and PPT files. Instead of downloading them to view, I plan to design a sophisticated interface which will display the file on a web browser.
[edit] Issues to be investigated
The requirements of the Animation industry is different from other fields. There is a good amount of work done to develop different project management systems which can be useful to variety of industry. Most of them meets the minimum requirements of a system needed for the Animation industry but doesn't satisfy all the requirements which brings a question to develop such system. Most of the existing project management systems available in the market are commercial and the open source project management systems are not that nicely designed and written in PHP.
[edit] High level architecture
- I will be using Spring Framework Architecture provided with JMS chat server architecture and also including NIS User Management.
- Frameworks
- Security: Acegi
- CSNS uses Acegi for security. I have to edit the existing configuration of Acegi to add more roles and access list for restricted resources.
- Build: Ant, Hibernate Annotations
- The system will use Ant for compilation and deployment of application. It will also use Hibernate Annotation for object mapping.
- Front-end:
- Server Side: JSP, JSTL, display tag library, taconite and Spring WebFlow
- Client Side: JavaScript,AJAX
- Backend: SPRING, HIBERNATE
- 3rd Party Api: JUNIT, Log4J
- Security: Acegi
[edit] Why this is academically interesting
- As I always liked web programming, I find this interesting to develop such system which involves java programming with spring architecture and hibernate.
- It requires very sophisticated User Interface which I have never worked before.
- It involves integration between Linux NIS accounts and postgreSQL database which I find very challenging.
[edit] Intended audience
People who deal with Project Management systems as well as web programming. (In terms of thesis) Users of the website (In terms of use)
[edit] Why this is MS-level work
- The features which I plan to implement seems common but there is no single centralized system which include all the features and it differs in terms of the architecture which I am using and the existing systems are built of.
- This will be a challenging task for me to develop such system which involves understanding of a complete work flow of an application and good amount of web programming.
- I will be reusing the structure of CSNS system to implement the system which will involve the understanding of CSNS system. The system will also provide a sophisticated User Interface which is not available with most of existing project management systems.
[edit] Previous work
- Web based Project Management has been done from quite a good time. There are many systems available but most of them are specific for certain requirements and focusing a specific area of people. There is not much of development done for the people for Animation. There are studios like Pixar, Disney, Sony, Rythem and Hues and many more which uses some internal project management systems but for us, it is not possible to find out the details. Also most of the systems which are available in the markets are commercial and there are only couple of open source systems like dotProjectand project-open.
[edit] Anticipated challenge(s)
[edit] Challenge(s)
- To build a single system with the above mentioned features under spring framework would be a difficult task.
- Integration between PosgtreSQL and Linux NIS accounts.
- To provide live communication (text based chat or Video conference)
- Implementation of audio/video based comments feature.
- Document Library (File permission and File structure)
[edit] Anticipated approach to each challenge
- Integration between PostgreSQL and Linux NIS account requires modification of some system files which are accessed when a user is created or when user changes the NIS password. I came across our college centralized NIS based system which led me to the solution where the information is periodically updated to the database.
- For live communication, I am still not sure which approach to go with. I am trying to figure out which will be the best option for the same.
- When any file is uploaded to the server, the default file owner and the group is set to be the apache server user which is created in the system. To change it to a specific user, it will involve some perl or shell scripting where the details of the file is read from the database and according to the same the user and group information for files are changed.
- For Database access, I will create DAO (Data Access Object) layer using Spring and Hibernate.
- For advanced feature I will create Java Tag Library and separate javascript library.
- I will also use JSTL, Spring tags, taconite, display tags and Acegi tag library.
[edit] What I bring to this work
[edit] My relevant background and experience (CS 590)
- I have been working with SciVi group since Spring 2007. This helped me understand their requirement regarding the project.
- I took CS520 (Advanced Web Programming) in which I studied all the technologies required to implement the project.
- In CS520 class, I worked on a CSNS Survey module which helped me to understand CSNS code.
- I am taking CS590 in winter quarter 2008. This class helped me to define my project description, initial goals and objectives.
[edit] What I find interesting about this work
I want to work on a Web based project which implements all the advanced technologies and framework. Writing a thesis on the challenges involved in development of such project management system is very interesting for me.



