CHAN - Bloat free ASP.Net

Introduction | About | Roadmap | Changelog | Licensing | Reference | Download | Guides: Windows , Linux/Mono , Building

Roadmap

This is the current state of the development roadmap for Chan, it may change frequently and/or randomly, and milestones will be added, moved or removed as development pace ebbs and flows.

HTML 5 Compatibility

Update Jan 2010 In progress, V0.9 builds now serve input type=date and type=numeric to Opera.

Provide dedicated HTML4 + JS + CSS emulations of each of the major HTML 5 web forms inputs and allow these to be swapped out - on a case by case basis - depending on the compatibilty of the user's web browser. Provide ConfigBools for the Site and Page in a similar vein to NoScript to force or deny HTML 5 native controls.

Localisation

Update Jan 2010 In progress, V0.9 builds include built in localization support for Chan's internal strings and automatic URL rewriting to support any locale code for any Chan based site. Developmentwill stop short of providing a de-facto method for translating a site's own strings other than via an Interface which the developer is free to impliment however they wish.

Provide a simple way of setting localisable strings for each page, control and fragment and have the engine dynamically swap them out using url rewriting to provide an instant suite of localised sub sites. Also detect user's language choice from the HTTP Request object and allow the user to save their preferred locale for that site in a cookie for auto switching.

Other Changes

Version Milestones
0.9.0
  • Controls.Button - Breaking Change - rename Link property to Href to align with Controls.Link
  • Controls.Image - Breaking Change - rename Link property to Href to align with Controls.Link
  • Location - QueryString.Add( string , object ) overload
  • Controls.Upload - Add ability to set the Path from the Server (for when editing records that have files attached) and have this start out at the UploadState.GotFile state with the Change button showing
  • Controls.(Image)Panel - Fix Scrolling
Unassigned
  • Controls.ViewState - Add a self contained viewstate control, essentially being a hidden input containing a serialized list of key/value string pairs. Make Base64 encoding optional but default.
  • Controls.Label - Add a property to auto-enclose a Label's text in SPAN or LABEL tags (or none) and allow most Controls to have a Label property that accepts a Label ID so that the FOR attribute can be set.
  • web.config - dedicated Chan node under configuration instead of the current basic overloading of the add-key syntax.
Surpassed
  • Controls.TextBox - Rich property to auto incorporate basic HTML editing, probably using TinyMCE or FCKEditor.
    Pattern property for regex validation, e.g. email address.
    0.8.5 - Complete
  • Controls.Date - Rebuild control (it was the first ever Chan control to be written!) and include a Javascript date picker popup.
    0.8.5 - Complete
  • URL Placeholders - Allow, for example, [Site_Root] to be placed in a link or image url field and have it populated at runtime by the equivalent Site property.
    0.8.1 - Complete, provides for easy sub-directory hosting of chan sites
  • List - Control for simple creation of bulletted/numbered lists with the intention of making it easily stylable for menus etc. Needs to have ability to have child-lists.
    0.8.1 - Complete
  • Panel - Add Region string property to bind its contents directly to a Region in the pages Template. (Enforce that the Panel does not have a ParentControl)
    0.8.1 - Complete
  • Repeater - Add a repeater control to allow table rows to be quickly put together without needing to use Literals and HTML from codebehind.
    0.8.1 - CheckList performs this task
  • Image Placeholders - Put together a collection of toolbar images and allow Image and Button controls to specify them by name, e.g. [Load],[Save],[Edit] etc.
    0.8.0 - Completed using the "Icon" class