[jboss-svn-commits] JBL Code SVN: r27339 - in labs/jbosslabs/labs-3.0-build/integration/mgnl-modules: jbossorg-cs-paragraphs and 21 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Jun 30 09:16:32 EDT 2009


Author: jchocholacek
Date: 2009-06-30 09:16:31 -0400 (Tue, 30 Jun 2009)
New Revision: 27339

Added:
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/.classpath
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/.project
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/pom.xml
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/ClearspaceConfig.java
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/CsParsModule.java
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/CsParsVersionHandler.java
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/Member.java
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/MemberSpotlight.java
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/META-INF/
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/META-INF/magnolia/
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/META-INF/magnolia/jbossorg-cs-paragraphs.xml
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-bootstrap/
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-bootstrap/jbossorg-cs-paragraphs/
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-bootstrap/jbossorg-cs-paragraphs/config.modules.jbossorg-cs-paragraphs.xml
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-files/
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-files/templates/
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-files/templates/jbossorg/
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-files/templates/jbossorg/paragraphs/
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-files/templates/jbossorg/paragraphs/jbossorg-cs-paragraphs/
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-files/templates/jbossorg/paragraphs/jbossorg-cs-paragraphs/member.jsp
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-files/templates/jbossorg/paragraphs/jbossorg-cs-paragraphs/member_list.jsp
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-files/templates/jbossorg/paragraphs/jbossorg-cs-paragraphs/member_spotlight.jsp
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-resources/
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-resources/jbossorg-cs-paragraphs/
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-resources/jbossorg-cs-paragraphs/cs-paragraphs.css
   labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/target/
Log:
first version published on staging

Added: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/.classpath
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/.classpath	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/.classpath	2009-06-30 13:16:31 UTC (rev 27339)
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry including="**/*.java" kind="src" path="src/main/java"/>
+	<classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
+	<classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.1/activation-1.1.jar" sourcepath="M2_REPO/javax/activation/activation/1.1/activation-1.1-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/javax/jcr/jcr/1.0/jcr-1.0.jar" sourcepath="M2_REPO/javax/jcr/jcr/1.0/jcr-1.0-sources.jar">
+		<attributes>
+			<attribute name="javadoc_location" value="jar:file:/home/jchochol/.m2/repository/javax/jcr/jcr/1.0/jcr-1.0-javadoc.jar!/"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="var" path="M2_REPO/javax/servlet/jstl/1.1.2/jstl-1.1.2.jar" sourcepath="M2_REPO/javax/servlet/jstl/1.1.2/jstl-1.1.2-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/javax/mail/mail/1.4/mail-1.4.jar" sourcepath="M2_REPO/javax/mail/mail/1.4/mail-1.4-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.4/servlet-api-2.4.jar" sourcepath="M2_REPO/javax/servlet/servlet-api/2.4/servlet-api-2.4-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar" sourcepath="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0-sources.jar">
+		<attributes>
+			<attribute name="javadoc_location" value="jar:file:/home/jchochol/.m2/repository/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0-javadoc.jar!/"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="var" path="M2_REPO/commons-betwixt/commons-betwixt/0.7/commons-betwixt-0.7.jar" sourcepath="M2_REPO/commons-betwixt/commons-betwixt/0.7/commons-betwixt-0.7-sources.jar">
+		<attributes>
+			<attribute name="javadoc_location" value="jar:file:/home/jchochol/.m2/repository/commons-betwixt/commons-betwixt/0.7/commons-betwixt-0.7-javadoc.jar!/"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="var" path="M2_REPO/commons-chain/commons-chain/1.1/commons-chain-1.1.jar" sourcepath="M2_REPO/commons-chain/commons-chain/1.1/commons-chain-1.1-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.3/commons-codec-1.3.jar" sourcepath="M2_REPO/commons-codec/commons-codec/1.3/commons-codec-1.3-sources.jar">
+		<attributes>
+			<attribute name="javadoc_location" value="jar:file:/home/jchochol/.m2/repository/commons-codec/commons-codec/1.3/commons-codec-1.3-javadoc.jar!/"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/commons-digester/commons-digester/1.6/commons-digester-1.6.jar"/>
+	<classpathentry kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.2/commons-fileupload-1.2.jar" sourcepath="M2_REPO/commons-fileupload/commons-fileupload/1.2/commons-fileupload-1.2-sources.jar">
+		<attributes>
+			<attribute name="javadoc_location" value="jar:file:/home/jchochol/.m2/repository/commons-fileupload/commons-fileupload/1.2/commons-fileupload-1.2-javadoc.jar!/"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="var" path="M2_REPO/commons-httpclient/commons-httpclient/3.0.1/commons-httpclient-3.0.1.jar" sourcepath="M2_REPO/commons-httpclient/commons-httpclient/3.0.1/commons-httpclient-3.0.1-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.3/commons-io-1.3.jar" sourcepath="M2_REPO/commons-io/commons-io/1.3/commons-io-1.3-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.3/commons-lang-2.3.jar" sourcepath="M2_REPO/commons-lang/commons-lang/2.3/commons-lang-2.3-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/commons-pool/commons-pool/1.3/commons-pool-1.3.jar"/>
+	<classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar" sourcepath="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/servlets/com/cos/05Nov2002/cos-05Nov2002.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/apache/derby/derby/10.2.1.6/derby-10.2.1.6.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/freemarker/freemarker/2.3.10/freemarker-2.3.10.jar" sourcepath="M2_REPO/org/freemarker/freemarker/2.3.10/freemarker-2.3.10-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-api/1.4/jackrabbit-api-1.4.jar" sourcepath="M2_REPO/org/apache/jackrabbit/jackrabbit-api/1.4/jackrabbit-api-1.4-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-core/1.4.5/jackrabbit-core-1.4.5.jar" sourcepath="M2_REPO/org/apache/jackrabbit/jackrabbit-core/1.4.5/jackrabbit-core-1.4.5-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-jcr-commons/1.4/jackrabbit-jcr-commons-1.4.jar" sourcepath="M2_REPO/org/apache/jackrabbit/jackrabbit-jcr-commons/1.4/jackrabbit-jcr-commons-1.4-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-spi/1.4/jackrabbit-spi-1.4.jar" sourcepath="M2_REPO/org/apache/jackrabbit/jackrabbit-spi/1.4/jackrabbit-spi-1.4-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-spi-commons/1.4/jackrabbit-spi-commons-1.4.jar" sourcepath="M2_REPO/org/apache/jackrabbit/jackrabbit-spi-commons/1.4/jackrabbit-spi-commons-1.4-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-text-extractors/1.4/jackrabbit-text-extractors-1.4.jar" sourcepath="M2_REPO/org/apache/jackrabbit/jackrabbit-text-extractors/1.4/jackrabbit-text-extractors-1.4-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/jaxen/jaxen/1.0-FCS/jaxen-1.0-FCS.jar" sourcepath="M2_REPO/jaxen/jaxen/1.0-FCS/jaxen-1.0-FCS-sources.jar">
+		<attributes>
+			<attribute name="javadoc_location" value="jar:file:/home/jchochol/.m2/repository/jaxen/jaxen/1.0-FCS/jaxen-1.0-FCS-javadoc.jar!/"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="var" path="M2_REPO/org/slf4j/jcl104-over-slf4j/1.4.1/jcl104-over-slf4j-1.4.1.jar" sourcepath="M2_REPO/org/slf4j/jcl104-over-slf4j/1.4.1/jcl104-over-slf4j-1.4.1-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/jdom/jdom/1.0/jdom-1.0.jar" sourcepath="M2_REPO/jdom/jdom/1.0/jdom-1.0-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/safehaus/jug/jug/2.0.0/jug-2.0.0-asl.jar"/>
+	<classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.13/log4j-1.2.13.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/apache/lucene/lucene-core/2.2.0/lucene-core-2.2.0.jar"/>
+	<classpathentry kind="var" path="M2_REPO/info/magnolia/magnolia-core/3.6.3/magnolia-core-3.6.3.jar"/>
+	<classpathentry kind="var" path="M2_REPO/info/magnolia/magnolia-module-admininterface/3.6.3/magnolia-module-admininterface-3.6.3.jar"/>
+	<classpathentry kind="var" path="M2_REPO/nekohtml/nekohtml/0.9.4/nekohtml-0.9.4.jar" sourcepath="M2_REPO/nekohtml/nekohtml/0.9.4/nekohtml-0.9.4-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/openwfe/openwfe-applic/1.7.2.1/openwfe-applic-1.7.2.1.jar" sourcepath="M2_REPO/org/openwfe/openwfe-applic/1.7.2.1/openwfe-applic-1.7.2.1-sources.jar">
+		<attributes>
+			<attribute name="javadoc_location" value="jar:file:/home/jchochol/.m2/repository/org/openwfe/openwfe-applic/1.7.2.1/openwfe-applic-1.7.2.1-javadoc.jar!/"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="var" path="M2_REPO/org/openwfe/openwfe-jcr/1.7.2.1/openwfe-jcr-1.7.2.1.jar" sourcepath="M2_REPO/org/openwfe/openwfe-jcr/1.7.2.1/openwfe-jcr-1.7.2.1-sources.jar">
+		<attributes>
+			<attribute name="javadoc_location" value="jar:file:/home/jchochol/.m2/repository/org/openwfe/openwfe-jcr/1.7.2.1/openwfe-jcr-1.7.2.1-javadoc.jar!/"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="var" path="M2_REPO/pdfbox/pdfbox/0.6.4/pdfbox-0.6.4.jar"/>
+	<classpathentry kind="var" path="M2_REPO/poi/poi/2.5.1-final-20040804/poi-2.5.1-final-20040804.jar" sourcepath="M2_REPO/poi/poi/2.5.1-final-20040804/poi-2.5.1-final-20040804-sources.jar">
+		<attributes>
+			<attribute name="javadoc_location" value="jar:file:/home/jchochol/.m2/repository/poi/poi/2.5.1-final-20040804/poi-2.5.1-final-20040804-javadoc.jar!/"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="var" path="M2_REPO/saxpath/saxpath/1.0-FCS/saxpath-1.0-FCS.jar" sourcepath="M2_REPO/saxpath/saxpath/1.0-FCS/saxpath-1.0-FCS-sources.jar">
+		<attributes>
+			<attribute name="javadoc_location" value="jar:file:/home/jchochol/.m2/repository/saxpath/saxpath/1.0-FCS/saxpath-1.0-FCS-javadoc.jar!/"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.4.1/slf4j-api-1.4.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.4.1/slf4j-api-1.4.1-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.4.1/slf4j-log4j12-1.4.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-log4j12/1.4.1/slf4j-log4j12-1.4.1-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/taglibs/standard/1.1.2/standard-1.1.2.jar" sourcepath="M2_REPO/taglibs/standard/1.1.2/standard-1.1.2-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/textmining/tm-extractors/0.4/tm-extractors-0.4.jar" sourcepath="M2_REPO/org/textmining/tm-extractors/0.4/tm-extractors-0.4-sources.jar">
+		<attributes>
+			<attribute name="javadoc_location" value="jar:file:/home/jchochol/.m2/repository/org/textmining/tm-extractors/0.4/tm-extractors-0.4-javadoc.jar!/"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.8.1/xercesImpl-2.8.1.jar" sourcepath="M2_REPO/xerces/xercesImpl/2.8.1/xercesImpl-2.8.1-sources.jar"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" sourcepath="/M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/devlib/schmidt/imageinfo/1.7/imageinfo-1.7.jar" sourcepath="M2_REPO/org/devlib/schmidt/imageinfo/1.7/imageinfo-1.7-sources.jar"/>
+	<classpathentry kind="lib" path="/home/jchochol/Devel/author_war/WEB-INF/lib/magnolia-module-dms-1.2.6.jar"/>
+	<classpathentry kind="lib" path="/home/jchochol/NotBackedUp/clearspace-2.5.3.jar"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>

