Clay SchumacherJosh WeisskopfCory Simon Advisor: Tien Nguyen Reiman Gardens Plant Database Dec 08-06.

Slides:



Advertisements
Similar presentations
WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
Advertisements

Copyright © 2006 Help Desk Systems, Inc. All rights reserved. Overview of Help Desk Systems Inc. (HDSI) HDSI offers a hosted, web based trouble ticket.
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
SOFTWARE PRESENTATION ODMS (OPEN SOURCE DOCUMENT MANAGEMENT SYSTEM)
Reference and Instruction Automated Statistics Gathering and Reporting System Members: Patrick Chen (pyc7) Soo-Yung Cho (sc444) Gregg Herlacher (gah24)
Accounting & Billing System for the WEB Centre GDP 19 Donna Crawford (dc899) Chris O’Neill (ckjon101) Amit Shah (ams401) David Newman (drn101) Supervisor.
Reference and Instruction Automated Statistics Gathering and Reporting System Members: Patrick Chen (pyc7) Soo-Yung Cho (sc444) Gregg Herlacher (gah24)
New Student Orientation Registration System Stephen Nakamura EE496 Final Presentation Fall 2008.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
INTRO TO MAKING A WEBSITE Mark Zhang.  HTML  CSS  Javascript  PHP  MySQL  …That’s a lot of stuff!
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
User Group 2015 Version 5 Features & Infrastructure Enhancements.
Linux Operations and Administration
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
Open source administration software for education next generation student system Using the Kuali Student Configurable User Interaction Model & Framework.
Team Ceres 486/CS/09-Projects/Ceres 486/CS/09-Projects/Ceres.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
RUG Australia meeting 2012 Feb 6, V Tiers & sequencing suppliers Tiers and sequencing and load balancing  Tiers = groups of suppliers.
Joel Bapaga on Web Design Strategies Technologies Commercial Value.
Session 5: Working with MySQL iNET Academy Open Source Web Development.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
Design for Senior Project December 05, 2007 Raytheon_Design_Review.ppt 1 of 19 Raytheon – Google Earth Roy Daniels, Marc Maciel, Rifina Pierre Department.
About Dynamic Sites (Front End / Back End Implementations) by Janssen & Associates Affordable Website Solutions for Individuals and Small Businesses.
Tutorial 10 Adding Spry Elements and Database Functionality Dreamweaver CS3 Tutorial 101.
Oracle Application Express 3.0 Joel R. Kallman Software Development Manager.
Global Customer Partnership Council Forum | 2008 | November 18 1IBM - GCPC MeetingIBM - GCPC Meeting IBM Lotus® Sametime® Meeting Server Deployment and.
Web Based Inventory Site Building Room Asset Number Category Type Description Serial Number Manufacturer Model Vendor Name Acquired Date P O Number Budget.
May Client Dustin Gray Associate Director of Compliance ISU Department of Athletics Faculty Advisor Dr. Doug Jacobson Development Team Andy Dorman.
ASP.NET Web Application and Development Digital Media Department Unit Credit Value : 4 Essential Learning time : 120 hours Digital.
Content Management Systems Week 14 LBSC 671 Creating Information Infrastructures.
Reiman Gardens Plant Collections Database (Dec 0806) Reiman Gardens, one of the largest public gardens in Iowa, occupies 14-acres on the Iowa State campus.
Statistics Monitor of SPMSII Warrior Team Pu Su Heng Tan Kening Zhang.
CakePHP is an open source web development framework. It follows Model-View- Controller and is developed using PHP. IT is the basic for user to create.
Creating Dynamic Web Pages Using PHP and MySQL CS 320.
About These Slides This slide set is designed to be used with the OMA sample application It is recommended you follow the steps outlined in the “Preparing.
WEP Presentation for non-IT Steps and roles in software development 2. Skills developed in 1 st year 3. What can do a student in 1 st internship.
Web Database Programming Week 7 Session Management & Authentication.
GOAL User Interactive Web Interface Update Pages by Club Officers Two Level of Authentication.
Chapter 4: Working with ASP.NET Server Controls OUTLINE  What ASP.NET Server Controls are  How the ASP.NET run time processes the server controls on.
 Registry itself is easy and straightforward in implementation  The objects of registry are actually complicated to store and manage  Objects of Registry.
