[kune-commits] r792 - in trunk: . src/main/java/org/ourproject/kune/docs/server src/main/java/org/ourproject/kune/platf/client/app src/main/java/org/ourproject/kune/platf/client/dto src/main/java/org/ourproject/kune/platf/client/errors src/main/java/org/ourproject/kune/platf/client/services src/main/java/org/ourproject/kune/platf/client/ui/dialogs src/main/java/org/ourproject/kune/platf/server/domain src/main/java/org/ourproject/kune/platf/server/rpc src/main/java/org/ourproject/kune/workspace/client/newgroup/ui src/main/java/org/ourproject/kune/workspace/client/workspace src/main/resources/db src/test/java/org/ourproject/kune/platf/integration

vjrj vjrj at ourproject.org
Sun Jul 6 15:51:36 CEST 2008


Author: vjrj
Date: 2008-07-06 15:51:18 +0200 (Sun, 06 Jul 2008)
New Revision: 792

Added:
   trunk/src/main/java/org/ourproject/kune/platf/server/domain/UserParams.java
Modified:
   trunk/pom.xml
   trunk/src/main/java/org/ourproject/kune/docs/server/DocumentServerTool.java
   trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationBuilder.java
   trunk/src/main/java/org/ourproject/kune/platf/client/dto/GroupDTO.java
   trunk/src/main/java/org/ourproject/kune/platf/client/errors/DefaultException.java
   trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java
   trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/BasicDialogGxt.java
   trunk/src/main/java/org/ourproject/kune/platf/server/domain/User.java
   trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/ui/NewGroupPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/Workspace.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/WorkspacePresenter.java
   trunk/src/main/resources/db/update-0007-i18n.sql
   trunk/src/main/resources/db/update-0008-i18n.sql
   trunk/src/test/java/org/ourproject/kune/platf/integration/DatabaseInitializationTest.java
Log:
Incomplete - task 2: Tags in groups (UI, server) 

Incomplete - task 1: User parameters Server 

Complete - task 4: Group def content with description 


Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml	2008-07-06 13:47:37 UTC (rev 791)
+++ trunk/pom.xml	2008-07-06 13:51:18 UTC (rev 792)
@@ -41,11 +41,13 @@
     </dependency>
     <!-- Use new repo -->
     <!-- http://code.google.com/p/gwt-ext/issues/detail?id=180 -->
+    <!--
     <dependency>
       <groupId>com.extjs</groupId>
       <artifactId>gxt</artifactId>
       <version>1.0-beta2</version>
     </dependency>
+    -->
     <dependency>
       <groupId>com.gwtext</groupId>
       <artifactId>gwtext</artifactId>

Modified: trunk/src/main/java/org/ourproject/kune/docs/server/DocumentServerTool.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/server/DocumentServerTool.java	2008-07-06 13:47:37 UTC (rev 791)
+++ trunk/src/main/java/org/ourproject/kune/docs/server/DocumentServerTool.java	2008-07-06 13:51:18 UTC (rev 792)
@@ -21,10 +21,10 @@
 package org.ourproject.kune.docs.server;
 
 import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.server.content.ContainerManager;
 import org.ourproject.kune.platf.server.content.ContentManager;
-import org.ourproject.kune.platf.server.content.ContainerManager;
+import org.ourproject.kune.platf.server.domain.Container;
 import org.ourproject.kune.platf.server.domain.Content;
-import org.ourproject.kune.platf.server.domain.Container;
 import org.ourproject.kune.platf.server.domain.Group;
 import org.ourproject.kune.platf.server.domain.ToolConfiguration;
 import org.ourproject.kune.platf.server.domain.User;
@@ -48,44 +48,45 @@
 
     @Inject
     public DocumentServerTool(final ContentManager contentManager, final ContainerManager containerManager,
-            final ToolConfigurationManager configurationManager, final I18nTranslationService translationService) {
-        this.contentManager = contentManager;
-        this.containerManager = containerManager;
-        this.configurationManager = configurationManager;
-        this.i18n = translationService;
+	    final ToolConfigurationManager configurationManager, final I18nTranslationService translationService) {
+	this.contentManager = contentManager;
+	this.containerManager = containerManager;
+	this.configurationManager = configurationManager;
+	this.i18n = translationService;
     }
 
