Hi All
Just wanted to run this by some on the list. Been scratching my head on how to deal with file caching and using the MobileFrontend extension on one domain. I know the preferred method is a mobile domain and a desktop domain. I have no way of installing AMF and the manual page is a little vague on the rest of what to do, .htaccess, etc. Dealing with two domains and not being able to create symlinks is another hurdle, I'd have to maintain two instances of Mediawiki(as best as I can tell). A couple of references to how Wikimedia does it are dead links so I started brainstorming.
I came across an old post about dealing with file caching using the $wgRenderHashAppend(thanks Platonides!) to set file caching dynamically. Here is what I came up with using a script to detect mobile devices by inserting this at the top of my LocalSettings.php. I know it won't handle them all.
//Mobile detect if (!defined('REQUEST_MOBILE_UA')) { define('REQUEST_MOBILE_UA', '(iPhone|Android|MIDP|AvantGo|BlackBerry|J2ME|Opera Mini|DoCoMo|NetFront|Nokia|PalmOS|PalmSource|portalmmm|Plucker|ReqwirelessWeb|SonyEricsson|Symbian|UP.Browser|Windows CE|Xiino)'); } preg_match('/' . REQUEST_MOBILE_UA . '/i', $_SERVER['HTTP_USER_AGENT'], $match); if (!empty($match)) { $wgRenderHashAppend = 'mobile'; } else { $wgRenderHashAppend = 'desktop'; } //End Mobile detect
Then I set my file cache to append the result.
$wgFileCacheDirectory = "$IP/cache/html/$wgRenderHashAppend";
It seems to work as far as I can tell and you are able to switch back and forth between desktop and mobile. Once you make the switch, you stay in desktop until you request mobile again. Even creates the file cache pages in the correct directory, /desktop if they don't exist while on mobile. Switch back to mobile view and you will be served cache pages from the mobile directory it they exist, otherwise they are created in the mobile directory.
Am I missing anything? Advice welcome.
Thanks Tom