News, examples, tips, ideas and plans.
Thoughts around ORM, .NET and SQL databases.

Monday, June 28, 2010

DataObjects.Net v4.2.3 and v4.3 RC4 are available

There are mainly bugfixes.

The only relatively important improvement we've made there is possibility to use DisconnectedState.Attach and DisconnectedState.Connect inside already open transaction. When this happens, underlying behavior is very similar to opening of nested transaction. Detach is the same as  rollback of such "nested" transaction; commit might really happen only if DisconnectedState.ApplyChanges is invoked.

As usual, all the files are in Downloads Area.

Saturday, June 12, 2010

DataObjects.Net v4.3 RC3 for .NET 3.5 is tested on our own project

We just migrated one of our internal projects from DataObjects.Net v4.2 to DataObjects.Net v4.3 RC3 for .NET 3.5. This project requires .NET 3.5 and VS2008 usage because of third-party components, so migration to DO43 for .NET 4.0 is simply impossible here.

So everything was quite smooth, but with two exceptions:
  • By some reason Project Upgrade Tool didn't process AssemblyInfo.cs file of model project - may be because the file was opened in VS.NET at the same time, so we occasionally overwritten the changes. In any case, that's easy to fix manually.
  • Few of queries got broken. We're investigating this.
The main positive effect of migration is reduced startup time (~ 15%) and noticeably faster first time query executions - this happens because v4.3 doesn't use Reflection.Emit to build Tuples, but each complex query might utilize a set of them - they decribe intermediate results before abd after each operation in query plan.

Overall, we consider the result is very good. Just counted: there are 374 files containing [HierarchyRoot] attribute in model; at least 62 files contain EntitySet fields, so there are > 400 tables in the database it uses, thus the count of different queries is simply huge.

Conclusion: if you're bound to .NET 3.5 or VS2008 usage, it's safe to migrate from v4.2 to v4.3 for .NET 3.5.

DataObjects.Net v4.3 source code

We got several requests for DataObjects.Net v4.3 source code during last week, so we decided to fully explain our current policy related to source code:
  • The source code for this version isn't available yet (it was removed even from the installer). But this is a temporary measure working until we didn't fully switch to new licensing model and protection module enforcing it.
  • When new licensing model is fully implemented, source code will be available to all the customers eligible for this. In particular, it will be available to all the owners of SMB and Enterprise licenses - most likely, we'll simply provide you with access to our source code repository.
  • If you already have SMB \ Enterprise license and need DataObjects.Net v4.3 source code (e.g. for debugging), we're ready to send it to you by request. Drop us an e-mail, or contact Alex Yakunin (me) by Skype. Currently we provide code without Xtensive.Licensing and Xtensive.Core.Weaver projects, so it won't compile, but you'll be able to use it for debugging. Again, this is a temporary measure.

DataObjects.Net v4.2.2 and v4.3 RC3 (also for .NET 3.5) are available

As usual, installers are in Downloads area. v4.2.2 installer is also available at Google Code (top secret: you can download it there without registration at x-tensive.com ;) ).

Issues resolved: 675, 685, 692, 691, 648, 689, 630, 687, 677, 684, 683, 682, 652, 636, 680, 679, 611, 665, 666, 672, 655. That's not all - few minor issues (e.g. this) were fixed without adding an issue.

Some notes about these builds:
  • v4.2.2 contains most of above fixes. Currently we still resolve the issue in stable branch, if this is possible, and then merge the fix into development (v4.3) branch. Stable branch is still stable: just 4 tests fail there on SQL Server.
  • v4.3 RC3 test pass results there are identical, so it is quite stable as well. But since we were unable to fix all the bugs we scheduled for v4.3, we release one more RC.
  • v4.3 RC3 for .NET 3.5 is compiled from v4.3 codebase (it is fully identical), but without "NET40" constant, so it is also identical from the point of provided features. Frankly speaking, we had no time to test this build. We compiled everything, run few samples, launched script building its installer and finally checked its log for errors - see this post for details. So if you'll face any issues with it, please notify us ASAP. Also note that this version is targeting VS2010 (e.g. sample projects there are for VS2010), although there should be no problems with its usage under VS2008.
Plans for the nearest week:
  • Fix few more important bugs and release v4.3.
  • Continue works on licensing module and its server-side counterpart.
  • Copy DataObjects.Net 4.X and Help Server-related topics from forum.x-tensive.com to support.x-tensive.com (don't post there it - it isn't ready yet; any content published until official launch might be deleted).
Have a nice weekend!

Thursday, May 27, 2010

Link: Users from Russia and CIS countries, apply for discounts!

See this post for details.

Link: Free licenses for DataObjects.Net and Help Server for bloggers, article writers and user group speakers

We just published a complete information on how to get your free licenses for DataObjects.Net and Help Server for article publishing or blogging.

DataObjects.Net editions and prices, final version

Here is the final version of new pricing model I previously announced:


As you may find, we described the same model and prices in much more standard fashion. No more license packs as default option, and consequently, no more Solo Professional license.

The most important difference with standard models is that we sell hardware (HW) licenses, not developer licenses:
  • You should purchase HW license for each machine where DO4 is used during build process.
  • We implied that first developer needs up to 3 HW licenses: two for office and home PCs and an additional one for build/testing agent or CI server, so 3 prepaid HW licenses are included into any edition by default. This is just our implication, but not requirement.
  • 5 and 10 HW license packs are built implying that 80% of licenses there will be used by developers, and 20% - by build/testing agents. Again, this is just our implication.
We hope the prices are reasonable - especially taking into account the amount of time we're ready to spend on support :)

Monday, May 24, 2010

DataObjects.Net v4.2.1 and v4.3 RC2 are available

Both versions of DataObjects.Net are already in downloads area. My previous post explains the changes we've made there. I'd like to add few screenshots to this post:

New images in installer - have you noticed a logo here? :)

PostSharp is now optional:

VS.NET Tools menu contains 2 new tools dramatically simplifying upgrades from previous versions, as well as this process.

Upgrade Tool,  "Upgrade Project" tab:

Upgrade Tool, "Upgrade Solution" tab:

Project templates (it seems people frequently simply don't know they exist):


Good luck with trying v4.3!

DataObjects.Net editions and prices: upcoming changes

Update: final pricing model is already announced.

The following map defines new pricing model we're going to introduce in June\July:


We tried to develop a model with good balance between several factors:
  • Our base prices must be comparable with key competitors; but final per-developer price must be lower.
  • The model should be explicitely designed to maximize the price of each purchase; but options we offer should be anyway be more attractive from the point of full price in comparison to competitors.
  • Since we're going to explicitly check hardware (HW) licenses, number of prepaid licenses must be determined basing on fact we provide 2 or 3 HW licenses for each developer: two for office and home PCs and one more - for CI/testing agent, if it is a team pack.
  • There should be a cheap option for companies or persons that would like to try a product in action, or currently have just a single project where it can be used.
Licenses of existing customers will be upgraded by the following rules:
  • Current Enterprise license will be upgraded to Ultmate edition;
  • Current Personal license will be upgraded to Solo Professional edition;
  • Any other license will be upgraded to Professional edition.
So most part of existing customers (owning SMB licenses) won't loose neither features, nor money (on yearly subscription prolongations). Since downgrades are free, customers with e.g. Internal license might decide to switch to a cheaper option later.

Any comments are welcome. This isn't final version, so your comments may affect on its final look.