RadControls for ASP.NET AJAX Dynamic Data update
This is just another update of RadControls for ASP.NET AJAX control integration with DynamicData for .NET 4.
What's updated:
- New BinaryImage FieldTemplate - uses RadBinaryImage in view mode and RadAsyncUpload in edit mode.
- Updated RadGrid support for Dynamic Data - implements IDataBoundControl interface
Forward mapping a model with associations
In this post we will discuss how to add associations in a forward mapping scenario with our Visual Designer. We will start from scratch and build a model with two entities – Category and Product where each Product belongs to at most one Category (a zero-or-one-to-many relationship from the categories to the products).
1. In the solution explorer right-click your project (where you want to add the persistent types) and select OpenAccess -> Add Domain Model. We will create an empty model.
2. The next step is to create a new database which we will name WarehouseDB. Creating a brand new database can be achieved when we select the New Connection option in the next dialog. There we can pick the server name and type our database name. When we click OK we are prompted to add the database to our server.
3. After our database has been ...
TeamPulse is LIVE!!
Here is a quick summary of the features for the Q2 2010 Release:
1. Community and Standard Editions
- Fully functional Community Edition is free with a limitation of 5 users and 1 project
- Standard Edition is $249 USD per user
2. Requirements
- Story Management
- Persona Management
3. Planning:
- Project Release Scheduling
- Iteration Planning
- Work Decomposition
4. Tracking
- Project Dashboard
- Story Board
- Current Iteration Tracking Grid
5. Analyze
- Best Practice Analyzer
You can download TeamPulse here: http://www.telerik.com/team-productivity-tools/download.aspx
Benefits of TeamPulse: http://www.telerik.com/team-productivity-tools/benefits.aspx
Here is a list of all of our produce videos to date:
- Lap Around TeamPulse
- Area and Iteration Manager
- Activation
- Decompose into Work
- Choosing TeamPulse
- Personas
- What Makes TeamPulse Different
- Tracking Overview
Check out our product page here: http://www.telerik.com/team-productivity-tools.aspx
Don’t ...
The new Telerik OpenAccess Schema Update wizard
One of the new features of Telerik OpenAccess ORM Visual designer is the forward mapping wizard that can be used to update the database schema from the model. Yes it is true! With just few clicks you are able to generate and execute either a schema definition or schema update script that will alter you database schema.
First you will need to open our Schema Update Wizard. You can do this by either right clicking in the schema explorer or in the model explorer: the command is named Update Database from Model… This will open the following page:
On the first page you can select from several schema update strategies (you can do so from the first panel):
- Generate schema definition script – Generates a complete schema definition script. This option will not take in consideration the current schema.
- Generate schema migration script – Generates a migration script. The migration ...
Explained: RadGridView for WinForms virtualization and its implications. The case with CellElement and RowElement
As the Logical vs. Visual Grid Structure help article states, RadGridView for WinForms uses virtualization for its cells/rows and as of Q2 2010 there is column virtualization as well. What is virtualization? To put it simply, when you bind RadGridView to a DataTable with 1000 rows, you get 1000 data row objects created in RadGridView (of type GridViewDataRowInfo). However, not all data row objects can be visible at the same time in the RadGridView estate in your application. This is why only the visual rows that can be shown in the estate get created (these visual rows are of type GridDataRowElement), or about 20-30 rows for an average application with medium sized RadGridView. These visual rows are reused during scrolling, filtering and other operations with the grid, meaning dramatically improved performance and memory footprint as we create only a small number of visual items, rather than all of them. This ...
JustMock. The tale continues... (Part 3)
Last time we saw how we can inject code at the beginning of generic methods. Today I will show you how to inject code in properties. I will cover the syntax for static classes as well.
So, let's start with a demo program that I will explain line-by-line.
using System; using Telerik.CodeWeaver.Hook; namespace ConsoleApplication4 { public sealed class TargetClass1 { public TargetClass1(string text) { Text = InitText = text; } public string InitText { get; private set; } public string Text { get; private set; } public int Integer { set { throw new NotImplementedException(); } } } public static class TargetStaticClass { public static void PrintText(string text) { Console.WriteLine(text); } } class Program { ...New videos for Telerik WebUI Test Studio
The new version of Telerik WebUI Test Studio has been out for a couple of weeks and we have already received a lot of positive feedback on the new features and improvements we have made. We have also produced a lot of new video content to help you get quickly started:
- Webinar: What's New In WebUI Test Studio Q2-2010
- Silverlight Child Windows And Popups
- Out of Browser Silverlight Applications
- Image Verification
- Manual Test Steps
- Export Storyboard To HTML
- Continue Recording From Step
- Connect To Existing Browser Instance
- Handling UnExpected Dialogs
- Getting Started With Silverlight
- Getting Started With AJAX
- Getting Started With Test Lists
Enjoy all these videos and let us know of any feedback you have. We are always open to your ideas for new features ... and new videos.
Read more on Telerik Automated Testing Tools
The first Ribbon Bar for Silverlight, to fully comply with the Microsoft fluent UI guidelines.
This week we will release new major feature for the RadRibbonBar – keyboard access.
KeyTips provide keyboard access to every control in the Ribbon. They are activated by pressing the ALT key, following by the key for the button you want to activate. KeyTips are very well explained at the Microsoft’s fluent UI guidelines, you can read more about KeyTips on msdn…
This feature is in the Required section from the Ribbon specification, but it’s nature and hard implementation details was preventing us from implementing it sooner.
Currently this feature is the one with most votes in our PITS system, thus we considered it for high priority.
Announcing the first keyboard support for Silverlight Ribbon Bar.Currently this is feature is not implemented by any other control vendor for Silverlight. Telerik is the first to offer this feature.
KeyTips are also available for the ApplicationMenu, QuickAccessToolbar, drop down items – ...
New goodies in RadGridView for WinForms: Drag and drop with RadGridViewDragDropService
One of the new goodies that came with RadGridView Q2 2010 is the brand new drag and drop API, which offers a very flexible way to create custom drag and drop scenarios with ease.
Each instance of RadGridView is associated with RadGridViewDragDropService that handles user drag and drop operations. It gives you out-of-the-box reordering of columns and movement of items between the group panel and the columns header. The service is also responsible for rows reordering in unbound mode when grouping and sorting features are not applied.
In many cases, developers need to implement complex custom scenarios that are not covered by our products by default. This is why we have created the drag and drop API in a way that it will actually help the developer in accomplishing such scenarios, rather than hinder them. RadGridViewDragDropService provides very powerful events that give you full controls over the drag and drop ...
What is a Persona in TeamPulse?
Personas are fictitious characters created to represent the different user types of a system. Personas will help you visualize the people behind the keyboard using the features of the software your team is creating. You will can describe exactly how personas use your software by describing the interaction in a story.
When defining software requirements in the context of a persona (complete with a picture, a name, and a rich description of a personas goals, objectives, constraints, and day to day realities) teams can better define how to approach the design of the features the persona interacts with.
TeamPulse provides you with the ability to define and manage personas to help represent software specifications.
Personas in TeamPulseThere are two ways to work with personas in TeamPulse, from within the context of a story or by working with the persona definition directly.
(click image for larger view)
When defining ...
VS 2010 Disabled Deployment Trouble with UI Coded Tests
VS 2010 introduced a surprise for us – the deployment feature is disabled by default. Let me explain with this post how this hits everyone running coded tests and how to resolve the problem.
Here is a common scenario one can hit the problem with:
1. Add and record a WebUI Test Studio test in Visual Studio 2010.
2. Convert a step to code.
3. Go to Test View and run the test – you may get an error similar to the following one:
As you may note VS looks for the .dll in the TestResults and it’s Out folder by default. However it doesn’t copy the needed .dll there if the deployment is disabled (again, by default).
As stated in the error message above (we catch the exception to point users to the solution) one needs to enable the deployment setting from the Test Settings. Here are the ...
Fun with pointers in C#
Disclaimer: this post is all about fun. It is not about:
• turning a bug into a feature
• some new isolation/mocking practice
• wow, look what I will do with pointers in my next project
It is all about fun :) It shows some of CLR internals as well.
As far as I know since .NET 2.0 there is a bug in Microsoft C# compiler that makes it possible to compile the following source code.
class Class1 { unsafe public static void Method1(ref object* obj) {} }
Trying to compile it with .NET 1.1 Microsoft C# compiler produces an error:
error CS1005: Indirection to managed type is not valid
In my job I have to use both C++ and C# and sometimes switching the context is not easy. C# is lovely language and it is really fun to work with. So I thought wouldn't it be fun to use C++ style ...
Custom Code Generation
The good thing about the code generation is that you can easily modify it to suite your needs. Today I will show you how to modify the code generation template so that it generates string properties that HtmlEncode and HtmlDecode the values in their respective setter and getter. The desired outcome will look like :
private string firstName; public virtual string FirstName { get { return HttpContext.Current.Server.HtmlDecode(this.firstName); } set { this.firstName = HttpContext.Current.Server.HtmlEncode(value); } }
You can achieve this in a couple of steps.
First we need to locate the T4 templates that OpenAccess uses. The C# templates are usually located under C:\Program Files (x86)\Telerik\OpenAccess ORM\dsl\CodeGenerationTemplates\CSharp. Note that it would be better to copy this folder and not modify the default templates. You can specify which template the code generation is using through the model settings dialog.What ...
Unit testing LINQ to SQL
Unit testing LINQ to SQL repositories can be very challenging. Unit testing such requires faking hard to mock classes and requires simulation to return your custom data for a particular LINQ statement. In this post, i will show how you can mock your LINQ repositories easily without much digging in.
As, i was goggling [my start page is bing, its a matter of time when i will be bing-ing :-)] around, found a nice post by Ronnie Holm, where he shows how to unit test a LINQ to SQL repository. I will follow his trail and use some of the codes from his post. Therefore, first of all we have an employee class:
- public class Employee
- {
- public int ID { get; set; }
- public DateTime HireDate { get; set; }
- }
Secondly, we have an LINQ DataContext implementation that has the Table<Employee> which ...
The Telerik CAB Enabling Kit - RadDockableWorkpace w/RadDock Support!
Recently, Telerik released a new and improved version of the Telerik CAB Enabling Kit (TCEK). This latest version now provides support for using the RadDock control as a workspace in your Composite UI Application Block (CAB) applications. Previously, only the old DockingManager control had been supported. In this blog entry, I will show you how to begin using the RadDock as a workspace in your applications through the use of the newly updated RadDockableWorkspace.
In case you are new to CAB/SCSF or the TCEK - I highly recommend reading through my older series of blogs. You can access the introduction blog here. Also, there has been an update to the Smart Client Software Factory (SCSF) since my last series of blog entries. If you are using Visual Studio 2010, you will need to make sure to download the latest version of the SCSF. The latest version of the TCEK ...
Jump-start using Telerik RadControls
Okay, I’m throwing it out: With Visual Studio 2010 on your machine and a Telerik account, you can set up a project utilizing the latest RadControls in less than two minutes.
Here is how:
- Start Visual Studio 2010
- Launch the Extension Manager and navigate to the Online Gallery tab
- Search for Telerik VSExtensions
- Install the VSExtensions you’re interested in. For the time being there are four of them: WebUI (RadControls for ASP.NET AJAX), Silverlight (RadControls for Silverlight), WPF (RadControls for WPF) and WinForms (RadControls for WinForms). VSExtensions for ASP.NET MVC are in production and will be published to the Visual Studio Online Gallery with the official release of the Telerik UI Extensions for ASP.NET MVC
- Restart Visual Studio (the VSExtensions consist of a VS Integration Package and need a restart) ...
Telerik WebUI Test Studio Q2 2010 webinar tomorrow
We have announced the Q2 release last week and as usual we are hosting online events to present the new features throughout all Telerik product lines. The webinar for Telerik WebUI Test Studio is tomorrow (Friday, July 23rd) @ 11AM EDT.
Register now - the webinar is not only free but also during the live event attendees will have the chance to win a Telerik Ultimate Collection license (valued at $1999)
We are excited about all the great new features we have introduced in WebUI Test Studio. We will be glad to show you all the cool demos and get your feedback. Any questions or comments are welcome during the webinar!
If you have not yet played with the latest version of Telerik automated testing tools, log into your account and download it now.
Usability tips with OpenAccess
As solutions get more complicated every day so does the domain model. Navigating in the designer can become quite frustrating if you have a rather large database with 100+ tables. There is however a light at the end of the tunnel.
There are a few often overlooked features of the designer that can make your life easier when dealing with large models.
First of all you should get familiar with search bar on top of the Model Explorer and the Schema Explorer. It is the easiest way to find a class or a table by its name.
So what do you do now, that you have found the desired object? You can simply right click on the class/table and select Locate in diagram/Find class in diagram. This will select your class in the diagram.
Great tools for managing the explorers are the Collapse All/Expand All commands just next to the ...
Silverlight: OutlookBar, Prism and TransitionControl
With this post, I'll show you a step by step approach on how to integrate RadOutlookBar with Prism. To spice thing a little bit, the transitions between the different Prism modules will be handled by RadTransitionControl.
Start off by creating a new Silverlight solution. Name the Silverlight application Prism.Shell and the Web project - Prism.Web
Organize the Solution Explorer a little bit by adding 3 solution folders.
Right-click on the Modules solution folder and add 2 new Silverlight applications. These applications will be the modules of our Prism application. Name them Prism.Module1 and Prism.Module2. Also, make sure they output their xap files in Prism.Web
Proceed by adding the necessary Prism binaries for each module.
Now delete MainPage.xaml and App.xaml from each module, since they won't be necessary.
In each module, add a new folder called Views and in that folder add a new ...
Free JustCode, JustMock licenses tomorrow
[Cross-posted from TelerikWatch.com]
Sometimes people use the saying “Everyone’s a winner,” when in fact everyone is not a winner. If you join us tomorrow for the JustCode, JustMock and OpenAccess ORM webinar, though, you will be a winner! Everyone is truly a winner tomorrow because everyone that attends the Q2 2010 What’s New webinar will get free licenses for both JustCode and JustMock, Telerik’s powerful Visual Studio productivity tools. That’s $500 worth of software just for attending the live webinar event!
To get your complimentary licenses, register now for the webinar, and then join us tomorrow, July 22nd at 11:00 AM Eastern. You must attend the live event to get your license.
If you’ve never worked with JustCode or JustMock, this is your lucky week. Both tools can save you tons of time while coding or testing in Visual Studio, especially with the new features in ...