Skip to content
jeremydmiller edited this page Oct 17, 2011 · 46 revisions

Roadmap

Fubu 1.0 Release

Updated from our discussion at Pablos.

In progress

  1. Advanced Diagnostics (Pending fixbundle branch) - Josh, Jeremy
  2. New Advanced Diagnostics Styles/Tweaks - Ryan, Dru, Josh
  3. Asset Pipeline - Jeremy
  4. ReSt / HATEOAS - Jeremy
  5. Conditional Behaviors - Ryan, Jeremy
  6. Fubu New (Pending Review) - Sam, Jason, Jeremy, Josh
  7. Add Xml comments to the public API (Paul Sanchez)

TODO

  1. Navigation Refactoring (Josh, Dru/Jeremy?)
  2. Revisit HTTP Abstractions (with an eye towards OWIN)
  3. Extensible Advanced Diagnostics
  4. Asset Pipeline Diagnostics
  5. Revisit Bottles with an eye towards Topshelf (Dru)
  6. Diagnostics enhancements (convention/origin, action sources/origin)
  7. Release FubuCore 1.0
  8. Release Bottles 1.0
  9. Guides/Documentation
    1. Model binding
    2. Working with Routes and Url's
    3. HtmlTags (?)
    4. Html conventions
    5. Ajax Endpoints and Conneg
    6. Action discovery
    7. Working with BehaviorGraph
    8. “Filters”
    9. Building custom Behaviors
    10. Bootstrapping an application
    11. Authorization
    12. Navigation
    13. IoC integration
    14. Building and using packages
    15. Localization
    16. Validation integration
    17. Html helpers
  10. Eliminate all the TODO's in the codebase

Completed

  • Improve the diagnostics for model binding to include PropertyEditor / ConversionFamily / ModelBinder selection This is here because I think it's necessary to lock down the model binding API
  • Improved Diagnostics Package
  • Release HtmlTags 1.0
  • ActionLess Views
  • Spark cleanup
  • Nuget-ify and release FubuSpark
  • Dovetail team to convert “blue” codebase to FubuValidation
  • Move Dovetail “crud” infrastructure to FubuFastPack
  • Clean up BehaviorGraph / ObjectDef based on feedback from the FubuFastPack work
  • Model binding work over. Remove all service location. Enable runtime selection of binders. Eliminate the Lambda model inside value converters. Driven by feedback from writing custom binders and converters in FubuFastPack
  • Move script manager url from _scripts/_images to _content/scripts
  • XSS and anti-forgery token
  • Moved HtmlTags to a separate repository
  • Simple Content negotiation support in ObjectResolver. Choose serialization or model binding dependent upon mimetype of request, default to model binding. Not trying to play a fullblown "FubuRest" card ** Jeremy **
  • Pull Packaging into the new "Bottles" project and repository
  • Remove Webforms support to a new project
  • Type scanning for service registrations. Basically putting StructureMap's AssemblyScanner over FubuRegistry for IoC neutral way of registering services
  • Split the repository 2. FubuCore & FubuLocalization 3. FubuFastPack 4. FubuMVC: FubuMVC.Core, spark integration, StructureMap integration 5. FubuValidation and FubuMVC.Validation package
  • Deal with any ignored tests. Eliminate them if they don't add any value
  • Sample application(s). FubuMusicStore? FubuNerdDinner just doesn’t work very well

Deferred

  • FubuMVC.Validation package. Reusable validation integration “recipes.” Html conventions, BehaviorGraph conventions, pipeline integration. Should be possible to swap other validation engines in later
  • IoC integration guidelines and acceptance tests
  • AutoFac integration
  • Windsor integration
  • Fubu "Continuous Delivery" recipes based on "Bottles" (the packaging) Team Dovetail (in progress, but not trying to do this for 1.0)
  • Razor support?
  • StoryTeller test coverage for all major features. StoryTeller CI build. Possibly switch to WebDriver / Selenium 2 to get browser matrix. Maybe start FubuMVC.StoryTeller for reusable test infrastructure. Not going to happen until StoryTeller is easier to work with -- Jeremy
  • Flesh out default conventions for routes, html conventions, action selection. FubuRegistry on a new project should be as empty as possible
  • Script Manager improvements
    1. “PageScript” -- automatically push PageScript("name.js") to the bottom of the dep. graph
    2. Localization script. I.e., use scriptname.en-us.js or scriptname.en-gb.js
    3. option to validate the script graph (make sure files it refers to exist)
  • Revisit the "FubuContinuation / Redirectable" model. Maybe an "InterceptedActionCall"?
  • Review of all the Http abstractions
  • Add StoryTeller tests to the CI build.
  • Rename the InvokePartial API to eliminate confusion with Partial(). InvokePartial code sucks, but it serves its purpose.
  • Run FubuMVC via Mono XSP from a console app or embedded DLL. “Fubu in a box” ** Alex **

##Medium Term

  1. Redo the Url/Route conventions (???)
  2. Integrate fubu “Bottles” support with either Nuget or OpenWrap
    1. Package dependencies
    2. Package ordering
  3. Razor view engine integration
  4. AutoFac integration
  5. Advanced ScriptManager
    1. CoffeeScript integration
    2. LESS integration
    3. CSS/Script compression recipes
    4. Cdn.google.com (and analogues) integration

##Long Term

  1. Html conventions everywhere
  2. OWIN or OpenHttp support.
  3. Eliminate all coupling to ASP.Net / IIS. Make IIS run in an adapter model to OWIN / OpenHttp.
  4. NDjango view engine?
  5. Other IoC containers?
  6. NHaml support?