Added: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/.project
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/.project	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/.project	2009-06-30 13:16:31 UTC (rev 27339)
@@ -0,0 +1,13 @@
+<projectDescription>
+  <name>jbossorg-cs-paragraphs</name>
+  <comment/>
+  <projects/>
+  <buildSpec>
+    <buildCommand>
+      <name>org.eclipse.jdt.core.javabuilder</name>
+    </buildCommand>
+  </buildSpec>
+  <natures>
+    <nature>org.eclipse.jdt.core.javanature</nature>
+  </natures>
+</projectDescription>
\ No newline at end of file

Added: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/pom.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/pom.xml	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/pom.xml	2009-06-30 13:16:31 UTC (rev 27339)
@@ -0,0 +1,206 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd ">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.jboss.labs.magnolia.modules</groupId>
+  <artifactId>jbossorg-cs-paragraphs</artifactId>
+  <packaging>jar</packaging>
+  <version>1.0.0-SNAPSHOT</version>
+  <name>A custom Magnolia module for JBoss.org community page</name>
+  <url>http://www.jboss.org</url>
+
+  <properties>
+    <magnoliaVersion>3.6.3</magnoliaVersion>
+  </properties>
+
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+
+  <dependencies>
+    <dependency>
+      <groupId>info.magnolia</groupId>
+      <artifactId>magnolia-core</artifactId>
+      <version>${magnoliaVersion}</version>
+      <scope>provided</scope>
+    </dependency>
+
+    <dependency>
+        <groupId>junit</groupId>
+        <artifactId>junit</artifactId>
+        <version>3.8.1</version>
+        <scope>test</scope>
+    </dependency>
+    <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>jsp-api</artifactId>
+            <version>2.0</version>
+    </dependency>
+    <dependency>
+            <groupId>commons-lang</groupId>
+            <artifactId>commons-lang</artifactId>
+            <version>2.4</version>
+    </dependency>
+    <dependency>
+            <groupId>commons-httpclient</groupId>
+            <artifactId>commons-httpclient</artifactId>
+            <version>3.1</version>
+    </dependency>
+    <dependency>
+            <groupId>javax.jcr</groupId>
+            <artifactId>jcr</artifactId>
+            <version>1.0.1</version>
+   </dependency>
+    <dependency>
+        <groupId>dom4j</groupId>
+        <artifactId>dom4j</artifactId>
+        <version>1.6.1</version>
+    </dependency>
+    <dependency>
+        <groupId>info.magnolia</groupId>
+        <artifactId>magnolia-module-admininterface</artifactId>
+        <version>3.5.8</version>
+        <scope>provided</scope>
+    </dependency>
+    <dependency>
+        <groupId>info.magnolia</groupId>
+        <artifactId>magnolia-gui</artifactId>
+        <version>3.5.8</version>
+        <scope>provided</scope>
+    </dependency>
+
+<!--
+    <dependency>
+        <groupId>com.jivesoftware</groupId>
+        <artifactId>clearspace</artifactId>
+        <version>2.5.0.rc</version>
+        <scope>provided</scope>
+    </dependency>
+-->
+
+    <dependency>
+        <groupId>com.sun</groupId>
+        <artifactId>sun-jaxws-api</artifactId>
+        <version>1.0</version>
+        <scope>provided</scope>
+    </dependency>
+    <dependency>
+        <groupId>com.sun</groupId>
+        <artifactId>jaxb-api</artifactId>
+        <version>1.0</version>
+        <scope>provided</scope>
+    </dependency>
+    <dependency>
+        <groupId>com.geronimo</groupId>
+        <artifactId>geronimo-ws-metadata</artifactId>
+        <version>1.0</version>
+        <scope>provided</scope>
+    </dependency>
+    <dependency>
+        <groupId>org.codehaus</groupId>
+        <artifactId>jra</artifactId>
+        <version>1.0</version>
+        <scope>provided</scope>
+    </dependency>
+
+
+
+
+<!--
+    <dependency>
+      <groupId>com.jivesoftware</groupId>
+      <artifactId>clearspace-community</artifactId>
+      <version>2.0.1</version>
+      <scope>provided</scope>
+    </dependency>
+
+    <dependency>
+        <groupId>dom4j</groupId>
+        <artifactId>dom4j</artifactId>
+        <version>1.6.1</version>
+    </dependency>
+
+    <dependency>
+        <groupId>info.magnolia</groupId>
+        <artifactId>magnolia-module-admininterface</artifactId>
+        <version>3.5.8</version>
+        <scope>provided</scope>
+    </dependency>
+    <dependency>
+        <groupId>info.magnolia</groupId>
+        <artifactId>magnolia-gui</artifactId>
+        <version>3.5.8</version>
+        <scope>provided</scope>
+    </dependency>
+
+    <dependency>
+        <groupId>com.sun</groupId>
+        <artifactId>sun-jaxws-api</artifactId>
+        <version>1.0</version>
+        <scope>provided</scope>
+    </dependency>
+-->
+
+  </dependencies>
+
+  <pluginRepositories>
+    <pluginRepository>
+      <id>jive.ext.central</id>
+      <name>Jive Repository</name>
+      <url>http://maven.jivesoftware.com/archiva/repository/jive.internal/</url>
+    </pluginRepository>
+    <pluginRepository>
+      <id>jive.ext.snapshots</id>
+      <name>Jive Snapshot Repository</name>
+      <url>http://maven.jivesoftware.com/archiva/repository/jive.snapshots/</url>
+    </pluginRepository>
+  </pluginRepositories>
+
+  <repositories>
+    <repository>
+      <id>jive.ext.central</id>
+      <name>Jive Repository</name>
+      <url>http://maven.jivesoftware.com/archiva/repository/jive.internal/</url>
+    </repository>
+    <repository>
+      <id>jive.ext.snapshots</id>
+      <name>Jive Snapshot Repository</name>
+      <url>http://maven.jivesoftware.com/archiva/repository/jive.snapshots/</url>
+    </repository>
+
+    <repository>
+      <id>jboss.labs</id>
+      <name>JBoss Labs Maven Repo</name>
+      <!-- <url>https://cms.labs.jboss.com/prod/repo/maven2/</url> -->
+      <url>file:///home/jchochol/Devel/labs-3.0-build/repo/maven2</url>
+    </repository>
+
+    <repository>
+      <id>magnolia</id>
+      <url>http://svn.magnolia.info/maven/m2</url>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+    </repository>
+    <!-- enable this if you need magnolia snapshots :
+    <repository>
+      <id>magnolia.snapshots</id>
+      <url>http://svn.magnolia.info/maven/snapshots</url>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+    </repository>
+    -->
+  </repositories>
+</project>

Added: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/ClearspaceConfig.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/ClearspaceConfig.java	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/ClearspaceConfig.java	2009-06-30 13:16:31 UTC (rev 27339)
@@ -0,0 +1,44 @@
+package org.jboss.labs.magnolia.modules.csparagraphs;
+
+/**
+ * Bean to hold URL and login information of the Clearspace instance.
+ * 
+ * @author jchochol
+ *
+ */
+public class ClearspaceConfig {
+    private String url;
+    private String login;
+    private String password;
+    
+    public ClearspaceConfig() {
+    	this.url = "not initialized";
+    	this.login = "not initialized";
+    	this.password = "not initialized";
+    }
+    
+    public ClearspaceConfig(String url, String login, String password) {
+    	this.url = url;
+    	this.login = login;
+    	this.password = password;
+    }
+    
+	public String getUrl() {
+		return url;
+	}
+	public void setUrl(String url) {
+		this.url = url;
+	}
+	public String getLogin() {
+		return login;
+	}
+	public void setLogin(String login) {
+		this.login = login;
+	}
+	public String getPassword() {
+		return password;
+	}
+	public void setPassword(String password) {
+		this.password = password;
+	}
+}

