Share via


Enterprise Library 5 – what’s on your wish list?

We’ve started our planning of the Enterprise Library 5. This is your chance to send us suggestions, comments, screams... These may include ideas for new blocks, new providers for existing blocks, integration with new .NET Framework 4.0 features, improvements to the design-time experience, performance improvements, support of specific deployment/operations scenarios, documentation/training support etc.

I am going to use the same technique Tom employed several years ago soliciting feature requests for EntLib3. It seemed to work quite well then. So, imagine you have a sum of money that you can invest in developing EntLib 5. Say $100 (or should I index the amount to be more like a stimulus package? :) In any case, when suggesting your features, decide how much of that $100 you want to spend for each feature. You can split $100 any way you want. If there is only one feature you want to spend all your money on, you can do it too. Please stay within the budget. Also, be specific – explain your scenario in detail, provide some context, make your case potentially appealing to other users of EntLib. Do remember, however, that EntLib has been and will be a general purpose library of reusable components that are architecture- and application domain-agnostic.

Once we gather your feedback, we will publish the list of feature requests and invite you to prioritize them.

Feel free to post your suggestions as comments on my blog or simply email me. Look forward to your propositions!

Thanks!

Comments

  • Anonymous
    January 26, 2009
    It’s that time again – the kick-off for the next major release of Enterprise Library. I can’t believe

  • Anonymous
    January 26, 2009
    I would like to see WPF integration for Validation. It was a pain to integrate the two.

  • Anonymous
    January 27, 2009
    How about a scan feature on Unity (convention over configuration) similar to that on StuctureMap.  I did a project with a lot web pages using Unity and my Unity Configuration section is enormous.

  • Anonymous
    January 27, 2009
    Here is my list: Configuration:

  1. Multiple configuration sources for configuration sections?
  2. Merging of configuration files at the runtime? DataAccess:
  3. Integration with entity framework Overall:
  4. Integration with azure services
  • Anonymous
    January 27, 2009
    Comienza el planning para la Enterprise Library 5.0

  • Anonymous
    January 28, 2009
    Enterprise Library 5.0 is being planned, if you want to "be part" of the planning team you can do it!

  • Anonymous
    January 28, 2009
    Planning on Enterprise Library 5 has started! See Gregori's blog for more information if you want your

  • Anonymous
    January 28, 2009
    My only comment, having looked at EntLib a few times and given up, is to make the config easier. The whole system is so unapproachable and complex seeming... It's great to have Some Block use Another Block and need the Config Block to configure whatever etc etc. But a simplified, quick, get-going would be very helpful. For instance, look at, say, log4net. Minimal config impact, real simple, straightforward.

  • Anonymous
    January 29, 2009

  1. DAL Intergration with Entity Framework
  2. Simpler Config Files.
  • Anonymous
    January 29, 2009
    I would spend the $100 on productizing Entlib.  Treat it as a product, provide better support for it (not just community-based) over several versions.  Don't assume people will just take a drop and start modifying it for their needs; also assume people will use it as a product and not modify it.  These are the people that need support on how to use it, and technical support for it through their entire lifecycle.  If they run into a problem with it two years after its release and can't get support for it, they're not going to want to use the next version and get bitten by that again.

  • Anonymous
    January 29, 2009
      I would include  some utility for helping the user create custom configurations. With no help, you are on the hook for multiple classes, xml section, and xml data elements for this. And it is not trivial.    As in the URL I included with this post, a configuration wizard for creating elaborate configurations in the Web.config and App.config.  Visual Studio should include this as a feature. Also.. SQL server-based configuration could be improved.. or actually fleshed out do that you don't need Allois Krous to get it to happen? I would ask others in this thread, have you not used the GUI that ships with, EntLibConfig.EXE,  to configure things? It really is not that complicated? I find most mistakes happen when people insist on Notepad over the GUI tool for editing configurations.

  • Anonymous
    January 29, 2009
    RE: EntLibConfig -- sure, it's very handy. But the fact that I have to configure a "Configuration Block" just to get some trace statements is what scared me. Also, all that config that the GUI generates -- ends up in my config! Now we're responsible to make sure it's correctly configured, setup, etc. when we go to deploy things. Maybe for big "enterprise" apps this is just one more cost that's acceptable. WCF has the same issue if you decide to configure by config file. Sure, there's a GUI, IntelliSense, etc. But managing a set of apps with 5 services that connect to each other becomes a major pain. Fortunately, WCF allows easy config via code. The difference with WCF is that it's a major, powerful platform, so it can justify a bit of up front time. If I just want some cute parts the ent lib offers, and I just need some simple functionality, I'm not willing to invest the time to "figure it all out". Maybe we need a non-enterprise version of EntLib.

  • Anonymous
    January 29, 2009
    I would be all my money on a non broken version of the Entlib config tool. 70$) The tool should be more generic and not break immediately when I add the first custom e..g logging filter or formatter. It should be able to display the nodes which do not have a .Design.dll in a meaningful manner. e.g. Key/value pairs. 30$ It should be possible to configure the whole set of constraints via one xml file so we do no longer need this myriad of .Design.dlls. That would make it much easier to add new extensions which can be configured nicely. Yours,   Alois Kraus

  • Anonymous
    January 31, 2009
    Here is my list:

  1. WPF & Silverlight integration for Validation
  2. DAL Intergration with Entity Framework
  • Anonymous
    February 01, 2009
    $70: Simple way to do dynimic conf for, among others, end user configuration of logging. $30: An intermediate auth provider, complexity wise in between the exisitng rule provider and az man. An ACL implementation would be nice since there is ample supply of code and infrastructure

  • Anonymous
    February 01, 2009
    Based on my experiences since the 3.0 version, I would include: 1 - ODP.NET support on both the Data library and the Logging library. 2 - Extended and improved support on the AzMan wrapper, mainly for the purposes of read tasks and operations and also for dealing with groups. The documentation for this feature also could be much better. 3 - I would try to reduce the verbosity of the .config file generated for the enterprise library. Regards.

  • Anonymous
    February 01, 2009
    I can't speak for other parts of EntLib, but our organisation would benefit from Silverlight support for Validation.

  • Anonymous
    February 01, 2009
    My list is: $50: Integrate the Resource Application Block from Enterprise Library Contribution. $30: Some form, of Query Application Block that allows for Commands and Parameters to be built from configuration OR integration with the Entity Framework $20: Unit tests that all work under Vista - or at least documented what permissions you have to set up to get them to work. Cheers.

  • Anonymous
    February 02, 2009
    Having used the enterprise Library without nobody in the team having used it before,I found quite difficult to get started to configure for Real World use.It seems to be a "black art". $30 Improve Support  and we need  Examples,Examples .small simple applications would be fantastic. ,Books and apps out there for download are not that good and well out of date. Update your "Hands on Labs". What about a "101 Enterprise Library". Lets be honest if you want people to use it you got to teach them. $30  Config Files. We use 1 config File x Layer to separate the concerns and make more maintanable.I wish the Editor could handle this better. $40  In previous version you could generate stuff ,"Application Software factory" am I wrong? you cannot anymore.What about introducing some tool that you can generate stuff to integrate with DAL etc... using T4 templates that we can easily edit.  IN the real world we are still using DataReaders and populate object that way.Linq To Sql is sort of Dead,EntityFramework ,many companies dont have that luxury to convert massive big apps to use it. Thanks

  • Anonymous
    February 03, 2009
    The comment has been removed

  • Anonymous
    February 03, 2009
    Grigori Melnik, who is the PM for EntLib over in Patterns & Practices, posted about planning version

  • Anonymous
    February 03, 2009
    De-bloat EL. I don't use it because there are open source alternatives that are much simpler and leave a smaller foot print.

  • Anonymous
    February 03, 2009
    40$ better documentation, videos etc. 60$ a party for the hard working team that produces this great product! Thanks for all your hard work.

  • Anonymous
    February 04, 2009
    The comment has been removed

  • Anonymous
    February 09, 2009
    First of all, thanks to all people who have provided their inputs to the EntLib5.0 backlog (please keep

  • Anonymous
    February 09, 2009
    $20 Analysisdesignimplementation for what it would take to start creating 'editions' of EntLib, where an edition is a set of configs and providers specialized for certain environments, like ... $80 An edition of entlib for SharePoint-as-a-platform application development          * Config providers that use farm, web app, site collection, site storage for config          * Solution(s) for deploying ent lib to a farm          * Logging providerconfig that writes to SharePoint logs          * SharePoint based configproviders for Security Block          * Resource app block included in 5.0 and providers created to support SharePoint resource mechanisms JTD

  • Anonymous
    February 10, 2009
    Hi, I would like to know whether can we implement the Ver5.0 in MOSS 2007? Thnx   Prasad

  • Anonymous
    February 10, 2009
    Hey Grigory. As we discussed during TechEd Developers EMEA 2008 (I'm that guy from Lithuania): 40% - guidlines / API for using Validation Block inside LINQ-to-SQL, EntityFramework, ASP.NET MVC 30% - UI tool for the Unity XML configuration + API for the convention over configuration 20% - more intuitive UI tool for the EntLib configuration 10% - get rid of outdated / rearely used application blocks

  • Anonymous
    February 12, 2009
    Provide default timestamp formatting for the Logging application block as described in your blog article: http://blogs.msdn.com/tomholl/archive/2006/01/22/516055.aspx This will reduce one additional step in customizing/overriding our own timestamp tokens.  

  • Anonymous
    February 12, 2009
    Currently, the Enterprise Library configuration tool opens up external configuration files that are hooked in through an App.config or Web.config file.  However, when these changes are saved/re-committed back to the file, the information is not persisted back to the individual external configuration files specified in the configSource attribute.  Instead, the entire configuration file is replaced with the new settings, thus removing the configSource attributes for each of the configuration sections.

  • Anonymous
    February 13, 2009
    When writing logging trace listeners, why do I have to inherit from CustomTraceListener? This is an unfortuante limitation, as I might just be wanting to extend one of the existing trace listeners and end up having to write a facade instead of inheriting directly. Also, it should not be up to the trace listener itself to perform the filtering and formatting of log items. I think the single responsibility of a trace listener should be to take a message and write it verbatim to a stream or location. The following method is required in EVERY custom trace listener to get them to work with the rest of the framework... not pleasant. <pre>        public override void TraceData(TraceEventCache eventCache, string source, TraceEventType eventType, int id, object data)        {            if (!(this.Filter == null || this.Filter.ShouldTrace(eventCache, source, eventType, id, null, null, data, null)))            {                return;            }            if (data is LogEntry && this.Formatter != null)            {                _eventLog.WriteEntry(this.Formatter.Format(data as LogEntry), GetEventLogEntryType(eventType), id, 0, new byte[] {});            }            else            {                _eventLog.WriteEntry(data.ToString(), GetEventLogEntryType(eventType), id, 0, new byte[] {});            }            _instrumentationProvider.FireTraceListenerEntryWrittenEvent();        } </pre> Thanks for asking for feedback!

  • Anonymous
    February 13, 2009
    much greater support and documentation for purely programatic configuration. I really don't like being restrained to config files and have run into situations where when 3rd party class libraries call my class libraries - they expect to find an entlib config file in the other guys class library - hence the need for programatic configuration my end - which appears to eliminate the problem. However, I find it's not easy to avoid an app.config as almost all documentation resources depend on xml configuration.

  • Anonymous
    February 16, 2009
    $40 - Online community similar to ASP .NET (http://www.asp.net/).  Include how-to videos, examples, support. $20 - Full integration into Visual Studio 2008+, so the relocation of the config tool and some VS Library entries with examples. $20 - Data Application Block integration with the Entity Framework. $10 - Silverlight validation. $10 - Ability to have a different config file for each block and merge them all at build/runtime.  If config integration into VS2008+ is achieved this could just be separating tabs under the existing VS GUI config file editor.

  • Anonymous
    February 24, 2009
    In LAB, using Email Trace Listener:

  • add a credential configuration that allows the listener to log in using POP3 before sending using SMTP (needed by some SMTP servers)
  • add an SSL option to be able to send emails using a secure SMTP server Best regards!
  • Anonymous
    February 25, 2009
    I agree with LilKamisen, i.e. EmailTraceListener what allow authentication and potentially ssl.

  • Anonymous
    February 27, 2009
    $70 - Activerecord  implementation. $20 - remove the policy injection block and merge it with the unity block. $10 - make config administration less painful.

  • Anonymous
    March 01, 2009
    may be they mentioned before but for sure:

  1. WPF & Silverlight integration for Validation Application block.
  2. DAL Integration with Entity Framework
  3. make config administration less painful.
  • Anonymous
    March 02, 2009
    The comment has been removed

  • Anonymous
    March 05, 2009
    The validation block is unusable with third party object relational mappers and this should be addressed in the upcomming release.   It is unusuable for two reasons.  First, the validation block is really only effective when using attributes or configuration files.  Attributes cannot be added to the entities as the code is regenerated each time the data stucture is changed.  Configuration files are a waste as the meta data to supply the validation is already contained in the generated code and it would be a manual process to sync the two.   Either one of two things could be done.  Allow us to override the ValidatonFactory or provide a ValidorBuilder interface so we can provide the implementation.  The second would require a rework as ent 4 lib has internalized and privitized all of the validatorbuildercreators and helpers.  Therefore we can not create a validator that validates a property or field of a class with a lot of work.   BTW - start opening up the ent frameworks and let us supply our own implementation sometimes so we don't have to rewrite your code.

  • Anonymous
    March 07, 2009
    The comment has been removed

  • Anonymous
    March 10, 2009
    I expect two versions will be released for this 5.0: One is tradition version with no number 5.0, give it $70. One is the version for silverlight, give it $30.

  • Anonymous
    March 10, 2009
    The comment has been removed

  • Anonymous
    March 11, 2009
    Hi, It would be nice to have a configuration editor for Unity, like there are for all the other application blocks. It also would be nice if you could include the XSD files for all configuration sections, so that we can have intellisense on Visual Studio, if we don't want to use the editors. Regards, Ricardo Peres

  • Anonymous
    March 11, 2009
    What about externalizing the code generation, so that we can use it in another projects that require dynamic code generation, like LinFu and Spring.NET? Regards, Ricardo Peres

  • Anonymous
    March 11, 2009
    Here is my last suggestion (for today, at least): what about a LINQ Application Block that would allow developers to create LINQ providers to heterogeneous data sources? Yes, I know there are already some out there (the LINQ IQToolkit comes to my mind), but that could be said for all other application blocks. Thanks, Ricardo Peres

  • Anonymous
    March 13, 2009
    The guys from the Enterprise Library development team are taking feature suggestions for the upcoming

  • Anonymous
    March 14, 2009

  • I'd like to see better integration capabilities of Validation Application Block with ASP.NET MVC validation mechanism.
  • Add more functionality into Unity and make it more like StractureMap
  • Update Data Application Block, so it could be more easly used with ADO.NET Entity Framework
  • Improve EntLib Configuration UI
  • create a sample ASP.NET MVC application with thorough EntLib integration, which could be served as Best Practices for ASP.NET MVC + EntLib applications.
  • Anonymous
    March 15, 2009
    I'd allocate 10$ of my budget to enhance Unity to support cyclic dependencies in containers, including simple mutual dependencies like the following. There are a lot of common use cases that require this, and at the moment Unity throws a stack overflow when these are defined. <container>        <types>          <type type="One" name="one">            <lifetime type="singleton" />            <typeConfig>                            <property name="TwoProp" propertyType="Two">                <dependency name="two" />              </property>            </typeConfig>                      </type>          <type type="Two" name="two">            <lifetime type="singleton" />            <typeConfig>              <property name="OneProp" propertyType="One">                <dependency name="one" />              </property>            </typeConfig>                      </type>        </types>      </container> Dickon

  • Anonymous
    March 16, 2009

  • a version for silverlight !!!
  • remove the policy injection block and merge it with the unity block.
  • Unity Conig UI
  • Anonymous
    March 23, 2009
    (These are based on my experience with EntLib 3.1 and parts of these may already be available in more recent versions)
  1. ($5) Package complete Enterprise Library as a single assembly (using ILMerge).   Fully qualified references to .Net assemblies in XML config should reference the ILmerged assembly.   The main benefit of this is that it would make upgrading to newer versions easier.   (Instead of looking for 20 references spread in .csproj files, configuration files, build script    configurations,..., there would be only one reference to update in all these locations)
  2. ($95) Reduce verbosity of configuration   * Implement distinction between "behavior configuration" and "infrastructure configuration"     For example, the following "table" contrasts the two types:     <pre>        Behavior configuration                   | Infrastructure configuration        Security rules                           | Authentication server name        IoC                                      | None        Policy injection                         | None        Validation rules                         | None Log format                               | None        Log destination (file, email, event log) | Log file path, email address, smtp server     </pre>           * Put infrastructure configuration in .config files     * Put behavior configuration in .Net code (using fluent interface/C# internal DSL)     * Alternatively, allow users to decide which configuration they put in .config files       and which configuration they put in .Net code       (depending on what they want to allow to change at runtime)     Environments "dconfig" is a great start, but it still produce verbose configuration files.   * Minimize the need to repeat fully qualified assembly name in configuration nodes     (Referencing .Net classes in the "behavior configuration" defined in .Net code instead      of referencing them in XML would greatly help for this)   * For infrastructure configuration, allow "Configuration by exception"     (EntLibConfig GUI should only write values that are different from the defaults)
  • Anonymous
    March 23, 2009
    $40 for fluent interfaces $30 for WCF and $30 for "101 Enterprise Library", e.g. many small samples and $100 from my pocket for improving community, site to be like asp.net one.

  • Anonymous
    May 23, 2009
    How about Asymmetric encryption support?

  • Anonymous
    June 14, 2009
    $60 - Entity Framework integration. $40 - Unity block for injection.

  • Anonymous
    March 01, 2010
    hi, I would really like to see new important features in the Cache App Block like:

  1. cache items hierarchy - where i could group items in cache (or even groups of groups of items) under the same key and delete them all at once by this key.
  2. cache synch between load balanced servers while cache is stored in-proc per sever. the synch could be simply by deleting same item (or group of items) in other servers while it's being deleted in the first server. Best regards, Guy Bertental
  • Anonymous
    May 17, 2011
    Start using it :)