Taverna server (version 2.5.4 - secured)

  • grant permission to the Tomcat server to run code as other users
visudo

      #taverna
      Defaults:tomcat7   !lecture, timestamp_timeout=0, passwd_tries=1

nano -w /etc/sudoers.d/taverna

      Runas_Alias        TAV = %tomcat7
      tomcat7            ALL=(TAV) NOPASSWD: ALL
      
chmod 440 /etc/sudoers.d/taverna
  • install server
wget https://launchpad.net/taverna-server/2.5.x/2.5.4/+download/TavernaServer-2.5.4.war
service tomcat7 stop
mv TavernaServer-2.5.4.war /var/lib/tomcat7/webapps/tavernaserver.war
service tomcat7 start

nano -w /var/lib/tomcat7/webapps/tavernaserver/WEB-INF/classes/log4j.properties

        #log4j.appender.R.File=${catalina.home}/logs/tavserv.out
        log4j.appender.R.File=/var/log/tomcat7/tavserv.out
        
service tomcat7 restart
  • modify admin web page to allow empty workflow list
nano -w /var/lib/tomcat7/webapps/tavernaserver/WEB-INF/classes/admin.html
- <button id="saveWorkflows">Save</button> <button id="refreshWorkflows">Refresh</button>
+ <button id="saveWorkflows">Save</button> <button id="refreshWorkflows">Refresh</button> <button id="emptyWorkflows">Empty WF list</button>
nano -w /var/lib/tomcat7/webapps/tavernaserver/WEB-INF/classes/static/admin.js
...
/** How to get the list of permitted workflows; called on demand */
function refreshWorkflows() {
-        var wftable = $("#workflows"), wfbut = $("#saveWorkflows"), wfref = $("#refreshWorkflows");
+        var wftable = $("#workflows"), wfbut = $("#saveWorkflows"), wfbut1 = $("#emptyWorkflows"), wfref = $("#refreshWorkflows");
        wfbut.button("disable");
+        wfbut1.button("disable");
        wfref.button("disable");
        getJSON(where("permittedWorkflowURIs"), function(data) {
                var s = "";
                $.each(data.stringList.string || [], function(idx, str) {
                        s += $.trim(str) + "\n";
                });
                wftable.val($.trim(s));
                wfbut.button("enable");
+                wfbut1.button("enable");
                wfref.button("enable");
        });
}
 
/** How to set the list of permitted workflows; called when the user clicks */
function saveWorkflows() {
-        var wftable = $("#workflows"), wfbut = $("#saveWorkflows");
+        var wftable = $("#workflows"), wfbut = $("#saveWorkflows"), wfbut1 = $("#emptyWorkflows");
        var xml = NodeAll("stringList", "string", wftable.val().split("\n"));
        wfbut.button("disable");
+        wfbut1.button("disable");
        putXML(where("permittedWorkflowURIs"), xml, function() {
                refreshWorkflows();
        });
}
 
+/** How to empty the list of permitted workflows; called when the user clicks */
+function emptyWorkflows() {
+        var wftable = $("#workflows"), wfbut = $("#saveWorkflows"), wfbut1 = $("#emptyWorkflows");
+        var xml = NodeAll("stringList", "string", "");
+        wfbut.button("disable");
+        wfbut1.button("disable");
+        putXML(where("permittedWorkflowURIs"), xml, function() {
+                refreshWorkflows();
+        });
+}
 
...
/** Start everything going on page load */
$(function() {
        // Must be done in this order because the accordion is inside a tab
        $("#a-worker").accordion({
                collapsible : true,
                fillSpace : true,
                autoHeight : false
        });
        $("#body").tabs({
                selected : 0
        });
        $("#saveWorkflows").button({
                disabled : true
        }).click(function(event) {
                saveWorkflows();
                event.preventDefault();
        });
        $("#refreshWorkflows").button({
                disabled : true
        }).click(function(event) {
                refreshWorkflows();
                event.preventDefault();
        });
+        $("#emptyWorkflows").button({
+                disabled : true
+        }).click(function(event) {
+                emptyWorkflows();
+                event.preventDefault();
+        });
...
  • Configure server by Administration Interface
    • Create a new USER (i.e. tavAdmin) and set System Username = tomcat7
    • Empty Workflow URIs list: click on “Empty WF list”
 
 
tav/tserv.txt · Last modified: 2014/06/03 11:36 by giancarlo

Developers: CNR IRCrES IT Office and Library
Giancarlo Birello (giancarlo.birello _@_ ircres.cnr.it) and Anna Perin (anna.perin _@_ ircres.cnr.it)
V2P2@TO.CNR is licensed under: Creative Commons License
Recent changes RSS feed Creative Commons License Valid XHTML 1.0 Valid CSS Driven by DokuWiki
Drupal Garland Theme for Dokuwiki