Added: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/CsParsModule.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/CsParsModule.java	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/CsParsModule.java	2009-06-30 13:16:31 UTC (rev 27339)
@@ -0,0 +1,116 @@
+package org.jboss.labs.magnolia.modules.csparagraphs;
+
+import info.magnolia.cms.core.*;
+import info.magnolia.module.*;
+import java.util.*;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * If you need to hook into Magnolia's administration interface, you might want
+ * to extends AbstractAdminModule. If your module only has content, use SimpleContentModule.
+ *
+ * @see ModuleLifecycle
+ * @see info.magnolia.module.admininterface.AbstractAdminModule
+ * @see info.magnolia.module.admininterface.SimpleContentModule
+ */
+public class CsParsModule implements ModuleLifecycle {
+    private static final Logger log = LoggerFactory.getLogger(CsParsModule.class);
+
+    private Content configNode;
+    
+    // configuration values for connecting to CS webservices and display proper links
+    private String csUrl;
+    private String csWsUrl;
+    private String csLogin;
+    private String csPassword;
+    private String csUserPath;
+    private String csUserImagePath;
+    private String csGroupPath;
+    
+    private static CsParsModule instance;
+    
+    public static CsParsModule getInstance() {
+    	return instance;
+    }
+
+	public String getCsUrl() {
+		return csUrl;
+	}
+
+	public void setCsUrl(String csUrl) {
+		this.csUrl = csUrl;
+	}
+
+	public String getCsWsUrl() {
+		return csWsUrl;
+	}
+
+	public void setCsWsUrl(String csWsUrl) {
+		this.csWsUrl = csWsUrl;
+	}
+
+	public String getCsLogin() {
+		return csLogin;
+	}
+
+	public void setCsLogin(String csLogin) {
+		this.csLogin = csLogin;
+	}
+
+	public String getCsPassword() {
+		return csPassword;
+	}
+
+	public void setCsPassword(String csPassword) {
+		this.csPassword = csPassword;
+	}
+
+	public String getCsUserPath() {
+		return csUserPath;
+	}
+
+	public void setCsUserPath(String csUserPath) {
+		this.csUserPath = csUserPath;
+	}
+
+	public String getCsUserImagePath() {
+		return csUserImagePath;
+	}
+
+	public void setCsUserImagePath(String csUserImagePath) {
+		this.csUserImagePath = csUserImagePath;
+	}
+
+	public String getCsGroupPath() {
+		return csGroupPath;
+	}
+
+	public void setCsGroupPath(String csGroupPath) {
+		this.csGroupPath = csGroupPath;
+	}
+
+	public Content getConfigNode() {
+        return configNode;
+    }
+
+    public void setConfigNode(Content configNode) {
+        this.configNode = configNode;
+    }
+
+    public void start(ModuleLifecycleContext moduleLifecycleContext) {
+        try {
+          instance = this; // workaround to access module configuration;
+          log.debug("Starting module initialization.");
+          // implement this if you need some startup action 
+          
+          log.debug("Module initialization finished.");
+        } catch (Exception e) {
+            log.error("Missing configuration for jbossorg-downloads. Module is not properly initialized");
+        }
+    }
+
+    public void stop(ModuleLifecycleContext moduleLifecycleContext) {
+    }
+}

Added: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/CsParsVersionHandler.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/CsParsVersionHandler.java	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/CsParsVersionHandler.java	2009-06-30 13:16:31 UTC (rev 27339)
@@ -0,0 +1,27 @@
+/*
+ * JBoss Community (http://www.jboss.org/)
+ * 2009
+ * 
+ */
+package org.jboss.labs.magnolia.modules.csparagraphs;
+
+import info.magnolia.module.admininterface.setup.SimpleContentVersionHandler;
+import info.magnolia.module.delta.*;
+
+/**
+ * @author jchochol
+ *
+ */
+public class CsParsVersionHandler extends SimpleContentVersionHandler {
+    
+    public CsParsVersionHandler() {
+        
+        final Delta for1_0_0 = DeltaBuilder.update("1.0.0","updating module to 1.0.0")
+          .addTask(new ModuleBootstrapTask())
+          ;
+        
+        register(for1_0_0);
+        
+    }
+
+}

Added: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/Member.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/Member.java	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/Member.java	2009-06-30 13:16:31 UTC (rev 27339)
@@ -0,0 +1,164 @@
+ /*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+
+package org.jboss.labs.magnolia.modules.csparagraphs;
+
+
+public class Member implements Comparable<Member> {
+
+	// field IDs for result from ProfileService
+	public static final long FIELD_URL			= 9L;
+	public static final long FIELD_BIOGRAPHY 	= 11L;
+	public static final long FIELD_TITLE 		= 5009L;
+	// node names for result from GroupService
+	public static final String FIELD_USERNAME 	= "username";
+	public static final String FIELD_NAME		= "name";
+	public static final String FIELD_ID			= "ID";
+	public static final String FIELD_EMAIL		= "email";
+	public static final String FIELD_EMAIL_VISIBLE = "emailVisible";
+	public static final String FIELD_ENABLED	= "enabled";
+	
+	// fields
+	private long id = -1; // -1 means not initialized
+	private String username = "";
+	private String name = "";
+	private String email = "";
+	private String bio = "";
+	private String url = "";
+	private String title = "";
+	private String country = "";
+	private boolean enabled = false;
+	private boolean emailVisible = false;
+	private boolean admin = false;
+	
+	public String getCountry() {
+		return country;
+	}
+
+	public void setCountry(String country) {
+		this.country = country;
+	}
+
+	// getters+setters
+	public long getId() {
+		return id;
+	}
+
+	public void setId(long id) {
+		this.id = id;
+	}
+
+	public String getUsername() {
+		return username;
+	}
+
+	public void setUsername(String username) {
+		this.username = username;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getEmail() {
+		return email;
+	}
+
+	public void setEmail(String email) {
+		this.email = email;
+	}
+
+	public String getBio() {
+		return bio;
+	}
+
+	public void setBio(String bio) {
+		this.bio = bio;
+	}
+
+	public String getUrl() {
+		return url;
+	}
+
+	public void setUrl(String url) {
+		this.url = url;
+	}
+
+	public String getTitle() {
+		return title;
+	}
+
+	public void setTitle(String title) {
+		this.title = title;
+	}
+
+	public boolean isEnabled() {
+		return enabled;
+	}
+
+	public void setEnabled(boolean enabled) {
+		this.enabled = enabled;
+	}
+
+	public boolean isEmailVisible() {
+		return emailVisible;
+	}
+
+	public void setEmailVisible(boolean emailVisible) {
+		this.emailVisible = emailVisible;
+	}
+
+	public boolean isAdmin() {
+		return admin;
+	}
+
+	public void setAdmin(boolean admin) {
+		this.admin = admin;
+	}
+	
+	public String getShortBio() {
+		if (this.bio.length()<200)
+			return this.bio;
+		else
+			return this.bio.substring(0,199)+"...";
+	}
+
+	// other methods
+    public int compareTo(Member m) {
+    	// the same instance
+        if (this == m) return 0;
+        // admins should be first
+        if (this.admin && !m.admin) return -1;
+        if (!this.admin && m.admin) return 1;
+        // if both are admins or both are NOT admins
+        // compare using name
+        return this.name.compareTo(m.name);
+    }
+
+    
+    
+    
+}


Property changes on: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/Member.java
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/MemberSpotlight.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/MemberSpotlight.java	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/MemberSpotlight.java	2009-06-30 13:16:31 UTC (rev 27339)
@@ -0,0 +1,251 @@
+package org.jboss.labs.magnolia.modules.csparagraphs;
+
+import java.io.*;
+import java.util.*;
+import org.apache.commons.httpclient.*;
+import org.apache.commons.httpclient.auth.*;
+import org.apache.commons.httpclient.methods.*;
+import org.dom4j.*;
+import org.dom4j.io.*;
+import org.slf4j.*;
+
+/**
+ * This class contains helpre methods for Member Spotlight paragraph. 
+ * 
+ * @author jchochol
+ *
+ */
+public class MemberSpotlight {
+	
+	/**
+	 * 60 seconds timeout for the cache 
+	 */
+	public static final long MEMBERS_CACHE_TIMEOUT = 60000; // 60 seconds
+
+    private static final Logger log = LoggerFactory.getLogger(MemberSpotlight.class);
+	
+	private Map<Long,MemberList> membersCache = null;
+	
+	/*
+	 * Class to store in the cache, as we need to know also the timestamp.
+	 */
+	private class MemberList {
+		protected long timestamp = 0; 
+		protected long groupId = -1; // -1 means it's not initialized 
+		protected List<Member> list = null;
+		
+		public MemberList(long groupId, long timestamp, List<Member> list) {
+			this.groupId = groupId;
+			this.timestamp = timestamp;
+			this.list = list;
+		}
+	}
+	
+	private static MemberSpotlight _instance = null;
+	
+	private MemberSpotlight() {
+		membersCache = new HashMap<Long,MemberList>();
+	}
+	
+	/**
+	 * Static method to obtain a singleton instance.
+	 * @return singleton instance of MemberSpotlight
+	 */
+	public static synchronized MemberSpotlight getInstance() {
+		if (_instance == null) _instance = new MemberSpotlight();
+		return _instance;
+	}
+	
+	/**
+	 * Retrieves list of Members of the user group with defined groupId.
+	 * First it looks to cache, if cache does not contain proper list or
+	 * such list is timeouted, retrieves the list directly from the Clearspace.
+	 * 
+	 * Synchronized to avoid problems with concurrent access to the cache. 
+	 * 
+	 * @param groupId id of group to retrieve members
+	 * @return list of members of the group
+	 */
+	// 	 NOTE: Synchronization here can cause performance problems, so if you occur such, optimize this code.
+	public synchronized List<Member> getGroupMembers(long groupId, ClearspaceConfig config) {
+		MemberList _member_list = null;
+		// try to retrieve list from cache
+		_member_list = membersCache.get(groupId);
+		// if there is no list in the cache, or it's timeouted
+		if (_member_list==null 
+			|| (_member_list.timestamp + MEMBERS_CACHE_TIMEOUT) < System.currentTimeMillis()) {
+			log.debug("Member list for groupId "+groupId+" not in cache or timeouted, going to read it from Clearspace.");
+			// read directly from the Clearspace
+			_member_list = readGroupMembersFromClearspace(groupId, config);
+			// put into the cache
+			membersCache.put(groupId, _member_list);
+		}
+		// return the list
+		return _member_list.list;
+	}
+	
+	/**
+	 * This method connects to the CS GroupService webservice and reads members of defined group. 
+	 * 
+	 * @param groupId ID of group to read members
+	 * @param config CS connection config: URL, login, password
+	 * @return list of Members with timestamp and group ID 
+	 */
+	protected MemberList readGroupMembersFromClearspace(long groupId, ClearspaceConfig config) {
+		MemberList ml = null; // the value to return;
+		
+		try {
+			// Use apache commons-httpclient to create the request/response
+			HttpClient client = new HttpClient();
+			Credentials defaultcreds = new UsernamePasswordCredentials(config.getLogin(),config.getPassword());
+			client.getState().setCredentials(AuthScope.ANY, defaultcreds);
+
+			// GET a group admins by its ID number, which is "1".
+			log.debug("going to call GroupService.getGroupAdmins()");
+			GetMethod method = new GetMethod(config.getUrl()+"/rpc/rest/groupService/groupAdmins/"+groupId);
+			client.executeMethod(method);
+			InputStream in = method.getResponseBodyAsStream();
+			
+			// 	Use dom4j to parse the response and print nicely to the output stream
+			SAXReader reader = new SAXReader();
+			Document document = reader.read(in);
+			
+			List<Member> member_list = new ArrayList<Member>();
+			Element root = document.getRootElement();
+			List returns = root.elements("return");
+			for (Object o : returns) {
+				Element _return = (Element) o;  // convert to XML Element
+				Member m = getMemberFromElement(_return);
+				m.setAdmin(true); // these are group admins
+				if (m.isEnabled())
+					member_list.add(m);
+			}
+			in.close();
+
+			// the same for getGroupMembers web service
+			log.debug("going to call GroupService.getGroupMembers()");
+			method = new GetMethod(config.getUrl()+"/rpc/rest/groupService/groupMembers/"+groupId);
+			client.executeMethod(method);
+			in = method.getResponseBodyAsStream();
+			reader = new SAXReader();
+			document = reader.read(in);
+			root = document.getRootElement();
+			returns = root.elements("return");
+			for (Object o : returns) {
+				Element _return = (Element) o;  // convert to XML Element
+				Member m = getMemberFromElement(_return);
+				if (m.isEnabled())
+					member_list.add(m);
+			}
+			in.close();
+
+			// members are read, now sort them (admins first, others alphabetically)
+			log.debug("sorting member list");
+			Collections.sort(member_list);
+			
+			ml = new MemberList(groupId,System.currentTimeMillis(),member_list);
+		} catch (Exception ex) {
+			log.error("Problem reading members of social group #"+groupId,ex);
+		}
+		
+		return ml;
+	}
+	
+	/**
+	 * Constructs Member instance from given XML Element
+	 * @param e XML Element
+	 * @return new Member instance
+	 */
+	private Member getMemberFromElement(Element e) {
+		Member m = new Member();
+		
+		// ID
+		Element x = e.element(Member.FIELD_ID);
+		m.setId(new Long(x.getTextTrim()));
+		// name
+		x = e.element(Member.FIELD_NAME);
+		m.setName(x.getTextTrim());
+		// email
+		x = e.element(Member.FIELD_EMAIL);
+		m.setEmail(x.getTextTrim());
+		// user name
+		x = e.element(Member.FIELD_USERNAME);
+		m.setUsername(x.getTextTrim());
+		// enabled
+		x = e.element(Member.FIELD_ENABLED);
+		m.setEnabled(new Boolean(x.getTextTrim()));
+		// email visible
+		x = e.element(Member.FIELD_EMAIL_VISIBLE);
+		m.setEmailVisible(new Boolean(x.getTextTrim()));
+
+		log.debug("Parsed member #"+m.getId());
+		
+		return m;
+	}
+	
+	/**
+	 * Returns random Member from the given group, updated with ProfileService (title, biography, ...)
+	 * 
+	 * @param groupId group ID to select random member from
+	 * @param config Clearspace connection config: URL, login, password
+	 * @return random Member instance from the list, updated using ProfileService
+	 */
+	public Member getRandomMember(long groupId, ClearspaceConfig config) {
+		Member m = null;
+		// read list of members
+		List<Member> list = getGroupMembers(groupId, config);
+		// generate random number
+        Random random = new Random();
+        int randNum = random.nextInt(list.size());
+        // get random member
+        m = list.get(randNum);
+        // read more info
+        m = updateMemberProfile(m, config);
+		// return random member
+		return m;
+	}
+	
+	/**
+	 * Reads member profile details from the Clearspace
+	 * 
+	 * @param m Member instance to update
+	 * @param config Clearspace config: URL, login, password
+	 * @return updated Member instance
+	 */
+	private Member updateMemberProfile(Member m, ClearspaceConfig config) {
+
+		try {
+			HttpClient client = new HttpClient();
+			Credentials defaultcreds = new UsernamePasswordCredentials(config.getLogin(),config.getPassword());
+			client.getState().setCredentials(AuthScope.ANY, defaultcreds);
+			log.debug("going to call ProfileService.getProfile()");
+			GetMethod method = new GetMethod(config.getUrl()+"/rpc/rest/profileService/profiles/"+m.getId());
+			client.executeMethod(method);
+			InputStream in = method.getResponseBodyAsStream();
+			
+			// 	Use dom4j to parse the response and print nicely to the output stream
+			SAXReader reader = new SAXReader();
+			Document document = reader.read(in);
+			
+			Element root = document.getRootElement();
+			List returns = root.elements("return");
+			for (Object o : returns) {
+				Element e = (Element) o;
+				Element eFieldID = e.element("fieldID");
+				String value = e.element("value").getTextTrim();
+				long fieldID = new Long(eFieldID.getTextTrim());
+				if (fieldID==Member.FIELD_BIOGRAPHY)
+					m.setBio(value);
+				if (fieldID==Member.FIELD_TITLE)
+					m.setTitle(value);
+				if (fieldID==Member.FIELD_URL)
+					m.setUrl(value);
+			}
+		} catch (Exception e) {
+			log.error("Problem reading profile of user #"+m.getId(), e);
+		}
+		
+		return m;
+	}
+
+}