Introduction and Principles Web Server Scripting.
D R A T D R A T ABSTRACT Every semester each department at Iowa State University has to assign its faculty members and teaching assistants (TAs) to the.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
Rolando Gaytan Clay Schumacher Josh Weisskopf Cory Simon Aaron Steil (Reiman Gardens) – Client Dr. Tien Nguyen - Advisor.
Date : 3/04/2010 Web Technology Solutions Class: PHP Web Application Frameworks.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
JavaScript Introduction and Background. 2 Web languages Three formal languages HTML JavaScript CSS Three different tasks Document description Client-side.
GROUP PresentsPresents. WEB CRAWLER A visualization of links in the World Wide Web Software Engineering C Semester Two Massey University - Palmerston.
ECpE Student Database Team 21 Adviser: Tien Nguyen ECpE and Tony Moore.
Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the Web presented by Kedar Desai Differential Technologies,
Session 11: Cookies, Sessions ans Security iNET Academy Open Source Web Development.
Introduction. Internet Worldwide collection of computers and computer networks that link people to businesses, governmental agencies, educational institutions,
1/7/2016www.infocampus.co.in1. 1/7/2016www.infocampus.co.in2 Web Development training gives you and all-round training in both the design and the development.
CAESked Computer Aided Engineering Scheduler. Introduction Team Members: Chris Fruin & Jerry Grochowski What CAESked is: Web based class scheduling application.
Expertsfromindia for Joomla Development. Introduction Joomla is an open source and free content management system (CMS) for publishing content on the.
Web Technology Solutions
Architecture Review 10/11/2004
Group 18: Chris Hood Brett Poche
Introduction to Dynamic Web Programming
Introduction and Principles
Content Management Systems
Hidaya Institute Of Science & Technology
PHP Training at GoLogica in Bangalore
PHP / MySQL Introduction
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
Web-Based Information Management Program
Web Application Development Using PHP
Presentation transcript:

Clay SchumacherJosh WeisskopfCory Simon Advisor: Tien Nguyen Reiman Gardens Plant Database Dec 08-06

 Reiman Gardens ◦ Occupies 14 acres on the ISU campus ◦ Indoor and outdoor gardens, five greenhouses ◦ Keep detailed records of all plants in the gardens  Existing Database System ◦ Difficult to use ◦ Isolated from other software and equipment ◦ Inaccessible to the public

 Create a new plant database for Reiman Gardens: ◦ Primary:  Plant record management  Friendly user interface  Low Cost ◦ Secondary:  Create files for label making machines  Allow public access  Print forms for use in the gardens

 The product shall store nine types of records: Accession, Genus, Species, Supplier, Location, Reference, Family, Photo, and Propagation  The product shall allow users to create, edit, view, and search records  The product shall have three user groups: administrator, staff, and public  The product shall export files containing plant information to be printed by label makers

 Shared Drive Database ◦ Similar to existing system, host database on the existing shared drive at Reiman Gardens  Local Server ◦ Use a web based approach hosted on a new server at Reiman Gardens.

 Web based system hosted off site ◦ Capable of satisfying all requirements ◦ Familiar interface for users ◦ Tested and supported design  LAMP server solution stack ◦ Linux operating system ◦ Apache web server ◦ MySQL database management system ◦ PHP scripting language

 Positive Plant record management Relatively low cost Customized user interface Public access Customized file output  Negative -Cost: previous system was free -Capability: commercial systems have more functionality

HTTP Server PHP Database Queries Responses Server Web Browser Client Label Makers Public User Registered User

 Initially had four members – scheduled 135 hours for each 1st Semester, 90 hours for each 2nd semester  Created WBS for each semester and assigned tasks to each group member ◦ Major headings:  Project Plan  Design Document  Implementation  User Manual  Testing

 We had produced a basic system design ◦ Ready for development  Total hours to this point: ◦ 538 (out of 540 scheduled) ◦ Rolando: 123 ◦ Clay: 134 ◦ Cory: 135 ◦ Josh: 146  Planned to finish implementation by Thanksgiving

 Input: HTTP Page Requests  Output: HTML, CSS, JavaScript, and Labelmaker Files

 Login Page  Welcome Page  Help Page  Search Results Page  Model Index Page  Add Record Page  View Record Page  Edit Record Page

 CakePHP is a rapid development framework for PHP ◦ Based on Model-View-Controller architecture pattern ◦ Easy installation and no configuration required ◦ Active community with useful forums ◦ Object oriented design

