Index: /branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectResourcesView.cs
===================================================================
--- /branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectResourcesView.cs	(revision 15932)
+++ /branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectResourcesView.cs	(revision 15933)
@@ -85,4 +85,5 @@
         var top = BuildResourceTree(HiveAdminClient.Instance.Resources);
         detailsViewHost.Content = top;
+        detailsViewHost.Locked = true;
       }
     }
Index: /branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ResourceView.Designer.cs
===================================================================
--- /branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ResourceView.Designer.cs	(revision 15932)
+++ /branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ResourceView.Designer.cs	(revision 15933)
@@ -31,5 +31,5 @@
       this.descriptionTextBox = new System.Windows.Forms.TextBox();
       this.heartbeatIntervalLabel = new System.Windows.Forms.Label();
-      this.heartbeatIntervalNumericUpDown = new System.Windows.Forms.NumericUpDown();
+      this.heartbeatIntervalNumericUpDown = new Hive.Views.Extensions.FixedNumericUpDown();
       this.publicLabel = new System.Windows.Forms.Label();
       this.publicCheckBox = new System.Windows.Forms.CheckBox();
@@ -111,4 +111,6 @@
       this.heartbeatIntervalNumericUpDown.Size = new System.Drawing.Size(397, 20);
       this.heartbeatIntervalNumericUpDown.TabIndex = 9;
+      this.heartbeatIntervalNumericUpDown.Minimum = 0;
+      this.heartbeatIntervalNumericUpDown.Maximum = 120;
       this.heartbeatIntervalNumericUpDown.ValueChanged += new System.EventHandler(this.heartbeatIntervalNumericUpDown_ValueChanged);
       // 
@@ -164,5 +166,5 @@
     protected System.Windows.Forms.TextBox idTextBox;
     protected System.Windows.Forms.TextBox descriptionTextBox;
-    protected System.Windows.Forms.NumericUpDown heartbeatIntervalNumericUpDown;
+    protected HeuristicLab.Clients.Hive.Views.Extensions.FixedNumericUpDown heartbeatIntervalNumericUpDown;
     protected System.Windows.Forms.CheckBox publicCheckBox;
   }
Index: /branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.JobManager/3.3/MenuItems/RunInHiveMenuItem.cs
===================================================================
--- /branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.JobManager/3.3/MenuItems/RunInHiveMenuItem.cs	(revision 15932)
+++ /branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.JobManager/3.3/MenuItems/RunInHiveMenuItem.cs	(revision 15933)
@@ -28,4 +28,7 @@
 using HeuristicLab.Optimizer;
 using HeuristicLab.PluginInfrastructure;
+using HeuristicLab.Clients.Hive.JobManager.Views;
+using System.Windows.Forms;
+using System.Linq;
 
 namespace HeuristicLab.Clients.Hive.JobManager {
@@ -82,9 +85,19 @@
       task.ItemTask.ComputeInParallel = content is Experiment || content is BatchRun;
 
-      progress = MainFormManager.GetMainForm<MainForm.WindowsForms.MainForm>().AddOperationProgressToContent(this.content, "Uploading to Hive...");
-      rJob.Progress = progress;
-      progress.ProgressStateChanged += progress_ProgressStateChanged;
 
-      HiveClient.StartJob(new Action<Exception>(HandleEx), rJob, new CancellationToken());
+      var hiveResourceSelectorDialog = new HiveResourceSelectorDialog(rJob.Job.Id, rJob.Job.ProjectId);
+      if (hiveResourceSelectorDialog.ShowDialog((UserControl)activeView) == DialogResult.OK) {
+        var selectedProject = hiveResourceSelectorDialog.SelectedProject;
+        if (selectedProject != null) {
+          rJob.Job.ProjectId = selectedProject.Id;
+          rJob.Job.ResourceIds = hiveResourceSelectorDialog.SelectedResources.Select(x => x.Id).ToList();
+
+          progress = MainFormManager.GetMainForm<MainForm.WindowsForms.MainForm>().AddOperationProgressToContent(this.content, "Uploading to Hive...");
+          rJob.Progress = progress;
+          progress.ProgressStateChanged += progress_ProgressStateChanged;
+
+          HiveClient.StartJob(new Action<Exception>(HandleEx), rJob, new CancellationToken());
+        }
+      }
     }
 
