Tom Hollander's blog

patterns, practices and pontification

Enterprise Library feature voting: The results are in!

Enterprise Library feature voting: The results are in!

  • Comments 5

We had a fantastic response to the Enterprise Library for .NET Framework 3.0 feature prioritization survey, with over 300 people sharing their ideas. I wanted to share the results, as we found them to be pretty interesting.

But first, it's important for everyone to understand that while customer feedback such as this is the most important factor in determining what we build, it's not the only factor. We also need to consider things like project resources, the skills we have on our team, alignment with current and future Microsoft products and p&p guidance, and so on. At this stage we haven't been able to consider all of these factors, so we can't say exactly what will actually make it into the new release of Enterprise Library - but it is safe to say that it will be heavily inflenced by the results of this survey.

And now, the results:

The first graph shows the number of points allocated to each feature in the survey. We used a simple algorithm giving 20 points for a Priority 1 vote, 19 for a Priority 2 vote, down to 1 point for a Priority 20 vote. (If there are any statisticians in the audience who would like to suggest a different approach for analyzing the results, let me know :-). Here's what you told us:

Here is the legend to help you decipher this chart:

Library Management

  • LM1: Simple Strong-naming
  • LM2: Ability to create custom developer installs
  • LM3: Ability to create custom production installs
  • LM4: Mini-Factory for building your own blocks and providers

New Blocks

  • NB1: Validation
  • NB2: Data/XML aggregation
  • NB3: User settings
  • NB4: Business Rules
  • NB5: Workflow
  • NB6: Plug-ins
  • NB7: Event Broker

Core Architecture

  • AR1: Manageability extensions for configuration (WMI, Group Policy)
  • AR2: Hardened SQL Configuration Source
  • AR3: Support for different configuration sources for each section
  • AR4: Default behavior for blocks with no configuration
  • AR5: ObjectBuilder / IOC enhancements
  • AR6: User of typed parameters instead of strings

Configuration Tool

  • CT1: Environmental Overrides
  • CT2: Support for encryption from the tool
  • CT3: Edit AppSettings and other .NET settings from the configuration tool
  • CT4: Config tool embedded in the Visual Studio IDE
  • CT5: Web-based configuration tool
  • CT6: Improved type loading behavior when assemblies can't be found

Caching Application Block

  • CA1: Configurable expirations

Cryptography Application Block

  • CR1: Asymmetric crypto support
  • CR2: Tools for key management in a web farm

Data Access Application Block

  • DA1: Batch support
  • DA2: ODP.NET provider support
  • DA3: Richer transactions support
  • DA4: Test database connections from the configuration tool

Exception Handling Application Block

  • EH1: Localization of exception messages
  • EH2: WCF integration (exception shielding / fault mapping)

Logging Application Block

  • LO1: Support for localized log messages
  • LO2: WCF pipeline integration
  • LO3: Strongly-typed event log entries
  • LO4: Per-source filtering
  • LO5: Local or UTC timestamps in formatted log messages
  • LO6: Reflected property tokens
  • LO7: Reliability enhancements using Critical Finalizers
  • LO8: Rolling flat file TraceListener
  • LO9: Log viewer tool
  • LO10: Improved performance and locking behavior for FlatFile
  • LO11: Create event sources from tool

Security Application Block

  • SE1: Finer-grained authorization

Docs and Samples

  • DS1: Docs and scripts to get all unit tests to pass
  • DS2: Detailed documentation for ObjectBuilder
  • DS3: More code samples
  • DS4: ASP.NET QuickStarts/Samples
  • DS5: Hands-On Labs in the box

I also did another graph that shows the totals for each feature area by combining all of votes for each individual feature. This graph isn't quite as useful for prioritization as it's highly unlikely we'll get to everything on the list - but it does show which feature areas people are most interested in:

I hope you found this interesting - as we get a more detailed picture on what will actually make the cut, we'll keep you in the loop.

  • After over 300 people responded to the Enterprise Library Survey, you can see the results here.
    It seems...
  • Hi Tom, this sounds really cool and at the same time depressing :-). Im still in the Entlib 1.1 world and looking to move to 2.0 and now 3.0 planning is already underway. (feeling rather left behind) . Still, its all good stuff and am delighted that PAG and other groups are doing so much for the developers.

    Btw, hope im not asking about something already there in 2.0 (as i said im going to start reading up on that) but what happened to the Async invocation app block, Aggregation app block etc from the old days ? and has UIP app block moved into CAB? also, how about a block or provider to make it easy to use AD or ADAM for authentication. Theres an MSDN article discussing the use of AzMan with WSE3 and the author points out that performance could be an issue with this provider.

    Rgds,
    Benjy
  • Hiya All!

    Could I suggest that the Enterprise Library 3.0 Install comes complete with app.config files for the VSTS projects that allow you to run all the unit tests successfully first time?

    Currently, with a fresh install of the Enterprise Library Jan 2006, a fair percentage on the unit tests fail, and there are even some files missing from the solution file.

    Cheers,

    Antony
  • Back in June, the Microsoft patterns & practices team began soliciting feedback for what features...
  • Yes, it's finally here. The patterns & practices team is pleased to announce the official release

Page 1 of 1 (5 items)