2nd MSDN Magazine Article Hits the Web [Jack Gudenkauf]

The second of two articles we wrote for MSDN magazine was published online today (and available in news stands now): https://msdn.microsoft.com/msdnmag/issues/07/03/CLRInsideOut/default.aspx

This article discusses the System AddIn pipeline and we promised to show the utilization of the model to enable compatibility as your Host and Add-In version independently. In this article we’ll first go into detail about the architecture of the model. Then we’ll look at version 2.0 of the application we reviewed last month, using it to get an in-depth view of how our pipeline works, and finally using it to demonstrate how you can use our system to keep add-ins working even as the host changes.

Comments

  • Anonymous
    February 15, 2007
    Good article.  How would would you go about adding IoC (Inversion of Control)?  for example: event registration could be done via attributes to hook up publishers to subscribers?  Or another example setting up business objects within a plugin.

  • Anonymous
    February 15, 2007
    Wow!  What a great question.  I think there are several questions in there :-)We are planning to give more guidance on using patterns, etc.. on our model.  In some respects there are several patterns you employ (or may employ) in using our model (e.g., Proxy, Adapter, Bridge, …).  The key to our model is a separation of implementation and integration.  After initial activation we get out of the way.  Which of course implies that you need to build your object model on pattern(s). We will give an example of how events are enabled over our model. We will give an example of how a traditionally thought of Add-In (e.g., Office Add-In) works over our model.  The article shows an Add-in providing a service to a Host not an Add-in automating a Host. I’m not clear on your BO plugin question but if you are referring to an Add-in (sorry but we use the term Add-in not plug-in) that also acts as a Host (e.g., Windows media player) we support this model.  Or if you are refering to plugable pipelines we also support this. JackG

  • Anonymous
    February 15, 2007
    Great...I've seen this question posted several times, but need to post it again... When will it be released?

  • Anonymous
    February 15, 2007
    Oh also, WCF example, for example, WCF interface mapped and a plugin interface mapped into a single instance to a module...Thus from the programmers view point it can be coming over the web, or UI it uses the same interface?

  • Anonymous
    February 15, 2007
    re: When it is released - http://blogs.msdn.com/clraddins/archive/2007/01/12/msdn-magazine-articles.aspx#commentsre: WCF. We reconcile the models via an interface/contract.  In fact we call it a contract because we worked with the WCF team.  There is certainly more we could do to bring the models together. The models are similar wrt a proxy pattern.  The WCF model is fundamentaly based upon a messaging model and reconciling to a single model for cross machine and intra-machine would be difficult.JackG

  • Anonymous
    February 16, 2007
    Can this technique be used in Web apps? I am working on a project that is a web app and we would like to develop a framework that enables develoeprs to build tools against our app and then treat those tools as add-ins. Would this be the technique we should be moving towards?

  • Anonymous
    February 19, 2007
    We designed these features to be used in both clients and servers including web applications. We are also capable of running in partial trust so if you need, for example, to host add-ins from a partially trusted IIS/ASP.Net domain you will be able to.In fact, a few of the internal partners we are working with are building web applications and drove many of our requirments.Thanks,Jesse Kaplan

  • Anonymous
    February 19, 2007
    How would an add-in talk to another add-in in your model? Is there some kind of contract between an add-in and the host to find and  communicate with other add-ins?

  • Anonymous
    February 20, 2007
    In order to create a host application, should we wait for 'Orcas' release? The AddIn namespace is new as of Orcas, correct?With regards to add-ins talking to add-ins - I'm not sure we envisioned that. Could have possibilities though. Thanks for bringing it up!Leland

  • Anonymous
    February 20, 2007
    Is it possible for an out-of-process addin to be activated remotely (say on remote server machine on the corporate network)?

  • Anonymous
    February 20, 2007
    The comment has been removed

  • Anonymous
    February 21, 2007
    How do you plan to support the third category, the UI type addin? Thanks

  • Anonymous
    February 22, 2007
    The question about UI add-ins probably warrants its own post but the short answer is that our model is agnostic as far as UI is concerned and doesn’t do anything that would prevent hosts from designing object models that would allow the add-ins to directly display UI to the user. The problem is that there is currently no UI framework built on the CLR that is capable of running in multiple AppDomains. We are working with the WPF and WindowsForms teams to enable these scenarios but we’re not sure when that will come online. In the meantime, if your add-ins need to contribute UI directly to the user you can run those add-ins in the same AppDomain as the host: you will lose the sandboxing potential and reliability you get with AppDomain isolation but you still get most of the versioning benefits enabled by our sytsem. --Jesse Kaplan

  • Anonymous
    February 24, 2007
    What would be the guidance for when to use System.Addin as opposed to CAB?

  • Anonymous
    February 26, 2007
    The comment has been removed

  • Anonymous
    February 26, 2007
    Thanks for the response JackG.  Perhaps part of my original question should have been... Since CAB is a pre-built framework, why would I re-implement the same thing under the Add-In model?  I know something about CAB but little about AddIn.  Are there any advantages to building my own AddIn based framework? i.e. CAB is heavy handed compared to AddIn, doesn't provide isolation, etc....?  I do like the idea of working with a supported MS product.  BTW - I've read the MSDN articles - good stuff.

  • Anonymous
    February 27, 2007
    John, Thanks for clarifying. I agree a UI f/x built upon the Add-In model would be a great offering. We have had many discussions internaly about this very subject.  I will pass on this desire to our sister team. If others out there are also interested, please let us know.  Customer demand certainly drives our feature work. JackG

  • Anonymous
    July 27, 2007
    Regarding support for UI Add-In's - Here you go! http://blogs.msdn.com/clraddins/archive/2007/07/27/by-popular-demand-jack-gudenkauf.aspxJackG

  • Anonymous
    January 03, 2008
    <a href= http://index1.krewor.com >jodo upskirt gameshow</a>