Index: branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Administration/3.3/Views/UserGroupView.Designer.cs
===================================================================
--- branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Administration/3.3/Views/UserGroupView.Designer.cs	(revision 15933)
+++ branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Administration/3.3/Views/UserGroupView.Designer.cs	(revision 15953)
@@ -49,5 +49,5 @@
       this.groupNameTextBox = new System.Windows.Forms.TextBox();
       this.idTextBox = new System.Windows.Forms.TextBox();
-      this.refreshableLightweightUserView = new HeuristicLab.Clients.Access.Views.RefreshableLightweightUserView();
+      this.refreshableLightweightUserView = new HeuristicLab.Clients.Access.Views.RefreshableLightweightAccessClientView();
       this.storeButton = new System.Windows.Forms.Button();
       this.SuspendLayout();
@@ -139,5 +139,5 @@
     private System.Windows.Forms.TextBox groupNameTextBox;
     private System.Windows.Forms.TextBox idTextBox;
-    private Views.RefreshableLightweightUserView refreshableLightweightUserView;
+    private Views.RefreshableLightweightAccessClientView refreshableLightweightUserView;
     private System.Windows.Forms.Button storeButton;
   }
Index: branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/HeuristicLab.Clients.Access.Views-3.3.csproj
===================================================================
--- branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/HeuristicLab.Clients.Access.Views-3.3.csproj	(revision 15933)
+++ branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/HeuristicLab.Clients.Access.Views-3.3.csproj	(revision 15953)
@@ -147,4 +147,22 @@
       <DependentUpon>LightweightUserInformationView.cs</DependentUpon>
     </Compile>
+    <Compile Include="UserViews\RefreshableLightweightAccessClientInformationView.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="UserViews\RefreshableLightweightAccessClientInformationView.Designer.cs">
+      <DependentUpon>RefreshableLightweightAccessClientInformationView.cs</DependentUpon>
+    </Compile>
+    <Compile Include="UserViews\LightweightUserView.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="UserViews\LightweightUserView.Designer.cs">
+      <DependentUpon>LightweightUserView.cs</DependentUpon>
+    </Compile>
+    <Compile Include="UserViews\RefreshableLightweightAccessClientView.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="UserViews\RefreshableLightweightAccessClientView.Designer.cs">
+      <DependentUpon>RefreshableLightweightAccessClientView.cs</DependentUpon>
+    </Compile>
     <Compile Include="UserViews\RefreshableLightweightUserInformationView.cs">
       <SubType>UserControl</SubType>
@@ -152,16 +170,4 @@
     <Compile Include="UserViews\RefreshableLightweightUserInformationView.Designer.cs">
       <DependentUpon>RefreshableLightweightUserInformationView.cs</DependentUpon>
-    </Compile>
-    <Compile Include="UserViews\LightweightUserView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="UserViews\LightweightUserView.Designer.cs">
-      <DependentUpon>LightweightUserView.cs</DependentUpon>
-    </Compile>
-    <Compile Include="UserViews\RefreshableLightweightUserView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="UserViews\RefreshableLightweightUserView.Designer.cs">
-      <DependentUpon>RefreshableLightweightUserView.cs</DependentUpon>
     </Compile>
     <Compile Include="UserViews\RefreshableView.cs">
