Names: Andrew Deason Period 1 Bryan Rau-Jacobs Period 1 Eric Harmon Period 1 Andrew Smith Period 5 I. Title Development of a Object-Oriented Module-based Extensible Student Intranet Web Application in PHP5 II. Problem Statement The current aging Intranet is not adequate to fit our needs. It is not designed in an object-oriented approach, and is very difficult to extend or add new features to. Since new requests for Intranet are building up every day, we need a new platform for developing new features and fixing bugs. III. Purpose The purpose of this project is to develop a new Intranet system to replace the current one. It will implement several ideas in Object-Oriented programming, and collaborative development. Many people at TJ will be interested in the results, since the entire school will be using this system. IV. Scope of Study Subjects that will need to be studied are Object-Oriented programming, collaborative development, GUI design, and web design standards. This project will cover developing systems for 8th period, announcements, file access, user administration, and any other feature currently in use by the current Intranet. V. Background The best background available is an empirical study in the field that Intranet2 is entering; it's called Intranet. We accept requests and complaints about Intranet and make sure that Intranet2 will do better. First, Intranet2 is implemented in a future-compatible way with pure object-oriented code. Second, the display and logic layers are separated by Smarty TPL. Finally, the modular core architecture lends itself to development of additional functionality to suit changing needs. VI. Procedure and Methodology The main workload of Intranet2 is all coded in PHP5, a server-side language primarily used for websites that also supports an Object-Oriented programming model. We will also make use of XHTML, CSS, Javascript, and the Smarty template engine for displaying information. Small parts of Intranet2 might involve some C coding using the Zend engine (in the form of PHP extensions), but that may not be necessary. The project must be ready for release by the target date, winter break. This project, being entirely software, only requires a server on which to run and a network connection for that server in the physical world. Virtually, it requires Apache, mod_php5, mod_ssl (optional), mod_rewrite, an authentication scheme, Smarty TPL (http://smarty.php.net), MySQL server, and a form of SCM for development (currently, Mercurial from http://selenic.com/mercurial, soon to be Subversion on TJForge, hopefully). For graphics, the main page logo is the only graphic that must be created; we'll also probably make different graphics to augment the attractiveness of the application. Student eighth-period data and scheduling information as well as directory info will be needed. They will be converted from the current Intranet. The data do not need to be tested nor analyzed as they are known to be good. VII. Expected Results & Value to Others We expect to create a viable substitute for the current Intranet system. Visuals will include theorized screenshots of the application, and possibly charts comparing the running speed of the previous Intranet and Intranet2, using a benchmarking tool, which we will also develop. We expect to release a usable version of the application by Winter Break of 2005, but will continue to add features and fix bugs for the duration of the year. Contributions to future people will be an example of how PHP can be used to develop an object-oriented application that actually works and runs quickly. The breakdown of tasks is usually done per-module in the Intranet system, but developers will be assigned a general area of modules to work with, as well.