Support Statement: What does migStatus="external" stand for

Q: What does migStatus="external" stand for? 

A: migStatus="external" is typically used when an API element is migrating to an expression that should not be preceded by the migration target (i.e. namespace) of its parent library. 

Here is an example from the migration rules for Script Runtime

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...FileExplorer\proj_csh\usr\Scrrun.dll.SystemIO.Refactor.xml
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    5 <Refactor id="[scrrun.dll]"  event="scrrun" >
>   6    <Migrate migName="System.IO" libType="Native" location="DoNotDeclare" AssemblyName="System.IO" />
...
> 115    <Migrate id="SpecialFolderConst.TemporaryFolder" migName="System.IO.Path.GetTempPath()" migStatus="external" />

Most of the API elements in Scripting migrate to something in System.IO.  We use migName="System.IO" on the Migrate rule for the library itself to indicate this and it causes "System.IO" to qualify Scripting API elements when they are expressed in the translations.

In this example, migStatus="external" is used with SpecialFolderConst.TemporaryFolder  to indicate that it is an exception, it will expressed by a pattern that is not preceded by System.IO. 

Looking at it here, I see the rule could be simplified to:

> 115    <Migrate id="SpecialFolderConst.TemporaryFolder" migName="Path.GetTempPath()" />

Note that appropriate values for migStatus depend on the element to which they apply.

The list of migStatus values listed in the Component status flags section:

https://greatmigrations.atlassian.net/wiki/display/GMG/gmplDeclarationStatements