From CSULA CS Wiki
Jump to: navigation, search

Contents

Jan 5 (week 1)

  • This week Dr. Abbott gave an idea about the course. Dr Abbott also gave some ideas about the thesis and the projects student can choose.

Jan 12 (week 2)

  • I met with my adviser, Dr Kang and we are planning to work on a Project Management System which supports Animation Pipeline Program.
  • I am doing some research to find out how an animation movie is created in a professional environment so that I can get some idea that how my system can be helpful to them with their work.
  • Also I downloaded joomla and setup a website for class presentation. I also downloaded some external joomla component for the website.


Jan 19 (week 3)

Last week, I gave a presentation on Joomla which is a powerful Content Management System. I presented

  • 1. What are the requirements to install it.
  • 2. How we can setup Joomla in our system.
  • 3. Availability of different components and modules for different purpose.

I noticed that it is very easy with Joomla to install external components and modules to fulfill the requirements of different tasks on the website. In this simple process, we just download the module or a component from the website as a zip file, login to our web site's administrator interface and install it through the option of installer. I decided to see what actually the zip file contains which we download from the third party website. I started with the Modules. When I unzipped one of the modules, I found out that these modules contains two important files. One of them is a PHP file and other one is an XML file. To understand the importance of these two files and how they work, I did some google search. I found out an article which demonstrate how we can create a simple module. The structure of xml file is given below which is very simple.

<?xml version="1.0" encoding="iso-8859-1"?>
<mosinstall type="module" version="4.5.2">
 <name>Hello World</name>
 <author>Author Name</author>
 <creationDate>Month Year</creationDate>
 <copyright>(C) 0000 Name</copyright>
 <license>http://www.gnu.org/copyleft/gpl.html GNU/GPL</license>
 <version>1.0</version>
 <description>A module that says hello</description>
 <files>
   <filename module="mod_helloworld">mod_helloworld.php</filename>
 </files>
 <params />
</mosinstall>
mosinstall: This is the parent tag that defines the rest of the installer file for Joomla!. 
It has an attribute for type which in this case is module. It also takes a value for the version of Joomla! it can run on. name: This is the name of your module. author: This is the name of the author for the module. creationDate: This is the date the module was created. copyright: This is the copyright holder of the module's code. license: This is the name of, or a reference to, the license under which the module is released. version: This is the version of the module. description: This is a free text description of the module. files: This is a collection of the files included with the module. filename: This is a file that is used by the module. Any number of files can be listed, including files in a subdirectory.
The file that Joomla! calls to invoke the module must contain the module attribute that takes a value of the name of the file
without the .php extension.
  • When I checked the php file, it only has few header declaration and a text Hello World to display on the website.
  • Due to some health related problems, I was not able to meet my adviser this week to discuss regarding the thesis work.
  • After spending some time with Joomla, I found out that sometimes, it is not easy to get the exact modules or components for our website which meets our requirements. In such cases, if we can find the matching module, we can modify some of the properties and make use of it. I found this really interesting.
  • I also created one simple module which is a simple form where users are asked to answer few questions and the answers are stored in a text file on the server. I will present this demo next week during my presentation.

Jan 26 (week 4)

  • This week, I met with my adviser to outline a system which I have in mind.SciVi (Scientific Visualization Laboratory) is a group which supports public education in the field of science and cosmology by creating animation movies, simulation softwares, games and softwares (Maya Plugins).
  • The group involves students and faculties from Department of Physics, Department of Arts and Animation and Department of Computer Science.
  • SciVi needs a centralized system which can hold all the information together and a platform which can be used to share the information and communicate between the students and faculty members to reduce the use of personal emails.My task is to design such system for them and I will write my thesis on the design structure, work flow and the challenges which I face in the development of such system.
  • The basic requirement of the system is, a faculty member should be able to
    • 1. Create new Projects.
    • 2.Create and assign different tasks for projects to the students.
    • 3.Follow up the status of tasks. and
    • 4. Communicate with the students and other faculties.
  • A student should be able to
    • 1. View assigned tasks to them.
    • 2. Update the task status (task follow up)
    • 3. Communicate with other students and faculties.


