[CONNECT .NET] What is MacroConfigurationAdmin?

The DgnPlatformNet help doc mentions MacroConfigurationAdmin.  Help doesn't tell us its purpose, nor how one would use it.  It's somehow related to configuration variables.

What is MacroConfigurationAdmin?

  • What is MacroConfigurationAdmin?

    I think it's an aspect of NET API internal implementation.

    The class itself is sealed and as visible in decompiled code, is a wrapper of some custom (not public C++ API) native code.

    Help doesn't tell us its purpose, nor how one would use it.

    There is no reason to use it. Did you find any class that requests e.g. to inject MacroConfigurationAdmin? The only place where it's used in constructor injection of MacroFileProcessor, which seems to be used nowhere, so I guess it's again something internal or the implementation and API design have not been finished yet.

    With regards,

      Jan

  • Hi ,

    Although I suggested we implement an intuitive isolation model (by location path) using: "Assemblies" (public) and "System\Assemblies" (private); we did not make changes towards implementing this and this makes it more difficult to scale and verify public APIs vs. private APIs.  Our general rule of thumb is if we publish an API as public it will appear in the documentation (chm/html files) and 3rd party developers can use it.  This helps most of the time, but with .NET libraries and not knowing/establishing solid boundary contexts for public and private there are and will be exceptions.

    Given that, the lack of being able to find much documentation on MacroConfigurataionAdmin (and related: MacroFileProcessor, ProcessTopLevelFile, ...) were added in MSCE U8 primarily for ProjectWise-specific integration/managed workspace support within the platform products and therefore most other related API calls will not be directly public/published/accessible.  I believe we can explicitly block/override known cases like this from being published in the docs so I will check to see if we can make this happen.

    The ConfigurationManager APIs should provide almost everything you may need, but if there is something more specific you are looking to achieve please feel free to ask and I will try to find recommendations.

    HTH,
    Bob



    Answer Verified By: Jon Summers