Tera-WURFL Administration
Version Stable 1.5.2a


<< Back to main page

Database Table Statistics
DB_DEVICE_TABLE
tera_wurfl_devices
Rows: 0
Actual Devices: 0
Table Size: 0 Bytes
Purpose:
The device table holds the data from the WURFL file, whether it be local, remote or remote CVS, the whenever a new WURFL is loaded, it is loaded into this table first. The data in this table is never modified, and if patching is disabled, this table is queried for the device in question.
DB_PATCH_TABLE
tera_wurfl_patch
Rows: 133
Actual Devices: 1
Table Size: 33.48 KB
Purpose:
The patch table holds the data from the patch file, much like the device table, this data is not modified unless a new patch is loaded. When patching is enabled, this data is merged with the device table to create the hybrid table.
DB_HYBRID_TABLE
tera_wurfl_hybrid
Rows: 133
Actual Devices: 1
Table Size: 33.48 KB
Purpose:
The hybrid table is a combination of the device table and the patch table. People ask about this all the time so pay attention :) When you apply a patch to the main WURFL database, Tera-WURFL has to resolve conflicts between the main WURFL (the device table) and the patch table. Let's say you know that a Motorola RAZR has MP3 capability but the WURFL says it doesn't. You would figure out what WURFL DEVICE_ID the RAZR has, and you would add an entry in your patch file with that capability set correctly. Now, when you apply the patch, the script realizes that the RAZR exists in both the device table and the patch table - so it takes all the capabilities from the device table and puts them in the hybrid table, then it takes all your changes in the patch table and overwrites the existing ones in the hybrid table, effectively merging the conflicting items. Whenever you change the device or patch data, you force Tera-WURFL to rebuild the hybrid table and you are presented with some stats about how many devices from your patch file are added and how many are merged. If you have patching enabled, this table is queried for the device in question.
DB_CACHE_TABLE
tera_wurfl_cache
Rows: 236
Table Size: 116.85 KB
Purpose:
The cache table stores unique user agents and the complete capabilities and device root that were determined the last time it was processed. Any time the patch or devices table is updated, the cache table is cleared since the underlying data may have been modified - leaving the cache tainted.



Tera-WURFL Settings

-- Database options --
DB_HOST localhost , database server hostname or IP
DB_USER wurfluser , database username (needs SELECT,INSERT,DELETE,DROP,CREATE)
DB_PASS ********, database password
DB_SCHEMA tera-wurfl , database schema (database name)
DB_TYPE MyISAM , database table type (MyISAM, InnoDB, HEAP, etc...);
DB_DEVICE_TABLE tera_wurfl_devices , database table name for the WURFL
DB_PATCH_TABLE tera_wurfl_patch , database table name for the patch
DB_HYBRID_TABLE tera_wurfl_hybrid, database table name for the Hybrid of the WURFL and the patch
DB_CACHE_TABLE tera_wurfl_cache, database table name for the cache
DB_MULTI_INSERT true , use multiple inserts to speed DB updating
DB_MAX_INSERTS 500 , number of inserts per query
DB_EMPTY_METHOD DROP_CREATE , either DROP_CREATE or EMPTY; method for emptying tables.
DB_TEMP_EXT _TEMP , extension that will be used for temporary tables like "mytablename_TEMP"

-- General options --
WURFL_DL_URL http://wurfl.sourceforge.net/wurfl.xml , full URL to the current WURFL
WURFL_CVS_URL http://wurfl.cvs.sourceforge.net/%2Acheckout%2A/wurfl/xml/wurfl.xml , full URL to development (CVS) WURFL
WURFL_CONFIG true ,lets other file know the config is loaded
DATADIR /var/www/ringtones/tera_wurfl/data/ , where all data is stored (wurfl.xml, temp files, logs)
IMAGE_CHECKING true ,checks the IMAGE_DIR for an image that matches the device
IMAGE_DIR device_pix/ , relative path to the device images with trailing slash
WURFL_CACHE_ENABLE true, enables or disables the cache
WURFL_PATCH_ENABLE true , enables or disables the patch
WURFL_PATCH_FILE /var/www/ringtones/tera_wurfl/data/web_browsers_patch.xml , optional patch file for WURFL
WURFL_PARSER_FILE /var/www/ringtones/tera_wurfl/admin/tera_wurfl_parser.php , path and filename of wurfl_parser.php
WURFL_CLASS_FILE /var/www/ringtones/tera_wurfl/tera_wurfl.php , path and filename of wurfl_class.php
WURFL_FILE /var/www/ringtones/tera_wurfl/data/wurfl.xml , path and filename of wurfl.xml
WURFL_LOG_FILE /var/www/ringtones/tera_wurfl/data/wurfl.log , defines full path and filename for logging
LOG_LEVEL LOG_WARNING , desired logging level. Use the same constants as for PHP logging
MATCH_TO_UA_PREFIX true , if true, matching will stop if the user agent prefix cannot be matched
RETURN_GENERIC false , if true, a generic device will be used if there is no match

 

Log File (last 30 lines)
Thu, 20 Nov 2008 23:34:55 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_GetFullCapabilities] ERROR: Killing runaway while loop - $_id=danger_hiptop_ver2
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id danger_hiptop_ver1 is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<
Thu, 20 Nov 2008 23:34:54 -0500 [tera-ubuntu1 28124][_getDeviceCapabilitiesFromId] ERROR: the id generic is not present in wurfl >>HOW DID THIS HAPPEN???<<