Diagram.JPG


  • The other requirement of the system is to provide a task scheduler which is based on the current projects and assigned tasks to different students.All the projects and tasks are created on quarterly basis. Students will be assigned different tasks on weekly basis. The task scheduler should look like as shown in the image below.


Task Schedule.JPG


  • One more requirement of the system is to provide a Document Library which includes 1.File upload 2.Change file permissions 3.Version Control
  • Based on type of project (Animation/Simulation/Game/Software) the directory structure will vary.
  • Other features which I have in mind for the system are listed below.
    • Announcements (Bulletin Board)
    • Group Discussion (Forum, Open to all users, specific group)
    • Web forms Data gathering (Survey)
    • Live chat with the instructor and team members. (online meeting)
    • Messages (Internal Email to all members or specific group or individual)
    • Calendar (Private and shared calendar)
    • Web links (URL, description )
    • Directory (User List)
    • Help Desk
      • Ask questions to the administrator
      • Online User Guide
  • I think I still need to discuss more with my adviser regarding the requirements and the features for the system which I will do next week.

Feb 2 (week 5)

  • I spent my time for information gathering for such existing support system.
  • I found couple of systems which has similar sort of functionality. The one I liked is TrackPlus.
  • It is a bug tracking software which is used in Software industry where developers are assigned bugs and one can keep track of the assigned tasks and bugs. *I downloaded and installed TrackPlus in my computer to see what features it offers.
  • It provides a good user and admin interface from which I can get some idea that how the existing tracking systems work.
  • I noticed that it has pretty good features for tracking the tasks but apart from that it does not provide any other features which can help users to communicate with each other.
  • The name itself suggest that it is strictly a tracking system. I will present a small demo of this system in my next presentation.

Feb 9 (week 6)

  • This week, I did some project related tasks, like setting up the server and create a development environment.
  • I also discussed different aspects of the system with my adviser.
  • I am still looking for some existing Project Management Systems available. I want to make sure that I dont end up working on such system which is already been developed.
  • I also worked my Prospectus which still a rough draft of the details which I want to focus.

Feb 16 (week 7)

  • I met with my adviser to decide which features to include and the approach to achieve them.
  • I spent my most of the time to find how I can integrate PostgreSQL with Linux NIS accounts.
  • I noticed our college uses the same type of system. I tried to contact them to find out the details that how the database and NIS accounts are synchronized with each other but I didn't succeed in that.
  • I noticed few things on their system that they allow password change on their NIS server i.e sol.calstatela.edu.
  • Once the password is changed on this server by the command passwd the passwords are periodically updated after 15 mins on all other NIS client servers. It seems that when a user changes the password on the Sol system, it has been stored in a temporary database table and after 15 minutes it is updated on all the clients as well as the original database.
  • The main reason to synchronize NIS and PostgreSQL is to keep the same password for website and for the NIS account.
  • As there was no class for this week, I spent some time helping with ProgFest

Feb 23 (week 8)

  • This week I spent my time writing outline for my Prospectus.
  • I still need to come up with the flow diagram which will give details regarding how different modules will talk to each other.

Mar 1 (week 9)

  • This week, I worked on my Prospectus. There were few comments given by Dr. Abbott last week regarding my presentation. I tried to answer those questions by making changes to the prospectus.
  • Also I added the architecture diagram for the system. I am working on the use case diagrams and will be done with it by Saturday night.I will upload the use case diagrams as soon as I am finished with it.
  • Regarding the more features which differentiate my system from the existing systems, I am still in talks with my adviser and we haven't reached a conclusion for the same.
  • I have started implementation for some of the basic components of the system.

Mar 8 (week 10)

  • This week I worked on my Prospectus.
  • There were few suggestions given by Dr. Abbott, I tried to improve on it.
  • Also I spent some time developing basic features for the project