diff --git a/nextflow/resources/views/begin.html b/nextflow/resources/views/begin.html
deleted file mode 100644
index 9ba623a2..00000000
--- a/nextflow/resources/views/begin.html
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/nextflow/resources/views/nextFlowConfiguration.html b/nextflow/resources/views/nextFlowConfiguration.html
deleted file mode 100644
index fd2a895c..00000000
--- a/nextflow/resources/views/nextFlowConfiguration.html
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
-
-
-
diff --git a/nextflow/resources/views/nextFlowConfiguration.view.xml b/nextflow/resources/views/nextFlowConfiguration.view.xml
deleted file mode 100644
index 8a589d3c..00000000
--- a/nextflow/resources/views/nextFlowConfiguration.view.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/nextflow/src/org/labkey/nextflow/NextFlowConfiguration.java b/nextflow/src/org/labkey/nextflow/NextFlowConfiguration.java
new file mode 100644
index 00000000..e8480095
--- /dev/null
+++ b/nextflow/src/org/labkey/nextflow/NextFlowConfiguration.java
@@ -0,0 +1,71 @@
+package org.labkey.nextflow;
+
+public class NextFlowConfiguration
+{
+ private String nextFlowConfigFilePath;
+ private String accountName;
+ private String identity;
+ private String s3BucketPath;
+ private String credential;
+ private String apiKey;
+
+ public String getNextFlowConfigFilePath()
+ {
+ return nextFlowConfigFilePath;
+ }
+
+ public void setNextFlowConfigFilePath(String nextFlowConfigFilePath)
+ {
+ this.nextFlowConfigFilePath = nextFlowConfigFilePath;
+ }
+
+ public String getAccountName()
+ {
+ return accountName;
+ }
+
+ public void setAccountName(String accountName)
+ {
+ this.accountName = accountName;
+ }
+
+ public String getIdentity()
+ {
+ return identity;
+ }
+
+ public void setIdentity(String identity)
+ {
+ this.identity = identity;
+ }
+
+ public String getS3BucketPath()
+ {
+ return s3BucketPath;
+ }
+
+ public void setS3BucketPath(String s3BucketPath)
+ {
+ this.s3BucketPath = s3BucketPath;
+ }
+
+ public String getCredential()
+ {
+ return credential;
+ }
+
+ public void setCredential(String credential)
+ {
+ this.credential = credential;
+ }
+
+ public String getApiKey()
+ {
+ return apiKey;
+ }
+
+ public void setApiKey(String apiKey)
+ {
+ this.apiKey = apiKey;
+ }
+}
diff --git a/nextflow/src/org/labkey/nextflow/NextFlowController.java b/nextflow/src/org/labkey/nextflow/NextFlowController.java
index f22af232..b6b285d1 100644
--- a/nextflow/src/org/labkey/nextflow/NextFlowController.java
+++ b/nextflow/src/org/labkey/nextflow/NextFlowController.java
@@ -1,26 +1,25 @@
package org.labkey.nextflow;
+import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.Logger;
import org.labkey.api.action.ApiResponse;
import org.labkey.api.action.ApiSimpleResponse;
import org.labkey.api.action.FormViewAction;
import org.labkey.api.action.MutatingApiAction;
-import org.labkey.api.action.ReadOnlyApiAction;
+import org.labkey.api.action.SimpleViewAction;
import org.labkey.api.action.SpringActionController;
+import org.labkey.api.admin.AdminUrls;
import org.labkey.api.data.PropertyManager;
import org.labkey.api.data.PropertyStore;
-import org.labkey.api.module.Module;
-import org.labkey.api.module.ModuleHtmlView;
-import org.labkey.api.module.ModuleLoader;
import org.labkey.api.pipeline.PipeRoot;
import org.labkey.api.pipeline.PipelineJob;
import org.labkey.api.pipeline.PipelineService;
import org.labkey.api.pipeline.PipelineStatusUrls;
import org.labkey.api.security.AdminConsoleAction;
import org.labkey.api.security.RequiresPermission;
-import org.labkey.api.security.SecurityManager;
import org.labkey.api.security.permissions.AdminOperationsPermission;
-import org.labkey.api.security.permissions.AdminPermission;
+import org.labkey.api.security.permissions.InsertPermission;
+import org.labkey.api.security.permissions.ReadPermission;
import org.labkey.api.security.permissions.SiteAdminPermission;
import org.labkey.api.util.Button;
import org.labkey.api.util.PageFlowUtil;
@@ -28,20 +27,23 @@
import org.labkey.api.util.logging.LogHelper;
import org.labkey.api.view.ActionURL;
import org.labkey.api.view.HtmlView;
+import org.labkey.api.view.JspView;
import org.labkey.api.view.NavTree;
+import org.labkey.api.view.UnauthorizedException;
import org.labkey.api.view.ViewBackgroundInfo;
import org.labkey.nextflow.pipeline.NextFlowPipelineJob;
import org.springframework.validation.BindException;
import org.springframework.validation.Errors;
import org.springframework.web.servlet.ModelAndView;
-import java.util.HashSet;
-import java.util.Set;
-
+import static org.labkey.api.util.DOM.Attribute.checked;
import static org.labkey.api.util.DOM.Attribute.method;
+import static org.labkey.api.util.DOM.Attribute.name;
+import static org.labkey.api.util.DOM.Attribute.type;
+import static org.labkey.api.util.DOM.Attribute.value;
import static org.labkey.api.util.DOM.DIV;
+import static org.labkey.api.util.DOM.INPUT;
import static org.labkey.api.util.DOM.LK.FORM;
-import static org.labkey.api.util.DOM.P;
import static org.labkey.api.util.DOM.at;
import static org.labkey.nextflow.NextFlowManager.NEXTFLOW_CONFIG;
@@ -49,7 +51,6 @@ public class NextFlowController extends SpringActionController
{
private static final DefaultActionResolver _actionResolver = new DefaultActionResolver(NextFlowController.class);
public static final String NAME = "nextflow";
- private static final String IS_NEXTFLOW_ENABLED = "enabled";
private static final Logger LOG = LogHelper.getLogger(NextFlowController.class, NAME);
@@ -58,22 +59,42 @@ public NextFlowController()
setActionResolver(_actionResolver);
}
- @RequiresPermission(AdminPermission.class)
- public class GetNextFlowConfigurationAction extends ReadOnlyApiAction