MobileFrontend/Requirements

From mediawiki.org
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.