Overview
This document describes the new top features in DotNetAge2.1 and shows some example of them.
What's new ?
Runtime performance improving
DotNetAge2.1 refectory all core object model, in this version DNA use the Repository+ UnitOfWork + EF4.1 as the DAL(Data access layer) and SL (Service Layer) architecture. It improving the runtime performances
and reduces the memory used.
DotNetAge also provides a DDD libary for modeling, including IRepository,EntityRepository, IUnitOfWork and more.
Supports more database engines
DotNetAge2.1 supports SQL Server,SQLExpress, SQLCE,MySQL,Oracle and as so on. DotNetAge2.1 use the SQLCE as default database engine, in another words it allows user installing DNA without database
installation.
Installation improvement
- Added environment checking and suggestion - As the user environment differences DotNetAge2.1 increased detection of the user's machine environment, and provide timely recommendations to adjust the
environment.
- Auto detect environment changes - When the installation environment has been changes, such as domain name or the core database changed, DotNetAge2.1 will be timely adjusted automatically or prompt the
user to adjust the environment.
Dependency Injection supports
DotNetAge 2.1 is a revolutionary release, it is largely abandoned in the past from the infrastructure. DotNetAge use the Microsoft Unity 2.0 to extend the ASP.NET MVC3 service locators to build a plugable
architecture. Developers can use DI anywhere with DotNetAge!
Controller
All controllers in DNA supports DI.The following example shows how to use construction injection for the controller.
public interface ISampleService
{
IEnumberable<object> GetData();
}
public class SampleService
{
public IEnumberable<object> GetData()
{
//Do get data.
}
}
public class MyController:Controller
{
private ISampleService service;
public MyController(ISampleService srv)
{
//The SampleService will inject automatic.
service=srv;
}
public ActionResult Index()
{
return View(service.GetData());
}
}
Filter
We could also inject the instance in property set.
public class MyAttribute : ActionFilterAttribute
{
private ISampleService service;
public ISampleService Service{get;set;}
...
}
Other service locators
In addition to these standard interfaces within the MVC support dependency injection ,DNA provides another service locators:
- IGlobalFilter- Implement the IMvcFilter that could be added to GlobalFitlers when application started.
- IAppInitializer - Use to initial data or server when application started.
- InstallerBase - Provides the installer base class and use to extend the DNA Installation framework.
- ISubscriptionSender - Use to add new subscription sender and extend the Notification service.
- Syndication services: AtomFeedGeneratorBase,RssItemsGeneratorBase,OpmlOutlineGeneratorBase,SiteMapGeneratorBase
- DAL: IRepositor, IUnitOfWork, IDataContext
Team site
Allows user could create websites under the top site by using the team site web templates.That is very useful feature for building department site, project site , team site and as so on.
Installation framework
DotNetAge2.1 enhance the Installation framework and offers the user interface to deploy or export the packages. Users could download the package from dotnetage.com gallery, or getting from other DNA
developers. The deployment package could including and files such as widgets, web templates, service packs and language packs.
Widgets, Web pages, Themes,Web resources, Blogs are supporting the Installation framework that allows users create and export the deployment packages.
TextEngine enhancement
- The text engine is rewrote and add more wiki markups and bbcode markups support.
- Enhance the text markup parse performance.
- Provides interfaces to text engine for more custom text markups.
- Added WordFilter feature that allows devs and users to add their words to replace.
Event monitoring framework
A extenable framework for Mvc that allows developer raising event from services or controllers or adding observers to handle the events. Developers can use this framework to add the additional operation to the
existing application instead of modify the source code.
Health monitoring
DotNetAge intergated the ASP.NET health monitoring service , when an unexpected exception thrown DotNetAge will promptly sent an urgent message to the administrator, ensure that the administrator can first
time to analyse and maintain the web site.
DotNetAge extend the ASP.NET health monitoring so that it can :
- Log the website(s) traffic.
- Statistic website traffic information.
- Log the common exceptions.
- Offers a log viewer to diagnosis and resolve the running issues.
Client ability enhancement
- Use modernizr to improve browsers supportting Html5 and Css3 features.
- Fixed the bugs in DJME2 scripts.
More
- Improve the Theme UI designer - It can be design all page element include DJME controls and support import / export theme package.
- Added a meta tag editor
- Added log viewer
- Added web pages SEO report
- Support google +1
- Enhance content editing and publishing
- Enhance community use experience.