Index: branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableLightweightAccessClientInformationView.Designer.cs
===================================================================
--- branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableLightweightAccessClientInformationView.Designer.cs	(revision 15953)
+++ branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableLightweightAccessClientInformationView.Designer.cs	(revision 15953)
@@ -0,0 +1,103 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2016 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;
+namespace HeuristicLab.Clients.Access.Views {
+  partial class RefreshableLightweightAccessClientInformationView {
+    /// <summary> 
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.IContainer components = null;
+
+    /// <summary> 
+    /// Clean up any resources being used.
+    /// </summary>
+    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+    protected override void Dispose(bool disposing) {
+      if (disposing && (components != null)) {
+        lightweightUserInformationView.UserInformationChanged -= new EventHandler(lightweightUserInformationView_Changed);
+        components.Dispose();
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Component Designer generated code
+
+    /// <summary> 
+    /// Required method for Designer support - do not modify 
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent() {
+      System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(RefreshableLightweightAccessClientInformationView));
+      this.lightweightUserInformationView = new HeuristicLab.Clients.Access.Views.LightweightUserInformationView();
+      this.storeButton = new System.Windows.Forms.Button();
+      this.SuspendLayout();
+      // 
+      // refreshButton
+      // 
+      this.refreshButton.Location = new System.Drawing.Point(4, 3);
+      // 
+      // lightweightUserInformationView
+      // 
+      this.lightweightUserInformationView.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.lightweightUserInformationView.Caption = "RefreshableLightweightUserInformation View";
+      this.lightweightUserInformationView.Content = null;
+      this.lightweightUserInformationView.Location = new System.Drawing.Point(3, 33);
+      this.lightweightUserInformationView.Name = "lightweightUserInformationView";
+      this.lightweightUserInformationView.ReadOnly = false;
+      this.lightweightUserInformationView.Size = new System.Drawing.Size(378, 245);
+      this.lightweightUserInformationView.TabIndex = 2;
+      // 
+      // storeButton
+      // 
+      this.storeButton.Enabled = false;
+      this.storeButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.PublishToWeb;
+      this.storeButton.Location = new System.Drawing.Point(34, 3);
+      this.storeButton.Name = "storeButton";
+      this.storeButton.Size = new System.Drawing.Size(24, 24);
+      this.storeButton.TabIndex = 3;
+      this.storeButton.UseVisualStyleBackColor = true;
+      this.storeButton.Click += new System.EventHandler(this.storeButton_Click);
+      // 
+      // RefreshableLightweightAccessClientInformationView
+      // 
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.Controls.Add(this.lightweightUserInformationView);
+      this.Controls.Add(this.storeButton);
+      this.Name = "RefreshableLightweightAccessClientInformationView";
+      this.Size = new System.Drawing.Size(384, 281);
+      this.Controls.SetChildIndex(this.storeButton, 0);
+      this.Controls.SetChildIndex(this.lightweightUserInformationView, 0);
+      this.Controls.SetChildIndex(this.refreshButton, 0);
+      this.ResumeLayout(false);
+
+    }
+
+    #endregion
+
+    private LightweightUserInformationView lightweightUserInformationView;
+    private System.Windows.Forms.Button storeButton;
+
+  }
+}
Index: branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableLightweightAccessClientInformationView.cs
===================================================================
--- branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableLightweightAccessClientInformationView.cs	(revision 15953)
+++ branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableLightweightAccessClientInformationView.cs	(revision 15953)
@@ -0,0 +1,76 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2016 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;
+using System.Windows.Forms;
+
+namespace HeuristicLab.Clients.Access.Views {
+  public partial class RefreshableLightweightAccessClientInformationView : RefreshableView {
+    public RefreshableLightweightAccessClientInformationView() {
+      InitializeComponent();
+    }
+
+    private void RefreshUserData() {
+      UserInformation.Instance.Refresh();
+      lightweightUserInformationView.UserInformationChanged += new EventHandler(lightweightUserInformationView_Changed);
+    }
+
+    void lightweightUserInformationView_Changed(object sender, EventArgs e) {
+      if (!storeButton.Enabled) storeButton.Enabled = true;
+    }
+
+    protected override void RefreshData() {
+      Content.ExecuteActionAsync(RefreshUserData, PluginInfrastructure.ErrorHandling.ShowErrorDialog);
+    }
+
+    protected override void Content_Refreshing(object sender, EventArgs e) {
+      if (InvokeRequired) {
+        Invoke(new EventHandler(Content_Refreshing), sender, e);
+      } else {
+        base.Content_Refreshing(sender, e);
+        lightweightUserInformationView.Enabled = false;
+        storeButton.Enabled = false;
+      }
+    }
+
+    protected override void Content_Refreshed(object sender, EventArgs e) {
+      if (InvokeRequired) {
+        Invoke(new EventHandler(Content_Refreshed), sender, e);
+      } else {
+        base.Content_Refreshed(sender, e);
+        lightweightUserInformationView.Enabled = true;
+        if (!UserInformation.Instance.UserExists) {
+          MessageBox.Show("Couldn't fetch user information from the server." + Environment.NewLine +
+            "Please verify that you have an existing user and that your user name and password is correct. ", "HeuristicLab Access Service", MessageBoxButtons.OK, MessageBoxIcon.Error);
+          lightweightUserInformationView.Content = null;
+        } else {
+          lightweightUserInformationView.Content = UserInformation.Instance.User;
+        }
+      }
+    }
+
+    private void storeButton_Click(object sender, EventArgs e) {
+      AccessClient.Instance.ExecuteActionAsync(new Action(delegate {
+        AccessClient.CallAccessService(x => x.UpdateLightweightUser(UserInformation.Instance.User));
+      }), HeuristicLab.PluginInfrastructure.ErrorHandling.ShowErrorDialog);
+    }
+  }
+}
Index: branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableLightweightAccessClientView.Designer.cs
===================================================================
--- branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableLightweightAccessClientView.Designer.cs	(revision 15953)
+++ branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableLightweightAccessClientView.Designer.cs	(revision 15953)
@@ -0,0 +1,80 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2016 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
+
+namespace HeuristicLab.Clients.Access.Views {
+  partial class RefreshableLightweightAccessClientView {
+    /// <summary> 
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.IContainer components = null;
+
+    /// <summary> 
+    /// Clean up any resources being used.
+    /// </summary>
+    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+    protected override void Dispose(bool disposing) {
+      if (disposing && (components != null)) {
+        components.Dispose();
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Component Designer generated code
+
+    /// <summary> 
+    /// Required method for Designer support - do not modify 
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent() {
+      this.lightweightUserView = new HeuristicLab.Clients.Access.Views.LightweightUserView();
+      this.SuspendLayout();
+      // 
+      // lightweightUserView
+      // 
+      this.lightweightUserView.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.lightweightUserView.Caption = "LightweightUser View";
+      this.lightweightUserView.Content = null;
+      this.lightweightUserView.Location = new System.Drawing.Point(3, 33);
+      this.lightweightUserView.Name = "lightweightUserView";
+      this.lightweightUserView.ReadOnly = false;
+      this.lightweightUserView.Size = new System.Drawing.Size(500, 218);
+      this.lightweightUserView.TabIndex = 2;
+      this.lightweightUserView.SelectedUsersChanged += new System.EventHandler(this.lightweightUserView_SelectedUsersChanged);
+      // 
+      // RefreshableLightweightUserView
+      // 
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.Controls.Add(this.lightweightUserView);
+      this.Name = "RefreshableLightweightUserView";
+      this.Controls.SetChildIndex(this.lightweightUserView, 0);
+      this.Controls.SetChildIndex(this.refreshButton, 0);
+      this.ResumeLayout(false);
+
+    }
+
+    #endregion
+
+    private LightweightUserView lightweightUserView;
+  }
+}
Index: branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableLightweightAccessClientView.cs
===================================================================
--- branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableLightweightAccessClientView.cs	(revision 15953)
+++ branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableLightweightAccessClientView.cs	(revision 15953)
@@ -0,0 +1,133 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2016 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;
+using System.Collections.Generic;
+using System.Linq;
+using System.Windows.Forms;
+using HeuristicLab.Core;
+using HeuristicLab.MainForm;
+using HeuristicLab.MainForm.WindowsForms;
+using HeuristicLab.PluginInfrastructure;
+
+namespace HeuristicLab.Clients.Access.Views {
+  [View("RefreshableLightweightAccessClient View")]
+  [Content(typeof(AccessClient), false)]
+  public partial class RefreshableLightweightAccessClientView : RefreshableView {
+    public RefreshableLightweightAccessClientView() {
+      InitializeComponent();
+    }
+
+    //set an action like a webservice call to retrieve the users which should be marked as checked           
+    private Func<List<Guid>> fetchSelectedUsers;
+    public Func<List<Guid>> FetchSelectedUsers {
+      get { return fetchSelectedUsers; }
+      set {
+        fetchSelectedUsers = value;
+        selectedUsers = null;
+        lightweightUserView.Content = null;
+        SetEnabledStateOfControls();
+      }
+    }
+
+    private List<Guid> selectedUsers;
+
+    protected override void OnContentChanged() {
+      base.OnContentChanged();
+
+      selectedUsers = null;
+      lightweightUserView.Content = null;
+    }
+
+    protected override void SetEnabledStateOfControls() {
+      base.SetEnabledStateOfControls();
+      refreshButton.Enabled = FetchSelectedUsers != null && Content != null;
+      lightweightUserView.Locked = Locked;
+    }
+
+    protected override void RefreshData() {
+      Action completeRefreshAction = new Action(delegate {
+        selectedUsers = FetchSelectedUsers();
+        Content.Refresh();
+      });
+
+      Content.ExecuteActionAsync(completeRefreshAction, new Action<Exception>((Exception ex) => ErrorHandling.ShowErrorDialog(this, "Refresh failed.", ex)));
+    }
+
+    protected override void Content_Refreshing(object sender, EventArgs e) {
+      base.Content_Refreshing(sender, e);
+      lightweightUserView.Content = null;
+    }
+
+    protected override void Content_Refreshed(object sender, EventArgs e) {
+      base.Content_Refreshed(sender, e);
+
+      if (Content.UsersAndGroups != null) {
+        lightweightUserView.Content = new ItemList<UserGroupBase>(Content.UsersAndGroups.Where(x => selectedUsers.Contains(x.Id)));
+        if (lightweightUserView.Content != null) OnStorableStateChanged();
+      }
+    }
+
+    public IItemList<UserGroupBase> GetDeletedUsers() {
+      if (lightweightUserView.Content == null) {
+        return null;
+      } else {
+        var deletedIds = selectedUsers.Where(x => lightweightUserView.Content.Count(y => y.Id == x) == 0);
+        List<UserGroupBase> deletedUGs = Content.UsersAndGroups.Where(x => deletedIds.Contains(x.Id)).ToList();
+        return new ItemList<UserGroupBase>(deletedUGs);
+      }
+    }
+
+    public IItemList<UserGroupBase> GetCheckedUsers() {
+      return (lightweightUserView.Content == null) ? null : lightweightUserView.Content;
+    }
+
+    public IItemList<UserGroupBase> GetAddedUsers() {
+      return (lightweightUserView.Content == null) ? null : new ItemList<UserGroupBase>(lightweightUserView.Content.Where(x => !selectedUsers.Contains(x.Id)));
+    }
+
+    public event EventHandler SelectedUsersChanged;
+    protected virtual void OnSelectedUsersChanged() {
+      if (InvokeRequired)
+        Invoke((MethodInvoker)OnSelectedUsersChanged);
+      else {
+        EventHandler handler = SelectedUsersChanged;
+        if (handler != null)
+          handler(this, EventArgs.Empty);
+      }
+    }
+
+    public event EventHandler StorableStateChanged;
+    protected virtual void OnStorableStateChanged() {
+      if (InvokeRequired)
+        Invoke((MethodInvoker)OnStorableStateChanged);
+      else {
+        EventHandler handler = StorableStateChanged;
+        if (handler != null)
+          handler(this, EventArgs.Empty);
+      }
+    }
+
+    private void lightweightUserView_SelectedUsersChanged(object sender, EventArgs e) {
+      OnSelectedUsersChanged();
+    }
+  }
+}
Index: branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableLightweightUserInformationView.Designer.cs
===================================================================
--- branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableLightweightUserInformationView.Designer.cs	(revision 15933)
+++ 	(revision )
@@ -1,103 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2016 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;
-namespace HeuristicLab.Clients.Access.Views {
-  partial class RefreshableLightweightUserInformationView {
-    /// <summary> 
-    /// Required designer variable.
-    /// </summary>
-    private System.ComponentModel.IContainer components = null;
-
-    /// <summary> 
-    /// Clean up any resources being used.
-    /// </summary>
-    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-    protected override void Dispose(bool disposing) {
-      if (disposing && (components != null)) {
-        lightweightUserInformationView.UserInformationChanged -= new EventHandler(lightweightUserInformationView_Changed);
-        components.Dispose();
-      }
-      base.Dispose(disposing);
-    }
-
-    #region Component Designer generated code
-
-    /// <summary> 
-    /// Required method for Designer support - do not modify 
-    /// the contents of this method with the code editor.
-    /// </summary>
-    private void InitializeComponent() {
-      System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(RefreshableLightweightUserInformationView));
-      this.lightweightUserInformationView = new HeuristicLab.Clients.Access.Views.LightweightUserInformationView();
-      this.storeButton = new System.Windows.Forms.Button();
-      this.SuspendLayout();
-      // 
-      // refreshButton
-      // 
-      this.refreshButton.Location = new System.Drawing.Point(4, 3);
-      // 
-      // lightweightUserInformationView
-      // 
-      this.lightweightUserInformationView.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.lightweightUserInformationView.Caption = "RefreshableLightweightUserInformation View";
-      this.lightweightUserInformationView.Content = null;
-      this.lightweightUserInformationView.Location = new System.Drawing.Point(3, 33);
-      this.lightweightUserInformationView.Name = "lightweightUserInformationView";
-      this.lightweightUserInformationView.ReadOnly = false;
-      this.lightweightUserInformationView.Size = new System.Drawing.Size(378, 245);
-      this.lightweightUserInformationView.TabIndex = 2;
-      // 
-      // storeButton
-      // 
-      this.storeButton.Enabled = false;
-      this.storeButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.PublishToWeb;
-      this.storeButton.Location = new System.Drawing.Point(34, 3);
-      this.storeButton.Name = "storeButton";
-      this.storeButton.Size = new System.Drawing.Size(24, 24);
-      this.storeButton.TabIndex = 3;
-      this.storeButton.UseVisualStyleBackColor = true;
-      this.storeButton.Click += new System.EventHandler(this.storeButton_Click);
-      // 
-      // RefreshableLightweightUserInformationView
-      // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.Controls.Add(this.lightweightUserInformationView);
-      this.Controls.Add(this.storeButton);
-      this.Name = "RefreshableLightweightUserInformationView";
-      this.Size = new System.Drawing.Size(384, 281);
-      this.Controls.SetChildIndex(this.storeButton, 0);
-      this.Controls.SetChildIndex(this.lightweightUserInformationView, 0);
-      this.Controls.SetChildIndex(this.refreshButton, 0);
-      this.ResumeLayout(false);
-
-    }
-
-    #endregion
-
-    private LightweightUserInformationView lightweightUserInformationView;
-    private System.Windows.Forms.Button storeButton;
-
-  }
-}
Index: branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableLightweightUserInformationView.cs
===================================================================
--- branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableLightweightUserInformationView.cs	(revision 15933)
+++ 	(revision )
@@ -1,76 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2016 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;
-using System.Windows.Forms;
-
-namespace HeuristicLab.Clients.Access.Views {
-  public partial class RefreshableLightweightUserInformationView : RefreshableView {
-    public RefreshableLightweightUserInformationView() {
-      InitializeComponent();
-    }
-
-    private void RefreshUserData() {
-      UserInformation.Instance.Refresh();
-      lightweightUserInformationView.UserInformationChanged += new EventHandler(lightweightUserInformationView_Changed);
-    }
-
-    void lightweightUserInformationView_Changed(object sender, EventArgs e) {
-      if (!storeButton.Enabled) storeButton.Enabled = true;
-    }
-
-    protected override void RefreshData() {
-      Content.ExecuteActionAsync(RefreshUserData, PluginInfrastructure.ErrorHandling.ShowErrorDialog);
-    }
-
-    protected override void Content_Refreshing(object sender, EventArgs e) {
-      if (InvokeRequired) {
-        Invoke(new EventHandler(Content_Refreshing), sender, e);
-      } else {
-        base.Content_Refreshing(sender, e);
-        lightweightUserInformationView.Enabled = false;
-        storeButton.Enabled = false;
-      }
-    }
-
-    protected override void Content_Refreshed(object sender, EventArgs e) {
-      if (InvokeRequired) {
-        Invoke(new EventHandler(Content_Refreshed), sender, e);
-      } else {
-        base.Content_Refreshed(sender, e);
-        lightweightUserInformationView.Enabled = true;
-        if (!UserInformation.Instance.UserExists) {
-          MessageBox.Show("Couldn't fetch user information from the server." + Environment.NewLine +
-            "Please verify that you have an existing user and that your user name and password is correct. ", "HeuristicLab Access Service", MessageBoxButtons.OK, MessageBoxIcon.Error);
-          lightweightUserInformationView.Content = null;
-        } else {
-          lightweightUserInformationView.Content = UserInformation.Instance.User;
-        }
-      }
-    }
-
-    private void storeButton_Click(object sender, EventArgs e) {
-      AccessClient.Instance.ExecuteActionAsync(new Action(delegate {
-        AccessClient.CallAccessService(x => x.UpdateLightweightUser(UserInformation.Instance.User));
-      }), HeuristicLab.PluginInfrastructure.ErrorHandling.ShowErrorDialog);
-    }
-  }
-}
Index: branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableLightweightUserView.Designer.cs
===================================================================
--- branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableLightweightUserView.Designer.cs	(revision 15933)
+++ 	(revision )
@@ -1,80 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2016 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
-
-namespace HeuristicLab.Clients.Access.Views {
-  partial class RefreshableLightweightUserView {
-    /// <summary> 
-    /// Required designer variable.
-    /// </summary>
-    private System.ComponentModel.IContainer components = null;
-
-    /// <summary> 
-    /// Clean up any resources being used.
-    /// </summary>
-    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-    protected override void Dispose(bool disposing) {
-      if (disposing && (components != null)) {
-        components.Dispose();
-      }
-      base.Dispose(disposing);
-    }
-
-    #region Component Designer generated code
-
-    /// <summary> 
-    /// Required method for Designer support - do not modify 
-    /// the contents of this method with the code editor.
-    /// </summary>
-    private void InitializeComponent() {
-      this.lightweightUserView = new HeuristicLab.Clients.Access.Views.LightweightUserView();
-      this.SuspendLayout();
-      // 
-      // lightweightUserView
-      // 
-      this.lightweightUserView.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.lightweightUserView.Caption = "LightweightUser View";
-      this.lightweightUserView.Content = null;
-      this.lightweightUserView.Location = new System.Drawing.Point(3, 33);
-      this.lightweightUserView.Name = "lightweightUserView";
-      this.lightweightUserView.ReadOnly = false;
-      this.lightweightUserView.Size = new System.Drawing.Size(500, 218);
-      this.lightweightUserView.TabIndex = 2;
-      this.lightweightUserView.SelectedUsersChanged += new System.EventHandler(this.lightweightUserView_SelectedUsersChanged);
-      // 
-      // RefreshableLightweightUserView
-      // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.Controls.Add(this.lightweightUserView);
-      this.Name = "RefreshableLightweightUserView";
-      this.Controls.SetChildIndex(this.lightweightUserView, 0);
-      this.Controls.SetChildIndex(this.refreshButton, 0);
-      this.ResumeLayout(false);
-
-    }
-
-    #endregion
-
-    private LightweightUserView lightweightUserView;
-  }
-}
Index: branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableLightweightUserView.cs
===================================================================
--- branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableLightweightUserView.cs	(revision 15933)
+++ 	(revision )
@@ -1,133 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2016 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;
-using System.Collections.Generic;
-using System.Linq;
-using System.Windows.Forms;
-using HeuristicLab.Core;
-using HeuristicLab.MainForm;
-using HeuristicLab.MainForm.WindowsForms;
-using HeuristicLab.PluginInfrastructure;
-
-namespace HeuristicLab.Clients.Access.Views {
-  [View("RefreshableLightweightUser View")]
-  [Content(typeof(AccessClient), false)]
-  public partial class RefreshableLightweightUserView : RefreshableView {
-    public RefreshableLightweightUserView() {
-      InitializeComponent();
-    }
-
-    //set an action like a webservice call to retrieve the users which should be marked as checked           
-    private Func<List<Guid>> fetchSelectedUsers;
-    public Func<List<Guid>> FetchSelectedUsers {
-      get { return fetchSelectedUsers; }
-      set {
-        fetchSelectedUsers = value;
-        selectedUsers = null;
-        lightweightUserView.Content = null;
-        SetEnabledStateOfControls();
-      }
-    }
-
-    private List<Guid> selectedUsers;
-
-    protected override void OnContentChanged() {
-      base.OnContentChanged();
-
-      selectedUsers = null;
-      lightweightUserView.Content = null;
-    }
-
-    protected override void SetEnabledStateOfControls() {
-      base.SetEnabledStateOfControls();
-      refreshButton.Enabled = FetchSelectedUsers != null && Content != null;
-      lightweightUserView.Locked = Locked;
-    }
-
-    protected override void RefreshData() {
-      Action completeRefreshAction = new Action(delegate {
-        selectedUsers = FetchSelectedUsers();
-        Content.Refresh();
-      });
-
-      Content.ExecuteActionAsync(completeRefreshAction, new Action<Exception>((Exception ex) => ErrorHandling.ShowErrorDialog(this, "Refresh failed.", ex)));
-    }
-
-    protected override void Content_Refreshing(object sender, EventArgs e) {
-      base.Content_Refreshing(sender, e);
-      lightweightUserView.Content = null;
-    }
-
-    protected override void Content_Refreshed(object sender, EventArgs e) {
-      base.Content_Refreshed(sender, e);
-
-      if (Content.UsersAndGroups != null) {
-        lightweightUserView.Content = new ItemList<UserGroupBase>(Content.UsersAndGroups.Where(x => selectedUsers.Contains(x.Id)));
-        if (lightweightUserView.Content != null) OnStorableStateChanged();
-      }
-    }
-
-    public IItemList<UserGroupBase> GetDeletedUsers() {
-      if (lightweightUserView.Content == null) {
-        return null;
-      } else {
-        var deletedIds = selectedUsers.Where(x => lightweightUserView.Content.Count(y => y.Id == x) == 0);
-        List<UserGroupBase> deletedUGs = Content.UsersAndGroups.Where(x => deletedIds.Contains(x.Id)).ToList();
-        return new ItemList<UserGroupBase>(deletedUGs);
-      }
-    }
-
-    public IItemList<UserGroupBase> GetCheckedUsers() {
-      return (lightweightUserView.Content == null) ? null : lightweightUserView.Content;
-    }
-
-    public IItemList<UserGroupBase> GetAddedUsers() {
-      return (lightweightUserView.Content == null) ? null : new ItemList<UserGroupBase>(lightweightUserView.Content.Where(x => !selectedUsers.Contains(x.Id)));
-    }
-
-    public event EventHandler SelectedUsersChanged;
-    protected virtual void OnSelectedUsersChanged() {
-      if (InvokeRequired)
-        Invoke((MethodInvoker)OnSelectedUsersChanged);
-      else {
-        EventHandler handler = SelectedUsersChanged;
-        if (handler != null)
-          handler(this, EventArgs.Empty);
-      }
-    }
-
-    public event EventHandler StorableStateChanged;
-    protected virtual void OnStorableStateChanged() {
-      if (InvokeRequired)
-        Invoke((MethodInvoker)OnStorableStateChanged);
-      else {
-        EventHandler handler = StorableStateChanged;
-        if (handler != null)
-          handler(this, EventArgs.Empty);
-      }
-    }
-
-    private void lightweightUserView_SelectedUsersChanged(object sender, EventArgs e) {
-      OnSelectedUsersChanged();
-    }
-  }
-}
Index: branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableView.Designer.cs
===================================================================
--- branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableView.Designer.cs	(revision 15933)
+++ branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/RefreshableView.Designer.cs	(revision 15953)
@@ -45,6 +45,8 @@
     /// </summary>
     private void InitializeComponent() {
+      components = new System.ComponentModel.Container();
       System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(RefreshableView));
       this.refreshButton = new System.Windows.Forms.Button();
+      this.toolTip = new System.Windows.Forms.ToolTip(this.components);
       this.SuspendLayout();
       // 
@@ -56,4 +58,5 @@
       this.refreshButton.Size = new System.Drawing.Size(24, 24);
       this.refreshButton.TabIndex = 1;
+      this.toolTip.SetToolTip(this.refreshButton, "Refresh data");
       this.refreshButton.UseVisualStyleBackColor = true;
       this.refreshButton.Click += new System.EventHandler(this.refreshButton_Click);
@@ -72,4 +75,5 @@
     #endregion
 
+    private System.Windows.Forms.ToolTip toolTip;
     protected System.Windows.Forms.Button refreshButton;
   }
Index: branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/UserInformationDialog.Designer.cs
===================================================================
--- branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/UserInformationDialog.Designer.cs	(revision 15933)
+++ branches/2839_HiveProjectManagement/HeuristicLab.Clients.Access.Views/3.3/UserViews/UserInformationDialog.Designer.cs	(revision 15953)
@@ -46,5 +46,5 @@
     private void InitializeComponent() {
       this.closeButton = new System.Windows.Forms.Button();
-      this.refreshableLightweightUserInformationView = new HeuristicLab.Clients.Access.Views.RefreshableLightweightUserInformationView();
+      this.refreshableLightweightUserInformationView = new HeuristicLab.Clients.Access.Views.RefreshableLightweightAccessClientInformationView();
       this.SuspendLayout();
       // 
@@ -95,5 +95,5 @@
     #endregion
 
-    private RefreshableLightweightUserInformationView refreshableLightweightUserInformationView;
+    private RefreshableLightweightAccessClientInformationView refreshableLightweightUserInformationView;
     private System.Windows.Forms.Button closeButton;
   }
Index: branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectPermissionsView.Designer.cs
===================================================================
--- branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectPermissionsView.Designer.cs	(revision 15933)
+++ branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectPermissionsView.Designer.cs	(revision 15953)
@@ -32,4 +32,5 @@
       this.permissionsGroupBox = new System.Windows.Forms.GroupBox();
       this.treeView = new Hive.Views.TreeView.NoDoubleClickTreeView();
+      this.toolTip = new System.Windows.Forms.ToolTip(this.components);
       this.detailsGroupBox = new System.Windows.Forms.GroupBox();
       this.detailsViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
@@ -48,5 +49,6 @@
       this.refreshButton.Name = "refreshButton";
       this.refreshButton.Size = new System.Drawing.Size(24, 24);
-      this.refreshButton.TabIndex = 0;
+      this.refreshButton.TabIndex = 1;
+      this.toolTip.SetToolTip(this.refreshButton, "Refresh data");
       this.refreshButton.UseVisualStyleBackColor = true;
       this.refreshButton.Click += new System.EventHandler(this.refreshButton_Click);
@@ -58,5 +60,6 @@
       this.inheritButton.Name = "inheritButton";
       this.inheritButton.Size = new System.Drawing.Size(24, 24);
-      this.inheritButton.TabIndex = 3;
+      this.inheritButton.TabIndex = 2;
+      this.toolTip.SetToolTip(this.inheritButton, "Save and hand down permission settings to all descendant projects");
       this.inheritButton.UseVisualStyleBackColor = true;
       this.inheritButton.Click += new System.EventHandler(this.inheritButton_Click);
@@ -68,5 +71,6 @@
       this.saveButton.Name = "saveButton";
       this.saveButton.Size = new System.Drawing.Size(24, 24);
-      this.saveButton.TabIndex = 4;
+      this.saveButton.TabIndex = 3;
+      this.toolTip.SetToolTip(this.saveButton, "Save permission settings");
       this.saveButton.UseVisualStyleBackColor = true;
       this.saveButton.Click += new System.EventHandler(this.saveButton_Click);
@@ -106,5 +110,5 @@
       this.permissionsGroupBox.Name = "permissionsGroupBox";
       this.permissionsGroupBox.Size = new System.Drawing.Size(268, 452);
-      this.permissionsGroupBox.TabIndex = 0;
+      this.permissionsGroupBox.TabIndex = 4;
       this.permissionsGroupBox.TabStop = false;
       this.permissionsGroupBox.Text = "Permissions (Assigned + Included)";
@@ -122,5 +126,5 @@
       this.treeView.SelectedImageIndex = 0;
       this.treeView.Size = new System.Drawing.Size(256, 427);
-      this.treeView.TabIndex = 0;
+      this.treeView.TabIndex = 5;
       this.treeView.BeforeCheck += new System.Windows.Forms.TreeViewCancelEventHandler(this.treeView_BeforeCheck);
       this.treeView.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.treeView_AfterCheck);
