MobileFrontend/Requirements

From MediaWiki.org
Jump to: navigation, search
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

Contents

[edit] Implement views

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

[edit] Implement layouts

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

[edit] Implement parsers

Create the image, WML and XHTML parsers for various content

[edit] Create models

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

[edit] Create controllers

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

[edit] Create caching support

Implement server resource retrieval and caching support

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

[edit] Implement format lists

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

[edit] Implement translation support

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

[edit] Implement exception handling

Create global exception handling support

[edit] Implement basic logging

Implement basic logging and statistics support

[edit] Implement css

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

[edit] Possible Roadmap

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


[edit] Back Log

  • 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.
Personal tools
Namespaces

Variants
Actions
Navigation
Support
Download
Development
Communication
Print/export
Toolbox