Added: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/META-INF/magnolia/jbossorg-cs-paragraphs.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/META-INF/magnolia/jbossorg-cs-paragraphs.xml	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/META-INF/magnolia/jbossorg-cs-paragraphs.xml	2009-06-30 13:16:31 UTC (rev 27339)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE module SYSTEM "module.dtd" >
+<module>
+  <name>jbossorg-cs-paragraphs</name>
+  <displayName>JBoss.org Magnolia module : jbossorg-cs-paragraphs</displayName>
+  <class>org.jboss.labs.magnolia.modules.csparagraphs.CsParsModule</class>
+  <versionHandler>org.jboss.labs.magnolia.modules.csparagraphs.CsParsVersionHandler</versionHandler>
+  <version>1.0.0-SNAPSHOT</version>
+</module>

Added: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-bootstrap/jbossorg-cs-paragraphs/config.modules.jbossorg-cs-paragraphs.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-bootstrap/jbossorg-cs-paragraphs/config.modules.jbossorg-cs-paragraphs.xml	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-bootstrap/jbossorg-cs-paragraphs/config.modules.jbossorg-cs-paragraphs.xml	2009-06-30 13:16:31 UTC (rev 27339)
@@ -0,0 +1,745 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sv:node sv:name="jbossorg-cs-paragraphs" xmlns:jcr="http://www.jcp.org/jcr/1.0"
+  xmlns:mgnl="http://www.magnolia.info/jcr/mgnl" xmlns:mix="http://www.jcp.org/jcr/mix/1.0" xmlns:rep="internal"
+  xmlns:nt="http://www.jcp.org/jcr/nt/1.0" xmlns:fn="http://www.w3.org/2005/xpath-functions"
+  xmlns:_pre="http://jboss.org" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:fn_old="http://www.w3.org/2004/10/xpath-functions" xmlns:sv="http://www.jcp.org/jcr/sv/1.0" xmlns:jcrfn="http://www.jcp.org/jcr/xpath-functions/1.0">
+  <sv:property sv:name="jcr:primaryType" sv:type="Name">
+    <sv:value>mgnl:content</sv:value>
+  </sv:property>
+  <sv:property sv:name="jcr:mixinTypes" sv:type="Name">
+    <sv:value>mix:lockable</sv:value>
+  </sv:property>
+  <sv:property sv:name="version" sv:type="String">
+    <sv:value>1.0.0-SNAPSHOT</sv:value>
+  </sv:property>
+  <sv:node sv:name="MetaData">
+    <sv:property sv:name="jcr:primaryType" sv:type="Name">
+      <sv:value>mgnl:metaData</sv:value>
+    </sv:property>
+    <sv:property sv:name="mgnl:creationdate" sv:type="Date">
+      <sv:value>2009-06-22T16:38:55.018+02:00</sv:value>
+    </sv:property>
+  </sv:node>
+  <sv:node sv:name="config">
+    <sv:property sv:name="jcr:primaryType" sv:type="Name">
+      <sv:value>mgnl:content</sv:value>
+    </sv:property>
+    <sv:property sv:name="jcr:mixinTypes" sv:type="Name">
+      <sv:value>mix:lockable</sv:value>
+    </sv:property>
+    <sv:property sv:name="csGroupPath" sv:type="String">
+      <sv:value>groups</sv:value>
+    </sv:property>
+    <sv:property sv:name="csLogin" sv:type="String">
+      <sv:value>admin</sv:value>
+    </sv:property>
+    <sv:property sv:name="csPassword" sv:type="String">
+      <sv:value>type_your_password_here</sv:value>
+    </sv:property>
+    <sv:property sv:name="csUrl" sv:type="String">
+      <sv:value>http://staging.jboss.org/community</sv:value>
+    </sv:property>
+    <sv:property sv:name="csUserImagePath" sv:type="String">
+      <sv:value>profile-image-display.jspa?username=</sv:value>
+    </sv:property>
+    <sv:property sv:name="csUserPath" sv:type="String">
+      <sv:value>people</sv:value>
+    </sv:property>
+    <sv:property sv:name="csWsUrl" sv:type="String">
+      <sv:value>http://staging.jboss.org/community</sv:value>
+    </sv:property>
+    <sv:node sv:name="MetaData">
+      <sv:property sv:name="jcr:primaryType" sv:type="Name">
+        <sv:value>mgnl:metaData</sv:value>
+      </sv:property>
+      <sv:property sv:name="mgnl:authorid" sv:type="String">
+        <sv:value>superuser</sv:value>
+      </sv:property>
+      <sv:property sv:name="mgnl:creationdate" sv:type="Date">
+        <sv:value>2009-06-29T14:04:30.078+02:00</sv:value>
+      </sv:property>
+      <sv:property sv:name="mgnl:lastmodified" sv:type="Date">
+        <sv:value>2009-06-29T14:08:13.516+02:00</sv:value>
+      </sv:property>
+    </sv:node>
+  </sv:node>
+  <sv:node sv:name="dialogs">
+    <sv:property sv:name="jcr:primaryType" sv:type="Name">
+      <sv:value>mgnl:content</sv:value>
+    </sv:property>
+    <sv:property sv:name="jcr:mixinTypes" sv:type="Name">
+      <sv:value>mix:lockable</sv:value>
+    </sv:property>
+    <sv:node sv:name="MetaData">
+      <sv:property sv:name="jcr:primaryType" sv:type="Name">
+        <sv:value>mgnl:metaData</sv:value>
+      </sv:property>
+      <sv:property sv:name="mgnl:authorid" sv:type="String">
+        <sv:value>superuser</sv:value>
+      </sv:property>
+      <sv:property sv:name="mgnl:creationdate" sv:type="Date">
+        <sv:value>2009-06-23T09:59:06.904+02:00</sv:value>
+      </sv:property>
+      <sv:property sv:name="mgnl:lastmodified" sv:type="Date">
+        <sv:value>2009-06-23T09:59:13.006+02:00</sv:value>
+      </sv:property>
+    </sv:node>
+    <sv:node sv:name="member-spotlight">
+      <sv:property sv:name="jcr:primaryType" sv:type="Name">
+        <sv:value>mgnl:content</sv:value>
+      </sv:property>
+      <sv:property sv:name="label" sv:type="String">
+        <sv:value>Member spotlight</sv:value>
+      </sv:property>
+      <sv:node sv:name="MetaData">
+        <sv:property sv:name="jcr:primaryType" sv:type="Name">
+          <sv:value>mgnl:metaData</sv:value>
+        </sv:property>
+        <sv:property sv:name="mgnl:activated" sv:type="Boolean">
+          <sv:value>false</sv:value>
+        </sv:property>
+        <sv:property sv:name="mgnl:activatorid" sv:type="String">
+          <sv:value>superuser</sv:value>
+        </sv:property>
+        <sv:property sv:name="mgnl:authorid" sv:type="String">
+          <sv:value>superuser</sv:value>
+        </sv:property>
+        <sv:property sv:name="mgnl:creationdate" sv:type="Date">
+          <sv:value>2006-03-16T16:46:25.976+01:00</sv:value>
+        </sv:property>
+        <sv:property sv:name="mgnl:lastaction" sv:type="Date">
+          <sv:value>2009-01-27T07:27:51.444-05:00</sv:value>
+        </sv:property>
+        <sv:property sv:name="mgnl:lastmodified" sv:type="Date">
+          <sv:value>2009-06-23T10:14:16.320+02:00</sv:value>
+        </sv:property>
+      </sv:node>
+      <sv:node sv:name="tabProps">
+        <sv:property sv:name="jcr:primaryType" sv:type="Name">
+          <sv:value>mgnl:contentNode</sv:value>
+        </sv:property>
+        <sv:property sv:name="controlType" sv:type="String">
+          <sv:value>tab</sv:value>
+        </sv:property>
+        <sv:property sv:name="label" sv:type="String">
+          <sv:value>Properties</sv:value>
+        </sv:property>
+        <sv:node sv:name="MetaData">
+          <sv:property sv:name="jcr:primaryType" sv:type="Name">
+            <sv:value>mgnl:metaData</sv:value>
+          </sv:property>
+          <sv:property sv:name="mgnl:Data" sv:type="String">
+            <sv:value>MetaData</sv:value>
+          </sv:property>
+          <sv:property sv:name="mgnl:activated" sv:type="Boolean">
+            <sv:value>true</sv:value>
+          </sv:property>
+          <sv:property sv:name="mgnl:activatorid" sv:type="String">
+            <sv:value>superuser</sv:value>
+          </sv:property>
+          <sv:property sv:name="mgnl:authorid" sv:type="String">
+            <sv:value>superuser</sv:value>
+          </sv:property>
+          <sv:property sv:name="mgnl:creationdate" sv:type="String">
+            <sv:value>2004-11-03T08:47:58.474+01:00</sv:value>
+          </sv:property>
+          <sv:property sv:name="mgnl:lastaction" sv:type="Date">
+            <sv:value>2009-01-27T07:27:51.445-05:00</sv:value>
+          </sv:property>
+          <sv:property sv:name="mgnl:lastmodified" sv:type="Date">
+            <sv:value>2008-07-28T18:36:47.366+02:00</sv:value>
+          </sv:property>
+        </sv:node>
+        <sv:node sv:name="spacer">
+          <sv:property sv:name="jcr:primaryType" sv:type="Name">
+            <sv:value>mgnl:contentNode</sv:value>
+          </sv:property>
+          <sv:property sv:name="controlType" sv:type="String">
+            <sv:value>select</sv:value>
+          </sv:property>
+          <sv:property sv:name="description" sv:type="String">
+            <sv:value>dialogs.standard.tabProps.spacer.description</sv:value>
+          </sv:property>
+          <sv:property sv:name="i18nBasename" sv:type="String">
+            <sv:value>ch.esense.module.sitedesigner.messages</sv:value>
+          </sv:property>
+          <sv:property sv:name="label" sv:type="String">
+            <sv:value>dialogs.standard.tabProps.spacer.label</sv:value>
+          </sv:property>
+          <sv:property sv:name="name" sv:type="String">
+            <sv:value>spacer</sv:value>
+          </sv:property>
+          <sv:property sv:name="type" sv:type="String">
+            <sv:value>Long</sv:value>
+          </sv:property>
+          <sv:node sv:name="MetaData">
+            <sv:property sv:name="jcr:primaryType" sv:type="Name">
+              <sv:value>mgnl:metaData</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:Data" sv:type="String">
+              <sv:value>MetaData</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:activated" sv:type="Boolean">
+              <sv:value>true</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:activatorid" sv:type="String">
+              <sv:value>superuser</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:authorid" sv:type="String">
+              <sv:value>superuser</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:creationdate" sv:type="String">
+              <sv:value>2004-11-03T08:48:09.632+01:00</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:lastaction" sv:type="Date">
+              <sv:value>2009-01-27T07:27:51.446-05:00</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:lastmodified" sv:type="Date">
+              <sv:value>2006-03-20T16:10:48.895+01:00</sv:value>
+            </sv:property>
+          </sv:node>
+          <sv:node sv:name="options">
+            <sv:property sv:name="jcr:primaryType" sv:type="Name">
+              <sv:value>mgnl:contentNode</sv:value>
+            </sv:property>
+            <sv:node sv:name="MetaData">
+              <sv:property sv:name="jcr:primaryType" sv:type="Name">
+                <sv:value>mgnl:metaData</sv:value>
+              </sv:property>
+              <sv:property sv:name="mgnl:Data" sv:type="String">
+                <sv:value>MetaData</sv:value>
+              </sv:property>
+              <sv:property sv:name="mgnl:activated" sv:type="Boolean">
+                <sv:value>true</sv:value>
+              </sv:property>
+              <sv:property sv:name="mgnl:activatorid" sv:type="String">
+                <sv:value>superuser</sv:value>
+              </sv:property>
+              <sv:property sv:name="mgnl:authorid" sv:type="String">
+                <sv:value>superuser</sv:value>
+              </sv:property>
+              <sv:property sv:name="mgnl:creationdate" sv:type="String">
+                <sv:value>2004-11-03T08:52:04.490+01:00</sv:value>
+              </sv:property>
+              <sv:property sv:name="mgnl:lastaction" sv:type="Date">
+                <sv:value>2009-01-27T07:27:51.447-05:00</sv:value>
+              </sv:property>
+              <sv:property sv:name="mgnl:lastmodified" sv:type="String">
+                <sv:value>2004-11-03T08:52:04.498+01:00</sv:value>
+              </sv:property>
+            </sv:node>
+            <sv:node sv:name="no">
+              <sv:property sv:name="jcr:primaryType" sv:type="Name">
+                <sv:value>mgnl:contentNode</sv:value>
+              </sv:property>
+              <sv:property sv:name="label" sv:type="String">
+                <sv:value>dialogs.standard.tabProps.spacer.options.no.label</sv:value>
+              </sv:property>
+              <sv:property sv:name="value" sv:type="String">
+                <sv:value>0</sv:value>
+              </sv:property>
+              <sv:node sv:name="MetaData">
+                <sv:property sv:name="jcr:primaryType" sv:type="Name">
+                  <sv:value>mgnl:metaData</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:Data" sv:type="String">
+                  <sv:value>MetaData</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:activated" sv:type="Boolean">
+                  <sv:value>true</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:activatorid" sv:type="String">
+                  <sv:value>superuser</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:authorid" sv:type="String">
+                  <sv:value>superuser</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:creationdate" sv:type="String">
+                  <sv:value>2004-11-03T08:53:21.660+01:00</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:lastaction" sv:type="Date">
+                  <sv:value>2009-01-27T07:27:51.449-05:00</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:lastmodified" sv:type="Date">
+                  <sv:value>2006-03-20T16:04:32.884+01:00</sv:value>
+                </sv:property>
+              </sv:node>
+            </sv:node>
+            <sv:node sv:name="single">
+              <sv:property sv:name="jcr:primaryType" sv:type="Name">
+                <sv:value>mgnl:contentNode</sv:value>
+              </sv:property>
+              <sv:property sv:name="label" sv:type="String">
+                <sv:value>dialogs.standard.tabProps.spacer.options.single.label</sv:value>
+              </sv:property>
+              <sv:property sv:name="selected" sv:type="String">
+                <sv:value>true</sv:value>
+              </sv:property>
+              <sv:property sv:name="value" sv:type="String">
+                <sv:value>1</sv:value>
+              </sv:property>
+              <sv:node sv:name="MetaData">
+                <sv:property sv:name="jcr:primaryType" sv:type="Name">
+                  <sv:value>mgnl:metaData</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:Data" sv:type="String">
+                  <sv:value>MetaData</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:activated" sv:type="Boolean">
+                  <sv:value>true</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:activatorid" sv:type="String">
+                  <sv:value>superuser</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:authorid" sv:type="String">
+                  <sv:value>superuser</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:creationdate" sv:type="String">
+                  <sv:value>2004-11-03T08:53:21.660+01:00</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:lastaction" sv:type="Date">
+                  <sv:value>2009-01-27T07:27:51.450-05:00</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:lastmodified" sv:type="Date">
+                  <sv:value>2006-03-20T16:04:41.216+01:00</sv:value>
+                </sv:property>
+              </sv:node>
+            </sv:node>
+            <sv:node sv:name="double">
+              <sv:property sv:name="jcr:primaryType" sv:type="Name">
+                <sv:value>mgnl:contentNode</sv:value>
+              </sv:property>
+              <sv:property sv:name="label" sv:type="String">
+                <sv:value>dialogs.standard.tabProps.spacer.options.double.label</sv:value>
+              </sv:property>
+              <sv:property sv:name="selected" sv:type="String">
+                <sv:value>false</sv:value>
+              </sv:property>
+              <sv:property sv:name="value" sv:type="String">
+                <sv:value>2</sv:value>
+              </sv:property>
+              <sv:node sv:name="MetaData">
+                <sv:property sv:name="jcr:primaryType" sv:type="Name">
+                  <sv:value>mgnl:metaData</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:Data" sv:type="String">
+                  <sv:value>MetaData</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:activated" sv:type="Boolean">
+                  <sv:value>true</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:activatorid" sv:type="String">
+                  <sv:value>superuser</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:authorid" sv:type="String">
+                  <sv:value>superuser</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:creationdate" sv:type="String">
+                  <sv:value>2004-11-03T08:53:21.660+01:00</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:lastaction" sv:type="Date">
+                  <sv:value>2009-01-27T07:27:51.451-05:00</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:lastmodified" sv:type="Date">
+                  <sv:value>2006-03-20T16:04:48.096+01:00</sv:value>
+                </sv:property>
+              </sv:node>
+            </sv:node>
+          </sv:node>
+        </sv:node>
+        <sv:node sv:name="lineAbove">
+          <sv:property sv:name="jcr:primaryType" sv:type="Name">
+            <sv:value>mgnl:contentNode</sv:value>
+          </sv:property>
+          <sv:property sv:name="buttonLabel" sv:type="String">
+            <sv:value>dialogs.standard.tabProps.lineAbove.buttonLabel</sv:value>
+          </sv:property>
+          <sv:property sv:name="controlType" sv:type="String">
+            <sv:value>checkboxSwitch</sv:value>
+          </sv:property>
+          <sv:property sv:name="description" sv:type="String">
+            <sv:value>dialogs.standard.tabProps.lineAbove.description</sv:value>
+          </sv:property>
+          <sv:property sv:name="i18nBasename" sv:type="String">
+            <sv:value>ch.esense.module.sitedesigner.messages</sv:value>
+          </sv:property>
+          <sv:property sv:name="label" sv:type="String">
+            <sv:value>dialogs.standard.tabProps.lineAbove.label</sv:value>
+          </sv:property>
+          <sv:property sv:name="name" sv:type="String">
+            <sv:value>lineAbove</sv:value>
+          </sv:property>
+          <sv:property sv:name="selected" sv:type="String">
+            <sv:value>false</sv:value>
+          </sv:property>
+          <sv:property sv:name="type" sv:type="String">
+            <sv:value>Boolean</sv:value>
+          </sv:property>
+          <sv:node sv:name="MetaData">
+            <sv:property sv:name="jcr:primaryType" sv:type="Name">
+              <sv:value>mgnl:metaData</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:Data" sv:type="String">
+              <sv:value>MetaData</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:activated" sv:type="Boolean">
+              <sv:value>true</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:activatorid" sv:type="String">
+              <sv:value>superuser</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:authorid" sv:type="String">
+              <sv:value>superuser</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:creationdate" sv:type="String">
+              <sv:value>2004-11-03T08:48:09.632+01:00</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:lastaction" sv:type="Date">
+              <sv:value>2009-01-27T07:27:51.452-05:00</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:lastmodified" sv:type="Date">
+              <sv:value>2006-03-20T16:10:24.529+01:00</sv:value>
+            </sv:property>
+          </sv:node>
+        </sv:node>
+        <sv:node sv:name="inherit">
+          <sv:property sv:name="jcr:primaryType" sv:type="Name">
+            <sv:value>mgnl:contentNode</sv:value>
+          </sv:property>
+          <sv:property sv:name="buttonLabel" sv:type="String">
+            <sv:value>dialogs.standard.tabProps.inherit.buttonLabel</sv:value>
+          </sv:property>
+          <sv:property sv:name="controlType" sv:type="String">
+            <sv:value>checkboxSwitch</sv:value>
+          </sv:property>
+          <sv:property sv:name="description" sv:type="String">
+            <sv:value>dialogs.standard.tabProps.inherit.description</sv:value>
+          </sv:property>
+          <sv:property sv:name="i18nBasename" sv:type="String">
+            <sv:value>ch.esense.module.sitedesigner.messages</sv:value>
+          </sv:property>
+          <sv:property sv:name="label" sv:type="String">
+            <sv:value>dialogs.standard.tabProps.inherit.label</sv:value>
+          </sv:property>
+          <sv:property sv:name="name" sv:type="String">
+            <sv:value>inherit</sv:value>
+          </sv:property>
+          <sv:property sv:name="selected" sv:type="String">
+            <sv:value>false</sv:value>
+          </sv:property>
+          <sv:property sv:name="type" sv:type="String">
+            <sv:value>Boolean</sv:value>
+          </sv:property>
+          <sv:node sv:name="MetaData">
+            <sv:property sv:name="jcr:primaryType" sv:type="Name">
+              <sv:value>mgnl:metaData</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:Data" sv:type="String">
+              <sv:value>MetaData</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:activated" sv:type="Boolean">
+              <sv:value>true</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:activatorid" sv:type="String">
+              <sv:value>superuser</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:authorid" sv:type="String">
+              <sv:value>superuser</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:creationdate" sv:type="String">
+              <sv:value>2004-11-03T08:48:09.632+01:00</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:lastaction" sv:type="Date">
+              <sv:value>2009-01-27T07:27:51.453-05:00</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:lastmodified" sv:type="Date">
+              <sv:value>2006-09-04T13:45:22.431+02:00</sv:value>
+            </sv:property>
+          </sv:node>
+        </sv:node>
+        <sv:node sv:name="display">
+          <sv:property sv:name="jcr:primaryType" sv:type="Name">
+            <sv:value>mgnl:contentNode</sv:value>
+          </sv:property>
+          <sv:property sv:name="controlType" sv:type="String">
+            <sv:value>radio</sv:value>
+          </sv:property>
+          <sv:property sv:name="description" sv:type="String">
+            <sv:value/>
+          </sv:property>
+          <sv:property sv:name="label" sv:type="String">
+            <sv:value>Display</sv:value>
+          </sv:property>
+          <sv:property sv:name="name" sv:type="String">
+            <sv:value>display</sv:value>
+          </sv:property>
+          <sv:property sv:name="type" sv:type="String">
+            <sv:value>String</sv:value>
+          </sv:property>
+          <sv:node sv:name="MetaData">
+            <sv:property sv:name="jcr:primaryType" sv:type="Name">
+              <sv:value>mgnl:metaData</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:Data" sv:type="String">
+              <sv:value>MetaData</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:activated" sv:type="Boolean">
+              <sv:value>true</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:activatorid" sv:type="String">
+              <sv:value>superuser</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:authorid" sv:type="String">
+              <sv:value>superuser</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:creationdate" sv:type="String">
+              <sv:value>2004-11-02T15:34:37.865+01:00</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:lastaction" sv:type="Date">
+              <sv:value>2009-01-27T07:27:51.454-05:00</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:lastmodified" sv:type="Date">
+              <sv:value>2008-07-29T23:38:55.350+02:00</sv:value>
+            </sv:property>
+          </sv:node>
+          <sv:node sv:name="options">
+            <sv:property sv:name="jcr:primaryType" sv:type="Name">
+              <sv:value>mgnl:contentNode</sv:value>
+            </sv:property>
+            <sv:node sv:name="MetaData">
+              <sv:property sv:name="jcr:primaryType" sv:type="Name">
+                <sv:value>mgnl:metaData</sv:value>
+              </sv:property>
+              <sv:property sv:name="mgnl:Data" sv:type="String">
+                <sv:value>MetaData</sv:value>
+              </sv:property>
+              <sv:property sv:name="mgnl:activated" sv:type="Boolean">
+                <sv:value>true</sv:value>
+              </sv:property>
+              <sv:property sv:name="mgnl:activatorid" sv:type="String">
+                <sv:value>superuser</sv:value>
+              </sv:property>
+              <sv:property sv:name="mgnl:authorid" sv:type="String">
+                <sv:value>superuser</sv:value>
+              </sv:property>
+              <sv:property sv:name="mgnl:creationdate" sv:type="String">
+                <sv:value>2004-11-02T15:34:38.088+01:00</sv:value>
+              </sv:property>
+              <sv:property sv:name="mgnl:lastaction" sv:type="Date">
+                <sv:value>2009-01-27T07:27:51.455-05:00</sv:value>
+              </sv:property>
+              <sv:property sv:name="mgnl:lastmodified" sv:type="String">
+                <sv:value>2004-11-02T15:34:38.094+01:00</sv:value>
+              </sv:property>
+            </sv:node>
+            <sv:node sv:name="devList">
+              <sv:property sv:name="jcr:primaryType" sv:type="Name">
+                <sv:value>mgnl:contentNode</sv:value>
+              </sv:property>
+              <sv:property sv:name="label" sv:type="String">
+                <sv:value>member list</sv:value>
+              </sv:property>
+              <sv:property sv:name="selected" sv:type="String">
+                <sv:value>false</sv:value>
+              </sv:property>
+              <sv:property sv:name="value" sv:type="String">
+                <sv:value>memberList</sv:value>
+              </sv:property>
+              <sv:node sv:name="MetaData">
+                <sv:property sv:name="jcr:primaryType" sv:type="Name">
+                  <sv:value>mgnl:metaData</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:Data" sv:type="String">
+                  <sv:value>MetaData</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:activated" sv:type="Boolean">
+                  <sv:value>false</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:activatorid" sv:type="String">
+                  <sv:value>superuser</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:authorid" sv:type="String">
+                  <sv:value>superuser</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:creationdate" sv:type="String">
+                  <sv:value>2004-11-02T15:34:38.332+01:00</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:lastaction" sv:type="Date">
+                  <sv:value>2009-01-27T07:27:51.456-05:00</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:lastmodified" sv:type="Date">
+                  <sv:value>2009-06-15T14:32:35.541+02:00</sv:value>
+                </sv:property>
+              </sv:node>
+            </sv:node>
+            <sv:node sv:name="randomDev">
+              <sv:property sv:name="jcr:primaryType" sv:type="Name">
+                <sv:value>mgnl:contentNode</sv:value>
+              </sv:property>
+              <sv:property sv:name="label" sv:type="String">
+                <sv:value>random developer</sv:value>
+              </sv:property>
+              <sv:property sv:name="selected" sv:type="String">
+                <sv:value>true</sv:value>
+              </sv:property>
+              <sv:property sv:name="value" sv:type="String">
+                <sv:value>randomDev</sv:value>
+              </sv:property>
+              <sv:node sv:name="MetaData">
+                <sv:property sv:name="jcr:primaryType" sv:type="Name">
+                  <sv:value>mgnl:metaData</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:Data" sv:type="String">
+                  <sv:value>MetaData</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:activated" sv:type="Boolean">
+                  <sv:value>true</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:activatorid" sv:type="String">
+                  <sv:value>superuser</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:authorid" sv:type="String">
+                  <sv:value>superuser</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:creationdate" sv:type="String">
+                  <sv:value>2004-11-02T15:34:38.332+01:00</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:lastaction" sv:type="Date">
+                  <sv:value>2009-01-27T07:27:51.456-05:00</sv:value>
+                </sv:property>
+                <sv:property sv:name="mgnl:lastmodified" sv:type="Date">
+                  <sv:value>2008-07-29T23:37:23.847+02:00</sv:value>
+                </sv:property>
+              </sv:node>
+            </sv:node>
+          </sv:node>
+        </sv:node>
+        <sv:node sv:name="csGroupId">
+          <sv:property sv:name="jcr:primaryType" sv:type="Name">
+            <sv:value>mgnl:contentNode</sv:value>
+          </sv:property>
+          <sv:property sv:name="controlType" sv:type="String">
+            <sv:value>edit</sv:value>
+          </sv:property>
+          <sv:property sv:name="label" sv:type="String">
+            <sv:value>Clearspace group id</sv:value>
+          </sv:property>
+          <sv:property sv:name="name" sv:type="String">
+            <sv:value>csGroupId</sv:value>
+          </sv:property>
+          <sv:property sv:name="rows" sv:type="String">
+            <sv:value>1</sv:value>
+          </sv:property>
+          <sv:property sv:name="type" sv:type="String">
+            <sv:value>Long</sv:value>
+          </sv:property>
+          <sv:node sv:name="MetaData">
+            <sv:property sv:name="jcr:primaryType" sv:type="Name">
+              <sv:value>mgnl:metaData</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:Data" sv:type="String">
+              <sv:value>MetaData</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:activated" sv:type="Boolean">
+              <sv:value>true</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:activatorid" sv:type="String">
+              <sv:value>superuser</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:authorid" sv:type="String">
+              <sv:value>superuser</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:creationdate" sv:type="String">
+              <sv:value>2004-11-02T15:34:28.220+01:00</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:lastaction" sv:type="Date">
+              <sv:value>2009-02-06T14:09:34.931+01:00</sv:value>
+            </sv:property>
+            <sv:property sv:name="mgnl:lastmodified" sv:type="Date">
+              <sv:value>2008-07-29T23:20:45.546+02:00</sv:value>
+            </sv:property>
+          </sv:node>
+        </sv:node>
+      </sv:node>
+      
+    </sv:node>
+  </sv:node>
+  <sv:node sv:name="paragraphs">
+    <sv:property sv:name="jcr:primaryType" sv:type="Name">
+      <sv:value>mgnl:content</sv:value>
+    </sv:property>
+    <sv:property sv:name="jcr:mixinTypes" sv:type="Name">
+      <sv:value>mix:lockable</sv:value>
+    </sv:property>
+    <sv:node sv:name="MetaData">
+      <sv:property sv:name="jcr:primaryType" sv:type="Name">
+        <sv:value>mgnl:metaData</sv:value>
+      </sv:property>
+      <sv:property sv:name="mgnl:authorid" sv:type="String">
+        <sv:value>superuser</sv:value>
+      </sv:property>
+      <sv:property sv:name="mgnl:creationdate" sv:type="Date">
+        <sv:value>2009-06-23T09:59:16.486+02:00</sv:value>
+      </sv:property>
+      <sv:property sv:name="mgnl:lastmodified" sv:type="Date">
+        <sv:value>2009-06-23T09:59:21.220+02:00</sv:value>
+      </sv:property>
+    </sv:node>
+    <sv:node sv:name="member-spotlight">
+      <sv:property sv:name="jcr:primaryType" sv:type="Name">
+        <sv:value>mgnl:contentNode</sv:value>
+      </sv:property>
+      <sv:property sv:name="description" sv:type="String">
+        <sv:value>Member spotlight</sv:value>
+      </sv:property>
+      <sv:property sv:name="dialogPath" sv:type="String">
+        <sv:value>member-spotlight</sv:value>
+      </sv:property>
+      <sv:property sv:name="i18nBasename" sv:type="String">
+        <sv:value>ch.esense.module.sitedesigner.messages</sv:value>
+      </sv:property>
+      <sv:property sv:name="name" sv:type="String">
+        <sv:value>member-spotlight</sv:value>
+      </sv:property>
+      <sv:property sv:name="showInNewParagraphList" sv:type="String">
+        <sv:value>true</sv:value>
+      </sv:property>
+      <sv:property sv:name="templatePath" sv:type="String">
+        <sv:value>/templates/jbossorg/paragraphs/jbossorg-cs-paragraphs/member_spotlight.jsp</sv:value>
+      </sv:property>
+      <sv:property sv:name="title" sv:type="String">
+        <sv:value>Member spotlight</sv:value>
+      </sv:property>
+      <sv:property sv:name="type" sv:type="String">
+        <sv:value>jsp</sv:value>
+      </sv:property>
+      <sv:node sv:name="MetaData">
+        <sv:property sv:name="jcr:primaryType" sv:type="Name">
+          <sv:value>mgnl:metaData</sv:value>
+        </sv:property>
+        <sv:property sv:name="mgnl:Data" sv:type="String">
+          <sv:value>MetaData</sv:value>
+        </sv:property>
+        <sv:property sv:name="mgnl:activated" sv:type="Boolean">
+          <sv:value>true</sv:value>
+        </sv:property>
+        <sv:property sv:name="mgnl:activatorid" sv:type="String">
+          <sv:value>superuser</sv:value>
+        </sv:property>
+        <sv:property sv:name="mgnl:authorid" sv:type="String">
+          <sv:value>superuser</sv:value>
+        </sv:property>
+        <sv:property sv:name="mgnl:creationdate" sv:type="String">
+          <sv:value>2004-11-03T09:03:29.016+01:00</sv:value>
+        </sv:property>
+        <sv:property sv:name="mgnl:lastaction" sv:type="Date">
+          <sv:value>2009-01-27T07:28:21.928-05:00</sv:value>
+        </sv:property>
+        <sv:property sv:name="mgnl:lastmodified" sv:type="Date">
+          <sv:value>2009-06-23T10:20:48.163+02:00</sv:value>
+        </sv:property>
+      </sv:node>
+    </sv:node>
+  </sv:node>
+</sv:node>

