Thursday, August 27, 2009

Kentico using Silverlight

Kentico CMS 4.1 Released
8/17/2009 - Kentico CMS 4.1 Released

Version 4.1 comes with enterprise-class Search engine and several usability improvements.

We have just released Kentico CMS 4.1 for ASP.NET. The new version comes with several improvements:

New Smart Search Engine
The Smart Search Engine allows you to quickly incorporate full-text search into your web site. It's based on the Lucene.NET search engine and it provides excellent performance and search results. The main features include:

* displaying search results based on the relevancy (search result ranking)
* displaying document preview in the search results
* customizable search filters and custom search queries
* customizable search scope - you can specify site section, document types and fields that should be searched

The new Smart Engine can be used side-by-side with existing SQL-based search engine.

New Dialogs for Inserting Images
Kentico CMS 4.1 greatly improves usability by introducing new dialogs for inserting images, music, video, YouTube and creating links. All file types can now be easily uploaded and inserted into the text. Main features include:

* Easily select an existing file or upload a new file
* The server automatically generates a resized version of the image if you change its size in the Insert image dialog
* easily upload and insert image into the text without uploading it first and then selecting it
* Insert image into the text and display a larger view on click or on mouse-over
* Specify the maximum size of the images and the system automatically resizes them on upload

New Concept of Document Attachments
Until now, the images and other files related to some page were stored separately in some folder or under the given page. The new concept of document attachments allows you to upload multiple files as a part of the document. It means versioning, workflow and permissions are also applied to the attached files. It makes the management of content much easier and more reliable, because if you delete or archive some page, the related files are also deleted/archived and they are no longer available on the site.

Improvements in Multi-lingual Content Management
The new version comes with several improvements in management of multi-lingual content:

* The workflow schema can be chosen based on the content language. So there can be a different workflow schema for U.S. and French office.
* The administrators can grant users with permissions for particular language version of the site.
* The content editors and translators can easily see an overview of content that is not translated or its translation is older than the default language version.

Improved Performance
Kentico CMS 4.1 comes with several performance improvements. The full-page caching engine now provides double performance in comparison to version 4.0.

Download and Upgrade

* Download Kentico CMS 4.1: http://www.kentico.com/Download.aspx
* If you already use Kentico CMS, you can find the upgrade procedure here: http://www.kentico.com/Download/Upgrades.aspx
* You can find the complete version history here: http://www.kentico.com/Download/Version_History.aspx


The new version also fixes all reported bugs and contains all hot-fixes from 4.0.1 to 4.0.15. If you already applied some hotfix on your 4.0 installation, you can still use the standard upgrade procedure without problems.

XAML - "Extensible Application Markup Language"

XAML features

* The XML code is compiled to intermediate code.
* Tags and properties of XAML have a direct counterpart in the .NET library as embedded classes and attributes.
* Uses vectorial graphical images.
* Presenting properties are a part of the language (unlike XUL that uses the CSS). Easier to write but harder to modify.
* Ability to use .NET classes from XAML.
* Ability to embed C# code into XAML with the "code" tag. (XUL uses JavaScript).
* Events (as mouse clic) are properties of tags, and tags are widgets.

Why use XAML?

XAML eases to create, edit and reuse graphical user interfaces for desktop and Web applications.
Windows Vista uses XAML for its graphical interface. The Silverlight plug-in for Web interfaces makes use of XAML.

Wednesday, August 26, 2009

100+ controls in Sliverlight

Start with over sixty customizable controls in the box—from datagrid to charts—and many more from partners. Easily skin controls using just mark-up to match your brand.

Having a full featured set of controls to work with makes applications much easier to build and more responsive to use than AJAX controls. With Silverlight, there are many new controls now available, adding richness to the development environment. Here are examples of the new Calendar, Chart and Datagrid controls :



The following controls are now available in Silverlight:

Input controls