-    @Inject
-    public void register(final ToolRegistry registry) {
-        registry.register(this);
+    public String getName() {
+	return NAME;
     }
 
-    public String getName() {
-        return NAME;
+    public Group initGroup(final User user, final Group group) {
+	final ToolConfiguration config = new ToolConfiguration();
+	final Container container = containerManager.createRootFolder(group, NAME, ROOT_NAME, TYPE_ROOT);
+	config.setRoot(container);
+	group.setToolConfig(NAME, config);
+	configurationManager.persist(config);
+	final String longName = group.getLongName();
+	final String publicDesc = group.getPublicDesc();
+	final Content descriptor = contentManager.createContent(i18n.t("About") + longName, publicDesc == null ? ""
+		: publicDesc, user, container);
+	descriptor.addAuthor(user);
+	descriptor.setLanguage(user.getLanguage());
+	descriptor.setTypeId(TYPE_DOCUMENT);
+	group.setDefaultContent(descriptor);
+	return group;
     }
 
     public void onCreateContainer(final Container container, final Container parent) {
-        container.setTypeId(TYPE_FOLDER);
+	container.setTypeId(TYPE_FOLDER);
     }
 
     public void onCreateContent(final Content content, final Container parent) {
-        content.setTypeId(TYPE_DOCUMENT);
+	content.setTypeId(TYPE_DOCUMENT);
     }
 
-    public Group initGroup(final User user, final Group group) {
-        ToolConfiguration config = new ToolConfiguration();
-        Container container = containerManager.createRootFolder(group, NAME, ROOT_NAME, TYPE_ROOT);
-        config.setRoot(container);
-        group.setToolConfig(NAME, config);
-        configurationManager.persist(config);
-        Content descriptor = contentManager.createContent(i18n.t("Welcome"), i18n.t("This is an example of document. "
-                + "You can modify it if you are a group's collaborator and/or delete it if you are admin."), user,
-                container);
-        descriptor.addAuthor(user);
-        descriptor.setLanguage(user.getLanguage());
-        descriptor.setTypeId(TYPE_DOCUMENT);
-        group.setDefaultContent(descriptor);
-        return group;
+    @Inject
+    public void register(final ToolRegistry registry) {
+	registry.register(this);
     }
 
 }

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationBuilder.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationBuilder.java	2008-07-06 13:47:37 UTC (rev 791)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationBuilder.java	2008-07-06 13:51:18 UTC (rev 792)
@@ -31,9 +31,7 @@
 import org.ourproject.kune.platf.client.dispatch.ActionEvent;
 import org.ourproject.kune.platf.client.dispatch.DefaultDispatcher;
 import org.ourproject.kune.platf.client.dto.I18nLanguageDTO;
-import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple;
 import org.ourproject.kune.platf.client.services.Kune;
-import org.ourproject.kune.platf.client.services.KuneErrorHandler;
 import org.ourproject.kune.platf.client.services.KuneModule;
 import org.ourproject.kune.platf.client.state.Session;
 import org.ourproject.kune.platf.client.state.StateManager;
@@ -54,9 +52,6 @@
 	final Kune kune = Kune.create(new KuneModule(initialLang, lexicon), new EmiteUIModule(),
 		new DocumentClientNewModule(), new ChatClientNewModule());
 
-	KuneErrorHandler errorHandler = kune.getInstance(KuneErrorHandler.class);
-	AsyncCallbackSimple.init(errorHandler);
-
 	final Session session = kune.getSession();
 
 	Site.showProgressLoading();
@@ -65,7 +60,7 @@
 	final KunePlatform platform = kune.getPlatform();
 	final StateManager stateManager = kune.getStateManager();
 	final Application application = kune.getInstance(Application.class);
-	I18nUITranslationService i18n = kune.getI18N();
+	final I18nUITranslationService i18n = kune.getI18N();
 
 	// Testing providers:
 	platform.install(new PlatformClientModule(session, kune.getProvider(StateManager.class)));

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/dto/GroupDTO.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/dto/GroupDTO.java	2008-07-06 13:47:37 UTC (rev 791)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/GroupDTO.java	2008-07-06 13:51:18 UTC (rev 792)
@@ -39,181 +39,190 @@
     private Long defaultContentId;
     private LicenseDTO defaultLicense;
     private String workspaceTheme;
+    private String tags;
 
     public GroupDTO() {
-        this(null, null, null, ORGANIZATION);
+	this(null, null, null, ORGANIZATION);
     }
 
     public GroupDTO(final String shortName, final String longName, final String publicDesc, final String type) {
-        this.shortName = shortName;
-        this.longName = longName;
-        this.publicDesc = publicDesc;
-        this.type = type;
+	this.shortName = shortName;
+	this.longName = longName;
+	this.publicDesc = publicDesc;
+	this.type = type;
     }
 
-    public Long getId() {
-        return id;
+    public boolean equals(final Object obj) {
+	if (this == obj) {
+	    return true;
+	}
+	if (obj == null) {
+	    return false;
+	}
+	final GroupDTO other = (GroupDTO) obj;
+	if (defaultContentId == null) {
+	    if (other.defaultContentId != null) {
+		return false;
+	    }
+	} else if (!defaultContentId.equals(other.defaultContentId)) {
+	    return false;
+	}
+	if (defaultFolderId == null) {
+	    if (other.defaultFolderId != null) {
+		return false;
+	    }
+	} else if (!defaultFolderId.equals(other.defaultFolderId)) {
+	    return false;
+	}
+	if (defaultLicense == null) {
+	    if (other.defaultLicense != null) {
+		return false;
+	    }
+	} else if (!defaultLicense.equals(other.defaultLicense)) {
+	    return false;
+	}
+	if (defaultToolName == null) {
+	    if (other.defaultToolName != null) {
+		return false;
+	    }
+	} else if (!defaultToolName.equals(other.defaultToolName)) {
+	    return false;
+	}
+	if (id == null) {
+	    if (other.id != null) {
+		return false;
+	    }
+	} else if (!id.equals(other.id)) {
+	    return false;
+	}
+	if (longName == null) {
+	    if (other.longName != null) {
+		return false;
+	    }
+	} else if (!longName.equals(other.longName)) {
+	    return false;
+	}
+	if (publicDesc == null) {
+	    if (other.publicDesc != null) {
+		return false;
+	    }
+	} else if (!publicDesc.equals(other.publicDesc)) {
+	    return false;
+	}
+	if (shortName == null) {
+	    if (other.shortName != null) {
+		return false;
+	    }
+	} else if (!shortName.equals(other.shortName)) {
+	    return false;
+	}
+	if (type != other.type) {
+	    return false;
+	}
+	return true;
     }
 
-    public String getLongName() {
-        return longName;
+    public Long getDefaultContentId() {
+	return defaultContentId;
     }
 
-    public String getPublicDesc() {
-        return publicDesc;
+    public Long getDefaultFolderId() {
+	return defaultFolderId;
     }
 
-    public String getShortName() {
-        return shortName;
+    public LicenseDTO getDefaultLicense() {
+	return defaultLicense;
     }
 
-    public String getType() {
-        return type;
+    public String getDefaultToolName() {
+	return defaultToolName;
     }
 
-    public void setId(final Long id) {
-        this.id = id;
+    public Long getId() {
+	return id;
     }
 
-    public void setLongName(final String name) {
-        this.longName = name;
+    public String getLongName() {
+	return longName;
     }
 
-    public void setPublicDesc(final String publicDesc) {
-        this.publicDesc = publicDesc;
+    public String getPublicDesc() {
+	return publicDesc;
     }
 
-    public void setShortName(final String shortName) {
-        this.shortName = shortName;
+    public String getShortName() {
+	return shortName;
     }
 
-    public void setType(final String type) {
-        this.type = type;
+    public String getTags() {
+	return tags;
     }
 
-    public Long getDefaultFolderId() {
-        return defaultFolderId;
+    public String getType() {
+	return type;
     }
 
-    public void setDefaultFolderId(final Long defaultFolderId) {
-        this.defaultFolderId = defaultFolderId;
+    public String getWorkspaceTheme() {
+	return workspaceTheme;
     }
 
-    public Long getDefaultContentId() {
-        return defaultContentId;
+    public int hashCode() {
+	final int prime = 31;
+	int result = 1;
+	result = prime * result + (defaultContentId == null ? 0 : defaultContentId.hashCode());
+	result = prime * result + (defaultFolderId == null ? 0 : defaultFolderId.hashCode());
+	result = prime * result + (defaultLicense == null ? 0 : defaultLicense.hashCode());
+	result = prime * result + (defaultToolName == null ? 0 : defaultToolName.hashCode());
+	result = prime * result + (id == null ? 0 : id.hashCode());
+	result = prime * result + (longName == null ? 0 : longName.hashCode());
+	result = prime * result + (publicDesc == null ? 0 : publicDesc.hashCode());
+	result = prime * result + (shortName == null ? 0 : shortName.hashCode());
+	result = prime * result + (type == null ? 0 : type.hashCode());
+	return result;
     }
 
     public void setDefaultContentId(final Long defaultContentId) {
-        this.defaultContentId = defaultContentId;
+	this.defaultContentId = defaultContentId;
     }
 
-    public String getDefaultToolName() {
-        return defaultToolName;
+    public void setDefaultFolderId(final Long defaultFolderId) {
+	this.defaultFolderId = defaultFolderId;
     }
 
+    public void setDefaultLicense(final LicenseDTO defaultLicense) {
+	this.defaultLicense = defaultLicense;
+    }
+
     public void setDefaultToolName(final String defaultToolName) {
-        this.defaultToolName = defaultToolName;
+	this.defaultToolName = defaultToolName;
     }
 
-    public LicenseDTO getDefaultLicense() {
-        return defaultLicense;
+    public void setId(final Long id) {
+	this.id = id;
     }
 
-    public void setDefaultLicense(final LicenseDTO defaultLicense) {
-        this.defaultLicense = defaultLicense;
+    public void setLongName(final String name) {
+	this.longName = name;
     }
 
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + (defaultContentId == null ? 0 : defaultContentId.hashCode());
-        result = prime * result + (defaultFolderId == null ? 0 : defaultFolderId.hashCode());
-        result = prime * result + (defaultLicense == null ? 0 : defaultLicense.hashCode());
-        result = prime * result + (defaultToolName == null ? 0 : defaultToolName.hashCode());
-        result = prime * result + (id == null ? 0 : id.hashCode());
-        result = prime * result + (longName == null ? 0 : longName.hashCode());
-        result = prime * result + (publicDesc == null ? 0 : publicDesc.hashCode());
-        result = prime * result + (shortName == null ? 0 : shortName.hashCode());
-        result = prime * result + (type == null ? 0 : type.hashCode());
-        return result;
+    public void setPublicDesc(final String publicDesc) {
+	this.publicDesc = publicDesc;
     }
 
-    public boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj == null) {
-            return false;
-        }
-        final GroupDTO other = (GroupDTO) obj;
-        if (defaultContentId == null) {
-            if (other.defaultContentId != null) {
-                return false;
-            }
-        } else if (!defaultContentId.equals(other.defaultContentId)) {
-            return false;
-        }
-        if (defaultFolderId == null) {
-            if (other.defaultFolderId != null) {
-                return false;
-            }
-        } else if (!defaultFolderId.equals(other.defaultFolderId)) {
-            return false;
-        }
-        if (defaultLicense == null) {
-            if (other.defaultLicense != null) {
-                return false;
-            }
-        } else if (!defaultLicense.equals(other.defaultLicense)) {
-            return false;
-        }
-        if (defaultToolName == null) {
-            if (other.defaultToolName != null) {
-                return false;
-            }
-        } else if (!defaultToolName.equals(other.defaultToolName)) {
-            return false;
-        }
-        if (id == null) {
-            if (other.id != null) {
-                return false;
-            }
-        } else if (!id.equals(other.id)) {
-            return false;
-        }
-        if (longName == null) {
-            if (other.longName != null) {
-                return false;
-            }
-        } else if (!longName.equals(other.longName)) {
-            return false;
-        }
-        if (publicDesc == null) {
-            if (other.publicDesc != null) {
-                return false;
-            }
-        } else if (!publicDesc.equals(other.publicDesc)) {
-            return false;
-        }
-        if (shortName == null) {
-            if (other.shortName != null) {
-                return false;
-            }
-        } else if (!shortName.equals(other.shortName)) {
-            return false;
-        }
-        if (type != other.type) {
-            return false;
-        }
-        return true;
+    public void setShortName(final String shortName) {
+	this.shortName = shortName;
     }
 
-    public String getWorkspaceTheme() {
-        return workspaceTheme;
+    public void setTags(final String tags) {
+	this.tags = tags;
     }
 
+    public void setType(final String type) {
+	this.type = type;
+    }
+
     public void setWorkspaceTheme(final String workspaceTheme) {
-        this.workspaceTheme = workspaceTheme;
+	this.workspaceTheme = workspaceTheme;
     }
 
 }

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/errors/DefaultException.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/errors/DefaultException.java	2008-07-06 13:47:37 UTC (rev 791)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/errors/DefaultException.java	2008-07-06 13:51:18 UTC (rev 792)
@@ -1,14 +1,20 @@
 package org.ourproject.kune.platf.client.errors;
 
 import com.google.gwt.user.client.rpc.IsSerializable;
+import com.google.gwt.user.client.rpc.StatusCodeException;
 
-public class DefaultException extends Exception implements IsSerializable {
+public class DefaultException extends StatusCodeException implements IsSerializable {
     private static final long serialVersionUID = 1L;
 
     public DefaultException() {
+	this(0, "");
     }
 
-    public DefaultException(final String arg0) {
-	super(arg0);
+    public DefaultException(final int statusCode, final String message) {
+	super(statusCode, message);
     }
+
+    public DefaultException(final String message) {
+	this(0, message);
+    }
 }

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java	2008-07-06 13:47:37 UTC (rev 791)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java	2008-07-06 13:51:18 UTC (rev 792)
@@ -35,59 +35,51 @@
 import com.google.gwt.core.client.GWT;
 
 public class KuneErrorHandler {
-    private static KuneErrorHandler instance;
-
-    @Deprecated
-    public static KuneErrorHandler getInstance() {
-        return instance;
-    }
-
     private final Session session;
     private final I18nTranslationService i18n;
 
     public KuneErrorHandler(final Session session, final I18nTranslationService i18n) {
-        this.session = session;
-        this.i18n = i18n;
-        instance = this;
+	this.session = session;
+	this.i18n = i18n;
     }
 
     public void process(final Throwable caught) {
-        Site.hideProgress();
-        try {
-            throw caught;
-        } catch (final AccessViolationException e) {
-            Site.error(i18n.t("You don't have rights to do that"));
-        } catch (final SessionExpiredException e) {
-            doSessionExpired();
-        } catch (final UserMustBeLoggedException e) {
-            if (session.isLogged()) {
-                doSessionExpired();
-            } else {
-                Site.important(i18n.t("Please sign in or register to collaborate"));
-            }
-        } catch (final GroupNotFoundException e) {
-            Site.error(i18n.t("Group not found"));
-            DefaultDispatcher.getInstance().fire(PlatformEvents.GOTO, "");
-        } catch (final ContentNotFoundException e) {
-            Site.error(i18n.t("Content not found"));
-            DefaultDispatcher.getInstance().fire(PlatformEvents.GOTO, "");
-        } catch (final LastAdminInGroupException e) {
-            Site.showAlertMessage(i18n.t("Sorry, you are the last admin of this group."
-                    + " Look for someone to substitute you appropriately as admin before unjoin this group."));
-        } catch (final AlreadyGroupMemberException e) {
-            Site.error(i18n.t("This group is already a group member"));
-        } catch (final AlreadyUserMemberException e) {
-            Site.error(i18n.t("This user is already a member of this group"));
-        } catch (final Throwable e) {
-            Site.error(i18n.t("Error performing operation"));
-            GWT.log("Other kind of exception in StateManagerDefault/processErrorException", null);
-            throw new RuntimeException();
-        }
+	Site.hideProgress();
+	try {
+	    throw caught;
+	} catch (final AccessViolationException e) {
+	    Site.error(i18n.t("You don't have rights to do that"));
+	} catch (final SessionExpiredException e) {
+	    doSessionExpired();
+	} catch (final UserMustBeLoggedException e) {
+	    if (session.isLogged()) {
+		doSessionExpired();
+	    } else {
+		Site.important(i18n.t("Please sign in or register to collaborate"));
+	    }
+	} catch (final GroupNotFoundException e) {
+	    Site.error(i18n.t("Group not found"));
+	    DefaultDispatcher.getInstance().fire(PlatformEvents.GOTO, "");
+	} catch (final ContentNotFoundException e) {
+	    Site.error(i18n.t("Content not found"));
+	    DefaultDispatcher.getInstance().fire(PlatformEvents.GOTO, "");
+	} catch (final LastAdminInGroupException e) {
+	    Site.showAlertMessage(i18n.t("Sorry, you are the last admin of this group."
+		    + " Look for someone to substitute you appropriately as admin before unjoin this group."));
+	} catch (final AlreadyGroupMemberException e) {
+	    Site.error(i18n.t("This group is already a group member"));
+	} catch (final AlreadyUserMemberException e) {
+	    Site.error(i18n.t("This user is already a member of this group"));
+	} catch (final Throwable e) {
+	    Site.error(i18n.t("Error performing operation"));
+	    GWT.log("Other kind of exception in StateManagerDefault/processErrorException", null);
+	    throw new RuntimeException();
+	}
     }
 
     private void doSessionExpired() {
-        Site.doLogout();
-        Site.showAlertMessage(i18n.t("Your session has expired. Please login again."));
+	Site.doLogout();
+	Site.showAlertMessage(i18n.t("Your session has expired. Please login again."));
     }
 
 }

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java	2008-07-06 13:47:37 UTC (rev 791)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java	2008-07-06 13:51:18 UTC (rev 792)
@@ -9,6 +9,7 @@
 import org.ourproject.kune.platf.client.app.HistoryWrapperImpl;
 import org.ourproject.kune.platf.client.dto.I18nLanguageDTO;
 import org.ourproject.kune.platf.client.extend.ExtensibleWidgetsManager;
+import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple;
 import org.ourproject.kune.platf.client.rpc.ContentService;
 import org.ourproject.kune.platf.client.state.ContentProviderImpl;
 import org.ourproject.kune.platf.client.state.Session;
@@ -54,8 +55,6 @@
 	    }
 	}, SingletonScope.class);
 
-	Site.init(builder.getInstance(I18nUITranslationService.class));
-
 	builder.registerProvider(Session.class, new Provider<Session>() {
 	    public Session get() {
 		return new SessionImpl(Cookies.getCookie("userHash"), initialLang);
@@ -69,6 +68,10 @@
 	    }
 	}, SingletonScope.class);
 
+	final KuneErrorHandler errorHandler = builder.getInstance(KuneErrorHandler.class);
+	AsyncCallbackSimple.init(errorHandler);
+	Site.init(builder.getInstance(I18nUITranslationService.class));
+
 	builder.registerProvider(ColorTheme.class, new Provider<ColorTheme>() {
 	    public ColorTheme get() {
 		return new ColorTheme();

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/BasicDialogGxt.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/BasicDialogGxt.java	2008-07-06 13:47:37 UTC (rev 791)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/BasicDialogGxt.java	2008-07-06 13:51:18 UTC (rev 792)
@@ -20,45 +20,48 @@
 
 package org.ourproject.kune.platf.client.ui.dialogs;
 
-import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
-import com.extjs.gxt.ui.client.Style.Scroll;
-import com.extjs.gxt.ui.client.widget.Window;
-
-public class BasicDialogGxt extends Window {
-
-    public BasicDialogGxt(final String caption, final boolean modal) {
-	this(caption, modal, Scroll.AUTO);
-    }
-
-    public BasicDialogGxt(final String caption, final boolean modal, final Scroll scroll) {
-	setAutoWidth(true);
-	// Param values
-	setTitle(caption);
-	setModal(modal);
-	setScrollMode(scroll);
-	// Def values
-	setShadow(true);
-	setPlain(true);
-	setClosable(true);
-	setCollapsible(true);
-	setResizable(true);
-	setButtonAlign(HorizontalAlignment.RIGHT);
-    }
-
-    public BasicDialogGxt(final String caption, final boolean modal, final Scroll scroll, final int width,
-	    final int height) {
-	this(caption, modal, scroll, width, height, width, height);
-    }
-
-    public BasicDialogGxt(final String caption, final boolean modal, final Scroll scroll, final int width,
-	    final int height, final int minWidth, final int minHeight) {
-	this(caption, modal, scroll);
-	setAutoWidth(false);
-	// Param values
-	setWidth(width);
-	setHeight(height);
-	setMinWidth(minWidth);
-	setMinHeight(minHeight);
-    }
-
-}
+// import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
+// import com.extjs.gxt.ui.client.Style.Scroll;
+// import com.extjs.gxt.ui.client.widget.Window;
+//
+// public class BasicDialogGxt extends Window {
+//
+// public BasicDialogGxt(final String caption, final boolean modal) {
+// this(caption, modal, Scroll.AUTO);
+// }
+//
+// public BasicDialogGxt(final String caption, final boolean modal, final Scroll
+// scroll) {
+// setAutoWidth(true);
+// // Param values
+// setTitle(caption);
+// setModal(modal);
+// setScrollMode(scroll);
+// // Def values
+// setShadow(true);
+// setPlain(true);
+// setClosable(true);
+// setCollapsible(true);
+// setResizable(true);
+// setButtonAlign(HorizontalAlignment.RIGHT);
+// }
+//
+// public BasicDialogGxt(final String caption, final boolean modal, final Scroll
+// scroll, final int width,
+// final int height) {
+// this(caption, modal, scroll, width, height, width, height);
+// }
+//
+// public BasicDialogGxt(final String caption, final boolean modal, final Scroll
+// scroll, final int width,
+// final int height, final int minWidth, final int minHeight) {
+// this(caption, modal, scroll);
+// setAutoWidth(false);
+// // Param values
+// setWidth(width);
+// setHeight(height);
+// setMinWidth(minWidth);
+// setMinHeight(minHeight);
+// }
+//
+// }

Modified: trunk/src/main/java/org/ourproject/kune/platf/server/domain/User.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/domain/User.java	2008-07-06 13:47:37 UTC (rev 791)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/domain/User.java	2008-07-06 13:51:18 UTC (rev 792)
@@ -42,8 +42,6 @@
 import org.hibernate.validator.NotNull;
 import org.hibernate.validator.Pattern;
 
-import com.calclab.emite.client.im.roster.RosterManager;
-import com.calclab.emite.client.im.roster.RosterManager.SubscriptionMode;
 import com.google.inject.name.Named;
 import com.wideplay.warp.persist.dao.Finder;
 
@@ -56,10 +54,8 @@
     // Never expect or return null
     public static final User UNKNOWN_USER = new User();
 
-    private static final String DEF_CHAT_COLOR = "green";
-
     public static boolean isKnownUser(final User user) {
-        return user != UNKNOWN_USER;
+	return user != UNKNOWN_USER;
     }
 
     @Id
@@ -102,157 +98,111 @@
     @NotNull
     private TimeZone timezone;
 
-    private String avatar;
-
-    @NotNull
-    private boolean publishRoster;
-
-    @NotNull
-    private SubscriptionMode subscriptionMode;
-
-    @NotNull
-    private String chatColor;
-
     public User() {
-        this(null, null, null, null, null, null, null);
+	this(null, null, null, null, null, null, null);
     }
 
     public User(final String shortName, final String longName, final String email, final String passwd,
-            final I18nLanguage language, final I18nCountry country, final TimeZone timezone) {
-        this.shortName = shortName;
-        this.name = longName;
-        this.email = email;
-        this.password = passwd;
-        this.userGroup = Group.NO_GROUP;
-        this.language = language;
-        this.country = country;
-        this.timezone = timezone;
-        this.publishRoster = true;
-        this.subscriptionMode = SubscriptionMode.manual;
-        this.chatColor = DEF_CHAT_COLOR;
+	    final I18nLanguage language, final I18nCountry country, final TimeZone timezone) {
+	this.shortName = shortName;
+	this.name = longName;
+	this.email = email;
+	this.password = passwd;
+	this.userGroup = Group.NO_GROUP;
+	this.language = language;
+	this.country = country;
+	this.timezone = timezone;
     }
 
     @Finder(query = "from User")
     public List<User> getAll() {
-        return null;
+	return null;
     }
 
-    public String getAvatar() {
-        return avatar;
-    }
-
     @Finder(query = "from User where email = :email")
     public User getByEmail(@Named("email")
     final String email) {
-        return null;
+	return null;
     }
 
     @Finder(query = "from User where shortName = :shortName")
     public User getByShortName(@Named("shortName")
     final String shortName) {
-        return null;
+	return null;
     }
 
-    public String getChatColor() {
-        return chatColor;
-    }
-
     public I18nCountry getCountry() {
-        return country;
+	return country;
     }
 
     public String getEmail() {
-        return email;
+	return email;
     }
 
     public Long getId() {
-        return id;
+	return id;
     }
 
     public I18nLanguage getLanguage() {
-        return language;
+	return language;
     }
 
     public String getName() {
-        return name;
+	return name;
     }
 
     public String getPassword() {
-        return password;
+	return password;
     }
 
     public String getShortName() {
-        return shortName;
+	return shortName;
     }
 
-    public RosterManager.SubscriptionMode getSubscriptionMode() {
-        return subscriptionMode;
-    }
-
     public TimeZone getTimezone() {
-        return timezone;
+	return timezone;
     }
 
     public Group getUserGroup() {
-        return userGroup;
+	return userGroup;
     }
 
-    public boolean isPublishRoster() {
-        return publishRoster;
-    }
-
-    public void setAvatar(final String avatar) {
-        this.avatar = avatar;
-    }
-
-    public void setChatColor(final String chatColor) {
-        this.chatColor = chatColor;
-    }
-
     public void setCountry(final I18nCountry country) {
-        this.country = country;
+	this.country = country;
     }
 
     public void setEmail(final String email) {
-        this.email = email;
+	this.email = email;
     }
 
     public void setId(final Long id) {
-        this.id = id;
+	this.id = id;
     }
 
     public void setLanguage(final I18nLanguage language) {
-        this.language = language;
+	this.language = language;
     }
 
     public void setName(final String name) {
-        this.name = name;
+	this.name = name;
     }
 
     public void setPassword(final String password) {
-        this.password = password;
-        // http://www.dynamic.net.au/christos/crypt/
-        // Use UnixCrypt (jetty)
+	this.password = password;
+	// http://www.dynamic.net.au/christos/crypt/
+	// Use UnixCrypt (jetty)
     }
 
-    public void setPublishRoster(final boolean publishRoster) {
-        this.publishRoster = publishRoster;
-    }
-
     public void setShortName(final String shortName) {
-        this.shortName = shortName;
+	this.shortName = shortName;
     }
 
-    public void setSubscriptionMode(final RosterManager.SubscriptionMode subscriptionMode) {
-        this.subscriptionMode = subscriptionMode;
-    }
-
     public void setTimezone(final TimeZone timezone) {
-        this.timezone = timezone;
+	this.timezone = timezone;
     }
 
     public void setUserGroup(final Group userGroup) {
-        this.userGroup = userGroup;
+	this.userGroup = userGroup;
     }
 
 }

Added: trunk/src/main/java/org/ourproject/kune/platf/server/domain/UserParams.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/domain/UserParams.java	2008-07-06 13:47:37 UTC (rev 791)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/domain/UserParams.java	2008-07-06 13:51:18 UTC (rev 792)
@@ -0,0 +1,80 @@
+package org.ourproject.kune.platf.server.domain;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+import org.hibernate.search.annotations.DocumentId;
+import org.hibernate.search.annotations.Indexed;
+import org.hibernate.validator.NotNull;
+
+import com.calclab.emite.client.im.roster.RosterManager;
+import com.calclab.emite.client.im.roster.RosterManager.SubscriptionMode;
+
+ at Entity
+ at Indexed
+ at Table(name = "usersparams")
+public class UserParams {
+
+    @Id
+    @DocumentId
+    @GeneratedValue
+    private Long id;
+
+    private String avatar;
+
+    @NotNull
+    private boolean publishRoster;
+
+    @NotNull
+    private SubscriptionMode subscriptionMode;
+
+    @NotNull
+    private String chatColor;
+
+    public UserParams(final String avatar, final boolean publishRoster, final SubscriptionMode subscriptionMode,
+	    final String chatColor) {
+	this.avatar = avatar;
+	this.publishRoster = publishRoster;
+	this.subscriptionMode = subscriptionMode;
+	this.chatColor = chatColor;
+    }
+
+    public String getAvatar() {
+	return avatar;
+    }
+
+    public String getChatColor() {
+	return chatColor;
+    }
+
+    public Long getId() {
+	return id;
+    }
+
+    public RosterManager.SubscriptionMode getSubscriptionMode() {
+	return subscriptionMode;
+    }
+
+    public boolean isPublishRoster() {
+	return publishRoster;
+    }
+
+    public void setAvatar(final String avatar) {
+	this.avatar = avatar;
+    }
+
+    public void setChatColor(final String chatColor) {
+	this.chatColor = chatColor;
+    }
+
+    public void setPublishRoster(final boolean publishRoster) {
+	this.publishRoster = publishRoster;
+    }
+
+    public void setSubscriptionMode(final RosterManager.SubscriptionMode subscriptionMode) {
+	this.subscriptionMode = subscriptionMode;
+    }
+
+}

Modified: trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java	2008-07-06 13:47:37 UTC (rev 791)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java	2008-07-06 13:51:18 UTC (rev 792)
@@ -30,6 +30,7 @@
 import org.ourproject.kune.platf.server.access.AccessType;
 import org.ourproject.kune.platf.server.auth.Authenticated;
 import org.ourproject.kune.platf.server.auth.Authorizated;
+import org.ourproject.kune.platf.server.content.ContentManager;
 import org.ourproject.kune.platf.server.domain.Group;
 import org.ourproject.kune.platf.server.domain.User;
 import org.ourproject.kune.platf.server.manager.GroupManager;
@@ -47,12 +48,14 @@
     private final Mapper mapper;
     private final GroupManager groupManager;
     private final Provider<UserSession> userSessionProvider;
+    private final ContentManager contentManager;
 
     @Inject
     public GroupRPC(final Provider<UserSession> userSessionProvider, final GroupManager groupManager,
-	    final Mapper mapper) {
+	    final ContentManager contentManager, final Mapper mapper) {
 	this.userSessionProvider = userSessionProvider;
 	this.groupManager = groupManager;
+	this.contentManager = contentManager;
 	this.mapper = mapper;
     }
 
@@ -76,6 +79,8 @@
 	final User user = userSession.getUser();
 	final Group group = mapper.map(groupDTO, Group.class);
 	final Group newGroup = groupManager.createGroup(group, user);
+	final Long defContentId = newGroup.getDefaultContent().getId();
+	contentManager.setTags(user, defContentId, groupDTO.getTags());
 	return new StateToken(newGroup.getDefaultContent().getStateToken());
     }
 

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/ui/NewGroupPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/ui/NewGroupPanel.java	2008-07-06 13:47:37 UTC (rev 791)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/ui/NewGroupPanel.java	2008-07-06 13:51:18 UTC (rev 792)
@@ -42,6 +42,7 @@
 import com.google.gwt.user.client.ui.Widget;
 import com.gwtext.client.core.Position;
 import com.gwtext.client.widgets.Panel;
+import com.gwtext.client.widgets.ToolTip;
 import com.gwtext.client.widgets.form.Field;
 import com.gwtext.client.widgets.form.FieldSet;
 import com.gwtext.client.widgets.form.FormPanel;
@@ -58,6 +59,7 @@
     private static final String LONGNAME_FIELD = "long_name";
     private static final String PUBLICDESC_FIELD = "public_desc";
     private static final String TYPEOFGROUP_FIELD = "type_of_group";
+    private static final String TAGS_FIELD = "tags";
 
     private final FormPanel newGroupInitialDataForm;
     private Radio projectRadio;
@@ -71,282 +73,292 @@
     private LicenseChoose licenseChoosePanel;
     private final SiteMessagePanel messagesPanel;
     private final I18nTranslationService i18n;
+    private TextField tags;
 
     public NewGroupPanel(final NewGroupPresenter presenter, final I18nTranslationService i18n) {
-        super(i18n.t("Register a new Group"), true, false, 460, 480, new WizardListener() {
-            public void onBack() {
-                presenter.onBack();
-            }
+	super(i18n.t("Register a new Group"), true, false, 460, 480, new WizardListener() {
+	    public void onBack() {
+		presenter.onBack();
+	    }
 
-            public void onCancel() {
-                presenter.onCancel();
-            }
+	    public void onCancel() {
+		presenter.onCancel();
+	    }
 
-            public void onClose() {
-                presenter.onClose();
-            }
+	    public void onClose() {
+		presenter.onClose();
+	    }
 
-            public void onFinish() {
-                presenter.onFinish();
-            }
+	    public void onFinish() {
+		presenter.onFinish();
+	    }
 
-            public void onNext() {
-                presenter.onNext();
-            }
-        }, i18n);
-        this.i18n = i18n;
-        Field.setMsgTarget("side");
-        final Panel centerPanel = new Panel();
-        centerPanel.setLayout(new FitLayout());
-        deck = new DeckPanel();
-        newGroupInitialDataForm = createNewGroupInitialDataForm(presenter);
-        createChooseLicensePanel();
-        final VerticalPanel newGroupInitialDataVP = new VerticalPanel();
-        final HorizontalPanel newGroupInitialDataHP = new HorizontalPanel();
-        final VerticalPanel chooseLicenseVP = new VerticalPanel();
-        final HorizontalPanel chooseLicenseHP = new HorizontalPanel();
-        final Images img = Images.App.getInstance();
-        newGroupInitialDataHP.add(img.step1().createImage());
-        final Label step1Label = new Label(i18n
-                .t("Please fill this form and follow the next steps to register a new group:"));
-        newGroupInitialDataHP.add(step1Label);
-        newGroupInitialDataVP.add(newGroupInitialDataHP);
-        newGroupInitialDataVP.add(newGroupInitialDataForm);
-        chooseLicenseHP.add(img.step2().createImage());
-        final HTML step2Label = new HTML(i18n.t("Select a license to share your group contents with other people. "
-                + "We recomend [%s] licenses for practical works.", KuneStringUtils.generateHtmlLink(
-                "http://en.wikipedia.org/wiki/Copyleft", "copyleft")));
-        chooseLicenseHP.add(step2Label);
-        final Label licenseTypeLabel = new Label(i18n.t("Choose a license type:"));
-        chooseLicenseVP.add(chooseLicenseHP);
-        chooseLicenseVP.add(licenseTypeLabel);
+	    public void onNext() {
+		presenter.onNext();
+	    }
+	}, i18n);
+	this.i18n = i18n;
+	Field.setMsgTarget("side");
+	final Panel centerPanel = new Panel();
+	centerPanel.setLayout(new FitLayout());
+	deck = new DeckPanel();
+	newGroupInitialDataForm = createNewGroupInitialDataForm(presenter);
+	createChooseLicensePanel();
+	final VerticalPanel newGroupInitialDataVP = new VerticalPanel();
+	final HorizontalPanel newGroupInitialDataHP = new HorizontalPanel();
+	final VerticalPanel chooseLicenseVP = new VerticalPanel();
+	final HorizontalPanel chooseLicenseHP = new HorizontalPanel();
+	final Images img = Images.App.getInstance();
+	newGroupInitialDataHP.add(img.step1().createImage());
+	final Label step1Label = new Label(i18n
+		.t("Please fill this form and follow the next steps to register a new group:"));
+	newGroupInitialDataHP.add(step1Label);
+	newGroupInitialDataVP.add(newGroupInitialDataHP);
+	newGroupInitialDataVP.add(newGroupInitialDataForm);
+	chooseLicenseHP.add(img.step2().createImage());
+	final HTML step2Label = new HTML(i18n.t("Select a license to share your group contents with other people. "
+		+ "We recomend [%s] licenses for practical works.", KuneStringUtils.generateHtmlLink(
+		"http://en.wikipedia.org/wiki/Copyleft", "copyleft")));
+	chooseLicenseHP.add(step2Label);
+	final Label licenseTypeLabel = new Label(i18n.t("Choose a license type:"));
+	chooseLicenseVP.add(chooseLicenseHP);
+	chooseLicenseVP.add(licenseTypeLabel);
 
-        newGroupInitialDataHP.addStyleName("kune-Margin-Medium-b");
-        step1Label.addStyleName("kune-Margin-Large-l");
-        step2Label.addStyleName("kune-Margin-Large-l");
-        step1Label.addStyleName("kune-Margin-Medium-b");
-        step2Label.addStyleName("kune-Margin-Medium-b");
+	newGroupInitialDataHP.addStyleName("kune-Margin-Medium-b");
+	step1Label.addStyleName("kune-Margin-Large-l");
+	step2Label.addStyleName("kune-Margin-Large-l");
+	step1Label.addStyleName("kune-Margin-Medium-b");
+	step2Label.addStyleName("kune-Margin-Medium-b");
 
-        messagesPanel = new SiteMessagePanel(null, false);
-        messagesPanel.setWidth("425");
-        messagesPanel.setMessage("", SiteErrorType.info, SiteErrorType.error);
-        newGroupInitialDataVP.add(messagesPanel);
+	messagesPanel = new SiteMessagePanel(null, false);
+	messagesPanel.setWidth("425");
+	messagesPanel.setMessage("", SiteErrorType.info, SiteErrorType.error);
+	newGroupInitialDataVP.add(messagesPanel);
 
-        chooseLicenseVP.add((Widget) licenseChoosePanel.getView());
-        deck.add(newGroupInitialDataVP);
-        deck.add(chooseLicenseVP);
-        centerPanel.add(deck);
-        super.add(centerPanel);
-        deck.showWidget(0);
-        initBottomButtons();
-        // newGroupInitialDataVP.addStyleName("kune-Default-Form");
-        deck.addStyleName("kune-Default-Form");
-        licenseTypeLabel.addStyleName("kune-License-CC-Header");
-        newGroupInitialDataVP.setHeight("10"); // Ext set this to 100% ...
-        chooseLicenseVP.setHeight("10"); // (same here)
-        super.setFinishText(i18n.t("Register"));
+	chooseLicenseVP.add((Widget) licenseChoosePanel.getView());
+	deck.add(newGroupInitialDataVP);
+	deck.add(chooseLicenseVP);
+	centerPanel.add(deck);
+	super.add(centerPanel);
+	deck.showWidget(0);
+	initBottomButtons();
+	// newGroupInitialDataVP.addStyleName("kune-Default-Form");
+	deck.addStyleName("kune-Default-Form");
+	licenseTypeLabel.addStyleName("kune-License-CC-Header");
+	newGroupInitialDataVP.setHeight("10"); // Ext set this to 100% ...
+	chooseLicenseVP.setHeight("10"); // (same here)
+	super.setFinishText(i18n.t("Register"));
     }
 
     public void clearData() {
-        deck.showWidget(0);
-        newGroupInitialDataForm.getForm().reset();
-        ((LicenseChoosePanel) licenseChoosePanel.getView()).reset();
-        showNewGroupInitialDataForm();
-        initBottomButtons();
-        shortNameField.focus(false);
+	deck.showWidget(0);
+	newGroupInitialDataForm.getForm().reset();
+	((LicenseChoosePanel) licenseChoosePanel.getView()).reset();
+	showNewGroupInitialDataForm();
+	initBottomButtons();
+	shortNameField.focus(false);
     }
 
     public LicenseDTO getLicense() {
-        return licenseChoosePanel.getLicense();
+	return licenseChoosePanel.getLicense();
     }
 
     public String getLongName() {
-        return longNameField.getValueAsString();
+	return longNameField.getValueAsString();
     }
 
     public String getPublicDesc() {
-        return publicDescField.getValueAsString();
+	return publicDescField.getValueAsString();
     }
 
     public String getShortName() {
-        return shortNameField.getValueAsString();
+	return shortNameField.getValueAsString();
     }
 
     public void hideMessage() {
-        messagesPanel.hide();
+	messagesPanel.hide();
     }
 
     public boolean isCommunity() {
-        return communityRadio.getValue();
+	return communityRadio.getValue();
     }
 
     public boolean isFormValid() {
-        return newGroupInitialDataForm.getForm().isValid();
+	return newGroupInitialDataForm.getForm().isValid();
     }
 
     public boolean isOrganization() {
-        return orgRadio.getValue();
+	return orgRadio.getValue();
     }
 
     public boolean isOrphanedProject() {
-        return orphanedProjectRadio.getValue();
+	return orphanedProjectRadio.getValue();
     }
 
     public boolean isProject() {
-        return projectRadio.getValue();
+	return projectRadio.getValue();
     }
 
     public void setMessage(final String message, final SiteErrorType type) {
-        messagesPanel.setMessage(message, type, type);
-        messagesPanel.show();
+	messagesPanel.setMessage(message, type, type);
+	messagesPanel.show();
     }
 
     public void showLicenseForm() {
-        deck.showWidget(1);
+	deck.showWidget(1);
     }
 
     public void showNewGroupInitialDataForm() {
-        deck.showWidget(0);
+	deck.showWidget(0);
     }
 
     private void createChooseLicensePanel() {
-        licenseChoosePanel = SiteBarFactory.createLicenseChoose();
+	licenseChoosePanel = SiteBarFactory.createLicenseChoose();
     }
 
     private FormPanel createNewGroupInitialDataForm(final NewGroupPresenter presenter) {
-        final FormPanel form = new FormPanel();
-        form.setBorder(false);
-        form.setWidth(420);
-        form.setLabelWidth(100);
-        form.setLabelAlign(Position.RIGHT);
-        form.setButtonAlign(Position.RIGHT);
+	final FormPanel form = new FormPanel();
+	form.setBorder(false);
+	form.setWidth(420);
+	form.setLabelWidth(100);
+	form.setLabelAlign(Position.RIGHT);
+	form.setButtonAlign(Position.RIGHT);
 
-        shortNameField = new TextField();
-        shortNameField.setFieldLabel(i18n.t("Short name"));
-        shortNameField.
+	shortNameField = new TextField();
+	shortNameField.setFieldLabel(i18n.t("Short name"));
+	shortNameField.
 
-        setName(SHORTNAME_FIELD);
-        shortNameField.setWidth(175);
-        shortNameField.setMinLength(3);
-        shortNameField.setMaxLength(15);
-        shortNameField.setAllowBlank(false);
-        shortNameField.setRegex("^[a-z0-9_\\-]+$");
-        shortNameField.setMinLengthText(i18n.t(MUST_BE_BETWEEN_3_AND_15));
-        shortNameField.setMaxLengthText(i18n.t(MUST_BE_BETWEEN_3_AND_15));
-        shortNameField.setRegexText(i18n.t(MUST_BE_BETWEEN_3_AND_15));
-        shortNameField.setValidationDelay(1000);
+	setName(SHORTNAME_FIELD);
+	shortNameField.setWidth(175);
+	shortNameField.setMinLength(3);
+	shortNameField.setMaxLength(15);
+	shortNameField.setAllowBlank(false);
+	shortNameField.setRegex("^[a-z0-9_\\-]+$");
+	shortNameField.setMinLengthText(i18n.t(MUST_BE_BETWEEN_3_AND_15));
+	shortNameField.setMaxLengthText(i18n.t(MUST_BE_BETWEEN_3_AND_15));
+	shortNameField.setRegexText(i18n.t(MUST_BE_BETWEEN_3_AND_15));
+	shortNameField.setValidationDelay(1000);
 
-        form.add(shortNameField);
+	form.add(shortNameField);
 
-        longNameField = new TextField();
-        longNameField.setFieldLabel(i18n.t("Long name"));
-        longNameField.setName(LONGNAME_FIELD);
-        longNameField.setWidth(300);
-        longNameField.setAllowBlank(false);
+	longNameField = new TextField();
+	longNameField.setFieldLabel(i18n.t("Long name"));
+	longNameField.setName(LONGNAME_FIELD);
+	longNameField.setWidth(300);
+	longNameField.setAllowBlank(false);
 
-        longNameField.setMinLength(3);
-        longNameField.setMaxLength(50);
-        longNameField.setValidationDelay(1000);
-        form.add(longNameField);
+	longNameField.setMinLength(3);
+	longNameField.setMaxLength(50);
+	longNameField.setValidationDelay(1000);
+	form.add(longNameField);
 
-        publicDescField = new TextArea();
-        publicDescField.setFieldLabel(i18n.t("Public description"));
-        publicDescField.setName(PUBLICDESC_FIELD);
-        publicDescField.setWidth(300);
-        publicDescField.setAllowBlank(false);
-        publicDescField.setMinLength(10);
-        publicDescField.setMaxLength(255);
-        publicDescField.setValidationDelay(1000);
+	publicDescField = new TextArea();
+	publicDescField.setFieldLabel(i18n.t("Public description"));
+	publicDescField.setName(PUBLICDESC_FIELD);
+	publicDescField.setWidth(300);
+	publicDescField.setAllowBlank(false);
+	publicDescField.setMinLength(10);
+	publicDescField.setMaxLength(255);
+	publicDescField.setValidationDelay(1000);
+	form.add(publicDescField);
 
-        form.add(publicDescField);
+	tags = new TextField();
+	tags.setFieldLabel(i18n.t("Group tags"));
+	tags.setName(TAGS_FIELD);
+	tags.setWidth(300);
+	tags.setAllowBlank(false);
+	final ToolTip fieldToolTip = new ToolTip(i18n.t("Some words related to this group (separated with spaces)."));
+	fieldToolTip.applyTo(tags);
+	tags.setValidationDelay(1000);
+	form.add(tags);
 
-        final FieldSet groupTypeFieldSet = new FieldSet(i18n.t("Type of group"));
-        groupTypeFieldSet.setStyle("margin-left: 105px");
+	final FieldSet groupTypeFieldSet = new FieldSet(i18n.t("Type of group"));
+	groupTypeFieldSet.setStyle("margin-left: 105px");
 
-        form.add(groupTypeFieldSet);
+	form.add(groupTypeFieldSet);
 
-        projectRadio = new Radio();
-        createRadio(groupTypeFieldSet, projectRadio, "Project",
-                "A project is a kind of group in which new members inclusion "
-                        + "is moderated by the project administrators. "
-                        + "An administrator is the person who creates the project "
-                        + "and other people she/he choose in the future as administrator too.");
-        projectRadio.setChecked(true);
+	projectRadio = new Radio();
+	createRadio(groupTypeFieldSet, projectRadio, "Project",
+		"A project is a kind of group in which new members inclusion "
+			+ "is moderated by the project administrators. "
+			+ "An administrator is the person who creates the project "
+			+ "and other people she/he choose in the future as administrator too.");
+	projectRadio.setChecked(true);
 
-        orgRadio = new Radio();
-        createRadio(groupTypeFieldSet, orgRadio, "Organization", "An organization is like a project, "
-                + "but organizations must be a legal entity.");
+	orgRadio = new Radio();
+	createRadio(groupTypeFieldSet, orgRadio, "Organization", "An organization is like a project, "
+		+ "but organizations must be a legal entity.");
 
-        communityRadio = new Radio();
-        createRadio(groupTypeFieldSet, communityRadio, "Community", "Communities are social group of persons "
-                + "with shared interests and they are open to new members "
-                + "(for instance the environmental community or the LGBT community). "
-                + "Normally they aren't a legal entity.");
+	communityRadio = new Radio();
+	createRadio(groupTypeFieldSet, communityRadio, "Community", "Communities are social group of persons "
+		+ "with shared interests and they are open to new members "
+		+ "(for instance the environmental community or the LGBT community). "
+		+ "Normally they aren't a legal entity.");
 
-        orphanedProjectRadio = new Radio();
-        createRadio(groupTypeFieldSet, orphanedProjectRadio, "Orphaned Project",
-                "If you have an idea but you don't have " + "capacity/possibilities/resources to work on it, "
-                        + "just register a orphaned project, and permit others to work and develop it.");
+	orphanedProjectRadio = new Radio();
+	createRadio(groupTypeFieldSet, orphanedProjectRadio, "Orphaned Project",
+		"If you have an idea but you don't have " + "capacity/possibilities/resources to work on it, "
+			+ "just register a orphaned project, and permit others to work and develop it.");
 
-        groupTypeFieldSet.setCollapsible(false);
+	groupTypeFieldSet.setCollapsible(false);
 
-        shortNameField.addListener(new TextFieldListenerAdapter() {
-            public void onChange(final Field field, final Object newVal, final Object oldVal) {
-                presenter.onChange();
-            }
-        });
+	shortNameField.addListener(new TextFieldListenerAdapter() {
+	    public void onChange(final Field field, final Object newVal, final Object oldVal) {
+		presenter.onChange();
+	    }
+	});
 
-        longNameField.addListener(new TextFieldListenerAdapter() {
-            public void onChange(final Field field, final Object newVal, final Object oldVal) {
-                presenter.onChange();
-            }
-        });
+	longNameField.addListener(new TextFieldListenerAdapter() {
+	    public void onChange(final Field field, final Object newVal, final Object oldVal) {
+		presenter.onChange();
+	    }
+	});
 
-        publicDescField.addListener(new TextFieldListenerAdapter() {
-            public void onChange(final Field field, final Object newVal, final Object oldVal) {
-                presenter.onChange();
-            }
-        });
+	publicDescField.addListener(new TextFieldListenerAdapter() {
+	    public void onChange(final Field field, final Object newVal, final Object oldVal) {
+		presenter.onChange();
+	    }
+	});
 
-        return form;
+	return form;
     }
 
     private void createRadio(final FieldSet fieldSet, final Radio radio, final String radioLabel, final String radioTip) {
-        radio.setName(TYPEOFGROUP_FIELD);
-        radio.setBoxLabel(KuneUiUtils.genQuickTipLabel(i18n.t(radioLabel), null, i18n.t(radioTip), INFO_IMAGE));
-        radio.setAutoCreate(true);
-        radio.setHideLabel(true);
-        fieldSet.add(radio);
-        // ToolTip fieldToolTip = new ToolTip("Tooltip on a Field.");
-        // fieldToolTip.applyTo(captchaField);
-        // Image info = new Image("images/silk/information.gif");
-        //
-        // ToolTip tooltip = new ToolTip();
-        // tooltip.setHtml("A <b>CAPTCHA</b> is a challenge-response test to
-        // determine whether " +
-        // "the user is human.");
-        // tooltip.setWidth(150);
-        // tooltip.applyTo(info.getElement());
+	radio.setName(TYPEOFGROUP_FIELD);
+	radio.setBoxLabel(KuneUiUtils.genQuickTipLabel(i18n.t(radioLabel), null, i18n.t(radioTip), INFO_IMAGE));
+	radio.setAutoCreate(true);
+	radio.setHideLabel(true);
+	fieldSet.add(radio);
+	// ToolTip fieldToolTip = new ToolTip("Tooltip on a Field.");
+	// fieldToolTip.applyTo(captchaField);
+	// Image info = new Image("images/silk/information.gif");
+	//
+	// ToolTip tooltip = new ToolTip();
+	// tooltip.setHtml("A <b>CAPTCHA</b> is a challenge-response test to
+	// determine whether " +
+	// "the user is human.");
+	// tooltip.setWidth(150);
+	// tooltip.applyTo(info.getElement());
 
-        // Tested:
-        // Set tooltip
-        // Image info = new Image();
-        // ChatIcons.App.getInstance().info().applyTo(info);
-        // ToolTip tooltip = new ToolTip();
-        // tooltip.setHtml(i18n.t("Note that the 'Jabber Id' sometimes is the
-        // same as the email "
-        // + "(in gmail accounts for instance)."));
-        // tooltip.setWidth(250);
-        // tooltip.applyTo(info.getElement());
-        // jidPanel.addToRow(info, new ColumnLayoutData(1));
-        //
-        // formPanel.add(jidPanel);
+	// Tested:
+	// Set tooltip
+	// Image info = new Image();
+	// ChatIcons.App.getInstance().info().applyTo(info);
+	// ToolTip tooltip = new ToolTip();
+	// tooltip.setHtml(i18n.t("Note that the 'Jabber Id' sometimes is the
+	// same as the email "
+	// + "(in gmail accounts for instance)."));
+	// tooltip.setWidth(250);
+	// tooltip.applyTo(info.getElement());
+	// jidPanel.addToRow(info, new ColumnLayoutData(1));
+	//
+	// formPanel.add(jidPanel);
 
     }
 
     private void initBottomButtons() {
-        super.setEnabledBackButton(false);
-        super.setEnabledFinishButton(false);
-        super.setEnabledNextButton(true);
+	super.setEnabledBackButton(false);
+	super.setEnabledFinishButton(false);
+	super.setEnabledNextButton(true);
     }
 }

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/Workspace.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/Workspace.java	2008-07-06 13:47:37 UTC (rev 791)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/Workspace.java	2008-07-06 13:51:18 UTC (rev 792)
@@ -35,56 +35,54 @@
 
     public static final int MIN_HEIGHT = 480;
 
-    public void showError(Throwable caught);
+    public void adjustSize(int windowWidth, int clientHeight);
 
-    public void showGroup(GroupDTO group, boolean isAdmin);
+    public void attachToExtensibleWidget(ExtensibleWidgetChild ext);
 
-    public void setTool(String toolName);
+    public void attachTools(Iterator<ClientTool> iterator);
 
-    public void setContext(WorkspaceComponent contextComponent);
+    public int calculateHeight(int clientHeight);
 
-    public void setContent(WorkspaceComponent contentComponent);
+    public int calculateWidth(int clientWidth);
 
-    public void attachTools(Iterator<ClientTool> iterator);
+    public void clearExtensibleWidget(String extId);
 
-    public void adjustSize(int windowWidth, int clientHeight);
+    public void detachFromExtensibleWidget(ExtensibleWidgetChild ext);
 
-    public LicenseComponent getLicenseComponent();
+    public ContentBottomToolBarComponent getContentBottomToolBarComponent();
 
+    public ContentSubTitleComponent getContentSubTitleComponent();
+
     public ContentTitleComponent getContentTitleComponent();
 
-    public ContentSubTitleComponent getContentSubTitleComponent();
+    public GroupLiveSearchComponent getGroupLiveSearchComponent();
 
     public GroupMembersComponent getGroupMembersComponent();
 
-    public ParticipationComponent getParticipationComponent();
-
     public GroupSummaryComponent getGroupSummaryComponent();
 
-    public GroupLiveSearchComponent getGroupLiveSearchComponent();
+    public I18nTranslatorComponent getI18nTranslatorComponent();
 
-    public UserLiveSearchComponent getUserLiveSearchComponent();
+    public LicenseComponent getLicenseComponent();
 
+    public ParticipationComponent getParticipationComponent();
+
     public TagsComponent getTagsComponent();
 
-    public void setTheme(String theme);
-
     public ThemeMenuComponent getThemeMenuComponent();
 
-    public void setVisible(boolean visible);
+    public UserLiveSearchComponent getUserLiveSearchComponent();
 
-    public ContentBottomToolBarComponent getContentBottomToolBarComponent();
+    public void setContent(WorkspaceComponent contentComponent);
 
-    public void attachToExtensibleWidget(ExtensibleWidgetChild ext);
+    public void setContext(WorkspaceComponent contextComponent);
 
-    public void detachFromExtensibleWidget(ExtensibleWidgetChild ext);
+    public void setTheme(String theme);
 
-    public I18nTranslatorComponent getI18nTranslatorComponent();
+    public void setTool(String toolName);
 
-    public int calculateWidth(int clientWidth);
+    public void setVisible(boolean visible);
 
-    public int calculateHeight(int clientHeight);
+    public void showGroup(GroupDTO group, boolean isAdmin);
 
-    public void clearExtensibleWidget(String extId);
-
 }
\ No newline at end of file

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/WorkspacePresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/WorkspacePresenter.java	2008-07-06 13:47:37 UTC (rev 791)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/WorkspacePresenter.java	2008-07-06 13:51:18 UTC (rev 792)
@@ -47,159 +47,155 @@
     public WorkspacePresenter(final Session session) {
     }
 
-    public void init(final WorkspaceView view, final ExtensibleWidgetsManager extensionPointManager) {
-        this.view = view;
-        this.extensionPointManager = extensionPointManager;
-        this.components = new WorkspaceUIComponents(this);
-        view.setComponents(components);
-        view.registerUIExtensionPoints();
+    public void adjustSize(final int windowWidth, final int clientHeight) {
+	view.adjustSize(windowWidth, clientHeight);
     }
 
-    public void showError(final Throwable caught) {
-
+    public void attachToExtensibleWidget(final ExtensibleWidgetChild child) {
+	extensionPointManager.attachToExtensible(child);
     }
 
-    public void showGroup(final GroupDTO group, final boolean isAdmin) {
-        view.setGroupLogo(group.getLongName());
-        view.setPutYourLogoVisible(isAdmin);
+    public void attachTools(final Iterator<ClientTool> iterator) {
+	ClientTool clientTool;
+	while (iterator.hasNext()) {
+	    clientTool = iterator.next();
+	    view.addTab(clientTool.getTrigger());
+	}
     }
 
-    public void attachTools(final Iterator<ClientTool> iterator) {
-        ClientTool clientTool;
-        while (iterator.hasNext()) {
-            clientTool = iterator.next();
-            view.addTab(clientTool.getTrigger());
-        }
+    /**
+     * Calculates Workspaceheight depending of the client Window size but with a
+     * limit
+     */
+    public int calculateHeight(final int clientHeight) {
+	// 15 is the size of scrollbar
+	return clientHeight <= MIN_HEIGHT ? MIN_HEIGHT - 15 : clientHeight;
     }
 
-    public void setTool(final String toolName) {
-        view.setTool(toolName);
+    /**
+     * Calculates Workspace width depending of the client Window size but with a
+     * limit
+     */
+    public int calculateWidth(final int clientWidth) {
+	return clientWidth <= MIN_WIDTH ? MIN_WIDTH - 15 : clientWidth;
     }
 
-    public void setContext(final WorkspaceComponent contextComponent) {
-        if (context != null) {
-            context.detach();
-        }
-        context = contextComponent;
-        context.attach();
-        view.setContext(context.getView());
+    public void clearExtensibleWidget(final String id) {
+	extensionPointManager.detachAll(id);
     }
 
-    public void setContent(final WorkspaceComponent contentComponent) {
-        if (content != null) {
-            content.detach();
-        }
-        content = contentComponent;
-        content.attach();
-        view.setContent(content.getView());
+    public void detachFromExtensibleWidget(final ExtensibleWidgetChild child) {
+	extensionPointManager.detachFromExtensible(child);
     }
 
-    public View getView() {
-        return view;
+    public ContentBottomToolBarComponent getContentBottomToolBarComponent() {
+	return components.getContentBottomToolBarComponent();
     }
 
-    public LicenseComponent getLicenseComponent() {
-        return components.getLicenseComponent();
+    public ContentSubTitleComponent getContentSubTitleComponent() {
+	return components.getContentSubTitleComponent();
     }
 
     public ContentTitleComponent getContentTitleComponent() {
-        return components.getContentTitleComponent();
+	return components.getContentTitleComponent();
     }
 
-    public ContentSubTitleComponent getContentSubTitleComponent() {
-        return components.getContentSubTitleComponent();
+    public GroupLiveSearchComponent getGroupLiveSearchComponent() {
+	return components.getGroupLiveSearchComponent();
     }
 
     public GroupMembersComponent getGroupMembersComponent() {
-        return components.getGroupMembersComponent();
+	return components.getGroupMembersComponent();
     }
 
-    public ParticipationComponent getParticipationComponent() {
-        return components.getParticipationComponent();
+    public GroupSummaryComponent getGroupSummaryComponent() {
+	return components.getGroupSummaryComponent();
     }
 
-    public GroupSummaryComponent getGroupSummaryComponent() {
-        return components.getGroupSummaryComponent();
+    public I18nTranslatorComponent getI18nTranslatorComponent() {
+	return components.getI18nTranslatorComponent();
     }
 
-    public ThemeMenuComponent getThemeMenuComponent() {
-        return components.getThemeMenuComponent();
+    public LicenseComponent getLicenseComponent() {
+	return components.getLicenseComponent();
     }
 
-    public ContentBottomToolBarComponent getContentBottomToolBarComponent() {
-        return components.getContentBottomToolBarComponent();
+    public ParticipationComponent getParticipationComponent() {
+	return components.getParticipationComponent();
     }
 
     public TagsComponent getTagsComponent() {
-        return components.getTagsComponent();
+	return components.getTagsComponent();
     }
 
-    public GroupLiveSearchComponent getGroupLiveSearchComponent() {
-        return components.getGroupLiveSearchComponent();
+    public ThemeMenuComponent getThemeMenuComponent() {
+	return components.getThemeMenuComponent();
     }
 
     public UserLiveSearchComponent getUserLiveSearchComponent() {
-        return components.getUserLiveSearchComponent();
+	return components.getUserLiveSearchComponent();
     }
 
-    public I18nTranslatorComponent getI18nTranslatorComponent() {
-        return components.getI18nTranslatorComponent();
+    public View getView() {
+	return view;
     }
 
-    public void setTheme(final String theme) {
-        view.setTheme(theme);
+    public void init(final WorkspaceView view, final ExtensibleWidgetsManager extensionPointManager) {
+	this.view = view;
+	this.extensionPointManager = extensionPointManager;
+	this.components = new WorkspaceUIComponents(this);
+	view.setComponents(components);
+	view.registerUIExtensionPoints();
     }
 
-    public void setVisible(final boolean visible) {
-        view.setVisible(visible);
+    public void onSplitterStartResizing(final Widget sender) {
+	DefaultDispatcher.getInstance().fire(WorkspaceEvents.WS_SPLITTER_STARTRESIZING, null);
     }
 
-    public void attachToExtensibleWidget(final ExtensibleWidgetChild child) {
-        extensionPointManager.attachToExtensible(child);
+    public void onSplitterStopResizing(final Widget sender) {
+	DefaultDispatcher.getInstance().fire(WorkspaceEvents.WS_SPLITTER_STOPRESIZING, null);
     }
 
-    public void detachFromExtensibleWidget(final ExtensibleWidgetChild child) {
-        extensionPointManager.detachFromExtensible(child);
+    public void registerExtensibleWidget(final String id, final ExtensibleWidget extensibleWidget) {
+	extensionPointManager.registerExtensibleWidget(id, extensibleWidget);
     }
 
-    public void onSplitterStartResizing(final Widget sender) {
-        DefaultDispatcher.getInstance().fire(WorkspaceEvents.WS_SPLITTER_STARTRESIZING, null);
+    public void registerExtensibleWidgets(final HashMap<String, ExtensibleWidget> extensibleWidget) {
+	extensionPointManager.registerExtensibleWidgets(extensibleWidget);
     }
 
-    public void onSplitterStopResizing(final Widget sender) {
-        DefaultDispatcher.getInstance().fire(WorkspaceEvents.WS_SPLITTER_STOPRESIZING, null);
+    public void setContent(final WorkspaceComponent contentComponent) {
+	if (content != null) {
+	    content.detach();
+	}
+	content = contentComponent;
+	content.attach();
+	view.setContent(content.getView());
     }
 
-    /**
-     * Calculates Workspaceheight depending of the client Window size but with a
-     * limit
-     */
-    public int calculateHeight(final int clientHeight) {
-        // 15 is the size of scrollbar
-        return clientHeight <= MIN_HEIGHT ? MIN_HEIGHT - 15 : clientHeight;
+    public void setContext(final WorkspaceComponent contextComponent) {
+	if (context != null) {
+	    context.detach();
+	}
+	context = contextComponent;
+	context.attach();
+	view.setContext(context.getView());
     }
 
-    /**
-     * Calculates Workspace width depending of the client Window size but with a
-     * limit
-     */
-    public int calculateWidth(final int clientWidth) {
-        return clientWidth <= MIN_WIDTH ? MIN_WIDTH - 15 : clientWidth;
+    public void setTheme(final String theme) {
+	view.setTheme(theme);
     }
 
-    public void adjustSize(final int windowWidth, final int clientHeight) {
-        view.adjustSize(windowWidth, clientHeight);
+    public void setTool(final String toolName) {
+	view.setTool(toolName);
     }
 
-    public void registerExtensibleWidgets(final HashMap<String, ExtensibleWidget> extensibleWidget) {
-        extensionPointManager.registerExtensibleWidgets(extensibleWidget);
+    public void setVisible(final boolean visible) {
+	view.setVisible(visible);
     }
 
-    public void registerExtensibleWidget(final String id, final ExtensibleWidget extensibleWidget) {
-        extensionPointManager.registerExtensibleWidget(id, extensibleWidget);
+    public void showGroup(final GroupDTO group, final boolean isAdmin) {
+	view.setGroupLogo(group.getLongName());
+	view.setPutYourLogoVisible(isAdmin);
     }
-
-    public void clearExtensibleWidget(final String id) {
-        extensionPointManager.detachAll(id);
-    }
 }

Modified: trunk/src/main/resources/db/update-0007-i18n.sql
===================================================================
--- trunk/src/main/resources/db/update-0007-i18n.sql	2008-07-06 13:47:37 UTC (rev 791)
+++ trunk/src/main/resources/db/update-0007-i18n.sql	2008-07-06 13:51:18 UTC (rev 792)
@@ -35,8 +35,6 @@
 INSERT INTO `globalize_translations` VALUES (NULL,'',NULL,1,'','Created, now you can edit the document','Created, now you can edit the document','kune_core',1819);
 INSERT INTO `globalize_translations` VALUES (NULL,'',NULL,1,'','Sorry, this functionality is currently in development','Sorry, this functionality is currently in development','kune_core',1819);
 INSERT INTO `globalize_translations` VALUES (NULL,'',NULL,1,'','This is an orphaned project, if you are interested please request to join to work on it','This is an orphaned project, if you are interested please request to join to work on it','kune_core',1819);
-INSERT INTO `globalize_translations` VALUES (NULL,'',NULL,1,'','Bienvenido','Welcome','kune_core',5889);
-INSERT INTO `globalize_translations` VALUES (NULL,'',NULL,1,'','Este es un ejemplo de documento. Puede modificar si es colaborador/a de este grupo y/o borrarlo si es administrador/a de este grupo.',"This is an example of document. You can modify it if you are a group\'s collaborator and/or delete it if you are admin.",'kune_core',5889);
 INSERT INTO `globalize_translations` VALUES (NULL,'',NULL,1,'','Borrar','Delete [%NT used in button]','kune_core',5889);
 INSERT INTO `globalize_translations` VALUES (NULL,'',NULL,1,'','Translate','Translate [%NT used in button]','kune_core',5889);
 INSERT INTO `globalize_translations` VALUES (NULL,'',NULL,1,'','Solicitar el participar en este grupo','Request to participate in this group','kune_core',5889);

Modified: trunk/src/main/resources/db/update-0008-i18n.sql
===================================================================
--- trunk/src/main/resources/db/update-0008-i18n.sql	2008-07-06 13:47:37 UTC (rev 791)
+++ trunk/src/main/resources/db/update-0008-i18n.sql	2008-07-06 13:51:18 UTC (rev 792)
@@ -1,6 +1,4 @@
 INSERT INTO `globalize_languages` VALUES (7597,'pt-br','ltr','Brazilian Portuguese','','','',NULL,NULL,'\0','português do Brasil','','pt-br','c == 1 ? 1 : 2','','L');
-INSERT INTO `globalize_translations` VALUES (NULL,'',NULL,1,'','Welcome','Welcome','kune_core',1819);
-INSERT INTO `globalize_translations` VALUES (NULL,'',NULL,1,'',"This is an example of document. You can modify it if you are a group\'s collaborator and/or delete it if you are admin.","This is an example of document. You can modify it if you are a group\'s collaborator and/or delete it if you are admin.",'kune_core',1819);
 INSERT INTO `globalize_translations` VALUES (NULL,'',NULL,1,'','Content not found','Content not found','kune_core',1819);
 INSERT INTO `globalize_translations` VALUES (NULL,'',NULL,1,'','Double click to rename','Double click to rename','kune_core',1819);
 INSERT INTO `globalize_translations` VALUES (NULL,'',NULL,1,'','Contenido no encontrado','Content not found','kune_core',5889);

Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/DatabaseInitializationTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/DatabaseInitializationTest.java	2008-07-06 13:47:37 UTC (rev 791)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/DatabaseInitializationTest.java	2008-07-06 13:51:18 UTC (rev 792)
@@ -36,39 +36,39 @@
 
     @Before
     public void init() {
-        new IntegrationTestHelper(this);
-        defaultGroup = groupManager.getDefaultGroup();
+	new IntegrationTestHelper(this);
+	defaultGroup = groupManager.getDefaultGroup();
     }
 
     @Test
-    public void testToolConfiguration() {
-        assertNotNull(defaultGroup);
-        ToolConfiguration docToolConfig = defaultGroup.getToolConfiguration(DocumentServerTool.NAME);
-        assertNotNull(docToolConfig);
-        ToolConfiguration chatToolConfig = defaultGroup.getToolConfiguration(ChatServerTool.NAME);
-        assertNotNull(chatToolConfig);
+    public void testDefaultContentAndLicenses() {
+	assertNotNull(defaultGroup.getDefaultContent());
+	assertTrue(licenseManager.getAll().size() > 0);
+	assertNotNull(defaultGroup.getDefaultLicense());
     }
 
     @Test
     public void testDefaultDocumentContent() {
-        Content content = defaultGroup.getDefaultContent();
-        assertEquals(DocumentServerTool.TYPE_DOCUMENT, content.getTypeId());
-        Container rootDocFolder = content.getContainer();
-        assertEquals(true, rootDocFolder.isRoot());
+	final Content content = defaultGroup.getDefaultContent();
+	assertEquals(DocumentServerTool.TYPE_DOCUMENT, content.getTypeId());
+	final Container rootDocFolder = content.getContainer();
+	assertEquals(true, rootDocFolder.isRoot());
     }
 
     @Test
-    public void testDefaultContentAndLicenses() {
-        assertNotNull(defaultGroup.getDefaultContent());
-        assertTrue(licenseManager.getAll().size() > 0);
-        assertNotNull(defaultGroup.getDefaultLicense());
+    public void testI18n() {
+	assertNotNull(countryManager.find(new Long(75)));
+	assertNotNull(languageManager.findByCode("en"));
+	assertNotNull(languageManager.find(new Long(1819)));
     }
 
     @Test
-    public void testI18n() {
-        assertNotNull(countryManager.find(new Long(75)));
-        assertNotNull(languageManager.findByCode("en"));
-        assertNotNull(languageManager.find(new Long(1819)));
+    public void testToolConfiguration() {
+	assertNotNull(defaultGroup);
+	final ToolConfiguration docToolConfig = defaultGroup.getToolConfiguration(DocumentServerTool.NAME);
+	assertNotNull(docToolConfig);
+	final ToolConfiguration chatToolConfig = defaultGroup.getToolConfiguration(ChatServerTool.NAME);
+	assertNotNull(chatToolConfig);
     }
 
 }




More information about the kune-commits mailing list