Downloads

From Tera-WURFL

Revision as of 11:47, 3 February 2010 by Kamermans (Talk | contribs)
Jump to: navigation, search

Contents


About

Tera-WURFL 2.x does not include WALL4PHP. If you would like to use WALL4PHP with version 2.x, you must download the updated package below. This version is compatible with all versions of Tera-WURFL. To get WALL4PHP working with Tera-WURFL 2.x, download the latest WALL4PHP file from this site, then extract the ZIP archive wherever you like. If you extract it the same folder that the Tera-WURFL folder is in, you shouldn't have to update the WALL configuration. Otherwise, edit wall_prepend.php and change the path to the TeraWurfl.php file. You can find the full path to Tera-WURFL in the Tera-WURFL admin site under Statistics, Settings, Log File, then look for Installation Directory.

IMPORTANT: If you are using TeraWurfl 2.0.0 Stable and are experiencing problems with Firefox being detected as a mobile device, please goto your Web Administration Page and click on Generate Patch File, then paste the following user agents into the box, then click the Generate Patch File button and go back to the main admin page and click Update WURFL from local file. This will override the data in the WURFL and force the Firefox user agents to be detected properly.

Mozilla/5.0 (Windows; U; Firefox
Mozilla/6.0 (Windows; U; Firefox
Mozilla/5.0 (X11; U; Linux i686; Firefox
Mozilla/6.0 (X11; U; Linux i686; Firefox
Mozilla/5.0 (X11; U; Linux x86_64; Firefox
Mozilla/6.0 (X11; U; Linux x86_64; Firefox
Mozilla/5.0 (Macintosh; U; Firefox
Mozilla/6.0 (Macintosh; U; Firefox
Mozilla/5.0 (X11; U; FreeBSD Firefox
Mozilla/6.0 (X11; U; FreeBSD Firefox

Current Version

Older Versions

Version History

Version History

Stable 2.0.0

NOTE: you need the CREATE ROUTINE and EXECUTE permissions as of this release

Pre-Release 2.0.0 RC5

Spent a week sifting through 30,000 unique user agents over and over again while making adjustments to the UserAgentMatchers. The device detection is now extremely accurate. Not only will it detect mobile devices accurately, it is also very good at differentiating between wireless and non wireless devices. Here are the major changes:

User Agent: Alcatel-OT-280/1.0 model-orange ObigoInternetBrowser/Q03C Matcher History: AlcatelUserAgentMatcher(exact), AlcatelUserAgentMatcher(conclusive), AlcatelUserAgentMatcher(recovery), CatchAllUserAgentMatcher(recovery) This shows that the User Agent was assigned the Alcatel Matcher, but after looking for an exact match, a conclusive match and a recovery match, no match could be found - therefore the CatchAll Matcher was used to make a last-resort desicion.

Tera-WURFL Total Time: 12.081017971039 sec Devices Processed: 23902 Total Queries: 23912

WURFL PHP API Total Time: 217.57795381546 sec Devices Processed: 23902 Total Queries: N/A

As you can see, Tera-WURFL is still the best choice for accuracy and performance. Tera-WURFL may be even faster than these number indicate since the WURFL PHP API was benefiting greatly from my Samsung SSD.

Hardware used for testing: Dell Studio XPS Laptop, Core 2 Duo 2.8GHz, 4GB DDR2, 256GB Samsung SSD, Microsoft Windows 7 Ultimate x64, WampServer 2.0 (Apache 2.2.11, PHP 5.3.0, MySQL 5.1.36)

Pre-Release 2.0.0 RC4

Rewrote some of the UserAgentMatchers and deleted others to bring Tera-WURFL on par with the Java WURFL API. With the introduction of desktop browser UserAgentMatchers, we no longer need to use the large web patch; instead, you can just use the 8KB one from wurfl.sourceforge.net (included). Also, I fixed some typos and bugs here and there. NOTE: if you are upgrading from version 2.0.0 RC1-RC3 you should delete all your database tables before you update. You can leave the terawurflcache table if you want to retain your cache. Although it will still technically work even if you don't delete the tables, you will be orphaning some unecessary tables in your database.

Pre-Release 2.0.0 RC3

Complete code-rewrite from the ground up. The 2.x version of Tera-WURFL is loosely based on a pre-release of the Java WURFL Evolution Library, but the API is taken from Tera-WURFL 1.5.2. The following is a list of features found in Tera-WURFL 2.0:

Stable 1.5.2 Introduced a smart installation script to help you get Tera-WURFL up and running fast! getDeviceCapabilitiesFromAgent() function now returns boolean true (match) or false (no match). Introduced "MATCH_TO_UA_PREFIX" if true, matching will stop if the user agent prefix cannot be matched. The user

   agent prefix is everything from the beginning of the UA to the first '/', like "SonyEricssonK700i". If this is not matched in
   the WURFL, there searching will stop.

Introduced "RETURN_GENERIC" if true, the user agent and accept headers will be used to determine if this device is

   wireless or not and the capabilities array will be populated with appropriate generic data. This IS considered a match.
   Set this to false to stop getting generic matches.

Introduced webservice.php which can be used to query the Tera-WURFL database via an HTTP request. The results are

  returned in XML. This is a BETA feature, but it is very safe. There are details and example in the head of the file. 

Re-wrote the README file - now it has very clear instructions on usage and installation. Now Tera-WURFL includes the web browsers patch by default so you can tell Mobile and Non-Mobile devices apart. Cleaned up some minor logging issues. Completely re-wrote the UA matching system, scrapping a lot of unnecessary code that was wasting time!

Stable 1.5.1 Fixed a bug that prevented the updating system from working correctly over the web. If you have version 1.5.0 you can delete line 266 from the file tera_wurfl_parser.php and it will function the same as 1.5.1.

Stable 1.5.0 Introduced a MySQL caching system - many thanks to Andrea Trasatti for his help! Fixed a PHP5 typecasting error while loading data in tera_wurfl_parser.php (thanks Mait Vilbiks and everyone else!) Fixed a PHP5 syntax error in the log_error() function (thanks Michal Albrecht!) Introduced a lite version that does not include the 800+ device images or the wurfl.xml file. This is only a 32k download

  	 and one it's installed you can update the wurfl.xml from the admin page.

After much testing and some decent market penetration I have deemed this class "Stable".

Beta 1.4.4 Completely rewrote the error logging system and verified it's operation after a bug was discovered (thanks Neil!) Added many features to the web administration console - seriously - check out the online demo! Changed default DATADIR to the included 'data' directory Completely rewrote the README file to include detailed installation instructions and other useful info Optimized the clean installation process - now Tera-WURFL has a brain! Included the current stable release of the wurfl.xml file so you don't need to download it Included database statistics, log file monitoring and global configuration in web interface Changed default log level to LOG_WARNING instead of LOG_ERR Described in great detail the purpose of the different database tables

Beta 1.4.3 Updated the web administration interface and added some helpful links. Fixed a few relative path issues when including the class from a different directory. Fixed a couple problems with my naming convention and browser_is_wap detection (thanks MOLABIB!)

Beta 1.4.2 Changed the web update URL for the wurfl.xml file. Made the file locations absolute instead of relative so you can run the class from a different directory Fixed an issue with the searching algorithm - thanks Christian Aune Thomassen! (WapTheWeb)

Beta 1.4.1 Fixed issues with incorrectly identified device root resulting in the wrong device image being used.

Beta 1.4.0 Added support for the Device Thumbnails by André van den Heever and Luca Passani.

Beta 1.3.0 Added patching support to allow users to make changes to their WURFL database without editing the main WURFL. Added the ability to enable/disable the patch without rebuilding the database. Added a simple web administration utility to manage the WURFL and patch file. Added the ability to update the WURFL database directly from wurfl.sourceforge.net

Beta 1.2 Initial public release. Basic implementation of the library - very limited documentation included in comments.

Alpha2 Internal release. This is left on the site for historical reasons only. Use of this version is not recommended!

News

October 20, 2009 - Tera-WURFL 2.0.0 RC3

Tera-WURFL 2.0.0 Alpha, RC1 and RC2 were available to select people for testing and I now consider verion 2 as stable as version 1.5.2. I've release RC3 as a release candidate because I added a couple new features - the Cache Browser and the Non-mobile web patch GUI in the Web Administration page.

September 1, 2009 - Headed back to the Middle East

I'm in the US Army National Guard and I have been called up to serve my country again. I am going to be in training for a while so my availability will be limited. I'm putting the final touches on Tera-WURFL 2 and hope to have something up soon.

April 27, 2007 - Tera-WURFL goes stable!

Thanks to everyone who helped me test Beta 1.4.5RC1 - this pre-release was the stepping stone to version Stable 1.5.0. I was lucky to get some help testing 1.4.5RC1 from a client that gets very high traffic. After upgrading from 1.4.4 to 1.4.5RC1, his server's mysqld process went from 20-40% down to 6%!

"The system gets over 2 million WAP hits per day ... The impact on the server is definitely significant. Before this, mysqld was using between 20% and 40% of the CPU, and now it's down to 6% or less. Load average on the box was averaging 3.84 before, and now it's averaging 2.72." November 16, 2006 - WURFL and Tera-WURFL Updated!

The WURFL has been updated and now contains over 2000 real devices! Unfortunately somewhere along the line the people over at the WURFL project moved the wurfl.xml file! The file used to be located at http://www.nusho.it/wurfl/dl.php?t=d&f=wurfl.xml, but now that page returns an HTTP Error 302 (Moved Temporarily) and would normally redirect you to the actual file, but file_get_contents() and the fopen wrappers in PHP don't follow header redirections like a browser does - this results in an error when you try to update it. To fix the problem, you can change the WURFL_DL_URL constant in the configuration file to "http://wurfl.sourceforge.net/wurfl.xml".

I have been thinking about a caching system per Christian Aune Thomassen's request - this seems like a good idea but I need to look into some other issues first - like putting a system together so you can easily add devices to your patch file from the web interface.

Personal tools
Namespaces
Variants
Actions
WURFL DBAPI
Toolbox