Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.HiveEngine/3.4/HeuristicLab.HiveEngine-3.4.csproj
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.HiveEngine/3.4/HeuristicLab.HiveEngine-3.4.csproj	(revision 6001)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.HiveEngine/3.4/HeuristicLab.HiveEngine-3.4.csproj	(revision 6006)
@@ -104,4 +104,7 @@
     <Reference Include="HeuristicLab.Clients.Common-3.3">
       <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Clients.Common-3.3.dll</HintPath>
+    </Reference>
+    <Reference Include="HeuristicLab.Clients.Hive.Views-3.4">
+      <HintPath>..\..\HeuristicLab.Clients.Hive.Views\3.4\obj\Debug\HeuristicLab.Clients.Hive.Views-3.4.dll</HintPath>
     </Reference>
     <Reference Include="HeuristicLab.Collections-3.3">
@@ -162,6 +165,5 @@
     <Compile Include="HiveEngine.cs" />
     <Compile Include="Exceptions\HiveEngineException.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <None Include="Properties\AssemblyInfo.frame" />
+    <None Include="Properties\AssemblyInfo.cs.frame" />
   </ItemGroup>
   <ItemGroup>
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.HiveEngine/3.4/HeuristicLabHiveEnginePlugin.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.HiveEngine/3.4/HeuristicLabHiveEnginePlugin.cs	(revision 6001)
+++ 	(revision )
@@ -1,40 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2011 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 HeuristicLab.PluginInfrastructure;
-
-namespace HeuristicLab.HiveEngine {
-  [Plugin("HeuristicLab.HiveEngine", "3.4.0.5958")]
-  [PluginFile("HeuristicLab.HiveEngine-3.4.dll", PluginFileType.Assembly)]
-  [PluginDependency("HeuristicLab.Clients.Common", "3.3")]
-  [PluginDependency("HeuristicLab.Collections", "3.3")]
-  [PluginDependency("HeuristicLab.Common", "3.3")]
-  [PluginDependency("HeuristicLab.Common.Resources", "3.3")]
-  [PluginDependency("HeuristicLab.Core", "3.3")]
-  [PluginDependency("HeuristicLab.DataAccess", "3.3")]
-  [PluginDependency("HeuristicLab.Hive.Contracts", "3.3")]
-  [PluginDependency("HeuristicLab.Hive.ExperimentManager", "3.3")]
-  [PluginDependency("HeuristicLab.Hive.JobBase", "3.3")]
-  [PluginDependency("HeuristicLab.Persistence", "3.3")]
-  [PluginDependency("HeuristicLab.SequentialEngine", "3.3")]
-  public class HeuristicLabHiveEnginePlugin : PluginBase {
-  }
-}
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.HiveEngine/3.4/HiveEngine.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.HiveEngine/3.4/HiveEngine.cs	(revision 6001)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.HiveEngine/3.4/HiveEngine.cs	(revision 6006)
@@ -25,5 +25,5 @@
 
     [Storable]
-    public string ResourceIds { get; set; }
+    public string ResourceNames { get; set; }
 
     [Storable]
@@ -46,4 +46,18 @@
     }
 
