diff --git a/src/main/java/se/su/dsv/scipro/SciProApplication.java b/src/main/java/se/su/dsv/scipro/SciProApplication.java
index 3660cc412f..12aca9930f 100644
--- a/src/main/java/se/su/dsv/scipro/SciProApplication.java
+++ b/src/main/java/se/su/dsv/scipro/SciProApplication.java
@@ -42,7 +42,6 @@ import se.su.dsv.scipro.admin.pages.settings.AdminGeneralSettingsPage;
 import se.su.dsv.scipro.admin.pages.settings.AdminPeerSettingsPage;
 import se.su.dsv.scipro.admin.pages.settings.AdminServerEnvironmentSettingsPage;
 import se.su.dsv.scipro.basepages.DemoPage;
-import se.su.dsv.scipro.basepages.Inte;
 import se.su.dsv.scipro.basepages.errorpages.AccessDeniedPage;
 import se.su.dsv.scipro.basepages.errorpages.CustomErrorPageFactory;
 import se.su.dsv.scipro.basepages.errorpages.InternalErrorPage;
@@ -62,10 +61,6 @@ import se.su.dsv.scipro.json.pages.JsonSentMessagePage;
 import se.su.dsv.scipro.json.pages.JsonSetReadPage;
 import se.su.dsv.scipro.json.pages.JsonSetStatusPage;
 import se.su.dsv.scipro.json.pages.JsonStatusPage;
-import se.su.dsv.scipro.knol.resource.page.BookmarkableCategoryResourcePage;
-import se.su.dsv.scipro.knol.resource.page.BookmarkableResourcePage;
-import se.su.dsv.scipro.knol.resource.page.BookmarkableTagResourcePage;
-import se.su.dsv.scipro.knol.resource.page.ResourcePage;
 import se.su.dsv.scipro.log.pages.ProjectLogPage;
 import se.su.dsv.scipro.log.pages.SupervisorLogPage;
 import se.su.dsv.scipro.loginlogout.pages.LoginPage;
@@ -172,7 +167,6 @@ public class SciProApplication extends RepositoryApplication implements IThemabl
 		mountBookmarkablePage("login", LoginPage.class);
 		mountBookmarkablePage("logout", LogoutPage.class);
 		mountBookmarkablePage("demo", DemoPage.class);
-		mountBookmarkablePage("inte", Inte.class);
 		
 		/*
 		 * Pop-up pages
@@ -194,14 +188,6 @@ public class SciProApplication extends RepositoryApplication implements IThemabl
 		mountBookmarkablePage("json/status", JsonStatusPage.class);
 		mountBookmarkablePage("json/setstatus", JsonSetStatusPage.class);
 		
-		/*
-		 * Resource pages
-		 */
-		mountBookmarkablePage("resource", ResourcePage.class);
-		mountBookmarkablePage("resource/category", BookmarkableCategoryResourcePage.class);
-		mountBookmarkablePage("resource/resource", BookmarkableResourcePage.class);
-		mountBookmarkablePage("resource/tag", BookmarkableTagResourcePage.class);
-		
 		/*
 		 * Admin pages
 		 */