@@ -136,5 +140,5 @@
       this.detailsGroupBox.Name = "detailsGroupBox";
       this.detailsGroupBox.Size = new System.Drawing.Size(540, 452);
-      this.detailsGroupBox.TabIndex = 0;
+      this.detailsGroupBox.TabIndex = 6;
       this.detailsGroupBox.TabStop = false;
       this.detailsGroupBox.Text = "Details";
@@ -152,5 +156,5 @@
       this.detailsViewHost.ReadOnly = true;
       this.detailsViewHost.Size = new System.Drawing.Size(528, 427);
-      this.detailsViewHost.TabIndex = 0;
+      this.detailsViewHost.TabIndex = 7;
       this.detailsViewHost.ViewsLabelVisible = true;
       this.detailsViewHost.ViewType = null;
@@ -185,4 +189,5 @@
     private System.Windows.Forms.GroupBox permissionsGroupBox;
     private HeuristicLab.Clients.Hive.Views.TreeView.NoDoubleClickTreeView treeView;
+    private System.Windows.Forms.ToolTip toolTip;
     private System.Windows.Forms.GroupBox detailsGroupBox;
     private MainForm.WindowsForms.ViewHost detailsViewHost;
Index: branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectPermissionsView.cs
===================================================================
--- branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectPermissionsView.cs	(revision 15933)
+++ branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectPermissionsView.cs	(revision 15953)
@@ -53,4 +53,5 @@
     private readonly Color addedIncludeColor = Color.FromArgb(25, 169, 221, 221); // #a9dddd
     private readonly Color removedIncludeColor = Color.FromArgb(25, 249, 210, 145); // #f9d291
