Architecture Overview
Download
Report
Transcript Architecture Overview
Noah Hilt (Team Leader, Communicator)
Josh Chapman (Facilitator)
Steve Koechle (Recorder, Communicator)
The International Small Group and Tree
Planting program (TIST)
◦ Helps subsistence farmers
Reverse deforestation
Provide a renewable fuel source
◦ Development goal
Empower and equip subsistence farmers to:
Restore their natural environment
Increase soil fertility
Create jobs
Strengthen the local community
Move from famine to surplus
Current Project Review Site
◦ No searching or filtering of results
◦ All data is public
◦ No per user information
PDAs Used For Data Collection
◦ Form editing program used to upload data
◦ No administration tool for content to be
downloaded
Download Manager
◦ Not a download manager for web portal
◦ Admin tool for selecting PDA downloads
Loosened Software Requirements
◦ Could upgrade database if necessary
◦ Allowed for non-PHP implementations
Built Using Yii Framework
◦ PHP framework
◦ Object Oriented
Model View Controller (MVC)
◦ Enforced by Yii framework
◦ Familiar paradigm
Iterative Process
◦ Easy to implement proof of concept
◦ Easy to extend existing implementation
AuthManager allows for Role Based Access
Control (RBAC)
Roles are defined
Users are assigned roles
Controller actions are restricted by defined
roles
Gets language preference from browser
If can’t translate use app language
Translations stored in the database
◦ SourceMessage Table (Application Language)
◦ Message Table (Available Translations)
Look and feel defined by a site-wide CSS
file
Single entry point to the web portal which
defines the main layout of the portal
Encapsulates database access
Method for each query
Methods return single data items or SQL
arrays
SQL arrays have columns renamed for
usability
What you will see
◦
◦
◦
◦
Authentication
User Management
Searching / Filtering Projects
Project View
Server
◦ Failed to receive a functional machine from NAU
Problem with setting up VMs
Disk Space
Installation Problems
Hardware server constantly crashed
Learning Curve
◦ Database Design
◦ Yii Framework
Design
Design Specification Draft
Design Specification Final
Implementation
GUI Interface
Database Interface
Translation
Administration/Authentication
Data Selection/Download
Advanced Information
Help/Instructions
User Testing
Start Date
Completed
Implemented solution with the Yii framework
in a MVC paradigm
Product is in Beta phase
◦ Ready for user testing
Project on schedule