+    [Storable]
+    private bool useLocalPlugins;
+    public bool UseLocalPlugins {
+      get { return useLocalPlugins; }
+      set { useLocalPlugins = value; }
+    }
+
+    [Storable]
+    private ItemCollection<HiveExperiment> hiveExperiments;
+    public ItemCollection<HiveExperiment> HiveExperiments {
+      get { return hiveExperiments; }
+      set { hiveExperiments = value; }
+    }
+
     private List<Plugin> onlinePlugins;
     public List<Plugin> OnlinePlugins {
@@ -60,5 +74,7 @@
     #region constructors and cloning
     public HiveEngine() {
-      ResourceIds = "HEAL";
+      ResourceNames = "HEAL";
+      HiveExperiments = new ItemCollection<HiveExperiment>();
+      Priority = 0;
     }
 
@@ -67,8 +83,9 @@
     protected HiveEngine(HiveEngine original, Cloner cloner)
       : base(original, cloner) {
-      this.ResourceIds = original.ResourceIds;
+      this.ResourceNames = original.ResourceNames;
       this.currentOperator = cloner.Clone(original.currentOperator);
       this.priority = original.priority;
       this.executionTimeOnHive = original.executionTimeOnHive;
+      this.useLocalPlugins = original.useLocalPlugins;
     }
     public override IDeepCloneable Clone(Cloner cloner) {
@@ -123,5 +140,4 @@
 
             IScope[] scopes = ExecuteOnHive(jobs, parentScopeClone, cancellationToken);
-            //IScope[] scopes = ExecuteLocally(jobs, parentScopeClone, cancellationToken);
             
             for (int i = 0; i < coll.Count; i++) {
@@ -186,18 +202,17 @@
     }
 
-    private IScope[] ExecuteLocally(EngineJob[] jobs, IScope parentScopeClone, CancellationToken cancellationToken) {
-      IScope[] scopes = new Scope[jobs.Length];
-
-      for (int i = 0; i < jobs.Length; i++) {
-        var job = (EngineJob)jobs[i].Clone();
-        job.Start();
-        while (job.ExecutionState != ExecutionState.Stopped) {
-          Thread.Sleep(100);
-        }
-        scopes[i] = ((IAtomicOperation)job.InitialOperation).Scope;
-      }
-
-      return scopes;
-    }
+    // testfunction:
+    //private IScope[] ExecuteLocally(EngineJob[] jobs, IScope parentScopeClone, CancellationToken cancellationToken) {
+    //  IScope[] scopes = new Scope[jobs.Length];
+    //  for (int i = 0; i < jobs.Length; i++) {
+    //    var job = (EngineJob)jobs[i].Clone();
+    //    job.Start();
+    //    while (job.ExecutionState != ExecutionState.Stopped) {
+    //      Thread.Sleep(100);
+    //    }
+    //    scopes[i] = ((IAtomicOperation)job.InitialOperation).Scope;
+    //  }
+    //  return scopes;
+    //}
 
     /// <summary>
@@ -211,4 +226,5 @@
       object locker = new object();
       IDictionary<Guid, int> jobIndices = new Dictionary<Guid, int>();
+      var hiveExperiment = new HiveExperiment();;
 
       try {
@@ -218,4 +234,12 @@
         int finishedCount = 0;
         int uploadCount = 0;
+
+        // create hive experiment
+        hiveExperiment.Name = "HiveEngine Run " + hiveExperiments.Count;
+        hiveExperiment.UseLocalPlugins = this.UseLocalPlugins;
+        hiveExperiment.ResourceNames = this.ResourceNames;
+        hiveExperiment.RefreshAutomatically = false;
+        hiveExperiment.Id = ServiceLocator.Instance.CallHiveService(s => s.AddHiveExperiment(hiveExperiment));
+        hiveExperiments.Add(hiveExperiment);
 
         // create upload-tasks
@@ -230,5 +254,5 @@
 
           uploadTasks.Add(Task.Factory.StartNew<Job>((keyValuePairObj) => {
-            return UploadJob(keyValuePairObj, parentScopeClone, cancellationToken, GetResourceIds());
+            return UploadJob(keyValuePairObj, parentScopeClone, cancellationToken, GetResourceIds(), hiveExperiment.Id);
           }, new KeyValuePair<int, EngineJob>(i, job), cancellationToken));
         }
@@ -313,5 +337,5 @@
 
         LogMessage(string.Format("All jobs finished (TotalExecutionTime: {0}).", executionTimes.Sum()));
-        DeleteJobs(jobIndices);
+        DeleteHiveExperiment(hiveExperiment.Id);
 
         return scopes;
@@ -319,5 +343,5 @@
       catch (OperationCanceledException e) {
         lock (locker) {
-          if (jobIndices != null) DeleteJobs(jobIndices);
+          if (jobIndices != null) DeleteHiveExperiment(hiveExperiment.Id);
         }
         throw e;
@@ -325,5 +349,5 @@
       catch (Exception e) {
         lock (locker) {
-          if (jobIndices != null) DeleteJobs(jobIndices);
+          if (jobIndices != null) DeleteHiveExperiment(hiveExperiment.Id);
         }
         LogException(e);
@@ -332,20 +356,12 @@
     }
 
-    private void DeleteJobs(IDictionary<Guid, int> jobIndices) {
-      if (jobIndices.Count > 0) {
-        TryAndRepeat(() => {
-          LogMessage(string.Format("Deleting {0} jobs on hive.", jobIndices.Count));
-          ServiceLocator.Instance.CallHiveService(service => {
-            foreach (Guid jobId in jobIndices.Keys) {
-              service.DeleteJob(jobId);
-            }
-            jobIndices.Clear();
-          });
-        }, 5, string.Format("Could not delete {0} jobs", jobIndices.Count));
-      }
+    private void DeleteHiveExperiment(Guid hiveExperimentId) {
+      TryAndRepeat(() => {
+        ServiceLocator.Instance.CallHiveService(s => s.DeleteHiveExperiment(hiveExperimentId));
+      }, 5, string.Format("Could not delete jobs"));
     }
 
     private static object locker = new object();
-    private Job UploadJob(object keyValuePairObj, IScope parentScopeClone, CancellationToken cancellationToken, List<Guid> resourceIds) {
+    private Job UploadJob(object keyValuePairObj, IScope parentScopeClone, CancellationToken cancellationToken, List<Guid> resourceIds, Guid hiveExperimentId) {
       var keyValuePair = (KeyValuePair<int, EngineJob>)keyValuePairObj;
       Job job = new Job();
@@ -370,4 +386,5 @@
         job.PluginsNeededIds = ServiceLocator.Instance.CallHiveService(s => PluginUtil.GetPluginDependencies(s, this.OnlinePlugins, this.AlreadyUploadedPlugins, neededPlugins, false));
         job.Priority = priority;
+        job.HiveExperimentId = hiveExperimentId;
 
         try {
@@ -396,5 +413,5 @@
     private List<Guid> GetResourceIds() {
       return ServiceLocator.Instance.CallHiveService(service => {
-        var resourceNames = ResourceIds.Split(';');
+        var resourceNames = ResourceNames.Split(';');
         var resourceIds = new List<Guid>();
         foreach (var resourceName in resourceNames) {
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.HiveEngine/3.4/Views/HiveEngineView.Designer.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.HiveEngine/3.4/Views/HiveEngineView.Designer.cs	(revision 6001)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.HiveEngine/3.4/Views/HiveEngineView.Designer.cs	(revision 6006)
@@ -30,14 +30,16 @@
       this.label1 = new System.Windows.Forms.Label();
       this.executionTimeOnHiveTextBox = new System.Windows.Forms.TextBox();
+      this.tabControl = new System.Windows.Forms.TabControl();
+      this.jobsTabPage = new System.Windows.Forms.TabPage();
+      this.hiveExperimentListView = new HeuristicLab.Clients.Hive.Views.HiveExperimentListView();
+      this.logTabPage = new System.Windows.Forms.TabPage();
+      this.logView = new HeuristicLab.Core.Views.LogView();
+      this.executionTimeLabel = new System.Windows.Forms.Label();
+      this.executionTimeTextBox = new System.Windows.Forms.TextBox();
+      this.useLocalPluginsCheckBox = new System.Windows.Forms.CheckBox();
+      this.tabControl.SuspendLayout();
+      this.jobsTabPage.SuspendLayout();
+      this.logTabPage.SuspendLayout();
       this.SuspendLayout();
-      // 
-      // executionTimeTextBox
-      // 
-      this.executionTimeTextBox.Size = new System.Drawing.Size(623, 20);
-      // 
-      // logView
-      // 
-      this.logView.Location = new System.Drawing.Point(0, 78);
-      this.logView.Size = new System.Drawing.Size(715, 469);
       // 
       // resourceIdsLabel
@@ -57,5 +59,5 @@
       this.resourceIdsTextBox.Location = new System.Drawing.Point(189, 52);
       this.resourceIdsTextBox.Name = "resourceIdsTextBox";
-      this.resourceIdsTextBox.Size = new System.Drawing.Size(526, 20);
+      this.resourceIdsTextBox.Size = new System.Drawing.Size(405, 20);
       this.resourceIdsTextBox.TabIndex = 4;
       this.resourceIdsTextBox.Text = "HEAL";
@@ -97,6 +99,95 @@
       this.executionTimeOnHiveTextBox.Name = "executionTimeOnHiveTextBox";
       this.executionTimeOnHiveTextBox.ReadOnly = true;
-      this.executionTimeOnHiveTextBox.Size = new System.Drawing.Size(586, 20);
+      this.executionTimeOnHiveTextBox.Size = new System.Drawing.Size(577, 20);
       this.executionTimeOnHiveTextBox.TabIndex = 8;
+      // 
+      // tabControl
+      // 
+      this.tabControl.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+                  | System.Windows.Forms.AnchorStyles.Left)
+                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.tabControl.Controls.Add(this.jobsTabPage);
+      this.tabControl.Controls.Add(this.logTabPage);
+      this.tabControl.Location = new System.Drawing.Point(3, 78);
+      this.tabControl.Name = "tabControl";
+      this.tabControl.SelectedIndex = 0;
+      this.tabControl.Size = new System.Drawing.Size(700, 460);
+      this.tabControl.TabIndex = 9;
+      // 
+      // jobsTabPage
+      // 
+      this.jobsTabPage.Controls.Add(this.hiveExperimentListView);
+      this.jobsTabPage.Location = new System.Drawing.Point(4, 22);
+      this.jobsTabPage.Name = "jobsTabPage";
+      this.jobsTabPage.Padding = new System.Windows.Forms.Padding(3);
+      this.jobsTabPage.Size = new System.Drawing.Size(692, 434);
+      this.jobsTabPage.TabIndex = 0;
+      this.jobsTabPage.Text = "Jobs";
+      this.jobsTabPage.UseVisualStyleBackColor = true;
+      // 
+      // hiveExperimentListView
+      // 
+      this.hiveExperimentListView.Caption = "HiveExperimentList View";
+      this.hiveExperimentListView.Content = null;
+      this.hiveExperimentListView.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.hiveExperimentListView.Location = new System.Drawing.Point(3, 3);
+      this.hiveExperimentListView.Name = "hiveExperimentListView";
+      this.hiveExperimentListView.ReadOnly = false;
+      this.hiveExperimentListView.Size = new System.Drawing.Size(686, 428);
+      this.hiveExperimentListView.TabIndex = 0;
+      // 
+      // logTabPage
+      // 
+      this.logTabPage.Controls.Add(this.logView);
+      this.logTabPage.Location = new System.Drawing.Point(4, 22);
+      this.logTabPage.Name = "logTabPage";
+      this.logTabPage.Padding = new System.Windows.Forms.Padding(3);
+      this.logTabPage.Size = new System.Drawing.Size(692, 434);
+      this.logTabPage.TabIndex = 1;
+      this.logTabPage.Text = "Log";
+      this.logTabPage.UseVisualStyleBackColor = true;
+      // 
+      // logView
+      // 
+      this.logView.Caption = "SlaveView";
+      this.logView.Content = null;
+      this.logView.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.logView.Location = new System.Drawing.Point(3, 3);
+      this.logView.Name = "logView";
+      this.logView.ReadOnly = false;
+      this.logView.Size = new System.Drawing.Size(686, 428);
+      this.logView.TabIndex = 0;
+      // 
+      // executionTimeLabel
+      // 
+      this.executionTimeLabel.AutoSize = true;
+      this.executionTimeLabel.Location = new System.Drawing.Point(4, 6);
+      this.executionTimeLabel.Name = "executionTimeLabel";
+      this.executionTimeLabel.Size = new System.Drawing.Size(83, 13);
+      this.executionTimeLabel.TabIndex = 10;
+      this.executionTimeLabel.Text = "Execution Time:";
+      // 
+      // executionTimeTextBox
+      // 
+      this.executionTimeTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+                  | System.Windows.Forms.AnchorStyles.Left)
+                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.executionTimeTextBox.Location = new System.Drawing.Point(129, 3);
+      this.executionTimeTextBox.Name = "executionTimeTextBox";
+      this.executionTimeTextBox.ReadOnly = true;
+      this.executionTimeTextBox.Size = new System.Drawing.Size(577, 20);
+      this.executionTimeTextBox.TabIndex = 11;
+      // 
+      // useLocalPluginsCheckBox
+      // 
+      this.useLocalPluginsCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+      this.useLocalPluginsCheckBox.AutoSize = true;
+      this.useLocalPluginsCheckBox.Location = new System.Drawing.Point(600, 55);
+      this.useLocalPluginsCheckBox.Name = "useLocalPluginsCheckBox";
+      this.useLocalPluginsCheckBox.Size = new System.Drawing.Size(103, 17);
+      this.useLocalPluginsCheckBox.TabIndex = 12;
+      this.useLocalPluginsCheckBox.Text = "useLocalPlugins";
+      this.useLocalPluginsCheckBox.UseVisualStyleBackColor = true;
+      this.useLocalPluginsCheckBox.CheckedChanged += new System.EventHandler(this.useLocalPluginsCheckBox_CheckedChanged);
       // 
       // HiveEngineView
@@ -104,4 +195,8 @@
       this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.Controls.Add(this.useLocalPluginsCheckBox);
+      this.Controls.Add(this.executionTimeTextBox);
+      this.Controls.Add(this.executionTimeLabel);
+      this.Controls.Add(this.tabControl);
       this.Controls.Add(this.label1);
       this.Controls.Add(this.executionTimeOnHiveTextBox);
@@ -111,14 +206,8 @@
       this.Controls.Add(this.resourceIdsTextBox);
       this.Name = "HiveEngineView";
-      this.Size = new System.Drawing.Size(715, 550);
-      this.Controls.SetChildIndex(this.resourceIdsTextBox, 0);
-      this.Controls.SetChildIndex(this.resourceIdsLabel, 0);
-      this.Controls.SetChildIndex(this.priorityLabel, 0);
-      this.Controls.SetChildIndex(this.priorityTextBox, 0);
-      this.Controls.SetChildIndex(this.logView, 0);
-      this.Controls.SetChildIndex(this.executionTimeLabel, 0);
-      this.Controls.SetChildIndex(this.executionTimeTextBox, 0);
-      this.Controls.SetChildIndex(this.executionTimeOnHiveTextBox, 0);
-      this.Controls.SetChildIndex(this.label1, 0);
+      this.Size = new System.Drawing.Size(706, 541);
+      this.tabControl.ResumeLayout(false);
+      this.jobsTabPage.ResumeLayout(false);
+      this.logTabPage.ResumeLayout(false);
       this.ResumeLayout(false);
       this.PerformLayout();
@@ -134,4 +223,12 @@
     private System.Windows.Forms.Label label1;
     protected System.Windows.Forms.TextBox executionTimeOnHiveTextBox;
+    private System.Windows.Forms.TabControl tabControl;
+    private System.Windows.Forms.TabPage jobsTabPage;
+    private System.Windows.Forms.TabPage logTabPage;
+    private System.Windows.Forms.Label executionTimeLabel;
+    protected System.Windows.Forms.TextBox executionTimeTextBox;
+    private System.Windows.Forms.CheckBox useLocalPluginsCheckBox;
+    private HeuristicLab.Core.Views.LogView logView;
+    private Clients.Hive.Views.HiveExperimentListView hiveExperimentListView;
   }
 }
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.HiveEngine/3.4/Views/HiveEngineView.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.HiveEngine/3.4/Views/HiveEngineView.cs	(revision 6001)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.HiveEngine/3.4/Views/HiveEngineView.cs	(revision 6006)
@@ -1,17 +1,10 @@
 ﻿using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Drawing;
-using System.Data;
-using System.Linq;
-using System.Text;
+using HeuristicLab.Core.Views;
 using HeuristicLab.MainForm;
-using HeuristicLab.Optimization.Views;
-using HeuristicLab.Core.Views;
 
 namespace HeuristicLab.HiveEngine.Views {
   [View("Hive Engine View")]
   [Content(typeof(HiveEngine), IsDefaultView = true)]
-  public sealed partial class HiveEngineView : EngineView {
+  public sealed partial class HiveEngineView : ItemView {
     public new HiveEngine Content {
       get { return (HiveEngine)base.Content; }
@@ -24,4 +17,5 @@
 
     protected override void DeregisterContentEvents() {
+      Content.ExecutionStateChanged -= new EventHandler(Content_ExecutionStateChanged);
       Content.ExecutionTimeOnHiveChanged -= new EventHandler(Content_ExecutionTimeOnHiveChanged);
       base.DeregisterContentEvents();
@@ -30,8 +24,17 @@
     protected override void RegisterContentEvents() {
       base.RegisterContentEvents();
+      Content.ExecutionStateChanged += new EventHandler(Content_ExecutionStateChanged);
       Content.ExecutionTimeOnHiveChanged += new EventHandler(Content_ExecutionTimeOnHiveChanged);
     }
 
     #region Event Handlers (Content)
+    private void Content_ExecutionStateChanged(object sender, EventArgs e) {
+      if (InvokeRequired) {
+        Invoke(new EventHandler(Content_ExecutionStateChanged), sender, e);
+      } else {
+        executionTimeTextBox.Text = Content.ExecutionTime.ToString();
+      }
+    }
+
     private void Content_ExecutionTimeOnHiveChanged(object sender, EventArgs e) {
       if (InvokeRequired) {
@@ -49,8 +52,14 @@
         priorityTextBox.Text = string.Empty;
         executionTimeOnHiveTextBox.Text = string.Empty;
+        useLocalPluginsCheckBox.Checked = false;
+        hiveExperimentListView.Content = null;
+        logView.Content = null;
       } else {
-        resourceIdsTextBox.Text = Content.ResourceIds;
+        resourceIdsTextBox.Text = Content.ResourceNames;
         priorityTextBox.Text = Content.Priority.ToString();
         executionTimeOnHiveTextBox.Text = Content.ExecutionTimeOnHive.ToString();
+        useLocalPluginsCheckBox.Checked = Content.UseLocalPlugins;
+        hiveExperimentListView.Content = Content.HiveExperiments;
+        logView.Content = Content.Log;
       }
     }
@@ -62,7 +71,9 @@
         resourceIdsTextBox.ReadOnly = this.ReadOnly;
         priorityTextBox.ReadOnly = this.ReadOnly;
+        useLocalPluginsCheckBox.Enabled = !this.ReadOnly;
       } else {
         resourceIdsTextBox.ReadOnly = false;
         priorityTextBox.ReadOnly = false;
+        useLocalPluginsCheckBox.Enabled = false;
       }
     }
@@ -70,11 +81,17 @@
     #region Event Handlers (child controls)
     private void resourceIdsTextBox_TextChanged(object sender, EventArgs e) {
-      Content.ResourceIds = resourceIdsTextBox.Text;
+      Content.ResourceNames = resourceIdsTextBox.Text;
     }
-    #endregion
 
     private void priorityTextBox_TextChanged(object sender, EventArgs e) {
       Content.Priority = int.Parse(priorityTextBox.Text);
     }
+
+    private void useLocalPluginsCheckBox_CheckedChanged(object sender, EventArgs e) {
+      Content.UseLocalPlugins = useLocalPluginsCheckBox.Checked;
+    }
+    #endregion
+
+
   }
 }