+    private readonly Color projectOwnerColor = Color.DarkRed;
 
     public new Project Content {
@@ -116,4 +117,6 @@
       var selectedPermission = (UserGroupBase)e.Node.Tag;
       detailsViewHost.Content = selectedPermission;
+      if (selectedPermission is LightweightUser)
+        detailsViewHost.ViewType = typeof(Access.Views.RefreshableLightweightUserInformationView);
     }
 
@@ -309,4 +312,9 @@
       }
 
+      if(Content != null && ug != null && ug.Id != Guid.Empty 
+        && Content.OwnerUserId == ug.Id) {
+        node.ForeColor = projectOwnerColor;
+      }
+
     }
 
Index: branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectResourcesView.Designer.cs
===================================================================
--- branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectResourcesView.Designer.cs	(revision 15933)
+++ branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectResourcesView.Designer.cs	(revision 15953)
@@ -32,4 +32,5 @@
       this.treeView = new Hive.Views.TreeView.NoDoubleClickTreeView();
       this.imageList = new System.Windows.Forms.ImageList(this.components);
+      this.toolTip = new System.Windows.Forms.ToolTip(this.components);
       this.detailsGroupBox = new System.Windows.Forms.GroupBox();
       this.detailsViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
@@ -48,5 +49,6 @@
       this.refreshButton.Name = "refreshButton";
       this.refreshButton.Size = new System.Drawing.Size(24, 24);
