Technical Direction of the EL?

Oct 4, 2007 at 5:34 PM
I've used EL for a reasonable amount of time now, and am wondering what the intended road map the P&P team has for EL? I see there is an expected release when VS2008 comes out. However much beyond a recompile I'm not sure if there are any public plans.

I see the activity in "Enterprise Library Contrib" as a add-on extension project and that shows a lot of promise.

Is there a road map for EL4? Is there going to be a EL4, or is it going to be more of a 3.5 (or just get rolled into .Net 3.5)? Or is the Contrib group look to assimilate EL and continue on with their refactoring.

Many thanks for any insight folks have,

Oct 12, 2007 at 3:50 PM

Yes, we are planning a release of EntLib for VS2008, consisting of fixes and minor improvements. No new application blocks though. So it will be more like 3.5 not 4.

Suggestions are still accepted (contact me directly or post your wishlist here).

We are also planning on releasing updated Hands On Labs with guidance on VAB and PIAB.

Oct 14, 2007 at 4:37 PM
I have to say I'm very impressed with the depth and extensibility of EntLib! I've been studying it for the past week and I'm overly impressed with its design and architecture.

I'm curious about configuration and wondering if more effort will be placed in fleshing it out. In my mind, you guys have taken a HUGE step in making configuration in what it should be for a .NET application. I'm surprised (and sort of disappointed!) that it wasn't like this to begin with, but very glad you're stepping in to pick up the slack. :)

I would like to see configuration be accessible from an ASP.NET application. When I design an ASP.NET application, I put as much as possible into configuration sections. Now that I'm familiar with this amazing framework, I'll be migrating all my sections to it. :)

It would be AWESOME to have a ASP.NET Server Control that ties into the EntLib configuration framework. That is, this control would be placed on an administration page and administrators can manage the site right from this control.

I would take this concept one step further, and make each configuration section visible based on security roles/identities. That way, you can have admins see EVERYTHING in a web.config (like the system.web block, etc.), and site contributors modifying application-specific settings.

Finally, the "view" of this configuration should be skinnable/ elements. I could conceive a version 1.0 being a embeddable WinForms UserControl (using an ActiveX Object), but in the end ideally you want to take the PropertyGrid functionality and WebApp it. :)

This, of course, would be a huge undertaking, and it's something I'm investigating to see if it already exists.

In any case, I believe configuration is SORELY overlooked and there just isn't enough effort placed in getting it to reach its full potential. Mucking around in .config files should be sooooo 2002. :)
Oct 14, 2007 at 4:56 PM
Here's my wish list, still beleiving in santa claus...:

ConfigurationSource Design Model need to abstract any technologies used as front end as Windows.Forms. Web, wpf or command-line clients should be possible easily.
SqlConfigurationSystem should have Xpath model as database. with .config2sql, sql2.config with values contained in a seperate field.
Logging should have by event id, categories, severity, priority, properties configuration as filters for distribute listeners.
A Workflow Application Block that components like PageFlow could be built on.
To ensure ConfigurationSource is customizable everywhere in different factories.
Include Service Locator App. Block in EntLib.
WCF Service for Logging Listener, ConfigurationSource, Data Provider. Resource Provider, Caching Provider, Policy Injection CallHandler, Validation, Security, etc...
All more WCF bindings, behaviors, handlers for Ent Lib. as for Policy Injection.
Workflow and Policy Injection should have a mix to make policies applied on a workflow.
A System.Resources (Resources Management) Application Block.
Add stronger stuff in cryptography and security.
Add Permissions Extensibility in Security App. Block
Security App. Block should contains a attribute class derived for SecurityAttribute for code protection.
External Client Validator Class (Javascript code generator for all validator)
Configurable breakpoints in validation failures.
More CA Rules applied.
Oct 16, 2007 at 4:36 AM
- Policy Injection: Embrace Object Builder's new stuff (Codeplex container): Virtual/IL Gen interception
- Reflection: Offer core services (e.g. Getting a value from a MemberInfo, whether it's a Field, a Property or a Get Method, Dealing with generics)
- Offer more Analysis-level patterns (e.g. Who hasn't created a Lookup table at some point?)
- Security: Offer Data-based (row-based) security (e.g. Any employee from Department X can access Account Y)
- Configuration: Offer a XAML based configuration model/parser
- Guidance automation helpers: Not sure yet what I want here but it still looks painful to create a decent guidance package

Of course, plus all my posts I should gather together...

That's it for now!
Oct 16, 2007 at 9:09 AM
one improvement i would like to see is the ability of the rolling trace listener to roll on 12 AM every night and not after 24 hours have passed since the creation of the log file. we use the rolling listener to log data from a few windows services we developed. if the service is started at 3 PM then the file rolls at 3 PM daily and that makes me crazy when i need to look for an entry in the log (is it in the current file or the previous file? it all depends on the hour i look for)
Oct 16, 2007 at 12:39 PM
Here are my thoughts at the moment - although I understand we can make these changes our selves (with the exception of the last one).

  • Make the file listener have the capability to select the encoding. This makes the solution more international friendly, and a nice simple addition to the block
  • Make the eventlog listener install the eventlog sources at time of installation as well as the dynamic installation. It seems this is a relatively common theme (it works in dev, but not in production). I know I have some across it when dealing with a service on a clean machine (rather than the dirty dev machine). (yes I know the extension team has already done this)
  • Add/reuse a validate configuration method that can check to see if you have permissions to perform the actions you are asking it to do. This would make the 'I'm not getting anything in the log' problem easier to diagnose without each developer writing custom code to see why the are not getting eventlog entries(sorry just thought about that one - may be bogus!)
  • Either ship the PDBs (all at time of release :-) ), or if you want to be daring put the PDB & source on the symbol server that the .Net 3.5 source runtime is going to be distributed on - now that would be VERY cool.

Overall I see the product as nice and stable, the above should add some smiles to the users without being overly heavyweight to develop. Others changes I would like to see are definitely specific to me so I'll just add them (time permitting) to my one!

Many thanks to the team and I hope some of the above stirs some interest,


Oct 16, 2007 at 2:50 PM
Here are my two cents :

Ok, just one cent then ;-)

