Overview
This document describes the new top features in DNA 2.0.3 and shows some example of them.
Before you read you should read articles in the following list:
- [ https://dotnetage.com/publishing/home/2011/04/09/6848/features-of-dotnetage2.html|Features of DotNetAge ]
- The Repository Pattern with EF code first & Dependency Injection in ASP.NET MVC3
- SQLCE
- Walkthrough: Using TDD with ASP.NET MVC
What would be new in DNA2.0.3 ?
Runtime performance improving
DAN2.0.3 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.
Supports more database engines
DNA2.0.3 supports SQL Server,SQLExpress, SQLCE,MySQL,Oracle and as so on. DNA2.0.3 will 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 DNA2.0.3 increased detection of the user's machine environment,
and provide timely recommendations to adjust the environment.
- Auto detect environment change - When the installation environment changes, such as domain name or the core database change, DNA2.0.3 will be
timely adjusted automatically or prompt the user to adjust the environment.
Dependency Injection supports
DNA2.0.3 using DI (Dependency Injection) technology, fully expanded MVC3 in the DI ability to use the DNA in every aspect becomes very easy to
extend.
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
DNA 2.0.3 will include the documents that describes how to use and how to extend these service.
Team site
DNA2.0.3 added a team site feature, it allows use could create a new website under the top site by using the team site web templates. Users could
export the current website to a new team site web template and distribute to other DNA websites.
Installation framework
DNA2.0.3 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.
I will show you how to use the installation framework to create the deploy package and provides the package descriptor language specification after
2.0.3 released.
Widgets, Web pages, Themes are supporting the Installation framework that allows users create and export the deployment packages.
TextEngine enhancement
- DNA2.0.3 rewrite all the text engine, 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.
Client ability enhancement
- Use modernizr2.0 to supports Html5 and Css3.
- Add the javascript lazy load feature, reduces the quantity of the scripts download then improve the browser loading speed.
Using TDD in source code project
Add test projects for all DNA source code projects that makes DNA more easy to refactory, to test, to extend and more stabilize.
What is the status of DNA2.0.3 ?
The DNA2.0.3 core refactoring is complete and now i am testing it.We strive to provide a more stable and efficient CMS platform products. The next
steps are refactory the DNA publishing and DNA community. Is scheduled for July to release it.
-
-
Lectures(3651)
-
Permalien