-      this.refreshButton.TabIndex = 2;
+      this.refreshButton.TabIndex = 1;
+      this.toolTip.SetToolTip(this.refreshButton, "Refresh data");
       this.refreshButton.UseVisualStyleBackColor = true;
       this.refreshButton.Click += new System.EventHandler(this.refreshButton_Click);
@@ -58,5 +60,6 @@
       this.inheritButton.Name = "inheritButton";
       this.inheritButton.Size = new System.Drawing.Size(24, 24);
-      this.inheritButton.TabIndex = 3;
+      this.inheritButton.TabIndex = 2;
+      this.toolTip.SetToolTip(this.inheritButton, "Save and hand down resource assignments to all descendant projects");
       this.inheritButton.UseVisualStyleBackColor = true;
       this.inheritButton.Click += new System.EventHandler(this.inheritButton_Click);
@@ -68,5 +71,6 @@
       this.saveButton.Name = "saveButton";
       this.saveButton.Size = new System.Drawing.Size(24, 24);
-      this.saveButton.TabIndex = 4;
+      this.saveButton.TabIndex = 3;
+      this.toolTip.SetToolTip(this.saveButton, "Save resource assignments");
       this.saveButton.UseVisualStyleBackColor = true;
       this.saveButton.Click += new System.EventHandler(this.saveButton_Click);
