Setting+up+the+application

=Setting up the Language Learning phone app=

Checking out the code
The code is currently under version control on my personal server. We'll have to move it over some time soon...

You're going to need an SVN client like [|Tortoise SVN].
 * Username: n_gineer
 * Password: boxLab666

Anyway, you need to check out three projects: code svn://pan.mit.edu/projects/LanguageLearningToolRemote svn://pan.mit.edu/projects/House_n/UDPServer svn://pan.mit.edu/projects/House_n/Utilities code

Arrange them in the following file structure:
 * LanguageLearningToolRemote
 * House_n
 * UDPServer
 * Utilities

Open up the solution file in LanguageLearningToolRemote.

File structure
The file structure that the app uses is as follows:
 * /Program Files/LanguageLearningToolRemote_PocketPC
 * languagelearningtoolremote_pocketpc.exe
 * other binary files
 * /Storage/ApplicationData/Language Learning
 * settings
 * system_settings.xml
 * files
 * items.txt
 * kiosks.txt
 * sensors.txt
 * logs
 * Logs generated by the app are placed here. This system isn't used nearly that much anymore, but if something isn't working, you could try reading a few of them for clues.

Settings
Settings are stored in the **system_settings.xml** file.
 * To restore all settings to their defaults, simply delete the .xml file. A new one with default values will be generated.
 * If you want to add a new setting, I suggest adding it in the "generateDefaultSettings" function in the SharedResources class. That you'll still have a value to work with even if the settings file gets deleted.

Control files
These are: **items.txt**, **kiosks.txt**, and **sensors.txt** and control various aspects of the system's behavior.

items.txt
This file lists every type of object the user might attach a sensor to, one per line.
 * If a line starts with an asterisk (*), the system will treat that object as a **container object**. This has certain repercussions, among them the ability to add sub-objects.

kiosks.txt
This maps kiosk numbers to the names of the rooms they reside in. For example, if Kiosk 3 was in the living room, add the line:
 * 3,Living room

sensors.txt
The system uses this to keep track of the sensors that it has added. It manages this itself, but if you ever need to look at it, the form is: So, for example, sensor #123 attached to a chair in the living room (Kiosk 3) would be:
 * sensorId,kioskId,objectName
 * 123,3,chair