Button, CheckBox, RadioButton, RepeatButton, HyperLinkButton , ScrollBar (Vert/Horiz), Slider, Togglebutton, Tooltip, Calendar, Password, GridSplitter, Date Picker, DatePickerTextBox, DomainUpDown, NumericUpDown, TimeUpDown, Rating, ButtonSpinner, Spinner, Auto Complete Boxm, Spinner, Time Picker, Time Up Down

Layout

Border, Stack, Grid, Grid Splitter, ScrollViewer, DockPanel, StackPanel, ViewBox, Expander, Page, Frame, Wrap Panel

Text

Textblock, Textbox, Tooltip, Label , AutoComplete

Data

Listbox; Multi-selection ListBox, DataGrid, ItemsControl, Content Control, Dropdown list, Treeview, Treeview Item, HierarchicalDataTemplate, FieldLabel, DataForm, ErrorViewer, NEW ! Data Pager, NEW ! Data Field

Navigation

Scrollviewer, Tab Control, Tab Item

Presentation

Image, MediaElement, Ink canvas, MultiScaleImage, Accordian, ChildWindow

Dialog

File Open, File Save, FontPicker

Chart

Area, Bubble, Scatter, Pie, Bar, Column, Line, Legend, Title

As we continue to build new controls, we are now making them available with source code and examples on a new toolkit website. Rather than having to wait for the next release of Silverlight; we’ve made available over 30 controls as we build them. This includes a full set of charting controls and an enhanced datagrid control. We also provide full source code to all of our controls. Over the next few months, we will have more controls available including controls for viewing Microsoft Office documents, Virtual Earth, SharePoint, and Real Time Collaboration Services.

To go further, each Silverlight control provides a unique skin template to allow its look to be completely customized. In the example shown below, rather than show a vertical listbox you may want to show a workflow of items. This is achieved by editing the template of the listbox to change the layout and look of each item. Silverlight’s unique control templates allow you to take an existing control and change the skin just by editing its template in XAML.

It’s easy to create graphics and then use them to customize controls, such as the look of a scrollbar. Silverlight provides templates for each control that allow designers to reach inside the control and change the layout or look of each part of the control without rewriting any code. For example, a scrollbar is made up of a layout container and a set of parts such as the up and down button and draggable thumb. Parts can be rearranged and their appearance changed to fully customize the control. The example below shows re-skinning the thumb and repeat buttons; it also shows how the layout of controls within the scrollbar can be changed:

Re-skinning a scrollbar

In Silverlight, the skin of a control is defined by its ControlTemplate. Because you create a ControlTemplate in XAML, you can change a control's appearance without writing any code. The example below shows the XAML mark-up used to create a button :

<ControlTemplate>
<Grid>
<Grid x:Name="DownStroke" Opacity="0">
<Rectangle Margin="1,2,1,1" Opacity="0.05" RadiusX="3" RadiusY="3" Stroke="{TemplateBinding Background}" StrokeThickness="1"/>
<Rectangle Margin="1,1.75,1,1" Opacity="0.05" RadiusX="3" RadiusY="3" Stroke="{TemplateBinding Background}" StrokeThickness="1"/>
<Rectangle Margin="1,1.5,1,1" Opacity="0.05" RadiusX="3" RadiusY="3" Stroke="{TemplateBinding Background}" StrokeThickness="1"/>
<Rectangle.Stroke>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#A5FFFFFF" Offset="0"/>
<GradientStop Color="#FFFFFFFF" Offset="1"/>
LinearGradientBrush>
Rectangle.Stroke>
Rectangle>
Grid>
<ContentPresenter Margin="4,5,4,4"/>
<Rectangle x:Name="DisabledVisual" IsHitTestVisible="false" Opacity="0" RadiusX="4" RadiusY="4" Fill="{StaticResource DisabledBrush}"/>
Grid>
ControlTemplate>

You can expose control properties to designers. You can use TemplateBinding to connect properties on shapes or other elements in your control to the properties on the control itself. This provides a built in mechanism to easily encapsulate together properties – in the button example (above) you can connect the background color of shapes inside your button to the background property on the control itself.