@@ -186,4 +190,5 @@
     private System.Windows.Forms.GroupBox detailsGroupBox;
     private HeuristicLab.Clients.Hive.Views.TreeView.NoDoubleClickTreeView treeView;
+    private System.Windows.Forms.ToolTip toolTip;
     private System.Windows.Forms.ImageList imageList;
     private MainForm.WindowsForms.ViewHost detailsViewHost;
Index: branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectView.Designer.cs
===================================================================
--- branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectView.Designer.cs	(revision 15933)
+++ branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectView.Designer.cs	(revision 15953)
@@ -24,4 +24,5 @@
     /// </summary>
     private void InitializeComponent() {
+      this.components = new System.ComponentModel.Container();
       this.idLabel = new System.Windows.Forms.Label();
       this.idTextBox = new System.Windows.Forms.TextBox();
@@ -40,4 +41,5 @@
       this.createdTextBox = new System.Windows.Forms.TextBox();
       this.refreshButton = new System.Windows.Forms.Button();
+      this.toolTip = new System.Windows.Forms.ToolTip(this.components);
       this.SuspendLayout();
       // 
@@ -67,5 +69,5 @@
       this.nameLabel.Name = "nameLabel";
       this.nameLabel.Size = new System.Drawing.Size(38, 13);
-      this.nameLabel.TabIndex = 2;
+      this.nameLabel.TabIndex = 0;
       this.nameLabel.Text = "Name:";
       // 
@@ -77,5 +79,5 @@
       this.nameTextBox.Name = "nameTextBox";
       this.nameTextBox.Size = new System.Drawing.Size(464, 20);
-      this.nameTextBox.TabIndex = 3;
+      this.nameTextBox.TabIndex = 2;
       this.nameTextBox.TextChanged += new System.EventHandler(this.nameTextBox_TextChanged);
       this.nameTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.nameTextBox_Validating);
@@ -87,5 +89,5 @@
       this.descriptionLabel.Name = "descriptionLabel";
       this.descriptionLabel.Size = new System.Drawing.Size(63, 13);
-      this.descriptionLabel.TabIndex = 4;
+      this.descriptionLabel.TabIndex = 0;
       this.descriptionLabel.Text = "Description:";
       // 
@@ -98,18 +100,6 @@
       this.descriptionTextBox.Name = "descriptionTextBox";
       this.descriptionTextBox.Size = new System.Drawing.Size(464, 98);
-      this.descriptionTextBox.TabIndex = 5;
+      this.descriptionTextBox.TabIndex = 3;
       this.descriptionTextBox.TextChanged += new System.EventHandler(this.descriptionTextBox_TextChanged);
-      // 
-      // ownerComboBox
-      // 
-      this.ownerComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
-            | System.Windows.Forms.AnchorStyles.Right)));
-      this.ownerComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
-      this.ownerComboBox.FormattingEnabled = true;
-      this.ownerComboBox.Location = new System.Drawing.Point(102, 164);
-      this.ownerComboBox.Name = "ownerComboBox";
-      this.ownerComboBox.Size = new System.Drawing.Size(434, 21);
-      this.ownerComboBox.TabIndex = 6;
-      this.ownerComboBox.SelectedIndexChanged += new System.EventHandler(this.ownerComboBox_SelectedIndexChanged);
       // 
       // ownerLabel
