Options

RTC Add-Ins - Changes in NAV 2013?

vsnasevsnase Member Posts: 23
edited 2012-10-08 in NAV Three Tier
Hi,

does anybody know or has tested if Add-Ins developed for NAV 2009 will run in NAV 2013 without any further code-changes? Or other way round will Add-Ins developed with NAV2013 rund on NAV 2009? e.g. can I reference Microsoft.Dynamics.Framework.UI.Extensibility.dll from NAV20013 and run my AddIn also under NAV2009? Can I distribute Microsoft.Dynamics.Framework.UI.Extensibility.dll (NAV2013) with my AddIn?

If not how can we check NAV-version prior to loading the control?

Volker

Comments

  • Options
    deV.chdeV.ch Member Posts: 543
    Looks like you can't reuse nav2009 rtc addins in nav2013, at least my addins are not showing up in the list of available addins even though i copied them in the addin folder...

    edit: ](*,) forget about that, i forgot to add register it in the addin-table...

    But when i open the page i get the error: "Could not locate the add-in library for ...." :-k
  • Options
    kinekine Member Posts: 12,562
    The addin functionality in NAV 2013 was extended with things like custom events, calling custom methods from NAV etc. I am not sure if you can use 2009 addin in 2013, but 2013 in 2009 I am expecting that you cannot...
    Kamil Sacek
    MVP - Dynamics NAV
    My BLOG
    NAVERTICA a.s.
  • Options
    Christian_AbelnChristian_Abeln Member, Microsoft Employee Posts: 42
    AddIn assemblies for the WindowsClient in NAV2009 and NAV2013
    In NAV2013 we are shipping a new version of the Microsoft.Dynamics.Framework.UI.Extensibility.dll. All Addins must be compiled against that new version in order for them to load in NAV2013. (Like AddIns that should load in NAV2009 R2 must be compiled against the version that comes with NAV2009.)
    It would here not help to ship the extensibility library from NAV2009 with a NAV2009 AddIn into a NAV2013 installation - the AddIn would still not be recognized. Please note that the extensibility library is part of the platform and already loaded into the process of the windows client. This library contains the base types and interfaces which the respective NAV process is looking for.

    Originally we had planned (and announced) that we want to allow loading AddIns assemblies compiled for NAV2009 to also load in NAV2013 - unfortunately we have not been able to achieve this goal, mainly because of the fact that .Net Reflection is not supporting resolving types from another assemblies with newer version.
    (We might look into this problem at a later time again.)

    NAV 2013 Client extensibility
    Indeed have the interfacing capabilities of AddIns in NAV2013 been enhanced a lot.
    The .NET attribute [ApplicationVisible] can be used on any public method, property or event of the AddIn class, in order to expose it to coding from CAL. For events exposed from AddIns, in CAL there will appear triggers in code on the respective page. CAL code can address the AddIn methods & properties directly as methods & properties on the field. Pretty cool, I think. \:D/

    The data binding approach we have introduce in NAV2009 is still supported in the same way: through the Source Expression of the field hosting the AddIn into the Value property in the AddIn class.

    The combination of data / document binding and a method / event interface are extremely prowerful tools to build great AddIns that even communicate some amounts of data - like data visualizations.
    I could imagine that some AddIns for NAV2009 will be revisited by their developer and be updated to take advantage of the new interfacing capabilities, such that the cross version AddIns are perhaps not soooo important. We have also added further capabilities in layout support, which make great sense to be used.

    And last but not least we are going to ship a few cool AddIns in NAV2013: some that have been presented before and some new ones.
    Stay tuned....
    “This posting is provided "AS IS" with no warranties, and confers no rights.”

    Christian Abeln
    Program Manager Microsoft
    Dynamics NAV

    blogs.msdn.com/cabeln/
  • Options
    vsnasevsnase Member Posts: 23
    Hi Christian,

    what I still miss is to get info from/about NAV when loading the addin. Like in the case of using a addin for both 2009 and 2013 to check version and give error messages before loading. If seeing a Error that it cannot be loaded will end in a long search for the reason. Good would also be to be able to set properties for the addin with in NAV in the page-designer (like size of the Addin or if to use Multiline). Best wouold be to be able to crate and set custom-properties.

    Volker
  • Options
    Christian_AbelnChristian_Abeln Member, Microsoft Employee Posts: 42
    Hi Volker,

    I have some AddIn tools going to be posted on my Blog for NAV2013. Those tools will allow you to easily see all registerd AddIns and that can check for AddIns that are registered but cannot be found and AddIns that are found but are not registered yet. With a checkbox one can register non registered addins and unregister the one he does not need in the database anymore.
    This tool also reports error when trying to load an AddIn - together with the underlying error message.
    This tool will also report if an AddIn has been found multiple times in the directories.

    It is a interesting idea to have page designer support for custom properties on fields for AddIn. Yet this is not an easy task. It basically would require also the addin developer to code property editors hosted in the dev environment (at least for complex properties) - similar to what you can do for Visual Studio.
    This is cool stuff - perhaps for future releases of NAV.
    “This posting is provided "AS IS" with no warranties, and confers no rights.”

    Christian Abeln
    Program Manager Microsoft
    Dynamics NAV

    blogs.msdn.com/cabeln/
  • Options
    kinekine Member Posts: 12,562
    Thanks Christian for all the info... :thumbsup:
    Kamil Sacek
    MVP - Dynamics NAV
    My BLOG
    NAVERTICA a.s.
  • Options
    vsnasevsnase Member Posts: 23
    Hi Chrstian,

    just a short idea for custom properties. like with every .NET - Programm You could use a config-file, which is stored as xml inside NAV and just written to hdd when RTC is started and can be checked with new events "preloadAddin". You only need then onenew propertyfiled for storing pth and name of configfile and a subform forloading the custom properties.

    Volker
  • Options
    Christian_AbelnChristian_Abeln Member, Microsoft Employee Posts: 42
    Please note: In the release of NAV 2013 (was not supported in the public Beta drop) we have provided compatibility for AddIns in a way that AddIn from NAV 2009 can be used in NAV 2013 without recompiling the AddIn.
    :wink:
    “This posting is provided "AS IS" with no warranties, and confers no rights.”

    Christian Abeln
    Program Manager Microsoft
    Dynamics NAV

    blogs.msdn.com/cabeln/
  • Options
    AddiceAddice Member Posts: 12
    Please note: In the release of NAV 2013 (was not supported in the public Beta drop) we have provided compatibility for AddIns in a way that AddIn from NAV 2009 can be used in NAV 2013 without recompiling the AddIn.
    :wink:

    I'm using this version

    Dynamics NAV 7.0
    7.0.33781.0

    and Addins compiled for version 6.0 are "not viewed" am I missing something ?
Sign In or Register to comment.