--- Sprout.pm 2008/05/28 17:39:38 1.112 +++ Sprout.pm 2008/08/12 06:01:49 1.113 @@ -1962,7 +1962,20 @@ if ($featureID =~ /^fig\|(\d+\.\d+)/) { $retVal = $1; } else { - Confess("Invalid feature ID $featureID."); + # Find the feature by alias. + my ($realFeatureID) = $self->FeaturesByAlias($featureID); + if ($realFeatureID && $realFeatureID =~ /^fig\|(\d+\.\d+)/) { + $retVal = $1; + } else { + # Use the external table. + my ($org) = $self->GetFlat(['ExternalAliasOrg'], "ExternalAliasOrg(id) = ?", + [$featureID], "ExternalAliasOrg(org)"); + if ($org) { + $retVal = $org; + } else { + Confess("Invalid feature ID $featureID."); + } + } } # Return the value found. return $retVal;