@@ -119,6 +109,29 @@
       this.ownerLabel.Name = "ownerLabel";
       this.ownerLabel.Size = new System.Drawing.Size(41, 13);
-      this.ownerLabel.TabIndex = 7;
+      this.ownerLabel.TabIndex = 0;
       this.ownerLabel.Text = "Owner:";
+      // 
+      // ownerComboBox
+      // 
+      //this.ownerComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+      //      | System.Windows.Forms.AnchorStyles.Right)));
+      this.ownerComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+      this.ownerComboBox.FormattingEnabled = true;
+      this.ownerComboBox.Location = new System.Drawing.Point(72, 164);
+      this.ownerComboBox.Name = "ownerComboBox";
+      this.ownerComboBox.Size = new System.Drawing.Size(200, 21);
+      this.ownerComboBox.TabIndex = 4;
+      this.ownerComboBox.SelectedIndexChanged += new System.EventHandler(this.ownerComboBox_SelectedIndexChanged);
+      // 
+      // refreshButton
+      // 
+      this.refreshButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.Refresh;
+      this.refreshButton.Location = new System.Drawing.Point(278, 162);
+      this.refreshButton.Name = "refreshButton";
+      this.refreshButton.Size = new System.Drawing.Size(24, 24);
+      this.refreshButton.TabIndex = 5;
+      this.toolTip.SetToolTip(this.refreshButton, "Refresh data");
+      this.refreshButton.UseVisualStyleBackColor = true;
+      this.refreshButton.Click += new System.EventHandler(this.refreshButton_Click);
       // 
       // createdLabel
@@ -189,14 +202,4 @@
       this.createdTextBox.Size = new System.Drawing.Size(200, 20);
       this.createdTextBox.TabIndex = 14;
-      // 
-      // refreshButton
-      // 
-      this.refreshButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.Refresh;
-      this.refreshButton.Location = new System.Drawing.Point(72, 162);
-      this.refreshButton.Name = "refreshButton";
-      this.refreshButton.Size = new System.Drawing.Size(24, 24);
-      this.refreshButton.TabIndex = 15;
-      this.refreshButton.UseVisualStyleBackColor = true;
-      this.refreshButton.Click += new System.EventHandler(this.refreshButton_Click);
       // 
       // ProjectView
@@ -246,4 +249,5 @@
     private System.Windows.Forms.TextBox createdTextBox;
     private System.Windows.Forms.Button refreshButton;
+    private System.Windows.Forms.ToolTip toolTip;
   }
 }
Index: branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectsView.Designer.cs
===================================================================
--- branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectsView.Designer.cs	(revision 15933)
+++ branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectsView.Designer.cs	(revision 15953)
@@ -39,4 +39,5 @@
       this.resourcesTabPage = new System.Windows.Forms.TabPage();
       this.projectResourcesView = new HeuristicLab.Clients.Hive.Administrator.Views.ProjectResourcesView();
+      this.toolTip = new System.Windows.Forms.ToolTip(this.components);
       ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).BeginInit();
       this.splitContainer.Panel1.SuspendLayout();
@@ -79,4 +80,5 @@
       this.refreshButton.Size = new System.Drawing.Size(24, 24);
       this.refreshButton.TabIndex = 14;
+      this.toolTip.SetToolTip(this.refreshButton, "Fetch list from server");
       this.refreshButton.UseVisualStyleBackColor = true;
       this.refreshButton.Click += new System.EventHandler(this.refreshButton_Click);
@@ -89,4 +91,5 @@
       this.saveProjectButton.Size = new System.Drawing.Size(24, 24);
       this.saveProjectButton.TabIndex = 12;
+      this.toolTip.SetToolTip(this.saveProjectButton, "Store project on the server");
       this.saveProjectButton.UseVisualStyleBackColor = true;
       this.saveProjectButton.Click += new System.EventHandler(this.saveProjectButton_Click);
@@ -99,4 +102,5 @@
       this.removeButton.Size = new System.Drawing.Size(24, 24);
       this.removeButton.TabIndex = 11;
+      this.toolTip.SetToolTip(this.removeButton, "Remove a project");
       this.removeButton.UseVisualStyleBackColor = true;
       this.removeButton.Click += new System.EventHandler(this.removeButton_Click);
@@ -109,4 +113,5 @@
       this.addButton.Size = new System.Drawing.Size(24, 24);
       this.addButton.TabIndex = 10;
+      this.toolTip.SetToolTip(this.addButton, "Add a new project");
       this.addButton.UseVisualStyleBackColor = true;
       this.addButton.Click += new System.EventHandler(this.addButton_Click);
@@ -257,4 +262,5 @@
     private ProjectResourcesView projectResourcesView;
     private ProjectPermissionsView projectPermissionsView;
+    private System.Windows.Forms.ToolTip toolTip;
   }
 }
Index: branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectsView.cs
===================================================================
--- branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectsView.cs	(revision 15933)
+++ branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectsView.cs	(revision 15953)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2017 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -41,5 +41,5 @@
     private const int redFlagImageIndex = 1;
     private const string SELECTED_TAG = ""; // " [selected]";
-    private const string NOT_STORED_TAG = "**"; // " [not stored]";
+    private const string NOT_STORED_TAG = "*"; // " [not stored]";
     private const string CHANGES_NOT_STORED_TAG = "*"; // " [changes not stored]";
 
Index: branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ResourcesView.Designer.cs
===================================================================
--- branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ResourcesView.Designer.cs	(revision 15933)
+++ branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ResourcesView.Designer.cs	(revision 15953)
@@ -128,5 +128,5 @@
       this.btnRemoveGroup.Size = new System.Drawing.Size(24, 24);
       this.btnRemoveGroup.TabIndex = 2;
-      this.toolTip.SetToolTip(this.btnRemoveGroup, "Delete a slave or a group");
+      this.toolTip.SetToolTip(this.btnRemoveGroup, "Remove a slave or a group");
       this.btnRemoveGroup.UseVisualStyleBackColor = true;
       this.btnRemoveGroup.Click += new System.EventHandler(this.btnRemoveGroup_Click);
Index: branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ResourcesView.cs
===================================================================
--- branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ResourcesView.cs	(revision 15933)
+++ branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ResourcesView.cs	(revision 15953)
@@ -43,5 +43,5 @@
     public const string UNGROUPED_GROUP_DESCRIPTION = "Contains slaves that are not assigned to any group.";
     private const string SELECTED_TAG = ""; // " [selected]";
-    private const string NOT_STORED_TAG = "**"; // " [not stored]";
+    private const string NOT_STORED_TAG = "*"; // " [not stored]";
     private const string CHANGES_NOT_STORED_TAG = "*"; // " [changes not stored]";
 
