ASP.NET Boilerplate v0.8 and ASP.NET Zero v1.8 Have Been Released

It’s very exited for us to release these versions since they have many new features wanted before. Let’s begin to investigate…

ASP.NET Boilerplate v0.8

You can see all resolved issues on the Github milestone and see release notes on the Github release.

What’s New?

Moved to .NET 4.6.1

We moved to latest .NET framework to prepare ASP.NET Core integration. So, existing applications should be upgraded in order to get ABP v0.8 release.

Notification System

This was a feature we always wanted to implement, and finally here: Real time push notifications! As a brief, it allows users to subscribe notification types. Then we publish a notification and it’s sent to all subscribed users. We can also target to specific user(s).

Real time API is designed as abstract and implemented by SignalR. Notification publisher also uses background jobs to distribute notifications. Thus, it does not block you.

See notification system document for more.

SignalR Integration

A new package, Abp.Web.SignalR has been published. It simplifies SignalR integration for your application and implements two abstract concept:

  • Notification system, used to send real time push notifications to users.
  • Online Clients (IOnlineClientManager), used to get information on online users! Yes, you can check if a user is currently online (IOnlineClientManager can be used in any layer of your code) or can get a list of all online users.

See SignalR integration document for more.

Abp.Owin Package

Abp.Owin package is published for OWIN integration. It currently does not much, but solves a problem (see issue #849) in debugging. Add this package to your .Web project and call UseAbp() method in your Startup file as shown below:

[assembly: OwinStartup(typeof(Startup))]
public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        app.UseAbp();

        //other configuration...
    }
}
Background Jobs and Workers

This is also was a most wanted feature. Now, we can add our jobs to queue and they are exdecuted in background (in a seperated thread). We can use this for sending emails, for example. ABP includes a simple built-in background job manager which executes jobs as FIFO with a retry mechanism.  It can be easily replaced by HangFire.

See background jobs and workers document for more.

HangFire Integration

Abp.HangFire package is published for HangFire integration. You can use it as background job manager. You can also get all power of HangFire.

See HangFire integration document for more.

Breaking Changes

There are a few breaking changes in v0.8:

* Upgraded to .NET Framework 4.6.1 (download here). Current applications should also upgrade. Just change target framework for your projects.

After upgrade, you may get an exception related to System.Runtime in your deployment environment. This is not related to ABP, but you may fix it by adding System.Runtime to assemblies in your web.config as shown below:

<compilation debug="true" targetFramework="4.6.1">
 <assemblies>
 <add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
 </assemblies>
</compilation>

You can check this link if you want to know more information on this problem.

* Replaced Microsoft.Bcl.Immutable package dependency with System.Collections.Immutable, since it was deprecated by Microsoft. After upgrade, you should carefully uninstall old Microsoft.Bcl.Immutable package from all of the projects in your solution.

* If you are using OWIN, then you should add Abp.Owin to your application as described above.

Road Map to v1.0

  • v0.8.x: Probably, there will be minor releases until v0.9. Also, we will document and create samples for SwaggerUI and RedisCache integration and Typescript proxy generation.
  • v0.9: Integrate to ASP.NET Core v1.0 (probably with ASP.NET Core RC, since there is no clear release date yet). Also, there are some waiting issues in Github v0.9 milestone.
  • v1.0: API stabilizations, improvements, documentations and waiting issues in v1.0 milestone.

We can not say exact release dates. Integrating to ASP.NET Core is the risk point for us. We don’t know what type of problems we will have. If everything goes well, we planned to finish it until May 2016.

ASP.NET Zero v1.8

As you probably know, ASP.NET Zero is a commerical product built on ABP framework. It’s a good startup point for your next projects. It provides a modern user interface and application layer by extending module-zero.

What’s New?

Notification System

As ABP framework introduced a new notification system, we implemented UI and application layers it in ASP.NET Zero. Some screenshots:

Notification area (in the header) – shows latest notifications and updated real time:

notification-main

Notification settings:

notification-settings

Notification List – Shows all notifications:

notification-settings

Currently, there are two pre-defined notifications those are sent when a new user is registered to the system. First, a welcome notification is sent to the new user. Second, a notification sent to subscribed users (generally the admin) to inform that a new user is registered.

