Mobile Site Structure
Introduction
This page will be used to work out some of the details of the expected requirements for the Mobile site.
Design Tools/Thoughts
Platform
- Use Mobile Web Framework (MWF) open source mobile platform driven by UCLA
- Opensource
- Will be using it for other projects
- Cross platform - dont have to develop specific apps for iphone, android, and others
Data Source(s)
- Data driven from Scheduling system
- scheduling system will build the required databases during its processing
- should then correspond to main web site
- can reference PDFs on main site if needed
Layout
Initially start off allowing user to drill down to info. Eventually would like to use location and time to determine the possible starting point. Time could be used already to provide a good starting point once down to site
Goals
Provide a mechanism to get schedules on the field:
Get a teams schedule for a tournament
Information:
- Pool X
- game x - time - court x
- game x - time - court x
- game x - time - court x
- game x - time - court x
What we will need
- data from xml file...
- Associate the team in question with its number within the pool
- poollayout string
- courts string
- times string
Possible Approachs
Use session variables to track progress?
One
- User selects ??
- User selects tournament
- Get list of teams - all for tournament? all for division? all for the users site?
- User selects team - do we drill down through division?
Two
- select state
- select program
- From here we can get all events for this program
- select team
- with some work we can get all events for this team
- select date
Instructional Summary for Practices
Get team matchups on Intra-Site Gamedays
- Time X - Court X - Team X vs Team Y
- Time X - Court X - Team X vs Team Y
- Time X - Court X - Team X vs Team Y
Data Sources
The plan is to see if we can get all the info we need from the two reports produced by Rainier for the Scheduling system. Those can get dumped directly into tables in a sqlite db.
The Scheduling system will produce some additional tables with information derived from processing the data.
Event data from scheduling report:
Program Season, Type, LocationName, BegTime, EndTime, Address,,City,State, Zip,ID,IDq Calabasas Fall 2012,Practice,Chaparral Elementary School,9/11/2012 5:30:00 PM,9/11/2012 6:30:00 PM,22601 LIBERTY BELL RD,,CALABASAS,CA,91302,9823,147413
Team data from scheduling report:
SearchString, program Season,TeamName,Program Season,Division,??,??,TeamNumber,CoachName Teams with Program Name like %Fall 2012%,Team 01,Agoura Hills Fall 2012,7-8,1,,1,Ian Goldey
sqlite DB structure
CREATE TABLE ev (evid integer primary key,season text ,program text ,name text ,date text ,ds text ,time_beg text ,time_end text ,dow text ,location text ,addr text ,city text ,state text ,zip text ); CREATE TABLE gm (gmid integer primary key,tmid1 integer ,tmid2 integer ,evid integer ,court integer ,game integer ,pool text ,time text ); CREATE TABLE tm (tmid integer primary key,season text ,program text ,num integer ,name text ,div text ,court integer ,coach text ,tshirt text );
Data Harvesting into DB
The data for the mobile app is currently harvested from the scheduling system as part of the routine processing.
The usyvlInputData.php script has routines that prep and create the ev and tm tables in the database.
The xmlHarvest.php script harvests the game information and dumps it into the sched db 'gm' table. It derives information from the XML files produced. team id and event id is added to scheduling entries to track through the system. The info is added to the XMLfiles to be harvested to get team matches.
Some useful selects from the db that we will use for the mobile site
select distinct season from ev; select distinct state from ev; # get states that have evs select distinct state from ev where season = 'Spring 2013'; # get states that have evs for the given season select distinct program from ev where state='CA'; # get California programs select distinct tm.name from tm left join ev on ev.program = tm.program where ev.program = 'Goleta'; # get Goleta teams select * from gm left join ev on gm.evid = ev.evid where tmid1 = 20 or tmid2 = 20; # select all matches for tmid = 20;
Steps through the mobile site
- season
- state
- program
- team
- day
- schedule for that day
Thoughts
We currently do no map teams through on practice events (ie: mapping to an event description and a particular court). This could be useful.