MobileFrontend/Requirements

Task Title Description Next step Progress Bug Priority Difficulty
#1 #Implement views Create the views needed to support XHTML, WML rendering of file, home, image and show open 60% Medium 12 hours
#2 #Implement layouts Create the layouts needed to support XHTML, WML rendering of application open 70% Medium 10 hours
#3 #Implement parsers Create image, WML and XHTML parsers for page content open 70% Medium 20 hours
#4 #Create models Create models for (article, device, image, [other resource]) open 50% Medium 10 hours
#5 #Create controllers Create articles controller or equivalent [if not MVC] (including helpers, etc.) open 0% Medium 12 hours
#6 #Create caching support Implement server resource retrieval and caching support open 55% Medium 12 hours
#7 #Implement format lists Implement formats list (view format e.g., html, etc., javascript support, layout) open 90% Medium 8 hours
#8 #Implement translation support Convert translation support for various global strings open 80% Medium 8 hours
#9 #Implement exception handling Create global exception handling support open 0% Medium 4 hours
#10 #Implement basic logging Implement basic logging and statistics support open 0% Medium 6 hours
#11 #Implement css Create device and format based css (e.g., iphone, nokia, firefox, blackberry, etc.) open 60% Medium 8 hours

Implement views

edit

Create the views needed to support XHTML, WML rendering of file, home, image and show

Implement layouts

edit

Create the layouts needed to support XHTML, WML rendering of application

Implement parsers

edit

Create the image, WML and XHTML parsers for various content

Create models

edit

Create models for (article, device, image, [other resource])

Create controllers

edit

Create articles controller or equivalent [if not MVC] (including helpers, etc.)

Create caching support

edit

Implement server resource retrieval and caching support

Possible solution: http://www.mediawiki.org/wiki/Manual:Varnish_caching

Implement format lists

edit

Implement formats list (view format e.g., html, etc., javascript support, layout)

Implement translation support

edit

Convert translation support for various global strings. Use standard MediaWiki internationalization method.

Implement exception handling

edit

Create global exception handling support

Implement basic logging

edit

Implement basic logging and statistics support

Implement css

edit

Create device and format based css (e.g., iphone, nokia, firefox, blackberry, etc.)

Possible Roadmap

edit

A General Primer

With all of the different formats we have to support, there is a fairly simple system for correlating a Device with a Format with some specific actions to take based on that Format.

Process:

  • A request comes in from a mobile browser
  • The request generates a Device object
- Any method_missing that Device receives is looked up in the format specification
- The formats are specified in config/formats
  • An Article is fetched for that device
- First, the article figures out what kind of parser needed to be run on the page
- It then generates a key with that parser type.
- It then checks to see if that has been cached
- If it is not cached, it grabs scrapes the Wikipedia page and processes it with some parsers/* class
- If it is cached, it returns that cached object
  • The layout is generated with the returned Article#html
- The device format is used heavily here (aka, "= current_device.stylesheet_name")
- An "app/views/layouts/_search_#{format}.html" file is rendered in the search area
- Changes in the search box and CSS fields are the most different between formats


Back Log

edit
  • Evaluate size of search box
  • Language variant support needs to be checked.
  • Load wurfl config in memory, instead of from wurfl-config.xml. Makes it possible to check for memcached configuration and makes it possible to change config without software deployment changes.
  • interface lang vs contentlang.