Silverlight also supports the Visual State Manager. States can be triggered inside of control templates so that you can specify how your control responds when pressed or moused over. The example below shows how a gradient with a button is animated in its mouse over state :

<vsm:VisualState x:Name="MouseOver">
<Storyboard>
<ColorAnimationUsingKeyFrames Duration="0" Storyboard.TargetName="BackgroundGradient" Storyboard.TargetProperty="(Shape.Fill).(GradientBrush.GradientStops)[3].(GradientStop.Color)">
<SplineColorKeyFrame KeyTime="0" Value="{StaticResource MouseOverLinearBevelDarkEndColor}"/>
ColorAnimationUsingKeyFrames>
Storyboard>
vsm:VisualState>

In addition, you can use a style to set properties once and apply the style to multiple controls, which gives the controls a uniform appearance. When you apply a style to a control, you can still set properties locally on the control. The property value that is set locally takes precedence over the property value set on the style. For example, suppose you want most of the buttons in your application to be red and the font to be 16 pt, but there is one button that needs to be green, but still have 16 pt font. You can create a style that sets the Background property to red and the FontSize property to 16 pt and apply the style to each button.

Silverlight 3 adds several new features to skinning capabilities. It is now possible to have styles which are ‘based on’ each other. For instance, you can append or over-ride values by basing one style on another. This allows a single base style for instance to set all underlying colors and font sizes, and then make changes to this style by applying another for eg new items in the UI. In addition, you can set a style multiple times – this allows style values to be reset or over-ridden. A scenario here is that you want to them your application using a set of different styles for different color schemes; by making all of your graphics and controls skin colors be based on style values, they will then automatically update when you change the style.

Finally, you can create a dictionary of your controls. This feature allows use of Silverlight resources defined externally allowing sharing resources between applications and isolating them for localization and easier revisions. By locating the application resources in an external file, we provide the ability for reuse of resources between applications, centralized update by various developer/designers and ability to localize the file out of the application.

In the example below, EasyJet was able to combine custom controls for their map with re-skinned controls such as a slider, button, calendar and listbox. Notice how the controls reflect the brand and utilize its key orange color:

EasyJet, a large UK airline, has used Silverlight to build a smooth interface to help users to explore destinations in detail. It integrates with Microsoft Virtual Earth, so developers can layer the location-relevant data on top of the Virtual Earth map images. Customers who have set dates and destinations in mind can book quickly and easily by using a simple menu. A customer who is less sure of their destination can specify the dates that they’d like to travel and their preferred departure location. The map will then identify all the locations they can travel to within those dates and display fares in real time. Paul Curtis, Head of Application Architecture for easyJet, noted “Users can quickly compare where they can go on a given date and how much it will cost, without having to submit multiple searches. Using Silverlight all the information is offered in a single seamless interface, whereas standard websites can only do this by constantly re-loading web pages.”

Control skinning is also important when working with data. Silverlight allows controls to be directly connected to data sources, and the control itself can have an item template, which knows how to show each item of data. For example, a list control that has a template to create a calendar and text field for each item. If the user then selects or edits these items, the changes are made directly against the underlying data.

Listbox showing a Data Template with a set of controls per row

Silverlight 3 has also done more work allowing you to build higher level ‘pages’ and to then navigate back to them directly. An example of this is a more complex Silverlight application, containing a large number of pages of controls that the user needs to fill in. If they close the browser it can be difficult to return to the last state in which they were working. We now support creating applications that are built from Pages linked together via URI values. The user is able to navigate through the application’s pages via controls in the application’s UI, or via the browser’s forward/back buttons, address bar or history journal. The Navigation Framework allows the developer to build pages, define how they are linked together and how data is passed between them. In addition, the URI can also contain state which can drive the UI within the page – for instance set fields to particular values. This allows a user to bookmark a particular page and state and return to it later.

