Search This Blog

Monday, July 20, 2015

A third-party Twitter Bootstrap Add-on for XAF Web UI

I wanted to share a recent announcement of the open source project from our long-time customers from Kazakhstan:

Talgat Shalabayev, the tech lead of the team providing this custom XAF module said in our LinkedIn group (if you are not yet a member of this forum/group where XAF users share their experience, be sure to join it as interesting things are happening there recently):

"I am glad to inform that we have released XAF Bootstrap addon. It implements Twitter Bootstrap functionality for Web module. You can test and use it now. Project is licensed under open source.
Addon is used in a several our projects in production, but it was tested only with our production needs, not all XAF configuration options, and released "as is". For example, it works for now only with XPO (EF not supports for now), .Net 4.5 and there may be more configuration-specific issues. We plan gradually increase supported features, but we hope that interested community members will join to testing or developing this addon - it will speed up addon's way to production ready state."

You can also see the video guys posted at for more understanding of what this module provides and how to add it into an existing XAF Web project.

My own experience

I decided to test this module with our XCRM demo and first downloaded it from GitHub (they now provide compatible versions for both v14.2 and v15.1 of DevExpress assemblies). 
Since the module currently supports only XPO and .NET 4.5, the demo app required some adjustments to be usable with this module (because it is EF-based). Once I fixed this (by registering several ObjectSpaceProviders for XPO and EF within a single app and modifying the ModuleUpdater class code accordingly), the resultant Web app looked quite well (except for some visual glitches in the menu and other side effects):

After further testing I discovered several issues with both server side and client-side code, which  will require additional time and coding to make this custom module work with this particular Web app. All the issues were reported to the authors and some of the specificities were already reflected in the project description on GitHub and others will likely be fixed in the future.


All in all,  I greatly appreciate the hard work of the team produced this module, because its complexity and amount of code can be compared to our built-in DevExpress.ExpressApp.Web module. However, I think it will take a while before this custom module can be used without with an arbitrary XAF Web app. As the authors said, currently this module can be optimized and tested under the scenarios occurred in their own app and it may require additional R&D and testing to adopt it to your specific app configurations and scenarios. 

If you like this effort, have basic XAF, ASP.NET  and HTML/JS experience  and want to deliver a similar UI to your own clients, feel free to support this open-source project by testing it with your own XAF Web app and reporting discovered issues on the project's page on GitHub. I think that the team will not mind your applying fixes as well (after some review of course) as it happens for any other open-source project.


While we are talking about the XAF Web UI, do not miss the built-in Web page templates and theme optimized for touch devices (CTP) we announced about a month ago. The current v15.1.5 also contains an interesting web improvement for XAF reporting controls, which I have just blogged about at XAF: A preview of the HTML5/JS Report Document Viewer integration in Web UI (Shipping in v15.1.5).


  1. Hi
    Pls, can you partage the project xcrm modified to use xaf bootstrap add-on

    1. @MohAl: I am not maintaining this third-party project, so feel free to repost your request at
      BTW, have you tried the new XAF UI ( I am asking because this is a built-in feature of XAF and it can also meet the needs of your clients.

  2. Hi Dennis,
    Is this working on 15.2 ?

    1. I do not see a 15.2 branch at
      I suggest you contact the author of this project for more details. Thanks.