Added: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-files/templates/jbossorg/paragraphs/jbossorg-cs-paragraphs/member.jsp
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-files/templates/jbossorg/paragraphs/jbossorg-cs-paragraphs/member.jsp	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-files/templates/jbossorg/paragraphs/jbossorg-cs-paragraphs/member.jsp	2009-06-30 13:16:31 UTC (rev 27339)
@@ -0,0 +1,133 @@
+<jsp:root version="1.2" xmlns:jsp="http://java.sun.com/JSP/Page"
+	xmlns:cms="cms-taglib"
+	xmlns:cmsu="cms-util-taglib"
+	xmlns:c="http://java.sun.com/jsp/jstl/core"
+	xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
+	xmlns:cmsfn="http://www.magnolia.info/tlds/cmsfn-taglib.tld">
+
+<jsp:directive.page import="info.magnolia.cms.core.*" />
+<jsp:directive.page import="java.util.*" />
+<jsp:directive.page import="info.magnolia.cms.util.*" />
+<jsp:directive.page import="info.magnolia.module.dms.beans.*" />
+<jsp:directive.page import="info.magnolia.context.*" />
+<jsp:directive.page import="org.apache.commons.lang.*" />
+<jsp:directive.page import="info.magnolia.cms.core.*" />
+<jsp:directive.page import="org.devlib.schmidt.imageinfo.*" />
+<jsp:directive.page import="org.jboss.labs.magnolia.modules.csparagraphs.*" />
+
+<fmt:setBundle basename="ch.esense.module.sitedesigner.messages" />
+
+<c:choose>
+
+    <c:when test="${rssRequest == 'true'}"></c:when>
+		
+    <c:otherwise>
+
+<jsp:scriptlet>
+<![CDATA[
+    CsParsModule module = CsParsModule.getInstance();
+    pageContext.setAttribute("module",module);
+]]>
+</jsp:scriptlet>
+
+
+<c:set var="spacer"><cms:out nodeDataName="spacer"/></c:set>
+<c:set var="lineAbove"><cms:out nodeDataName="lineAbove"/></c:set>
+
+<jsp:useBean id="csConfig" class="org.jboss.labs.magnolia.modules.csparagraphs.ClearspaceConfig">
+  <jsp:setProperty name="csConfig" property="url" value="${module.csWsUrl}" />
+  <jsp:setProperty name="csConfig" property="login" value="${module.csLogin}" />
+  <jsp:setProperty name="csConfig" property="password" value="${module.csPassword}" />
+</jsp:useBean>
+
+<jsp:scriptlet>
+<![CDATA[
+  boolean success = false;
+  try {
+	  // TODO here main code
+	  MemberSpotlight ms = MemberSpotlight.getInstance();
+	  
+      Content activePage = Resource.getLocalContentNode();
+
+	  long groupId = -1;
+      if (activePage.getNodeData("csGroupId").isExist() && activePage.getNodeData("csGroupId").getString() != "") {
+	      groupId = activePage.getNodeData("csGroupId").getLong();
+	  }
+      if (groupId==-1) throw new IllegalArgumentException("Clearspace groupId is not set in configuration.");
+
+	  Member member = ms.getRandomMember(groupId,csConfig);
+	  
+	  if (member==null) throw new Exception("Clearspace group #"+groupId+" is probably empty, no member loaded.");
+	  
+	  pageContext.setAttribute("member",member);
+	  success = true;
+	  
+  } catch (Exception ex) {
+	  // nothing to do here, error logging is inside MemberSpotlight class
+  }
+  
+  if (success) {
+]]>
+</jsp:scriptlet>
+
+    <c:if test="${lineAbove=='true'}">
+        <c:import url="/templates/jbossorg/global/lineAbove.jsp" />
+    </c:if>	
+		
+    <div class="devspotlight">
+        <h3>Community Spotlight</h3>
+
+        <div class="developer_photo">
+            <a href="${module.csUrl}/${module.csUserPath}/${member.username}">
+                <img border="0" alt="" src="${module.csUrl}/${module.csUserImagePath}${member.username}" />
+            </a>
+        </div>
+
+        <h4>${member.name}</h4>
+
+        <dl>
+		    <dt class="country">Country: </dt>
+			<dd>${member.country}</dd>
+			<br />
+			<dt class="title">Title: </dt>
+			<dd>${member.title}</dd>
+			<br />
+			<dt class="bio">Bio: </dt>
+			<dd>${member.shortBio}</dd>
+			<br />
+		</dl>
+
+		<ul>
+            <li style="padding-top: 7px;">
+                <span class="more">
+	                View <a href="${module.csUrl}/${module.csUserPath}/${member.username}">full member profile</a><br />
+	            </span>
+	        </li>
+		</ul>
+
+        <!-- spacer -->
+        <c:import url="/templates/jbossorg/global/spacer.jsp">
+            <c:param name="spacer">${spacer}</c:param>
+        </c:import>
+
+    </div>
+
+<jsp:scriptlet>
+<![CDATA[
+  } else {
+]]>
+</jsp:scriptlet>
+<cms:adminOnly>
+  <div>Problem occurred loading MemberSpotlight paragraph. See Magnolia log for details.</div>
+</cms:adminOnly>
+<jsp:scriptlet>
+<![CDATA[
+  }
+]]>
+</jsp:scriptlet>
+
+    </c:otherwise>
+</c:choose>
+         
+</jsp:root>
+

