diff --git a/desktop_ssa.php b/desktop_ssa.php
index f681f87..f86fdf5 100644
--- a/desktop_ssa.php
+++ b/desktop_ssa.php
@@ -59,48 +59,61 @@
 
     <link rel="stylesheet" type="text/css" href="js/lib/ext/resources/css/ext-all.css" />
     <link rel="stylesheet" type="text/css" href="js/resources/css/desktop.css" />
-    <link rel="stylesheet" type="text/css" href="js/resources/css/amda.css" />
+    <link rel="stylesheet" type="text/css" href="js/resources/css/amda.css?v=2" />
 
-    <link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> 
-    <link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> 
-    
-<!--  <script type="text/javascript" src="js/lib/ext/builds/ext-core.js"></script> -->
-<!--  <script type="text/javascript" src="js/lib/ext/bootstrap.js"></script> -->
-<!--  <script type="text/javascript" src="js/lib/ext/ext-all-debug-w-comments.js"></script>--> 
-    <script type="text/javascript" src="js/lib/ext/ext-all.js"></script>   
-<!--	<script type="text/javascript" src="js/lib/ext/ext-all-dev.js"> -->
-    <script type="text/javascript" src="js/lib/ext-override.js"></script> 
+    <link rel="stylesheet" href="js/lib/codemirror/codemirror-5.65.12/lib/codemirror.css">
+    <link rel="stylesheet" href="js/lib/codemirror/codemirror-5.65.12/addon/lint/lint.css">
+    <link rel="stylesheet" href="js/lib/codemirror/codemirror-5.65.12/addon/hint/show-hint.css">
 
+    <link rel="icon" href="favicon.ico" type="image/x-icon">
+    <link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
 
-	
-<!-- Direct API -->
-     <script type="text/javascript" src="php/api.php"></script> 
+    <!--  <script type="text/javascript" src="js/lib/ext/builds/ext-core.js"></script> -->
+    <!--  <script type="text/javascript" src="js/lib/ext/bootstrap.js"></script> -->
+    <!--  <script type="text/javascript" src="js/lib/ext/ext-all-debug-w-comments.js"></script> -->
+    <script type="text/javascript" src="js/lib/ext/ext-all.js"></script>
+    <!--	<script type="text/javascript" src="js/lib/ext/ext-all-dev.js"></script> -->
+    <script type="text/javascript" src="js/lib/ext-override.js"></script>
 
- 
-<!--  <script src="help/movies/Resources/scripts/prototype.js" language="JavaScript" type="text/javascript"></script>
+    <!--  Plotly module-->
+    <script src="js/lib/plotly/plotly-2.14.0.min.js"></script>
+
+    <!--  CodeMirror module-->
+    <script src="js/lib/codemirror/codemirror-5.65.12/lib/codemirror.js"></script>
+    <script src="js/lib/codemirror/codemirror-5.65.12/addon/mode/simple.js"></script>
+    <script src="js/lib/codemirror/codemirror-5.65.12/addon/edit/closebrackets.js"></script>
+    <script src="js/lib/codemirror/codemirror-5.65.12/addon/lint/lint.js"></script>
+    <script src="js/lib/codemirror/codemirror-5.65.12/addon/selection/active-line.js"></script>
+
+    <!-- Direct API -->
+    <script type="text/javascript" src="php/api.php"></script>
+
+    <!--  <script src="help/movies/Resources/scripts/prototype.js" language="JavaScript" type="text/javascript"></script>
       <script src="help/movies/Resources/scripts/qtp_poster.js" language="JavaScript" type="text/javascript"></script>          
       <link href="help/movies/Resources/stylesheets/qtp_poster.css" rel="StyleSheet" type="text/css" /> --->
 
 
     <script type="text/javascript">
-    //Enable dynamic loading for improved debugging support
-        Ext.Loader.setConfig({enabled: true});
- 
+        //Enable dynamic loading for improved debugging support
+        Ext.Loader.setConfig({
+            enabled: true
+        });
+
         Ext.Loader.setPath({
-            'Ext'               : 'js/lib/ext/src',
-            'Ext.ux.desktop'    : 'js/lib/ux/desktop',
-            'Ext.ux'            : 'js/lib/ext/examples/ux',
-            'MyDesktop'         : 'js/lib/ux/desktop/exampleModules',
-            'extensions'        : 'js/lib/ux',
-            'Ext.ux.amdaGrid'   : 'js/lib/ux/grid',
-            'samp'              : 'js/lib/SAMP',
-            'amdaDesktop'       : 'js/app/controllers',
-            'amdaUI'            : 'js/app/views',
-            'amdaPlotComp'      : 'js/app/views/PlotComponents',
-            'amdaModel'         : 'js/app/models',
-            'amdaPlotObj'       : 'js/app/models/PlotObjects',
-            'amdaReader'        : 'js/app/stores',
-            'amdaApp'           : 'js/app'
+            'Ext': 'js/lib/ext/src',
+            'Ext.ux.desktop': 'js/lib/ux/desktop',
+            'Ext.ux': 'js/lib/ext/examples/ux',
+            'MyDesktop': 'js/lib/ux/desktop/exampleModules',
+            'extensions': 'js/lib/ux',
+            'Ext.ux.amdaGrid': 'js/lib/ux/grid',
+            'samp': 'js/lib/SAMP',
+            'amdaDesktop': 'js/app/controllers',
+            'amdaUI': 'js/app/views',
+            'amdaPlotComp': 'js/app/views/PlotComponents',
+            'amdaModel': 'js/app/models',
+            'amdaPlotObj': 'js/app/models/PlotObjects',
+            'amdaReader': 'js/app/stores',
+            'amdaApp': 'js/app'
         });
 
         Ext.require('amdaDesktop.AmdaStateProvider');
