1 Reply Latest reply: Oct 2, 2012 9:58 AM by Ron M-Oracle RSS

    CustomPlugin Extensions

    dmccall
      We have the following turned on in config, but the crossreferences are not showing up, any ideas on where to start?

      <Plugin name="SubStituteMaterialIdentityPlugin" inheritFromPluginName="SpecStatusIdentityPlugin"/>
      <Plugin name="TrdAlternatePackagingIdentityPlugin" inheritFromPluginName="SpecStatusIdentityPlugin"/>
      <Plugin name="TrdPackagingMaterialIdentityPlugin" inheritFromPluginName="SpecStatusIdentityPlugin"/>

      thanks,
      David
        • 1. Re: CustomPlugin Extensions
          Ron M-Oracle
          The SpecStatusIdentityPlugin lists the current status of the spec, not the cross references.

          To list the cross references, you would have to write a new plugin class:
          - You can look at GSMSpecNumberFormatPluginFactory in the Extensibility Pack, in the ReferenceImplementations\PluginExtensions\SourceCode\ReferencePlugins\FormatPlugins folder for an example, but you'll want to copy and change it (change the GetText method) to use the class GSMSpecEquivalentRetriever (Xeno.Prodika.GSMLib.Utils in GSMLib) to get the cross reference. This will retriever the user's preferred cross reference.

          Also note that the GSMSpecNumberFormatPluginFactory is not handling formulation outputs, so you'd have to add


          To the method: GetBaseSpecFromContextObject


          if (context is IFormulationOutput)
          return GetOutputMaterial((IFormulationOutput)context);

          ...
          Then add this method

          private static IBaseSpec GetOutputMaterial(IFormulationOutput output)
          {
          if (output.Material.IsReferenced || output.Material.IsExternal)
          return (IBaseSpec)output.Material.DataObject;
          return null;
          }


          To see more detailed documentation, please reference ReferenceImplementations\PluginExtensions\Documentation\PluginExtensions.doc