|
|
General questions
Why, if it is so cool, it is open source?
We are going to reach several goals by making DataObjects.Net open source:
- Enter the market faster – we already spend much more time on its development than we planned, so we want to take it back here.
- Make the product much more popular. If we'd compare this to some existing technology, which is closer to us by the underlying ideas and approach, we want to get nearly the same effect as for Ruby on Rails.
- Build bigger community around the product. In particular, we're allowing the people to contribute to the product, as well as to this Wiki.
- Make it stable earlier. Source code should allow users to help us debugging the issues.
- Show it is good inside, not just outside – there is really is nothing "dark" we prefer to hide. We're publishing DataObjects.Net with the complete set of unit tests. The quality of its code is really much better than of DataObjects.Net v3.9.
- Get it developed further faster – as we wrote, it will initially go out without some features (e.g. LINQ – please refer to Roadmap for the current state of the things) that are already implemented in many of its competitors, although as a platform itself it looks as the most advanced one (none of competitors neither have full-featured built-in database engine / IMDB, nor plans for supporting distributed database). And we hope it will help us to get them implemented faster.
- Make the product more competitive – there are other free products, such as EF. We understand it will be hard to compete with it, but on the other hand, we're creating a new niche one the market: DataObjects.Net will be the only ORM platform that needs no database at all (sounds a bit funny, but on the other hand, anyone using ORM dreams to forget about the database, and we really make this dream come true now ;) ), and works without any lacks in such a configuration. I suspect that e.g. EF will never support this – I don't believe they will compete with SQL Server. Although in wide range of cases (e.g. in Silverlight applications) this is quite desirable.
Availability under GPL license doesn't mean we're going to get rid of this product and of its further development, as it frequently happens. On contrary, we're doing this to ensure it will have a good future. We are releasing an new innovative technology having much safer position as a company now than 5 years ago (we were just a group of few young people that time), and we are sure this is the way we should and can choose.
Would you recommend switching from v3.9 to v4.0 right now?
No. If you're using v3.9 right now, I recommend you to continue using it at least till the end of November:
- v4.0 still doesn't support schema evolution – i.e. currently it fully recreates the schema during Domain build process
- Many features are implemented in experimental, rather than final way
- Most likely there are some bugs to be found.
So for whom you recommend using v4.0 now?
We recommend to use it in new projects only – at least till November. It must become fully stable during October.
To make a decision, please see:
Licensing
Can we still acquire a license for v3.9?
No, you can't. But when you buy a license for v4.0, we're providing you with:
- Company-wide Enterprise Edition license for v3.9, if you order Enterprise license
- Company-wide Professional Edition license for v3.9, if you order SMB license
- Company-wide Advanced Edition license for internal use only for v3.9, if you order Internal license
- Personal Advanced Edition license for v3.9, if you order Personal license.
We have Enterprise license for v3.9, but it is expiring soon or just expired. What options do we have to prolong the upgrades for both v3.9 and v4.0?
Required commercial license type depends on whether your company is classified as Enterprise or not. From Commercial licenses page:
Enterprise: a company, for which at least one of the following conditions is true:
- It is a public company – a company that is permitted to offer its registered securities (stock, bonds, etc.) for sale to the general public
- It has at least two publicly known offices or subdivisions located in different cities
- It is publicly known as a company with more than 100 employees.
So:
When you order an Upgrade Subscription, both v3.9 (i.e. existing) and v4.0 (the new one) license subscriptions are prolonged by 1 year.
I just bought a commercial license for DataObjects.Net v4.0, but can't get its product key, what's wrong?
DataObjects.Net v4.0 is truly open source product, so it doesn't (and can't) contain any locked features. Thus no product key is required for it.
By acquiring a commercial license you're getting legal permission to use it as it is specified by the type of your license.
Features
Is there any mapping GUI?
No. For now there are no near-time plans on implementing it. This is a bit in contradiction with our SCSE conception – that's one of the reasons to postpone this.
Do you plan to implement a security system similar to the same from v3.9?
Yes, but it will be implemented later (closer to December). We promised:
- It will be optional
- ACLs will be relational
I can add it will be much easier to use it; we try to implement everything based on the most attractive use cases, and this part won't be an exception.
Do you support prefetch paths?
Yes and no:
- A key part of this feature is already implemented: all the operations with RecordSets maintain mapping info for the result. So if you create a query joining data from several indexes (or tables, if they're PKs), any (except calculated, etc.) individual column from the final query result will be related to the field of some entity. If this RecordSet contains PK of this entity as well (i.e. there are also all the columns mapped to PK), the internal cache will receive the data when you enumerate the RecordSet.
- So in fact all we need to do here is to provide simplified way for building such a RecordSet. But right now there is no such simplified way.
Why method Validate is called right after constructor?
DO 4 implements new validation concept: every created or modified entity will be validated right after the creation/modification action takes place unless such action is inside inconsistent region. In the last case all created and modified entities are the subject for validation right after inconsistent region completes.
For more detailed information please refer to Validation page.
I'm getting MSB4057 error!
If you're getting something like "C:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets(2504,9): error MSB4057: The target "RunCodeAnalysis" does not exist in the project.", your edition of Visual Studio .NET 2008 either doesn't have Code Analysis feature, or it isn't installed.
Please see "Building DataObjects.Net" for further details.
Migration from v3.9
Is it difficult to migrate from v3.9 to v4.0?
Yes:
- We haven't developed migration path to v4.0 yet. There are no any written recommendations.
- We don't recommend doing this right now. Please refer to this question for details.
|
|