4 Replies Latest reply on Jan 29, 2020 7:27 AM by mael.forner@aurea.com

    Server side : develop / implement custom channel

    bjn Novice

      In the developer document CRM.Web_DeveloperGuide_v11.11.pdf 

      Chapter 4 - Creating Custom Channels is a Note:

      Note: Previous versions of Aurea CRM Web provided another approach for

      integrating custom. This approach involved the creation of a custom channel factory.

      Due to the fact that Aurea CRM Web supports only one channel factory, a race

      condition can emerge from multiple plug-ins each requiring its own channel factory!

      Whereas this approach is still available, we do not recommend using it for new

      implementations.

      And the example shows:

      ....In order to implement a custom channel you need to create a class derived from

      mmServerChannel....

      ....

      To create a plug-in you need to create a class that implements interface update.web.Framework.mmIPluginEx.

      ...

      In order to have your plug-in loaded during the startup of Aurea CRM Web, you have to register it in the <Plugins> section of the <mmPortal> section in Configuration.xml using the syntax....etc.

       

       

       

      In contrast - the knowledge Base articles

      36324 MIGRATE Channels

      Section: Implementing Channels

      In order to implement a custom channel

      in update.seven you had to

      • Create a plug-in assembly
      • Create a class that implements interface mmIPluginEx
      • Add the plug-in to the list of plug-ins in file configuration.xml
      • Add a class for each custom channel.
      • Derive the class from mmServerChannel.
      • Register each channel class with a channel factory.
      • Call ServerChannelFactory.RegisterChannel(...) for each channel.

       

       

      The procedure in update.CRM web is similar. You have to

      • Create a plug-in assembly
      • Create a class that implements interface IPlugIn
      • Add the plug-in to the list of plug-ins in file settings.xml
      • Add a class for each custom channel
      • There is no need to derive the class
      • Register each channel with the channel factory
      • Call extension method IServiceFactory.RegisterChannels(assembly) to register all channels in your plug-in assembly.

       

      Which seems practicable for me... but show exactly the opposite of the current crm.web.developerguide?

       

       

      36326 Implementing Channels

      This KB also shows also the approach from KB 36324 and negates the current crm.web.developerguide?

       

       

      To me, the "CRM WEB Developer Guide v7" and newer versions are all "broken" in this chapter - as there is no longer a <mmPortal> section or configuration.xml file

      I could also not find any dll providing the update.web.Framework.mmIPluginEx class.

        • Re: Server side : develop / implement custom channel
          _miki_ Novice

          Hi bjn,

          I've seen this PDF couple of time at others, and was always wondering, if it helps somehow... The Aurea CRM (formerly update.CRM) Framework is built up with the ServiceLocator pattern and mostly loosely coupled, so has almost nothing to do with update.seven except of the underlying mmCore (upgraded to x64 arch.) - briefly: you cannot re-use anything from the old codebase; my personal opinion: rewriting the existing component line by line with the "help" of these comparisons is just a waste of time struggling to force an outdated mindset.

           

          I recommend you this guide: https://support.aurea.com/portal/Article_New?id=kA033000000TVD2CAO  - unfortunately the code samples are not real world examples, and I need to disagree with one of the quoted bullet points:

          • "There is no need to derive the class" => yeees, but you should derive from Channel in order to access the IServiceLocator via the Services property

           

          I used to use the update.Samples.* Projects to get an idea, how to use the new API, but for some reason they are not published at the Aurea Support Portal.

           

          Cheers,

          Miki

          1 person found this helpful
          • Re: Server side : develop / implement custom channel
            mael.forner@aurea.com Novice

            Hello,

             

            I had a discussion with the stakeholders and it seems that we have published an outdated document. I apologize for the inconvenience.

             

            For reliable information, please refer to the mentioned Knowledge Base articles.

             

            Please let me know if there is an issue.

             

            Best regards.