Downloading and running the Sample Application
When you first open the solution (AW Sample App.sln) you will get an error that it is unable to load the projects within the solution. This is because it does not have the NuGet packages available. Having opened the solution (with no projects) right-click on the solution and invoke Enable NuGet Package Restore
. Then save the solution, close and re-open it. This time the projects should load and the solution build.
Corresponds to the packaged version 5.0.0 available via NuGet.
Please note that the easiest way to install and run the Naked Objects Framework is via the NuGet package manager: just search the Official NuGet Package Source for 'nakedobjects'. It is only necessary to download the source code (from here) if you wish to modify or re-build the framework yourself. If you do wish to re-build the framework, consul the file HowToBuild.txt in the release.
- Naked Objects 5.0 is designed to work with ASP.NET MVC 4, and with Entity Framework 5.0. It will work with either Visual Studio 2010 or 2012. For further details see the Naked Objects Development Manual section 4.
- The approach to working Code First has been changed: it now aligns very strongly with the conventional approach to working Code First, making it much easier to specify configuration using the Microsoft 'fluent API' for example. it also makes it easy to work with Microsoft's Code First Data Migration capability. For the first time, we can now say that Code First is an appropriate way to develop enterprise systems using Naked Objects (previously we had backed only the Model First and Database First options, which remain viable alternatives). For further details see the Naked Objects Development Manual section 2.3
- We have made it much easier to write your own custom authorization service, including, now, the ability to do instance-based authorization. For further details see the Naked Objects Development Manual section 8.6.
- Actions that return collections now display the results as a list by default, with an icon to then optionally display them as a table. This approach involves fewer unnecessary database round-trips, and thus improves performance. Custom views may be written to return individual collections specifically as tables.
- Implementation of IXmlSnapshotService now added. This is particularly useful for adding auditing capabilities and/or to all data from the domain model to be merged into outgoing communications. For further details see the Naked Objects Development Manual section 3.7.3.
- The AuthorizeProperty and AuthorizeAction attributes may now be applied at class level, to apply to all properties/actions in that class and any sub-classes.
- Naked Objects now recognises the Microsoft ComplexType as an alternative to the NakedObjects.Inline attribute, so the latter has been obsoleted.
- In XATs it is now possible to override the Authoriser attribute, and thus to test specific authorization scenarios.
- Dates may now be used as object keys if required (typically as part of composite keys)
- The NakedObjects.MaxLength attribute has been obsoleted, to eliminate ambiguity caused by Microsoft's introduction of their own MaxLength attribute; the latter is now recognised as an altertnative to StringLength.
- New method on the container to AbortCurrentTransaction. (Note that this is not commonly needed as any uncaught exception within an action method will automatically abort the transaction anyway.)
- A number of methods that have been osbsoleted for multiple releases have now been removed.
All known bugs outstanding from Naked Objects version have also been fixed. For a specific list, browse the Issue Tracker on CodePlex.