Species Genera Families Suppliers Gardens Users Nativities Accessions Alternative Names Removals Propagations References

 All Models inherit from AppModel class ◦ Defines defaults that can be overridden  Each class defines key fields and methods ◦ Validation rules and error messages ◦ Identifying field for auto complete ◦ Input Cues ◦ Related models ◦ Visible fields and related models ◦ Get display name function – for special names  CakePHP provides functions through model classes for retrieving/saving info from the DB

 AppController Superclass ◦ Contains index, add, edit, and view ◦ Contains search and autocomplete functions ◦ Verifies authentication, access control  Additional Actions: ◦ Accessions and Gardens: Export to Excel ◦ Species: Upload Image, Remove Image, Full Image ◦ Users: Login, Logout, Register, Reset Password  Unique Controllers ◦ Species: Overwrites add, edit, view ◦ Genus: Overwrites add, edit

 Classes containing useful functions for controllers  Prebuilt components ◦ used by users controller ◦ Auth, Session, Cookie: used for authentication  Custom components ◦ Upload: used for uploading images

 Views are the interface  Layout ◦ Defined in one file and used everywhere ◦ Header  Navigation, Search, Breadcrumbs ◦ Footer  Content ◦ Individually defined for each controller and action ◦ Sandwiched between header and footer  CSS ◦ Defined in one file and used everywhere ◦ Dictates cosmetics (positioning, color scheme, etc.)

 Helpers ◦ Classes that provide presentation logic ◦ Standard CakePHP helpers:  HTML, Javascript, Form, Ajax, and Pagination ◦ Additional helpers  Breadcrumbs and Excel.xls generation ◦ Custom helpers  Add, edit, view forms and cosmetic markup  Elements ◦ Reusable chunks of markup (mini-views) ◦ Custom element standardizes search results, indices

 Label maker software accepts Excel files containing data  Fields: ◦ Accession Number ◦ Common Name, Genus, Specific Epithet ◦ Variety, Subspecies, or Forma ◦ Cultivar, Family ◦ Nativity ◦ Quantity, Size ◦ Source, Date Planted, Notes

 Subversion ◦ Version Control  Trac ◦ Project management  Wiki  Issue tracking  Activity log  Apache ◦ Web Server  Samba ◦ File Sharing

 A basic process was followed for each team member to accomplish a task

 Alpha Release – November 9 ◦ Basic functionality  Beta Release – December 3 ◦ Feature complete  Final Release – December 15

 Imported taxa from USDA database to create a large load on the system  Over 400 families, 4000 genera, species  Highlighted deficiencies in code ◦ Areas that weren’t limiting query results  Beneficial side-effect: system is pre- populated with taxa

 Public users cannot edit any database information  Users must be registered by an administrator  Authenticated users use SSL for all data transfers  Authentication verified before any controller action is executed  Data Sanitization – CakePHP Component ◦ Remove any HTML, PHP, Javascript, or SQL in input

 One of the most important functions for the database is the search  CakePHP provides model functions to search the database ◦ Powerful, but unfamiliar – learning curve  A challenge to search for records of one model that are related to another

 Basic search strings match as “and” terms delimited by spaces ◦ To match a record must contain a match for each term (in any field)  Which related models to search for each model is specified in the model class  User has finer grain control over results displayed – still refining  Code is modular for search and index ◦ Search uses index of each model being searched ◦ Use a common view element to display results

 Individual Accession or all Accessions from a garden can be exported to an.xls file  File serves dual purpose ◦ It can be printed and serve as a hardcopy report ◦ It is compatible with label-making software

 Currently all requirements are met  The project is very nearly complete ◦ Finish Search ◦ Create Help Page ◦ Visual touch-ups  Expect to be finished by next week

 Evaluated progress, reduced scope with client approval on November 13  Redesigned photo requirements ◦ Previous requirement:  Independent model containing pictures associated with Gardens, Species, and Accessions ◦ Reduced requirement  Photo field in Species model only

 Spring: 538  Fall: 658

 BCWS: 900 $10/hour = $9,000  ACWP: $10/hour = $11,960  BCWP: $9000 x 95% = $8,550  Cost Variance: 9,000 – 11,960 = -2,960  Schedule Variance: 8,550 – 9,000 = -450  Cost Performance: 9,000/11,960 =  Schedule Performance: 8,550/9,000 = 0.95

 Lost team member prior to implementation phase ◦ Chose to proceed as planned  Significantly more hours ◦ Should have reassessed requirements and reduced project scope  Could have dropped public access and used a single log on system  Selected CakePHP during design phase ◦ This was the right decision ◦ Should have created CakePHP prototype during design phase  Would have helped the team understand capabilities and limitations  CakePHP is complicated, would have jumpstarted our development