Added: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-files/templates/jbossorg/paragraphs/jbossorg-cs-paragraphs/member_list.jsp
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-files/templates/jbossorg/paragraphs/jbossorg-cs-paragraphs/member_list.jsp	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-files/templates/jbossorg/paragraphs/jbossorg-cs-paragraphs/member_list.jsp	2009-06-30 13:16:31 UTC (rev 27339)
@@ -0,0 +1,121 @@
+<jsp:root version="1.2" xmlns:jsp="http://java.sun.com/JSP/Page"
+	xmlns:cms="cms-taglib"
+	xmlns:cmsu="cms-util-taglib"
+	xmlns:c="http://java.sun.com/jsp/jstl/core"
+	xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
+	xmlns:cmsfn="http://www.magnolia.info/tlds/cmsfn-taglib.tld">
+
+<jsp:directive.page import="info.magnolia.cms.core.*" />
+<jsp:directive.page import="java.util.*" />
+<jsp:directive.page import="info.magnolia.cms.util.*" />
+<jsp:directive.page import="info.magnolia.module.dms.beans.*" />
+<jsp:directive.page import="info.magnolia.context.*" />
+<jsp:directive.page import="org.apache.commons.lang.*" />
+<jsp:directive.page import="info.magnolia.cms.core.*" />
+<jsp:directive.page import="org.devlib.schmidt.imageinfo.*" />
+<jsp:directive.page import="org.jboss.labs.magnolia.modules.csparagraphs.*" />
+
+<fmt:setBundle basename="ch.esense.module.sitedesigner.messages" />
+
+<c:choose>
+
+    <c:when test="${rssRequest == 'true'}"></c:when>
+		
+    <c:otherwise>
+
+<jsp:scriptlet>
+<![CDATA[
+    CsParsModule module = CsParsModule.getInstance();
+    pageContext.setAttribute("module",module);
+]]>
+</jsp:scriptlet>
+
+
+<c:set var="spacer"><cms:out nodeDataName="spacer"/></c:set>
+<c:set var="lineAbove"><cms:out nodeDataName="lineAbove"/></c:set>
+
+<jsp:useBean id="csConfig" class="org.jboss.labs.magnolia.modules.csparagraphs.ClearspaceConfig">
+  <jsp:setProperty name="csConfig" property="url" value="${module.csWsUrl}" />
+  <jsp:setProperty name="csConfig" property="login" value="${module.csLogin}" />
+  <jsp:setProperty name="csConfig" property="password" value="${module.csPassword}" />
+</jsp:useBean>
+
+<jsp:scriptlet>
+<![CDATA[
+  boolean success = false;
+  try {
+	  // TODO here main code
+	  MemberSpotlight ms = MemberSpotlight.getInstance();
+	  
+      Content activePage = Resource.getLocalContentNode();
+
+	  long groupId = -1;
+      if (activePage.getNodeData("csGroupId").isExist() && activePage.getNodeData("csGroupId").getString() != "") {
+	      groupId = activePage.getNodeData("csGroupId").getLong();
+	  }
+      if (groupId==-1) throw new IllegalArgumentException("Clearspace groupId is not set in configuration.");
+
+	  List<Member> member_list = ms.getGroupMembers(groupId,csConfig);
+	  
+	  if (member_list==null || member_list.size()==0) throw new Exception("Clearspace group #"+groupId+" is probably empty, no member loaded.");
+	  
+	  pageContext.setAttribute("member_list",member_list);
+	  success = true;
+	  
+  } catch (Exception ex) {
+	  // nothing to do here, error logging is inside MemberSpotlight class
+  }
+  
+  if (success) {
+]]>
+</jsp:scriptlet>
+
+    <c:if test="${lineAbove=='true'}">
+        <c:import url="/templates/jbossorg/global/lineAbove.jsp" />
+    </c:if>	
+		
+        <div class="DevComm">
+        <table width="100%"  border="0">
+        <c:forEach var="member" items="${member_list}">
+            <tr>
+              <c:choose>
+               <c:when test="${member.admin}">
+                   <td><a href="${module.csUrl}/${module.csUserPath}/${member.username}" class="group_admin">${member.name}</a></td>
+               </c:when>
+               <c:otherwise>
+                   <td><a href="${module.csUrl}/${module.csUserPath}/${member.username}" class="group_member">${member.name}</a></td>
+               </c:otherwise>
+              </c:choose>
+              <td>${member.email}</td>
+            </tr>
+        </c:forEach>
+        </table>
+
+        <!-- spacer -->
+        <c:import url="/templates/jbossorg/global/spacer.jsp">
+            <c:param name="spacer">${spacer}</c:param>
+        </c:import>
+
+    </div>
+
+        <hr class="greyHR" />
+
+<jsp:scriptlet>
+<![CDATA[
+  } else {
+]]>
+</jsp:scriptlet>
+<cms:adminOnly>
+  <div>Problem occurred loading MemberSpotlight paragraph. See Magnolia log for details.</div>
+</cms:adminOnly>
+<jsp:scriptlet>
+<![CDATA[
+  }
+]]>
+</jsp:scriptlet>
+
+    </c:otherwise>
+</c:choose>
+         
+</jsp:root>
+

