The Uize.Template module has been improved in a number of ways: 1) The new Uize.Template.encodings static property, which is an object, allows custom encodings to be registered by assigning encoding profile objects as properties on it. 2) The new Uize.Template.defineStandardEncoding static method provides a convenient way to define new standard encodings. 3) Three new encodings have been added: iso8601, tagAttributes, and tagAttributeValue. 4) When building up the canonical list of modules required by a template being compiled, the @required directive now makes sure to ignore any duplicate instances of required modules. 5) The Uize.Template.encode and Uize.Template.decode static methods have been improved to now both support encoding chains, in the same format as can be used in assignment expressions in template code (eg. 'json -> urlPiece'). 6) The reference documentation for the Uize.Template module has been improved in a number of ways. 7) With the introduction of the new Uize.Template.encodings static property, the Uize.Template.encoders and Uize.Template.decoders static properties have been deprecated. 8) With the introduction of the new Uize.Template.encodings static property, the way that encodings imply dependencies upon code execution has changed.
The Uize.Date module has been improved, with fixes for a number of issues, improvements to a number of static methods, and the addition of a thorough set of unit tests in the new Uize.Test.Uize.Date unit tests module. FIXES: 1) The Uize.Date.inRange static method has been fixed to correctly support date range objects where the value of the minValue property is undefined, null, or not specified. 2) A rounding bug in the Uize.Date.isRecent static method, that would cause this method to produce the incorrect result under certain conditions, has been fixed. 3) A bug with the Uize.Date.toIso8601 static method, where the month would always be off by one, has been fixed. IMPROVEMENTS: 1) The Uize.Date.format static method has been improved with the addition of support for invalid dates for all substitution tokens (eg. Uize.Date.format (new Date (NaN),'{YYYY}-{MM}-{DD}') now produces the result '????-??-??'). 2) The Uize.Date.resolve static method has been improved with the addition of support for dates specified as a milliseconds integer number. UNIT TESTS: The Uize.Date module is now thoroughly unit tested by the newly created Uize.Test.Uize.Date unit tests module.
The recently released wardtog.com Web site is an excellent showcase of the UIZE JavaScript Framework. Wardtog.com really is the long tail of location based products, offering products that represent hundreds upon hundreds of cities across the entire globe. Let's say, hypothetically, that you were born and raised in the city of Cape Town, South Africa. Then, let's say further that you were at some point transplanted to San Francisco, California. Now, as an expatriate of Cape Town, South Africa, you might be moved to buy a shirt declaring your undying love for your city of birth. At Wardtog.com, this hypothetical expatriate can do just that by going to the Cape Town Designs page. With wardtog.com, transplants from all around the globe can step up and represent. Each city has numerous products with numerous design themes. The wardtog.com Web site is an impressive showcase of what can be accomplished using the UIZE JavaScript Framework. The designs for the many cities represented on the site are generated dynamically in Adobe Photoshop, with some help from the host-neutral modules of UIZE. Then, build scripts running in Windows Script Host are responsible for building the thousands of HTML pages, utilizing UIZE and its JavaScript templates functionality, thereby reducing server load by not requiring large amounts of dynamic processing and database access when pages of the site are viewed. Then, the entire site, consisting of thousands of static pages, is packaged and deployed to the server, once again utilizing scripts running in Windows Script Host and employing the host-neutral features of UIZE. Finally, the UIZE JavaScript Framework is used on the client-side to provide zoom previews in product grids, and for other client-side interactivity. All in all, wardtog.com really flexes the muscles of the UIZE JavaScript Framework and puts its robust features to good use.
The new Creating A New Uize Module explainer provides guidelines and advice for the development of new UIZE modules, to be followed by developers of the UIZE JavaScript Framework. Among other things, this document discusses: 1) choosing an appropriate namespace and name for your new module, 2) requirements for the module info, scruncher settings, and module meta data comment blocks of your new module, 3) guidelines on implementing the functionality for your new module, 4) implementing a companion unit test module for your new module, 5) documenting your new module, and 6) creating one or more examples for your new module.
The new Get Tree from Page example demonstrates how the Uize.Node.Tree.getTreeFromPage static method of the Uize.Node.Tree module can be used to build a tree data object respresenting the structure of the document, by analyzing the occurrence of different CSS classes for section headings at different depths of the document (in this case, the CSS classes level1Header, level2Header, and level3Header). A tree data object like this can be supplied to a tree menu widget, or can otherwise be used to build UI for navigating to different sections of the document (a contents tree, for example).
he Uize.Fx.xTextShadow extension module has been deprecated in favor of the new and more powerful Uize.Fx.xShadows module. As its name implies, the Uize.Fx.xTextShadow module provided support specifically for fading / animating values of the text-shadow CSS3 style property. The new Uize.Fx.xShadows module provides support for animating both the text-shadow and box-shadow style properties. Because the Uize.Fx.xTextShadow module has only been deprecated and has not yet been eliminated, code currently using it should continue to work. However, relying on the backwards compatibility provision will not be as efficient as directly using the new Uize.Fx.xShadows module. Therefore, code that was previously using the Uize.Fx.xTextShadow module should be updated to use the new Uize.Fx.xShadows module.
The date picker widget, implemented in the Uize.Widget.Picker.Date module, has been improved to correctly support date entry in a wide variety of different formats. Previously, dates selected by the user in the date picker dialog could be formatted in the date picker widget's text input field using a configurable date format, as specified in the Uize.Widget.Picker.Date class' displayFormat set-get property. However, the date picker dialog could only parse dates specified in a format that could be recognized by the Uize.Date.resolve method. The new implementation uses the Uize.Date.Formatter.parse method of the new Uize.Date.Formatter module to parse dates in any format specified by the displayFormat property. This change also involves improvements to the Uize.Widget.Calendar, Uize.Widget.Dialog.Picker, Uize.Widget.Dialog.Picker.Date, and Uize.Widget.Picker modules.
A number of instance and static event management methods of the Uize base class that were deprecated back in early June of 2009 have finally been killed. In keeping with the policy of one year backwards compatibility transition periods, the deprecated forms of these methods were kept in place for a year and are now ready to expire. Specifically, the addEventHandler, addEventHandlers, fireEvent, removeEventHandler, and removeEventHandlers instance methods have been killed, and the Uize.addEventHandler, Uize.addEventHandlers, Uize.wire, Uize.fireEvent, Uize.removeEventHandler, and Uize.removeEventHandlers static methods have been killed.
Learn how to use the ScrollViewer control to allow users to scroll through large pieces of content....( read more )...(
read more)
Expression Blend 4 comes with a sample that includes a set of useful mockup controls that help creating common mockups quicker and easier. You can very easily add the mockup controls to your asset tool in SketchFlow so that you have these controls always...(
read more)
This article shows how to build a portal-style application with user-configurable charts assembled using Adobe Flash Builder 4 connecting to a Java RESTful API for their data.
FluorineFx is the free and open source Flash/Flex remoting gateway, high-performance, scalable framework, streaming server that connects RIAs using Adobe software (Adobe Flash®, Adobe Flex®, Adobe AIR runtime) and Microsoft .NET
This is Windows Client Developer roundup #39. The Windows Client Developer Roundup aggregates information of interest to Windows Client Developers, including WPF , Silverlight , Visual C++, XNA , Expression Blend , Surface , Windows 7, Windows Forms,...(
read more)
So I think I’ve mentioned before I have been working on a Windows Phone 7 application. It’s been a real learning experience as oftentimes as a writer, I get to know my feature areas very well, but don’t create full-blown applications using several features...(
read more)
Tsitsi Gora, UX Designer at Microsoft, appears on Silverlight TV to announce the new Silverlight themes that her team has been working on. Tsitsi demonstrates the new themes available for download and explains the scenarios they had in mind when they...(
read more)
The WPF platform offers RenderTransform and LayoutTransform . Silverlight - being considerably smaller and a bit simpler - has only RenderTransform . Which is usually enough - except when it's not! :) So I wrote LayoutTransformControl a while back in...(
read more)
Jison takes a context-free grammar as input and outputs a JavaScript file capable of parsing the language described by that grammar. You can then use the generated script to parse inputs and accept, reject, or perform actions based on the input.
This two-part article series examines techniques for handling two of the most common data formats found on the Internet today, XML and JavaScript Object Notation (JSON), on the Android platform. Part 1 covered the basics of XML and JSON. Part 2 exami ...
In this two-part article, explore techniques for handling two of the most common data formats used on the InternetXML and JavaScript Object Notation (JSON)on the Android platform. This first part covers the basics of XML and JSON and shows you how ...
Selenium is a testing framework used for automated Web application testing. Get to know Selenium Remote Control (Selenium RC), which allows you to build tests for different browsers to ensure your Web applications are of the highest quality.