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.