A few months ago; we announced open sourcing of Crux; an application development framework and a lightweight workflow engine rolled into one; build on the .NET platform. If you want to know more about Crux; you can read more about it here.
Since it's birth and since we posted the initial code base that we wrote; the Crux development team has been putting in quite a bit of effort to roll out some fairly interesting features.
Here's a list of some features that you can try out today by grabbing a zip of the latest copy of the code base:
Crux is supposed to give you the basic framework to build applications on top of. A basic virgin deployment of Crux pretty much looks like this:
With Application injection; we make it easy for you to extend Crux without having to modify it's core or without having to modify the crux-code-base. By uploading one folder with custom ASP.NET pages and a single configuration file; you can extend Crux and inject your own application into it. If your application contains multiple modules or navigation items each one of them show up on crux as soon as your application in injected into Crux.
How this is different from multiple Portal frameworks out there is that while you inject Portlets into your portal; with Crux you will be able to upload full blown applications built using standard ASP.NET.
Currently you can inject just one application per Crux instance but we are working on features which will allow you to inject multiple application on Crux instance. We are also working on making Visual Studio Templates which will allow you to click File / New / Project / Crux Application - using Visual Studio - and start writing code for your custom application.
The idea of application injection is critical to the adoption and growth of Crux because we have multiple teams within eFORCE using Crux for their projects now and we want to allow them to upgrade the underlying version of Crux without impacting their own application.
The idea of application injection into Crux also becomes important because one of our ultimate goals is that developers outside of eFORCE should be able to build Crux applications; package them; share them with the rest of the community or even sell them if they want to.
We will be working on packaging this feature and will be giving you features to upload zipped installations of Crux-Applications into Crux using a web based user-interface which the Super-Administrator can use to upload Crux-Applications in later releases of Crux.
While the ability to inject applications into Crux is fine-and-dandy there are times when our project teams using Crux want an ability to extend existing crux screens (we call them dashboards). Here is what a typical dashboard looks like:
With crux you now have the ability to extend these dashboards and map them to parts of your injected application without touching the crux-code base. The application that you inject can contain configuration which allows it to add items to and extend the existing dashboards inside crux:
The same feature also allows you to create completely new dashboards inside of Crux without writing any code.
Additional features we have added include Internationalization and the ability to create and manage your own roles instead of being satisfied with what Crux gives you. These came in as patches which have been reviewed; slightly modified and applied into the Crux code-base.
Crux has already seen multiple successful implementations at eFORCE.
The development cycles are fairly fast and we are adding new features.
We have not yet tagged Crux as 'version 1.0' and are going to be leaving it in pre-beta stage for a few more weeks; but we would encourage you; dear reader; to go grab the latest copy of the code base; play with it and send us feedback.
More features; posts and training videos on Crux will be rolled out as we move forward.
We will also be announcing more open source goodness around crux soon --- stay tuned.