Added: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-files/templates/jbossorg/paragraphs/jbossorg-cs-paragraphs/member_spotlight.jsp
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-files/templates/jbossorg/paragraphs/jbossorg-cs-paragraphs/member_spotlight.jsp	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-files/templates/jbossorg/paragraphs/jbossorg-cs-paragraphs/member_spotlight.jsp	2009-06-30 13:16:31 UTC (rev 27339)
@@ -0,0 +1,50 @@
+<jsp:root version="1.2" xmlns:jsp="http://java.sun.com/JSP/Page"
+	xmlns:cms="cms-taglib"
+	xmlns:cmsu="cms-util-taglib"
+	xmlns:c="http://java.sun.com/jsp/jstl/core"
+	xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
+	xmlns:cmsfn="http://www.magnolia.info/tlds/cmsfn-taglib.tld">
+
+<jsp:directive.page import="info.magnolia.cms.core.Content" />
+<jsp:directive.page import="java.util.Iterator" />
+<jsp:directive.page import="java.util.List" />
+<jsp:directive.page import="java.util.ArrayList" />
+<jsp:directive.page import="info.magnolia.cms.util.Resource" />
+<jsp:directive.page import="info.magnolia.module.dms.beans.Document" />
+<jsp:directive.page import="info.magnolia.context.MgnlContext" />
+<jsp:directive.page import="org.apache.commons.lang.StringUtils" />
+<jsp:directive.page import="info.magnolia.cms.core.ItemType" />
+<jsp:directive.page import="info.magnolia.cms.core.HierarchyManager" />
+<jsp:directive.page import="org.devlib.schmidt.imageinfo.ImageInfo" />
+
+<jsp:directive.page import="org.jboss.labs.magnolia.modules.csparagraphs.*" />
+
+<fmt:setBundle basename="ch.esense.module.sitedesigner.messages" />
+<c:set var="spacer"><cms:out nodeDataName="spacer"/></c:set>
+<c:set var="lineAbove"><cms:out nodeDataName="lineAbove"/></c:set>
+
+<jsp:scriptlet>
+    String display = "randomDev";
+
+    Content activePage=Resource.getLocalContentNode();
+
+    if (activePage.getNodeData("display").isExist() <![CDATA[&&]]> activePage.getNodeData("display").getString() != "") {
+        display= activePage.getNodeData("display").getString();
+    }
+
+    pageContext.setAttribute("display", display);
+</jsp:scriptlet>
+
+<c:choose>
+    <c:when test="${display == 'randomDev'}">
+        <c:import url="/templates/jbossorg/paragraphs/jbossorg-cs-paragraphs/member.jsp">
+            <c:param name="display">${display}</c:param>
+        </c:import>
+    </c:when>
+		
+    <c:otherwise>
+        <c:import url="/templates/jbossorg/paragraphs/jbossorg-cs-paragraphs/member_list.jsp" />
+    </c:otherwise>
+</c:choose>
+	
+</jsp:root>	

Added: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-resources/jbossorg-cs-paragraphs/cs-paragraphs.css
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-resources/jbossorg-cs-paragraphs/cs-paragraphs.css	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-resources/jbossorg-cs-paragraphs/cs-paragraphs.css	2009-06-30 13:16:31 UTC (rev 27339)
@@ -0,0 +1,14 @@
+/* this file is available as resource using the ${contextPath}/.resources/mymodule/sample.css url */
+
+.modulebase {
+    background-color: yellow;
+    font-family: verdana, arial, sans-serif;
+    font-size: 12px;
+    color: blue;
+}
+
+.modulebase H3 {
+    font-size: 16px;
+    color: red;
+}
+




More information about the jboss-svn-commits mailing list