@@ -110,125 +123,130 @@
         Ext.require('amdaApp.AmdaApp');
 
         var myDesktopApp;
- 
+
         var isMigration = false;
         var sessionID = '<?php echo $sessionID; ?>';
-        var isFirstVisit =  '<?php echo $usrMgr->isFirst; ?>';
+        var isFirstVisit = '<?php echo $usrMgr->isFirst; ?>';
         var isOldWS = false; // '<#?php echo $usrMgr->isOldWS; ?>';
-        var isSpecialInfo =  '<?php echo $usrMgr->isSpecialInfo; ?>';
-        var isNewInfo =  '<?php echo $usrMgr->isNewInfo; ?>'; 
+        var isSpecialInfo = '<?php echo $usrMgr->isSpecialInfo; ?>';
+        var isNewInfo = '<?php echo $usrMgr->isNewInfo; ?>';
         var news = '../data/' + sessionID + '/INFO';
 
-        var AMDAVERSION =  '<?php if (defined('AMDA_VERSION')) echo AMDA_VERSION;?>';
- 
-        var wsSize =  '<?php echo $usrMgr->getWsSize(); ?>';
+        var AMDAVERSION = '<?php if (defined('AMDA_VERSION')) echo AMDA_VERSION; ?>';
+
+        var wsSize = '<?php echo $usrMgr->getWsSize(); ?>';
         var diskQuota = '<?php echo DISK_QUOTA; ?>';
 
         var freeSpace = diskQuota - wsSize;
 
         var helpDir = 'help/';
         var isGuest = sessionID.match('guest');
+        var amdaDefaultValues = null;
+        var amdaDefaultConfigs = null;
+        var amdaDefaultOptions = null;
 
         var max_uploaded_file_size = '<?php echo MAX_UPLOADED_FILESIZE; ?>';
-        var guestSessionDuration = '<?php echo GuestSessionDuration*60; ?>'; // in secs
-        var maxGuestTimeInterval = '<?php echo MaxGuestTimeInterval; ?>';    // in days
- 
-        var gatewayTimeout = '<?php if (defined('GATEWAY_TIMEOUT')) echo GATEWAY_TIMEOUT; else echo 300000; ?>'; // in msec
+        var guestSessionDuration = '<?php echo GuestSessionDuration * 60; ?>'; // in secs
+        var maxGuestTimeInterval = '<?php echo MaxGuestTimeInterval; ?>'; // in days
 
-        var logExecTime = <?php echo (defined('LOG_EXEC_TIME') && (LOG_EXEC_TIME === TRUE) ? 'true' : 'false'); ?>;
+        var gatewayTimeout = '<?php if (defined('GATEWAY_TIMEOUT')) echo GATEWAY_TIMEOUT;
+                                else echo 300000; ?>'; // in msec
 