Index: /branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.JobManager/3.3/Views/HiveResourceSelectorDialog.Designer.cs
===================================================================
--- /branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.JobManager/3.3/Views/HiveResourceSelectorDialog.Designer.cs	(revision 15932)
+++ /branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.JobManager/3.3/Views/HiveResourceSelectorDialog.Designer.cs	(revision 15933)
@@ -55,4 +55,5 @@
       this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
       this.okButton.DialogResult = System.Windows.Forms.DialogResult.OK;
+      this.okButton.Enabled = false;
       this.okButton.Location = new System.Drawing.Point(405, 609);
       this.okButton.Name = "okButton";
@@ -91,8 +92,12 @@
       this.hiveResourceSelector.Caption = "View";
       this.hiveResourceSelector.Content = null;
+      this.hiveResourceSelector.JobId = new System.Guid("00000000-0000-0000-0000-000000000000");
       this.hiveResourceSelector.Location = new System.Drawing.Point(12, 12);
       this.hiveResourceSelector.Name = "hiveResourceSelector";
+      this.hiveResourceSelector.ProjectId = null;
       this.hiveResourceSelector.ReadOnly = false;
       this.hiveResourceSelector.SelectedProject = null;
+      this.hiveResourceSelector.SelectedProjectId = null;
+      this.hiveResourceSelector.SelectedResourceIds = null;
       this.hiveResourceSelector.Size = new System.Drawing.Size(549, 591);
       this.hiveResourceSelector.TabIndex = 0;
Index: /branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.JobManager/3.3/Views/HiveResourceSelectorDialog.cs
===================================================================
--- /branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.JobManager/3.3/Views/HiveResourceSelectorDialog.cs	(revision 15932)
+++ /branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.JobManager/3.3/Views/HiveResourceSelectorDialog.cs	(revision 15933)
@@ -129,5 +129,5 @@
 
       await SecurityExceptionUtil.TryAsyncAndReportSecurityExceptions(
-        action: () => UpdateInstance(),
+        action: () => UpdateProjects(),
         finallyCallback: () => updatingProjects = false);
     }
@@ -151,8 +151,4 @@
 
     #region Helpers
-    private void UpdateInstance() {
-      HiveClient.Instance.Refresh();
-    }
-
     private void UpdateProjects() {
       HiveClient.Instance.RefreshProjectsAndResources();
Index: /branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Views/3.3/Extensions/FixedNumericUpDown.cs
===================================================================
--- /branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Views/3.3/Extensions/FixedNumericUpDown.cs	(revision 15933)
+++ /branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Views/3.3/Extensions/FixedNumericUpDown.cs	(revision 15933)
@@ -0,0 +1,40 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System.Windows.Forms;
+
+namespace HeuristicLab.Clients.Hive.Views.Extensions {
+  // Bugfix for NumericUpDown to disable arrow controls correctly
+  // cf. https://www.codeproject.com/Articles/16321/NumericUpDown-with-correct-read-only-behavior
+  public class FixedNumericUpDown : NumericUpDown {
+    public override void DownButton() {
+      if (ReadOnly)
+        return;
+      base.DownButton();
+    }
+
+    public override void UpButton() {
+      if (ReadOnly)
+        return;
+      base.UpButton();
+    }
+  }
+}
Index: /branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Views/3.3/HeuristicLab.Clients.Hive.Views-3.3.csproj
===================================================================
--- /branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Views/3.3/HeuristicLab.Clients.Hive.Views-3.3.csproj	(revision 15932)
+++ /branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Views/3.3/HeuristicLab.Clients.Hive.Views-3.3.csproj	(revision 15933)
@@ -101,4 +101,7 @@
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="Extensions\FixedNumericUpDown.cs">
+      <SubType>Component</SubType>
+    </Compile>
     <Compile Include="HiveInformationDialog.cs">
       <SubType>Form</SubType>