diff --git a/src/main/java/se/su/dsv/scipro/basepages/Inte.java b/src/main/java/se/su/dsv/scipro/basepages/Inte.java
deleted file mode 100644
index 58e5ab1790..0000000000
--- a/src/main/java/se/su/dsv/scipro/basepages/Inte.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package se.su.dsv.scipro.basepages;
-
-import org.apache.wicket.PageParameters;
-import org.apache.wicket.model.Model;
-
-import se.su.dsv.scipro.knol.resource.page.StaticImage;
-
-public class Inte extends PublicPage {
-
-	private StaticImage firstImage, secondImage;
-	
-
-	public Inte(final PageParameters pp){
-		super(pp);
-		
-		firstImage = new StaticImage("firstImage", new Model<String>(
-				"images/icons/bullet_ball_glass_green.png"));
-		secondImage = new StaticImage("secondImage", new Model<String>(
-				"images/icons/bullet_ball_glass_yellow.png"));
-		
-		
-		add(firstImage);
-		add(secondImage);
-		
-		secondImage.setVisible(false);
-		
-		
-	}
-}
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/model/CategoryModel.java b/src/main/java/se/su/dsv/scipro/knol/resource/model/CategoryModel.java
deleted file mode 100644
index 687dd266ef..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/model/CategoryModel.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * 
- */
-package se.su.dsv.scipro.knol.resource.model;
-
-import java.util.Collection;
-
-import org.apache.wicket.IClusterable;
-
-import se.su.dsv.scipro.data.dataobjects.Category;
-
-/**
- * @author Johan Aschan - aschan@dsv.su.se
- *
- */
-public class CategoryModel implements IClusterable {
-	
-	private String categoryName;
-	private Category selectedCategory;
-
-	public String getCategoryName() {
-		return categoryName;
-	}
-
-	public void setCategoryName(String categoryName) {
-		this.categoryName = categoryName;
-	}
-
-	public Category getCategory() {
-		return selectedCategory;
-	}
-
-	public void setCategory(Category category) {
-		this.selectedCategory = category;
-	}
-
-}
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/model/ResourceModel.java b/src/main/java/se/su/dsv/scipro/knol/resource/model/ResourceModel.java
deleted file mode 100644
index fdd093940e..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/model/ResourceModel.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
- * 
- */
-package se.su.dsv.scipro.knol.resource.model;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.apache.wicket.IClusterable;
-
-import se.su.dsv.scipro.data.dataobjects.Category;
-import se.su.dsv.scipro.data.dataobjects.Tag;
-import se.su.dsv.scipro.data.dataobjects.User;
-
-/**
- * @author Johan Aschan - aschan@dsv.su.se
- *
- */
-public class ResourceModel implements IClusterable {
-	
-	private String info;
-	private String link;
-	private String linkName;
-	private String embedCode;
-	private String tags;
-	private Collection<Category> selectedCategoryCollection;
-
-
-	
-	public String getEmbedCode() {
-		return embedCode;
-	}
-	public void setEmbedCode(String embedCode) {
-		this.embedCode = embedCode;
-	}
-	public String getInfo() {
-		return info;
-	}
-	public String getLink() {
-		return link;
-	}
-	public String getLinkName() {
-		return linkName;
-	}
-
-
-	public String getTags() {
-		return tags;
-	}
-	public void setTags(String tags) {
-		this.tags = tags;
-	}
-	public void setInfo(String info) {
-		this.info = info;
-	}
-	public void setLink(String link) {
-		this.link = link;
-	}
-	public void setLinkName(String linkName) {
-		this.linkName = linkName;
-	}
-	public Collection<Category> getSelectedCategoryCollection() {
-		return selectedCategoryCollection;
-	}
-	public void setSelectedCategoryCollection(
-			Collection<Category> selectedCategoryCollection) {
-		this.selectedCategoryCollection = selectedCategoryCollection;
-	}
-
-
-	
-	
-	
-}
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/page/BookmarkableCategoryResourcePage.html b/src/main/java/se/su/dsv/scipro/knol/resource/page/BookmarkableCategoryResourcePage.html
deleted file mode 100644
index 36f9b93a63..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/page/BookmarkableCategoryResourcePage.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
-<body>
-	<wicket:extend>
-	
-			
-	       	<div wicket:id="bookMarkTagPanel"></div>
-
-	
-	</wicket:extend>
-</body>
-</html>
\ No newline at end of file
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/page/BookmarkableCategoryResourcePage.java b/src/main/java/se/su/dsv/scipro/knol/resource/page/BookmarkableCategoryResourcePage.java
deleted file mode 100644
index 563d11d3db..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/page/BookmarkableCategoryResourcePage.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * 
- */
-package se.su.dsv.scipro.knol.resource.page;
-
-import java.util.List;
-
-import org.apache.wicket.PageParameters;
-import org.apache.wicket.markup.html.link.BookmarkablePageLink;
-
-import se.su.dsv.scipro.basepages.MenuPage;
-import se.su.dsv.scipro.data.dataobjects.Category;
-import se.su.dsv.scipro.data.dataobjects.Tag;
-import se.su.dsv.scipro.knol.resource.panels.ResourceBookmarkableCategoryPanel;
-import se.su.dsv.scipro.knol.resource.panels.ResourceBookmarkableTagPanel;
-
-/**
- * @author Johan Aschan - aschan@dsv.su.se
- * 
- */
-public class BookmarkableCategoryResourcePage extends MenuPage {
-
-	public BookmarkableCategoryResourcePage(PageParameters pp) {
-		super(pp);
-		add(new ResourceBookmarkableCategoryPanel("bookMarkTagPanel", pp));
-	}
-
-	public static BookmarkablePageLink<Void> getBookmarkablePageLink(String id,
-			List<Category> categoryList) {
-		String category = "";
-		boolean first = true;
-		for (Category t : categoryList) {
-			if (first) {
-				category += t.getId();
-				first = false;
-			} else{
-				category += "+" + t.getId();
-			}
-		}
-		
-		PageParameters pp = new PageParameters();
-		pp.add("c", category);
-		return new BookmarkablePageLink<Void>(id,
-				BookmarkableCategoryResourcePage.class, pp);
-	}
-}
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/page/BookmarkableResourcePage.html b/src/main/java/se/su/dsv/scipro/knol/resource/page/BookmarkableResourcePage.html
deleted file mode 100644
index 0c290bef65..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/page/BookmarkableResourcePage.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
-<body>
-	<wicket:extend>
-	
-			
-	       	<div wicket:id="bookMarkPanel"></div>
-
-	
-	</wicket:extend>
-</body>
-</html>
\ No newline at end of file
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/page/BookmarkableResourcePage.java b/src/main/java/se/su/dsv/scipro/knol/resource/page/BookmarkableResourcePage.java
deleted file mode 100644
index 06704f6572..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/page/BookmarkableResourcePage.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * 
- */
-package se.su.dsv.scipro.knol.resource.page;
-
-import org.apache.wicket.PageParameters;
-import org.apache.wicket.markup.html.link.BookmarkablePageLink;
-
-import se.su.dsv.scipro.basepages.MenuPage;
-import se.su.dsv.scipro.data.dataobjects.Resource;
-import se.su.dsv.scipro.knol.resource.panels.ResourceBookmarkablePanel;
-
-/**
- * @author Johan Aschan - aschan@dsv.su.se
- *
- */
-public class BookmarkableResourcePage extends MenuPage{
-	
-	public BookmarkableResourcePage(PageParameters pp) {
-		super(pp);
-		add(new ResourceBookmarkablePanel("bookMarkPanel", pp));
-	}	
-	
-	public static BookmarkablePageLink<Void> getBookmarkablePageLink(String id, Resource resource){
-		PageParameters pp = new PageParameters();
-		pp.put("r", resource.getId());
-		return new BookmarkablePageLink<Void>(id, BookmarkableResourcePage.class, pp);	
-	}
-}
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/page/BookmarkableTagResourcePage.html b/src/main/java/se/su/dsv/scipro/knol/resource/page/BookmarkableTagResourcePage.html
deleted file mode 100644
index 36f9b93a63..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/page/BookmarkableTagResourcePage.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
-<body>
-	<wicket:extend>
-	
-			
-	       	<div wicket:id="bookMarkTagPanel"></div>
-
-	
-	</wicket:extend>
-</body>
-</html>
\ No newline at end of file
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/page/BookmarkableTagResourcePage.java b/src/main/java/se/su/dsv/scipro/knol/resource/page/BookmarkableTagResourcePage.java
deleted file mode 100644
index f34cf40cd2..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/page/BookmarkableTagResourcePage.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * 
- */
-package se.su.dsv.scipro.knol.resource.page;
-
-import java.util.List;
-
-import org.apache.wicket.PageParameters;
-import org.apache.wicket.markup.html.link.BookmarkablePageLink;
-
-import se.su.dsv.scipro.basepages.MenuPage;
-import se.su.dsv.scipro.data.dataobjects.Tag;
-import se.su.dsv.scipro.knol.resource.panels.ResourceBookmarkableTagPanel;
-
-/**
- * @author Johan Aschan - aschan@dsv.su.se
- * 
- */
-public class BookmarkableTagResourcePage extends MenuPage {
-
-	public BookmarkableTagResourcePage(PageParameters pp) {
-		super(pp);
-		add(new ResourceBookmarkableTagPanel("bookMarkTagPanel", pp));
-	}
-
-	public static BookmarkablePageLink<Void> getBookmarkablePageLink(String id,
-			List<Tag> tagList) {
-		String tag = "";
-		boolean first = true;
-		for (Tag t : tagList) {
-			if (first) {
-				tag += t.getId();
-				first = false;
-			} else{
-				tag += "+" + t.getId();
-			}
-		}
-		PageParameters pp = new PageParameters();
-		pp.add("t", tag);
-		return new BookmarkablePageLink<Void>(id,
-				BookmarkableTagResourcePage.class, pp);
-	}
-}
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/page/HtmlWebMarkupContainer.java b/src/main/java/se/su/dsv/scipro/knol/resource/page/HtmlWebMarkupContainer.java
deleted file mode 100644
index 45c5aeb277..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/page/HtmlWebMarkupContainer.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * 
- */
-package se.su.dsv.scipro.knol.resource.page;
-
-import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.MarkupStream;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-
-/**
- * @author Johan Aschan - aschan@dsv.su.se
- * 
- */
-public class HtmlWebMarkupContainer extends WebMarkupContainer {
-
-	private String html;
-
-	public HtmlWebMarkupContainer(String id, String html) {
-		super(id);
-		this.html = html;
-	}
-	
-	
-
-	public String getHtml() {
-		return html;
-	}
-
-
-
-	public void setHtml(String html) {
-		this.html = html;
-	}
-
-
-
-	@Override
-	protected void onComponentTagBody(MarkupStream markupStream,
-			ComponentTag openTag) {
-		replaceComponentTagBody(markupStream, openTag, html);
-	}
-}
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/page/ResourcePage.html b/src/main/java/se/su/dsv/scipro/knol/resource/page/ResourcePage.html
deleted file mode 100644
index b5d9cd2508..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/page/ResourcePage.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
-<body>
-	<wicket:extend>
-		<div wicket:id="resourcesPanel"></div>
-	</wicket:extend>
-</body>
-</html>
\ No newline at end of file
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/page/ResourcePage.java b/src/main/java/se/su/dsv/scipro/knol/resource/page/ResourcePage.java
deleted file mode 100644
index db79c985c6..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/page/ResourcePage.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * 
- */
-package se.su.dsv.scipro.knol.resource.page;
-
-import org.apache.wicket.PageParameters;
-
-import se.su.dsv.scipro.basepages.MenuPage;
-import se.su.dsv.scipro.knol.resource.panels.ResourcesPanel;
-import se.su.dsv.scipro.security.auth.Authorization;
-import se.su.dsv.scipro.security.auth.roles.Roles;
-
-/**
- * @author Johan Aschan - aschan@dsv.su.se
- * 
- */
-@Authorization(authorizedRoles={Roles.SYSADMIN}) //TODO Hidden for initial deployment
-public class ResourcePage extends MenuPage {
-
-    public static final String MAIN_MENU_LABEL = "Resources";
-
-	public ResourcePage(PageParameters pp) {
-		super(pp);
-		add(new ResourcesPanel("resourcesPanel"));
-	}
-
-}
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/page/StaticImage.java b/src/main/java/se/su/dsv/scipro/knol/resource/page/StaticImage.java
deleted file mode 100644
index c7d80e0b71..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/page/StaticImage.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * 
- */
-package se.su.dsv.scipro.knol.resource.page;
-
-import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.html.WebComponent;
-import org.apache.wicket.model.IModel;
-
-/**
- * @author Johan Aschan - aschan@dsv.su.se
- *
- */
-public class StaticImage extends WebComponent {
-
-    public StaticImage(String id, IModel model) {
-        super(id, model);
-    }
-
-    protected void onComponentTag(ComponentTag tag) {
-        super.onComponentTag(tag);
-        checkComponentTag(tag, "img");
-        tag.put("src", getDefaultModelObjectAsString());
-        // since Wicket 1.4 you need to use getDefaultModelObjectAsString() instead of getModelObjectAsString()
-    }
-
-}
\ No newline at end of file
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/panels/FileResourcePanel.html b/src/main/java/se/su/dsv/scipro/knol/resource/panels/FileResourcePanel.html
deleted file mode 100644
index 002c2ac0e1..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/panels/FileResourcePanel.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
-<body>
-<wicket:panel>
-	
-	<div><span wicket:id="feedbackPanel">[Feedback goes here]</span></div>
-	<form wicket:id="uploadForm">
-		<div><input wicket:id="fileInput" id="fileInput" type="file" /></div>
-		<div><input type="submit" value="Upload!" name="upload" /></div>
-	<span wicket:id="progress">[[ajax upload progressbar]]</span>
-	</form>
-	<table wicket:id="listFiles">
-			<tr wicket:id="content">
-<!--				<td><a href="delete" wicket:id="delete"><span-->
-<!--					wicket:id="deleteIcon" /></a></td>-->
-				<td><span wicket:id="name">name</span></td>
-				<td><a href="#" wicket:id="open">Open</a></td>
-
-				<td><a href="#" wicket:id="download">Download</a></td>
-
-			</tr>		
-	</table>
-</wicket:panel>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/panels/FileResourcePanel.java b/src/main/java/se/su/dsv/scipro/knol/resource/panels/FileResourcePanel.java
deleted file mode 100644
index 13a41b760f..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/panels/FileResourcePanel.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package se.su.dsv.scipro.knol.resource.panels;
-
-import java.util.List;
-
-import org.apache.wicket.extensions.ajax.markup.html.form.upload.UploadProgressBar;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.markup.html.form.upload.FileUpload;
-import org.apache.wicket.markup.html.form.upload.FileUploadField;
-import org.apache.wicket.markup.html.panel.FeedbackPanel;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.markup.repeater.RepeatingView;
-import org.apache.wicket.spring.injection.annot.SpringBean;
-import org.apache.wicket.util.lang.Bytes;
-
-import se.su.dsv.scipro.data.dao.interfaces.UserDao;
-import se.su.dsv.scipro.data.dataobjects.FileDescription;
-import se.su.dsv.scipro.data.dataobjects.Resource;
-import se.su.dsv.scipro.repository.FileRepository;
-import se.su.dsv.scipro.repository.SortOrder;
-import se.su.dsv.scipro.repository.components.FileDownloadLink;
-import se.su.dsv.scipro.repository.components.FileOpenLink;
-
-public class FileResourcePanel extends Panel{
-
-	private static final long serialVersionUID = 5500371345065598841L;
-
-	protected Bytes maxFileSize = Bytes.megabytes(100);
-
-	@SpringBean
-	protected FileRepository fileRepository;
-	@SpringBean
-	protected UserDao userDao;
-
-	protected FileUploadForm fuf;
-
-	protected Resource resource;
-	
-	protected WebMarkupContainer listFiles;
-	protected WebMarkupContainer tableHead;
-	
-	public FileResourcePanel(String id, Resource resource) {
-		super(id);
-		add(new FeedbackPanel("feedbackPanel"));
-		this.resource = resource;
-		
-		listFiles = new WebMarkupContainer("listFiles");
-		add(listFiles);
-		reloadFiles();
-
-		fuf = new FileUploadForm("uploadForm");
-		add(fuf);
-		fuf.add(new UploadProgressBar("progress", fuf)); //TODO seems to be broken in some browsers like Chrome
-		if(resource == null || resource.getId() == null)
-			fuf.setVisible(false);
-
-	}
-	
-	private void reloadFiles() {
-		listFiles.removeAll();
-		List<FileDescription> items = fileRepository.searchFiles(fileRepository.getResourcePath(resource.getId()),false);
-		
-		if(items.isEmpty())
-			listFiles.setVisible(false);
-		else
-			listFiles.setVisible(true);
-		
-		fileRepository.sortFileDescriptions(items, SortOrder.Name);
-		
-		RepeatingView contents = new RepeatingView("content");
-		listFiles.add(contents);
-		for (final FileDescription desc : items) {
-			WebMarkupContainer inner = new WebMarkupContainer(contents.newChildId());
-
-			inner.add(new Label("name", desc.getName()));
-
-			inner.add(new FileDownloadLink("download", desc ));
-			inner.add(new FileOpenLink("open", desc));
-				
-			contents.add(inner);
-		}//for
-	}//reloadFiles
-	
-	
-
-	private class FileUploadForm extends Form<Void> {
-		private static final long serialVersionUID = 1L;
-		private FileUploadField fileUploadField;
-
-		public FileUploadForm(String id) {
-			super(id);
-			setMultiPart(true);
-
-			// Add one file input field
-			add(fileUploadField = new FileUploadField("fileInput"));
-
-			setMaxSize(maxFileSize);
-		}		
-
-		@Override
-		protected void onSubmit() {
-			final FileUpload upload = fileUploadField.getFileUpload();
-			if(resource == null){
-				error("File resource was null, this was not meant to happen!");
-			} else {
-				if(resource.getId() == null){				
-					error("File resource id was null, this was not meant to happen!");
-				}
-				else {
-					String absolutePath = fileRepository.getResourcePath(resource.getId());			
-					fileRepository.storeFile(upload, absolutePath);
-				}
-			}
-			setRedirect(true);
-
-			reloadFiles();
-
-			//This might have to be changed into something better using page parameters etc.
-			setResponsePage(getPage());
-		}
-	}
-
-}
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceBookmarkableCategoryPanel.html b/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceBookmarkableCategoryPanel.html
deleted file mode 100644
index 57402d02cc..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceBookmarkableCategoryPanel.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
-<body>
-<wicket:panel>
-		
-			<h2>Resources</h2>
-			<div wicket:id="tagHeader" class="larger"></div>
-			<a href="#" wicket:id="showAll">Show All</a>
-			<div wicket:id="resourceListPanel"></div>
-</wicket:panel>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceBookmarkableCategoryPanel.java b/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceBookmarkableCategoryPanel.java
deleted file mode 100644
index 9b01b7c9fc..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceBookmarkableCategoryPanel.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/**
- * 
- */
-package se.su.dsv.scipro.knol.resource.panels;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.StringTokenizer;
-
-import org.apache.wicket.PageParameters;
-import org.apache.wicket.RestartResponseException;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.markup.html.AjaxLink;
-import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.spring.injection.annot.SpringBean;
-
-import se.su.dsv.scipro.SciProApplication;
-import se.su.dsv.scipro.data.dao.interfaces.CategoryDao;
-import se.su.dsv.scipro.data.dao.interfaces.ResourceDao;
-import se.su.dsv.scipro.data.dao.interfaces.TagDao;
-import se.su.dsv.scipro.data.dataobjects.Category;
-import se.su.dsv.scipro.data.dataobjects.Resource;
-import se.su.dsv.scipro.data.dataobjects.Tag;
-import se.su.dsv.scipro.data.enums.ResourceType;
-import se.su.dsv.scipro.knol.resource.page.ResourcePage;
-
-/**
- * @author Johan Aschan - aschan@dsv.su.se
- * 
- */
-public class ResourceBookmarkableCategoryPanel extends Panel {
-
-	private static final long serialVersionUID = 1L;
-
-	@SpringBean
-	private ResourceDao resourceDao;
-
-	@SpringBean
-	private CategoryDao categoryDao;
-
-
-	public ResourceBookmarkableCategoryPanel(String id, PageParameters pp) {
-		super(id);
-		add(new AjaxLink<Tag>("showAll") {
-
-			private static final long serialVersionUID = 1L;
-
-			@Override
-			public void onClick(AjaxRequestTarget target) {
-
-				setResponsePage(ResourcePage.class);
-			}
-		});
-		List<Category> categoryList = new ArrayList<Category>();
-		String categories = pp.getString("c");
-		String tagHeader = "Filtered by categories: ";
-		boolean first = true;
-		if (categories == null) {
-			failAndRedirect();
-		} else {
-			StringTokenizer stringTokenizer = new StringTokenizer(categories,
-					"+");
-
-			while (stringTokenizer.hasMoreTokens()) {
-				String tagString = stringTokenizer.nextToken().trim();
-				Category category = categoryDao.load(Long.valueOf(tagString));
-				if (category != null) {
-					if (!categoryList.contains(category)) {
-						categoryList.add(category);
-						if (first) {
-							tagHeader += category.getCategoryName();
-							first = false;
-						} else
-							tagHeader += ", " + category.getCategoryName();
-					}
-				} else {
-					failAndRedirect();
-				}
-
-			}
-
-		}
-		add(new Label("tagHeader", tagHeader));
-		Set<Resource> resourceList = new HashSet<Resource>();
-		for (Category category : categoryList) {
-			resourceList.addAll(resourceDao.findResourcesByCategory(category));
-		}
-		add(new ResourceListPanel("resourceListPanel", new ArrayList<Resource>(
-				resourceList), ResourceType.TAGVIEW));
-
-	}
-
-	private void failAndRedirect() {
-		throw new RestartResponseException(SciProApplication.get()
-				.getApplicationSettings().getAccessDeniedPage());
-	}
-
-}
\ No newline at end of file
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceBookmarkablePanel.html b/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceBookmarkablePanel.html
deleted file mode 100644
index 5eac0feb1f..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceBookmarkablePanel.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
-<body>
-<wicket:panel>
-		
-			<h2>Resource</h2>
-			<div wicket:id="resourceListPanel"></div>
-</wicket:panel>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceBookmarkablePanel.java b/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceBookmarkablePanel.java
deleted file mode 100644
index e3717f09b9..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceBookmarkablePanel.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- * 
- */
-package se.su.dsv.scipro.knol.resource.panels;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.wicket.PageParameters;
-import org.apache.wicket.RestartResponseException;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.spring.injection.annot.SpringBean;
-
-import se.su.dsv.scipro.SciProApplication;
-import se.su.dsv.scipro.data.dao.interfaces.ResourceDao;
-import se.su.dsv.scipro.data.dataobjects.Resource;
-import se.su.dsv.scipro.data.enums.ResourceType;
-
-/**
- * @author Johan Aschan - aschan@dsv.su.se
- * 
- */
-public class ResourceBookmarkablePanel extends Panel {
-
-	private static final long serialVersionUID = 1L;
-
-
-	@SpringBean
-	private ResourceDao resourceDao;
-
-
-	private Resource resource;
-
-
-	public ResourceBookmarkablePanel(String id, PageParameters pp) {
-		super(id);
-		Long resId = pp.getAsLong("r");
-		
-		if (resId == null) {
-			failAndRedirect();
-		} else {
-
-			resource = resourceDao.load(resId);
-			if (resource == null)
-				failAndRedirect();
-		}
-		List<Resource> resourceList = new ArrayList<Resource>();
-		resourceList.add(resource);
-		add(new ResourceListPanel("resourceListPanel", resourceList, ResourceType.PERMALINK));
-
-	}
-
-	private void failAndRedirect() {
-		throw new RestartResponseException(SciProApplication.get()
-				.getApplicationSettings().getAccessDeniedPage());
-	}
-
-	
-}
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceBookmarkableTagPanel.html b/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceBookmarkableTagPanel.html
deleted file mode 100644
index 57402d02cc..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceBookmarkableTagPanel.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
-<body>
-<wicket:panel>
-		
-			<h2>Resources</h2>
-			<div wicket:id="tagHeader" class="larger"></div>
-			<a href="#" wicket:id="showAll">Show All</a>
-			<div wicket:id="resourceListPanel"></div>
-</wicket:panel>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceBookmarkableTagPanel.java b/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceBookmarkableTagPanel.java
deleted file mode 100644
index 8e22e4f518..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceBookmarkableTagPanel.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/**
- * 
- */
-package se.su.dsv.scipro.knol.resource.panels;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.StringTokenizer;
-
-import org.apache.wicket.PageParameters;
-import org.apache.wicket.RestartResponseException;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.markup.html.AjaxLink;
-import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.spring.injection.annot.SpringBean;
-
-import se.su.dsv.scipro.SciProApplication;
-import se.su.dsv.scipro.data.dao.interfaces.ResourceDao;
-import se.su.dsv.scipro.data.dao.interfaces.TagDao;
-import se.su.dsv.scipro.data.dataobjects.Resource;
-import se.su.dsv.scipro.data.dataobjects.Tag;
-import se.su.dsv.scipro.data.enums.ResourceType;
-import se.su.dsv.scipro.knol.resource.page.ResourcePage;
-
-/**
- * @author Johan Aschan - aschan@dsv.su.se
- * 
- */
-public class ResourceBookmarkableTagPanel extends Panel {
-
-	private static final long serialVersionUID = 1L;
-
-	@SpringBean
-	private ResourceDao resourceDao;
-
-	@SpringBean
-	private TagDao tagDao;
-
-
-	public ResourceBookmarkableTagPanel(String id, PageParameters pp) {
-		super(id);
-		add(new AjaxLink<Tag>("showAll") {
-
-			private static final long serialVersionUID = 1L;
-
-			@Override
-			public void onClick(AjaxRequestTarget target) {
-
-				setResponsePage(ResourcePage.class);
-			}
-		});
-		List<Tag> tagList = new ArrayList<Tag>();
-		String tags = pp.getString("t");
-		String tagHeader = "Filtered by tags: ";
-		boolean first = true;
-		if (tags == null) {
-			failAndRedirect();
-		} else {
-			StringTokenizer stringTokenizer = new StringTokenizer(tags, "+");
-
-			while (stringTokenizer.hasMoreTokens()) {
-				String tagString = stringTokenizer.nextToken().trim();
-				Tag tag = tagDao.load(Long.valueOf(tagString));
-				if (null != tag) {
-					if (!tagList.contains(tag)) {
-						tagList.add(tag);
-						if (first) {
-							tagHeader += tag.getTag();
-							first = false;
-						} else
-							tagHeader += ", " + tag.getTag();
-					}
-				} else {
-					failAndRedirect();
-				}
-
-			}
-
-		}
-		add(new Label("tagHeader", tagHeader));
-		Set<Resource> resourceList = new HashSet<Resource>();
-		for (Tag tag : tagList) {
-			resourceList.addAll(resourceDao.findResourcesByTag(tag));
-		}
-		add(new ResourceListPanel("resourceListPanel", new ArrayList<Resource>(resourceList), ResourceType.TAGVIEW));
-
-	}
-
-	private void failAndRedirect() {
-		throw new RestartResponseException(SciProApplication.get()
-				.getApplicationSettings().getAccessDeniedPage());
-	}
-
-}
\ No newline at end of file
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceListPanel.html b/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceListPanel.html
deleted file mode 100644
index 363edf028d..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceListPanel.html
+++ /dev/null
@@ -1,177 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
-<body>
-<wicket:panel>
-			
-			<div wicket:id="listContainer">
-			<table wicket:id = "link-item" class = "link-resource-border">
-			
-				<tr>
-				<td class="rating-cell">
-					<div class = "centered" ><a href="#" wicket:id="upLink"><img wicket:id="upLinkIcon"/></a></div>
-					<div class = "centered larger-rate-number"  wicket:id="rate"></div>
-					<div class = "centered" ><a href="#" wicket:id="downLink"><img wicket:id="downLinkIcon" /></a></div>
-				</td>
-				<td>	
-					
-					<a href="#" target="new" wicket:id="link" class="larger"></a>
-					<span wicket:id="heading" class="larger"></span>
-					<div class = "right-corner-resource">
-						<div class = "resource-icon">				
-							<a href="#" wicket:id="editResource"><img src="images/icons/edit_16x16.png" " alt="Edit" title="Edit"/></a>
-							<a href="#" wicket:id="deleteResource"><img src="images/icons/delete_16x16.png" alt="Delete" title="Delete"/></a>
-						</div>	
-						<div class = "smaller">
-							<strong>Created: </strong> <span wicket:id="date"></span>
-							<br/>
-							<strong>Created by: </strong> <span wicket:id="user"></span>
-						</div>
-					
-				   </div>
-					<div><a href="#" target="new" wicket:id="linkAddress"></a></div>
-					<div wicket:id="embedCode"></div>
-
-					
-
-					<div wicket:id="info" class = "info-resource"></div>	
-					<div><strong>Categories: </strong> <span wicket:id="category-item"><a href="#" wicket:id="tag"><span wicket:id="tagName"></span></a> </span></div>
-					<strong>Tags: </strong> <span wicket:id="tag-item"><a href="#" wicket:id="tag"><span wicket:id="tagName"></span></a> </span>						
-					<div ><a href="#" wicket:id="bookmark">Permalink</a></div>
-					
-					
-						<div><a href="#" wicket:id="showComments"><span wicket:id="commentNumber"></span></a></div>
-					
-				</td>	
-
-
-				</tr>
-				<tr>
-					<td class="rating-cell"></td>
-				 	<td colspan ="2"><div wicket:id="container"><div wicket:id="commentThread"></div></div></td>
-				</tr>		
-			</table>	
-			<div wicket:id ="navigator"></div>
-			</div>
-
-		<div wicket:id="editLinkDialog">
-				<div wicket:id="editLinkDialogContainer">
-	       		<form wicket:id="editLinkResourceForm">
-	       			<div wicket:id="feedbackContainer" class ="span-8 last">
-	       				<div  wicket:id="feedbackPanel">
-	       				</div>
-					</div>
-					<div class ="span-6 last">
-						<strong>Link Name:</strong>
-					</div>
-					<div class ="span-6 last">
-						<input type="text" wicket:id="linkName" class ="span-6"/>
-					</div>
-					<div class ="span-6 last">
-						<strong>Link Address:</strong>
-					</div>
-					<div class ="span-6 last">
-						<input type="text" wicket:id="link" class ="span-6" />
-					</div>
-					<div class ="span-6 last">
-						<strong>Info:</strong>
-					</div>
-					<div class ="span-6 last">
-						<textarea  wicket:id="info" ></textarea>	
-					</div>
-					<div class ="span-6 last">
-						<strong>Categories:</strong>
-					</div>
-					<div class ="span-6 last">
-						<select wicket:id="selectedCategoryCollection"  class ="span-8 last"></select>
-          			</div>
-					<div class ="span-6 last">
-						<strong>Tags:</strong>
-					</div>
-
-
-					<div class ="span-6 last">
-						Separate by comma.
-					</div>
-					<div class ="span-6 last">
-						<input type="text" wicket:id="tags" class ="span-6" />
-					</div>
-					<div class ="span-6 last">
-						<strong>Delete tags:</strong>
-					</div>
-					<div wicket:id="tagListContainer" class ="span-6 last">
-						<span wicket:id="tag-item">
-							<span wicket:id="tagContainer">
-							<span wicket:id="tag"></span>
-							<a href="#" wicket:id="deleteTag"><img src="images/icons/delete_16x16.png" alt="Delete" title="Delete"/></a>
-							</span>
-						</span>
-					
-					</div>
-							<div class ="span-6 last edit-button"><input type="submit" wicket:id="submitButton"  /> </div>
-				</form>
-			</div>
-		</div>
-		
-		<div wicket:id="editEmbedDialog">
-				<div wicket:id="editEmbedDialogContainer">
-	       		<form wicket:id="editEmbedResourceForm">
-	       			<div wicket:id="feedbackContainer" class ="span-8 last">
-	       				<div  wicket:id="feedbackPanel">
-	       				</div>
-					</div>
-					<div class ="span-6 last">
-						<strong>Heading:</strong>
-					</div>
-					<div class ="span-6 last">
-						<input type="text" wicket:id="linkName" class ="span-6"/>
-					</div>
-					<div class ="span-6 last">
-						<strong>Embed Code:</strong>
-					</div>
-					<div class ="span-8 last">
-						Disclaimer: no security checks at the moment.
-					</div>
-					<div class ="span-6 last">
-						<textarea  wicket:id="embedCode" ></textarea>
-					</div>
-					<div class ="span-6 last">
-						<strong>Info:</strong>
-					</div>
-					<div class ="span-6 last">
-						<textarea wicket:id="info" ></textarea>	
-					</div>
-					<div class ="span-6 last">
-						<strong>Categories:</strong>
-					</div>
-					<div class ="span-6 last">
-						<select wicket:id="selectedCategoryCollection" class ="span-8 last"></select>
-          			</div>
-					<div class ="span-6 last">
-						<strong>Add tags:</strong>
-					</div>
-					<div class ="span-6 last">
-						Separate by comma.
-					</div>
-					<div class ="span-6 last">
-						<input type="text" wicket:id="tags" class ="span-6" />
-					</div>
-					<div class ="span-6 last">
-						<strong>Delete tags:</strong>
-					</div>
-					<div wicket:id="tagListContainerEmbed" class ="span-8 last">
-						<span wicket:id="tag-embed-item">
-							<span wicket:id="tagEmbedContainer">
-							<span wicket:id="tagEmbed"></span>
-							<a href="#" wicket:id="deleteTagEmbed"><img src="images/icons/delete_16x16.png" alt="Delete" title="Delete"/></a>
-							</span>
-						</span>
-					
-					</div>
-							<div class ="span-6 last edit-button"><input type="submit" wicket:id="submitButton"  /> </div>
-				</form>
-			</div>
-		</div>
-</wicket:panel>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceListPanel.java b/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceListPanel.java
deleted file mode 100644
index 454054c8a1..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceListPanel.java
+++ /dev/null
@@ -1,1134 +0,0 @@
-/**
- * 
- */
-package se.su.dsv.scipro.knol.resource.panels;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.apache.wicket.IClusterable;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.IAjaxCallDecorator;
-import org.apache.wicket.ajax.calldecorator.AjaxCallDecorator;
-import org.apache.wicket.ajax.markup.html.AjaxLink;
-import org.apache.wicket.ajax.markup.html.form.AjaxButton;
-import org.apache.wicket.behavior.AttributeAppender;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.markup.html.form.IChoiceRenderer;
-import org.apache.wicket.markup.html.form.ListMultipleChoice;
-import org.apache.wicket.markup.html.form.TextArea;
-import org.apache.wicket.markup.html.form.TextField;
-import org.apache.wicket.markup.html.link.ExternalLink;
-import org.apache.wicket.markup.html.list.ListItem;
-import org.apache.wicket.markup.html.list.ListView;
-import org.apache.wicket.markup.html.list.PageableListView;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.model.CompoundPropertyModel;
-import org.apache.wicket.model.Model;
-import org.apache.wicket.model.util.ListModel;
-import org.apache.wicket.spring.injection.annot.SpringBean;
-import org.apache.wicket.validation.validator.UrlValidator;
-import org.odlabs.wiquery.ui.dialog.Dialog;
-
-import se.su.dsv.scipro.SciProSession;
-import se.su.dsv.scipro.commentthread.panels.CommentThreadPanel;
-import se.su.dsv.scipro.components.FormFeedbackPanel;
-import se.su.dsv.scipro.data.dao.interfaces.CategoryDao;
-import se.su.dsv.scipro.data.dao.interfaces.CommentThreadDao;
-import se.su.dsv.scipro.data.dao.interfaces.RatableDao;
-import se.su.dsv.scipro.data.dao.interfaces.RatingDao;
-import se.su.dsv.scipro.data.dao.interfaces.ResourceDao;
-import se.su.dsv.scipro.data.dao.interfaces.TagDao;
-import se.su.dsv.scipro.data.dao.interfaces.UserDao;
-import se.su.dsv.scipro.data.dataobjects.Category;
-import se.su.dsv.scipro.data.dataobjects.CommentThread;
-import se.su.dsv.scipro.data.dataobjects.Rating;
-import se.su.dsv.scipro.data.dataobjects.Recipient;
-import se.su.dsv.scipro.data.dataobjects.Resource;
-import se.su.dsv.scipro.data.dataobjects.Tag;
-import se.su.dsv.scipro.data.enums.RatingValue;
-import se.su.dsv.scipro.data.enums.ResourceType;
-import se.su.dsv.scipro.knol.resource.model.ResourceModel;
-import se.su.dsv.scipro.knol.resource.page.BookmarkableCategoryResourcePage;
-import se.su.dsv.scipro.knol.resource.page.BookmarkableResourcePage;
-import se.su.dsv.scipro.knol.resource.page.BookmarkableTagResourcePage;
-import se.su.dsv.scipro.knol.resource.page.HtmlWebMarkupContainer;
-import se.su.dsv.scipro.knol.resource.page.ResourcePage;
-import se.su.dsv.scipro.knol.resource.page.StaticImage;
-import se.su.dsv.scipro.message.panels.CustomPagingNavigator;
-import se.su.dsv.scipro.security.auth.MetaDataActionStrategy;
-import se.su.dsv.scipro.security.auth.roles.Roles;
-import se.su.dsv.scipro.util.DateFormatter;
-
-/**
- * @author Johan Aschan - aschan@dsv.su.se
- * 
- */
-public class ResourceListPanel extends Panel {
-
-	private static final long serialVersionUID = 1L;
-
-	@SpringBean
-	private RatingDao ratingDao;
-
-	@SpringBean
-	private UserDao userDao;
-
-	@SpringBean
-	private TagDao tagDao;
-
-	@SpringBean
-	private ResourceDao resourceDao;
-
-	@SpringBean
-	private CommentThreadDao commentThreadDao;
-	
-	@SpringBean
-	private CategoryDao categoryDao;
-
-	@SpringBean
-	private RatableDao ratableDao;
-
-	private WebMarkupContainer listContainer;
-
-	private PageableListView<Resource> linkListView;
-
-	private WebMarkupContainer linkDialogContainer, embedDialogContainer,
-			editLinkDialogContainer, editEmbedDialogContainer;
-	private Dialog linkDialog, embedDialog, editLinkDialog, editEmbedDialog;
-
-	private int point;
-	private CustomPagingNavigator pagingNavigator;
-	private Resource editResource;
-	private TextField<String> linkAddress;
-	private TextField<String> linkName;
-	private TextField<String> linkNameEmbed;
-	private TextArea<String> info;
-	private TextArea<String> infoEmbed;
-	private EditLinkResourceForm editLinkResourceForm;
-	private EditEmbedResourceForm editEmbedResourceForm;
-	private TextArea<String> embedTextArea;
-	private List<Resource> resourcesList;
-	private ResourceType resourceType;
-	private ListMultipleChoice<Category> linkEditCategorySelectList, embedEditCategorySelectList;
-
-	public ResourceListPanel(String id, List<Resource> resourceList,
-			ResourceType resourceType) {
-		super(id);
-		this.resourceType = resourceType;
-		this.resourcesList = resourceList;
-		listContainer = new WebMarkupContainer("listContainer");
-		loadListView(resourceList);
-		listContainer.add(linkListView);
-		listContainer.setOutputMarkupId(true);
-		listContainer.add(pagingNavigator = new CustomPagingNavigator(
-				"navigator", linkListView) {
-
-					private static final long serialVersionUID = 1L;
-
-			@Override
-			public boolean isVisible() {
-				return linkListView.size() > 0;
-			}
-		});
-
-		add(listContainer);
-		editLinkDialogContainer = new WebMarkupContainer(
-				"editLinkDialogContainer");
-		editLinkDialog = new Dialog("editLinkDialog");
-		editLinkDialog.setModal(true);
-		editLinkDialog.setAutoOpen(false);
-		editLinkDialog.setWidth(470);
-		editLinkDialog.add(editLinkDialogContainer);
-		editLinkDialogContainer.setOutputMarkupId(true);
-		editLinkDialogContainer
-				.add(editLinkResourceForm = new EditLinkResourceForm(
-						"editLinkResourceForm"));
-		add(editLinkDialog);
-
-		editEmbedDialogContainer = new WebMarkupContainer(
-				"editEmbedDialogContainer");
-		editEmbedDialog = new Dialog("editEmbedDialog");
-		editEmbedDialog.setModal(true);
-		editEmbedDialog.setAutoOpen(false);
-		editEmbedDialog.setWidth(470);
-		editEmbedDialog.add(editEmbedDialogContainer);
-		editEmbedDialogContainer.setOutputMarkupId(true);
-		editEmbedDialogContainer
-				.add(editEmbedResourceForm = new EditEmbedResourceForm(
-						"editEmbedResourceForm"));
-		add(editEmbedDialog);
-
-	}
-
-	public void loadListView(List<Resource> resourceList) {
-		if (resourceList == null) {
-			resourceList = resourceDao.findAll();
-		}
-		listContainer.removeAll();
-		Collections.sort(resourceList, new Comparator<Resource>() {
-			@Override
-			public int compare(Resource o1, Resource o2) {
-				return Integer.valueOf(ratableDao.getRating(o2)).compareTo(
-						Integer.valueOf(ratableDao.getRating(o1)));
-			}
-		});
-		linkListView = new PageableListView<Resource>("link-item",
-				resourceList, 20) {
-
-
-					private static final long serialVersionUID = 1L;
-
-			@Override
-			protected void populateItem(final ListItem<Resource> item) {
-				final Resource resource = resourceDao.reLoad(item
-						.getModelObject());
-
-				item.add(new DateFormatter(DateFormatter.FORMAT.EXTENDED).createFormattedDateLabel("date", resource.getDateCreated()));
-				item.add(new Label("user", resource.getCreator().getFirstName()
-						+ " " + resource.getCreator().getLastName()));
-				new AddRateButton(item);
-				if (resource.getHeading() == null) {
-					item.add(new ExternalLink("link", resource.getLink(),
-							resource.getLink()) {
-						/**
-								 * 
-								 */
-								private static final long serialVersionUID = 1L;
-
-						@Override
-						public boolean isVisible() {
-							return resource.getEmbedCode() == null;
-						}
-					});
-				} else {
-					item.add(new ExternalLink("link", resource.getLink(),
-							resource.getHeading()) {
-						/**
-								 * 
-								 */
-								private static final long serialVersionUID = 1L;
-
-						@Override
-						public boolean isVisible() {
-							return resource.getEmbedCode() == null;
-						}
-					});
-				}
-				item.add(new Label("heading", resource.getHeading()) {
-					/**
-					 * 
-					 */
-					private static final long serialVersionUID = 1L;
-
-					@Override
-					public boolean isVisible() {
-						return resource.getEmbedCode() != null;
-					}
-				});
-				item.add(new ExternalLink("linkAddress", resource.getLink(),
-						resource.getLink()) {
-					/**
-							 * 
-							 */
-							private static final long serialVersionUID = 1L;
-
-					@Override
-					public boolean isVisible() {
-						return resource.getEmbedCode() == null;
-					}
-				});
-
-				item.add(new Label("info", resource.getInfo()));
-				String tags = "";
-
-				int count = 0;
-				for (Tag tag : resource.getTagList()) {
-					if (count == 0) {
-						tags = tag.getTag();
-						count++;
-					} else {
-						tags += ", " + tag.getTag();
-					}
-				}
-
-				final int commentSize;
-				/*
-				 * TODO Needs rewrite, 
-				 */
-				CommentThread commentThread = commentThreadDao.getCommentThread(resource);
-				if(commentThread == null)
-					commentSize = 0;
-				else
-					commentSize = commentThread.getComments().size(); //TODO Implement with query instead
-				/*
-				if (commentThreadDao.getCommentThreadByClassAndId(resource
-						.getClass().getCanonicalName(), resource.getId()) == null) {
-					commentSize = 0;
-				} else {
-					commentSize = commentThreadDao
-							.getCommentThreadByClassAndId(
-									resource.getClass().getCanonicalName(),
-									resource.getId()).getComments().size();
-				}
-				*/
-
-				item.add(new ListView<Category>("category-item", resource.getCategoryList()) {
-
-					/**
-					 * 
-					 */
-					private static final long serialVersionUID = 1L;
-
-					@Override
-					protected void populateItem(final ListItem<Category> item) {
-						final Category category = item.getModelObject();
-						List<Category> categoryList = new ArrayList<Category>();
-						categoryList.add(category);
-						item.add(BookmarkableCategoryResourcePage
-								.getBookmarkablePageLink("tag", categoryList).add(
-										new Label("tagName", category.getCategoryName())));
-
-					}
-
-				});
-				item.add(new ListView<Tag>("tag-item", resource.getTagList()) {
-
-					/**
-					 * 
-					 */
-					private static final long serialVersionUID = 1L;
-
-					@Override
-					protected void populateItem(final ListItem<Tag> item) {
-						final Tag tag = item.getModelObject();
-						List<Tag> tagList = new ArrayList<Tag>();
-						tagList.add(tag);
-						item.add(BookmarkableTagResourcePage
-								.getBookmarkablePageLink("tag", tagList).add(
-										new Label("tagName", tag.getTag())));
-
-					}
-
-				});
-
-				item.add(BookmarkableResourcePage.getBookmarkablePageLink(
-						"bookmark", resource));
-				String comments = " Comments";
-				if (commentSize == 1) {
-					comments = " Comment";
-				}
-				final Label comment = new Label("commentNumber", commentSize
-						+ comments);
-
-				comment.setOutputMarkupId(true);
-				final WebMarkupContainer webMarkupContainer = new WebMarkupContainer("container");
-				webMarkupContainer.setOutputMarkupPlaceholderTag(true);	
-				item.add(webMarkupContainer);
-				
-				CommentThreadPanel ctp = new CommentThreadPanel("commentThread", resource, 5);
-				ctp.setOutputMarkupPlaceholderTag(true);
-				webMarkupContainer.add(ctp);
-				
-				webMarkupContainer.setVisible(false);
-				
-				item.add(new AjaxLink<String>("showComments",
-						new Model<String>("Show Comments")) {
-
-					/**
-							 * 
-							 */
-							private static final long serialVersionUID = 1L;
-					private boolean clicked = false;
-
-					@Override
-					public void onClick(AjaxRequestTarget target) {
-						clicked = !clicked;
-						if (clicked) {
-							comment.setDefaultModelObject("Hide comments");
-						} else {
-							
-							CommentThread commentThread = commentThreadDao.getCommentThread(resourceDao.reLoad(resource));
-							int commentSize = 0; 
-							if(commentThread != null)
-								commentSize = commentThread.getComments().size();
-
-							String comments = " Comments";
-							if (commentSize == 1) {
-								comments = " Comment";
-							}
-							comment.setDefaultModelObject(commentSize + comments);
-						}
-						webMarkupContainer.removeAll();
-						webMarkupContainer.add(new CommentThreadPanel("commentThread", resourceDao.reLoad(resource), 5));
-						webMarkupContainer.setVisible(clicked);
-						target.addComponent(webMarkupContainer);
-						target.addComponent(comment);
-					}
-
-				}.add(comment));
-				item.add(new AjaxLink<Void>("deleteResource") {
-
-					/**
-					 * 
-					 */
-					private static final long serialVersionUID = 1L;
-					@Override
-					public void onClick(AjaxRequestTarget target) {
-						Resource link2 = resourceDao.reLoad(resource);
-						resourceDao.delete(link2);
-						if (resourceType.equals(ResourceType.TAGVIEW)) {
-							resourcesList.remove(link2);
-							loadListView(resourcesList);
-						} else {
-							setResponsePage(ResourcePage.class);
-						}
-						listContainer.removeAll();
-						listContainer.add(pagingNavigator);
-						listContainer.add(linkListView);
-						target.addComponent(listContainer);
-
-					}
-
-					@Override
-					public boolean isVisible() {
-						Resource link2 = resourceDao.reLoad(resource);
-						if (link2.getCreator().equals(
-								userDao.load(SciProSession.get().getUser()
-										.getId()))) {
-							return true;
-
-						} else {
-							MetaDataActionStrategy.authorize(this, Roles.ADMIN,
-									true);
-							return true;
-						}
-					}
-			        @Override
-			        protected IAjaxCallDecorator getAjaxCallDecorator() {
-			            return new AjaxCallDecorator() {
-			                private static final long serialVersionUID = 8989126586010432130L;
-
-			                /* (non-Javadoc)
-			                 * @see org.apache.wicket.ajax.calldecorator.AjaxCallDecorator#decorateScript(java.lang.CharSequence)
-			                 */
-			                @Override
-			                public CharSequence decorateScript(CharSequence script) {
-			                    String ret = "if(!confirm('Do you really want to delete?')) return false; " + script;
-			                    return ret;
-			                }
-			            };
-			        }
-
-				});
-
-				item.add(new AjaxLink<Recipient>("editResource") {
-
-					/**
-					 * 
-					 */
-					private static final long serialVersionUID = 1L;
-
-					@Override
-					public void onClick(AjaxRequestTarget target) {
-						editResource = resourceDao.reLoad(resource);
-						if (resource.getEmbedCode() == null) {
-							info.setDefaultModelObject(editResource.getInfo());
-							editLinkResourceForm.loadTagView(editResource);
-							linkEditCategorySelectList.setDefaultModelObject(editResource.getCategoryList());
-							linkAddress.setDefaultModelObject(editResource
-									.getLink());
-							linkName.setDefaultModelObject(editResource
-									.getHeading());
-							target.addComponent(editLinkDialog);
-							editLinkDialog.open(target);
-						} else {
-							linkNameEmbed.setDefaultModelObject(editResource
-									.getHeading());
-							infoEmbed.setDefaultModelObject(editResource
-									.getInfo());
-							embedEditCategorySelectList.setDefaultModelObject(editResource.getCategoryList());
-							editEmbedResourceForm.loadTagView(editResource);
-							embedTextArea.setDefaultModelObject(editResource
-									.getEmbedCode());
-							target.addComponent(editEmbedDialog);
-							editEmbedDialog.open(target);
-						}
-					}
-
-					@Override
-					public boolean isVisible() {
-						Resource link2 = resourceDao.reLoad(resource);
-						if (link2.getCreator().equals(
-								userDao.load(SciProSession.get().getUser()
-										.getId()))) {
-							return true;
-
-						} else {
-							MetaDataActionStrategy.authorize(this, Roles.ADMIN,
-									true);
-							return true;
-						}
-					}
-
-				});
-				item.add(new HtmlWebMarkupContainer("embedCode", resource
-						.getEmbedCode()) {
-					/**
-							 * 
-							 */
-							private static final long serialVersionUID = 1L;
-
-					@Override
-					public boolean isVisible() {
-						return resource.getEmbedCode() != null;
-					}
-
-				});
-			};
-
-		};
-
-		listContainer.add(linkListView);
-
-		if (pagingNavigator != null) {
-			listContainer.add(pagingNavigator);
-		}
-	}
-
-	private class AddRateButton implements IClusterable {
-
-		/**
-		 * 
-		 */
-		private static final long serialVersionUID = 1L;
-		private AjaxLink<String> ajaxLinkUp, ajaxLinkDown;
-
-		public AddRateButton(ListItem<Resource> item) {
-			super();
-			addRateButton(item);
-		}
-
-		public void addRateButton(final ListItem<Resource> item) {
-
-			final Resource resource = item.getModelObject();
-
-			final StaticImage upArrowIcon;
-			final StaticImage upArrowGlowIcon;
-			final StaticImage downArrowIcon;
-			final StaticImage downArrowGlowIcon;
-			if (!resourceType.equals(ResourceType.NORMAL)) {
-				upArrowIcon = new StaticImage("upLinkIcon", new Model<String>(
-						"../../../images/icons/arrow-up.png"));
-				upArrowIcon.add(new AttributeAppender("class",
-						new Model<String>("icon-32"), " "));
-				upArrowIcon.add(new AttributeAppender("alt", new Model<String>(
-						"up"), " "));
-				upArrowGlowIcon = new StaticImage("upLinkIcon",
-						new Model<String>(
-								"../../../images/icons/arrow-up-glow.png"));
-				upArrowGlowIcon.add(new AttributeAppender("class",
-						new Model<String>("icon-32"), " "));
-				upArrowGlowIcon.add(new AttributeAppender("alt",
-						new Model<String>("up"), " "));
-				downArrowIcon = new StaticImage("downLinkIcon",
-						new Model<String>("../../../images/icons/arrow-down.png"));
-				downArrowIcon.add(new AttributeAppender("class",
-						new Model<String>("icon-32"), " "));
-				downArrowIcon.add(new AttributeAppender("alt",
-						new Model<String>("down"), " "));
-				downArrowGlowIcon = new StaticImage("downLinkIcon",
-						new Model<String>(
-								"../../../images/icons/arrow-down-glow.png"));
-				downArrowGlowIcon.add(new AttributeAppender("class",
-						new Model<String>("icon-32"), " "));
-				downArrowGlowIcon.add(new AttributeAppender("alt",
-						new Model<String>("down"), " "));
-			} else {
-				upArrowIcon = new StaticImage("upLinkIcon", new Model<String>(
-						"images/icons/arrow-up.png"));
-				upArrowIcon.add(new AttributeAppender("class",
-						new Model<String>("icon-32"), " "));
-				upArrowIcon.add(new AttributeAppender("alt", new Model<String>(
-						"up"), " "));
-				upArrowGlowIcon = new StaticImage("upLinkIcon",
-						new Model<String>("images/icons/arrow-up-glow.png"));
-				upArrowGlowIcon.add(new AttributeAppender("class",
-						new Model<String>("icon-32"), " "));
-				upArrowGlowIcon.add(new AttributeAppender("alt",
-						new Model<String>("up"), " "));
-				downArrowIcon = new StaticImage("downLinkIcon",
-						new Model<String>("images/icons/arrow-down.png"));
-				downArrowIcon.add(new AttributeAppender("class",
-						new Model<String>("icon-32"), " "));
-				downArrowIcon.add(new AttributeAppender("alt",
-						new Model<String>("down"), " "));
-				downArrowGlowIcon = new StaticImage("downLinkIcon",
-						new Model<String>("images/icons/arrow-down-glow.png"));
-				downArrowGlowIcon.add(new AttributeAppender("class",
-						new Model<String>("icon-32"), " "));
-				downArrowGlowIcon.add(new AttributeAppender("alt",
-						new Model<String>("down"), " "));
-			}
-
-			final Label pointLabel;
-			item.add(pointLabel = new Label("rate", ratableDao
-					.getRating(resource) + ""));
-			pointLabel.setOutputMarkupId(true);
-			ajaxLinkUp = new AjaxLink<String>("upLink", new Model<String>("Up")) {
-
-				/**
-				 * 
-				 */
-				private static final long serialVersionUID = 1L;
-
-				@Override
-				public void onClick(AjaxRequestTarget target) {
-					Resource resourc = resourceDao.reLoad(resource);
-					List<Rating> ratingList = resourc.getRatingList();
-					boolean rated = false;
-					Rating rating = null;
-					for (Rating r : ratingList) {
-						if (r.getUser().equals(SciProSession.get().getUser())) {
-							rating = r;
-							rated = true;
-							break;
-						}
-					}
-
-					if (rating == null) {
-						rating = new Rating();
-						rating.setUser(SciProSession.get().getUser());
-					}
-					removeAll();
-					if (rated && rating.getRatingValue() == RatingValue.UP) {
-						ratingList.remove(rating);
-						resource.setRatingList(ratingList);
-						resourceDao.save(resource);
-						rating = ratingDao.reLoad(rating);
-						ratingDao.delete(rating);
-						add(upArrowIcon);
-					} else {
-						resource.setRatingList(ratingList);
-						rating.setRatingValue(RatingValue.UP);
-						rating = ratingDao.save(rating);
-						ratingList.add(rating);
-						ajaxLinkDown.removeAll();
-						ajaxLinkDown.add(downArrowIcon);
-						add(upArrowGlowIcon);
-
-					}
-					resourc = resourceDao.save(resourc);
-					point = ratableDao.getRating(resourc);
-					target.addComponent(this);
-					target.addComponent(ajaxLinkDown);
-					pointLabel.setDefaultModelObject(point);
-					target.addComponent(pointLabel);
-				}
-
-			};
-			if (isRated(RatingValue.UP, resource))
-				ajaxLinkUp.add(upArrowGlowIcon);
-			else
-				ajaxLinkUp.add(upArrowIcon);
-
-			item.add(ajaxLinkUp);
-			ajaxLinkUp.setOutputMarkupId(true);
-
-			ajaxLinkDown = new AjaxLink<String>("downLink", new Model<String>(
-					"Down")) {
-
-				/**
-						 * 
-						 */
-						private static final long serialVersionUID = 1L;
-
-				@Override
-				public void onClick(AjaxRequestTarget target) {
-					Resource resourc = resourceDao.reLoad(resource);
-					List<Rating> ratingList = resourc.getRatingList();
-					boolean rated = false;
-					Rating rating = null;
-					for (Rating r : ratingList) {
-						if (r.getUser().equals(SciProSession.get().getUser())) {
-							rating = r;
-							rated = true;
-							break;
-						}
-					}
-					if (rating == null) {
-						rating = new Rating();
-						rating.setUser(SciProSession.get().getUser());
-					}
-					this.removeAll();
-					if (rated && rating.getRatingValue() == RatingValue.DOWN) {
-						ratingList.remove(rating);
-						resource.setRatingList(ratingList);
-						resourceDao.save(resourc);
-						rating = ratingDao.reLoad(rating);
-						ratingDao.delete(rating);
-						add(downArrowIcon);
-
-					} else {
-						rating.setRatingValue(RatingValue.DOWN);
-						rating = ratingDao.save(rating);
-						ratingList.add(rating);
-						add(downArrowGlowIcon);
-						ajaxLinkUp.removeAll();
-						ajaxLinkUp.add(upArrowIcon);
-					}
-
-					resourc = resourceDao.save(resourc);
-					point = ratableDao.getRating(resourc);
-					pointLabel.setDefaultModelObject(point);
-					target.addComponent(pointLabel);
-					target.addComponent(this);
-					target.addComponent(ajaxLinkUp);
-				}
-			};
-			ajaxLinkDown.setOutputMarkupId(true);
-			if (isRated(RatingValue.DOWN, resource))
-				ajaxLinkDown.add(downArrowGlowIcon);
-
-			else
-				ajaxLinkDown.add(downArrowIcon);
-			item.add(ajaxLinkDown);
-
-		}
-
-		public boolean isRated(RatingValue ratingValue, Resource resource) {
-			for (Rating r : resource.getRatingList()) {
-				if (r.getUser().equals(SciProSession.get().getUser())) {
-					if (r.getRatingValue().equals(ratingValue)) {
-						return true;
-					}
-					return false;
-
-				}
-			}
-			return false;
-		}
-	}
-
-	private class EditLinkResourceForm extends Form<ResourceModel> {
-
-		/**
-		 * 
-		 */
-		private static final long serialVersionUID = 1L;
-		private ListView<Tag> tagListView;
-		private List<Tag> tagList;
-		private WebMarkupContainer tagListContainer;
-
-		public EditLinkResourceForm(String name) {
-			super(name, new CompoundPropertyModel<ResourceModel>(
-					new ResourceModel()));
-			final WebMarkupContainer feedbackContainer = new WebMarkupContainer(
-					"feedbackContainer");
-			feedbackContainer.setOutputMarkupId(true);
-			WebMarkupContainer feedbackPanel = new FormFeedbackPanel<ResourceModel>(
-					"feedbackPanel", this);
-			feedbackContainer.add(feedbackPanel);
-			add(feedbackContainer);
-			loadTagView(editResource);
-			tagListContainer = new WebMarkupContainer("tagListContainer");
-			tagListContainer.setOutputMarkupId(true);
-			add(tagListContainer);
-			tagListContainer.add(tagListView);
-			editLinkDialog.setTitle("Edit Link Resource");
-			UrlValidator urlValidator = new UrlValidator();
-			linkAddress = new TextField<String>("link");
-			linkAddress.add(urlValidator);
-
-			final TextField<String> tags = new TextField<String>("tags");
-			linkAddress.setRequired(true);
-			
-			add(linkName = new TextField<String>("linkName"));
-			add(linkAddress);
-			linkName.setRequired(true);
-			add(info = new TextArea<String>("info"));
-			info.setRequired(true);
-			add(tags);
-			
-			IChoiceRenderer<Category> choiceRenderer = new IChoiceRenderer<Category>() {
-
-				/**
-				 * 
-				 */
-				private static final long serialVersionUID = 1L;
-
-				// Implement dispay here
-				public Object getDisplayValue(Category category) {
-					return category.getCategoryName();
-				}
-
-				@Override
-				public String getIdValue(Category category, int arg1) {
-					return category.getId().toString();
-				}
-
-			};
-
-			linkEditCategorySelectList = new ListMultipleChoice<Category>(
-					"selectedCategoryCollection", new ListModel<Category>(
-							categoryDao.findAll()), choiceRenderer) {
-				private static final long serialVersionUID = -7117603450416845711L;
-
-			};
-
-			linkEditCategorySelectList.setRequired(true);
-			linkEditCategorySelectList.setOutputMarkupId(true);
-			add(linkEditCategorySelectList);
-
-			add(new AjaxButton("submitButton", new Model<String>(
-					"Save Resource")) {
-
-				/**
-						 * 
-						 */
-						private static final long serialVersionUID = 1L;
-
-				@Override
-				protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
-					editResource = resourceDao.reLoad(editResource);
-					Resource link = editResource;
-					ResourceModel resourceModel = ((ResourceModel) form
-							.getModelObject());
-
-					String tags = resourceModel.getTags();
-					if (tags != null) {
-						StringTokenizer stringTokenizer = new StringTokenizer(
-								tags, ",");
-
-						while (stringTokenizer.hasMoreTokens()) {
-							String tagString = stringTokenizer.nextToken()
-									.trim();
-							if (null != tagDao.findExactTagQuery(tagString)) {
-								if (!tagList.contains(tagDao
-										.findExactTagQuery(tagString))) {
-									tagList.add(tagDao
-											.findExactTagQuery(tagString));
-								}
-							} else if (!tagString.equals("")) {
-								Tag tag = new Tag();
-								tagString = tagString.toLowerCase();
-								tag.setTag(tagString);
-
-								tag = tagDao.save(tag);
-								tagList.add(tag);
-							}
-
-						}
-					}
-
-					link.setInfo(resourceModel.getInfo());
-					link.setLink(resourceModel.getLink());
-					link.setCreator(SciProSession.get().getUser());
-					link.setCategoryList(new ArrayList<Category>(resourceModel.getSelectedCategoryCollection()));
-					link.setTagList(tagList);
-					link.setLastModified(new Date());
-					if (resourceModel.getLinkName() != null) {
-						link.setHeading(resourceModel.getLinkName());
-					}
-					resourceDao.save(link);
-
-					resourceModel.setLink("");
-					resourceModel.setLinkName("");
-					resourceModel.setTags("");
-					resourceModel.setInfo("");
-
-					if (!resourceType.equals(ResourceType.NORMAL)) {
-						loadListView(resourcesList);
-					} else {
-						loadListView(resourceDao.findAll());
-					}
-
-					target.addComponent(listContainer);
-					editLinkDialog.close(target);
-				}
-
-				@Override
-				protected void onError(final AjaxRequestTarget target,
-						final Form<?> form) {
-					target.addComponent(feedbackContainer);
-				}
-			});
-
-		}
-
-		public void loadTagView(final Resource resource) {
-			final Resource resource2 = resourceDao.reLoad(resource);
-			tagList = new ArrayList<Tag>();
-
-			if (resource2 != null) {
-				tagList = resource2.getTagList();
-				tagListContainer.remove(tagListView);
-			}
-
-			tagListView = new ListView<Tag>("tag-item", tagList) {
-
-				/**
-				 * 
-				 */
-				private static final long serialVersionUID = 1L;
-
-				@Override
-				protected void populateItem(final ListItem<Tag> item) {
-					final Tag tag = item.getModelObject();
-					final WebMarkupContainer tagContainer = new WebMarkupContainer(
-							"tagContainer");
-					tagContainer.setOutputMarkupId(true);
-					final Label label;
-					tagContainer.add(label = new Label("tag", tag.getTag()));
-					label.setOutputMarkupId(true);
-
-					final AjaxLink<Void> deleteLink;
-					tagContainer
-							.add(deleteLink = new AjaxLink<Void>("deleteTag") {
-
-								/**
-								 * 
-								 */
-								private static final long serialVersionUID = 1L;
-								@Override
-								public void onClick(AjaxRequestTarget target) {
-									tagList.remove(tag);
-									target.addComponent(tagListContainer);
-								}
-						        @Override
-						        protected IAjaxCallDecorator getAjaxCallDecorator() {
-						            return new AjaxCallDecorator() {
-						                private static final long serialVersionUID = 8989126586010432130L;
-
-						                /* (non-Javadoc)
-						                 * @see org.apache.wicket.ajax.calldecorator.AjaxCallDecorator#decorateScript(java.lang.CharSequence)
-						                 */
-						                @Override
-						                public CharSequence decorateScript(CharSequence script) {
-						                    String ret = "if(!confirm('Do you really want to delete?')) return false; " + script;
-						                    return ret;
-						                }
-						            };
-						        }
-							});
-					deleteLink.setOutputMarkupId(true);
-					item.add(tagContainer);
-				}
-			};
-			if (resource2 != null) {
-				tagListContainer.add(tagListView);
-			}
-
-		}
-	}
-
-	private class EditEmbedResourceForm extends Form<ResourceModel> {
-
-		/**
-		 * 
-		 */
-		private static final long serialVersionUID = 1L;
-		private ListView<Tag> tagListView;
-		private List<Tag> tagList;
-		private WebMarkupContainer tagListContainer;
-
-		public EditEmbedResourceForm(String name) {
-			super(name, new CompoundPropertyModel<ResourceModel>(
-					new ResourceModel()));
-			final WebMarkupContainer feedbackContainer = new WebMarkupContainer(
-					"feedbackContainer");
-			feedbackContainer.setOutputMarkupId(true);
-			WebMarkupContainer feedbackPanel = new FormFeedbackPanel<ResourceModel>(
-					"feedbackPanel", this);
-			feedbackContainer.add(feedbackPanel);
-			add(feedbackContainer);
-			loadTagView(editResource);
-			tagListContainer = new WebMarkupContainer("tagListContainerEmbed");
-			tagListContainer.setOutputMarkupId(true);
-			add(tagListContainer);
-			tagListContainer.add(tagListView);
-			editEmbedDialog.setTitle("Edit Embed Resource");
-			add(linkNameEmbed = new TextField<String>("linkName"));
-			linkNameEmbed.setRequired(true);
-			add(embedTextArea = new TextArea<String>("embedCode"));
-			embedTextArea.setRequired(true);
-			add(infoEmbed = new TextArea<String>("info"));
-			infoEmbed.setRequired(true);
-			
-			IChoiceRenderer<Category> choiceRenderer = new IChoiceRenderer<Category>() {
-
-				/**
-				 * 
-				 */
-				private static final long serialVersionUID = 1L;
-
-				// Implement dispay here
-				public Object getDisplayValue(Category category) {
-					return category.getCategoryName();
-				}
-
-				@Override
-				public String getIdValue(Category category, int arg1) {
-					return category.getId().toString();
-				}
-
-			};
-
-			embedEditCategorySelectList = new ListMultipleChoice<Category>(
-					"selectedCategoryCollection", new ListModel<Category>(
-							categoryDao.findAll()), choiceRenderer) {
-				private static final long serialVersionUID = -7117603450416845711L;
-
-			};
-
-			embedEditCategorySelectList.setRequired(true);
-			embedEditCategorySelectList.setOutputMarkupId(true);
-			add(embedEditCategorySelectList);
-
-			final TextField<String> tags = new TextField<String>("tags");
-			add(tags);
-
-			add(new AjaxButton("submitButton", new Model<String>(
-					"Save Resource")) {
-
-				/**
-						 * 
-						 */
-						private static final long serialVersionUID = 1L;
-
-				@Override
-				protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
-					editResource = resourceDao.reLoad(editResource);
-					Resource link = editResource;
-					ResourceModel resourceModel = ((ResourceModel) form
-							.getModelObject());
-
-					String tags = resourceModel.getTags();
-					if (tags != null) {
-						StringTokenizer stringTokenizer = new StringTokenizer(
-								tags, ",");
-
-						while (stringTokenizer.hasMoreTokens()) {
-							String tagString = stringTokenizer.nextToken()
-									.trim();
-							if (null != tagDao.findExactTagQuery(tagString)) {
-								if (!tagList.contains(tagDao
-										.findExactTagQuery(tagString))) {
-									tagList.add(tagDao
-											.findExactTagQuery(tagString));
-								}
-							} else if (!tagString.equals("")) {
-								Tag tag = new Tag();
-								tagString = tagString.toLowerCase();
-								tag.setTag(tagString);
-
-								tag = tagDao.save(tag);
-								tagList.add(tag);
-							}
-
-						}
-					}
-					link.setCategoryList(new ArrayList<Category>(resourceModel.getSelectedCategoryCollection()));
-					link.setHeading(resourceModel.getLinkName());
-					link.setEmbedCode(resourceModel.getEmbedCode());
-					link.setInfo(resourceModel.getInfo());
-					link.setCreator(SciProSession.get().getUser());
-					link.setTagList(tagList);
-
-					link.setLastModified(new Date());
-					if (resourceModel.getLinkName() != null) {
-						link.setHeading(resourceModel.getLinkName());
-					}
-					resourceDao.save(link);
-
-					resourceModel.setLink("");
-					resourceModel.setLinkName("");
-					resourceModel.setTags("");
-					resourceModel.setInfo("");
-
-					if (!resourceType.equals(ResourceType.NORMAL)) {
-						loadListView(resourcesList);
-					} else {
-						loadListView(resourceDao.findAll());
-					}
-
-					target.addComponent(listContainer);
-					editEmbedDialog.close(target);
-				}
-
-				@Override
-				protected void onError(final AjaxRequestTarget target,
-						final Form<?> form) {
-					target.addComponent(feedbackContainer);
-				}
-			});
-
-		}
-
-		public void loadTagView(final Resource resource) {
-			final Resource resource2 = resourceDao.reLoad(resource);
-			tagList = new ArrayList<Tag>();
-
-			if (resource2 != null) {
-				tagList = resource2.getTagList();
-				tagListContainer.remove(tagListView);
-			}
-
-			tagListView = new ListView<Tag>("tag-embed-item", tagList) {
-
-				/**
-				 * 
-				 */
-				private static final long serialVersionUID = 1L;
-
-				@Override
-				protected void populateItem(final ListItem<Tag> item) {
-					final Tag tag = item.getModelObject();
-					final WebMarkupContainer tagContainer = new WebMarkupContainer(
-							"tagEmbedContainer");
-					tagContainer.setOutputMarkupId(true);
-					tagContainer.add(new Label("tagEmbed", tag.getTag()));
-					tagContainer.add(new AjaxLink<Void>("deleteTagEmbed") {
-
-						/**
-						 * 
-						 */
-						private static final long serialVersionUID = 1L;
-						@Override
-						public void onClick(AjaxRequestTarget target) {
-							tagList.remove(tag);
-							target.addComponent(tagListContainer);
-						}
-				        @Override
-				        protected IAjaxCallDecorator getAjaxCallDecorator() {
-				            return new AjaxCallDecorator() {
-				                private static final long serialVersionUID = 8989126586010432130L;
-
-				                /* (non-Javadoc)
-				                 * @see org.apache.wicket.ajax.calldecorator.AjaxCallDecorator#decorateScript(java.lang.CharSequence)
-				                 */
-				                @Override
-				                public CharSequence decorateScript(CharSequence script) {
-				                    String ret = "if(!confirm('Do you really want to delete?')) return false; " + script;
-				                    return ret;
-				                }
-				            };
-				        }
-					});
-					item.add(tagContainer);
-				}
-			};
-			if (resource2 != null) {
-				tagListContainer.add(tagListView);
-			}
-
-		}
-	}
-
-}
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceListPanel.properties b/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceListPanel.properties
deleted file mode 100644
index dcc105770c..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourceListPanel.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-editLinkDialog.editLinkDialogContainer.editLinkResourceForm.link=Link Address
-editLinkDialog.editLinkDialogContainer.editLinkResourceForm.linkName=Link Name
-editLinkDialog.editLinkDialogContainer.editLinkResourceForm.info=Info
-editLinkDialog.editLinkDialogContainer.editLinkResourceForm.tags=Tags
-editLinkDialog.editLinkDialogContainer.editLinkResourceForm.selectedCategoryCollection=Categories
-editEmbedDialog.editEmbedDialogContainer.editEmbedResourceForm.linkName=Heading
-editEmbedDialog.editEmbedDialogContainer.editEmbedResourceForm.embedCode=Embed Code
-editEmbedDialog.editEmbedDialogContainer.editEmbedResourceForm.info=Info
-editEmbedDialog.editEmbedDialogContainer.editEmbedResourceForm.tags=Tags
-editEmbedDialog.editEmbedDialogContainer.editEmbedResourceForm.selectedCategoryCollection=Categories
-Required='${label}' is required
\ No newline at end of file
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourcesPanel.html b/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourcesPanel.html
deleted file mode 100644
index 53444cecd4..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourcesPanel.html
+++ /dev/null
@@ -1,170 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
-<body>
-<wicket:panel>
-
-		
-			<h2>Resources</h2>
-			<div><a href="#" wicket:id="addLinkResource">Add Link Resource</a></div>
-			<div><a href="#" wicket:id="addEmbedResource">Add Embed Resource</a></div>
-			<div><a href="#" wicket:id="addCategories">Add Categories</a></div>
-			<div><a href="#" wicket:id="adminCategories">Edit Categories</a></div>
-			
-			<div wicket:id="container">
-			<div wicket:id="resourceListPanel"></div>
-			</div>
-			<div wicket:id="dialog">
-				<div wicket:id="dialogContainer">
-	       		<form wicket:id="resourceForm">
-	       			<div wicket:id="feedbackContainer" class ="span-8 last">
-	       				<div  wicket:id="feedbackPanel">
-	       				</div>
-					</div>
-					<div class ="span-6 last">
-						<strong>Link Name:</strong>
-					</div>
-					<div class ="span-6 last">
-						<input type="text" wicket:id="linkName" class ="span-6"/>
-					</div>
-					<div class ="span-6 last">
-						<strong>Link Address:</strong>
-					</div>
-					<div class ="span-6 last">
-						<input type="text" wicket:id="link" class ="span-6" />
-					</div>
-					<div class ="span-6 last">
-						<strong>Info:</strong>
-					</div>
-					<div class ="span-6 last">
-						<textarea  wicket:id="info" ></textarea>	
-					</div>
-					<div class ="span-6 last">
-						<strong>Categories:</strong>
-					</div>
-					<div class ="span-6 last">
-						<select wicket:id="selectedCategoryCollection" class ="span-8 last"></select>
-          			</div>
-					<div class ="span-6 last">
-						<strong>Tags:</strong>
-					</div>
-					<div class ="span-6 last">
-						Separate by comma.
-					</div>
-					<div class ="span-6 last">
-						<input type="text" wicket:id="tags" class ="span-6" />
-					</div>
-							<div class ="span-6 last"><input type="submit" wicket:id="submitButton"  /> </div>
-				</form>
-			</div>
-		</div>
-		<div wicket:id="embedDialog">
-				<div wicket:id="embedDialogContainer">
-	       		<form wicket:id="embedResourceForm">
-	       			<div wicket:id="feedbackContainer" class ="span-8 last">
-	       				<div  wicket:id="feedbackPanel"></div>
-					</div>
-					<div class ="span-6 last">
-						<strong>Heading:</strong>
-					</div>
-					<div class ="span-6 last">
-						<input type="text" wicket:id="linkName" class ="span-6"/>
-					</div>
-					<div class ="span-6 last">
-						<strong>Embed Code:</strong>
-					</div>
-					<div class ="span-8 last">
-						Disclaimer: no security checks at the moment.
-					</div>
-					<div class ="span-6 last">
-						<textarea  wicket:id="embedCode" ></textarea>
-					</div>
-					<div class ="span-6 last">
-						<strong>Info:</strong>
-					</div>
-					<div class ="span-6 last">
-						<textarea wicket:id="info" ></textarea>	
-					</div>
-					<div class ="span-6 last">
-						<strong>Categories:</strong>
-					</div>
-					<div class ="span-6 last">
-						<select wicket:id="selectedCategoryCollection" class ="span-8 last"></select>
-          			</div>
-					<div class ="span-6 last">
-						<strong>Tags:</strong>
-					</div>
-					<div class ="span-6 last">
-						Separate by comma.
-					</div>
-					<div class ="span-6 last">
-						<input type="text" wicket:id="tags" class ="span-6" />
-					</div>
-							<div class ="span-6 last"><input type="submit" wicket:id="submitButton"  /> </div>
-				</form>
-			</div>
-		</div>
-		
-		<div wicket:id="adminCategoriesDialog">
-				<div wicket:id="adminCategoriesContainer">
-	       		<form wicket:id="adminCategoriesForm">
-	       			<div wicket:id="feedbackContainer" class ="span-8 last">
-	       				<div  wicket:id="feedbackPanel"></div>
-					</div>
-					<div class ="span-6 last">
-						<strong>Categories:</strong>
-					</div>
-					<div class ="span-8 last">
-						<select wicket:id="selectedCategory" class ="span-8 last"></select>
-          			</div>
-          			<div class ="span-6 last">
-						<strong>Category Name:</strong>
-					</div>
-					<div class ="span-6 last">
-						<input type="text" wicket:id="categoryName" class ="span-6" />
-					</div>
-					<div>
-
-					</div>
-							<div class ="span-6 last">			
-								<input type="submit" wicket:id="editButton"  /> 
-								<input type="submit" wicket:id="deleteCategory"  /> 
-							</div>
-							<div class ="span-6 last">	
-								<input type="submit" wicket:id="closeButton"  /> 
-							</div>
-				</form>
-			</div>
-		</div>
-		
-				<div wicket:id="addCategoriesDialog">
-				<div wicket:id="addCategoriesContainer">
-	       		<form wicket:id="addCategoriesForm">
-	       			<div wicket:id="feedbackContainer" class ="span-8 last">
-	       				<div  wicket:id="feedbackPanel"></div>
-					</div>
-					<div class ="span-6 last">
-						<strong>Categories:</strong>
-					</div>
-					<div class ="span-8 last">
-						<select wicket:id="selectedCategory" class ="span-8 last"></select>
-          			</div>
-          			<div class ="span-6 last">
-						<strong>Category Name:</strong>
-					</div>
-					<div class ="span-6 last">
-						<input type="text" wicket:id="categoryName" class ="span-6" />
-					</div>
-
-					<div class ="span-6 last"><input type="submit" wicket:id="addButton"  /> 
-					</div>
-					<div class ="span-6 last">
-					<input type="submit" wicket:id="closeButton"  /> 
-					</div>
-				</form>
-			</div>
-		</div>
-		
-</wicket:panel>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourcesPanel.java b/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourcesPanel.java
deleted file mode 100644
index 02a0fbeb6d..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourcesPanel.java
+++ /dev/null
@@ -1,749 +0,0 @@
-/**
- * 
- */
-package se.su.dsv.scipro.knol.resource.panels;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.IAjaxCallDecorator;
-import org.apache.wicket.ajax.calldecorator.AjaxCallDecorator;
-import org.apache.wicket.ajax.form.OnChangeAjaxBehavior;
-import org.apache.wicket.ajax.markup.html.AjaxLink;
-import org.apache.wicket.ajax.markup.html.form.AjaxButton;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.markup.html.form.IChoiceRenderer;
-import org.apache.wicket.markup.html.form.ListChoice;
-import org.apache.wicket.markup.html.form.ListMultipleChoice;
-import org.apache.wicket.markup.html.form.TextArea;
-import org.apache.wicket.markup.html.form.TextField;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.model.CompoundPropertyModel;
-import org.apache.wicket.model.Model;
-import org.apache.wicket.model.util.ListModel;
-import org.apache.wicket.spring.injection.annot.SpringBean;
-import org.apache.wicket.validation.validator.UrlValidator;
-import org.odlabs.wiquery.core.javascript.JsScopeContext;
-import org.odlabs.wiquery.ui.core.JsScopeUiEvent;
-import org.odlabs.wiquery.ui.dialog.Dialog;
-
-import se.su.dsv.scipro.SciProSession;
-import se.su.dsv.scipro.components.FormFeedbackPanel;
-import se.su.dsv.scipro.data.dao.interfaces.CategoryDao;
-import se.su.dsv.scipro.data.dao.interfaces.ResourceDao;
-import se.su.dsv.scipro.data.dao.interfaces.TagDao;
-import se.su.dsv.scipro.data.dataobjects.Category;
-import se.su.dsv.scipro.data.dataobjects.Resource;
-import se.su.dsv.scipro.data.dataobjects.Tag;
-import se.su.dsv.scipro.data.enums.ResourceType;
-import se.su.dsv.scipro.knol.resource.model.CategoryModel;
-import se.su.dsv.scipro.knol.resource.model.ResourceModel;
-import se.su.dsv.scipro.knol.resource.page.ResourcePage;
-import se.su.dsv.scipro.security.auth.MetaDataActionStrategy;
-import se.su.dsv.scipro.security.auth.roles.Roles;
-
-/**
- * @author Johan Aschan - aschan@dsv.su.se
- * 
- */
-public class ResourcesPanel extends Panel {
-
-	private static final long serialVersionUID = 1L;
-
-	@SpringBean
-	private TagDao tagDao;
-
-	@SpringBean
-	private ResourceDao resourceDao;
-
-	@SpringBean
-	private CategoryDao categoryDao;
-
-	private WebMarkupContainer linkDialogContainer, embedDialogContainer,
-			editCategoriesContainer, container, addCategoriesContainer;
-	private Dialog linkDialog, embedDialog, editCategoriesDialog,
-			addCategoriesDialog;
-
-	private TextField<String> linkNameEmbed;
-	private ResourceListPanel resourceListPanel;
-
-	public ResourcesPanel(String id) {
-		super(id);
-		container = new WebMarkupContainer("container");
-		container.setOutputMarkupId(true);
-		container
-				.add(resourceListPanel = new ResourceListPanel(
-						"resourceListPanel", resourceDao.findAll(),
-						ResourceType.NORMAL));
-		add(container);
-		resourceListPanel.setOutputMarkupId(true);
-		linkDialogContainer = new WebMarkupContainer("dialogContainer");
-		linkDialog = new Dialog("dialog");
-		linkDialog.setModal(true);
-		linkDialog.setAutoOpen(false);
-		linkDialog.setWidth(470);
-		linkDialog.add(linkDialogContainer);
-		add(linkDialog);
-		linkDialogContainer.setOutputMarkupId(true);
-		linkDialogContainer.add(new AddLinkResourceForm("resourceForm"));
-
-		embedDialogContainer = new WebMarkupContainer("embedDialogContainer");
-		embedDialog = new Dialog("embedDialog");
-		embedDialog.setModal(true);
-		embedDialog.setAutoOpen(false);
-		embedDialog.setWidth(470);
-		embedDialog.add(embedDialogContainer);
-		add(embedDialog);
-		embedDialogContainer.setOutputMarkupId(true);
-		embedDialogContainer.add(new AddEmbedResourceForm("embedResourceForm"));
-
-		editCategoriesContainer = new WebMarkupContainer(
-				"adminCategoriesContainer");
-		editCategoriesDialog = new Dialog("adminCategoriesDialog");
-		editCategoriesDialog.setModal(true);
-		editCategoriesDialog.setAutoOpen(false);
-		editCategoriesDialog.setWidth(470);
-		// editCategoriesDialog.setHeight(340);
-		editCategoriesDialog.setCloseEvent(new JsScopeUiEvent() {
-
-			private static final long serialVersionUID = 1L;
-
-			@Override
-			protected void execute(JsScopeContext scopeContext) {
-				scopeContext.append("window.location.reload()");
-
-			}
-		});
-		editCategoriesDialog.add(editCategoriesContainer);
-		add(editCategoriesDialog);
-		editCategoriesContainer.setOutputMarkupId(true);
-		editCategoriesContainer.add(new EditCategoriesForm(
-				"adminCategoriesForm"));
-
-		addCategoriesContainer = new WebMarkupContainer(
-				"addCategoriesContainer");
-		addCategoriesDialog = new Dialog("addCategoriesDialog");
-		addCategoriesDialog.setModal(true);
-		addCategoriesDialog.setAutoOpen(false);
-		addCategoriesDialog.setWidth(470);
-		// addCategoriesDialog.setHeight(340);
-		addCategoriesDialog.setCloseEvent(new JsScopeUiEvent() {
-
-			private static final long serialVersionUID = 1L;
-
-			@Override
-			protected void execute(JsScopeContext scopeContext) {
-				scopeContext.append("window.location.reload()");
-
-			}
-		});
-		addCategoriesDialog.add(addCategoriesContainer);
-		add(addCategoriesDialog);
-		addCategoriesContainer.setOutputMarkupId(true);
-		addCategoriesContainer.add(new AddCategoriesForm("addCategoriesForm"));
-
-		add(new AjaxLink<String>("addLinkResource", new Model<String>(
-				"Add Link Resource")) {
-
-
-					private static final long serialVersionUID = 1L;
-
-			@Override
-			public void onClick(AjaxRequestTarget target) {
-				target.addComponent(linkDialog);
-				linkDialog.open(target);
-			}
-		});
-		
-		add(new AjaxLink<String>("addEmbedResource", new Model<String>(
-				"Add Link Resource")) {
-
-
-					private static final long serialVersionUID = 1L;
-
-			@Override
-			public void onClick(AjaxRequestTarget target) {
-				target.addComponent(embedDialog);
-				embedDialog.open(target);
-			}
-			
-			@Override
-			public boolean isVisible(){
-				return false; //TODO Made invisible for initial deployment because it allows dangerous code to be pasted
-			}
-		});
-		AjaxLink<String> editCategories, addCategories;
-		add(editCategories = new AjaxLink<String>("adminCategories") {
-
-			private static final long serialVersionUID = 1L;
-
-			@Override
-			public void onClick(AjaxRequestTarget target) {
-				target.addComponent(editCategoriesDialog);
-				editCategoriesDialog.open(target);
-			}
-
-		});
-
-		add(addCategories = new AjaxLink<String>("addCategories") {
-
-			private static final long serialVersionUID = 1L;
-
-			@Override
-			public void onClick(AjaxRequestTarget target) {
-				target.addComponent(addCategoriesDialog);
-				addCategoriesDialog.open(target);
-			}
-		});
-		MetaDataActionStrategy.authorize(editCategories, Roles.ADMIN, true);
-		MetaDataActionStrategy.authorize(addCategories, Roles.ADMIN, true);
-	}
-
-	private class AddLinkResourceForm extends Form<ResourceModel> {
-
-		private static final long serialVersionUID = 1L;
-
-		public AddLinkResourceForm(String name) {
-			super(name, new CompoundPropertyModel<ResourceModel>(
-					new ResourceModel()));
-			final WebMarkupContainer feedbackContainer = new WebMarkupContainer(
-					"feedbackContainer");
-			feedbackContainer.setOutputMarkupId(true);
-			WebMarkupContainer feedbackPanel = new FormFeedbackPanel<ResourceModel>(
-					"feedbackPanel", this);
-			feedbackContainer.add(feedbackPanel);
-			add(feedbackContainer);
-			linkDialog.setTitle("Add Link Resource");
-
-			final TextArea<String> info;
-			final TextField<String> linkName;
-			UrlValidator urlValidator = new UrlValidator();
-			final TextField<String> linkAddress = new TextField<String>("link");
-			linkAddress.add(urlValidator);
-			final TextField<String> tags = new TextField<String>("tags");
-			tags.setRequired(true);
-			linkAddress.setRequired(true);
-			
-			add(linkName = new TextField<String>("linkName"));
-			add(linkAddress);
-			add(info = new TextArea<String>("info"));
-			info.setRequired(true);
-
-			IChoiceRenderer<Category> choiceRenderer = new IChoiceRenderer<Category>() {
-
-				private static final long serialVersionUID = 1L;
-
-				// Implement dispay here
-				public Object getDisplayValue(Category category) {
-					return category.getCategoryName();
-				}
-
-				@Override
-				public String getIdValue(Category category, int arg1) {
-					return category.getId().toString();
-				}
-
-			};
-
-			final ListMultipleChoice<Category> categorySelectList = new ListMultipleChoice<Category>(
-					"selectedCategoryCollection", new ListModel<Category>(
-							categoryDao.findAll()), choiceRenderer) {
-				private static final long serialVersionUID = -7117603450416845711L;
-
-			};
-
-			categorySelectList.setRequired(true);
-			categorySelectList.setOutputMarkupId(true);
-			add(categorySelectList);
-
-			add(tags);
-
-			linkName.setRequired(true);
-			add(new AjaxButton("submitButton", new Model<String>(
-					"Save Resource")) {
-
-
-						private static final long serialVersionUID = 1L;
-
-				@Override
-				protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
-					Resource link = new Resource();
-					ResourceModel resourceModel = ((ResourceModel) form
-							.getModelObject());
-
-					String tags = resourceModel.getTags();
-
-					List<Tag> tagList = new ArrayList<Tag>();
-					if (tags != null) {
-						StringTokenizer stringTokenizer = new StringTokenizer(
-								tags, ",");
-
-						while (stringTokenizer.hasMoreTokens()) {
-							String tagString = stringTokenizer.nextToken()
-									.trim();
-							if (null != tagDao.findExactTagQuery(tagString)) {
-								tagList.add(tagDao.findExactTagQuery(tagString));
-							} else if (!tagString.equals("")) {
-								Tag tag = new Tag();
-								tagString = tagString.toLowerCase();
-								tag.setTag(tagString);
-
-								tag = tagDao.save(tag);
-								tagList.add(tag);
-							}
-
-						}
-					}
-					link.setCategoryList(new ArrayList<Category>(resourceModel
-							.getSelectedCategoryCollection()));
-					link.setInfo(resourceModel.getInfo());
-					link.setLink(resourceModel.getLink());
-					link.setCreator(SciProSession.get().getUser());
-					link.setTagList(tagList);
-					if (resourceModel.getLinkName() != null) {
-						link.setHeading(resourceModel.getLinkName());
-					}
-					resourceDao.save(link);
-					resourceModel.setLink("");
-					resourceModel.setLinkName("");
-					resourceModel.setTags("");
-					resourceModel.setInfo("");
-					linkDialog.close(target);
-					setResponsePage(ResourcePage.class);
-				}
-
-				@Override
-				protected void onError(final AjaxRequestTarget target,
-						final Form<?> form) {
-					target.addComponent(feedbackContainer);
-				}
-			});
-
-		}
-	}
-
-	private class AddEmbedResourceForm extends Form<ResourceModel> {
-
-		private static final long serialVersionUID = 1L;
-
-		public AddEmbedResourceForm(String name) {
-			super(name, new CompoundPropertyModel<ResourceModel>(
-					new ResourceModel()));
-			final WebMarkupContainer feedbackContainer = new WebMarkupContainer(
-					"feedbackContainer");
-			feedbackContainer.setOutputMarkupId(true);
-
-			WebMarkupContainer feedbackPanel = new FormFeedbackPanel<ResourceModel>(
-					"feedbackPanel", this);
-			feedbackContainer.add(feedbackPanel);
-			add(feedbackContainer);
-
-			embedDialog.setTitle("Add Embed Resource");
-			add(linkNameEmbed = new TextField<String>("linkName"));
-			linkNameEmbed.setRequired(true);
-			final TextArea<String> embedTextArea;
-			add(embedTextArea = new TextArea<String>("embedCode"));
-			embedTextArea.setRequired(true);
-			final TextArea<String> info;
-			add(info = new TextArea<String>("info"));
-			info.setRequired(true);
-			final TextField<String> tags = new TextField<String>("tags");
-			tags.setRequired(true);
-
-			IChoiceRenderer<Category> choiceRenderer = new IChoiceRenderer<Category>() {
-
-				private static final long serialVersionUID = 1L;
-
-				// Implement dispay here
-				public Object getDisplayValue(Category category) {
-					return category.getCategoryName();
-				}
-
-				@Override
-				public String getIdValue(Category category, int arg1) {
-					return category.getId().toString();
-				}
-
-			};
-
-			final ListMultipleChoice<Category> categorySelectList = new ListMultipleChoice<Category>(
-					"selectedCategoryCollection", new ListModel<Category>(
-							categoryDao.findAll()), choiceRenderer) {
-				private static final long serialVersionUID = -7117603450416845711L;
-
-			};
-
-			categorySelectList.setRequired(true);
-			categorySelectList.setOutputMarkupId(true);
-			add(categorySelectList);
-			add(tags);
-
-			add(new AjaxButton("submitButton", new Model<String>(
-					"Save Resource")) {
-
-
-						private static final long serialVersionUID = 1L;
-
-				@Override
-				protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
-					Resource link;
-
-					link = new Resource();
-
-					ResourceModel resourceModel = ((ResourceModel) form
-							.getModelObject());
-
-					String tags = resourceModel.getTags();
-
-					List<Tag> tagList = new ArrayList<Tag>();
-					if (tags != null) {
-						StringTokenizer stringTokenizer = new StringTokenizer(
-								tags, ",");
-
-						while (stringTokenizer.hasMoreTokens()) {
-							String tagString = stringTokenizer.nextToken()
-									.trim();
-							if (null != tagDao.findExactTagQuery(tagString)) {
-								tagList.add(tagDao.findExactTagQuery(tagString));
-							} else if (!tagString.equals("")) {
-								Tag tag = new Tag();
-								tagString = tagString.toLowerCase();
-								tag.setTag(tagString);
-
-								tag = tagDao.save(tag);
-								tagList.add(tag);
-							}
-
-						}
-					}
-					link.setHeading(resourceModel.getLinkName());
-					link.setEmbedCode(resourceModel.getEmbedCode());
-					link.setInfo(resourceModel.getInfo());
-					link.setCategoryList(new ArrayList<Category>(resourceModel
-							.getSelectedCategoryCollection()));
-					link.setCreator(SciProSession.get().getUser());
-					link.setTagList(tagList);
-					if (resourceModel.getLinkName() != null) {
-						link.setHeading(resourceModel.getLinkName());
-					}
-					resourceDao.save(link);
-
-					resourceModel.setLink("");
-					resourceModel.setLinkName("");
-					resourceModel.setTags("");
-					resourceModel.setInfo("");
-					embedDialog.close(target);
-					setResponsePage(ResourcePage.class);
-				}
-
-				@Override
-				protected void onError(final AjaxRequestTarget target,
-						final Form<?> form) {
-					target.addComponent(feedbackContainer);
-				}
-			});
-
-		}
-
-	}
-
-	private class EditCategoriesForm extends Form<CategoryModel> {
-
-		private static final long serialVersionUID = 1L;
-		private Category category;
-
-		public EditCategoriesForm(String name) {
-			super(name, new CompoundPropertyModel<CategoryModel>(
-					new CategoryModel()));
-			final WebMarkupContainer feedbackContainer = new WebMarkupContainer(
-					"feedbackContainer");
-			feedbackContainer.setOutputMarkupId(true);
-			WebMarkupContainer feedbackPanel = new FormFeedbackPanel<CategoryModel>(
-					"feedbackPanel", this);
-			feedbackContainer.add(feedbackPanel);
-			add(feedbackContainer);
-
-			editCategoriesDialog.setTitle("Edit Categories");
-			final TextField<String> categoryName = new TextField<String>(
-					"categoryName");
-			add(categoryName);
-			IChoiceRenderer<Category> choiceRenderer = new IChoiceRenderer<Category>() {
-
-				private static final long serialVersionUID = 1L;
-
-				// Implement dispay here
-				public Object getDisplayValue(Category category) {
-					return category.getCategoryName();
-				}
-
-				@Override
-				public String getIdValue(Category category, int arg1) {
-					return category.getId().toString();
-				}
-
-			};
-
-			final ListChoice<Category> categorySelectList = new ListChoice<Category>(
-					"selectedCategory", new ListModel<Category>(
-							categoryDao.findAll()), choiceRenderer) {
-
-								private static final long serialVersionUID = 1L;
-
-				@Override
-				protected CharSequence getDefaultChoice(Object selected) {
-					return "";
-				}
-
-			};
-
-			categorySelectList.setOutputMarkupId(true);
-
-			OnChangeAjaxBehavior userSelectBehaviour = new OnChangeAjaxBehavior() {
-
-				private static final long serialVersionUID = 3412906970812300312L;
-
-				@Override
-				protected void onUpdate(AjaxRequestTarget target) {
-					category = categoryDao.reLoad(getModelObject()
-							.getCategory());
-					if (category != null) {
-						getModelObject().setCategoryName(
-								category.getCategoryName());
-						target.addComponent(editCategoriesContainer);
-					}
-				}
-			};
-
-			add(new AjaxButton("deleteCategory", new Model<String>(
-					"Delete Category")) {
-
-
-						private static final long serialVersionUID = 1L;
-
-				@Override
-				protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
-					if (category != null) {
-						category = categoryDao.reLoad(category);
-						for (Resource resource : resourceDao
-								.findResourcesByCategory(category)) {
-
-							List<Category> categoryList = resource
-									.getCategoryList();
-							categoryList.remove(category);
-							resource.setCategoryList(categoryList);
-							resourceDao.save(resource);
-						}
-						categoryDao.delete(category);
-
-						categorySelectList.setChoices(categoryDao.findAll());
-						EditCategoriesForm.this.getModelObject()
-								.setCategoryName("");
-						target.addComponent(editCategoriesContainer);
-						info("Category deleted");
-					} else {
-						error("No category selected");
-					}
-				}
-
-				@Override
-				protected IAjaxCallDecorator getAjaxCallDecorator() {
-					return new AjaxCallDecorator() {
-						private static final long serialVersionUID = 8989126586010432130L;
-
-						/*
-						 * (non-Javadoc)
-						 * 
-						 * @see
-						 * org.apache.wicket.ajax.calldecorator.AjaxCallDecorator
-						 * #decorateScript(java.lang.CharSequence)
-						 */
-						@Override
-						public CharSequence decorateScript(CharSequence script) {
-							String ret = "if(!confirm('Do you really want to delete?')) return false; "
-									+ script;
-							return ret;
-						}
-					};
-				}
-
-				@Override
-				protected void onError(final AjaxRequestTarget target,
-						final Form<?> form) {
-					target.addComponent(feedbackContainer);
-				}
-			});
-			categorySelectList.add(userSelectBehaviour);
-			add(categorySelectList);
-
-			add(new AjaxButton("editButton", new Model<String>("Save Edit")) {
-
-
-				private static final long serialVersionUID = 1L;
-
-				@Override
-				protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
-					if (category == null) {
-						error("No category selected");
-					} else if (EditCategoriesForm.this.getModelObject()
-							.getCategoryName() == null) {
-						error("Category must have a name");
-					} else if (categoryDao
-							.reLoad(category)
-							.getCategoryName()
-							.equals(EditCategoriesForm.this.getModelObject()
-									.getCategoryName())) {
-						error("No change");
-					} else {
-						category = categoryDao.reLoad(category);
-						category.setCategoryName(EditCategoriesForm.this
-								.getModelObject().getCategoryName());
-						categoryDao.save(category);
-						info("Category changed");
-						categorySelectList.setChoices(categoryDao.findAll());
-						target.addComponent(editCategoriesContainer);
-					}
-				}
-
-				@Override
-				protected void onError(final AjaxRequestTarget target,
-						final Form<?> form) {
-					target.addComponent(feedbackContainer);
-				}
-
-			});
-
-			add(new AjaxButton("closeButton", new Model<String>("Close")) {
-
-				private static final long serialVersionUID = 1L;
-
-				@Override
-				protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
-					editCategoriesDialog.close(target);
-					setResponsePage(ResourcePage.class);
-				}
-
-				@Override
-				protected void onError(final AjaxRequestTarget target,
-						final Form<?> form) {
-					target.addComponent(feedbackContainer);
-				}
-			});
-
-		}
-	}
-
-	private class AddCategoriesForm extends Form<CategoryModel> {
-
-		private static final long serialVersionUID = 1L;
-
-		public AddCategoriesForm(String name) {
-			super(name, new CompoundPropertyModel<CategoryModel>(
-					new CategoryModel()));
-			final WebMarkupContainer feedbackContainer = new WebMarkupContainer(
-					"feedbackContainer");
-			feedbackContainer.setOutputMarkupId(true);
-			WebMarkupContainer feedbackPanel = new FormFeedbackPanel<CategoryModel>(
-					"feedbackPanel", this);
-			feedbackContainer.add(feedbackPanel);
-			add(feedbackContainer);
-
-			addCategoriesDialog.setTitle("Add Categories");
-			final TextField<String> categoryName = new TextField<String>(
-					"categoryName");
-			add(categoryName);
-			IChoiceRenderer<Category> choiceRenderer = new IChoiceRenderer<Category>() {
-
-				private static final long serialVersionUID = 1L;
-
-				// Implement dispay here
-				public Object getDisplayValue(Category category) {
-					return category.getCategoryName();
-				}
-
-				@Override
-				public String getIdValue(Category category, int arg1) {
-					return category.getId().toString();
-				}
-
-			};
-
-			final ListChoice<Category> categorySelectList = new ListChoice<Category>(
-					"selectedCategory", new ListModel<Category>(
-							categoryDao.findAll()), choiceRenderer) {
-
-								private static final long serialVersionUID = 1L;
-
-				@Override
-				protected CharSequence getDefaultChoice(Object selected) {
-					return "";
-				}
-
-			};
-
-			categorySelectList.setOutputMarkupId(true);
-
-			add(categorySelectList);
-
-			add(new AjaxButton("addButton", new Model<String>("Add Category")) {
-
-
-				private static final long serialVersionUID = 1L;
-
-				@Override
-				protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
-					CategoryModel categoryModel = (CategoryModel) form
-							.getModelObject();
-
-					if (categoryModel.getCategoryName() == null) {
-						error("Category must have a name");
-					} else {
-						Category category = categoryDao
-								.findExactCategoryQuery(categoryModel
-										.getCategoryName());
-						if (category == null) {
-							Category cat = new Category();
-							cat.setCategoryName(categoryModel.getCategoryName());
-							categoryDao.save(cat);
-							categorySelectList
-									.setChoices(categoryDao.findAll());
-							AddCategoriesForm.this.getModelObject()
-									.setCategoryName("");
-							target.addComponent(addCategoriesContainer);
-							info("Category added");
-						} else {
-							error("Category already exists");
-						}
-					}
-				}
-
-				@Override
-				protected void onError(final AjaxRequestTarget target,
-						final Form<?> form) {
-					target.addComponent(feedbackContainer);
-				}
-			});
-
-			add(new AjaxButton("closeButton", new Model<String>("Close")) {
-
-				private static final long serialVersionUID = 1L;
-
-				@Override
-				protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
-					addCategoriesDialog.close(target);
-					setResponsePage(ResourcePage.class);
-				}
-
-				@Override
-				protected void onError(final AjaxRequestTarget target,
-						final Form<?> form) {
-					target.addComponent(feedbackContainer);
-				}
-			});
-
-		}
-
-	}
-}
diff --git a/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourcesPanel.properties b/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourcesPanel.properties
deleted file mode 100644
index 24c5640321..0000000000
--- a/src/main/java/se/su/dsv/scipro/knol/resource/panels/ResourcesPanel.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-dialog.dialogContainer.resourceForm.link=Link Address
-dialog.dialogContainer.resourceForm.linkName=Link Name
-dialog.dialogContainer.resourceForm.info=Info
-dialog.dialogContainer.resourceForm.tags=Tags
-dialog.dialogContainer.resourceForm.selectedCategoryCollection = Categories
-embedDialog.embedDialogContainer.embedResourceForm.linkName=Heading
-embedDialog.embedDialogContainer.embedResourceForm.embedCode=Embed Code
-embedDialog.embedDialogContainer.embedResourceForm.info=Info
-embedDialog.embedDialogContainer.embedResourceForm.tags=Tags
-embedDialog.embedDialogContainer.embedResourceForm.selectedCategoryCollection=Categories
-Required='${label}' is required
\ No newline at end of file