+        var logExecTime = <?php echo (defined('LOG_EXEC_TIME') && (LOG_EXEC_TIME === TRUE) ? 'true' : 'false'); ?>;
         //create mask class (LoadMask for elements has been deprecated, use Ext.dom.Element.mask & Ext.dom.Element.unmask)
         var AMDAMask = new Ext.Class({
-            show : function(interactivePlot)
-            {
-                var msg = 'Processing...Please wait';  
-                if (interactivePlot)   
+            show: function(interactivePlot) {
+                var msg = 'Processing...Please wait';
+                if (interactivePlot)
                     msg += ' <br/> <p align="center"><input id="killopBtn" type="button" value="Kill process" /></p>';
 
-                var mask = Ext.getBody().mask(msg);
+                var mask = Ext.getBody().mask(msg, 'amda-mask');
 
-                mask.dom.style.zIndex = '99998';
- 
-                var maskMsg = Ext.DomQuery.select('div[class=x-mask-msg]');
-                if (maskMsg)
-                    maskMsg = maskMsg[0];
-    
-                if (maskMsg)
-                    maskMsg.style.zIndex = '99999';
-                if (interactivePlot)
-                {
-					var killBtn = Ext.get('killopBtn');
-                    killBtn.on('click',function(e,t) {                     
-                        AmdaAction.killPlotRequest(function (result, e)
-                        {
-                            var t = e.getTransaction();
-                            if (e.status)
-                            { 
-                                if (!result)
-                                    myDesktopApp.errorMsg('Cannot kill process');
-                            }
-                            else
-                                myDesktopApp.errorMsg(e.message);
-
-                        },this);  
-                   
-                    },
-                    this);
+                if (interactivePlot) {
+                    var killBtn = Ext.get('killopBtn');
+                    killBtn.on('click', function(e, t) {
+                            AmdaAction.killPlotRequest(function(result, e) {
+                                var t = e.getTransaction();
+                                if (e.status) {
+                                    if (!result)
+                                        myDesktopApp.errorMsg('Cannot kill process');
+                                } else
+                                    myDesktopApp.errorMsg(e.message);
+
+                            }, this);
+
+                        },
+                        this);
 
                 }
             },
-            hide : function()
-            {
+            hide: function() {
                 Ext.getBody().unmask();
                 this.tid = null;
             },
-            isMasked : function()
-            {
+            isMasked: function() {
                 return Ext.getBody().isMasked();
             }
         });
- 
+
         var loadMask;
 
-        Ext.onReady(function () { 
+        Ext.onReady(function() {
             //TODO update jobsStatus onLogin             
-            Ext.Ajax.extraParams = {sessionID : sessionID};
+            Ext.Ajax.extraParams = {
+                sessionID: sessionID
+            };
             Ext.Ajax.timeout = gatewayTimeout; // msec ; should be the same value (or less) as gateway timeout
-            Ext.Ajax.on('requestexception', function(conn, response, options, e) {                   
+
+            Ext.Ajax.on('requestexception', function(conn, response, options, e) {
+
                 if (loadMask && loadMask.isMasked())
                     loadMask.hide();
 
                 if (response && response.statusText) {
-                    if (response.timedout) 
-                        alert('Request processing time exceeds gateway timeout.<br/>In case of parameter from Remote Bases : please re-launch the same request in 10 min,<br/>otherwise contact AMDA team');
-                    else 
+                    if (response.timedout)
+                        alert('Request processing time exceeds gateway timeout\n In case of parameter from Remote Bases : please re-launch the same request in 10 min,\n otherwise select "non-screen" FileOutput or contact AMDA team');
+                    else
                         alert(response.statusText);
-                }
-                else
+                } else
                     alert('Communication failure');
-                });
+            });
 
             // backspace key disable           
             Ext.EventManager.on(window, 'keydown', function(e, t) {
                 if (e.getKey() == e.BACKSPACE && ((!/^input$/i.test(t.tagName) && !/^textarea$/i.test(t.tagName)) || t.disabled || t.readOnly)) {
-                     e.stopEvent();
+                    e.stopEvent();
                 }
             });
 
             var stateProvider = Ext.create('amdaDesktop.AmdaStateProvider');
-
             stateProvider.on({
                 scope: this,
-                afterrestore: function(provider)
-                {
-                    amdaDesktop.JobsMgr.getStatus(); 	    
-                    Ext.state.Manager.setProvider(provider);
-                    myDesktopApp = new amdaApp.AmdaApp(); 
-                    // global message bus
-                    myDesktopApp.EventManager = new Ext.util.Observable();
-                    // not needed - for documentation only
-                    myDesktopApp.EventManager.addEvents('refresh');
-                    loadMask = new AMDAMask();
+                afterrestore: function(provider) {
+                    AmdaAction.getDefaultValueTree(false, function(defaults){
+                        if(defaults['success'])
+                            amdaDefaultValues=defaults['defaultValues'];
+                        AmdaAction.getDefaultValueConfigs(function(configs){
+                            if(configs["success"])
+                                amdaDefaultConfigs = configs["configs"];
+
+                            AmdaAction.getDefaultValueLinks(function(links){
+                                if(links["success"])
+                                    amdaDefaultOptions = links['links'];
+                                
+                                amdaDesktop.JobsMgr.getStatus();
+                                Ext.state.Manager.setProvider(provider);
+                                myDesktopApp = new amdaApp.AmdaApp();
+                                // global message bus
+                                myDesktopApp.EventManager = new Ext.util.Observable();
+                                // not needed - for documentation only
+                                myDesktopApp.EventManager.addEvents('refresh');
+                                loadMask = new AMDAMask();
+                            }) ;
+                        });
+                    }) ;
+
+                    
                 }
             });
 
@@ -236,6 +254,7 @@
         });
     </script>
 </head>
-<body/> 
-</html>
 
+<body />
+
+</html>
--
libgit2 0.21.2