To test it; Create a demo, login as admin and check “On a new user registered to the application” on notification settings. Then open a second browser. Register a new user in the second browser. You will see real time notification in the admin side.

Account Linking

A user can have more than one account in different tenants (or even in same tenant or in the host). If he want to switch to 2nd account, he had need to logout from 1st account and then enter credentials to login to 2nd account. Now, he can link all his accounts and then switch between accounts with a single click. Added a new sub menu to the user menu:

notification-settings

“Manage accounts” opens a dialog to see all linked accounts and add/remove accounts.

OData, SignalR and HangFire integrations

Integrated OData, SignalR and HangFire to the startup template. So, you can immediately use all these out of the box.

Others

Also, upgraded to ABP v0.8 and Metronic v4.5.4, made some minor enhancements ang bug fixes.

Road Map

Our current priorities are;

  • ASP.NET Core version. This will wait ABP’s ASP.NET Core Integration (ABP v0.9 – mentioned above).
  • Angular 2.0 SPA version. This will be developed concurrently with ASP.NET Core version.
  • Other features on the roap map documentation.

Some Statistics

ABP community is growing. We have 1,115+ stars on main repository, 92,000+ downloads on Nuget (just for the core package), ~900 visitors daily (to aspnetboilerplate.com), ~3,000 forum posts… Thank you all :)

About the Team and Contributors

Introducing İsmail Çagdaş (@ismcagdas), who is my co-partner, will be the second developer dedicated to ASP.NET Boilerplate and ASP.NET Zero projects.

I also want to thank to all contributors to ABP project. They made significiant contribution by issues, feedbacks, forum supports and pull requests.

Links

32 Comments ASP.NET Boilerplate v0.8 and ASP.NET Zero v1.8 Have Been Released

  1. Rexha

    Wow! Great Job @HIKALKAN!
    I used to work with HangFire and it’s great to see the integration with Abp.

    Thanks for your hard work!

    Reply
      1. sohaib

        Hi Halil,
        You have written a great architecture. I’m using it. Would you please let me know one thing? I went through your article on codeproject but I’m facing one problem while creating multitenant application. Obviously I’m not using angular there and the article I went through was with client side in angular.js. so I need to know How are you handling views? specifically the architecture of @L(“anykeyword”) . I have seen that every class or any attribute is being referred using it.. could you please brief me how are you handling it so that I can easily develop 3 database oriented pages for my site today. if you can share a link

        Reply
  2. Farb

    Hi,hikalkan!You really did a good job!As a .net developer,I just wanna say ‘Thank you’ and hope you could add some cooler features in more advanced techniques.Take care of yourself!

    Reply
  3. Justin Homes

    you had mentioned v0.9 around May 2016 with aps.net core. Are you any close to this? i am most interested in multi Tenant boilerplate with .net core

    Reply
      1. Justin Homes

        I am kinda confused where you say you will support asp.net core and not .net core until later. isn’t asp/net core built on top of .net core?

        Reply
        1. hikalkan

          AspNet Core can work on .Net Core or Full .Net Framework. We can not support .Net Core since some of APIs we are using are not supported yet.

          Reply
          1. Justin Homes

            I am just starting to read up on .net core and asp.net core, could you please help me with what type of features that .net core does not support yet, that will give me an idea of what should i do with my new project. Whether to choose full .net framework or not.

          2. hikalkan

            Hi,

            I’m reading for months and even I can not say an exact list :) Please read more, I can not write them here. I will consider to move to .NET Core after it’s full released.

  4. Justin

    is there a proven way to only use modules only related to Multi tenancy and use Dapper ORM instead of EF

    Reply
    1. hikalkan

      Hi,

      ABP has no integration with Dapper. You can implement it but I don’t know if Dapper ORM supports automatic data filters (which is used in multitenancy).

      Reply
  5. Shivraj

    Good job sir , I like to work on boilerplate asp.net ,And I am started my work its simple website ,its new and very very innovative ,I like and its future boom ,thanks

    Reply

Leave A Comment

Your email address will not be published. Required fields are marked *