diff --git a/js/app/views/DownloadUI.js b/js/app/views/DownloadUI.js
index 9c602e6..00c470d 100644
--- a/js/app/views/DownloadUI.js
+++ b/js/app/views/DownloadUI.js
@@ -416,6 +416,7 @@ Ext.define('amdaUI.DownloadUI', {
              (record.get('nodeType') == 'remoteSimuParam') ||
              (record.get('nodeType') == 'derivedParam') ||
              (record.get('nodeType') == 'myDataParam') ||
+	     (record.get('nodeType') == 'specialParam') ||
              (record.get('nodeType') == 'alias')) &&
              (record.isLeaf() || record.get('isParameter')) &&
              !record.get('disable'))
@@ -436,8 +437,9 @@ Ext.define('amdaUI.DownloadUI', {
             case 'localParam' :
             case 'remoteParam':
             case 'remoteSimuParam':
+	    case 'specialParam':
                 idToSent = record.get('id');
-                if (record.get('alias') != "")
+                if (record.get('alias') && (record.get('alias') != ""))
                     idToSent = "#" + record.get('alias');
                 var component_info = record.get('component_info');
                 if (component_info && component_info.parentId)
diff --git a/js/app/views/ParamArgumentsUI.js b/js/app/views/ParamArgumentsUI.js
index 70d52ab..4aea2ec 100644
--- a/js/app/views/ParamArgumentsUI.js
+++ b/js/app/views/ParamArgumentsUI.js
@@ -498,6 +498,28 @@ Ext.define('amdaUI.ParamArgumentsUI', {
     			
     			me.add(argumentField);  
     			break;
+               case 'int' :
+                        var argumentField = Ext.create('Ext.form.NumberField', {
+                                argId: 'template_' + key,
+                                fieldLabel: argument.name,
+                                allowDecimals    : false,
+                                allowBlank       : false,
+                                value: parseInt(argument.default),
+                                listeners: {
+                                        change: function(field, newValue, oldValue, eOpts) {
+                                                var template_args = me.paramRequestObject.get('template_args');
+                                                if (!template_args)
+                                        template_args = {};
+                                                template_args[key] = newValue;
+                                                me.paramRequestObject.set('template_args', template_args);
+                                                if (!this.inRebuild && (me.onChange != null))
+                                                        me.onChange(uiScope, key, newValue, oldValue, true);
+                                        },
+                                        scope: me
+                                }
+        	        });
+			me.add(argumentField);
+			break;
     		case 'list' :
     			var items = [];
     			Ext.Object.each(argument.items, function (itemKey, itemName) {
diff --git a/js/app/views/ParameterUI.js b/js/app/views/ParameterUI.js
index d580915..75c9977 100755
--- a/js/app/views/ParameterUI.js
+++ b/js/app/views/ParameterUI.js
@@ -352,7 +352,7 @@ Ext.define('amdaUI.ParameterUI',
 								case 'remoteSimuParam' :
 								case 'specialParam' : 
 									nameToSent = data.records[0].get('id');
-									if (data.records[0].get('alias')!= "" )
+									if (data.records[0].get('alias') && (data.records[0].get('alias')!= ""))
 										var nameToSent = "#"+data.records[0].get('alias');
 									var component_info = data.records[0].get('component_info');
 									if (component_info && component_info.parentId) 
diff --git a/js/app/views/PlotComponents/PlotTree.js b/js/app/views/PlotComponents/PlotTree.js
index 8a10925..d125e27 100644
--- a/js/app/views/PlotComponents/PlotTree.js
+++ b/js/app/views/PlotComponents/PlotTree.js
@@ -556,7 +556,8 @@ Ext.define('amdaPlotComp.PlotTree', {
 			return record.get('leaf');
         	case 'amdaModel.LocalParamNode'   :
     	 	case 'amdaModel.RemoteParamNode'  :
-    	 	case 'amdaModel.RemoteSimuParamNode'  :    
+    	 	case 'amdaModel.RemoteSimuParamNode'  :
+		case 'amdaModel.SpecialParamNode' :
     	 		return record.get('isParameter') && ! record.get('disable');
     	 	
     	 	case 'amdaModel.DerivedParamNode' : 
@@ -686,10 +687,11 @@ Ext.define('amdaPlotComp.PlotTree', {
                                     case 'amdaModel.LocalParamNode'   :
                                     case 'amdaModel.RemoteParamNode'  :
                                     case 'amdaModel.RemoteSimuParamNode'  :
+                                    case 'amdaModel.SpecialParamNode' :
                                         if (!record.get('isParameter') || record.get('disable'))
                                             return false;
 
-                                        if (record.get('alias') != "")
+                                        if (record.get('alias') && (record.get('alias') != ""))
                                             this.dropParamToCreate(targetNode, position, "#" + record.get('alias'));
                                         else {
                                             var isVector = record.get('iconCls') == 'icon-vector';
diff --git a/js/app/views/SearchUI.js b/js/app/views/SearchUI.js
index ba4fd65..08bff25 100755
--- a/js/app/views/SearchUI.js
+++ b/js/app/views/SearchUI.js
@@ -346,6 +346,7 @@ Ext.define('amdaUI.SearchUI',
 										(data.records[0].get('nodeType') == 'remoteSimuParam') ||
 										(data.records[0].get('nodeType') == 'derivedParam') ||
 										(data.records[0].get('nodeType') == 'myDataParam') ||
+										(data.records[0].get('nodeType') == 'specialParam') ||
 										(data.records[0].get('nodeType') == 'alias')) &&
 										(data.records[0].isLeaf() || data.records[0].get('isParameter'))  &&
 										!data.records[0].data.disable)
@@ -367,9 +368,10 @@ Ext.define('amdaUI.SearchUI',
 								{
 									case 'localParam' :
 									case 'remoteParam' :
-									case 'remoteSimuParam' :    
+									case 'remoteSimuParam' :
+									case 'specialParam' :  
 										nameToSent = data.records[0].get('id');
-										if (data.records[0].get('alias')!= "" )
+										if (data.records[0].get('alias') && (data.records[0].get('alias')!= "") )
 											nameToSent = "#"+data.records[0].get('alias');
 											var component_info = data.records[0].get('component_info');
 											if (component_info && component_info.parentId) 
diff --git a/js/app/views/StatisticsUI.js b/js/app/views/StatisticsUI.js
index 00d76d1..2cc95b0 100644
--- a/js/app/views/StatisticsUI.js
+++ b/js/app/views/StatisticsUI.js
@@ -348,6 +348,7 @@ Ext.define('amdaUI.StatisticsUI',
                                                             (data.records[0].data.nodeType == 'remoteSimuParam') ||
                                                             (data.records[0].data.nodeType == 'derivedParam') ||
                                                             (data.records[0].data.nodeType == 'myDataParam') ||
+							    (data.records[0].data.nodeType == 'specialParam') ||
                                                             (data.records[0].data.nodeType == 'alias')) &&
                                                             (data.records[0].isLeaf() || data.records[0].data.isParameter) &&
                                                             !data.records[0].data.disable)
@@ -371,8 +372,9 @@ Ext.define('amdaUI.StatisticsUI',
                                                         case 'localParam' :
                                                         case 'remoteParam':
                                                         case 'remoteSimuParam':
+							case 'specialParam' :
                                                             nameToSent = data.records[0].get('id');
-                                                            if (data.records[0].get('alias') != "")
+                                                            if (data.records[0].get('alias') && (data.records[0].get('alias') != ""))
                                                                 var nameToSent = "#" + data.records[0].get('alias');
                                                             var component_info = data.records[0].get('component_info');
                                                             if (component_info && component_info.parentId)
diff --git a/php/classes/AmdaAction.php b/php/classes/AmdaAction.php
index f00caef..7996167 100644
--- a/php/classes/AmdaAction.php
+++ b/php/classes/AmdaAction.php
@@ -156,6 +156,7 @@ class AmdaAction
 					$rank = null;
 					$skip = FALSE;
 					$last_update = 0;
+					$needsArgs = FALSE;
 
 					switch ($nodeType)
 					{
@@ -217,6 +218,9 @@ class AmdaAction
 							if ($child->hasAttribute('description')) {
 								$info = $child->getAttribute('description');
 							}
+							$needsArgs = FALSE;
+							if ($child->hasAttribute('TemplatedParameter'))
+								$needsArgs = true;
 							break;
 
 						case 'localParam':
@@ -593,7 +597,7 @@ class AmdaAction
 						$childrenToReturn[] = array('text' => $name, 'id' => $id, 'nodeType' => $nodeType, 'info' => $info,
 													'help' => $help, 'leaf' => $isLeaf, 'isParameter' => $isParameter, 'dim_1' => $dim_1, 'dim_2' => $dim_2,
 													'component_info' => isset($component_info) ? $component_info : NULL,
-													'iconCls' => isset($iconCls) ? $iconCls : NULL, 'last_update' => $last_update );
+													'iconCls' => isset($iconCls) ? $iconCls : NULL, 'last_update' => $last_update, 'needsArgs' => $needsArgs );
 					}
 				}
 				// if $childrenToReturn we have to return []
--
libgit2 0.21.2