Tuesday, July 21, 2009

We reached small but important milestone - LiveUI v0.5 is released!

Hello all,

We are glad to introduce the next version of our promising LiveUI framework.

LiveUI v0.5 brings the following features:

  • Routing & URL rewriting subsystem.
  • Testability.
  • Presentation model pattern based approach.
  • Full support of ExtJs 2.2 controls library - every ExtJs control has its own comprehensive ASP.NET representation now.
  • Web Forms module. The same as existing ExtJs Forms but made over pure ASP.NET with JQuery for advanced controls like calendar.
  • File uploading infrastructure. Completely resolves almost all issues related to uploading.
  • Various less important enhancements like improvements of client state storage or script generation optimizations.

Visit our demo page and play with the samples illustrating these features.
Browse over the sources. It is really easy to write such an application by you own with minimal efforts. Isn't it?

We hope you enjoy the LiveUI!

Tuesday, July 07, 2009

Help Server 2.1 is released

New features:
- Custom TOC icons.
- Localization. Language is detected automatically, currently English and Russian are supported. If you'd like to provide its localization for your own language, please send us [InstallationFolder]\Web\WebResources\WebResources.xx.resx file for it.
- Configuration is fully based on Web.config file now.

Full list of changes is published in Revision History. Updated installers are already available in Downloads section.

Thursday, July 02, 2009

ADO.NET Data Services (Astoria) sample for DO4

Here it is: http://www.x-tensive.com/Downloads/Default.aspx?Path=DataObjects.Net\Samples

What's there:
- Simple Customer-Order model
- Astoria service sharing it
- WindowsForms client consuming it
- Silverlight client consuming it.

Silverlight client screenshots:


WindowsForms client screenshots:


Installation & running:

SilverlightClient.Web:

0. Install Silverlight Tools and Silverlight 2.0.

1. Create web site with IIS Manager, home directory must be SilverlightClient.Web
2. Add Default.aspx to default pages (Web site properties -> Documents page)
3. Set ASP.NET Version to 2.x.x (Web site properties -> ASP.NET page -> ASP.NET version)
4. Add MIME type with extension: .xap and MIME type: application/x-Silverlight-app
(Web site properties -> HTTP Header page -> MIME Types button)
5. Enable anonymous access, disable "Integrated Windows authentication"
(Web site properties -> Directory Security page -> Authentication and access control,
Edit button)
6. Grant NTFS read permission to Everyone group for SilverlightClient.Web folder
6. Restart IIS.
7. Open http://localhost/[YourWebSite] in browser

WinFormsClient:

1. Run Server
2. Run WinFormsClient.

Please ask any questions related to this sample in comments to this post.

DataObjects.Net v4.0.2 is released

Links:
- Download it
- View list of implemented issues.

What's new:

1. Improved installer

I hope we've fixed the last "big bugs" there. The most annoying ones are:
- 228: "Add\remove programs" issue on installing both DO4 and Xtensive.MSBuildTasks
- 232: DO 4.0.1 installer doesn't update assemblies located in PostSharp directory
- 233: Projects created by project template are bound to specific installation path of DO4

Because of 228 & 232, the recommended upgrade path to v4.0.2 is:
- Uninstall DO4. If the item absents in "Add\Remove programs", just remove its folder C:\Program Files\X-tensive.com (or the installation path you've chosen).
- Uninstall Xtensive.MSBuildTasks, if you have installed it. If the item absents in "Add\Remove programs", just remove its folders from C:\Program Files\MSBuild and C:\Program Files\X-tensive.com (or the installation path you've chosen).
- Uninstall all other components previously required by DO4, including Unity, Parallel Extensions, MSBuild Community Tasks and PostSharp.
- Install new DO4. It will suggest to install just PoshSharp. Everything else is optional now; all Unity and Parallel Extensions assemblies are installed into GAC automatically.

Other changes include the following ones:
- Installer automatically detects & requires to uninstall old version of DO4.
- All required assemblies are now installed into GAC. If you're worried about this, there are .bat files allowing to get rid of them with ease.
- There are new project templates (Console, Model, UnitTests, WebApplication, WPF). But they're only for C# for now.
- New Build.bat files build new DO automatically performing all "before first build" steps. So it's really easy now to make its custom build.

Useful links:
- Full list of installer-related issues
- New installation instruction
- New "Building DataObjects.Net" instruction

2. LINQ

As you might remember, two weeks ago we didn't support 2 LINQ features:
- Group joins
- First\Single(OrDefault) in subqueries (btw, as far as I remember, Single in subqueries isn't supported in EF at all)

Both features are supported now. So now we're fully ready to compare our LINQ implementation with others - a set of articles about this will appear here soon.

Useful links:
- LINQ-related issues.

3. Breaking changes in attributes

We've refactored our mapping attributes once more. Now there are:
- Separate [Association] attribute for associations
- Separate [Mapping] attribute allowing to specify mapping names.
- No more [Entity] attribute - it was necessary just to specify mapping name, but now this is handled by a separate attribute.

Earlier their functions were distributed over [Field] and old abstract MappingAttribute.

We think new version is better: specific (and, actually, more rarely necessary) features require specific attributes.

4. Schema upgrade

We've added ChangeFieldTypeHint. So schema upgrade hint set is ideal now ;)

5. Documentation

We're slowly updating it. As you may find, we restructured our wiki. Manual is organized in step-by-step studying fashion now. Among other new articles, there is new Schema upgrade article - check it out.

6. ADO.NET Data Services (Astoria) sample

We've implemented ADO.NET Data Services (Astoria) sample on DO4. We decided to publish it separately:
- It isn't really polished yet
- It depends on Silverlight Tools, so we must decide if this additional dependency is acceptable.

It shows an Astoria service sharing entities via RESTful API, as well as WindowsForms and Silverlight clients consuming this service, showing and allowing to change the entities it gets.

What does this mean? You can share DO4 Entities using ADO.NET Data Services, query the service from the client using LINQ, update the entities on the client and send back the changes. Since Astoria client operates on Silverlight as well, you can implement Silverlight client utilizing DO4 on the server.

Btw... We disappointed in Astoria client features. You should do lots of tasks manually there, including registering of new entities, changed associations and so on. From the point of usability it's much worse than what is offered by DO4. So in general, upcoming sync will be much more attractive option for DO4 users. But on the other hand, Astoria allows to implement really simple RESTful integration API with almost zero coding.

The sample will be available @ our downloads section today.

7. Bugfixes

We've got really good results here. Earlier I wrote there are just few failing tests from about 1000 tests for Storage. Imagine:
- About 600 tests are related to our LINQ implementation, and indirectly - RSE implementation.
- All the tests produce the same results - even on Memory storage. This means our RSE execution & optimization engine works as expected.

So the version we have now seems really stable. Good luck trying it ;)