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
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
...
/** 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();
+ });
...