Oct 16, 2007 at 3:54 PM
First thanks a lot for your efforts in improving the Enterprise Library.

The wish I have is to enhance the Logging block by adding a log file recycling option.

I have an application that can produce a very large log and it sometimes becomes too large to read.

The options I can see should include log recycling based on time e.g. every day or every hour and the file size.

In addition, it should be an option of storing a file that grew beyond the threshold under a sequential name or a cutover day/time stamp
Oct 16, 2007 at 4:37 PM
following arthurz idea, i would like the logging block to be able to keep only the last XX files in the log dir (e.g. 2 files)
the rest should go to a ZIP file to save space. and files should be automatically deleted from the zip file if the files are too old (e.g. 30 days)

this way i can keep log files ready to be read for today and yesterday. the history if needed is in a zip file and i know the zip file only contains the last 30 days so i don't have to worry about the zip file getting too large
Oct 16, 2007 at 5:54 PM
Edited Oct 16, 2007 at 5:56 PM
I would like Configuration tool not be tied to a configuration file. Sometimes if you are using a custom ConfigurationSource like SQLConfigurationSource or one maybe a WCF Service ConfigurationSource that interfaces with SQLConfigurationSource, you may want to configure those settings using the custom ConfigurationSource and may not have access to the specific config file. An example would be if you have multiple data centers but only wanted to have the configuration tool in one data center. The configuration tool could access the settings using the WCF Service ConfigurationSource. Another example is a situation where you have a service oriented architecture and those services are load balanced so their configuration is in one central place, not the configuration file. It would be nice to be able abstract out how you select the application to configure.

Also as stated by brunolauze it would be nice to have a web version of the configuration tool, or as he states somehow have a design model that allows us to define the UI technology we use.

"ConfigurationSource Design Model need to abstract any technologies used as front end as Windows.Forms. Web, wpf or command-line clients should be possible easily."
Oct 17, 2007 at 3:16 PM
I would like to see a set of SQL Server CLR functions that compliement the Cryptography Application Block. I would also like to see that the requirement for an absolute path with the encryptionKeyFile attribute disappears, either with support for Environment Variables or relative paths or both.
Oct 17, 2007 at 4:53 PM
  • Copy existing rules from a type to another or property to property
  • If "property A" pass validation do not perform validation over "property B"
Oct 23, 2007 at 12:47 AM
Edited Oct 23, 2007 at 12:48 AM

  • a Localization application block (for all non-system string literals in all EL application blocks)

From the 'Convention over configuration' point of view, I'd like to see:
  • a possibility for an assembly/class to emit some default configuration/default configuration values using attributes, with the enterprise library configuration tool to build up the default configuration when loading it, or at least Logging Categories or Exception handling policies (which I think should be defined only within your application instead of both application and configuration). For example in a very simple form, something like this:


Wiebe Tijsma
Nov 5, 2007 at 1:00 PM
we are walking around the bush for quite some time.
is there a clear due date foe EL 3.5?

I'm about to start a ne BIG project, and we are using .NET 3.5. What should i do? recompile EL3.0 or wait to 3.5?

Nov 5, 2007 at 2:49 PM
Edited Nov 5, 2007 at 6:25 PM

We announced back in August that the EntLib 3.5 release was planned for the end of Feb 2008 with the launch of Visual Studio 2008 (

Yes, you can certainly re-build EntLib from the source now.


Dec 11, 2007 at 2:46 PM
I'd like to be able to override the configuration source on a per-block basis from the configuration tool itself rather than having to do it manually from code. I'd just like the tool to support having a separate validation.config and security.config since these two can get to be quite long. At the same time, I'd like to see better support for the SqlConfigurationSource so that these two sections could possibly be stored centrally in the database.
Dec 13, 2007 at 8:36 AM

It would be great to make EntLib more WCF friendly in terms of being able to shuffle some of the data structures around via remoting.
Dec 17, 2007 at 9:19 PM
Was pretty excited about the DIAB nd EL4.0

Now, is there a change in the path ? and EL3.5 has no place for DIAB ?

Dec 17, 2007 at 11:36 PM

NeoAdroit wrote:
Was pretty excited about the DIAB nd EL4.0
Now, is there a change in the path ? and EL3.5 has no place for DIAB ?

EL3.5 is now EL4.0.