 
     override public function defaultValueFromString(description:String):void
     {
-        var url:String = description.substr(URL_DELIMITER.length, description.length);
-        _defaultValue = new DataFile(url);
+        var dataFile:DataFile = new DataFile();
+
+        if (description.indexOf(URL_DELIMITER) == 0)
+        {
+            dataFile.url = description.substr(URL_DELIMITER.length);
+        }
+        else if (description.indexOf(ITEM_ID_DELIMITER) == 0)
+        {
+            dataFile.itemID = description.substr(ITEM_ID_DELIMITER.length);
+        }
+
+        _defaultValue = dataFile;
     }
 
     override public function hasValidValue():Boolean
     {
-        if (_defaultValue.url)
+        if (_defaultValue.itemID)
+        {
+            return true;
+        }
+        else if (_defaultValue.url)
         {
             var validURLIndex:int = _defaultValue.url.search(VALID_URL_REGEX);
             return validURLIndex == 0;

    //--------------------------------------------------------------------------

    private static const URL_DELIMITER:String = "url:";

    private static const VALID_URL_REGEX:RegExp = /^(ht|f)tps?:\/\/[^\s\.]+(\.[^\s\.]+)*((\/|\.)[^\s\.]+)+\/?$/;



    override public function set defaultValue(value:Object):void
    {
        _defaultValue = new DataFile(value.url, value.itemID);
    }

    //----------------------------------