Index: branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.JobManager/3.3/Views/HiveJobManagerView.Designer.cs
===================================================================
--- branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.JobManager/3.3/Views/HiveJobManagerView.Designer.cs	(revision 15933)
+++ branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.JobManager/3.3/Views/HiveJobManagerView.Designer.cs	(revision 15953)
@@ -45,6 +45,8 @@
     /// </summary>
     private void InitializeComponent() {
+      this.components = new System.ComponentModel.Container();
       this.hiveExperimentListView = new RefreshableHiveJobListView();
       this.refreshButton = new System.Windows.Forms.Button();
+      this.toolTip = new System.Windows.Forms.ToolTip(this.components);
       this.SuspendLayout();
       // 
@@ -69,4 +71,5 @@
       this.refreshButton.Size = new System.Drawing.Size(24, 24);
       this.refreshButton.TabIndex = 1;
+      this.toolTip.SetToolTip(this.refreshButton, "Refresh data");
       this.refreshButton.UseVisualStyleBackColor = true;
       this.refreshButton.Click += new System.EventHandler(this.refreshButton_Click);
@@ -87,5 +90,5 @@
     private RefreshableHiveJobListView hiveExperimentListView;
     private System.Windows.Forms.Button refreshButton;
-
+    private System.Windows.Forms.ToolTip toolTip;
 
   }
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 15933)
+++ branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.JobManager/3.3/Views/HiveResourceSelectorDialog.Designer.cs	(revision 15953)
@@ -45,7 +45,9 @@
     /// </summary>
     private void InitializeComponent() {
+      this.components = new System.ComponentModel.Container();
       this.okButton = new System.Windows.Forms.Button();
       this.cancelButton = new System.Windows.Forms.Button();
       this.refreshButton = new System.Windows.Forms.Button();
+      this.toolTip = new System.Windows.Forms.ToolTip(this.components);
       this.hiveResourceSelector = new HeuristicLab.Clients.Hive.JobManager.Views.HiveProjectSelector();
       this.SuspendLayout();
@@ -82,4 +84,5 @@
       this.refreshButton.Size = new System.Drawing.Size(24, 24);
       this.refreshButton.TabIndex = 3;
+      this.toolTip.SetToolTip(this.refreshButton, "Refresh data");
       this.refreshButton.UseVisualStyleBackColor = true;
       this.refreshButton.Click += new System.EventHandler(this.refreshButton_Click);
@@ -133,4 +136,5 @@
     protected System.Windows.Forms.Button cancelButton;
     protected System.Windows.Forms.Button refreshButton;
+    protected System.Windows.Forms.ToolTip toolTip;
     protected HiveProjectSelector hiveResourceSelector;
   }
Index: branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.JobManager/3.3/Views/RefreshableHiveJobView.Designer.cs
===================================================================
--- branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.JobManager/3.3/Views/RefreshableHiveJobView.Designer.cs	(revision 15933)
+++ branches/2839_HiveProjectManagement/HeuristicLab.Clients.Hive.JobManager/3.3/Views/RefreshableHiveJobView.Designer.cs	(revision 15953)
@@ -152,5 +152,5 @@
       this.refreshPermissionsButton.Size = new System.Drawing.Size(24, 24);
       this.refreshPermissionsButton.TabIndex = 23;
-      this.toolTip.SetToolTip(this.refreshPermissionsButton, "Refresh Data");
+      this.toolTip.SetToolTip(this.refreshPermissionsButton, "Refresh data");
       this.refreshPermissionsButton.UseVisualStyleBackColor = true;
       this.refreshPermissionsButton.Click += new System.EventHandler(this.refreshPermissionsButton_Click);
@@ -448,4 +448,5 @@
       this.searchButton.Size = new System.Drawing.Size(24, 24);
       this.searchButton.TabIndex = 26;
+      this.toolTip.SetToolTip(this.searchButton, "Select project and resources");
       this.searchButton.UseVisualStyleBackColor = true;
       this.searchButton.Click += new System.EventHandler(this.searchButton_Click);
Index: branches/2839_HiveProjectManagement/HeuristicLab.Clients.OKB.Views/3.3/Administration/Views/AlgorithmView.Designer.cs
===================================================================
--- branches/2839_HiveProjectManagement/HeuristicLab.Clients.OKB.Views/3.3/Administration/Views/AlgorithmView.Designer.cs	(revision 15933)
+++ branches/2839_HiveProjectManagement/HeuristicLab.Clients.OKB.Views/3.3/Administration/Views/AlgorithmView.Designer.cs	(revision 15953)
@@ -42,5 +42,5 @@
       this.usersTabPage = new System.Windows.Forms.TabPage();
       this.storeUsersButton = new System.Windows.Forms.Button();
-      this.refreshableLightweightUserView = new HeuristicLab.Clients.Access.Views.RefreshableLightweightUserView();
+      this.refreshableLightweightUserView = new HeuristicLab.Clients.Access.Views.RefreshableLightweightAccessClientView();
       this.dataTabPage = new System.Windows.Forms.TabPage();
       this.noViewAvailableLabel = new System.Windows.Forms.Label();
@@ -394,5 +394,5 @@
     private MainForm.WindowsForms.ViewHost dataViewHost;
     private System.Windows.Forms.Label noViewAvailableLabel;
-    private Access.Views.RefreshableLightweightUserView refreshableLightweightUserView;
+    private Access.Views.RefreshableLightweightAccessClientView refreshableLightweightUserView;
 
   }
Index: branches/2839_HiveProjectManagement/HeuristicLab.Clients.OKB.Views/3.3/Administration/Views/ProblemView.Designer.cs
===================================================================
--- branches/2839_HiveProjectManagement/HeuristicLab.Clients.OKB.Views/3.3/Administration/Views/ProblemView.Designer.cs	(revision 15933)
+++ branches/2839_HiveProjectManagement/HeuristicLab.Clients.OKB.Views/3.3/Administration/Views/ProblemView.Designer.cs	(revision 15953)
@@ -42,5 +42,5 @@
       this.usersTabPage = new System.Windows.Forms.TabPage();
       this.storeUsersButton = new System.Windows.Forms.Button();
-      this.problemUserView = new HeuristicLab.Clients.Access.Views.RefreshableLightweightUserView();
+      this.problemUserView = new HeuristicLab.Clients.Access.Views.RefreshableLightweightAccessClientView();
       this.dataTabPage = new System.Windows.Forms.TabPage();
       this.noViewAvailableLabel = new System.Windows.Forms.Label();
@@ -393,5 +393,5 @@
     private MainForm.WindowsForms.ViewHost dataViewHost;
     private System.Windows.Forms.Label noViewAvailableLabel;
-    private Access.Views.RefreshableLightweightUserView problemUserView;
+    private Access.Views.RefreshableLightweightAccessClientView problemUserView;
 
   }