Finally, we now allow your controls to utilize system colors. A vital accessibility scenario here is to use these settings so that the display updates when the user switches their preferences to high contrast (for easier readability). The user will know if the system is running in high contrast, but to accomplish this, they will need information about system colors to present a contrast that matches the settings. A set of named colors are provided by the operating system. These controls and other graphics utilize these named values which will change when the user edits their system settings.

If all of this is not enough, you can also find a huge variety of controls from our partners. These include industry leaders such as Infragistics, Component One and Telerik.

Silverlight window



Silverlight in WWT

What is WWT?
Install Silverlight

The WorldWide Telescope (WWT) is a environment that enables your computer to function as a virtual telescope—bringing together imagery from the best ground and space-based telescopes in the world for a seamless exploration of the universe.

Choose from a growing number of guided tours of the sky by astronomers and educators from some of the most famous observatories and planetariums in the country. Feel free at any time to pause the tour, explore on your own (with multiple information sources for objects at your fingertips), and rejoin the tour where you left off. Join Harvard Astronomer Alyssa Goodman on a journey showing how dust in the Milky Way Galaxy condenses into stars and planets. Take a tour with University of Chicago Cosmologist Mike Gladders two billion years into the past to see a gravitational lens bending the light from galaxies allowing you to see billions more years into the past.

WorldWide Telescope is created with the Microsoft® high performance Visual Experience Engine™ and allows seamless panning and zooming around the night sky, planets, and image environments. View the sky from multiple wavelengths: See the x-ray view of the sky and zoom into bright radiation clouds, and then crossfade into the visible light view and discover the cloud remnants of a supernova explosion from a thousand years ago. Switch to the Hydrogen Alpha view to see the distribution and illumination of massive primordial hydrogen cloud structures lit up by the high energy radiation coming from nearby stars in the Milky Way. These are just two of many different ways to reveal the hidden structures in the universe with the WorldWide Telescope. Seamlessly pan and zoom from aerial views of the Moon and selected planets, as well as see their precise positions in the sky from any location on Earth and any time in the past or future with the Microsoft Visual Experience Engine.

WWT is a single that blends terabytes of images, information, and stories from multiple sources over the Internet into a seamless, immersive, rich media experience. Kids of all ages will feel empowered to explore and understand the universe with its simple and powerful user interface.

Microsoft Research is dedicating WorldWide Telescope to the memory of Jim Gray and is releasing WWT as a free resource to the astronomy and education communities with the hope that it will inspire and empower people to explore and understand the universe like never before.

How do you start exploring? Click the top of the Guided Tours tab and then click the Welcome thumbnail to watch a guided tour showing you how to navigate in WWT. Or click a link to read more: WWT in Depth

Rich Internet Applications

Silverlight delivers the best of both worlds. By leveraging the .Net framework, our applications help you create visually rich experiences while providing backend support for rapid development

Beyond HTML

Richest Web Experiences

Keep users engaged by combining animation, video, layout, vector graphics, perspective 3D,effects, and features like Deep Zoom.

Faster

Put every CPU to work. Multithreading support harnesses the full power of today’s multi-core computers.

100+ Controls

Start with over sixty customizable controls in the box from data grid to charts—and many more from partners.

Quality Viewing Experience

Enjoy 1080p true HD-quality video using H.264 (MP4/F4V) or WMV/VC-1 with Smooth Streaming.

Plays Well With Others

Mac, Windows, and Linux

Works with them all as well as all major browsers like Firefox, Safari, and Internet Explorer.

Works with what you have

Take your existing site to the next level. Add rich interactivity/video without rewriting services or applications.

Go out of browser

Install your app on desktops and never be more than one click away. Run apps even when you’re unplugged.

Rapid Development

Millions of skilled developers to help you

Go right to the experts. Tap into the talent pool of 6 million .Net developers.

All in the Framework

It’s all here–networking, web services, LINQ, generics, threading, dynamic languages.

Real developer tools

We’ve got you covered with Visual Studio–which includes a code editor, debugger, data designer, and team server.

Stop throwing your ideas away

Create interactive wireframes with Expression SketchFlow; style controls and layouts with Expression Blend.