<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7553750431826607898</id><updated>2012-01-29T22:41:36.860-08:00</updated><category term='Alfresco code snippets'/><title type='text'>Alfresco</title><subtitle type='html'>Talks about Alfresco API usage</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default?start-index=101&amp;max-results=100'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>133</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-1860794543644092175</id><published>2012-01-29T22:40:00.000-08:00</published><updated>2012-01-29T22:41:36.901-08:00</updated><title type='text'>Contents supported for onlineEdit</title><content type='html'>&lt;table role="tree" class="domTable " cellpadding="0" cellspacing="0"&gt;&lt;tbody role="presentation" class=" "&gt;&lt;tr role="presentation" class="memberRow  userRow "&gt;&lt;td style="padding-left: 16px" role="presentation" class="memberLabelCell "&gt;&lt;div class="memberLabel userLabel "&gt;&lt;span class=" "&gt;application/msword&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td role="presentation" class="memberValueCell "&gt;&lt;span role="presentation" class="objectBox objectBox-string "&gt;"Word.Document"&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr role="presentation" class="memberRow  userRow "&gt;&lt;td class="memberHeaderCell "&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="padding-left: 16px" role="presentation" class="memberLabelCell "&gt;&lt;div class="memberLabel userLabel "&gt;&lt;span class="memberLabelPrefix "&gt;&lt;/span&gt;&lt;span class=" "&gt;application/vnd.ms-excel&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td role="presentation" class="memberValueCell "&gt;&lt;span role="presentation" class="objectBox objectBox-string "&gt;"Excel.Sheet"&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr role="presentation" class="memberRow  userRow "&gt;&lt;td class="memberHeaderCell "&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="padding-left: 16px" role="presentation" class="memberLabelCell "&gt;&lt;div class="memberLabel userLabel "&gt;&lt;span class="memberLabelPrefix "&gt;&lt;/span&gt;&lt;span class=" "&gt;application/vnd.ms-powerpoint&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td role="presentation" class="memberValueCell "&gt;&lt;span role="presentation" class="objectBox objectBox-string "&gt;"PowerPoint.Slide"&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr role="presentation" class="memberRow  userRow "&gt;&lt;td class="memberHeaderCell "&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="padding-left: 16px" role="presentation" class="memberLabelCell "&gt;&lt;div class="memberLabel userLabel "&gt;&lt;span class="memberLabelPrefix "&gt;&lt;/span&gt;&lt;span class=" "&gt;application/vnd.openxmlformats-officedocument.presentationml.presentation&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td role="presentation" class="memberValueCell "&gt;&lt;span role="presentation" class="objectBox objectBox-string "&gt;"PowerPoint.Slide"&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr role="presentation" class="memberRow  userRow "&gt;&lt;td class="memberHeaderCell "&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="padding-left: 16px" role="presentation" class="memberLabelCell "&gt;&lt;div class="memberLabel userLabel "&gt;&lt;span class="memberLabelPrefix "&gt;&lt;/span&gt;&lt;span class=" "&gt;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td role="presentation" class="memberValueCell "&gt;&lt;span role="presentation" class="objectBox objectBox-string "&gt;"Excel.Sheet"&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr role="presentation" class="memberRow  userRow "&gt;&lt;td class="memberHeaderCell "&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="padding-left: 16px" role="presentation" class="memberLabelCell "&gt;&lt;div class="memberLabel userLabel "&gt;&lt;span class="memberLabelPrefix "&gt;&lt;/span&gt;&lt;span class=" "&gt;application/vnd.openxmlformats-officedocument.wordprocessingml.document&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We can get this value from the code&lt;br /&gt; /**&lt;br /&gt;             * Configure the Online Edit URL if enabled for this mimetype&lt;br /&gt;             */&lt;br /&gt;            if (scope.doclistMetadata.onlineEditing &amp;amp;&amp;amp; (record.mimetype in scope.onlineEditMimetypes))&lt;br /&gt;            {&lt;br /&gt;&lt;br /&gt;from the file documentlist.js in Alfresco3.4.5&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-1860794543644092175?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/1860794543644092175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2012/01/contents-supported-for-onlineedit.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/1860794543644092175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/1860794543644092175'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2012/01/contents-supported-for-onlineedit.html' title='Contents supported for onlineEdit'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-7907102249937576862</id><published>2012-01-27T00:35:00.000-08:00</published><updated>2012-01-27T00:36:23.025-08:00</updated><title type='text'>Thumbnail</title><content type='html'>http://ecmarchitect.com/archives/2009/03/03/913&lt;br /&gt;&lt;br /&gt;The above link talks about the Thumbanil generation from the image&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-7907102249937576862?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/7907102249937576862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2012/01/thumbnail.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/7907102249937576862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/7907102249937576862'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2012/01/thumbnail.html' title='Thumbnail'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-1988685660055979974</id><published>2012-01-25T01:12:00.000-08:00</published><updated>2012-01-25T01:14:46.896-08:00</updated><title type='text'>Problem in Thumbnail generation and JVM settings</title><content type='html'>JAVA_OPTS configuration can be seen in /opt/alfresco/tomcat/scripts&lt;br /&gt;Inside this we will have the file name by name ctl.sh.&lt;br /&gt;To make the thumbnails to work we should add -Djava.awt.headless=true in ctl.sh file&lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;CATALINA_HOME=/opt/alfresco/tomcat&lt;br /&gt;TOMCAT_BINDIR=/opt/alfresco/tomcat/bin&lt;br /&gt;JRE_HOME=/opt/alfresco/java&lt;br /&gt;CATALINA_PID=/opt/alfresco/tomcat/temp/catalina.pid&lt;br /&gt;export CATALINA_PID&lt;br /&gt;TOMCAT_STATUS=""&lt;br /&gt;ERROR=0&lt;br /&gt;PID=""&lt;br /&gt;&lt;br /&gt;start_tomcat() {&lt;br /&gt;    is_tomcat_running&lt;br /&gt;    RUNNING=$?&lt;br /&gt;    if [ $RUNNING -eq 1 ]; then&lt;br /&gt;        echo "$0 $ARG: tomcat (pid $PID) already running"&lt;br /&gt;    else&lt;br /&gt;    rm -f $CATALINA_PID&lt;br /&gt;    export JAVA_OPTS="-Xms512m -Xmx1024m -Xss1024k -XX:MaxPermSize=256m -XX:NewSize=256m -XX:+UseConcMarkSweepGC -Dalfresco.home=/opt/alfresco -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Djava.awt.headless=true"&lt;br /&gt;    export JAVA_HOME=$JRE_HOME&lt;br /&gt;    $TOMCAT_BINDIR/startup.sh&lt;br /&gt;    if [ $? -eq 0 ];  then&lt;br /&gt;            echo "$0 $ARG: tomcat started"&lt;br /&gt;    else&lt;br /&gt;            echo "$0 $ARG: tomcat could not be started"&lt;br /&gt;            ERROR=1&lt;br /&gt;    fi&lt;br /&gt;    fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;daemon_tomcat() {&lt;br /&gt;    export JAVA_OPTS="-Xms512m -Xmx1024m -Xss1024k -XX:MaxPermSize=256m -XX:NewSize=256m -XX:+UseConcMarkSweepGC -Dalfresco.home=/opt/alfresco -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Djava.awt.headless=true"&lt;br /&gt;    export JAVA_HOME=$JRE_HOME&lt;br /&gt;    $TOMCAT_BINDIR/catalina.sh run&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;stop_tomcat() {&lt;br /&gt;    $TOMCAT_BINDIR/shutdown.sh 300 -force&lt;br /&gt;    if [ $? -eq 0 ]; then&lt;br /&gt;        echo "$0 $ARG: tomcat stopped"&lt;br /&gt;        if [ -f $CATALINA_PID ] ; then&lt;br /&gt;           rm $CATALINA_PID&lt;br /&gt;         fi&lt;br /&gt;        sleep 3&lt;br /&gt;    else&lt;br /&gt;        echo "$0 $ARG: tomcat could not be stopped"&lt;br /&gt;        ERROR=2&lt;br /&gt;    fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;get_pid() {&lt;br /&gt;    PID=""&lt;br /&gt;    PIDFILE=$1&lt;br /&gt;    # check for pidfile&lt;br /&gt;    if [ -f $PIDFILE ] ; then&lt;br /&gt;        PID=`cat $PIDFILE`&lt;br /&gt;    fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;get_tomcat_pid() {&lt;br /&gt;    get_pid $CATALINA_PID&lt;br /&gt;    if [ ! $PID ]; then&lt;br /&gt;        return&lt;br /&gt;    fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;is_service_running() {&lt;br /&gt;    PID=$1&lt;br /&gt;    if [ "x$PID" != "x" ] &amp;amp;&amp;amp; kill -0 $PID 2&amp;gt;/dev/null ; then&lt;br /&gt;        RUNNING=1&lt;br /&gt;    else&lt;br /&gt;        RUNNING=0&lt;br /&gt;    fi&lt;br /&gt;    return $RUNNING&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;is_tomcat_running() {&lt;br /&gt;    get_tomcat_pid&lt;br /&gt;    is_service_running $PID&lt;br /&gt;    RUNNING=$?&lt;br /&gt;    if [ $RUNNING -eq 0 ]; then&lt;br /&gt;        TOMCAT_STATUS="tomcat not running"&lt;br /&gt;    else&lt;br /&gt;        TOMCAT_STATUS="tomcat already running"&lt;br /&gt;    fi&lt;br /&gt;    return $RUNNING&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if [ "x$1" = "xstart" ]; then&lt;br /&gt;    start_tomcat&lt;br /&gt;    sleep 2&lt;br /&gt;elif [ "x$1" = "xdaemon" ]; then&lt;br /&gt;    daemon_tomcat&lt;br /&gt;elif [ "x$1" = "xstop" ]; then&lt;br /&gt;    stop_tomcat&lt;br /&gt;    sleep 2&lt;br /&gt;elif [ "x$1" = "xstatus" ]; then&lt;br /&gt;    is_tomcat_running&lt;br /&gt;    echo $TOMCAT_STATUS&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;exit $ERROR&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-1988685660055979974?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/1988685660055979974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2012/01/problem-in-thumbnail-generation-and-jvm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/1988685660055979974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/1988685660055979974'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2012/01/problem-in-thumbnail-generation-and-jvm.html' title='Problem in Thumbnail generation and JVM settings'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-6747536958132988325</id><published>2012-01-24T22:17:00.000-08:00</published><updated>2012-01-25T01:48:33.962-08:00</updated><title type='text'>JVM Details</title><content type='html'>http://www.unidata.ucar.edu/projects/THREDDS/tech/tds4.2/reference/JavaOptsSummary.html&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;TDS Reference: Summary of JAVA_OPTS&lt;/h1&gt;  &lt;hr /&gt;  &lt;p&gt;Note: This page focuses on Tomcat running on a Unix/Linux OS but much of   it is appropriate for other servlet containers and  other OSs. How and where   the various options are configured will depend on the servlet container and OS   you are using. &lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt;You can set JAVA_OPTS in the &lt;code&gt;${TOMCAT_HOME}/bin/setenv.sh&lt;/code&gt; file. The options   discussed below are the ones we set on our production server. &lt;/p&gt;  &lt;h2&gt;Memory Available to the Java JVM&lt;/h2&gt;  &lt;p&gt;Increasing the memory available to the Java JVM can help TDS performance (see more on TDS   performance &lt;a href="http://www.unidata.ucar.edu/projects/THREDDS/tech/tds4.2/reference/Performance.html#jvm"&gt;here&lt;/a&gt;). Try to give your server as much memory   as you can. The following are reasonable numbers to start with but if you have more memory   increase these numbers. [Note: 32-bit JVMs max out around 1500m.) &lt;/p&gt;  &lt;pre&gt;JAVA_OPTS="&lt;strong&gt;-Xmx1024m -Xms256m&lt;/strong&gt;" export JAVA_OPT &lt;/pre&gt;  &lt;p&gt;What the options mean:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;strong&gt;-Xmx&lt;/strong&gt; sets the maximum amount of memory that can be allocated to the JVM heap;     here it is being set to 1024 megabytes.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;-Xms&lt;/strong&gt; sets the initial amount of memory allocated to the JVM heap;     here it is being set to 256 megabytes.&lt;/li&gt;&lt;/ul&gt;  &lt;h2&gt;Run Java JVM in Server Mode&lt;/h2&gt;  &lt;p&gt;The Java JVM can optimize a number of things for server environments. [Since Java 5, the launcher   tries to detect whether it is running on a "server-class" machine and set this for you (more on   this &lt;a href="http://java.sun.com/javase/6/docs/technotes/guides/vm/server-class.html"&gt;here&lt;/a&gt;).   But ...] You can explicitly select the Java HotSpot Server VM with the &lt;code&gt;-server&lt;/code&gt; option. &lt;/p&gt;  &lt;pre&gt;JAVA_OPTS="-Xmx1024m -Xms256m &lt;strong&gt;-server&lt;/strong&gt;" export JAVA_OPT &lt;/pre&gt;  &lt;p&gt;What the option means:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;strong&gt;-server&lt;/strong&gt; instructs the launcher to use the Java HotSpot Server VM.&lt;/li&gt;&lt;/ul&gt;  &lt;h2&gt;PermGen Memory&lt;/h2&gt;  &lt;p&gt;If you start getting &lt;code&gt;java.lang.OutOfMemoryError: PermGen space&lt;/code&gt; error messages. You   may want to include a "-XX:MaxPermSize" option in your JAVA_OPTS. See the   &lt;a href="http://www.unidata.ucar.edu/projects/THREDDS/tech/tds4.2/faq.html#permGenOutOfMemoryError"&gt;PermGen FAQ entry&lt;/a&gt; for more information on this problem. &lt;/p&gt;  &lt;pre&gt;JAVA_OPTS="-Xmx1024m -Xms256m -server &lt;strong&gt;-XX:MaxPermSize=128m&lt;/strong&gt;" export JAVA_OPT &lt;/pre&gt;  &lt;p&gt;What the option means:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;strong&gt;-XX:MaxPermSize&lt;/strong&gt; set the maximum amount of memory that can be used for PermGen.&lt;/li&gt;&lt;/ul&gt;  &lt;h2&gt;&lt;a name="headless"&gt;&lt;/a&gt;If Using WMS, Tell Graphics Engine There is No Console&lt;/h2&gt;  &lt;p&gt;   An obscure bug concerning X servers and graphics rendering code can cause WMS requests to fail   or, in certain situations, cause Tomcat to crash. You may see error messages like the following: &lt;/p&gt; &lt;pre&gt;"java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment" &lt;/pre&gt; &lt;p&gt;   To avoid this situation,   the graphics code needs to be told that there is no graphics console available. This can be done by   setting the &lt;code&gt;java.awt.headless&lt;/code&gt; system property to &lt;code&gt;true&lt;/code&gt; which can be done   using JAVA_OPTS: &lt;/p&gt;  &lt;pre&gt;JAVA_OPTS="-Xmx1024m -Xms256m -server &lt;strong&gt;-Djava.awt.headless=true&lt;/strong&gt;" export JAVA_OPT &lt;/pre&gt;  &lt;p&gt;What the option means:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;strong&gt;-Djava.awt.headless=true&lt;/strong&gt; sets the value of the &lt;code&gt;java.awt.headless&lt;/code&gt;     system property to true. Setting this system property to true prevent graphics rendering code     from assuming that a graphics console exists. &lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;   More on using the headless mode in Java SE   &lt;a href="http://java.sun.com/developer/technicalArticles/J2SE/Desktop/headless/"&gt;here&lt;/a&gt;. &lt;/p&gt;  &lt;h2&gt;&lt;a name="javaUtilPrefs"&gt;&lt;/a&gt;If Using WMS, Setup Writable Directory for System java.util.prefs.&lt;/h2&gt;  &lt;p&gt;Some libraries that WMS depends on use the java.util.prefs package and there are some known issues   that can crop up with storing system preferences. This problem can be avoided by setting the   &lt;code&gt;java.util.prefs.systemRoot&lt;/code&gt; system property to point to a directory in which the TDS   can write. &lt;strong&gt;The given directory must exist and must contain a directory named "&lt;code&gt;.systemPrefs&lt;/code&gt;"   which must be writable by the user under which Tomcat is run.&lt;/strong&gt; &lt;/p&gt; &lt;pre&gt;JAVA_OPTS="-Xmx1024m -Xms256m -server &lt;strong&gt;-Djava.util.prefs.systemRoot=$CATALINA_HOME/content/thredds/javaUtilPrefs&lt;/strong&gt;" export JAVA_OPT &lt;/pre&gt;  &lt;p&gt;What the option means:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;strong&gt;-Djava.util.prefs.systemRoot=&lt;directory&gt;&lt;/directory&gt;&lt;/strong&gt; sets the value of the     &lt;code&gt;java.util.prefs.systemRoot&lt;/code&gt; system property to the given directory. The java.util.prefs     code will use the given directory to persist the system (as opposed to user) preferences.&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;   More information on the issue can be found on the   &lt;a href="http://www.unidata.ucar.edu/projects/THREDDS/tech/tds4.2/faq.html#javaUtilPrefs"&gt;TDS FAQ page&lt;/a&gt;.  &lt;/p&gt;&lt;hr /&gt;  &lt;p&gt;Our production &lt;code&gt;setenv.sh&lt;/code&gt; file looks like:&lt;/p&gt; &lt;pre&gt;#!/bin/sh # ulimit -n 2048  CATALINA_HOME="/opt/tomcat" export CATALINA_HOME  JAVA_HOME="/opt/jdk" export JAVA_HOME  # Some commonly used JAVA_OPTS settings: # NORMAL="-d64 -Xmx4090m -Xms512m -server" MAX_PERM_GEN="-XX:MaxPermSize=256m" HEADLESS="-Djava.awt.headless=true" JAVA_PREFS_SYSTEM_ROOT="-Djava.util.prefs.systemRoot=$CATALINA_HOME/content/thredds/javaUtilPrefs"  # Standard setup. # JAVA_OPTS="$NORMAL $MAX_PERM_GEN $HEADLESS $JAVA_PREFS_SYSTEM_ROOT" export JAVA_OPTS &lt;/pre&gt;  &lt;address&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/address&gt;&lt;h1&gt;&lt;img src="http://www.unidata.ucar.edu/projects/THREDDS/tech/images/unidataLogo.png" height="75" width="75" align="middle" /&gt;Server Performance &lt;/h1&gt;  &lt;hr /&gt;   &lt;h2&gt;Hardware&lt;/h2&gt;   &lt;p&gt;Throw more $$ at this problem,  hardware is  cheap, compared to people. &lt;/p&gt;   &lt;p&gt;It would be highly unusual for  the TDS not to be I/O bound, so  buying a high-performance disk subsystem is much better than buying   fast CPUs. Slower, more energy efficient multicore processors are  optimized for web server loads. &lt;/p&gt;   &lt;p&gt;Typically disk access is faster on a local drive than on an NFS  mounted drive. High performance disk subsystems like RAID or SANs can  also significantly improve TDS throughput. &lt;/p&gt; &lt;h2&gt;Operating System Configuration&lt;/h2&gt; &lt;h3&gt;Use a 64-bit OS&lt;/h3&gt; &lt;ul&gt;&lt;li&gt;'nuff said&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;Use a high-performance file system&lt;/h3&gt;   &lt;p&gt;If you have system admin resources, examine the possible file  systems available for your OS, eg on Linux or Solaris. We are using the &lt;a href="http://en.wikipedia.org/wiki/ZFS"&gt;ZFS file system&lt;/a&gt; on Solaris-X86 and it is very fast. We use&lt;a href="http://www.sun.com/software/solaris/ds/zfs.jsp"&gt; ZFS software RAID&lt;/a&gt;, which replaces hardware RAID.&lt;/p&gt; &lt;h4&gt;&lt;strong&gt;Resources:&lt;/strong&gt;&lt;/h4&gt;   &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.solarisinternals.com/wiki/index.php/ZFS_Evil_Tuning_Guide"&gt;http://www.solarisinternals.com/wiki/index.php/ZFS_Evil_Tuning_Guide&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.sun.com/realneel/entry/zfs_and_databases"&gt;http://blogs.sun.com/realneel/entry/zfs_and_databases&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide"&gt;http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.redhat.com/gfs/"&gt;http://www.redhat.com/gfs/&lt;/a&gt;&lt;br /&gt;     &lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;Setting the number of file handles&lt;/h3&gt;   &lt;p&gt; The OS typically limits the number of open file handles per process. To check this value on Unix, use:&lt;/p&gt;   &lt;pre&gt; ulimit -n &lt;/pre&gt;   &lt;p&gt;If you are using the default &lt;a href="http://www.unidata.ucar.edu/projects/THREDDS/tech/tds4.2/reference/ThreddsConfigXMLFile.html#FileHandles"&gt;TDS configuration values&lt;/a&gt;,  this value should be 1024 or greater. Otherwise you can tune this  number based on your own settings. For example, to set this value to  2048 in the &lt;em&gt;&lt;strong&gt;tomcat startup.sh&lt;/strong&gt;&lt;/em&gt; script:&lt;/p&gt; &lt;pre&gt; ulimit -n 2048&lt;/pre&gt;   &lt;p&gt;This affects the number of files to keep in the &lt;a href="http://www.unidata.ucar.edu/projects/THREDDS/tech/tds4.2/reference/Performance.html#cache"&gt;NetcdfFile Object Cache&lt;/a&gt;. &lt;/p&gt; &lt;h2&gt;&lt;a name="jvm"&gt;Java Virtual Machine&lt;/a&gt;&lt;/h2&gt;   &lt;h3&gt;Use a 64-bit JVM with -server&lt;/h3&gt;   &lt;ul&gt;&lt;li&gt;You may have to examine the docs for your JVM on how to do this.  Below are the options we use for Sun Solaris 1.6 JVM, which requires  -d64 to run the 64 bit version&lt;/li&gt;&lt;li&gt;You should run with the Java HotSpot Server VM, by using the &lt;strong&gt;-server&lt;/strong&gt; option. &lt;/li&gt;&lt;li&gt;You should give the JVM as much memory as possible. Here we give  it 4 Gbytes. The maximum you can use for 32-bit JVMs seems to be around  1500 Mbytes&lt;/li&gt;&lt;/ul&gt;   &lt;pre&gt;-d64 -Xmx4081m -Xms512m -server -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -Djava.awt.headless=true&lt;/pre&gt;   &lt;ul&gt;&lt;li&gt;-XX:+HeapDumpOnOutOfMemoryError triggers a heap dump when you run out of memory. We recommend the &lt;a href="http://www.eclipse.org/mat/"&gt;Memory Analyser&lt;/a&gt; from Eclipse to explore heap dumps.&lt;/li&gt;&lt;li&gt;-Djava.awt.headless=true tells the system that there is not a  graphics console being used, which avaois some arcane errors from third  party libraries.&lt;/li&gt;&lt;/ul&gt;   &lt;p&gt;We recommend the latest version of JDK 1.6, which has typically a  20% performance improvement or more over 1.5, especially with the &lt;em&gt;&lt;strong&gt;-server&lt;/strong&gt;&lt;/em&gt;  option. We have not yet had a chance to compare performance of 32-bit  vs 64-bit JVMs. However, 64-bit JVMs  allow the use of much larger  memory heaps, which will help for highly loaded systems.&lt;/p&gt; &lt;h4&gt; Resources&lt;/h4&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.javaperformancetuning.com/"&gt;Java Performance Tuning&lt;/a&gt; website with tuning tips&lt;/li&gt;&lt;li&gt;&lt;a href="http://java.sun.com/performance/reference/whitepapers/tuning.html"&gt;Java Tuning White Paper&lt;/a&gt; whitepaper from Sun (2005)&lt;/li&gt;&lt;li&gt;&lt;a href="http://oreilly.com/catalog/9780596003777/?CMP=OTC-KW7501011010&amp;amp;ATT=javapt2"&gt;Java performance tuning&lt;/a&gt;, Jack Shirazi (O'Reilly, 2003), classic book, a bit dated.&lt;/li&gt;&lt;/ul&gt; &lt;h2&gt;Tomcat&lt;/h2&gt; &lt;h3&gt;Version&lt;/h3&gt; &lt;p&gt;We recommend the latest stable version of Tomcat 6, which  has better  stability and performance than Tomcat 5.x. This requires JDK 1.5 or  above. &lt;/p&gt; &lt;h3&gt;&lt;a name="enableCompression"&gt;&lt;/a&gt;Compression&lt;/h3&gt; &lt;p&gt;Tomcat can be configured to automatically compress the responses,  whenever the client allows that. Compression is usually a big win,  especially for bandwidth-limited sites. Deciding when and what to  compress depends on a lot of factors, however. We use the following  settings in  &lt;strong&gt;server.xml&lt;/strong&gt;:&lt;/p&gt; &lt;pre&gt;    &lt;!-- non-SSL HTTP/1.1 Connector on port 8080 --&gt;&lt;br /&gt;  &lt;connector port="8080" protocol="HTTP/1.1" maxthreads="50" connectiontimeout="20000" redirectport="8443" strong=""&gt;compression="1000"&lt;br /&gt;             compressableMimeType="text/html,text/xml,text/plain,application/octet-stream" /&amp;gt;&lt;br /&gt;&lt;/connector&gt;&lt;/pre&gt; &lt;p&gt;This says to compress (gzip or deflate) when the number of bytes is &amp;gt;= 1000, for the named mime-types. See Tomcat &lt;a href="http://tomcat.apache.org/tomcat-6.0-doc/config/http.html"&gt;HTTP Connector reference&lt;/a&gt; page for more details.&lt;/p&gt; &lt;h3&gt;Automatic Startup &lt;/h3&gt; &lt;p&gt;In a production environment, Tomcat should be automatically restarted  when the machine starts. How to do this depends on what OS you are  running. This &lt;a href="http://wiki.apache.org/jakarta-tomcat/HowTo"&gt;FAQ&lt;/a&gt; has a bit of info. &lt;/p&gt; &lt;h3&gt;Miscellaneous&lt;/h3&gt; &lt;p&gt;Once &lt;strong&gt;thredds.war&lt;/strong&gt; is expanded, manually copy everything in &lt;strong&gt;${tomcat_home}/webapps/thredds/initialContent/root/ &lt;/strong&gt;to &lt;strong&gt;${tomcat_home}/webapps/ROOT/ .&lt;/strong&gt;&lt;/p&gt; &lt;ol&gt;&lt;li&gt;This sets up a &lt;strong&gt;robots&lt;a name="robots"&gt;&lt;/a&gt;.txt&lt;/strong&gt; file to keep crawlers from wasting bandwidth.&lt;/li&gt;&lt;li&gt; The &lt;strong&gt;favicon.ico&lt;/strong&gt; file is mostly a convenience to keep browsers from constantly asking for it (substitute your own icon if you like!). &lt;/li&gt;&lt;/ol&gt; &lt;h3&gt; Resources&lt;/h3&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://jakarta.apache.org/tomcat/faq/performance.html"&gt;Tomcat Performance FAQ &lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href="http://jakarta.apache.org/tomcat/articles/performance.pdf"&gt;Tomcat Performance&lt;/a&gt; paper by Peter Lin &lt;/li&gt;&lt;li&gt;&lt;a href="http://kinetic.more.net/web/javaserver/resources/wpapers/printer/performance.pdf"&gt;Tomcat Performance Tuning&lt;/a&gt; paper at Apache Con 2003&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.webperformanceinc.com/library/reports/ServletReport/index.html"&gt;Servlet Container Benchmarking&lt;/a&gt; (2004)&lt;/li&gt;&lt;li&gt;&lt;a href="http://oreilly.com/catalog/9780596101060/chapter/ch04.pdf"&gt;Tomcat Tuning&lt;/a&gt; free online chapter in &lt;a href="http://oreilly.com/catalog/9780596101060/index.html"&gt;Tomcat: The Definitive Guide&lt;/a&gt; (2007). Check out the timings between Tomcat and Apache.&lt;/li&gt;&lt;/ul&gt; &lt;h2&gt;Thredds Data Server &lt;/h2&gt; &lt;h3&gt;&lt;a name="cache"&gt;&lt;/a&gt;File Handles and Caching &lt;/h3&gt; &lt;p&gt;The TDS caches file handles to minimize OS overhead. Currently this  defaults to allow 200 - 400 open files for OPeNDAP and WCS, and 25 - 40  for HTTP file serving. This means that your OS must allow at least that  many file handles per process, otherwise you can get a "out of file  handles" message, and the server can freeze up. &lt;/p&gt; &lt;p&gt;These numbers limit performance, but not functionality. For example,  the number of files in an aggregation is not limited by these file  handle limits. &lt;/p&gt; &lt;p&gt;You can change these settings in the &lt;a href="http://www.unidata.ucar.edu/projects/THREDDS/tech/tds4.2/reference/ThreddsConfigXMLFile.html#FileHandles"&gt;threddsConfig.xml&lt;/a&gt; file. &lt;/p&gt; &lt;p&gt;Each NetcdfFile object encapsolates a file. NcML aggregations are  careful not to keep component files open. When number of cache files  &amp;gt; maxElementsInMemory, a cleanup thread starts after 100 msecs. So  the number of cached files can get larger than maxElementsInMemory in  the interim, but unless you are really hammering the OS by opening many  files per scond, it shouldnt get too much bigger. But leave some  cushion, depending on your expected rate of opening files.&lt;/p&gt; &lt;h3&gt;Consolidate cache / temporary directories&lt;/h3&gt; &lt;p&gt;The TDS writes temporary files and caches files. By default these are stored under &lt;strong&gt;${tomcat_home}/content/thredds/cache. &lt;/strong&gt;These directories can get large. You might want to relocate them to another place, for example if &lt;strong&gt;${tomcat_home}&lt;/strong&gt;  has limited space. Also, theres no need to backup the cache  directories, so they can be placed on a disk that is not backed up. The  easiest thing to do is to create a symbolic link from &lt;strong&gt;${tomcat_home}/content/thredds/cache&lt;/strong&gt; to wherever you want thes files to live.&lt;/p&gt; &lt;h3&gt;OPeNDAP Memory Use&lt;/h3&gt; &lt;p&gt;The OPeNDAP-Java layer of the server currently has to read the entire  data request into memory before sending it to the client (we hope to  get a streaming I/O solution working eventually). Generally clients only  request subsets of large files, but if you need to support large data  requests, make sure that the &lt;em&gt;&lt;strong&gt;-Xmx&lt;/strong&gt;&lt;/em&gt; parameter above is set accordingly. &lt;/p&gt; &lt;h3&gt;Pre-indexing GRIB files&lt;/h3&gt; &lt;p&gt;If you are serving GRIB files through any of the subsetting services  (OPENDAP, WCS, etc), the CDM must write an index the first time it tries  to read it. This can take several minutes for very large GRIB files. By  indexing GRIB files before they are accessed, users get much faster  response time.&lt;/p&gt;&lt;br /&gt;&lt;address&gt;JVM settings recommendation from Sun&lt;br /&gt;http://java.sun.com/performance/reference/whitepapers/tuning.html&lt;br /&gt;&lt;/address&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-6747536958132988325?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/6747536958132988325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2012/01/jvm-details.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/6747536958132988325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/6747536958132988325'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2012/01/jvm-details.html' title='JVM Details'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-5765167932733198688</id><published>2012-01-24T18:45:00.000-08:00</published><updated>2012-01-24T18:46:12.171-08:00</updated><title type='text'>Kaleo workflow</title><content type='html'>More details you can find here&lt;br /&gt;&lt;br /&gt;http://l154k.blogspot.com/2011/11/10-things-programmer-should-know-about.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-5765167932733198688?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/5765167932733198688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2012/01/kaleo-workflow.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/5765167932733198688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/5765167932733198688'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2012/01/kaleo-workflow.html' title='Kaleo workflow'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-3501030798023062905</id><published>2012-01-03T02:08:00.000-08:00</published><updated>2012-01-03T02:10:20.673-08:00</updated><title type='text'>Debugging with eclipse in server</title><content type='html'>if [ -z "$LOGGING_MANAGER" ]; then&lt;br /&gt; JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager&lt;span style="font-weight: bold;"&gt; -Xdebug -Xrunjdwp:transport=dt_socket,address=7777,server=y,suspend=n&lt;/span&gt;"&lt;br /&gt;else&lt;br /&gt; JAVA_OPTS="$JAVA_OPTS $LOGGING_MANAGER &lt;span style="font-weight: bold;"&gt;-Xdebug -Xrunjdwp:transport=dt_socket,address=7777,server=y,suspend=n"&lt;/span&gt;&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Add above line in catalina.sh present in /opt /alfresco/tomcat/bin&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-3501030798023062905?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/3501030798023062905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2012/01/debugging-with-eclipse-in-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/3501030798023062905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/3501030798023062905'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2012/01/debugging-with-eclipse-in-server.html' title='Debugging with eclipse in server'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-2538651993271872134</id><published>2011-12-30T06:22:00.000-08:00</published><updated>2011-12-30T06:23:29.639-08:00</updated><title type='text'>Logging webscripts in alfresco</title><content type='html'>&lt;h3&gt; &lt;span class="mw-headline" id="Logging_API"&gt; Logging API &lt;/span&gt;&lt;/h3&gt; &lt;p&gt;A root level object 'logger' is provided that provides functions to aid debugging of scripts. &lt;/p&gt; &lt;dl&gt;&lt;dt&gt;boolean isLoggingEnabled() &lt;/dt&gt;&lt;dd&gt;Return true if console logging is enabled. To enable console logging the Log4J category of &lt;code&gt;log4j.logger.org.alfresco.repo.jscript&lt;/code&gt; should be set to &lt;code&gt;DEBUG&lt;/code&gt;. This can be applied in the log4j.properties file (Tomcat) or log4j.xml file (JBoss) on the Alfresco server. &lt;/dd&gt;&lt;/dl&gt; &lt;dl&gt;&lt;dt&gt;void log(string) &lt;/dt&gt;&lt;dd&gt;Log a string message to the console. &lt;/dd&gt;&lt;/dl&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre class="" style="font-family:monospace;"&gt;&lt;ol&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt;vi &lt;alfresco&gt;/tomcat/webapps/alfresco/WEB-INF/classes/log4j.properties&lt;/alfresco&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt; &lt;/div&gt;&lt;/li&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt;log4j.logger.org.alfresco.repo.jscript=debug&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-2538651993271872134?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/2538651993271872134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/12/logging-webscripts-in-alfresco.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2538651993271872134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2538651993271872134'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/12/logging-webscripts-in-alfresco.html' title='Logging webscripts in alfresco'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-3420374403638717830</id><published>2011-12-26T03:55:00.000-08:00</published><updated>2011-12-26T03:56:15.550-08:00</updated><title type='text'>Alfresco Ephesoft</title><content type='html'>http://tpeelen.wordpress.com/2010/12/23/alfresco-and-ephesoft-overview/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-3420374403638717830?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/3420374403638717830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/12/alfresco-ephesoft.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/3420374403638717830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/3420374403638717830'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/12/alfresco-ephesoft.html' title='Alfresco Ephesoft'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-6374560970670519352</id><published>2011-12-26T03:39:00.000-08:00</published><updated>2011-12-26T03:40:20.304-08:00</updated><title type='text'>Solr Tutorial</title><content type='html'>http://wiki.apache.org/solr/Solrj#Directly_adding_POJOs_to_Solr&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-6374560970670519352?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/6374560970670519352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/12/solr-tutorial.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/6374560970670519352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/6374560970670519352'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/12/solr-tutorial.html' title='Solr Tutorial'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-7117327376922548882</id><published>2011-12-22T18:25:00.000-08:00</published><updated>2011-12-22T18:26:06.636-08:00</updated><title type='text'>Coding practices to be followed in share</title><content type='html'>http://wiki.alfresco.com/wiki/3.0_Component_Standards&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-7117327376922548882?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/7117327376922548882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/12/coding-practices-to-be-followed-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/7117327376922548882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/7117327376922548882'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/12/coding-practices-to-be-followed-in.html' title='Coding practices to be followed in share'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-5038386246412015672</id><published>2011-12-13T18:59:00.000-08:00</published><updated>2011-12-13T19:22:21.779-08:00</updated><title type='text'>SSO Authentication filter, passing our custom header</title><content type='html'>/**&lt;br /&gt;*&lt;br /&gt;*/&lt;br /&gt;package com.patil.web.site.servlet;&lt;br /&gt;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;&lt;br /&gt;import javax.servlet.FilterChain;&lt;br /&gt;import javax.servlet.ServletException;&lt;br /&gt;import javax.servlet.ServletRequest;&lt;br /&gt;import javax.servlet.ServletResponse;&lt;br /&gt;import javax.servlet.http.HttpServletRequest;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;import org.alfresco.web.site.servlet.SSOAuthenticationFilter;&lt;br /&gt;import org.apache.commons.logging.Log;&lt;br /&gt;import org.apache.commons.logging.LogFactory;&lt;br /&gt;import org.springframework.extensions.surf.site.AuthenticationUtil;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @author basanagowda.patil&lt;br /&gt;*&lt;br /&gt;*/&lt;br /&gt;public class Patil extends SSOAuthenticationFilter {&lt;br /&gt; &lt;br /&gt;   private static Log LOGGER = LogFactory.getLog(Patil.class);&lt;br /&gt; &lt;br /&gt;   @Override&lt;br /&gt;   public void doFilter(ServletRequest sreq, ServletResponse sresp,&lt;br /&gt;           FilterChain chain) throws IOException, ServletException {&lt;br /&gt;&lt;br /&gt;       // Get the HTTP request/response/session&lt;br /&gt;       HttpServletRequest req = (HttpServletRequest) sreq;      &lt;br /&gt;       String ctuser = req.getHeader("CTUSER");&lt;br /&gt;       String alfrescoSystemuser = req.getHeader("X-Alfresco-Remote-User");&lt;br /&gt;       if(LOGGER.isDebugEnabled()){&lt;br /&gt;           LOGGER.debug("Getting users CTUSER " + ctuser&lt;br /&gt;                   + " X-Alfresco-Remote-User " + alfrescoSystemuser);&lt;br /&gt; &lt;br /&gt;       }&lt;br /&gt;       String user = (ctuser == null || "".equals(ctuser)) ? alfrescoSystemuser : ctuser;&lt;br /&gt;       if (user != null) {          &lt;br /&gt;           AuthenticationUtil.login(req, user);&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       super.doFilter(sreq, sresp, chain);&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In the web.xml you should have the entry for the custom filter&lt;br /&gt;&lt;br /&gt;&lt;!--?xml version='1.0' encoding='UTF-8'?--&gt;&lt;br /&gt;&lt;web-app xmlns="http://java.sun.com/xml/ns/j2ee" xsi="http://www.w3.org/2001/XMLSchema-instance" schemalocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"&gt;&lt;br /&gt;&lt;br /&gt;   &lt;display-name&gt;Alfresco Project Slingshot&lt;/display-name&gt;&lt;br /&gt;   &lt;description&gt;Alfresco Project Slingshot application&lt;/description&gt;&lt;br /&gt;  &lt;br /&gt;   &lt;context-param&gt;&lt;br /&gt;      &lt;param-name&gt;org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL&lt;/param-name&gt;&lt;br /&gt;      &lt;param-value&gt;true&lt;/param-value&gt;&lt;br /&gt;   &lt;/context-param&gt;&lt;br /&gt;  &lt;br /&gt;   &lt;!-- Spring Application Context location and context class --&gt;&lt;br /&gt;   &lt;context-param&gt;&lt;br /&gt;      &lt;description&gt;Spring config file location&lt;/description&gt;&lt;br /&gt;      &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;&lt;br /&gt;      &lt;param-value&gt;/WEB-INF/classes/web-application-config.xml&lt;/param-value&gt;&lt;br /&gt;   &lt;/context-param&gt;&lt;br /&gt;&lt;br /&gt;   &lt;filter&gt;&lt;br /&gt;      &lt;description&gt;Set HTTP cache Expires header 30 days forward for a mapping.&lt;/description&gt;&lt;br /&gt;      &lt;filter-name&gt;CacheExpiresFilter&lt;/filter-name&gt;&lt;br /&gt;      &lt;filter-class&gt;org.alfresco.web.scripts.servlet.StaticAssetCacheFilter&lt;/filter-class&gt;&lt;br /&gt;      &lt;init-param&gt;&lt;br /&gt;         &lt;description&gt;Add an Expires Header 30 days forward&lt;/description&gt;&lt;br /&gt;         &lt;param-name&gt;expires&lt;/param-name&gt;&lt;br /&gt;         &lt;param-value&gt;30&lt;/param-value&gt;&lt;br /&gt;      &lt;/init-param&gt;&lt;br /&gt;   &lt;/filter&gt;&lt;br /&gt;  &lt;br /&gt;   &lt;filter&gt;&lt;br /&gt;      &lt;description&gt;MT authentication support - NOTE: does not support portlets&lt;/description&gt;&lt;br /&gt;      &lt;filter-name&gt;MTAuthentationFilter&lt;/filter-name&gt;&lt;br /&gt;      &lt;filter-class&gt;org.alfresco.web.site.servlet.MTAuthenticationFilter&lt;/filter-class&gt;&lt;br /&gt;   &lt;/filter&gt;&lt;br /&gt;  &lt;br /&gt;   &lt;filter&gt;&lt;br /&gt;      &lt;description&gt;Redirects view and service URLs to the dispatcher servlet.&lt;/description&gt;&lt;br /&gt;      &lt;filter-name&gt;UrlRewriteFilter&lt;/filter-name&gt;&lt;br /&gt;      &lt;filter-class&gt;org.tuckey.web.filters.urlrewrite.UrlRewriteFilter&lt;/filter-class&gt;&lt;br /&gt;   &lt;/filter&gt;&lt;br /&gt;  &lt;br /&gt;   &lt;filter&gt;&lt;br /&gt;      &lt;description&gt;Share SSO authentication support filter.&lt;/description&gt;&lt;br /&gt;      &lt;filter-name&gt;Authentication Filter&lt;/filter-name&gt;&lt;br /&gt;      &lt;filter-class&gt;com.patil.web.site.servlet.Patil&lt;/filter-class&gt;&lt;br /&gt;      &lt;init-param&gt;&lt;br /&gt;         &lt;param-name&gt;endpoint&lt;/param-name&gt;&lt;br /&gt;         &lt;param-value&gt;alfresco&lt;/param-value&gt;&lt;br /&gt;      &lt;/init-param&gt;&lt;br /&gt;   &lt;/filter&gt;&lt;br /&gt;  &lt;br /&gt;   &lt;filter-mapping&gt;&lt;br /&gt;      &lt;filter-name&gt;CacheExpiresFilter&lt;/filter-name&gt;&lt;br /&gt;      &lt;url-pattern&gt;*.jpg&lt;/url-pattern&gt;&lt;br /&gt;   &lt;/filter-mapping&gt;&lt;br /&gt;   &lt;filter-mapping&gt;&lt;br /&gt;      &lt;filter-name&gt;CacheExpiresFilter&lt;/filter-name&gt;&lt;br /&gt;      &lt;url-pattern&gt;*.png&lt;/url-pattern&gt;&lt;br /&gt;   &lt;/filter-mapping&gt;&lt;br /&gt;   &lt;filter-mapping&gt;&lt;br /&gt;      &lt;filter-name&gt;CacheExpiresFilter&lt;/filter-name&gt;&lt;br /&gt;      &lt;url-pattern&gt;*.gif&lt;/url-pattern&gt;&lt;br /&gt;   &lt;/filter-mapping&gt;&lt;br /&gt;   &lt;filter-mapping&gt;&lt;br /&gt;      &lt;filter-name&gt;CacheExpiresFilter&lt;/filter-name&gt;&lt;br /&gt;      &lt;url-pattern&gt;*.css&lt;/url-pattern&gt;&lt;br /&gt;   &lt;/filter-mapping&gt;&lt;br /&gt;   &lt;filter-mapping&gt;&lt;br /&gt;      &lt;filter-name&gt;CacheExpiresFilter&lt;/filter-name&gt;&lt;br /&gt;      &lt;url-pattern&gt;*.js&lt;/url-pattern&gt;&lt;br /&gt;   &lt;/filter-mapping&gt;&lt;br /&gt;  &lt;br /&gt;   &lt;filter-mapping&gt;&lt;br /&gt;      &lt;filter-name&gt;Authentication Filter&lt;/filter-name&gt;&lt;br /&gt;      &lt;url-pattern&gt;/page/*&lt;/url-pattern&gt;&lt;br /&gt;   &lt;/filter-mapping&gt;&lt;br /&gt;  &lt;br /&gt;   &lt;filter-mapping&gt;&lt;br /&gt;      &lt;filter-name&gt;Authentication Filter&lt;/filter-name&gt;&lt;br /&gt;      &lt;url-pattern&gt;/p/*&lt;/url-pattern&gt;&lt;br /&gt;   &lt;/filter-mapping&gt;&lt;br /&gt;  &lt;br /&gt;   &lt;filter-mapping&gt;&lt;br /&gt;      &lt;filter-name&gt;Authentication Filter&lt;/filter-name&gt;&lt;br /&gt;      &lt;url-pattern&gt;/proxy/*&lt;/url-pattern&gt;&lt;br /&gt;   &lt;/filter-mapping&gt;&lt;br /&gt;  &lt;br /&gt;   &lt;filter-mapping&gt;&lt;br /&gt;      &lt;filter-name&gt;UrlRewriteFilter&lt;/filter-name&gt;&lt;br /&gt;      &lt;url-pattern&gt;/proxy/*&lt;/url-pattern&gt;&lt;br /&gt;   &lt;/filter-mapping&gt;&lt;br /&gt;  &lt;br /&gt;    &lt;filter-mapping&gt;&lt;br /&gt;      &lt;filter-name&gt;Authentication Filter&lt;/filter-name&gt;&lt;br /&gt;      &lt;url-pattern&gt;/service/*&lt;/url-pattern&gt;&lt;br /&gt;   &lt;/filter-mapping&gt;&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;   &lt;filter-mapping&gt;&lt;br /&gt;      &lt;filter-name&gt;UrlRewriteFilter&lt;/filter-name&gt;&lt;br /&gt;      &lt;url-pattern&gt;/service/*&lt;/url-pattern&gt;&lt;br /&gt;   &lt;/filter-mapping&gt;&lt;br /&gt;  &lt;br /&gt;   &lt;filter-mapping&gt;&lt;br /&gt;      &lt;filter-name&gt;UrlRewriteFilter&lt;/filter-name&gt;&lt;br /&gt;      &lt;url-pattern&gt;/feedservice/*&lt;/url-pattern&gt;&lt;br /&gt;   &lt;/filter-mapping&gt;&lt;br /&gt;  &lt;br /&gt;   &lt;filter-mapping&gt;&lt;br /&gt;      &lt;filter-name&gt;UrlRewriteFilter&lt;/filter-name&gt;&lt;br /&gt;      &lt;url-pattern&gt;/res/*&lt;/url-pattern&gt;&lt;br /&gt;   &lt;/filter-mapping&gt;&lt;br /&gt;  &lt;br /&gt;   &lt;filter-mapping&gt;&lt;br /&gt;      &lt;filter-name&gt;UrlRewriteFilter&lt;/filter-name&gt;&lt;br /&gt;      &lt;url-pattern&gt;/system/*&lt;/url-pattern&gt;&lt;br /&gt;   &lt;/filter-mapping&gt;&lt;br /&gt;  &lt;br /&gt;   &lt;filter-mapping&gt;&lt;br /&gt;      &lt;filter-name&gt;MTAuthentationFilter&lt;/filter-name&gt;&lt;br /&gt;      &lt;url-pattern&gt;/page/*&lt;/url-pattern&gt;&lt;br /&gt;   &lt;/filter-mapping&gt;&lt;br /&gt;   &lt;filter-mapping&gt;&lt;br /&gt;      &lt;filter-name&gt;MTAuthentationFilter&lt;/filter-name&gt;&lt;br /&gt;      &lt;url-pattern&gt;/p/*&lt;/url-pattern&gt;&lt;br /&gt;   &lt;/filter-mapping&gt;&lt;br /&gt;  &lt;br /&gt;   &lt;!-- Spring Context Loader listener - the name of the default global context is passed to the DispatcherServlet&lt;br /&gt;        in the servlet definition below - this is to allow the NTLM filter etc. to find the single app context --&gt;&lt;br /&gt;   &lt;listener&gt;&lt;br /&gt;      &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt;&lt;br /&gt;   &lt;/listener&gt;&lt;br /&gt;  &lt;br /&gt;   &lt;servlet&gt;&lt;br /&gt;      &lt;servlet-name&gt;Spring Surf Dispatcher Servlet&lt;/servlet-name&gt;&lt;br /&gt;      &lt;servlet-class&gt;org.springframework.web.servlet.DispatcherServlet&lt;/servlet-class&gt;&lt;br /&gt;      &lt;init-param&gt;&lt;br /&gt;         &lt;param-name&gt;contextAttribute&lt;/param-name&gt;&lt;br /&gt;         &lt;param-value&gt;org.springframework.web.context.WebApplicationContext.ROOT&lt;/param-value&gt;&lt;br /&gt;      &lt;/init-param&gt;&lt;br /&gt;      &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;&lt;br /&gt;   &lt;/servlet&gt;&lt;br /&gt;  &lt;br /&gt;   &lt;servlet-mapping&gt;&lt;br /&gt;      &lt;servlet-name&gt;Spring Surf Dispatcher Servlet&lt;/servlet-name&gt;&lt;br /&gt;      &lt;url-pattern&gt;/page/*&lt;/url-pattern&gt;&lt;br /&gt;   &lt;/servlet-mapping&gt;&lt;br /&gt;   &lt;servlet-mapping&gt;&lt;br /&gt;      &lt;servlet-name&gt;Spring Surf Dispatcher Servlet&lt;/servlet-name&gt;&lt;br /&gt;      &lt;url-pattern&gt;/p/*&lt;/url-pattern&gt;&lt;br /&gt;   &lt;/servlet-mapping&gt;&lt;br /&gt;  &lt;br /&gt;   &lt;session-config&gt;&lt;br /&gt;      &lt;session-timeout&gt;60&lt;/session-timeout&gt;&lt;br /&gt;   &lt;/session-config&gt;&lt;br /&gt;&lt;br /&gt;   &lt;!-- welcome file list precedence order is index.jsp --&gt;&lt;br /&gt;   &lt;welcome-file-list&gt;&lt;br /&gt;      &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;&lt;br /&gt;   &lt;/welcome-file-list&gt;&lt;br /&gt;  &lt;br /&gt;   &lt;error-page&gt;&lt;br /&gt;      &lt;error-code&gt;500&lt;/error-code&gt;&lt;br /&gt;      &lt;location&gt;/error500.jsp&lt;/location&gt;&lt;br /&gt;   &lt;/error-page&gt;&lt;br /&gt;&lt;br /&gt;&lt;/web-app&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-5038386246412015672?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/5038386246412015672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/12/sso-authentication-filter-passing-our.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/5038386246412015672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/5038386246412015672'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/12/sso-authentication-filter-passing-our.html' title='SSO Authentication filter, passing our custom header'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-8014465563037349325</id><published>2011-12-11T19:58:00.000-08:00</published><updated>2011-12-11T20:00:08.300-08:00</updated><title type='text'>SCAN  tool</title><content type='html'>1. SCAN can browse files from network file system&lt;br /&gt;2. SCAN will store the indexes in the location&lt;br /&gt; C:\Documents and Settings\basanagowda.patil\.scan\repository&lt;br /&gt;You can get this location from&lt;br /&gt;&lt;br /&gt;To remove the SCAN data, delete the directory where it is located. You can find the actual path of this directory&lt;br /&gt;in the Repository path field of SCAN configuration dialog (Tools→Configure...).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-8014465563037349325?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/8014465563037349325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/12/scan-tool.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/8014465563037349325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/8014465563037349325'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/12/scan-tool.html' title='SCAN  tool'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-2300634845748157091</id><published>2011-11-17T07:00:00.001-08:00</published><updated>2011-11-17T07:00:53.740-08:00</updated><title type='text'>Cloud Alfresco</title><content type='html'>We can host apps in the url&lt;br /&gt;&lt;br /&gt;http://jelastic.com/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-2300634845748157091?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/2300634845748157091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/11/cloud-alfresco.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2300634845748157091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2300634845748157091'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/11/cloud-alfresco.html' title='Cloud Alfresco'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-4517882222181618764</id><published>2011-11-09T11:59:00.000-08:00</published><updated>2011-11-09T12:00:11.253-08:00</updated><title type='text'>JMX Dump</title><content type='html'>We can get jmx dump using below url&lt;br /&gt;&lt;br /&gt;http://localhost:8080/alfresco/faces/jsp/admin/jmx-dumper.jsp&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-4517882222181618764?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/4517882222181618764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/11/jmx-dump.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/4517882222181618764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/4517882222181618764'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/11/jmx-dump.html' title='JMX Dump'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-2184419642687268926</id><published>2011-11-08T12:55:00.000-08:00</published><updated>2011-11-08T12:57:03.089-08:00</updated><title type='text'>Conditionally hiding header in Alfresco share</title><content type='html'>We can conditionally show or hide the headers in Share.&lt;br /&gt;Share accepts the ftl expression and based on that it decides whether to show or hide the link.&lt;br /&gt;&lt;br /&gt;&lt;header&gt;&lt;br /&gt;            &lt;app-items&gt;&lt;br /&gt;                &lt;!-- defaults: icon="{id}.png" label="header.{id}.label" description="header.{id}.description" --&gt;&lt;br /&gt;                &lt;item type="link" id="my-dashboard"&gt;{userdashboardpage}&lt;/item&gt;&lt;br /&gt;                &lt;item type="link" id="my-home-hersheys" condition="user.properties['email']?ends_with('@patil.com')"&gt;{myhomeHersheys}&lt;/item&gt;&lt;br /&gt;                &lt;item type="js" id="sites"&gt;Alfresco.module.Sites&lt;/item&gt;&lt;br /&gt;                &lt;item type="link" id="people"&gt;/people-finder&lt;/item&gt;&lt;br /&gt;                &lt;item type="link" id="repository" span="" style="font-weight: bold;"&gt;condition="user.properties['email']?ends_with('@patil.com')" &amp;gt;/repository&lt;/item&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;                &lt;item type="container" id="more"&gt;&lt;/item&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;container-group id="my"&gt;&lt;br /&gt;               &lt;br /&gt;&lt;/container-group&gt;&lt;/app-items&gt;&lt;/header&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-2184419642687268926?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/2184419642687268926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/11/conditionally-hiding-header-in-alfresco.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2184419642687268926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2184419642687268926'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/11/conditionally-hiding-header-in-alfresco.html' title='Conditionally hiding header in Alfresco share'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-3286553211336100473</id><published>2011-11-08T11:39:00.000-08:00</published><updated>2011-11-08T11:44:35.053-08:00</updated><title type='text'>SSO to share</title><content type='html'>All the people feel that alfresco share is not easy.&lt;br /&gt;&lt;br /&gt;Follow the below steps&lt;br /&gt;&lt;br /&gt;1. From your web server set the REMOTE_USER&lt;br /&gt;   Make sure you are getting remoteuser by getting that value in the jsp&lt;br /&gt;&lt;br /&gt;2, In the tomcat disable the tomcat authentication so that you will get&lt;br /&gt;req.getRemoteUser()&lt;br /&gt;&lt;br /&gt;&lt;connector port="8009" protocol="AJP/1.3" redirectport="8443" span="" style="font-weight: bold;"&gt;tomcatauthentication="false"&amp;gt;&lt;br /&gt;&lt;br /&gt;3. No need to change the X-Alfresco-RemoteUSer&lt;br /&gt;as it will check for remoteuser i it does not exist then only it will check for the X-Alfresco-Remote User&lt;/connector&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-3286553211336100473?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/3286553211336100473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/11/sso-to-share.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/3286553211336100473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/3286553211336100473'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/11/sso-to-share.html' title='SSO to share'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-2697310413865002529</id><published>2011-11-07T05:59:00.000-08:00</published><updated>2011-11-07T06:01:17.597-08:00</updated><title type='text'>Setting REMOTE_USER</title><content type='html'>One way to do this is to put an apache front-end with a ajp1.3 connector with basic auth, i.e.:&lt;br /&gt;&lt;br /&gt;a) create a /usr/local/apache2/conf/workers.properties file with:&lt;br /&gt;&lt;br /&gt;-------------------------&lt;br /&gt;worker.list=alexwk,jkstatus&lt;br /&gt;worker.alexwk.host=127.0.0.1&lt;br /&gt;worker.alexwk.port=8009&lt;br /&gt;worker.alexwk.type=ajp13&lt;br /&gt;worker.alexwk.lbfactor=100&lt;br /&gt;-------------------------&lt;br /&gt;&lt;br /&gt;b) in apache httpd.conf:&lt;br /&gt;&lt;br /&gt;-------------------------&lt;br /&gt;JkworkersFile "/usr/local/apache2/conf/workers.properties"&lt;br /&gt;&lt;virtualhost 80=""&gt;&lt;br /&gt;ServerName alfjk2.foo&lt;br /&gt;JkLogFile "/usr/local/apache2/logs/mod_jk_2.log"&lt;br /&gt;JkMount /alfresco alexwk&lt;br /&gt;JkMount /alfresco/* alexwk&lt;br /&gt;JkMount /share alexwk&lt;br /&gt;JkMount /share/* alexwk&lt;br /&gt;JkLogLevel info&lt;br /&gt;&lt;location&gt;&lt;br /&gt;   AuthType Basic&lt;br /&gt;   AuthName "Test Basic Auth"&lt;br /&gt;   AuthUserFile /usr/local/apache2/passtest.txt&lt;br /&gt;   Require valid-user&lt;br /&gt;&lt;/location&gt;&lt;br /&gt;&lt;/virtualhost&gt;&lt;br /&gt;-------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4) In tomcat server.xml, define an ajp13 connector turning off tomcat authentication:&lt;br /&gt;&lt;br /&gt;&lt;connector port="8009" protocol="AJP/1.3" redirectport="8443" tomcatauthentication="false"&gt;&lt;br /&gt;&lt;br /&gt;5) generate a password file with admin/admin:&lt;br /&gt;/usr/local/apache2/bin/htpasswd  -c /usr/local/apache2/passtest.txt admin&lt;br /&gt;&lt;br /&gt;6) check the cgi variable setup putting in a new file&lt;br /&gt;'tomcat/webapps/alfresco/test.jsp':&lt;br /&gt;&lt;br /&gt;-------------------------&lt;br /&gt;getRemoteUser() is set to:&lt;br /&gt;&amp;lt;% out.print (request.getRemoteUser()); %&amp;gt;&lt;br /&gt;-------------------------&lt;br /&gt;and go to:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://alfjk2.foo/alfresco/test.jsp"&gt;http://alfjk2.foo/alfresco/test.jsp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You should see the name of the HTTP user.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is been taken from&lt;br /&gt;https://issues.alfresco.com/jira/browse/ALF-4230&lt;br /&gt;&lt;br /&gt;&lt;/connector&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-2697310413865002529?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/2697310413865002529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/11/setting-remoteuser.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2697310413865002529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2697310413865002529'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/11/setting-remoteuser.html' title='Setting REMOTE_USER'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-5394657412220906817</id><published>2011-11-03T08:23:00.000-07:00</published><updated>2011-11-03T08:25:19.518-07:00</updated><title type='text'>Updataing the jar file with the existing class</title><content type='html'>&lt;target name="update-spring-jar" depends="compile"&gt;           &lt;br /&gt;        &lt;jar destfile="${build.dir}/lib/spring-webscripts-1.0.0.CI-SNAPSHOT.jar" span="" style="font-weight: bold;"&gt;update="true" &lt;span style="font-weight: bold;"&gt;duplicate="preserve"&lt;/span&gt; &amp;gt;&lt;br /&gt;            &lt;fileset dir="${build.dir}/classes"&gt;&lt;br /&gt;            &lt;zipfileset includes="**/*.class" src="$%7Bspringwebscripts.file%7D"&gt;      &lt;br /&gt;         &lt;/zipfileset&gt;&lt;/fileset&gt;&lt;/jar&gt;&lt;br /&gt;    &lt;/target&gt;&lt;br /&gt;&lt;br /&gt;Here we need to put duplicate="preserve" so that only one file will be considered.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-5394657412220906817?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/5394657412220906817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/11/updataing-jar-file-with-existing-class.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/5394657412220906817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/5394657412220906817'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/11/updataing-jar-file-with-existing-class.html' title='Updataing the jar file with the existing class'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-686770145238301982</id><published>2011-10-28T22:41:00.000-07:00</published><updated>2011-10-28T22:45:27.896-07:00</updated><title type='text'>Liferay and Alfresco Doclib integration</title><content type='html'>Alfresco uses org.springframework.extensions.webscripts.connector.HttpConnector to talk with&lt;br /&gt;Alfresco. This has the hardcoded value&lt;br /&gt;headers.put("X-Alfresco-Remote-User", user);&lt;br /&gt;&lt;br /&gt;Since it is hardcoded,if we change the value of th eheader then the authentication will not be respected.&lt;br /&gt;&lt;br /&gt;So change the code to fir the your custom external key CTUSER defined in your external file.&lt;br /&gt;&lt;br /&gt;&lt;alfresco-config&gt;&lt;br /&gt;  &lt;config evaluator="string-compare" condition="Remote"&gt;&lt;br /&gt;    &lt;remote&gt;&lt;br /&gt;&lt;br /&gt;      &lt;endpoint&gt;&lt;br /&gt;        &lt;id&gt;alfresco-noauth&lt;/id&gt;&lt;br /&gt;        &lt;name&gt;Alfresco - unauthenticated access&lt;/name&gt;&lt;br /&gt;        &lt;description&gt;Access to Alfresco Repository WebScripts that do not require authentication&lt;/description&gt;&lt;br /&gt;        &lt;connector-id&gt;alfresco&lt;/connector-id&gt;&lt;br /&gt;        &lt;endpoint-url&gt;http://localhost:8080/alfresco/s&lt;/endpoint-url&gt;&lt;br /&gt;        &lt;identity&gt;none&lt;/identity&gt;&lt;br /&gt;      &lt;/endpoint&gt;&lt;br /&gt;&lt;br /&gt;      &lt;endpoint&gt;&lt;br /&gt;        &lt;id&gt;alfresco-feed&lt;/id&gt;&lt;br /&gt;        &lt;name&gt;Alfresco Feed&lt;/name&gt;&lt;br /&gt;        &lt;description&gt;Alfresco Feed - supports basic HTTP authentication&lt;/description&gt;&lt;br /&gt;        &lt;connector-id&gt;http&lt;/connector-id&gt;&lt;br /&gt;        &lt;endpoint-url&gt;http://localhost:8080/alfresco/s&lt;/endpoint-url&gt;&lt;br /&gt;        &lt;basic-auth&gt;true&lt;/basic-auth&gt;&lt;br /&gt;        &lt;identity&gt;user&lt;/identity&gt;&lt;br /&gt;      &lt;/endpoint&gt;&lt;br /&gt;&lt;br /&gt;      &lt;connector&gt;&lt;br /&gt;        &lt;id&gt;alfrescoCookie&lt;/id&gt;&lt;br /&gt;        &lt;name&gt;Alfresco Connector&lt;/name&gt;&lt;br /&gt;        &lt;description&gt;Connects to an Alfresco instance using cookie-based authentication&lt;/description&gt;&lt;br /&gt;        &lt;class&gt;org.springframework.extensions.webscripts.connector.AlfrescoConnector&lt;/class&gt;&lt;br /&gt;      &lt;/connector&gt;&lt;br /&gt;&lt;br /&gt;      &lt;endpoint&gt;&lt;br /&gt;        &lt;id&gt;alfresco&lt;/id&gt;&lt;br /&gt;        &lt;name&gt;Alfresco - user access&lt;/name&gt;&lt;br /&gt;        &lt;description&gt;Access to Alfresco Repository WebScripts that require user authentication&lt;/description&gt;&lt;br /&gt;        &lt;connector-id&gt;alfrescoCookie&lt;/connector-id&gt;&lt;br /&gt;        &lt;endpoint-url&gt;http://localhost:8080/alfresco/wcs&lt;/endpoint-url&gt;&lt;br /&gt;        &lt;identity&gt;user&lt;/identity&gt;&lt;br /&gt;        &lt;external-auth&gt;true&lt;/external-auth&gt;&lt;br /&gt;      &lt;/endpoint&gt;&lt;br /&gt;&lt;br /&gt;    &lt;/remote&gt;&lt;br /&gt;  &lt;/config&gt;&lt;br /&gt;&lt;br /&gt;&lt;/alfresco-config&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-686770145238301982?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/686770145238301982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/10/liferay-and-alfresco-doclib-integration.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/686770145238301982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/686770145238301982'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/10/liferay-and-alfresco-doclib-integration.html' title='Liferay and Alfresco Doclib integration'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-8428930111251650456</id><published>2011-10-27T09:26:00.000-07:00</published><updated>2011-10-27T09:28:26.278-07:00</updated><title type='text'>Finding the pid of the server running in alfresco</title><content type='html'>halfwd01:#cd /opt/alfresco/&lt;br /&gt;halfwd01:#&lt;span style="font-weight: bold;"&gt;find . -name '*.pid'&lt;/span&gt;&lt;br /&gt;./tomcat/temp/catalina.pid&lt;br /&gt;halfwd01:#cat ./tomcat/temp/catalina.pid&lt;br /&gt;16789&lt;br /&gt;halfd01:#ps -elf|grep java&lt;br /&gt;0 S patil 14735 14413  0  77   0 - 15296 -      12:24 pts/3    00:00:00 grep java&lt;br /&gt;0 S alfresco 16789     1  5  84   0 - 522368 futex_ Oct26 ?       01:15:21 /opt/alfresco/java/bin/java -Djava.util.logging.config.file=/opt/alfresco/tomcat/conf/logging.properties -Xms512m -Xmx1024m -Xss1024k -XX:MaxPermSize=256m -XX:NewSize=256m -XX:+UseConcMarkSweepGC -Dalfresco.home=/opt/alfresco -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/opt/alfresco/tomcat/endorsed -classpath /opt/alfresco/tomcat/bin/bootstrap.jar -Dcatalina.base=/opt/alfresco/tomcat -Dcatalina.home=/opt/alfresco/tomcat -Djava.io.tmpdir=/opt/alfresco/tomcat/temp org.apache.catalina.startup.Bootstrap start&lt;br /&gt;halfd01:#&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-8428930111251650456?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/8428930111251650456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/10/finding-pid-of-server-running-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/8428930111251650456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/8428930111251650456'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/10/finding-pid-of-server-running-in.html' title='Finding the pid of the server running in alfresco'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-4531077751710747077</id><published>2011-10-20T07:57:00.001-07:00</published><updated>2011-10-20T08:05:21.624-07:00</updated><title type='text'>ldap sync in Alfresco</title><content type='html'>&lt;bean id="syncTrigger" class="org.alfresco.util.CronTriggerBean"&gt;&lt;br /&gt;        &lt;property name="jobDetail"&gt;&lt;br /&gt;            &lt;bean id="ldapPeopleJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean"&gt;&lt;br /&gt;                &lt;property name="jobClass"&gt;&lt;br /&gt;                    &lt;value&gt;org.alfresco.repo.security.sync.UserRegistrySynchronizerJob&lt;/value&gt;&lt;br /&gt;                &lt;/property&gt;&lt;br /&gt;                &lt;property name="jobDataAsMap"&gt;&lt;br /&gt;                    &lt;map&gt;&lt;br /&gt;                        &lt;entry key="userRegistrySynchronizer"&gt;&lt;br /&gt;                            &lt;ref bean="userRegistrySynchronizer"&gt;&lt;br /&gt;                        &lt;/ref&gt;&lt;/entry&gt;&lt;br /&gt;                        &lt;entry key="synchronizeChangesOnly"&gt;&lt;br /&gt;                            &lt;value&gt;${synchronization.synchronizeChangesOnly}&lt;/value&gt;&lt;br /&gt;                        &lt;/entry&gt;&lt;br /&gt;                    &lt;/map&gt;&lt;br /&gt;                &lt;/property&gt;&lt;br /&gt;            &lt;/bean&gt;&lt;br /&gt;        &lt;/property&gt;&lt;br /&gt;        &lt;property name="cronExpression"&gt;&lt;br /&gt;            &lt;value&gt;${synchronization.import.cron}&lt;/value&gt;&lt;br /&gt;        &lt;/property&gt;&lt;br /&gt;        &lt;property name="scheduler"&gt;&lt;br /&gt;            &lt;ref bean="schedulerFactory"&gt;&lt;br /&gt;        &lt;/ref&gt;&lt;/property&gt;&lt;br /&gt;    &lt;/bean&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;From here it calls&lt;br /&gt;&lt;br /&gt;  &lt;!-- The chaining user registry synchronizer --&gt;&lt;br /&gt;    &lt;bean id="userRegistrySynchronizer" class="org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer"&gt;&lt;br /&gt;&lt;br /&gt;ChainingUserRegistrySynchronizer.java has a method by name&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;syncWithPlugin&lt;br /&gt;&lt;br /&gt;    private void syncWithPlugin(final String zone, UserRegistry userRegistry, boolean forceUpdate,&lt;br /&gt;            boolean allowDeletions, boolean splitTxns, final Set&lt;string&gt; visitedZoneIds, final Set&lt;string&gt; allZoneIds)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It has&lt;br /&gt;&lt;br /&gt;  final BatchProcessor&lt;nodedescription&gt; personProcessor = new BatchProcessor&lt;nodedescription&gt;(zone&lt;br /&gt;                + " User Creation and Association", this.transactionService.getRetryingTransactionHelper(),&lt;br /&gt;                userRegistry.getPersons(lastModified), this.workerThreads, 10, this.applicationEventPublisher,&lt;br /&gt;&lt;br /&gt;userRegistry.getPersons(lastModified)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It calls LDAPUSerRegistry&lt;br /&gt;&lt;br /&gt; /*&lt;br /&gt;     * (non-Javadoc)&lt;br /&gt;     * @see org.alfresco.repo.security.sync.UserRegistry#getPersons(java.util.Date)&lt;br /&gt;     */&lt;br /&gt;    public Collection&lt;nodedescription&gt; getPersons(Date modifiedSince)&lt;br /&gt;    {&lt;br /&gt;        return new PersonCollection(modifiedSince);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;which in turn calls PersonCollection. The PersonCollection has the constructor to initialize the query&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PersonIterator has the next to get the users from the system&lt;br /&gt;&lt;br /&gt; private NodeDescription fetchNext() throws NamingException&lt;br /&gt;            {&lt;br /&gt;                boolean readyForNextPage;&lt;br /&gt;                do&lt;br /&gt;                {&lt;br /&gt;                    readyForNextPage = this.searchResults == null;&lt;br /&gt;                    while (!readyForNextPage &amp;amp;&amp;amp; this.searchResults.hasMore())&lt;br /&gt;                    {&lt;br /&gt;                        SearchResult result = this.searchResults.next();&lt;br /&gt;                        Attributes attributes = result.getAttributes();&lt;br /&gt;                        Attribute uidAttribute = attributes.get(LDAPUserRegistry.this.userIdAttributeName);&lt;br /&gt;                        if (uidAttribute == null)&lt;br /&gt;                        {&lt;br /&gt;                            if (LDAPUserRegistry.this.errorOnMissingUID)&lt;br /&gt;                            {&lt;br /&gt;                                throw new AlfrescoRuntimeException(&lt;br /&gt;                                        "User returned by user search does not have mandatory user id attribute "&lt;br /&gt;                                                + attributes);&lt;br /&gt;                            }&lt;br /&gt;                            else&lt;br /&gt;                            {&lt;br /&gt;                                LDAPUserRegistry.logger&lt;br /&gt;                                        .warn("User returned by user search does not have mandatory user id attribute "&lt;br /&gt;                                                + attributes);&lt;br /&gt;                                continue;&lt;br /&gt;                            }&lt;br /&gt;                        }&lt;br /&gt;                        String uid = (String) uidAttribute.get(0);&lt;br /&gt;&lt;br /&gt;                        if (this.uids.contains(uid))&lt;br /&gt;                        {&lt;br /&gt;                            LDAPUserRegistry.logger&lt;br /&gt;                                    .warn("Duplicate uid found - there will be more than one person object for this user - "&lt;br /&gt;                                            + uid);&lt;br /&gt;                        }&lt;br /&gt;&lt;br /&gt;                        this.uids.add(uid);&lt;br /&gt;&lt;br /&gt;                        if (LDAPUserRegistry.logger.isDebugEnabled())&lt;br /&gt;                        {&lt;br /&gt;                            LDAPUserRegistry.logger.debug("Adding user for " + uid);&lt;br /&gt;                        }&lt;br /&gt;&lt;br /&gt;                        // Apply the mapped properties to the node description&lt;br /&gt;                        return mapToNode(LDAPUserRegistry.this.personAttributeMapping,&lt;br /&gt;                                LDAPUserRegistry.this.personAttributeDefaults, result);&lt;br /&gt;                    }&lt;br /&gt;&lt;br /&gt;                    // Examine the paged results control response for an indication that another page is available&lt;br /&gt;                    if (!readyForNextPage)&lt;br /&gt;                    {&lt;br /&gt;                        readyForNextPage = LDAPUserRegistry.this.ldapInitialContextFactory.hasNextPage(this.ctx,&lt;br /&gt;                                LDAPUserRegistry.this.queryBatchSize);&lt;br /&gt;                    }&lt;br /&gt;&lt;br /&gt;                    // Fetch the next page if there is one&lt;br /&gt;                    if (readyForNextPage)&lt;br /&gt;                    {&lt;br /&gt;                        this.searchResults = this.ctx.search(LDAPUserRegistry.this.userSearchBase,&lt;br /&gt;                                PersonCollection.this.query, this.userSearchCtls);&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;                while (readyForNextPage);&lt;br /&gt;                this.searchResults.close();&lt;br /&gt;                this.searchResults = null;&lt;br /&gt;                this.ctx.close();&lt;br /&gt;                this.ctx = null;&lt;br /&gt;                return null;&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/nodedescription&gt;&lt;/nodedescription&gt;&lt;/nodedescription&gt;&lt;/string&gt;&lt;/string&gt;&lt;/bean&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-4531077751710747077?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/4531077751710747077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/10/ldap-sync-in-alfresco.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/4531077751710747077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/4531077751710747077'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/10/ldap-sync-in-alfresco.html' title='ldap sync in Alfresco'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-277181758548740458</id><published>2011-10-18T18:47:00.001-07:00</published><updated>2011-10-18T18:47:37.457-07:00</updated><title type='text'>Link for CKEditor config</title><content type='html'>&lt;span style="font-weight: bold;"&gt;http://blog.tommed.co.uk/?p=31&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-277181758548740458?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/277181758548740458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/10/link-for-ckeditor-config.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/277181758548740458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/277181758548740458'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/10/link-for-ckeditor-config.html' title='Link for CKEditor config'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-770795609308877876</id><published>2011-10-17T12:58:00.001-07:00</published><updated>2011-10-17T12:58:44.799-07:00</updated><title type='text'>Open Office Trouble shooting</title><content type='html'>http://wiki.knowledgetree.org/Troubleshooting_OpenOffice.org_Service&lt;br /&gt;&lt;br /&gt;testing the service&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;ps -aux | grep soffice&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-770795609308877876?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/770795609308877876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/10/open-office-trouble-shooting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/770795609308877876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/770795609308877876'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/10/open-office-trouble-shooting.html' title='Open Office Trouble shooting'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-2643438532768231520</id><published>2011-10-11T07:22:00.000-07:00</published><updated>2011-10-11T07:27:10.330-07:00</updated><title type='text'>Cron jobs</title><content type='html'>30 1 * * * --- every day 1:30&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://www.quartz-scheduler.org/docs/tutorials/crontrigger.html&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://www.abunchofutils.com/utils/developer/cron-expression-helper/&lt;br /&gt;http://www.cronmaker.com/&lt;br /&gt;&lt;br /&gt;  0 0 23 1/1 * ? * --- Every day night 11'o clock&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-2643438532768231520?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/2643438532768231520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/10/cron-jobs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2643438532768231520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2643438532768231520'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/10/cron-jobs.html' title='Cron jobs'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-4349263977302974293</id><published>2011-10-06T05:45:00.001-07:00</published><updated>2011-10-06T06:00:35.841-07:00</updated><title type='text'>WebServices for Alfresco</title><content type='html'>http://wiki.alfresco.com/wiki/IngresTutorial_Alfresco_Web_Service_API_for_Java&lt;br /&gt;&lt;br /&gt;org.alfresco.webservice.test.ContentServiceSystemTest&lt;br /&gt;&lt;br /&gt;It has more explainations on the content upload through stream&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-4349263977302974293?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/4349263977302974293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/10/webservices-for-alfresco.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/4349263977302974293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/4349263977302974293'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/10/webservices-for-alfresco.html' title='WebServices for Alfresco'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-7417423549481312135</id><published>2011-10-05T17:55:00.001-07:00</published><updated>2011-10-05T17:55:55.207-07:00</updated><title type='text'>Converting InputStream to byte for ByteArrayPartSource</title><content type='html'>InputStream is = null;&lt;br /&gt;                     int len;&lt;br /&gt;                        int size = 1024;&lt;br /&gt;                        byte[] buf = null;&lt;br /&gt;&lt;br /&gt;                        if (is instanceof ByteArrayInputStream) {&lt;br /&gt;                          size = is.available();&lt;br /&gt;                          buf = new byte[size];&lt;br /&gt;                          len = is.read(buf, 0, size);&lt;br /&gt;                        }&lt;br /&gt;                       &lt;br /&gt;                       &lt;br /&gt;                    new FilePart(filename, new ByteArrayPartSource("filename.txt", buf));&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-7417423549481312135?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/7417423549481312135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/10/converting-inputstream-to-byte-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/7417423549481312135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/7417423549481312135'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/10/converting-inputstream-to-byte-for.html' title='Converting InputStream to byte for ByteArrayPartSource'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-7258738954610283407</id><published>2011-10-05T17:03:00.000-07:00</published><updated>2011-10-05T17:05:19.846-07:00</updated><title type='text'>How to upload file to Alfresco share using java code</title><content type='html'>Here the siteid is :testFolders&lt;br /&gt;location to upload is : "/aaa/bbbb&lt;br /&gt;&lt;br /&gt;It will upload the file from the local disk to the alfresco site testfolders/documentlibrary/aaa/bbb&lt;br /&gt;&lt;br /&gt;Here I have passed the ticket to authenticate with the system&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; *&lt;br /&gt; */&lt;br /&gt;package com;&lt;br /&gt;&lt;br /&gt;import java.io.File;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;&lt;br /&gt;import org.apache.commons.httpclient.HttpClient;&lt;br /&gt;import org.apache.commons.httpclient.methods.PostMethod;&lt;br /&gt;import org.apache.commons.httpclient.methods.multipart.FilePart;&lt;br /&gt;import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity;&lt;br /&gt;import org.apache.commons.httpclient.methods.multipart.Part;&lt;br /&gt;import org.apache.commons.httpclient.methods.multipart.StringPart;&lt;br /&gt;&lt;br /&gt;import org.apache.commons.httpclient.HttpClient;&lt;br /&gt;import org.apache.commons.httpclient.HttpException;&lt;br /&gt;import org.apache.commons.httpclient.HttpStatus;&lt;br /&gt;import org.apache.commons.httpclient.methods.GetMethod;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * @author basanagowda.patil&lt;br /&gt; *&lt;br /&gt; */&lt;br /&gt;public class FileUpload {&lt;br /&gt;   &lt;br /&gt;    public static void uploadDocument(String authTicket, File fileobj, String filename, String filetype, String description, String destination)&lt;br /&gt;    {&lt;br /&gt;                try&lt;br /&gt;                {&lt;br /&gt;                      String urlString = "http://localhost:8080/alfresco/service/api/upload?alf_ticket="+authTicket;&lt;br /&gt;                      System.out.println("The upload url:::"+urlString);&lt;br /&gt;                      HttpClient client = new HttpClient();&lt;br /&gt;                      PostMethod mPost = new PostMethod(urlString);&lt;br /&gt;                   //File f1 =fileobj;                    &lt;br /&gt;                    Part[] parts = {&lt;br /&gt;                                  new FilePart("filedata",filename,fileobj,filetype,null),&lt;br /&gt;                                  new StringPart("filename", filename),&lt;br /&gt;                                new StringPart("description", description),&lt;br /&gt;                               // new StringPart("destination", destination) &lt;br /&gt;                                new StringPart("description", description),&lt;br /&gt;                                new StringPart("siteid", "testFolders"),&lt;br /&gt;                                new StringPart("containerid", "documentLibrary"),&lt;br /&gt;                                new StringPart("uploaddirectory", "/aaa/bbbb")&lt;br /&gt;                               &lt;br /&gt;                               &lt;br /&gt;                              };&lt;br /&gt;                   mPost.setRequestEntity(&lt;br /&gt;                                new MultipartRequestEntity(parts, mPost.getParams())&lt;br /&gt;                                  );&lt;br /&gt;                   int statusCode1 = client.executeMethod(mPost);&lt;br /&gt;                   System.out.println("statusLine&amp;gt;&amp;gt;&amp;gt;" +statusCode1+"......"+ mPost.getStatusLine()+mPost.getResponseBodyAsString());&lt;br /&gt;                   mPost.releaseConnection();&lt;br /&gt;&lt;br /&gt;                }&lt;br /&gt;                catch (Exception e)&lt;br /&gt;                {&lt;br /&gt;                      System.out.println(e);&lt;br /&gt;                }&lt;br /&gt;    }&lt;br /&gt;public static void main(String args[])throws IOException   &lt;br /&gt;    {&lt;br /&gt;         // SimpleUpload aw=new SimpleUpload();      &lt;br /&gt;    //String Ticket=aw.login();&lt;br /&gt;   //String ticket="TICKET_3e61ccfa8a11690b10e1a2fb0eeee2c5583b0043";&lt;br /&gt;   &lt;br /&gt;    String alfrescoTiccketURL = "http://localhost:8080/alfresco"+"/service/api/login?u="+"admin"+"&amp;amp;pw="+"admin";&lt;br /&gt;  &lt;br /&gt;   &lt;br /&gt;   &lt;br /&gt; &lt;br /&gt;    String ticketURLResponse = invokeWebScriptgetRequest(alfrescoTiccketURL);&lt;br /&gt;   &lt;br /&gt;    //ticketURLResponse =&lt;br /&gt;        int startindex= ticketURLResponse.indexOf("&lt;ticket&gt;")+8;&lt;br /&gt;        int endindex = ticketURLResponse.indexOf("&lt;/ticket&gt;");&lt;br /&gt;       &lt;br /&gt;        ticketURLResponse = ticketURLResponse.substring(startindex, endindex);&lt;br /&gt;       &lt;br /&gt;   &lt;br /&gt;   &lt;br /&gt;    File f=new File("D:/Testupload/Alfresco_Enterprise_3_4_4_Administrator.pdf");&lt;br /&gt;   &lt;br /&gt;    //FileInputStream is=new FileInputStream(f);&lt;br /&gt;   uploadDocument(ticketURLResponse, f,"Alfresco_Enterprise_3_4_4_Administrator.pdf","application/pdf","description",null);&lt;br /&gt; &lt;br /&gt;    //uploadDocument("TICKET_3ef085c4e24f4e2c53a3fa72b3111e55ee6f0543", f,"47.bmp","image file","application/jpg","workspace://SpacesStore/65a06f8c-0b35-4dae-9835-e38414a99bc1");&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public static String invokeWebScriptgetRequest(String url){&lt;br /&gt;      &lt;br /&gt;   &lt;br /&gt;        // Create an instance of HttpClient.&lt;br /&gt;        HttpClient client = new HttpClient();&lt;br /&gt;     &lt;br /&gt;        // Create a method instance.&lt;br /&gt;        GetMethod method = new GetMethod(url);&lt;br /&gt;/*        // Provide custom retry handler is necessary&lt;br /&gt;        method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,&lt;br /&gt;                new DefaultHttpMethodRetryHandler(3, false));*/&lt;br /&gt;        String response = null;&lt;br /&gt;        try {&lt;br /&gt;          // Execute the method.&lt;br /&gt;          int statusCode = client.executeMethod(method);&lt;br /&gt;&lt;br /&gt;          if (statusCode != HttpStatus.SC_OK) {&lt;br /&gt;            System.err.println("Method failed: " + method.getStatusLine());&lt;br /&gt;          }&lt;br /&gt;&lt;br /&gt;          // Read the response body.&lt;br /&gt;          byte[] responseBody = method.getResponseBody();&lt;br /&gt;&lt;br /&gt;          // Deal with the response.&lt;br /&gt;          // Use caution: ensure correct character encoding and is not binary data&lt;br /&gt;         response = new String(responseBody);&lt;br /&gt;         System.out.println(response);&lt;br /&gt;&lt;br /&gt;        } catch (HttpException e) {&lt;br /&gt;          System.err.println("Fatal protocol violation: " + e.getMessage());&lt;br /&gt;          e.printStackTrace();&lt;br /&gt;        } catch (IOException e) {&lt;br /&gt;          System.err.println("Fatal transport error: " + e.getMessage());&lt;br /&gt;          e.printStackTrace();&lt;br /&gt;        } finally {&lt;br /&gt;          // Release the connection.&lt;br /&gt;          method.releaseConnection();&lt;br /&gt;        } &lt;br /&gt;        return response;&lt;br /&gt;       &lt;br /&gt;       }&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-7258738954610283407?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/7258738954610283407/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/10/how-to-upload-file-to-alfresco-share.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/7258738954610283407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/7258738954610283407'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/10/how-to-upload-file-to-alfresco-share.html' title='How to upload file to Alfresco share using java code'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-3989883249831565235</id><published>2011-10-04T12:22:00.000-07:00</published><updated>2011-10-04T12:29:35.499-07:00</updated><title type='text'>Grails Features</title><content type='html'>We can have the services declared in the services folder&lt;br /&gt;These services can be used by Contoller by declaring the variable, automatically this service will be&lt;br /&gt;autowired and we can easily access them.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sending the message to MQ is simple simply put the send command and send the object string.&lt;br /&gt;If you have map it can be converted to json string or xml.&lt;br /&gt;There is a way to get back the  object from json by typecasting. Once we are done we can place that message on the MQ.&lt;br /&gt;&lt;br /&gt;While putting in the MQ we can use the payloader and pass that payloader object as string.&lt;br /&gt;&lt;br /&gt;We can use the groovy variables interchangable with alfresco variables.&lt;br /&gt;&lt;br /&gt;We can use any front end. To the front end we can pass the Model and View object. The model can be accessed in the front end.&lt;br /&gt;&lt;br /&gt;In the front end we can use JSTL&lt;br /&gt;&lt;br /&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="--"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin:0in;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"Times New Roman";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;"&gt;&lt;a href="http://grails.org/doc/latest/"&gt;http://grails.org/doc/latest/&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;"&gt;&lt;a href="http://grails.org/doc/latest/guide/6.%20The%20Web%20Layer.html"&gt;http://grails.org/doc/latest/guide/6.%20The%20Web%20Layer.html&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;"&gt;&amp;lt;&lt;a href="http://grails.org/doc/latest/guide/6.%20The%20Web%20Layer.html#6.7%20Ajax"&gt;http://grails.org/doc/latest/guide/6.%20The%20Web%20Layer.html#6.7 Ajax&lt;/a&gt;&amp;gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-fareast-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;JMS Plugin Documentation:  &lt;a href="http://gpc.github.com/grails-jms/docs/manual/index.html"&gt;&lt;span style="font-size:12.0pt"&gt;http://gpc.github.com/grails-jms/docs/manual/index.html&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-fareast-font-family:&amp;quot;Times New Roman&amp;quot;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-3989883249831565235?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/3989883249831565235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/10/grails-features.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/3989883249831565235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/3989883249831565235'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/10/grails-features.html' title='Grails Features'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-2186595839346710149</id><published>2011-09-27T14:05:00.001-07:00</published><updated>2011-10-02T18:41:57.164-07:00</updated><title type='text'>Grails</title><content type='html'>Spring Source tools eclipse is used foe Grails Development.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now will tell some steps&lt;br /&gt;&lt;br /&gt;1. By default in the controller index method will be called&lt;br /&gt;2. In the views folder name of the controller (login) folder will be created if you create loginController&lt;br /&gt;&lt;br /&gt;3. In the controller we can instantiate Java classes and call them&lt;br /&gt;&lt;br /&gt;4. In the contoller we will have the enclosures.&lt;br /&gt;&lt;br /&gt;if you have the enclosure by name search inside LoginController&lt;br /&gt; then it will look for&lt;br /&gt;views --&amp;gt; login--&amp;gt;search.gsp&lt;br /&gt;&lt;br /&gt;def search= {&lt;br /&gt;render "abccc.gsp";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5. to define variables use def, semicolons are not mandatory&lt;br /&gt;&lt;br /&gt;6. USes Gstrings similar to Velocity.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sample&lt;br /&gt;&lt;br /&gt;package com.hersheys.groovy.quickr&lt;br /&gt;&lt;br /&gt;import com.hersheys.quickr.migration.TestClass&lt;br /&gt;&lt;br /&gt;class LoginController {&lt;br /&gt;&lt;br /&gt;   /* def index = {&lt;br /&gt;       &lt;br /&gt;        //can be double or string&lt;br /&gt;        def i = 4;&lt;br /&gt;       &lt;br /&gt;        System.out.print("Inside the LoginController");&lt;br /&gt;       &lt;br /&gt;        if(i &amp;lt; 0.5){&lt;br /&gt;            render "Hellvsgvdso World";&lt;br /&gt;        }else{&lt;br /&gt;        // brackets are not mandtory&lt;br /&gt;            render ("asfasgfasg");&lt;br /&gt;        }&lt;br /&gt;       &lt;br /&gt;       &lt;br /&gt;        //grroovy typeless, no return type , No semicolons , Gstring  we have extrac com pared to Java&lt;br /&gt;       &lt;br /&gt;       &lt;br /&gt;        // Now calling Java&lt;br /&gt;       &lt;br /&gt;        TestClass testClass = new TestClass();&lt;br /&gt;        def name = testClass.getNickName("john");&lt;br /&gt;       &lt;br /&gt;        render name;&lt;br /&gt;         }&lt;br /&gt;    */&lt;br /&gt;   &lt;br /&gt;    def index = {&lt;br /&gt;       &lt;br /&gt;        //We can configure the gsp to be used as below&lt;br /&gt;        //render "abccc.gsp";&lt;br /&gt;       &lt;br /&gt;        // if you leave this method emptry then the index.gsp will be take n from the login folder of views&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;   &lt;br /&gt;    // url --- We can access closure similar to Dispatch Action&lt;br /&gt;    //http://localhost:8080/QuickrAlfresco/login/index&lt;br /&gt;    //login -- Controller&lt;br /&gt;    //index-- closure&lt;br /&gt;   &lt;br /&gt;   &lt;br /&gt;    def update = {&lt;br /&gt;        //render "updatehit"&lt;br /&gt;        System.out.print("Inside the update Closure. If we dont return anything then it will look for update.gsp inside song folder in views");&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;   &lt;br /&gt;    def search ={&lt;br /&gt;       &lt;br /&gt;        def x = params.item;&lt;br /&gt;        //render x;&lt;br /&gt;        request.message = x;&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We can explictly specify the name of the file where to go also&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-2186595839346710149?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/2186595839346710149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/grails.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2186595839346710149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2186595839346710149'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/grails.html' title='Grails'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-1032144283503272667</id><published>2011-09-27T11:51:00.001-07:00</published><updated>2011-09-27T11:51:25.788-07:00</updated><title type='text'>Link to get the Remote object</title><content type='html'>https://forums.alfresco.com/en/viewtopic.php?t=17587&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-1032144283503272667?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/1032144283503272667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/link-to-get-remote-object.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/1032144283503272667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/1032144283503272667'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/link-to-get-remote-object.html' title='Link to get the Remote object'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-2204481780502757794</id><published>2011-09-25T08:21:00.001-07:00</published><updated>2011-09-25T08:21:59.777-07:00</updated><title type='text'>Getting all the users present in Liferay</title><content type='html'>final Set&lt;string&gt; users = authorityService.getAllAuthorities(AuthorityType.USER);&lt;br /&gt;&lt;/string&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-2204481780502757794?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/2204481780502757794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/getting-all-users-present-in-liferay.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2204481780502757794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2204481780502757794'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/getting-all-users-present-in-liferay.html' title='Getting all the users present in Liferay'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-2701551746568616887</id><published>2011-09-24T21:14:00.000-07:00</published><updated>2011-09-24T21:17:13.680-07:00</updated><title type='text'>Policy and Behaviour</title><content type='html'>We can trigger same policy for 2 contents in 2 different classes&lt;br /&gt;&lt;br /&gt;EX:&lt;br /&gt;public class UsageQuotaProtector implements NodeServicePolicies.OnUpdatePropertiesPolicy&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  public void init()&lt;br /&gt;    {   &lt;br /&gt;        if (contentUsageService.getEnabled())&lt;br /&gt;        {&lt;br /&gt;            // Register interest in the onUpdateProperties policy&lt;br /&gt;            policyComponent.bindClassBehaviour(&lt;br /&gt;                    QName.createQName(NamespaceService.ALFRESCO_URI, "onUpdateProperties"),&lt;br /&gt;                    ContentModel.TYPE_PERSON,&lt;br /&gt;                    new JavaBehaviour(this, "onUpdateProperties"));&lt;br /&gt;        }&lt;br /&gt;    }   &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Similarly we can have&lt;br /&gt;public class RepositoryAuthenticationDao implements MutableAuthenticationDao, InitializingBean, OnUpdatePropertiesPolicy, BeforeDeleteNodePolicy&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;     */&lt;br /&gt;    public void afterPropertiesSet() throws Exception&lt;br /&gt;    {&lt;br /&gt;        this.policyComponent.bindClassBehaviour(&lt;br /&gt;                OnUpdatePropertiesPolicy.QNAME,&lt;br /&gt;                ContentModel.TYPE_PERSON,&lt;br /&gt;                new JavaBehaviour(this, "onUpdateProperties"));&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-2701551746568616887?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/2701551746568616887/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/policy-and-behaviour.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2701551746568616887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2701551746568616887'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/policy-and-behaviour.html' title='Policy and Behaviour'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-7372965587633059118</id><published>2011-09-23T13:01:00.001-07:00</published><updated>2011-09-23T13:02:01.953-07:00</updated><title type='text'>Alfresco Liferay doclib</title><content type='html'>http://pypeline.net&lt;br /&gt;&lt;br /&gt;In this site you have the demo for alfreso and liferay doclib integration&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-7372965587633059118?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/7372965587633059118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/alfresco-liferay-doclib.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/7372965587633059118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/7372965587633059118'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/alfresco-liferay-doclib.html' title='Alfresco Liferay doclib'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-3111497362615723537</id><published>2011-09-23T10:42:00.000-07:00</published><updated>2011-09-25T14:44:12.808-07:00</updated><title type='text'>Commands to copy file</title><content type='html'>sudo su -liferay&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;cp /home/hbasa/share-config-custom.xml /opt/liferay-portal-6.0-ee/tomcat-6.0.29/shared/classes/alfresco/web-extension/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;file operations&lt;br /&gt;vim filename&lt;br /&gt;to open the file&lt;br /&gt;&lt;br /&gt;press i   to write the content&lt;br /&gt;&lt;br /&gt;once you are done with file operation do this to save and quit&lt;br /&gt;esc:q! --- To Quit the file&lt;br /&gt;&lt;br /&gt;escape+:+w+q&lt;br /&gt;To write and quit the file&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-3111497362615723537?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/3111497362615723537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/commands-to-copy-file.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/3111497362615723537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/3111497362615723537'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/commands-to-copy-file.html' title='Commands to copy file'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-3028464350527782436</id><published>2011-09-21T06:00:00.000-07:00</published><updated>2011-09-21T12:05:56.337-07:00</updated><title type='text'>We can generate the classes from the below command</title><content type='html'>&lt;pre&gt;http://axis.apache.org/axis2/java/core/docs/jaxws-guide.html&lt;br /&gt;&lt;br /&gt;We can generate the classes from the below command&lt;br /&gt;wsimport -keep -verbose &lt;i&gt;wsdl_URL&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="--"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin:0in;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"Times New Roman";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;} &lt;/style&gt; &lt;![endif]--&gt; This is how we generate files &lt;/pre&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-fareast-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;wsimport -p com.patil.jax -keep file.wsdl&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-3028464350527782436?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/3028464350527782436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/we-can-generate-classes-from-below.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/3028464350527782436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/3028464350527782436'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/we-can-generate-classes-from-below.html' title='We can generate the classes from the below command'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-2856977678076197326</id><published>2011-09-18T18:34:00.000-07:00</published><updated>2011-09-18T18:40:42.259-07:00</updated><title type='text'>Alfresco Doc lib portlets working</title><content type='html'>When we start Liferay server after putting share war we see the below line info&lt;br /&gt;&lt;br /&gt;23:52:27,703  INFO  [site.servlet.SSOAuthenticationFilter] NTLMAuthenticationFil&lt;br /&gt;ter initialised.&lt;br /&gt;&lt;br /&gt;So this is the one which makes sso possible.&lt;br /&gt;In the web.xml of share we have the following filter&lt;br /&gt;  &lt;filter&gt;&lt;br /&gt;      &lt;description&gt;Share SSO authentication support filter.&lt;/description&gt;&lt;br /&gt;      &lt;filter-name&gt;Authentication Filter&lt;/filter-name&gt;&lt;br /&gt;      &lt;filter-class&gt;org.alfresco.web.site.servlet.SSOAuthenticationFilter&lt;/filter-class&gt;&lt;br /&gt;      &lt;init-param&gt;&lt;br /&gt;         &lt;param-name&gt;endpoint&lt;/param-name&gt;&lt;br /&gt;         &lt;param-value&gt;alfresco&lt;/param-value&gt;&lt;br /&gt;      &lt;/init-param&gt;&lt;br /&gt;   &lt;/filter&gt;&lt;br /&gt;  &lt;br /&gt;So this filter is looking for endpoint alfresco present in share-config-custom.xml&lt;br /&gt;&lt;br /&gt;  &lt;endpoint&gt;&lt;br /&gt;        &lt;id&gt;alfresco&lt;/id&gt;&lt;br /&gt;        &lt;name&gt;Alfresco - user access&lt;/name&gt;&lt;br /&gt;        &lt;description&gt;Access to Alfresco Repository WebScripts that require user authentication&lt;/description&gt;&lt;br /&gt;        &lt;connector-id&gt;alfrescoCookie&lt;/connector-id&gt;&lt;br /&gt;        &lt;endpoint-url&gt;http://localhost:8080/alfresco/wcs&lt;/endpoint-url&gt;&lt;br /&gt;        &lt;identity&gt;user&lt;/identity&gt;&lt;br /&gt;        &lt;external-auth&gt;true&lt;/external-auth&gt;&lt;br /&gt;      &lt;/endpoint&gt;&lt;br /&gt;&lt;br /&gt;Here to make the external users to allow , we have external-auth true.&lt;br /&gt;&lt;br /&gt;Now /wcs is mapped to following filter in alfresco's web.xml&lt;br /&gt;&lt;br /&gt;  &lt;filter-mapping&gt;&lt;br /&gt;      &lt;filter-name&gt;WebScript Authentication Filter&lt;/filter-name&gt;&lt;br /&gt;      &lt;url-pattern&gt;/wcs/*&lt;/url-pattern&gt;&lt;br /&gt;   &lt;/filter-mapping&gt;&lt;br /&gt;&lt;br /&gt;which points to the class&lt;br /&gt; &lt;filter&gt;&lt;br /&gt;      &lt;filter-name&gt;WebScript Authentication Filter&lt;/filter-name&gt;&lt;br /&gt;      &lt;description&gt;Authentication filter mapped to web script URLs. Mainly for SSO support&lt;/description&gt;&lt;br /&gt;      &lt;filter-class&gt;org.alfresco.repo.web.filter.beans.BeanProxyFilter&lt;/filter-class&gt;&lt;br /&gt;      &lt;init-param&gt;&lt;br /&gt;         &lt;param-name&gt;beanName&lt;/param-name&gt;&lt;br /&gt;         &lt;param-value&gt;WebscriptAuthenticationFilter&lt;/param-value&gt;&lt;br /&gt;      &lt;/init-param&gt;&lt;br /&gt;   &lt;/filter&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And here again WebscriptAuthenticationFilter&lt;br /&gt;maps to&lt;br /&gt;&lt;br /&gt; &lt;bean id="webscriptAuthenticationFilter" class="org.alfresco.web.app.servlet.WebScriptSSOAuthenticationFilter"&gt;&lt;br /&gt;      &lt;property name="active"&gt;&lt;br /&gt;         &lt;value&gt;${ntlm.authentication.sso.enabled}&lt;/value&gt;&lt;br /&gt;      &lt;/property&gt;&lt;br /&gt;      &lt;property name="authenticationService"&gt;&lt;br /&gt;         &lt;ref bean="AuthenticationService"&gt;&lt;br /&gt;      &lt;/ref&gt;&lt;/property&gt;&lt;br /&gt;      &lt;property name="authenticationComponent"&gt;&lt;br /&gt;         &lt;ref bean="AuthenticationComponent"&gt;&lt;br /&gt;      &lt;/ref&gt;&lt;/property&gt;&lt;br /&gt;      &lt;property name="personService"&gt;&lt;br /&gt;         &lt;ref bean="personService"&gt;&lt;br /&gt;      &lt;/ref&gt;&lt;/property&gt;&lt;br /&gt;      &lt;property name="nodeService"&gt;&lt;br /&gt;         &lt;ref bean="NodeService"&gt;&lt;br /&gt;      &lt;/ref&gt;&lt;/property&gt;&lt;br /&gt;      &lt;property name="transactionService"&gt;&lt;br /&gt;         &lt;ref bean="TransactionService"&gt;&lt;br /&gt;      &lt;/ref&gt;&lt;/property&gt;&lt;br /&gt;      &lt;property name="container"&gt;&lt;br /&gt;         &lt;ref bean="webscripts.container"&gt;&lt;br /&gt;      &lt;/ref&gt;&lt;/property&gt;&lt;br /&gt;   &lt;/bean&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-2856977678076197326?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/2856977678076197326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/alfresco-doc-lib-portlets-working.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2856977678076197326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2856977678076197326'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/alfresco-doc-lib-portlets-working.html' title='Alfresco Doc lib portlets working'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-1381950012032262657</id><published>2011-09-14T18:45:00.001-07:00</published><updated>2011-09-14T18:48:41.447-07:00</updated><title type='text'>CKEditor</title><content type='html'>http://localhost:9090/html/js/editor/ckeditor/editor/filemanager/browser/liferay/browser.html?Connector=%2fc%2fportal%2ffckeditor%3fp_l_id%3d10141%26p_p_id%3d15%26doAsUserId%3dYhlw4Jlrv4M%253d%26doAsGroupId%3d18&amp;amp;CKEditor=CKEditor1&amp;amp;CKEditorFuncNum=1&amp;amp;langCode=en&lt;br /&gt;&lt;br /&gt;This call will get converted as below&lt;br /&gt;&lt;br /&gt;From the File Browser following url will be called&lt;br /&gt;&lt;br /&gt;http://localhost:9090/c/portal/fckeditor?p_l_id=10141&amp;amp;p_p_id=15&amp;amp;doAsUserId=Yhlw4Jlrv4M%3d&amp;amp;doAsGroupId=18&amp;amp;Command=GetFoldersAndFiles&amp;amp;&lt;br /&gt;Type=Image&amp;amp;CurrentFolder=%2F&amp;amp;uuid=1316050672680&lt;br /&gt;&lt;br /&gt;In the structs-config.xml we have the maping for&lt;br /&gt;&lt;br /&gt;&lt;action path="/portal/fckeditor" type="com.liferay.portal.editor.fckeditor.ConnectorAction"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here the ConnectorAction based on the parameters is going to call the corresponding&lt;br /&gt;command method&lt;br /&gt;ex: GetFoldersAndFilesCommand&lt;br /&gt;This is going to return the xml&lt;br /&gt;and the returned xml will be parsed.&lt;br /&gt;&lt;/action&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-1381950012032262657?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/1381950012032262657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/ckeditor.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/1381950012032262657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/1381950012032262657'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/ckeditor.html' title='CKEditor'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-1548797244359881129</id><published>2011-09-13T19:54:00.000-07:00</published><updated>2011-09-13T19:55:43.445-07:00</updated><title type='text'>Place to change the FCKEditor</title><content type='html'>You can extend the FCKEditor using hook&lt;br /&gt;&lt;br /&gt;E:\Dumps\Liferay\liferay-portal-src-6.0.5\liferay-portal-src-6.0.5\portal-web\docroot\html\js\editor\fckeditor_diffs&lt;br /&gt;&lt;br /&gt;from the above mentioned location.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-1548797244359881129?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/1548797244359881129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/place-to-change-fckeditor.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/1548797244359881129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/1548797244359881129'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/place-to-change-fckeditor.html' title='Place to change the FCKEditor'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-3522611522023267982</id><published>2011-09-13T19:11:00.000-07:00</published><updated>2011-09-13T19:15:09.775-07:00</updated><title type='text'>SingleSigon For Share</title><content type='html'>Lets do single sign on step by step&lt;br /&gt;1. alfresco-global.properties&lt;br /&gt;&lt;br /&gt;ntlm.authentication.sso.enabled=true&lt;br /&gt;&lt;br /&gt;authentication.chain=alfrescoNtlm1:alfrescoNtlm,external1:external&lt;br /&gt;&lt;br /&gt;2. share-config.custom.xml&lt;br /&gt;Here we should enable connector with the name alfrescoCookie and with the endpoint&lt;br /&gt;alfresco as below&lt;br /&gt;&lt;br /&gt;&lt;alfresco-config&gt;&lt;br /&gt;&lt;br /&gt;   &lt;!-- Global config section --&gt;&lt;br /&gt;   &lt;config replace="true"&gt;&lt;br /&gt;      &lt;flags&gt;&lt;br /&gt;         &lt;!--&lt;br /&gt;            Developer debugging setting to turn on DEBUG mode for client scripts in the browser&lt;br /&gt;         --&gt;&lt;br /&gt;         &lt;client-debug&gt;false&lt;/client-debug&gt;&lt;br /&gt;&lt;br /&gt;         &lt;!--&lt;br /&gt;            LOGGING can always be toggled at runtime when in DEBUG mode (Ctrl, Ctrl, Shift, Shift).&lt;br /&gt;            This flag automatically activates logging on page load.&lt;br /&gt;         --&gt;&lt;br /&gt;         &lt;client-debug-autologging&gt;false&lt;/client-debug-autologging&gt;&lt;br /&gt;      &lt;/flags&gt;&lt;br /&gt;   &lt;/config&gt;&lt;br /&gt;  &lt;br /&gt;   &lt;config evaluator="string-compare" condition="WebFramework"&gt;&lt;br /&gt;      &lt;web-framework&gt;&lt;br /&gt;         &lt;!-- SpringSurf Autowire Runtime Settings --&gt;&lt;br /&gt;         &lt;!--&lt;br /&gt;              Developers can set mode to 'development' to disable; SpringSurf caches,&lt;br /&gt;              FreeMarker template caching and Rhino JavaScript compilation.&lt;br /&gt;         --&gt;&lt;br /&gt;         &lt;autowire&gt;&lt;br /&gt;            &lt;!-- Pick the mode: "production" or "development" --&gt;&lt;br /&gt;            &lt;mode&gt;production&lt;/mode&gt;&lt;br /&gt;         &lt;/autowire&gt;&lt;br /&gt;      &lt;/web-framework&gt;&lt;br /&gt;   &lt;/config&gt;&lt;br /&gt;&lt;br /&gt;   &lt;config evaluator="string-compare" condition="Replication"&gt;&lt;br /&gt;      &lt;share-urls&gt;&lt;br /&gt;         &lt;!--&lt;br /&gt;            To discover a Repository Id, browse to the remote server's CMIS landing page at:&lt;br /&gt;              http://{server}:{port}/alfresco/service/cmis/index.html&lt;br /&gt;            The Repository Id field is found under the "CMIS Repository Information" expandable panel.&lt;br /&gt;&lt;br /&gt;            Example config entry:&lt;br /&gt;              &lt;share-url repositoryid="622f9533-2a1e-48fe-af4e-ee9e41667ea4"&gt;http://new-york-office:8080/share/&lt;/share-url&gt;&lt;br /&gt;         --&gt;&lt;br /&gt;      &lt;/share-urls&gt;&lt;br /&gt;   &lt;/config&gt;&lt;br /&gt;&lt;br /&gt;   &lt;!-- Document Library config section --&gt;&lt;br /&gt;   &lt;config evaluator="string-compare" condition="DocumentLibrary" replace="true"&gt;&lt;br /&gt;&lt;br /&gt;      &lt;tree&gt;&lt;br /&gt;         &lt;!--&lt;br /&gt;            Whether the folder Tree component should enumerate child folders or not.&lt;br /&gt;            This is a relatively expensive operation, so should be set to "false" for Repositories with broad folder structures.&lt;br /&gt;         --&gt;&lt;br /&gt;         &lt;evaluate-child-folders&gt;false&lt;/evaluate-child-folders&gt;&lt;br /&gt;        &lt;br /&gt;         &lt;!--&lt;br /&gt;            Optionally limit the number of folders shown in treeview throughout Share.&lt;br /&gt;         --&gt;&lt;br /&gt;         &lt;maximum-folder-count&gt;-1&lt;/maximum-folder-count&gt;&lt;br /&gt;      &lt;/tree&gt;&lt;br /&gt;&lt;br /&gt;      &lt;!--&lt;br /&gt;         Used by the "Manage Aspects" action&lt;br /&gt;&lt;br /&gt;         For custom aspects, remember to also add the relevant i18n string(s)&lt;br /&gt;            cm_myaspect=My Aspect&lt;br /&gt;      --&gt;&lt;br /&gt;      &lt;aspects&gt;&lt;br /&gt;         &lt;!-- Aspects that a user can see --&gt;&lt;br /&gt;         &lt;visible&gt;&lt;br /&gt;            &lt;aspect name="cm:generalclassifiable"&gt;&lt;br /&gt;            &lt;aspect name="cm:complianceable"&gt;&lt;br /&gt;            &lt;aspect name="cm:dublincore"&gt;&lt;br /&gt;            &lt;aspect name="cm:effectivity"&gt;&lt;br /&gt;            &lt;aspect name="cm:summarizable"&gt;&lt;br /&gt;            &lt;aspect name="cm:versionable"&gt;&lt;br /&gt;            &lt;aspect name="cm:templatable"&gt;&lt;br /&gt;            &lt;aspect name="cm:emailed"&gt;&lt;br /&gt;            &lt;aspect name="emailserver:aliasable"&gt;&lt;br /&gt;            &lt;aspect name="cm:taggable"&gt;&lt;br /&gt;            &lt;aspect name="app:inlineeditable"&gt;&lt;br /&gt;            &lt;aspect name="gd:googleEditable"&gt;&lt;br /&gt;            &lt;aspect name="cm:geographic"&gt;&lt;br /&gt;            &lt;aspect name="exif:exif"&gt;&lt;br /&gt;         &lt;/aspect&gt;&lt;/aspect&gt;&lt;/aspect&gt;&lt;/aspect&gt;&lt;/aspect&gt;&lt;/aspect&gt;&lt;/aspect&gt;&lt;/aspect&gt;&lt;/aspect&gt;&lt;/aspect&gt;&lt;/aspect&gt;&lt;/aspect&gt;&lt;/aspect&gt;&lt;/aspect&gt;&lt;/visible&gt;&lt;br /&gt;&lt;br /&gt;         &lt;!-- Aspects that a user can add. Same as "visible" if left empty --&gt;&lt;br /&gt;         &lt;addable&gt;&lt;br /&gt;         &lt;/addable&gt;&lt;br /&gt;&lt;br /&gt;         &lt;!-- Aspects that a user can remove. Same as "visible" if left empty --&gt;&lt;br /&gt;         &lt;removeable&gt;&lt;br /&gt;         &lt;/removeable&gt;&lt;br /&gt;      &lt;/aspects&gt;&lt;br /&gt;&lt;br /&gt;      &lt;!--&lt;br /&gt;         Used by the "Change Type" action&lt;br /&gt;&lt;br /&gt;         Define valid subtypes using the following example:&lt;br /&gt;            &lt;type name="cm:content"&gt;&lt;br /&gt;               &lt;subtype name="cm:mysubtype"&gt;&lt;br /&gt;            &lt;/type&gt;&lt;br /&gt;&lt;br /&gt;         Remember to also add the relevant i18n string(s):&lt;br /&gt;            cm_mysubtype=My SubType&lt;br /&gt;      --&gt;&lt;br /&gt;      &lt;types&gt;&lt;br /&gt;         &lt;type name="cm:content"&gt;&lt;br /&gt;         &lt;/type&gt;&lt;br /&gt;&lt;br /&gt;         &lt;type name="cm:folder"&gt;&lt;br /&gt;         &lt;/type&gt;&lt;br /&gt;      &lt;/types&gt;&lt;br /&gt;&lt;br /&gt;      &lt;!--&lt;br /&gt;         If set, will present a WebDAV link for the current item on the Document and Folder details pages.&lt;br /&gt;         Also used to generate the "View in Alfresco Explorer" action for folders.&lt;br /&gt;      --&gt;&lt;br /&gt;      &lt;repository-url&gt;http://localhost:8080/alfresco&lt;/repository-url&gt;&lt;br /&gt;&lt;br /&gt;      &lt;!--&lt;br /&gt;         Google Docs™ integration&lt;br /&gt;      --&gt;&lt;br /&gt;      &lt;google-docs&gt;&lt;br /&gt;         &lt;!--&lt;br /&gt;            Enable/disable the Google Docs UI integration (Extra types on Create Content menu, Google Docs actions).&lt;br /&gt;         --&gt;&lt;br /&gt;         &lt;enabled&gt;false&lt;/enabled&gt;&lt;br /&gt;&lt;br /&gt;         &lt;!--&lt;br /&gt;            The mimetypes of documents Google Docs allows you to create via the Share interface.&lt;br /&gt;            The I18N label is created from the "type" attribute, e.g. google-docs.doc=Google Docs&amp;trade; Document&lt;br /&gt;         --&gt;&lt;br /&gt;         &lt;creatable-types&gt;&lt;br /&gt;            &lt;creatable type="doc"&gt;application/msword&lt;/creatable&gt;&lt;br /&gt;            &lt;creatable type="xls"&gt;application/vnd.ms-excel&lt;/creatable&gt;&lt;br /&gt;            &lt;creatable type="ppt"&gt;application/vnd.ms-powerpoint&lt;/creatable&gt;&lt;br /&gt;         &lt;/creatable-types&gt;&lt;br /&gt;      &lt;/google-docs&gt;&lt;br /&gt;&lt;br /&gt;      &lt;!--&lt;br /&gt;         File upload configuration&lt;br /&gt;      --&gt;&lt;br /&gt;      &lt;file-upload&gt;&lt;br /&gt;         &lt;!--&lt;br /&gt;            Adobe Flash™&lt;br /&gt;            In certain environments, an HTTP request originating from Flash cannot be authenticated using an existing session.&lt;br /&gt;            See: http://bugs.adobe.com/jira/browse/FP-4830&lt;br /&gt;            For these cases, it is useful to disable the Flash-based uploader for Share Document Libraries.&lt;br /&gt;         --&gt;&lt;br /&gt;         &lt;adobe-flash-enabled&gt;true&lt;/adobe-flash-enabled&gt;&lt;br /&gt;      &lt;/file-upload&gt;&lt;br /&gt;   &lt;/config&gt;&lt;br /&gt;&lt;br /&gt;   &lt;!-- Repository Library config section --&gt;&lt;br /&gt;   &lt;config evaluator="string-compare" condition="RepositoryLibrary" replace="true"&gt;&lt;br /&gt;      &lt;!--&lt;br /&gt;         Root nodeRef or xpath expression for top-level folder.&lt;br /&gt;         e.g. alfresco://user/home, /app:company_home/st:sites/cm:site1&lt;br /&gt;         If using an xpath expression, ensure it is properly ISO9075 encoded here.&lt;br /&gt;      --&gt;&lt;br /&gt;      &lt;root-node&gt;alfresco://company/home&lt;/root-node&gt;&lt;br /&gt;&lt;br /&gt;      &lt;tree&gt;&lt;br /&gt;         &lt;!--&lt;br /&gt;            Whether the folder Tree component should enumerate child folders or not.&lt;br /&gt;            This is a relatively expensive operation, so should be set to "false" for Repositories with broad folder structures.&lt;br /&gt;         --&gt;&lt;br /&gt;         &lt;evaluate-child-folders&gt;false&lt;/evaluate-child-folders&gt;&lt;br /&gt;        &lt;br /&gt;         &lt;!--&lt;br /&gt;            Optionally limit the number of folders shown in treeview throughout Share.&lt;br /&gt;         --&gt;&lt;br /&gt;         &lt;maximum-folder-count&gt;500&lt;/maximum-folder-count&gt;&lt;br /&gt;      &lt;/tree&gt;&lt;br /&gt;   &lt;/config&gt;&lt;br /&gt;  &lt;br /&gt;   &lt;!-- Kerberos settings --&gt;&lt;br /&gt;   &lt;!-- To enaable kerberos rename this condition to "Kerberos" --&gt;&lt;br /&gt;   &lt;config evaluator="string-compare" condition="KerberosDisabled" replace="true"&gt;&lt;br /&gt;      &lt;kerberos&gt;&lt;br /&gt;         &lt;!--&lt;br /&gt;            Password for HTTP service account.&lt;br /&gt;            The account name *must* be built from the HTTP server name, in the format :&lt;br /&gt;               HTTP/&lt;server_name&gt;@&lt;realm&gt;&lt;br /&gt;            (NB this is because the web browser requests an ST for the&lt;br /&gt;            HTTP/&lt;server_name&gt; principal in the current realm, so if we're to decode&lt;br /&gt;            that ST, it has to match.)&lt;br /&gt;         --&gt;&lt;br /&gt;         &lt;password&gt;secret&lt;/password&gt;&lt;br /&gt;         &lt;!--&lt;br /&gt;            Kerberos realm and KDC address.&lt;br /&gt;         --&gt;&lt;br /&gt;         &lt;realm&gt;ALFRESCO.ORG&lt;/realm&gt;&lt;br /&gt;         &lt;!--&lt;br /&gt;            Service Principal Name to use on the repository tier.&lt;br /&gt;            This must be like: HTTP/host.name@REALM&lt;br /&gt;         --&gt;&lt;br /&gt;         &lt;endpoint-spn&gt;HTTP/repository.server.com@ALFRESCO.ORG&lt;/endpoint-spn&gt;&lt;br /&gt;         &lt;!--&lt;br /&gt;            JAAS login configuration entry name.&lt;br /&gt;         --&gt;&lt;br /&gt;         &lt;config-entry&gt;ShareHTTP&lt;/config-entry&gt;&lt;br /&gt;      &lt;/kerberos&gt;&lt;br /&gt;   &lt;/config&gt;&lt;br /&gt;&lt;br /&gt;   &lt;!--&lt;br /&gt;        Overriding endpoints to reference an Alfresco server with external SSO enabled&lt;br /&gt;        NOTE: If utilising a load balancer between web-tier and repository cluster, the "sticky&lt;br /&gt;              sessions" feature of your load balancer must be used.&lt;br /&gt;        NOTE: If alfresco server location is not localhost:8080 then also combine changes from the&lt;br /&gt;              "example port config" section below.&lt;br /&gt;        *Optional* keystore contains SSL client certificate + trusted CAs.&lt;br /&gt;        Used to authenticate share to an external SSO system such as CAS&lt;br /&gt;        Remove the keystore section if not required i.e. for NTLM.&lt;br /&gt;       &lt;br /&gt;        NOTE: For Kerberos SSO rename the "KerberosDisabled" condition above to "Kerberos"&lt;br /&gt;   --&gt;&lt;br /&gt;&lt;br /&gt;   &lt;config evaluator="string-compare" condition="Remote"&gt;&lt;br /&gt;      &lt;remote&gt;&lt;br /&gt;       &lt;keystore&gt;&lt;br /&gt;             &lt;path&gt;alfresco/web-extension/alfresco-system.p12&lt;/path&gt;&lt;br /&gt;             &lt;type&gt;pkcs12&lt;/type&gt;&lt;br /&gt;             &lt;password&gt;alfresco-system&lt;/password&gt;&lt;br /&gt;         &lt;/keystore&gt;&lt;br /&gt;        &lt;br /&gt;         &lt;connector&gt;&lt;br /&gt;            &lt;id&gt;alfrescoCookie&lt;/id&gt;&lt;br /&gt;            &lt;name&gt;Alfresco Connector&lt;/name&gt;&lt;br /&gt;            &lt;description&gt;Connects to an Alfresco instance using cookie-based authentication&lt;/description&gt;&lt;br /&gt;            &lt;class&gt;org.springframework.extensions.webscripts.connector.AlfrescoConnector&lt;/class&gt;&lt;br /&gt;         &lt;/connector&gt;&lt;br /&gt;        &lt;br /&gt;         &lt;endpoint&gt;&lt;br /&gt;            &lt;id&gt;alfresco&lt;/id&gt;&lt;br /&gt;            &lt;name&gt;Alfresco - user access&lt;/name&gt;&lt;br /&gt;            &lt;description&gt;Access to Alfresco Repository WebScripts that require user authentication&lt;/description&gt;&lt;br /&gt;            &lt;connector-id&gt;alfrescoCookie&lt;/connector-id&gt;&lt;br /&gt;            &lt;endpoint-url&gt;http://localhost:8080/alfresco/wcs&lt;/endpoint-url&gt;&lt;br /&gt;            &lt;identity&gt;user&lt;/identity&gt;&lt;br /&gt;            &lt;external-auth&gt;true&lt;/external-auth&gt;&lt;br /&gt;         &lt;/endpoint&gt;&lt;br /&gt;      &lt;/remote&gt;&lt;br /&gt;   &lt;/config&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;    &lt;!-- example port config used to access remote Alfresco server (default is 8080) --&gt;&lt;br /&gt; &lt;br /&gt;   &lt;config evaluator="string-compare" condition="Remote"&gt;&lt;br /&gt;      &lt;remote&gt;&lt;br /&gt;         &lt;endpoint&gt;&lt;br /&gt;            &lt;id&gt;alfresco-noauth&lt;/id&gt;&lt;br /&gt;            &lt;name&gt;Alfresco - unauthenticated access&lt;/name&gt;&lt;br /&gt;            &lt;description&gt;Access to Alfresco Repository WebScripts that do not require authentication&lt;/description&gt;&lt;br /&gt;            &lt;connector-id&gt;alfresco&lt;/connector-id&gt;&lt;br /&gt;            &lt;endpoint-url&gt;http://localhost:8080/alfresco/s&lt;/endpoint-url&gt;&lt;br /&gt;            &lt;identity&gt;none&lt;/identity&gt;&lt;br /&gt;         &lt;/endpoint&gt;&lt;br /&gt;&lt;br /&gt;       &lt;!--  &lt;endpoint&gt;&lt;br /&gt;            &lt;id&gt;alfresco&lt;/id&gt;&lt;br /&gt;            &lt;name&gt;Alfresco - user access&lt;/name&gt;&lt;br /&gt;            &lt;description&gt;Access to Alfresco Repository WebScripts that require user authentication&lt;/description&gt;&lt;br /&gt;            &lt;connector-id&gt;alfresco&lt;/connector-id&gt;&lt;br /&gt;            &lt;endpoint-url&gt;http://localhost:8080/alfresco/s&lt;/endpoint-url&gt;&lt;br /&gt;            &lt;identity&gt;user&lt;/identity&gt;&lt;br /&gt;         &lt;/endpoint&gt; --&gt;&lt;br /&gt;&lt;br /&gt;         &lt;endpoint&gt;&lt;br /&gt;            &lt;id&gt;alfresco-feed&lt;/id&gt;&lt;br /&gt;            &lt;name&gt;Alfresco Feed&lt;/name&gt;&lt;br /&gt;            &lt;description&gt;Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet&lt;/description&gt;&lt;br /&gt;            &lt;connector-id&gt;http&lt;/connector-id&gt;&lt;br /&gt;            &lt;endpoint-url&gt;http://localhost:8080/alfresco/s&lt;/endpoint-url&gt;&lt;br /&gt;            &lt;basic-auth&gt;true&lt;/basic-auth&gt;&lt;br /&gt;            &lt;identity&gt;user&lt;/identity&gt;&lt;br /&gt;         &lt;/endpoint&gt;&lt;br /&gt;      &lt;/remote&gt;&lt;br /&gt;   &lt;/config&gt;&lt;br /&gt;   &lt;br /&gt;&lt;br /&gt;&lt;/alfresco-config&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-3522611522023267982?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/3522611522023267982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/singlesigon-for-share.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/3522611522023267982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/3522611522023267982'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/singlesigon-for-share.html' title='SingleSigon For Share'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-6621812576029320859</id><published>2011-09-13T17:37:00.000-07:00</published><updated>2011-10-13T20:46:53.861-07:00</updated><title type='text'>setting up the memory(Perm Gen)</title><content type='html'>In the startup.bat file put the below lines(C:\Alfresco3.4.3\tomcat\bin)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;set JAVA_OPTS=-Xms512m -Xmx1024m -Xss1024k -XX:MaxPermSize=256m &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;By setting the above parameter we can start the server from startup.bat file.&lt;br /&gt;&lt;br /&gt;@echo off&lt;br /&gt;rem Licensed to the Apache Software Foundation (ASF) under one or more&lt;br /&gt;rem contributor license agreements.  See the NOTICE file distributed with&lt;br /&gt;rem this work for additional information regarding copyright ownership.&lt;br /&gt;rem The ASF licenses this file to You under the Apache License, Version 2.0&lt;br /&gt;rem (the "License"); you may not use this file except in compliance with&lt;br /&gt;rem the License.  You may obtain a copy of the License at&lt;br /&gt;rem&lt;br /&gt;rem     http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;rem&lt;br /&gt;rem Unless required by applicable law or agreed to in writing, software&lt;br /&gt;rem distributed under the License is distributed on an "AS IS" BASIS,&lt;br /&gt;rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;rem See the License for the specific language governing permissions and&lt;br /&gt;rem limitations under the License.&lt;br /&gt;&lt;br /&gt;if "%OS%" == "Windows_NT" setlocal&lt;br /&gt;rem ---------------------------------------------------------------------------&lt;br /&gt;rem Start script for the CATALINA Server&lt;br /&gt;rem&lt;br /&gt;rem $Id: startup.bat 908749 2010-02-10 23:26:42Z markt $&lt;br /&gt;rem ---------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;rem Guess CATALINA_HOME if not defined&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;set JAVA_OPTS=-Xms512m -Xmx1024m -Xss1024k -XX:MaxPermSize=256m &lt;/span&gt;-XX:NewSize=256m&lt;br /&gt;set "CURRENT_DIR=%cd%"&lt;br /&gt;if not "%CATALINA_HOME%" == "" goto gotHome&lt;br /&gt;set "CATALINA_HOME=%CURRENT_DIR%"&lt;br /&gt;if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome&lt;br /&gt;cd ..&lt;br /&gt;set "CATALINA_HOME=%cd%"&lt;br /&gt;cd "%CURRENT_DIR%"&lt;br /&gt;:gotHome&lt;br /&gt;if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome&lt;br /&gt;echo The CATALINA_HOME environment variable is not defined correctly&lt;br /&gt;echo This environment variable is needed to run this program&lt;br /&gt;goto end&lt;br /&gt;:okHome&lt;br /&gt;&lt;br /&gt;set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"&lt;br /&gt;&lt;br /&gt;rem Check that target executable exists&lt;br /&gt;if exist "%EXECUTABLE%" goto okExec&lt;br /&gt;echo Cannot find "%EXECUTABLE%"&lt;br /&gt;echo This file is needed to run this program&lt;br /&gt;goto end&lt;br /&gt;:okExec&lt;br /&gt;&lt;br /&gt;rem Get remaining unshifted command line arguments and save them in the&lt;br /&gt;set CMD_LINE_ARGS=&lt;br /&gt;:setArgs&lt;br /&gt;if ""%1""=="""" goto doneSetArgs&lt;br /&gt;set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1&lt;br /&gt;shift&lt;br /&gt;goto setArgs&lt;br /&gt;:doneSetArgs&lt;br /&gt;&lt;br /&gt;call "%EXECUTABLE%" start %CMD_LINE_ARGS%&lt;br /&gt;&lt;br /&gt;:end&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-6621812576029320859?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/6621812576029320859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/setting-up-memoryperm-gen.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/6621812576029320859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/6621812576029320859'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/setting-up-memoryperm-gen.html' title='setting up the memory(Perm Gen)'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-8699107070705932824</id><published>2011-09-13T05:41:00.000-07:00</published><updated>2011-09-13T06:23:50.973-07:00</updated><title type='text'>Liferay CMIS hook to connect to Alfresco</title><content type='html'>Install and make Alfresco up and running with the version Alfresco 3.4.1&lt;br /&gt;Install Liferay and make it up. liferay-portal-tomcat-6.0-ee-sp1&lt;br /&gt;&lt;br /&gt;In the portal-ext.properties put following properties and restart server&lt;br /&gt;&lt;br /&gt;dl.hook.impl=com.liferay.documentlibrary.util.CMISHook&lt;br /&gt;&lt;br /&gt;cmis.credentials.username=admin&lt;br /&gt;&lt;br /&gt;cmis.credentials.password=admin&lt;br /&gt;&lt;br /&gt;cmis.repository.url=http://localhost:8080/alfresco/service/api/cmis&lt;br /&gt;&lt;br /&gt;cmis.repository.version=1.0&lt;br /&gt;&lt;br /&gt;cmis.system.root.dir=Liferay Home&lt;br /&gt;&lt;br /&gt;Restart Liferay and create content in the Document Library, the created content should go and sit in Alfresco.&lt;br /&gt;&lt;br /&gt;But here the disadvantage is , it is storing the files in binary in Alfresco.&lt;br /&gt;&lt;br /&gt;Hope that in the future releases we will have the actual content inside Alfresco&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can find more info in the blog&lt;br /&gt;https://www.liferay.com/web/jonas.yuan/blog/-/blogs/integrating-alfresco-through-cmis-in-liferay&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-8699107070705932824?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/8699107070705932824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/liferay-cmis-hook-to-connect-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/8699107070705932824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/8699107070705932824'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/liferay-cmis-hook-to-connect-to.html' title='Liferay CMIS hook to connect to Alfresco'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-7730585917382697716</id><published>2011-09-05T10:00:00.000-07:00</published><updated>2011-09-05T10:03:27.249-07:00</updated><title type='text'>Content Storage and Lifecycle</title><content type='html'>http://wiki.alfresco.com/wiki/Content_Store_Configuration&lt;br /&gt;&lt;br /&gt;In Alfresco, the content binaries are stored separately from the  metadata, which is always found in the database.  The primary metadata  that acts as a reference to the binaries takes the form &lt;b&gt;contentUrl=store://.........|mimetype=...(etc)&lt;/b&gt;.  The abstraction that takes care of mapping the &lt;b&gt;store://...&lt;/b&gt; part of the reference to a physical location is the &lt;i&gt;ContentStore&lt;/i&gt; interface.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt; &lt;span class="mw-headline" id="Content_Binaries_and_Transactions"&gt; Content Binaries and Transactions &lt;/span&gt;&lt;/h4&gt; &lt;p&gt;Because binaries are not modified, it means that writes to the  filesystem do not become visible until the metadata has been committed  to the database.  In the event of transaction failure or rollback, the  metadata will be left in the pre-transaction state i.e. referencing the  older binary; the newer content binary will be left in an orphaned state  for later cleanup. &lt;/p&gt; &lt;h4&gt; &lt;span class="mw-headline" id="Deleting_Files"&gt; Deleting Files &lt;/span&gt;&lt;/h4&gt; &lt;p&gt;When a file node (or anything containing a reference to raw content)  is permanently deleted, there is just one less reference to the raw  content.  When there are no more references to some raw content, it is  called orphaned.  Were nothing further done, the content stores would  just irreversibly fill up with content. &lt;/p&gt; &lt;h4&gt; &lt;span class="mw-headline" id="Cleaning_up_Orphaned_Content_.28Purge.29"&gt; Cleaning up Orphaned Content (Purge) &lt;/span&gt;&lt;/h4&gt; &lt;p&gt;Once all references to a content binary have been removed from the metadata, the content is said to be &lt;i&gt;orphaned&lt;/i&gt;.   Orphaned content can be deleted or purged from the content store while  the system is running.  Identifying and either sequestering or deleting  the orphaned content is the job of the &lt;b&gt;contentStoreCleaner&lt;/b&gt;. &lt;/p&gt;&lt;p&gt;In the default configuration, the &lt;b&gt;contentStoreCleanerTrigger&lt;/b&gt; fires the &lt;b&gt;contentStoreCleaner&lt;/b&gt; bean. &lt;/p&gt; &lt;pre&gt;  &lt;bean id="contentStoreCleaner" class="org.alfresco.repo.content.cleanup.ContentStoreCleaner"&gt;      ...      &lt;property name="protectDays"&gt;         &lt;value&gt;14&lt;/value&gt;      &lt;/property&gt;      &lt;property name="stores"&gt;         &lt;list&gt;            &lt;ref bean="fileContentStore"&gt;         &lt;/ref&gt;&lt;/list&gt;      &lt;/property&gt;      &lt;property name="listeners"&gt;         &lt;list&gt;            &lt;ref bean="deletedContentBackupListener"&gt;         &lt;/ref&gt;&lt;/list&gt;      &lt;/property&gt;   &lt;/bean&gt; &lt;/pre&gt; &lt;ul&gt;&lt;li&gt; &lt;b&gt;protectDays&lt;/b&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Use this property to dictate the minimum time that content binaries should be kept in the &lt;b&gt;contentStore&lt;/b&gt;.  In the above example, if a file is created and immediately deleted, it will not be cleaned from the &lt;b&gt;contentStore&lt;/b&gt;  for at least 14 days.  The value should be adjusted to account for  backup strategies, average content size and available disk space.   Setting this value to zero will result in a system warning as it breaks  the transaction model and it is possible to lose content if the orphaned  content cleaner runs whilst content is being loaded into the system.   If the system backup strategy is just to make regular copies, then this  value should also be greater than the number of days between successive  backup runs. &lt;/p&gt; &lt;ul&gt;&lt;li&gt; &lt;b&gt;store&lt;/b&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;This is a list of &lt;b&gt;ContentStore&lt;/b&gt; beans to scour for orphaned content. &lt;/p&gt; &lt;ul&gt;&lt;li&gt; &lt;b&gt;listeners&lt;/b&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;When orphaned content is located, these listeners are notified.  In this example, the &lt;b&gt;deletedContentBackupListener&lt;/b&gt; copies the orphaned content to a separate &lt;b&gt;deletedContentStore&lt;/b&gt;. &lt;/p&gt;&lt;p&gt;Note that this configuration will not actually remove the files from the file system but rather moves them to the designated &lt;b&gt;deletedContentStore&lt;/b&gt;, usually &lt;b&gt;contentstore.deleted&lt;/b&gt;.  The files can be removed from the &lt;b&gt;deletedContentStore&lt;/b&gt; via script or cron job once an appropriate backup has been performed. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-7730585917382697716?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/7730585917382697716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/content-storage-and-lifecycle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/7730585917382697716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/7730585917382697716'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/content-storage-and-lifecycle.html' title='Content Storage and Lifecycle'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-6369991035761282875</id><published>2011-09-05T09:48:00.001-07:00</published><updated>2011-09-05T09:48:26.661-07:00</updated><title type='text'>Code for Purging the content</title><content type='html'>    &lt;action-group id="deleteditem_actions"&gt;&lt;br /&gt;            &lt;action idref="recover_item"&gt;&lt;br /&gt;            &lt;action idref="delete_item"&gt;&lt;br /&gt;         &lt;/action&gt;&lt;/action&gt;&lt;/action-group&gt;&lt;br /&gt;&lt;br /&gt;   &lt;!-- delete item action --&gt;&lt;br /&gt;         &lt;action id="delete_item"&gt;&lt;br /&gt;            &lt;label-id&gt;delete&lt;/label-id&gt;&lt;br /&gt;            &lt;img&gt;/images/icons/delete.gif&lt;br /&gt;            &lt;action&gt;dialog:deleteItem&lt;/action&gt;&lt;br /&gt;            &lt;action-listener&gt;#{DialogManager.setupParameters}&lt;/action-listener&gt;&lt;br /&gt;            &lt;params&gt;&lt;br /&gt;               &lt;param name="id"&gt;#{actionContext.id}&lt;br /&gt;            &lt;/params&gt;&lt;br /&gt;         &lt;/action&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;         &lt;dialog name="deleteItem" page="/jsp/trashcan/delete-item.jsp" bean="TrashcanDeleteItemDialog" icon="/images/icons/delete_large.gif" id="delete_item" id="delete_item_info"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;org.alfresco.web.bean.trashcan.TrashcanDeleteItemDialog&lt;br /&gt;&lt;br /&gt;Code to delate the content&lt;br /&gt;property.getNodeArchiveService().purgeArchivedNode(item.getNodeRef());&lt;br /&gt;&lt;/dialog&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-6369991035761282875?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/6369991035761282875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/code-for-purging-content.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/6369991035761282875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/6369991035761282875'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/code-for-purging-content.html' title='Code for Purging the content'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-6780700821100634355</id><published>2011-09-04T19:54:00.000-07:00</published><updated>2011-09-04T19:56:34.448-07:00</updated><title type='text'>Exposing objects in Alfresco share</title><content type='html'>The way we use to expose the objects in the DM, similar way we can expose the objects in Alfresco share as surf objects.&lt;br /&gt;&lt;br /&gt;This is done by extending ScriptBase object&lt;br /&gt;&lt;br /&gt;org.springframework.extensions.webscripts.ScriptUser ---&amp;gt; exposes user object&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-6780700821100634355?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/6780700821100634355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/exposing-objects-in-alfresco-share.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/6780700821100634355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/6780700821100634355'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/exposing-objects-in-alfresco-share.html' title='Exposing objects in Alfresco share'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-6622499832496356857</id><published>2011-09-04T18:49:00.000-07:00</published><updated>2011-09-04T18:51:48.554-07:00</updated><title type='text'>Root scoped objects in Alfresco share</title><content type='html'>Refer to below link&lt;br /&gt;&lt;a href="http://wiki.alfresco.com/wiki/Surf_Platform_-_Freemarker_Template_and_JavaScript_API#Root-scoped_Objects"&gt;&lt;span class="toctext"&gt;http://wiki.alfresco.com/wiki/Surf_Platform_-_Freemarker_Template_and_JavaScript_API&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li class="toclevel-1 tocsection-3"&gt;&lt;a href="http://wiki.alfresco.com/wiki/Surf_Platform_-_Freemarker_Template_and_JavaScript_API#Root-scoped_Objects"&gt;&lt;span class="tocnumber"&gt;&lt;/span&gt; &lt;span class="toctext"&gt;Root-scoped Objects&lt;/span&gt;&lt;/a&gt; &lt;ul&gt;&lt;li class="toclevel-2 tocsection-4"&gt;&lt;a href="http://wiki.alfresco.com/wiki/Surf_Platform_-_Freemarker_Template_and_JavaScript_API#context"&gt;&lt;span class="tocnumber"&gt;&lt;/span&gt; &lt;span class="toctext"&gt;context&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class="toclevel-2 tocsection-5"&gt;&lt;a href="http://wiki.alfresco.com/wiki/Surf_Platform_-_Freemarker_Template_and_JavaScript_API#user"&gt;&lt;span class="tocnumber"&gt;&lt;/span&gt; &lt;span class="toctext"&gt;user&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class="toclevel-2 tocsection-6"&gt;&lt;a href="http://wiki.alfresco.com/wiki/Surf_Platform_-_Freemarker_Template_and_JavaScript_API#content"&gt;&lt;span class="tocnumber"&gt;&lt;/span&gt;&lt;span class="toctext"&gt;content&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class="toclevel-2 tocsection-7"&gt;&lt;a href="http://wiki.alfresco.com/wiki/Surf_Platform_-_Freemarker_Template_and_JavaScript_API#instance"&gt;&lt;span class="tocnumber"&gt;&lt;/span&gt;&lt;span class="toctext"&gt;instance&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class="toclevel-2 tocsection-8"&gt;&lt;a href="http://wiki.alfresco.com/wiki/Surf_Platform_-_Freemarker_Template_and_JavaScript_API#page"&gt;&lt;span class="tocnumber"&gt;&lt;/span&gt; &lt;span class="toctext"&gt;page&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class="toclevel-2 tocsection-9"&gt;&lt;a href="http://wiki.alfresco.com/wiki/Surf_Platform_-_Freemarker_Template_and_JavaScript_API#url"&gt;&lt;span class="tocnumber"&gt;&lt;/span&gt; &lt;span class="toctext"&gt;url&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class="toclevel-2 tocsection-10"&gt;&lt;a href="http://wiki.alfresco.com/wiki/Surf_Platform_-_Freemarker_Template_and_JavaScript_API#sitedata"&gt;&lt;span class="tocnumber"&gt;&lt;/span&gt; &lt;span class="toctext"&gt;sitedata&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class="toclevel-2 tocsection-11"&gt;&lt;a href="http://wiki.alfresco.com/wiki/Surf_Platform_-_Freemarker_Template_and_JavaScript_API#remote"&gt;&lt;span class="tocnumber"&gt;&lt;/span&gt; &lt;span class="toctext"&gt;remote&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-6622499832496356857?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/6622499832496356857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/root-scoped-objects-in-alfresco-share.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/6622499832496356857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/6622499832496356857'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/root-scoped-objects-in-alfresco-share.html' title='Root scoped objects in Alfresco share'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-1948514602541320137</id><published>2011-09-04T11:07:00.001-07:00</published><updated>2011-09-04T11:08:36.640-07:00</updated><title type='text'>Create a Meeting Workspace</title><content type='html'>&lt;h1 class="topictitle1"&gt;Create a Meeting Workspace&lt;/h1&gt; &lt;div&gt;&lt;span&gt;You can create a Meeting Workspace in Share at the time   you create a meeting request. The existing Share users that you add as   meeting attendees automatically become members of the Meeting Workspace. The   user who creates the Meeting Workspace automatically becomes the site   manager.&lt;/span&gt; &lt;/div&gt; &lt;div class="section"&gt;To create a Meeting Workspace from Outlook:&lt;/div&gt; &lt;ol&gt;&lt;li class="stepexpand"&gt;&lt;span&gt;Open Outlook and create a meeting request in the Calendar view         with the following details:&lt;/span&gt;&lt;div class="taskinfo"&gt;&lt;dl&gt;&lt;dt class="dlterm"&gt;To&lt;/dt&gt;&lt;dd&gt;&lt;kbd class="userinput"&gt;usera@alfrescodemo.org;               userb@alfrescodemo.org&lt;/kbd&gt;&lt;/dd&gt;&lt;dt class="dlterm"&gt;Subject&lt;/dt&gt;&lt;dd&gt;&lt;kbd class="userinput"&gt;Project Planning&lt;/kbd&gt;&lt;/dd&gt;&lt;dt class="dlterm"&gt;Location&lt;/dt&gt;&lt;dd&gt;&lt;kbd class="userinput"&gt;Conference Room&lt;/kbd&gt;&lt;/dd&gt;&lt;dt class="dlterm"&gt;Start time&lt;/dt&gt;&lt;dd&gt;any date in the future, &lt;kbd class="userinput"&gt;10:00&lt;/kbd&gt;&lt;/dd&gt;&lt;dt class="dlterm"&gt;End time&lt;/dt&gt;&lt;dd&gt;same day as start date, &lt;kbd class="userinput"&gt;12:00&lt;/kbd&gt;&lt;/dd&gt;&lt;dt class="dlterm"&gt;Message&lt;/dt&gt;&lt;dd&gt;&lt;kbd class="userinput"&gt;Please use the link provided to review the agenda               and associated material for this meeting.&lt;/kbd&gt;&lt;/dd&gt;&lt;/dl&gt; &lt;/div&gt;&lt;/li&gt;&lt;li class="stepexpand"&gt;&lt;span&gt;Click &lt;span class="uicontrol"&gt;Meeting Workspace&lt;/span&gt; on the Meeting         tab.&lt;/span&gt;&lt;div class="taskstepresult"&gt;The Meeting Workspace task pane opens on the right side of         the dialog box.&lt;/div&gt;&lt;/li&gt;&lt;li class="stepexpand"&gt;&lt;span&gt;Click &lt;span class="uicontrol"&gt;Change settings&lt;/span&gt; and configure the         workspace as follows:&lt;/span&gt;&lt;ol type="a"&gt;&lt;li class="substepexpand"&gt;&lt;span&gt;Specify &lt;span class="uicontrol"&gt;http://localhost:7070/alfresco&lt;/span&gt;             as the workspace location.&lt;/span&gt;&lt;/li&gt;&lt;li class="substepexpand"&gt;&lt;span&gt;Select &lt;span class="uicontrol"&gt;Create a new workspace&lt;/span&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li class="substepexpand"&gt;&lt;span&gt;Select &lt;span class="uicontrol"&gt;Alfresco Meeting Workspace&lt;/span&gt; as             the template type.&lt;/span&gt;&lt;div class="taskinfo"&gt;If prompted, log in as the administrator (&lt;kbd class="userinput"&gt;admin&lt;/kbd&gt;,                 &lt;kbd class="userinput"&gt;admin&lt;/kbd&gt;).&lt;p&gt;&lt;span&gt;Click &lt;span class="uicontrol"&gt;Create&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="taskinfo"&gt;&lt;p&gt;If prompted, log in as the administrator         (&lt;kbd class="userinput"&gt;admin&lt;/kbd&gt;,         &lt;kbd class="userinput"&gt;admin&lt;/kbd&gt;).&lt;/p&gt; &lt;/div&gt;Outlook creates the Meeting Workspace (Share site), adds to this the meeting           being scheduled, and inserts a link into the body of the meeting request. This link           provides attendees with easy access to the workspace.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class="stepexpand"&gt;&lt;span&gt;Click &lt;span class="uicontrol"&gt;Go to workspace&lt;/span&gt; at the top of the         task pane to access the Meeting Workspace. Again, log in as the         administrator.&lt;/span&gt;&lt;div class="taskinfo"&gt;Use this link to create an agenda and upload meeting materials         to the site before sending the meeting request. These tasks are not         required as part of the tutorial.&lt;/div&gt;&lt;div class="taskstepresult"&gt;The new Meeting Workspace opens with the calendar         component displayed. The meeting request         &lt;span class="uicontrol"&gt;Subject&lt;/span&gt; line becomes both the meeting title and         the workspace name (non-alphanumeric characters, including spaces, are         converted to underscores for the workspace name). When you create a         Meeting Workspace from Outlook, the site includes only the Document         Library and Calendar components. To include additional page         components—Wiki, Blog, Links, Discussions, or Data Lists—refer to the         Share user help.&lt;/div&gt;&lt;/li&gt;&lt;li class="stepexpand"&gt;&lt;span&gt;Log out of Share and close the browser.&lt;/span&gt;&lt;/li&gt;&lt;li class="stepexpand"&gt;&lt;span&gt;In the meeting request in Outlook, click         &lt;span class="uicontrol"&gt;Send&lt;/span&gt;.&lt;/span&gt;&lt;div class="taskstepresult"&gt;Outlook sends the meeting request. In Share, the meeting         attendees are added to the Meeting Workspace as site members. By         default, they are given the role Collaborator.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-1948514602541320137?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/1948514602541320137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/create-meeting-workspace.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/1948514602541320137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/1948514602541320137'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/create-meeting-workspace.html' title='Create a Meeting Workspace'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-5738866306792350274</id><published>2011-09-04T11:07:00.000-07:00</published><updated>2011-09-04T11:08:24.380-07:00</updated><title type='text'></title><content type='html'>&lt;h1 class="topictitle1"&gt;Create a Meeting Workspace&lt;/h1&gt; &lt;div&gt;&lt;span&gt;You can create a Meeting Workspace in Share at the time   you create a meeting request. The existing Share users that you add as   meeting attendees automatically become members of the Meeting Workspace. The   user who creates the Meeting Workspace automatically becomes the site   manager.&lt;/span&gt; &lt;/div&gt; &lt;div class="section"&gt;To create a Meeting Workspace from Outlook:&lt;/div&gt; &lt;ol&gt;&lt;li class="stepexpand"&gt;&lt;span&gt;Open Outlook and create a meeting request in the Calendar view         with the following details:&lt;/span&gt;&lt;div class="taskinfo"&gt;&lt;dl&gt;&lt;dt class="dlterm"&gt;To&lt;/dt&gt;&lt;dd&gt;&lt;kbd class="userinput"&gt;usera@alfrescodemo.org;               userb@alfrescodemo.org&lt;/kbd&gt;&lt;/dd&gt;&lt;dt class="dlterm"&gt;Subject&lt;/dt&gt;&lt;dd&gt;&lt;kbd class="userinput"&gt;Project Planning&lt;/kbd&gt;&lt;/dd&gt;&lt;dt class="dlterm"&gt;Location&lt;/dt&gt;&lt;dd&gt;&lt;kbd class="userinput"&gt;Conference Room&lt;/kbd&gt;&lt;/dd&gt;&lt;dt class="dlterm"&gt;Start time&lt;/dt&gt;&lt;dd&gt;any date in the future, &lt;kbd class="userinput"&gt;10:00&lt;/kbd&gt;&lt;/dd&gt;&lt;dt class="dlterm"&gt;End time&lt;/dt&gt;&lt;dd&gt;same day as start date, &lt;kbd class="userinput"&gt;12:00&lt;/kbd&gt;&lt;/dd&gt;&lt;dt class="dlterm"&gt;Message&lt;/dt&gt;&lt;dd&gt;&lt;kbd class="userinput"&gt;Please use the link provided to review the agenda               and associated material for this meeting.&lt;/kbd&gt;&lt;/dd&gt;&lt;/dl&gt; &lt;/div&gt;&lt;/li&gt;&lt;li class="stepexpand"&gt;&lt;span&gt;Click &lt;span class="uicontrol"&gt;Meeting Workspace&lt;/span&gt; on the Meeting         tab.&lt;/span&gt;&lt;div class="taskstepresult"&gt;The Meeting Workspace task pane opens on the right side of         the dialog box.&lt;/div&gt;&lt;/li&gt;&lt;li class="stepexpand"&gt;&lt;span&gt;Click &lt;span class="uicontrol"&gt;Change settings&lt;/span&gt; and configure the         workspace as follows:&lt;/span&gt;&lt;ol type="a"&gt;&lt;li class="substepexpand"&gt;&lt;span&gt;Specify &lt;span class="uicontrol"&gt;http://localhost:7070/alfresco&lt;/span&gt;             as the workspace location.&lt;/span&gt;&lt;/li&gt;&lt;li class="substepexpand"&gt;&lt;span&gt;Select &lt;span class="uicontrol"&gt;Create a new workspace&lt;/span&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li class="substepexpand"&gt;&lt;span&gt;Select &lt;span class="uicontrol"&gt;Alfresco Meeting Workspace&lt;/span&gt; as             the template type.&lt;/span&gt;&lt;div class="taskinfo"&gt;If prompted, log in as the administrator (&lt;kbd class="userinput"&gt;admin&lt;/kbd&gt;,                 &lt;kbd class="userinput"&gt;admin&lt;/kbd&gt;).&lt;p&gt;&lt;span&gt;Click &lt;span class="uicontrol"&gt;Create&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div class="taskinfo"&gt;&lt;p&gt;If prompted, log in as the administrator         (&lt;kbd class="userinput"&gt;admin&lt;/kbd&gt;,         &lt;kbd class="userinput"&gt;admin&lt;/kbd&gt;).&lt;/p&gt; &lt;/div&gt;Outlook creates the Meeting Workspace (Share site), adds to this the meeting           being scheduled, and inserts a link into the body of the meeting request. This link           provides attendees with easy access to the workspace.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class="stepexpand"&gt;&lt;span&gt;Click &lt;span class="uicontrol"&gt;Go to workspace&lt;/span&gt; at the top of the         task pane to access the Meeting Workspace. Again, log in as the         administrator.&lt;/span&gt;&lt;div class="taskinfo"&gt;Use this link to create an agenda and upload meeting materials         to the site before sending the meeting request. These tasks are not         required as part of the tutorial.&lt;/div&gt;&lt;div class="taskstepresult"&gt;The new Meeting Workspace opens with the calendar         component displayed. The meeting request         &lt;span class="uicontrol"&gt;Subject&lt;/span&gt; line becomes both the meeting title and         the workspace name (non-alphanumeric characters, including spaces, are         converted to underscores for the workspace name). When you create a         Meeting Workspace from Outlook, the site includes only the Document         Library and Calendar components. To include additional page         components—Wiki, Blog, Links, Discussions, or Data Lists—refer to the         Share user help.&lt;/div&gt;&lt;/li&gt;&lt;li class="stepexpand"&gt;&lt;span&gt;Log out of Share and close the browser.&lt;/span&gt;&lt;/li&gt;&lt;li class="stepexpand"&gt;&lt;span&gt;In the meeting request in Outlook, click         &lt;span class="uicontrol"&gt;Send&lt;/span&gt;.&lt;/span&gt;&lt;div class="taskstepresult"&gt;Outlook sends the meeting request. In Share, the meeting         attendees are added to the Meeting Workspace as site members. By         default, they are given the role Collaborator.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-5738866306792350274?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/5738866306792350274/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/create-meeting-workspace-you-can-create.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/5738866306792350274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/5738866306792350274'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/create-meeting-workspace-you-can-create.html' title=''/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-7423184744391527752</id><published>2011-09-04T09:36:00.001-07:00</published><updated>2011-09-18T17:57:52.423-07:00</updated><title type='text'>Command to change tomcat server settings in tomcat</title><content type='html'>Open the path till bin and execute the command //ES//alfrescoTomcatnum2&lt;br /&gt;C:\Alfresco3.4.3\tomcat\bin&amp;gt;tomcat6w.exe //ES//alfrescoTomcatnum2&lt;br /&gt;&lt;br /&gt;Here alfrescoTomcatnum2 is the name of the service. You can change this name based in your service name.&lt;br /&gt;Now set the required memory settings in the Java tab&lt;br /&gt;&lt;br /&gt;Initail Memory pool 256 MB&lt;br /&gt;Maximum memory pool 512mb&lt;br /&gt;Thread stack size 64&lt;br /&gt;&lt;br /&gt;If memory is not set then alfresco service may not start&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-7423184744391527752?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/7423184744391527752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/command-to-change-tomcat-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/7423184744391527752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/7423184744391527752'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/command-to-change-tomcat-server.html' title='Command to change tomcat server settings in tomcat'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-4799969196723541483</id><published>2011-09-04T09:23:00.000-07:00</published><updated>2011-09-04T09:28:32.437-07:00</updated><title type='text'>DB Creation scripts for Alfresco with mysql</title><content type='html'>Database creation scripts for mysql&lt;br /&gt;&lt;br /&gt;create database alfresco default character set utf8 collate utf8_bin;&lt;br /&gt;grant all on alfresco.* to 'alfresco'@'localhost' identified by 'alfresco' with grant option;&lt;br /&gt;grant all on alfresco.* to 'alfresco'@'localhost.localdomain' identified by 'alfresco' with grant option;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Database deletion scripts for mysql&lt;br /&gt;create database alfresco default character set utf8 collate utf8_bin;&lt;br /&gt;grant all on alfresco.* to 'alfresco'@'localhost' identified by 'alfresco' with grant option;&lt;br /&gt;grant all on alfresco.* to 'alfresco'@'localhost.localdomain' identified by 'alfresco' with grant option;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Configuring Alfresco to this database is done by below lines&lt;br /&gt;&lt;br /&gt;### database connection properties ###&lt;br /&gt;db.driver=org.gjt.mm.mysql.Driver&lt;br /&gt;db.username=alfresco&lt;br /&gt;db.password=alfresco&lt;br /&gt;db.name=alfresco&lt;br /&gt;db.url=jdbc:mysql://localhost:3306/alfresco&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-4799969196723541483?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/4799969196723541483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/db-creation-scripts-for-alfresco-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/4799969196723541483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/4799969196723541483'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/db-creation-scripts-for-alfresco-with.html' title='DB Creation scripts for Alfresco with mysql'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-9110704612503861023</id><published>2011-09-04T08:06:00.000-07:00</published><updated>2011-09-04T08:07:19.335-07:00</updated><title type='text'>How documentlibrary folder gets created when we create site in Alfresco</title><content type='html'> &lt;p style="margin-bottom: 0in"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;The pages will be defined here&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;config evaluator="string-compare" condition="SitePages"&gt;&lt;/config&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;pages&gt;&lt;/pages&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;page id="calendar"&gt;calendar&lt;/page&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;page id="wiki-page"&gt;wiki-page?title=Main_Page&lt;/page&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;b&gt;&lt;page id="documentlibrary"&gt;documentlibrary&lt;/page&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;page id="discussions-topiclist"&gt;discussions-topiclist&lt;/page&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;page id="blog-postlist"&gt;blog-postlist&lt;/page&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;page id="links"&gt;links&lt;/page&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;page id="tasks"&gt;tasks&lt;/page&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="font-family:WileyCode-Bold, serif;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;b&gt;&lt;page id="knowledgebase"&gt;knowledgebase&lt;/page&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:WileyCode-Regular;"&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;The corresponding page definition will be available in the folder.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;C:\Alfresco3.4.1\tomcat\webapps\share\WEB-INF\classes\alfresco\site-data\pages&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;!--?xml version='1.0' encoding='UTF-8'?--&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;page&gt;&lt;/page&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;   &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;b&gt;&lt;id&gt;discussions-topiclist&lt;/id&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;   &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;page-type&gt;discussions-topiclist&lt;/page-type&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;   &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;title&gt;Discussions&lt;/title&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;   &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;title-id&gt;page.discussionsTopicList.title&lt;/title-id&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;   &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;description&gt;Displays the forum topics&lt;/description&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;   &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;description-id&gt;page.discussionsTopicList.description&lt;/description-id&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;   &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;b&gt;&lt;template-instance&gt;discussions-topiclist&lt;/template-instance&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;   &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;authentication&gt;user&lt;/authentication&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;For the documentlibrary we will hava the below &lt;b&gt;page definition.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;!--?xml version='1.0' encoding='UTF-8'?--&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;page&gt;&lt;/page&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;   &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;title&gt;Document Library&lt;/title&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;   &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;title-id&gt;page.documentLibrary.title&lt;/title-id&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;   &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;description&gt;Document library with Tree view&lt;/description&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;   &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;description-id&gt;page.documentLibrary.description&lt;/description-id&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;   &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;b&gt;&lt;template-instance&gt;documentlibrary&lt;/template-instance&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;   &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;authentication&gt;user&lt;/authentication&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;If you see the page It has &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;b&gt;Template-instance,&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;span style="font-weight: normal"&gt; so it will look for&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;b&gt;  template-instance. The template-instance are located at C:\Alfresco3.4.1\tomcat\webapps\share\WEB-INF\classes\alfresco\site-data\template-instances\documentlibrary.xml&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;b&gt;The template-instance is made up of the components. Components will have the region-id as below.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;!--?xml version='1.0' encoding='UTF-8'?--&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;template-instance&gt;&lt;/template-instance&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;   &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;b&gt;&lt;template-type&gt;org/alfresco/documentlibrary&lt;/template-type&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;   &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;properties&gt;&lt;/properties&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;pagefamily&gt;documentlibrary&lt;/pagefamily&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;container&gt;documentLibrary&lt;/container&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;   &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;   &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;components&gt;&lt;/components&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;!-- title: normal &amp;amp; portlet --&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;b&gt;&lt;component&gt;&lt;/component&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;b&gt;&lt;region-id&gt;title&lt;/region-id&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;b&gt;&lt;url&gt;/components/title/collaboration-title&lt;/url&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;component&gt;&lt;/component&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;region-id&gt;portlet-title&lt;/region-id&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;url&gt;/components/title/portlet-collaboration-title&lt;/url&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;component&gt;&lt;/component&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;region-id&gt;navigation&lt;/region-id&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;url&gt;/components/navigation/collaboration-navigation&lt;/url&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;component&gt;&lt;/component&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;region-id&gt;actions-common&lt;/region-id&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;url&gt;/components/documentlibrary/actions-common&lt;/url&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;component&gt;&lt;/component&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;region-id&gt;toolbar&lt;/region-id&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;url&gt;/components/documentlibrary/toolbar&lt;/url&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;component&gt;&lt;/component&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;region-id&gt;documentlist&lt;/region-id&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;url&gt;/components/documentlibrary/documentlist&lt;/url&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;properties&gt;&lt;/properties&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;            &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;pagination&gt;true&lt;/pagination&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;component&gt;&lt;/component&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;region-id&gt;filter&lt;/region-id&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;url&gt;/components/documentlibrary/filter&lt;/url&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;component&gt;&lt;/component&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;region-id&gt;tree&lt;/region-id&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;url&gt;/components/documentlibrary/tree&lt;/url&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;properties&gt;&lt;/properties&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;component&gt;&lt;/component&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;region-id&gt;tags&lt;/region-id&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;url&gt;/components/tag-filter&lt;/url&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;properties&gt;&lt;/properties&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;            &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;scoped&gt;true&lt;/scoped&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;   &lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;component&gt;&lt;/component&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;region-id&gt;html-upload&lt;/region-id&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;url&gt;/components/upload/html-upload&lt;/url&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;component&gt;&lt;/component&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;region-id&gt;flash-upload&lt;/region-id&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;url&gt;/components/upload/flash-upload&lt;/url&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;component&gt;&lt;/component&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;region-id&gt;file-upload&lt;/region-id&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;         &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;url&gt;/components/upload/file-upload&lt;/url&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;      &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;   &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;b&gt;Here multiple calls will happen.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;b&gt;Call 	to the template file and the corresponding javascript file.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;b&gt;Call 	to the region ids&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; 	&lt;ol&gt;&lt;p style="margin-bottom: 0in"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;b&gt;C:\Alfresco3.4.1\tomcat\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\components\title&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/ol&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;b&gt;	&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;b&gt;	These calls will be continued for each region. By calling seperate webscripts based on the urls.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;If you see the  &lt;b&gt;&lt;template-type&gt;org/alfresco/documentlibrary&lt;/template-type&gt; this is also the webscript.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;b&gt;It will call the scripts located in the below location&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;b&gt;C:\Alfresco3.4.1\tomcat\webapps\share\WEB-INF\classes\alfresco\templates\org\alfresco\ documentlibrary.js and the corresponding template. The ftl is going to have the definition of the page.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal"&gt;&lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;It will connect to alfresco and creats the folder&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;   &lt;span style="font-family:WileyCode-Regular;"&gt;&lt;span style="font-size: 8pt;font-size:78%;" &gt;&lt;b&gt;result = connector.get("/slingshot/doclib/container/" + siteId + "/" + containerId + "?type=" + toRepoType(contentType));&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;br /&gt;&lt;/p&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-9110704612503861023?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/9110704612503861023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/how-documentlibrary-folder-gets-created.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/9110704612503861023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/9110704612503861023'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/09/how-documentlibrary-folder-gets-created.html' title='How documentlibrary folder gets created when we create site in Alfresco'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-6152614043705053256</id><published>2011-08-31T07:05:00.001-07:00</published><updated>2011-08-31T07:05:48.449-07:00</updated><title type='text'>Finding the port listening command</title><content type='html'>&lt;p&gt;Finding the port listening command&lt;br /&gt;&lt;/p&gt;&lt;p&gt;From a Windows console, type:&lt;/p&gt; &lt;div class="code panel" style="border-width: 1px;"&gt;&lt;div class="codeContent panelContent"&gt; &lt;pre class="code-java"&gt;netstat -an|find &lt;span class="code-quote"&gt;"61616"&lt;/span&gt; &lt;/pre&gt; &lt;/div&gt;&lt;/div&gt; &lt;p&gt;&lt;b&gt;OR&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;From a Unix command shell, type:&lt;/p&gt; &lt;div class="code panel" style="border-width: 1px;"&gt;&lt;div class="codeContent panelContent"&gt; &lt;pre class="code-java"&gt;netstat -an|grep 61616 &lt;/pre&gt; &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-6152614043705053256?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/6152614043705053256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/08/finding-port-listening-command.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/6152614043705053256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/6152614043705053256'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/08/finding-port-listening-command.html' title='Finding the port listening command'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-5987583531078923977</id><published>2011-08-15T22:47:00.000-07:00</published><updated>2011-08-15T22:58:39.948-07:00</updated><title type='text'>Comparison between WCM and DM nodeRepresentation</title><content type='html'>&lt;span style="font-weight: bold;"&gt;In the DM represenation noderef&lt;/span&gt;  will be a numerical as below. I am trying to access&lt;br /&gt;space_templates folder present in the DataDictionary&lt;br /&gt;Node Identifier&lt;br /&gt;Primary Path:    /{http://www.alfresco.org/model/application/1.0}company_home/{http://www.alfresco.org/model/application/1.0}dictionary/{http://www.alfresco.org/model/application/1.0}space_templates&lt;br /&gt;Reference:    workspace://SpacesStore/08116618-8978-4917-88a1-9547e6128002&lt;br /&gt;Type:    {http://www.alfresco.org/model/content/1.0}folder&lt;br /&gt;Parent:     workspace://SpacesStore/460a0e42-dc18-4d7e-ad4a-2a8415a69846&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;In WCM noderef &lt;/span&gt;is comma seperated value with the complete store name&lt;br /&gt;&lt;br /&gt;Primary Path:     /{http://www.alfresco.org/model/content/1.0}www/{http://www.alfresco.org/model/content/1.0}avm_webapps/{http://www.alfresco.org/model/content/1.0}ROOT/{http://www.alfresco.org/model/content/1.0}statementinput.jsp.txt&lt;br /&gt;Reference:    &lt;span style="font-weight: bold;"&gt;avm://testdns--admin/-1;www;avm_webapps;ROOT;statementinput.jsp.txt&lt;/span&gt;&lt;br /&gt;Type:    {http://www.alfresco.org/model/wcmmodel/1.0}avmplaincontent&lt;br /&gt;Parent:     avm://testdns--admin/-1;www;avm_webapps;ROOT&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sample path will be as below&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;testdns&lt;/span&gt;--admin--preview:/www/avm_webapps/ROOT/&lt;span style="font-weight: bold;"&gt;statementinput.jsp.txt&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;If you replace ; with / of nodeReference we will get the path.&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-5987583531078923977?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/5987583531078923977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/08/comparison-between-wcm-and-dm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/5987583531078923977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/5987583531078923977'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/08/comparison-between-wcm-and-dm.html' title='Comparison between WCM and DM nodeRepresentation'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-6654120163060548017</id><published>2011-08-15T04:08:00.000-07:00</published><updated>2011-08-15T04:24:40.852-07:00</updated><title type='text'>Alfresco WebContent Deployment</title><content type='html'>Alfresco WCM projects involves Authoring environment and Staging environment.&lt;br /&gt;Authoring environment is the plcae where we create the content.&lt;br /&gt;From the Staging environment we pull content to external site. In this blog I am discussing about how to deploy the content to staging environment.&lt;br /&gt;&lt;br /&gt;The staging environment can be classified as below&lt;br /&gt;1. WCM to DM deployment&lt;br /&gt;2. WCM to another alfresco instance deployment(ASR)&lt;br /&gt;3. WCM to deployment Engine&lt;br /&gt;4. WCM to file system&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Tested with Alfresco3.4.1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1. WCM to DM deployment&lt;/span&gt;&lt;br /&gt;While configuring use the below entries&lt;br /&gt;Transport Name:    default&lt;br /&gt;Host:    127.0.0.1&lt;br /&gt;Port:    50500&lt;br /&gt;URL:    --&lt;br /&gt;Type:    Live Server&lt;br /&gt;Username:    admin&lt;br /&gt;   &lt;br /&gt;Source Path:    --&lt;br /&gt;Excludes:    --&lt;br /&gt;Target Name:    &lt;span style="font-weight: bold;"&gt;alfresco&lt;/span&gt;&lt;br /&gt;Include In Auto Deploy:    Yes&lt;br /&gt;&lt;br /&gt;If the target name is alfresco then the content will be deployed to WebDeployed folder of Alfresco.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. WCM to another alfresco instance deployment(ASR)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Transport Name:    default&lt;br /&gt;Host:    127.0.0.1&lt;br /&gt;Port:    50500&lt;br /&gt;URL:    --&lt;br /&gt;Type:    Live Server&lt;br /&gt;Username:    admin&lt;br /&gt;   &lt;br /&gt;Source Path:    --&lt;br /&gt;Excludes:    --&lt;br /&gt;Target Name:    &lt;span style="font-weight: bold;"&gt;avm&lt;/span&gt;&lt;br /&gt;Include In Auto Deploy:    No&lt;br /&gt;&lt;br /&gt;Here the target name is &lt;span style="font-weight: bold;"&gt;avm&lt;/span&gt;, hence it acts as ASR. For the staging sandbox-live will be appeneded.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3. WCM to deployment Engine&lt;/span&gt;&lt;br /&gt;Before doing this install and start the deployment engine.&lt;br /&gt;In this case configure the port to 44100&lt;br /&gt;Target Name:    &lt;span style="font-weight: bold;"&gt;default&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;We can change the target name to other than default by making changes in&lt;br /&gt;alfresco-global.properties&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-6654120163060548017?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/6654120163060548017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/08/alfresco-webcontent-deployment.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/6654120163060548017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/6654120163060548017'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/08/alfresco-webcontent-deployment.html' title='Alfresco WebContent Deployment'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-4595309388522564613</id><published>2011-08-08T23:48:00.000-07:00</published><updated>2011-08-08T23:59:12.787-07:00</updated><title type='text'>Exposing the Java variables to Velocity Templates</title><content type='html'>&lt;pre id="aui_3_2_0_1391"&gt;We can make some java variables available in the velocity templates(used in theme)&lt;br /&gt;In the&lt;br /&gt;ServicePreAction  we set the variables and these variables will&lt;br /&gt; be accessed from the templates.&lt;br /&gt;&lt;br /&gt;servlet.service.events.pre=com.liferay.portal.events.ServicePreAction,your.custom&lt;br /&gt;.EXTServicePreAction&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-4595309388522564613?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/4595309388522564613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/08/exposing-java-variables-to-velocity.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/4595309388522564613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/4595309388522564613'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/08/exposing-java-variables-to-velocity.html' title='Exposing the Java variables to Velocity Templates'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-397005779737624947</id><published>2011-08-04T00:20:00.000-07:00</published><updated>2011-08-04T00:21:55.407-07:00</updated><title type='text'>Getting the Tasks from WorkflowInstance</title><content type='html'>WorkflowTaskQuery tasksQuery = new WorkflowTaskQuery();&lt;br /&gt;            tasksQuery.setTaskState(null);&lt;br /&gt;            tasksQuery.setActive(null);&lt;br /&gt;            tasksQuery.setProcessId(workflowInstance.id);&lt;br /&gt;            List&lt;workflowtask&gt; tasks = workflowService.queryTasks(tasksQuery);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;From the WorkflowTask get the id and make the query to get all the tasks.&lt;br /&gt;&lt;br /&gt;&lt;/workflowtask&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-397005779737624947?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/397005779737624947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/08/getting-tasks-from-workflowinstance.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/397005779737624947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/397005779737624947'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/08/getting-tasks-from-workflowinstance.html' title='Getting the Tasks from WorkflowInstance'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-6947958339367254233</id><published>2011-08-02T01:32:00.000-07:00</published><updated>2011-08-02T01:33:26.676-07:00</updated><title type='text'>JBPM api terminologies with Alfresco</title><content type='html'>TASK : From here we can get the complete info related to the workflow&lt;br /&gt;&lt;br /&gt; For the each new workflow we start on any content we will have the WorkflowInstance.&lt;br /&gt;&lt;br /&gt;Each task assigned is considered to be WorkflowTask.&lt;br /&gt;&lt;br /&gt;Workflowdefinition has the details about the complete workflow version of it.&lt;br /&gt;&lt;br /&gt;WorkflowTaskDefinition it will have the details about the paerticular task assigned to user&lt;br /&gt;at this point of time&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The task Id is::::jbpm$20&lt;br /&gt;Workflow Instance id is:::jbpm$7&lt;br /&gt;Task: WorkflowTask[id=jbpm$20,title=Review,state=IN_PROGRESS,props=18,def=WorkflowTaskDefinition[id=wf:reviewTask,metadata=ClassDef[name={http://www.alfresco.org/model/workflow/1.0}reviewTask]],path=WorkflowPath[id=jbpm$7-@review.0,instance=WorkflowInstance[id=jbpm$7,active=true,def=WorkflowDefinition[id=jbpm$4,name=jbpm$wf:parallelreview,version=1,title=Parallel Review &amp;amp; Approve,startTask=WorkflowTaskDefinition[id=wf:submitParallelReviewTask,metadata=ClassDef[name={http://www.alfresco.org/model/workflow/1.0}submitParallelReviewTask]]]],active=true,node=WorkflowNode[title=review,type=TaskNode,transitions={'WorkflowTransition[id=approve,title=Approve]','WorkflowTransition[id=reject,title=Reject]'}]]]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-6947958339367254233?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/6947958339367254233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/08/jbpm-api-terminologies-with-alfresco.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/6947958339367254233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/6947958339367254233'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/08/jbpm-api-terminologies-with-alfresco.html' title='JBPM api terminologies with Alfresco'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-7785869543334622451</id><published>2011-07-05T19:53:00.000-07:00</published><updated>2011-07-06T08:50:43.585-07:00</updated><title type='text'>Technologies used in Alfresco</title><content type='html'>1. Java&lt;br /&gt;2. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;JSF&lt;/span&gt;&lt;br /&gt;3. Spring &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;IOC&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;AOP&lt;/span&gt;&lt;br /&gt;4. Spring Surf&lt;br /&gt;5.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;WebServices&lt;/span&gt;&lt;br /&gt;6.Hibernate/iBatis&lt;br /&gt;7.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;DOJO&lt;/span&gt; Javascript&lt;br /&gt;8.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;YUI&lt;/span&gt; Scripting&lt;br /&gt;9.XSLT&lt;br /&gt;10.XML and XSD&lt;br /&gt;&lt;br /&gt;We need not have depth knowledge about the above mentioned technologies. To make the changes in out of the box functionalities ,we need to make configuration  changes in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;xml&lt;/span&gt; files.&lt;br /&gt;But if you are familiar with these technologies  custom development becomes faster.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-7785869543334622451?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/7785869543334622451/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/07/technologies-used-in-alfresco.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/7785869543334622451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/7785869543334622451'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/07/technologies-used-in-alfresco.html' title='Technologies used in Alfresco'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-8823007292357483483</id><published>2011-06-26T22:58:00.000-07:00</published><updated>2011-06-26T22:59:25.014-07:00</updated><title type='text'>Alfresco share Development</title><content type='html'>The below log url is having a lot of information related to the Alfresco share development&lt;br /&gt;&lt;br /&gt;http://blogs.alfresco.com/wp/kevinr/2010/04/07/developer-tips-for-alfresco-share-33/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-8823007292357483483?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/8823007292357483483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/06/alfresco-share-development.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/8823007292357483483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/8823007292357483483'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/06/alfresco-share-development.html' title='Alfresco share Development'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-4151451390037609787</id><published>2011-06-15T00:09:00.000-07:00</published><updated>2011-06-15T00:17:22.831-07:00</updated><title type='text'>Debugging  with Alfresco</title><content type='html'>Do the following settings&lt;br /&gt;&lt;br /&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin:0in;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:10.0pt;  font-family:"Times New Roman","serif";} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal" style="margin-top:0in;margin-right:-.5in;margin-bottom:0in; margin-left:0in;margin-bottom:.0001pt;text-indent:-.25in;mso-list:l0 level1 lfo1; tab-stops:list 0in"&gt;&lt;span style="mso-list:Ignore"&gt;1)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;     1.  &lt;/span&gt;&lt;/span&gt;Open Catalina.bat [C:\Alfresco\tomcat\bin], find “DEBUG_OPTS=” and add following line..&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-top:0in;margin-right:-.5in;margin-bottom:0in; margin-left:-.25in;margin-bottom:.0001pt;text-indent:.25in"&gt;set DEBUG_OPTS=&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in -0.5in 0.0001pt -0.25in; text-indent: 0.25in;"&gt;-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8888&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in -0.5in 0.0001pt -0.25in; text-indent: 0.25in;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in -0.5in 0.0001pt -0.25in; text-indent: 0.25in;"&gt;2. Put the same port as the debug port in eclipse.&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in -0.5in 0.0001pt -0.25in; text-indent: 0.25in;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-top:0in;margin-right:-.5in;margin-bottom:0in; margin-left:-.25in;margin-bottom:.0001pt;text-indent:.25in"&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-4151451390037609787?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/4151451390037609787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/06/debugging-with-alfresco.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/4151451390037609787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/4151451390037609787'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/06/debugging-with-alfresco.html' title='Debugging  with Alfresco'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-640975672325442921</id><published>2011-05-30T07:18:00.000-07:00</published><updated>2011-05-30T07:19:01.528-07:00</updated><title type='text'>CIFS Alfresco</title><content type='html'>The logic behind the implementation of CIFS as written below&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt; * Copyright (C) 2005-2010 Alfresco Software Limited.&lt;br /&gt; *&lt;br /&gt; * This file is part of Alfresco&lt;br /&gt; *&lt;br /&gt; * Alfresco is free software: you can redistribute it and/or modify&lt;br /&gt; * it under the terms of the GNU Lesser General Public License as published by&lt;br /&gt; * the Free Software Foundation, either version 3 of the License, or&lt;br /&gt; * (at your option) any later version.&lt;br /&gt; *&lt;br /&gt; * Alfresco is distributed in the hope that it will be useful,&lt;br /&gt; * but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt; * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt; * GNU Lesser General Public License for more details.&lt;br /&gt; *&lt;br /&gt; * You should have received a copy of the GNU Lesser General Public License&lt;br /&gt; * along with Alfresco. If not, see &lt;http: org="" licenses=""&gt;. */&lt;br /&gt;/**&lt;br /&gt; *&lt;br /&gt; */&lt;br /&gt;package org.alfresco.filesys.util;&lt;br /&gt;&lt;br /&gt;import java.util.HashMap;&lt;br /&gt;import java.util.Map;&lt;br /&gt;&lt;br /&gt;import org.alfresco.jlan.util.Platform;&lt;br /&gt;import org.alfresco.util.exec.RuntimeExec;&lt;br /&gt;import org.alfresco.util.exec.RuntimeExec.ExecutionResult;&lt;br /&gt;import org.apache.commons.logging.Log;&lt;br /&gt;import org.apache.commons.logging.LogFactory;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * CIFS Mounter Class&lt;br /&gt; *&lt;br /&gt; * &lt;p&gt;Mount/map a network drive taking care of platform differences.&lt;br /&gt; *&lt;br /&gt; * @author gkspencer&lt;br /&gt; */&lt;br /&gt;public class CifsMounter {&lt;br /&gt;&lt;br /&gt;    // Debug logging&lt;br /&gt;   &lt;br /&gt;    private static final Log logger = LogFactory.getLog( CifsMounter.class);&lt;br /&gt;   &lt;br /&gt;    // Protocol type constants&lt;br /&gt;   &lt;br /&gt;    public static final int Default         = 0;&lt;br /&gt;    public static final int NetBIOS            = 1;&lt;br /&gt;    public static final int NativeSMB        = 2;&lt;br /&gt;    public static final int Win32NetBIOS    = 3;&lt;br /&gt;   &lt;br /&gt;    // Windows mount/unmount commands&lt;br /&gt;   &lt;br /&gt;    private static final String WindowsMountCmd     = "net use ${drive} \\\\${srvname}\\${sharename} ${password} /USER:${username}";&lt;br /&gt;    private static final String WindowsUnMountCmd    = "net use ${drive} /d";&lt;br /&gt;&lt;br /&gt;    // Linux mount/unmount commands&lt;br /&gt;&lt;br /&gt;    private static final String LinuxMountSmbfsCmd    = "mount -t smbfs //${srvname}/${sharename} ${mountpoint} -o username=${username},password=${password}";&lt;br /&gt;    private static final String LinuxMountCifsCmd    = "mount -t cifs  //${srvname}/${sharename} ${mountpoint} -o username=${username},password=${password}";&lt;br /&gt;    private static final String LinuxMountCifsNBCmd = "mount.cifs //${srvname}/${sharename} ${mountpoint} -o servern=${srvname},port=139,username=${username},password=${password}";&lt;br /&gt;    private static final String LinuxUnMountCmd        = "umount ${mountpoint}";&lt;br /&gt;&lt;br /&gt;    // Mac OS X mount/unmount commands&lt;br /&gt;   &lt;br /&gt;    private static final String MacOSXMountCmd        = "mount_smbfs -U ${username} //${password}@${srvname}/${sharename} ${mountpoint}";&lt;br /&gt;    private static final String MacOSXUnMountCmd    = "umount ${mountpoint}";&lt;br /&gt;   &lt;br /&gt;    // Server name and share name&lt;br /&gt;   &lt;br /&gt;    private String m_srvName;&lt;br /&gt;    private String m_shareName;&lt;br /&gt;   &lt;br /&gt;    // Server address&lt;br /&gt;   &lt;br /&gt;    private String m_srvAddr;&lt;br /&gt;   &lt;br /&gt;    // Access details for remote share&lt;br /&gt;   &lt;br /&gt;    private String m_userName;&lt;br /&gt;    private String m_password;&lt;br /&gt;   &lt;br /&gt;    // Protocol to use for connection (non Windows platforms)&lt;br /&gt;   &lt;br /&gt;    private int m_protocolType = Default;&lt;br /&gt;   &lt;br /&gt;    // Port to connect on (non Windows platforms)&lt;br /&gt;   &lt;br /&gt;    private int m_port;&lt;br /&gt;   &lt;br /&gt;    /**&lt;br /&gt;     * Default constructor&lt;br /&gt;     */&lt;br /&gt;    public CifsMounter()&lt;br /&gt;    {&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    /**&lt;br /&gt;     * Class constructor&lt;br /&gt;     *&lt;br /&gt;     * @param srvName String&lt;br /&gt;     * @param shareName String&lt;br /&gt;     * @param userName String&lt;br /&gt;     * @param password String&lt;br /&gt;     */&lt;br /&gt;    public CifsMounter(String srvName, String shareName, String userName, String password)&lt;br /&gt;    {&lt;br /&gt;        setServerName( srvName);&lt;br /&gt;        setShareName( shareName);&lt;br /&gt;       &lt;br /&gt;        setUserName( userName);&lt;br /&gt;        setPassword( password);&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    /**&lt;br /&gt;     * Mount a remote CIFS shared filesystem&lt;br /&gt;     *&lt;br /&gt;     * @param driveLetter String&lt;br /&gt;     * @param mountPoint String&lt;br /&gt;     * @exception CifsMountException&lt;br /&gt;     */&lt;br /&gt;    public void mountFilesystem( String driveLetter, String mountPoint)&lt;br /&gt;        throws CifsMountException&lt;br /&gt;    {&lt;br /&gt;        // Create the command line launcher&lt;br /&gt;       &lt;br /&gt;        RuntimeExec exec = new RuntimeExec();&lt;br /&gt;&lt;br /&gt;        // Create the command map and properties&lt;br /&gt;       &lt;br /&gt;        Map&lt;string, string=""&gt; commandMap = new HashMap&lt;string, string=""&gt;( 1);&lt;br /&gt;        Map&lt;string, string=""&gt; defProperties = new HashMap&lt;string, string=""&gt;( 10);&lt;br /&gt;       &lt;br /&gt;        // Determine the platform type and build the appropriate command line string&lt;br /&gt;       &lt;br /&gt;        Platform.Type platform = Platform.isPlatformType();&lt;br /&gt;       &lt;br /&gt;        switch ( platform)&lt;br /&gt;        {&lt;br /&gt;        // Windows&lt;br /&gt;       &lt;br /&gt;        case WINDOWS:&lt;br /&gt;            commandMap.put( "Windows.*", WindowsMountCmd);&lt;br /&gt;            break;&lt;br /&gt;           &lt;br /&gt;        // Linux&lt;br /&gt;           &lt;br /&gt;        case LINUX:&lt;br /&gt;           &lt;br /&gt;            // Check the protocol type of the CIFS server&lt;br /&gt;           &lt;br /&gt;            if ( isProtocolType() == NativeSMB || isProtocolType() == Default)&lt;br /&gt;            {&lt;br /&gt;                // Use the CIFS VFS mounter to connect using native SMB&lt;br /&gt;               &lt;br /&gt;                StringBuilder cmd = new StringBuilder( LinuxMountCifsCmd);&lt;br /&gt;                if ( getProtocolPort() != 0)&lt;br /&gt;                {&lt;br /&gt;                    cmd.append( ",port=");&lt;br /&gt;                    cmd.append( getProtocolPort());&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                // Set the command line&lt;br /&gt;               &lt;br /&gt;                commandMap.put( "Linux", cmd.toString());&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;                // Set the command line to use the CIFS VFS mounter to connect using NetBIOS&lt;br /&gt;               &lt;br /&gt;                StringBuilder cmd = new StringBuilder( LinuxMountCifsNBCmd);&lt;br /&gt;               &lt;br /&gt;                if ( getServerAddress() != null)&lt;br /&gt;                {&lt;br /&gt;                    cmd.append( ",ip=");&lt;br /&gt;                    cmd.append( getServerAddress());&lt;br /&gt;                }&lt;br /&gt;               &lt;br /&gt;                // Set the command line&lt;br /&gt;               &lt;br /&gt;                commandMap.put( "Linux", cmd.toString());&lt;br /&gt;            }&lt;br /&gt;            break;&lt;br /&gt;           &lt;br /&gt;        // Mac OS X&lt;br /&gt;           &lt;br /&gt;        case MACOSX:&lt;br /&gt;            commandMap.put( "Mac OS X", MacOSXMountCmd);&lt;br /&gt;            break;&lt;br /&gt;        }&lt;br /&gt;       &lt;br /&gt;        // Set the command map&lt;br /&gt;       &lt;br /&gt;        exec.setCommandMap( commandMap);&lt;br /&gt;       &lt;br /&gt;        // Build the command line properties list&lt;br /&gt;       &lt;br /&gt;        defProperties.put( "drive", driveLetter);&lt;br /&gt;        defProperties.put( "srvname", getServerName());&lt;br /&gt;        defProperties.put( "sharename", getShareName());&lt;br /&gt;        defProperties.put( "username", getUserName());&lt;br /&gt;        defProperties.put( "password", getPassword());&lt;br /&gt;        defProperties.put( "mountpoint", mountPoint);&lt;br /&gt;       &lt;br /&gt;        exec.setDefaultProperties(defProperties);&lt;br /&gt;       &lt;br /&gt;        // Get the command to be used on this platform&lt;br /&gt;&lt;br /&gt;        if ( logger.isDebugEnabled())&lt;br /&gt;            logger.debug( "Mount CIFS share, cmdLine=" + exec.getCommand());&lt;br /&gt;       &lt;br /&gt;        // Run the command&lt;br /&gt;       &lt;br /&gt;        ExecutionResult execRes = exec.execute();&lt;br /&gt;       &lt;br /&gt;        if ( logger.isDebugEnabled())&lt;br /&gt;            logger.debug( "Mount result=" + execRes);&lt;br /&gt;       &lt;br /&gt;        // Check if the command was successful&lt;br /&gt;       &lt;br /&gt;        if ( execRes.getSuccess() == false)&lt;br /&gt;            throw new CifsMountException( execRes.getExitValue(), execRes.getStdOut(), execRes.getStdErr());&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    /**&lt;br /&gt;     * Unmount a remote CIFS shared filesystem&lt;br /&gt;     *&lt;br /&gt;     * @param driveLetter String&lt;br /&gt;     * @param mountPoint String&lt;br /&gt;     * @exception CifsMountException&lt;br /&gt;     */&lt;br /&gt;    public void unmountFilesystem( String driveLetter, String mountPoint)&lt;br /&gt;        throws CifsMountException&lt;br /&gt;    {&lt;br /&gt;        // Create the command line launcher&lt;br /&gt;       &lt;br /&gt;        RuntimeExec exec = new RuntimeExec();&lt;br /&gt;&lt;br /&gt;        // Create the command map and properties&lt;br /&gt;       &lt;br /&gt;        Map&lt;string, string=""&gt; commandMap = new HashMap&lt;string, string=""&gt;( 1);&lt;br /&gt;        Map&lt;string, string=""&gt; defProperties = new HashMap&lt;string, string=""&gt;( 10);&lt;br /&gt;       &lt;br /&gt;        // Determine the platform type and build the appropriate command line string&lt;br /&gt;       &lt;br /&gt;        Platform.Type platform = Platform.isPlatformType();&lt;br /&gt;       &lt;br /&gt;        switch ( platform)&lt;br /&gt;        {&lt;br /&gt;        // Windows&lt;br /&gt;       &lt;br /&gt;        case WINDOWS:&lt;br /&gt;            commandMap.put( "Windows.*", WindowsUnMountCmd);&lt;br /&gt;            break;&lt;br /&gt;           &lt;br /&gt;        // Linux&lt;br /&gt;           &lt;br /&gt;        case LINUX:&lt;br /&gt;            commandMap.put( "Linux", LinuxUnMountCmd);&lt;br /&gt;            break;&lt;br /&gt;           &lt;br /&gt;        // Mac OS X&lt;br /&gt;           &lt;br /&gt;        case MACOSX:&lt;br /&gt;            commandMap.put( "Mac OS X", MacOSXUnMountCmd);&lt;br /&gt;            break;&lt;br /&gt;        }&lt;br /&gt;       &lt;br /&gt;        // Set the command map&lt;br /&gt;       &lt;br /&gt;        exec.setCommandMap( commandMap);&lt;br /&gt;       &lt;br /&gt;        // Build the command line properties list&lt;br /&gt;       &lt;br /&gt;        defProperties.put( "drive", driveLetter);&lt;br /&gt;        defProperties.put( "mountpoint", mountPoint);&lt;br /&gt;       &lt;br /&gt;        exec.setDefaultProperties(defProperties);&lt;br /&gt;       &lt;br /&gt;        // Get the command to be used on this platform&lt;br /&gt;&lt;br /&gt;        if ( logger.isDebugEnabled())&lt;br /&gt;            logger.debug( "UnMount CIFS share, cmdLine=" + exec.getCommand());&lt;br /&gt;       &lt;br /&gt;        // Run the command&lt;br /&gt;       &lt;br /&gt;        ExecutionResult execRes = exec.execute();&lt;br /&gt;       &lt;br /&gt;        if ( logger.isDebugEnabled())&lt;br /&gt;            logger.debug( "UnMount result=" + execRes);&lt;br /&gt;       &lt;br /&gt;        // Check if the command was successful&lt;br /&gt;       &lt;br /&gt;        if ( execRes.getSuccess() == false)&lt;br /&gt;            throw new CifsMountException( execRes.getExitValue(), execRes.getStdOut(), execRes.getStdErr());&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    /**&lt;br /&gt;     * Return the server name&lt;br /&gt;     *&lt;br /&gt;     * @return String&lt;br /&gt;     */&lt;br /&gt;    public final String getServerName()&lt;br /&gt;    {&lt;br /&gt;        return m_srvName;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * Return hte server address&lt;br /&gt;     *&lt;br /&gt;     * @return String&lt;br /&gt;     */&lt;br /&gt;    public final String getServerAddress()&lt;br /&gt;    {&lt;br /&gt;        return m_srvAddr;&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    /**&lt;br /&gt;     * Return the share name&lt;br /&gt;     *&lt;br /&gt;     * @return String&lt;br /&gt;     */&lt;br /&gt;    public final String getShareName()&lt;br /&gt;    {&lt;br /&gt;        return m_shareName;&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    /**&lt;br /&gt;     * Return the user name&lt;br /&gt;     *&lt;br /&gt;     * @return String&lt;br /&gt;     */&lt;br /&gt;    public final String getUserName()&lt;br /&gt;    {&lt;br /&gt;        return m_userName;&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    /**&lt;br /&gt;     * Return the password&lt;br /&gt;     *&lt;br /&gt;     * @return String&lt;br /&gt;     */&lt;br /&gt;    public final String getPassword()&lt;br /&gt;    {&lt;br /&gt;        return m_password;&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    /**&lt;br /&gt;     * Return the protocol type&lt;br /&gt;     *&lt;br /&gt;     * @return int&lt;br /&gt;     */&lt;br /&gt;    public final int isProtocolType()&lt;br /&gt;    {&lt;br /&gt;        return m_protocolType;&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    /**&lt;br /&gt;     * Return the protocol port&lt;br /&gt;     *&lt;br /&gt;     * @return int&lt;br /&gt;     */&lt;br /&gt;    public final int getProtocolPort()&lt;br /&gt;    {&lt;br /&gt;        return m_port;&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    /**&lt;br /&gt;     * Set the server name&lt;br /&gt;     *&lt;br /&gt;     * @param name String&lt;br /&gt;     */&lt;br /&gt;    public final void setServerName(String name)&lt;br /&gt;    {&lt;br /&gt;        m_srvName = name;&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    /**&lt;br /&gt;     * Set the server address&lt;br /&gt;     *&lt;br /&gt;     * @param srvAddr String&lt;br /&gt;     */&lt;br /&gt;    public final void setServerAddress(String srvAddr)&lt;br /&gt;    {&lt;br /&gt;        m_srvAddr = srvAddr;&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    /**&lt;br /&gt;     * Set the share name&lt;br /&gt;     *&lt;br /&gt;     * @param name String&lt;br /&gt;     */&lt;br /&gt;    public final void setShareName(String name)&lt;br /&gt;    {&lt;br /&gt;        m_shareName = name;&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    /**&lt;br /&gt;     * Set the user name&lt;br /&gt;     *&lt;br /&gt;     * @param user String&lt;br /&gt;     */&lt;br /&gt;    public final void setUserName(String user)&lt;br /&gt;    {&lt;br /&gt;        m_userName = user;&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    /**&lt;br /&gt;     * Set the password&lt;br /&gt;     *&lt;br /&gt;     * @param password String&lt;br /&gt;     */&lt;br /&gt;    public final void setPassword(String password)&lt;br /&gt;    {&lt;br /&gt;        m_password = password;&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    /**&lt;br /&gt;     * Set the protocol type to use&lt;br /&gt;     *&lt;br /&gt;     * @param proto int&lt;br /&gt;     */&lt;br /&gt;    public final void setProtocolType(int proto)&lt;br /&gt;    {&lt;br /&gt;        m_protocolType = proto;&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    /**&lt;br /&gt;     * Set the port to use for the connection&lt;br /&gt;     *&lt;br /&gt;     * @param port int&lt;br /&gt;     */&lt;br /&gt;    public final void setProtocolPort(int port)&lt;br /&gt;    {&lt;br /&gt;        m_port = port;&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    /**&lt;br /&gt;     * Return the CIFS mounter as a string&lt;br /&gt;     *&lt;br /&gt;     * @return String&lt;br /&gt;     */&lt;br /&gt;    public String toString()&lt;br /&gt;    {&lt;br /&gt;        StringBuilder str = new StringBuilder();&lt;br /&gt;       &lt;br /&gt;        str.append( "[\\\\");&lt;br /&gt;        str.append( getServerName());&lt;br /&gt;        str.append( "\\");&lt;br /&gt;        str.append( getShareName());&lt;br /&gt;        str.append( ",");&lt;br /&gt;        str.append( getUserName());&lt;br /&gt;        str.append( ",");&lt;br /&gt;        str.append( getPassword());&lt;br /&gt;       &lt;br /&gt;        if ( isProtocolType() != Default)&lt;br /&gt;        {&lt;br /&gt;            str.append( " (");&lt;br /&gt;            if ( isProtocolType() == NetBIOS)&lt;br /&gt;                str.append ( "NetBIOS");&lt;br /&gt;            else if ( isProtocolType() == NativeSMB)&lt;br /&gt;                str.append( "NativeSMB");&lt;br /&gt;            else if ( isProtocolType() == Win32NetBIOS)&lt;br /&gt;                str.append( "Win32NetBIOS");&lt;br /&gt;           &lt;br /&gt;            if ( getProtocolPort() != 0)&lt;br /&gt;            {&lt;br /&gt;                str.append( ",");&lt;br /&gt;                str.append( getProtocolPort());&lt;br /&gt;            }&lt;br /&gt;            str.append( ")");&lt;br /&gt;        }&lt;br /&gt;        str.append( "]");&lt;br /&gt;       &lt;br /&gt;        return str.toString();&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/string,&gt;&lt;/string,&gt;&lt;/string,&gt;&lt;/string,&gt;&lt;/string,&gt;&lt;/string,&gt;&lt;/string,&gt;&lt;/string,&gt;&lt;/p&gt;&lt;/http:&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-640975672325442921?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/640975672325442921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/05/cifs-alfresco.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/640975672325442921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/640975672325442921'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/05/cifs-alfresco.html' title='CIFS Alfresco'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-4761293726737093916</id><published>2011-05-27T10:25:00.000-07:00</published><updated>2011-05-27T10:32:01.119-07:00</updated><title type='text'>Axis2 in Liferay portlet</title><content type='html'>Even though Liferay is coming up with the Axis1 jars we can have the system that works in the&lt;br /&gt;portlet with Axis2.&lt;br /&gt;&lt;br /&gt;The importan thing is along with the library depedndency jars we need to add the below jars&lt;br /&gt;activation-1.1&lt;br /&gt;antlr-2.7.7&lt;br /&gt;axiom-api-1.2.10&lt;br /&gt;axiom-dom-1.2.10&lt;br /&gt;axiom-impl-1.2.10&lt;br /&gt;axis2-adb-1.5.4&lt;br /&gt;axis2-adb-codegen-1.5.4&lt;br /&gt;axis2-ant-plugin-1.5.4&lt;br /&gt;axis2-clustering-1.5.4&lt;br /&gt;axis2-codegen-1.5.4&lt;br /&gt;axis2-corba-1.5.4&lt;br /&gt;axis2-fastinfoset-1.5.4&lt;br /&gt;axis2-java2wsdl-1.5.4&lt;br /&gt;axis2-jaxbri-1.5.4&lt;br /&gt;axis2-jaxws-1.5.4&lt;br /&gt;axis2-jibx-1.5.4&lt;br /&gt;axis2-json-1.5.4&lt;br /&gt;axis2-kernel-1.5.4&lt;br /&gt;axis2-metadata-1.5.4&lt;br /&gt;axis2-mtompolicy-1.5.4&lt;br /&gt;axis2-saaj-1.5.4&lt;br /&gt;axis2-soapmonitor-servlet-1.5.4&lt;br /&gt;axis2-spring-1.5.4&lt;br /&gt;axis2-transport-http-1.5.4&lt;br /&gt;axis2-transport-local-1.5.4&lt;br /&gt;axis2-xmlbeans-1.5.4&lt;br /&gt;commons-codec-1.3&lt;br /&gt;commons-fileupload-1.2&lt;br /&gt;commons-httpclient-3.1&lt;br /&gt;commons-io-1.4&lt;br /&gt;commons-logging-1.1.1&lt;br /&gt;geronimo-stax-api_1.0_spec-1.0.1&lt;br /&gt;httpcore-4.0&lt;br /&gt;log4j-1.2.15&lt;br /&gt;mail-1.4&lt;br /&gt;neethi-2.0.4&lt;br /&gt;woden-api-1.0M8&lt;br /&gt;woden-impl-dom-1.0M8&lt;br /&gt;wsdl4j-1.6.2&lt;br /&gt;wstx-asl-3.2.9&lt;br /&gt;xmlbeans-2.3.0&lt;br /&gt;XmlSchema-1.4.3&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The class will be as below&lt;br /&gt;&lt;br /&gt;package com.test;&lt;br /&gt;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;&lt;br /&gt;import javax.portlet.GenericPortlet;&lt;br /&gt;import javax.portlet.PortletException;&lt;br /&gt;import javax.portlet.PortletRequestDispatcher;&lt;br /&gt;import javax.portlet.RenderRequest;&lt;br /&gt;import javax.portlet.RenderResponse;&lt;br /&gt;&lt;br /&gt;import sample.axisversion.ExceptionException;&lt;br /&gt;import sample.axisversion.VersionStub;&lt;br /&gt;import sample.axisversion.VersionStub.GetVersionResponse;&lt;br /&gt;&lt;br /&gt;import com.liferay.portal.kernel.log.Log;&lt;br /&gt;import com.liferay.portal.kernel.log.LogFactoryUtil;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * Portlet implementation class NewPortlet&lt;br /&gt; */&lt;br /&gt;public class NewPortlet extends GenericPortlet {&lt;br /&gt;&lt;br /&gt;    public void init() {&lt;br /&gt;        viewJSP = getInitParameter("view-jsp");&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    public void doView(&lt;br /&gt;            RenderRequest renderRequest, RenderResponse renderResponse)&lt;br /&gt;        throws IOException, PortletException {&lt;br /&gt;       &lt;br /&gt;        System.out.println("**********View method of NewPortlet ******************8");&lt;br /&gt;       &lt;br /&gt;        VersionStub versionStub  = new VersionStub();&lt;br /&gt;       &lt;br /&gt;        GetVersionResponse response;&lt;br /&gt;        try {&lt;br /&gt;            response = versionStub.getVersion();&lt;br /&gt;            System.out.println("**************Return::::"+response.get_return());&lt;br /&gt;           &lt;br /&gt;           &lt;br /&gt;           &lt;br /&gt;        } catch (ExceptionException e) {&lt;br /&gt;            // TODO Auto-generated catch block&lt;br /&gt;            e.printStackTrace();&lt;br /&gt;        }&lt;br /&gt;       &lt;br /&gt;        include(viewJSP, renderRequest, renderResponse);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    protected void include(&lt;br /&gt;            String path, RenderRequest renderRequest,&lt;br /&gt;            RenderResponse renderResponse)&lt;br /&gt;        throws IOException, PortletException {&lt;br /&gt;&lt;br /&gt;        PortletRequestDispatcher portletRequestDispatcher =&lt;br /&gt;            getPortletContext().getRequestDispatcher(path);&lt;br /&gt;&lt;br /&gt;        if (portletRequestDispatcher == null) {&lt;br /&gt;            _log.error(path + " is not a valid include");&lt;br /&gt;        }&lt;br /&gt;        else {&lt;br /&gt;            portletRequestDispatcher.include(renderRequest, renderResponse);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    protected String viewJSP;&lt;br /&gt;&lt;br /&gt;    private static Log _log = LogFactoryUtil.getLog(NewPortlet.class);&lt;br /&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-4761293726737093916?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/4761293726737093916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/05/axis2-in-liferay-portlet.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/4761293726737093916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/4761293726737093916'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/05/axis2-in-liferay-portlet.html' title='Axis2 in Liferay portlet'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-5669674247388081388</id><published>2011-05-26T07:51:00.000-07:00</published><updated>2011-05-26T08:00:11.037-07:00</updated><title type='text'>Steps to use the WebService client in your Liferay portlet</title><content type='html'>1. Use the seperate tomcat instance to generate the stub classes from the&lt;br /&gt;   url&lt;br /&gt;2. Create the portlet in your sdk&lt;br /&gt;3. The lib folder of the portlet should have below jars&lt;br /&gt;axis.jar&lt;br /&gt;commons-discovery-0.2.jar&lt;br /&gt;jaxrpc.jar&lt;br /&gt;saaj.jar&lt;br /&gt;wsdl4j-1.5.1.jar&lt;br /&gt;4. Inside your portlet class we can write the logic to consume the service&lt;br /&gt;&lt;br /&gt;package com.cignex;&lt;br /&gt;&lt;br /&gt;import com.liferay.portal.kernel.log.Log;&lt;br /&gt;import com.liferay.portal.kernel.log.LogFactoryUtil;&lt;br /&gt;import com.liferay.portal.model.UserSoap;&lt;br /&gt;import com.liferay.portal.service.http.UserServiceSoap;&lt;br /&gt;import com.liferay.portal.service.http.UserServiceSoapServiceLocator;&lt;br /&gt;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.net.URL;&lt;br /&gt;&lt;br /&gt;import javax.portlet.GenericPortlet;&lt;br /&gt;import javax.portlet.PortletException;&lt;br /&gt;import javax.portlet.PortletRequestDispatcher;&lt;br /&gt;import javax.portlet.RenderRequest;&lt;br /&gt;import javax.portlet.RenderResponse;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * Portlet implementation class WebServiceConsumePortlet&lt;br /&gt; */&lt;br /&gt;public class WebServiceConsumePortlet extends GenericPortlet {&lt;br /&gt;&lt;br /&gt;    public void init() {&lt;br /&gt;        editJSP = getInitParameter("edit-jsp");&lt;br /&gt;        helpJSP = getInitParameter("help-jsp");&lt;br /&gt;        viewJSP = getInitParameter("view-jsp");&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    public void doEdit(&lt;br /&gt;            RenderRequest renderRequest, RenderResponse renderResponse)&lt;br /&gt;        throws IOException, PortletException {&lt;br /&gt;       &lt;br /&gt;        include(editJSP, renderRequest, renderResponse);&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    public void doHelp(&lt;br /&gt;            RenderRequest renderRequest, RenderResponse renderResponse)&lt;br /&gt;        throws IOException, PortletException {&lt;br /&gt;       &lt;br /&gt;        include(helpJSP, renderRequest, renderResponse);&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    public void doView(&lt;br /&gt;            RenderRequest renderRequest, RenderResponse renderResponse)&lt;br /&gt;        throws IOException, PortletException {&lt;br /&gt;   &lt;br /&gt;        System.out.println("Inside the doView mode************ service");&lt;br /&gt;       &lt;br /&gt;&lt;br /&gt;        try {&lt;br /&gt;           &lt;br /&gt;            System.out.println("service locator*************8");&lt;br /&gt;            UserServiceSoapServiceLocator locatorUser = new UserServiceSoapServiceLocator();&lt;br /&gt;            UserServiceSoap soapUser = locatorUser.getPortal_UserService(new URL("http://test:test@127.0.0.1:8080/tunnel-web/secure/axis/Portal_UserService"));&lt;br /&gt;           &lt;br /&gt;            //http://abc:abc@127.0.0.1:8080/tunnel-web/secure/axis/Portal_UserService&lt;br /&gt;            System.out.println("Calling from portlet");&lt;br /&gt;            if(null!=soapUser){&lt;br /&gt;                System.out.println("Inside soapUser not null*********");&lt;br /&gt;                 UserSoap soapUserModel =  soapUser.getUserById(10134);&lt;br /&gt;                 System.out.println(" getEmailAddress:" + soapUserModel.getEmailAddress());&lt;br /&gt;               &lt;br /&gt;            }&lt;br /&gt;          &lt;br /&gt;       } catch (Exception e) {&lt;br /&gt;          e.printStackTrace();&lt;br /&gt;       }&lt;br /&gt;   &lt;br /&gt;       &lt;br /&gt;        include(viewJSP, renderRequest, renderResponse);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    protected void include(&lt;br /&gt;            String path, RenderRequest renderRequest,&lt;br /&gt;            RenderResponse renderResponse)&lt;br /&gt;        throws IOException, PortletException {&lt;br /&gt;&lt;br /&gt;        PortletRequestDispatcher portletRequestDispatcher =&lt;br /&gt;            getPortletContext().getRequestDispatcher(path);&lt;br /&gt;&lt;br /&gt;        if (portletRequestDispatcher == null) {&lt;br /&gt;            _log.error(path + " is not a valid include");&lt;br /&gt;        }&lt;br /&gt;        else {&lt;br /&gt;            portletRequestDispatcher.include(renderRequest, renderResponse);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    protected String editJSP;&lt;br /&gt;    protected String helpJSP;&lt;br /&gt;    protected String viewJSP;&lt;br /&gt;&lt;br /&gt;    private static Log _log = LogFactoryUtil.getLog(WebServiceConsumePortlet.class);&lt;br /&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-5669674247388081388?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/5669674247388081388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/05/steps-to-use-webservice-client-in-your.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/5669674247388081388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/5669674247388081388'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/05/steps-to-use-webservice-client-in-your.html' title='Steps to use the WebService client in your Liferay portlet'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-3154818691432419224</id><published>2011-05-24T05:31:00.000-07:00</published><updated>2011-05-24T05:34:11.042-07:00</updated><title type='text'>Using Liferay WebServices</title><content type='html'>The wsdl url we can get it from&lt;br /&gt;http://127.0.0.1:8080/tunnel-web/secure/axis/Portal_UserService?wsdl&lt;br /&gt;&lt;br /&gt;by using the above url we can generate the skeleton classes in the eclipse.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The client code to access the url is as below&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;*/&lt;br /&gt;package com.cignex.test;&lt;br /&gt;&lt;br /&gt;import java.net.URL;&lt;br /&gt;&lt;br /&gt;import com.liferay.portal.model.UserSoap;&lt;br /&gt;import com.liferay.portal.service.http.UserServiceSoap;&lt;br /&gt;import com.liferay.portal.service.http.UserServiceSoapServiceLocator;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @author basanagowda.patil&lt;br /&gt;*&lt;br /&gt;*/&lt;br /&gt;public class LiferayUserServiceClient {&lt;br /&gt;&lt;br /&gt;   /**&lt;br /&gt;    * @param args&lt;br /&gt;    */&lt;br /&gt;   public static void main(String[] args) {&lt;br /&gt;       try {&lt;br /&gt;           UserServiceSoapServiceLocator locatorUser = new UserServiceSoapServiceLocator();&lt;br /&gt;           UserServiceSoap soapUser = locatorUser.getPortal_UserService(new URL("http://test:test@127.0.0.1:8080/tunnel-web/secure/axis/Portal_UserService"));&lt;br /&gt;         &lt;br /&gt;           //http://abc:abc@127.0.0.1:8080/tunnel-web/secure/axis/Portal_UserService&lt;br /&gt;         &lt;br /&gt;           if(null!=soapUser){&lt;br /&gt;               System.out.println("Inside soapUser not null*********");&lt;br /&gt;                UserSoap soapUserModel =  soapUser.getUserById(10134);&lt;br /&gt;                System.out.println(" getEmailAddress:" + soapUserModel.getEmailAddress());&lt;br /&gt;             &lt;br /&gt;           }&lt;br /&gt;        &lt;br /&gt;      } catch (Exception e) {&lt;br /&gt;         e.printStackTrace();&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-3154818691432419224?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/3154818691432419224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/05/using-liferay-webservices.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/3154818691432419224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/3154818691432419224'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/05/using-liferay-webservices.html' title='Using Liferay WebServices'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-7132147560668272018</id><published>2011-05-23T03:48:00.000-07:00</published><updated>2011-05-23T04:09:11.361-07:00</updated><title type='text'>Adding servlet in Liferay portlet</title><content type='html'>In the Web.xml you should have the below code mapping&lt;br /&gt;&lt;br /&gt;&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;br /&gt;&lt;web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"&gt;&lt;br /&gt;  &lt;display-name&gt;servlettest-portlet&lt;/display-name&gt;&lt;br /&gt;  &lt;welcome-file-list&gt;&lt;br /&gt;    &lt;welcome-file&gt;index.html&lt;/welcome-file&gt;&lt;br /&gt;    &lt;welcome-file&gt;index.htm&lt;/welcome-file&gt;&lt;br /&gt;    &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;&lt;br /&gt;    &lt;welcome-file&gt;default.html&lt;/welcome-file&gt;&lt;br /&gt;    &lt;welcome-file&gt;default.htm&lt;/welcome-file&gt;&lt;br /&gt;    &lt;welcome-file&gt;default.jsp&lt;/welcome-file&gt;&lt;br /&gt;  &lt;/welcome-file-list&gt;&lt;br /&gt;  &lt;br /&gt;  &lt;servlet&gt;&lt;br /&gt;  &lt;servlet-name&gt;testServlet&lt;/servlet-name&gt;&lt;br /&gt;  &lt;servlet-class&gt;com.liferay.portal.kernel.servlet.PortalDelegateServlet&lt;/servlet-class&gt;&lt;br /&gt;  &lt;init-param&gt;&lt;br /&gt;       &lt;param-name&gt;servlet-class&lt;/param-name&gt;&lt;br /&gt;       &lt;param-value&gt;com.aonehewit.servlet.TestServlet&lt;/param-value&gt;&lt;br /&gt;       &lt;/init-param&gt;&lt;br /&gt;     &lt;init-param&gt;&lt;br /&gt;       &lt;param-name&gt;sub-context&lt;/param-name&gt;&lt;br /&gt;       &lt;param-value&gt;testServlet&lt;/param-value&gt;&lt;br /&gt;     &lt;/init-param&gt;&lt;br /&gt; &lt;load-on-startup&gt;0&lt;/load-on-startup&gt;&lt;br /&gt; &lt;/servlet&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;servlet-mapping&gt;&lt;br /&gt;  &lt;servlet-name&gt;testServlet&lt;/servlet-name&gt;&lt;br /&gt;  &lt;url-pattern&gt;/testServlet/*&lt;/url-pattern&gt;&lt;br /&gt; &lt;/servlet-mapping&gt;&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;jsp-config&gt;&lt;br /&gt;   &lt;taglib&gt;&lt;br /&gt;    &lt;taglib-uri&gt;http://java.sun.com/portlet_2_0&lt;/taglib-uri&gt;&lt;br /&gt;    &lt;taglib-location&gt;&lt;br /&gt;     /WEB-INF/tld/liferay-portlet.tld&lt;br /&gt;    &lt;/taglib-location&gt;&lt;br /&gt;   &lt;/taglib&gt;&lt;br /&gt;  &lt;/jsp-config&gt;&lt;br /&gt;&lt;/web-app&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In the class you should have the below code&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * &lt;br /&gt; */&lt;br /&gt;package com.aonehewit.servlet;&lt;br /&gt;&lt;br /&gt;import com.liferay.portal.kernel.servlet.PortalDelegatorServlet;&lt;br /&gt;import com.liferay.portal.kernel.util.JavaConstants;&lt;br /&gt;import com.liferay.portal.kernel.util.WebKeys;&lt;br /&gt;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;&lt;br /&gt;import javax.portlet.PortletRequest;&lt;br /&gt;import javax.portlet.PortletResponse;&lt;br /&gt;import javax.servlet.ServletException;&lt;br /&gt;import javax.servlet.http.HttpServlet;&lt;br /&gt;import javax.servlet.http.HttpServletRequest;&lt;br /&gt;import javax.servlet.http.HttpServletResponse;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * @author basanagowda.patil&lt;br /&gt; *&lt;br /&gt; */&lt;br /&gt;public class TestServlet extends HttpServlet {&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt; @Override&lt;br /&gt; public void init() throws ServletException {&lt;br /&gt;  // TODO Auto-generated method stub&lt;br /&gt;  super.init();&lt;br /&gt;  System.out.println("Inside the init()  method****************8 of  TestServlet");&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; @Override&lt;br /&gt; protected void service(HttpServletRequest arg0, HttpServletResponse arg1)&lt;br /&gt;   throws ServletException, IOException {&lt;br /&gt;  System.out.println("Inside the service******************TestServlet");&lt;br /&gt;  super.service(arg0, arg1);&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; @Override&lt;br /&gt; protected void doGet(HttpServletRequest req, HttpServletResponse resp)&lt;br /&gt;   throws ServletException, IOException {&lt;br /&gt;  System.out.println("Inside the doGet method**********************888");&lt;br /&gt;  super.doGet(req, resp);&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; @Override&lt;br /&gt; protected void doPost(HttpServletRequest req, HttpServletResponse resp)&lt;br /&gt;   throws ServletException, IOException {&lt;br /&gt;  // TODO Auto-generated method stub&lt;br /&gt;  super.doPost(req, resp);&lt;br /&gt;  &lt;br /&gt;  System.out.println("Inside the Do post me thod:::::::::::::::::::");&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The url to access the servlet will be as below&lt;br /&gt;&lt;br /&gt;http://localhost:8080/&lt;span style="font-weight:bold;"&gt;delegate&lt;/span&gt;/testServlet&lt;br /&gt;&lt;br /&gt;Note : delegate is not a portlet it is another servlet which is used to invoke our servlet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-7132147560668272018?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/7132147560668272018/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/05/adding-servlet-in-liferay-portlet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/7132147560668272018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/7132147560668272018'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/05/adding-servlet-in-liferay-portlet.html' title='Adding servlet in Liferay portlet'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-6393350532432700422</id><published>2011-05-05T01:11:00.000-07:00</published><updated>2011-05-05T01:12:12.218-07:00</updated><title type='text'>Run Action flow in Alfresco</title><content type='html'>1. Run actionwizard&lt;br /&gt;2. actions.jsp&lt;br /&gt;3. When we click on setvalues and add then the seperate page &lt;br /&gt;   will be opened.&lt;br /&gt;4. From the page it will register the value to the corresonding executer &lt;br /&gt;  class.&lt;br /&gt;5. On the click of finish in The RunActionwizard ,finishImpl&lt;br /&gt; will find the corresponding bean handler and its executeIpl()&lt;br /&gt;will be called. that will be responsible for performing the &lt;br /&gt;operations&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-6393350532432700422?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/6393350532432700422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/05/run-action-flow-in-alfresco.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/6393350532432700422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/6393350532432700422'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/05/run-action-flow-in-alfresco.html' title='Run Action flow in Alfresco'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-8301992469546435571</id><published>2011-04-16T00:26:00.001-07:00</published><updated>2011-04-16T00:43:29.774-07:00</updated><title type='text'>WebLogic Server Terminologies</title><content type='html'>What is domain?&lt;br /&gt;The logically related group of WebLogic server instances managed from single set of configuration artifacts. DOmian will have the servers and the clusters.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What is server?&lt;br /&gt;It is the configured instance to host applications and resources. Server can be managed server or administraton server.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What is admin server?&lt;br /&gt;One domain will have one administration server. It will have the administration console. From the administration console we can start and stop the servers.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What is Managed Server?&lt;br /&gt;Each managed server is independent of other managed servers. There can be multiple managed servers in a domain.  Managed servers are managed by the administration server. Each managed server will have the local copy of the configuration. Managed server and the administration server will be in sync. If you make any changes to the managed server from the administartation server then that configuration will be moved to the Managed server.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What is Cluster?&lt;br /&gt;The group of managed servers  running simultaneously in a domain is called as Cluster. There can be multiple clusters in a single domain. All the servers within the cluster have to be at the same Maintenance pack level. The clustered servers can be in the same or different machines.&lt;br /&gt;&lt;br /&gt;What is Node Manager?&lt;br /&gt;It is not associated with any domain. It is the utility running on the server which enables to start ,stop and restart the server. It is required for the server Migration&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What is Machine?&lt;br /&gt;Machine is piece of hardware. In a machine we can have the multiple managed servers&lt;br /&gt;&lt;br /&gt;Administration tools&lt;br /&gt;1. Configuration Wizard. : For creating the domains&lt;br /&gt;2. Administration console : Complete administatration of the server is involved here.We can monitor dmains,deploy the applications and control the servers.The operation that can be performed on the admin console can be performed in the WLST i,e WebLogic Scripting Tool&lt;br /&gt;Along with these we can use the command line tools for the deployment.&lt;br /&gt;Weblogic.Deployer.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Conclusion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The best practice is to have the each manged server in its own physical server.Each application will have its own domain. Even the admin server have to be in its own phusical server.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-8301992469546435571?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/8301992469546435571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/04/weblogic-server-terminologies.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/8301992469546435571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/8301992469546435571'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/04/weblogic-server-terminologies.html' title='WebLogic Server Terminologies'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-6604153983385477741</id><published>2011-04-11T00:41:00.000-07:00</published><updated>2011-04-11T00:44:21.012-07:00</updated><title type='text'>Developing a portlet with multiple actions</title><content type='html'>In our portlet class we need not implement our functionalities using processAction(),&lt;br /&gt;We can write our own method actions.The name of the method can be whatever you want since you will be&lt;br /&gt;referring to it when creating the URL&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class MyGreetingPortlet extends MVCPortlet {&lt;br /&gt;public void setGreeting(&lt;br /&gt;ActionRequest actionRequest, ActionResponse actionResponse)&lt;br /&gt;throws IOException, PortletException {&lt;br /&gt;PortletPreferences prefs = actionRequest.getPreferences();&lt;br /&gt;String greeting = actionRequest.getParameter("greeting");&lt;br /&gt;if (greeting != null) {&lt;br /&gt;try {&lt;br /&gt;prefs.setValue("greeting", greeting);&lt;br /&gt;prefs.store();&lt;br /&gt;}&lt;br /&gt;catch(Exception e) {&lt;br /&gt;SessionErrors.add(actionRequest, "error");&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;SessionMessages.add(actionRequest, "success");&lt;br /&gt;}&lt;br /&gt;public void sendEmail(&lt;br /&gt;ActionRequest actionRequest, ActionResponse actionResponse)&lt;br /&gt;throws IOException, PortletException {&lt;br /&gt;// Add code here to send an email&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The jsp element to call this is as below&lt;br /&gt;&lt;blockquote&gt;&lt;portlet:actionURL var="editGreetingURL" name="setGreeting"&gt;&lt;br /&gt;&lt;portlet:param name="jspPage" value="/edit.jsp" /&gt;&lt;br /&gt;&lt;/portlet:actionURL&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-6604153983385477741?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/6604153983385477741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/04/developing-portlet-with-multiple.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/6604153983385477741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/6604153983385477741'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/04/developing-portlet-with-multiple.html' title='Developing a portlet with multiple actions'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-5111858622815051164</id><published>2011-04-10T23:39:00.000-07:00</published><updated>2011-04-11T00:00:19.293-07:00</updated><title type='text'>Passing information from the action phase to the render phase</title><content type='html'>Information can be passed from action phase to the render phase in 2 ways&lt;br /&gt;1. By setting the setRenderParameter in the processAction method&lt;br /&gt;2. Using the session&lt;br /&gt;&lt;br /&gt;1. BY setRenderParameter&lt;br /&gt;Within the implementaiton in the&lt;br /&gt;processAction method you can invoke the setRenderParameter to add a new parameter&lt;br /&gt;to the request that the render phase will be able to read:&lt;br /&gt;actionResponse.setRenderParameter("parameter-name", "value");&lt;br /&gt;From the render phase (in our case, the JSP), this value can be read using the&lt;br /&gt;regular parameter reading method:&lt;br /&gt;renderRequest.getParameter("parameter-name");&lt;br /&gt;&lt;br /&gt;It is important to be aware that when invoking an action URL, the parameters&lt;br /&gt;specified in the URL will only be readable from the action phase (that is the&lt;br /&gt;processAction method). In order to pass parameter values to the render phase you&lt;br /&gt;must read them from the actionRequest and then invoke the setRenderParameter&lt;br /&gt;method for each parameter needed.&lt;br /&gt;&lt;br /&gt;2. By using SessionMessages&lt;br /&gt;&lt;br /&gt;SessionMessages.add(actionRequest, "success");&lt;br /&gt;&lt;br /&gt;This is displayed in the jsp with the below tag&lt;br /&gt;&lt;liferay-ui:success key="success" message="Greeting saved successfully!" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-5111858622815051164?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/5111858622815051164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/04/passing-information-from-action-phase.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/5111858622815051164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/5111858622815051164'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/04/passing-information-from-action-phase.html' title='Passing information from the action phase to the render phase'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-3309672609135458458</id><published>2011-04-10T22:45:00.000-07:00</published><updated>2011-04-10T23:04:16.995-07:00</updated><title type='text'>Understanding the two phases of portlet execution: action and render</title><content type='html'>Action phase: The action phase can only be invoked for one portlet at a&lt;br /&gt;time and is usually the result of an user interaction with the portlet. In&lt;br /&gt;this phase the portlet can change its status, for instance changing the&lt;br /&gt;user preferences of the portlet. It is also recommended that any inserts&lt;br /&gt;and modifications in the database or operations that should not be&lt;br /&gt;repeated are performed in this phase.&lt;br /&gt;&lt;br /&gt;• Render phase: The render phase is always invoked for all portlets in&lt;br /&gt;the page after the action phase (which may or not exist). This includes&lt;br /&gt;the portlet that also had executed its action phase. It's important to&lt;br /&gt;note that the order in which the render phase of the portlets in a page&lt;br /&gt;gets executedis not guaranteed by the portlet specification. Liferay has&lt;br /&gt;an extension to the specification through the element render-weight in&lt;br /&gt;liferay-portlet.xml. Portlets with a higher render weight will be&lt;br /&gt;rendered before those with a lower value.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;renderURL: this is the type of URL that we have used so far. It invokes a&lt;br /&gt;portlet using only its render phase.&lt;br /&gt;&lt;br /&gt;• actionURL: this type of URL tells the portlet that it should execute its&lt;br /&gt;action phase before rendering all the portlets in the page.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-3309672609135458458?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/3309672609135458458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/04/understanding-two-phases-of-portlet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/3309672609135458458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/3309672609135458458'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/04/understanding-two-phases-of-portlet.html' title='Understanding the two phases of portlet execution: action and render'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-8051332457400409137</id><published>2011-04-10T03:51:00.000-07:00</published><updated>2011-04-10T22:31:54.394-07:00</updated><title type='text'>Exploring tlds</title><content type='html'>Liferay exposes some of the default objects this is been done from the tag&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;&lt;liferay-theme:defineobjects&gt;&lt;/h1&gt;&lt;br /&gt;&lt;br /&gt;and the corresponding class is  com.liferay.taglib.theme.DefineObjectsTag&lt;br /&gt;&lt;br /&gt;it exposes the objects like themeDisplay , layouts ,layout ,user ,theme etc&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;There is one more tag&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;portlet:defineobjects&gt;&lt;br /&gt;&lt;br /&gt;It exposes the class&lt;br /&gt;com.liferay.taglib.portlet.DefineObjectsTag&lt;br /&gt;&lt;br /&gt;It exposes the objects like  portletConfig , portletName , portletPreferences , portletPreferencesValues , portletSession , portletSessionScope and conditionally&lt;br /&gt;actionResponse, eventResponse, renderResponse, resourceResponse based on the phase.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;That is the reason we include these imports in all the pages.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/liferay-theme:defineobjects&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-8051332457400409137?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/8051332457400409137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/04/exploring-tlds.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/8051332457400409137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/8051332457400409137'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/04/exploring-tlds.html' title='Exploring tlds'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-9199755991576196736</id><published>2011-04-10T01:27:00.000-07:00</published><updated>2011-04-10T01:32:51.937-07:00</updated><title type='text'>Exploring Liferay Login Portlet</title><content type='html'>From this example we will know how to submit the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;portlet&lt;/span&gt;, how to read the parameters from the page. We will know some of the default objects of the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Liferay&lt;/span&gt; and how the values will be populated.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;ConfigurationActionImpl&lt;/span&gt; is responsible for the struts actions&lt;br /&gt;&lt;br /&gt;The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Liferay&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Portlet&lt;/span&gt; configuration is as below&lt;br /&gt;&lt;portlet&gt;&lt;br /&gt;&lt;portlet-name&gt;&lt;/portlet-name&gt;&lt;add-default-resource&gt;&lt;/add-default-resource&gt;&lt;portlet&gt;&lt;br /&gt;       &lt;portlet-name&gt;&lt;/portlet-name&gt;&lt;add-default-resource&gt;&lt;/add-default-resource&gt;&lt;portlet&gt;&lt;br /&gt;        &lt;portlet-name&gt;58&lt;/portlet-name&gt;&lt;br /&gt;        &lt;icon&gt;/html/icons/login.png&lt;/icon&gt;&lt;br /&gt;        &lt;struts-path&gt;login&lt;/struts-path&gt;&lt;br /&gt;        &lt;configuration-action-class&gt;com.liferay.portlet.login.action.ConfigurationActionImpl&lt;/configuration-action-class&gt;&lt;br /&gt;        &lt;use-default-template&gt;false&lt;/use-default-template&gt;&lt;br /&gt;        &lt;private-request-attributes&gt;false&lt;/private-request-attributes&gt;&lt;br /&gt;        &lt;private-session-attributes&gt;false&lt;/private-session-attributes&gt;&lt;br /&gt;        &lt;render-weight&gt;50&lt;/render-weight&gt;&lt;br /&gt;        &lt;header-portlet-css&gt;/html/portlet/login/css/main.jsp&lt;/header-portlet-css&gt;&lt;br /&gt;        &lt;css-class-wrapper&gt;portlet-login&lt;/css-class-wrapper&gt;&lt;br /&gt;        &lt;add-default-resource&gt;true&lt;/add-default-resource&gt;&lt;br /&gt;    &lt;/portlet&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The LoginAction will explain the basic concept of handling the parameters&lt;br /&gt;   &lt;/portlet&gt;&lt;br /&gt;&lt;/portlet&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-9199755991576196736?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/9199755991576196736/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/04/exploring-liferay-login-portlet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/9199755991576196736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/9199755991576196736'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/04/exploring-liferay-login-portlet.html' title='Exploring Liferay Login Portlet'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-4880751104301040079</id><published>2011-03-31T23:40:00.000-07:00</published><updated>2011-03-31T23:41:47.802-07:00</updated><title type='text'>Alfresco installation in Weblogic server</title><content type='html'>1. Download the .ear file and put it in c:\Alfresco and execute below commands for extraction&lt;br /&gt;mkdir alfresco&lt;br /&gt;cd alfresco&lt;br /&gt;jar xvf ../alfresco-enterprise-3.4.0.ear&lt;br /&gt;move alfresco.war alfresco.war.tmp&lt;br /&gt;move share.war share.war.tmp&lt;br /&gt;mkdir alfresco.war&lt;br /&gt;mkdir share.war&lt;br /&gt;cd alfresco.war&lt;br /&gt;jar xvf ../alfresco.war.tmp&lt;br /&gt;cd ../share.war&lt;br /&gt;jar xvf ../share.war.tmp&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-4880751104301040079?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/4880751104301040079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/03/alfresco-installation-in-weblogic.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/4880751104301040079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/4880751104301040079'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/03/alfresco-installation-in-weblogic.html' title='Alfresco installation in Weblogic server'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-1763554927789246593</id><published>2011-03-31T03:57:00.001-07:00</published><updated>2011-04-01T03:16:35.256-07:00</updated><title type='text'>WebLogic administration</title><content type='html'>System administration of WebLogic Server includes a wide range of tasks: creating WebLogic Server domains; deploying applications; migrating domains from development environments to production environments; monitoring and managing the performance of the run-time system; and diagnosing and troubleshooting problems. (&lt;span style="font-weight:bold;"&gt;A WebLogic Server domain is a collection of WebLogic Server services designed for a specific purpose. For example, you might create one domain to provide an employee portal and another domain to provide business services to your customers.)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;WebLogic Server provides several ways to start and stop server instances. The method that you choose depends on whether you prefer using a graphical or command-line interface, and on whether you are using the Node Manager to manage a server's life cycle.&lt;br /&gt;You can start a server instance on any computer on which WebLogic Server has been installed. The server's configuration information always resides in the domain's config.xml file, which is located on the computer that hosts the Administration Server. The first server instance you start in a domain assumes the role of Administration Server. Additional server instances assume the role of Managed Server.&lt;br /&gt;&lt;br /&gt;No matter how you start a server, the end result passes a set of configuration options to initialize a Java Virtual Machine (JVM). The server instance runs within the JVM, and the JVM can host only one server instance.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-1763554927789246593?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/1763554927789246593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/03/weblogic-administration.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/1763554927789246593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/1763554927789246593'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/03/weblogic-administration.html' title='WebLogic administration'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-5091887079363402763</id><published>2011-03-29T00:16:00.000-07:00</published><updated>2011-03-29T00:28:16.862-07:00</updated><title type='text'>Liferay Tags</title><content type='html'>Liferay portal tags are JavaServer Pages Standard Tag Library (JSTL) tags. Using Liferay tags has the following two benefits.&lt;br /&gt;&lt;br /&gt;You get a complicated feature with only one tag.&lt;br /&gt;Liferay UI tags have been tested. They do not introduce bugs. This saves testing time.&lt;br /&gt;&lt;br /&gt;They can be classified as below&lt;br /&gt;&lt;br /&gt;Alloy (AUI) tags&lt;br /&gt;Liferay portlet tags&lt;br /&gt;Liferay liferay-portlet tags&lt;br /&gt;Liferay security tags&lt;br /&gt;Liferay theme tags&lt;br /&gt;Liferay UI tags&lt;br /&gt;Liferay utility tags&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Liferay portlet tags&lt;br /&gt;&lt;portlet:defineObjects /&gt;&lt;br /&gt;com.liferay.taglib.portlet.DefineObjectsTag class is responsible for its interpretation. The result is that the following objects, among others, are set in&lt;br /&gt;the pageContext:&lt;br /&gt;renderRequest&lt;br /&gt;renderResponse&lt;br /&gt;portletPreferences&lt;br /&gt;In this way we can directly use these objects in our portlet JSP file coding&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;portlet:actionURL&lt;br /&gt;&lt;br /&gt;We can use the actionURL tag to dynamically generate a URL in our JSP file and&lt;br /&gt;use it, say, as an action URL for a form.&lt;br /&gt;&lt;br /&gt;&lt;portlet:actionURL var="editArticleActionURL"&gt;&lt;br /&gt;&lt;portlet:param name="struts_action" value="/journal/edit_article" /&gt;&lt;br /&gt;&lt;/portlet:actionURL&gt;&lt;br /&gt;This tag is interpreted by the com.liferay.taglib.portlet.ActionURLTag class. It generates an action URL string with page layout ID, portlet ID, portlet mode, window state, and layout information. It will also include a parameter name of struts_action with a value of /journal/edit_article. This URL is set as value for an editArticleActionURL variable. Eventually this variable is used as the&lt;br /&gt;action URL for a form as follows:&lt;br /&gt;&lt;aui:form action="&lt;%= editArticleActionURL %&gt;" enctype="multipart/form-data" method="post" name="fm1"&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-5091887079363402763?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/5091887079363402763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/03/liferay-tags.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/5091887079363402763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/5091887079363402763'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/03/liferay-tags.html' title='Liferay Tags'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-3774240935472445574</id><published>2011-03-28T09:54:00.001-07:00</published><updated>2011-03-28T09:54:58.278-07:00</updated><title type='text'>localization of Web Content in Liferay</title><content type='html'>Liferay has built-in support for localization of web contents in some of the out-of-box portlets such as Web Content portlet.&lt;br /&gt;A user needs to create a new article with contents in the default language first and save it. The user can then edit the article, select a different language in the Language drop down, and then add the localized content by using the WYSIWYG online editor.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-3774240935472445574?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/3774240935472445574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/03/localization-of-web-content-in-liferay.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/3774240935472445574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/3774240935472445574'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/03/localization-of-web-content-in-liferay.html' title='localization of Web Content in Liferay'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-3017262295564131081</id><published>2011-03-28T09:22:00.000-07:00</published><updated>2011-03-28T09:24:00.385-07:00</updated><title type='text'>Status command of  mysql</title><content type='html'>mysql&gt; create database lportal character set utf8 collate utf8_bin;&lt;br /&gt;mysql&gt; use lportal;&lt;br /&gt;mysql&gt; status;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The status comman will display the below details.&lt;br /&gt;mysql Ver 14.14 Distrib 5.1.44, for Win32 (ia32)&lt;br /&gt;Connection id: 3&lt;br /&gt;Current database: lportal&lt;br /&gt;Current user: root@localhost&lt;br /&gt;SSL: Not in use&lt;br /&gt;Using delimiter: ;&lt;br /&gt;Server version: 5.1.44-community MySQL Community Server (GPL)&lt;br /&gt;Protocol version: 10&lt;br /&gt;Connection: localhost via TCP/IP&lt;br /&gt;Styling Pages&lt;br /&gt;[ 100 ]&lt;br /&gt;Server characterset: utf8&lt;br /&gt;Db characterset: utf8&lt;br /&gt;Client characterset: utf8&lt;br /&gt;Conn. characterset: utf8&lt;br /&gt;TCP port: 3306&lt;br /&gt;Uptime: 45 min 51 sec&lt;br /&gt;Threads: 1 Questions: 12 Slow queries: 0 Opens: 15 Flush tables: 1 Open tables: 0 Queries per&lt;br /&gt;second avg: 0.4&lt;br /&gt;--------------&lt;br /&gt;mysql&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-3017262295564131081?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/3017262295564131081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/03/status-command-of-mysql.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/3017262295564131081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/3017262295564131081'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/03/status-command-of-mysql.html' title='Status command of  mysql'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-2485793356470692309</id><published>2011-03-28T06:09:00.001-07:00</published><updated>2011-03-28T06:09:27.860-07:00</updated><title type='text'>Getting CMISObject from nodeRef of Alfresco</title><content type='html'>/**&lt;br /&gt; * &lt;br /&gt; */&lt;br /&gt;package com.packtpub.a3ws.samples.chemistry;&lt;br /&gt;&lt;br /&gt;import java.util.HashMap;&lt;br /&gt;import java.util.List;&lt;br /&gt;import java.util.Map;&lt;br /&gt;&lt;br /&gt;import org.apache.chemistry.opencmis.client.api.Folder;&lt;br /&gt;import org.apache.chemistry.opencmis.client.api.ObjectId;&lt;br /&gt;import org.apache.chemistry.opencmis.client.api.Repository;&lt;br /&gt;import org.apache.chemistry.opencmis.client.api.Session;&lt;br /&gt;import org.apache.chemistry.opencmis.client.api.SessionFactory;&lt;br /&gt;import org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl;&lt;br /&gt;import org.apache.chemistry.opencmis.commons.SessionParameter;&lt;br /&gt;import org.apache.chemistry.opencmis.commons.enums.BindingType;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * @author basanagowda.patil&lt;br /&gt; * &lt;br /&gt; *  &lt;br /&gt; */&lt;br /&gt;public class GettingFolders {&lt;br /&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; private static Session getSession(String serverUrl, String username, String password) {&lt;br /&gt;  SessionFactory sessionFactory = SessionFactoryImpl.newInstance();&lt;br /&gt;  Map&lt;String, String&gt; params = new HashMap&lt;String, String&gt;();&lt;br /&gt;        params.put(SessionParameter.USER, username);&lt;br /&gt;        params.put(SessionParameter.PASSWORD, password);&lt;br /&gt;        params.put(SessionParameter.ATOMPUB_URL, serverUrl);&lt;br /&gt;        params.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value());&lt;br /&gt;        List&lt;Repository&gt; repos = sessionFactory.getRepositories(params);&lt;br /&gt;        if (repos.isEmpty()) {&lt;br /&gt;         throw new RuntimeException("Server has no repositories!");&lt;br /&gt;        }&lt;br /&gt;        return repos.get(0).createSession();&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; /**&lt;br /&gt;  * @param args&lt;br /&gt;  */&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; public static void main(String[] args) {&lt;br /&gt;  String serverUrl =  "http://localhost:8080/alfresco/service/cmis";&lt;br /&gt;  String username = "admin";&lt;br /&gt;  String password = "admin";&lt;br /&gt;  Session session = getSession(serverUrl, username, password);&lt;br /&gt;        Folder root = session.getRootFolder();&lt;br /&gt;        &lt;br /&gt;        System.out.println("The root folder is :::"+ root.getId());&lt;br /&gt;      &lt;br /&gt;        //Create the folder(Wiki, inside Wiki images) under CompanyHome&lt;br /&gt;        &lt;br /&gt;        Folder wikiImagesFolder = (Folder) session.getObjectByPath("/Wiki/images");&lt;br /&gt;        &lt;br /&gt;        System.out.println("Illustrating how to construct the CMISObject from the noderef");&lt;br /&gt;        System.out.println("The folder ref of the image created is::"+ wikiImagesFolder.getId());&lt;br /&gt;        ObjectId parentId = session.createObjectId(wikiImagesFolder.getId());        &lt;br /&gt;        Folder wikiImagesFolder1 = (Folder) session.getObject(parentId);&lt;br /&gt;        &lt;br /&gt;        System.out.println("Reconstructed the CMisobject from the nodeRef:::"+ wikiImagesFolder1.getId());&lt;br /&gt;       &lt;br /&gt;        &lt;br /&gt;        &lt;br /&gt;        &lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-2485793356470692309?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/2485793356470692309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/03/getting-cmisobject-from-noderef-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2485793356470692309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2485793356470692309'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/03/getting-cmisobject-from-noderef-of.html' title='Getting CMISObject from nodeRef of Alfresco'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-1637949347810251050</id><published>2011-03-28T06:01:00.000-07:00</published><updated>2011-03-28T06:02:55.184-07:00</updated><title type='text'>Alfresco CMIS support for Custom types</title><content type='html'>As of noe CMIS 1.0 spec does not support the custom content types used in alfresco.&lt;br /&gt;&lt;br /&gt;refer to the below link&lt;br /&gt;http://forums.alfresco.com/en/viewtopic.php?f=45&amp;t=37645&lt;br /&gt;&lt;br /&gt;Re: Defining custom metadata types through CMIS.&lt;br /&gt;&lt;br /&gt;Postby fmui » 08 Mar 2011, 11:16&lt;br /&gt;Hi,&lt;br /&gt;&lt;br /&gt;There are two answers:&lt;br /&gt;&lt;br /&gt;1) Creating new custom types through CMIS is not possible at this time because it is not part of the CMIS 1.0 standard.&lt;br /&gt;This going to change with CMIS 1.1. The next revision of the standard will define type creation, modification and deletion.&lt;br /&gt;The CMIS 1.1 specification will hopefully be completed in late summer and Alfresco will have an implementation shortly aft that.&lt;br /&gt;&lt;br /&gt;2) You can set up a dynamic model through CMIS: http://wiki.alfresco.com/wiki/Dynamic_Models&lt;br /&gt;Create the model document with type "cm:dictionaryModel" and set the property "cm:modelActive" to true.&lt;br /&gt;This, of course, is Alfresco specific and will not work with other repositories.&lt;br /&gt;&lt;br /&gt;- Florian&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-1637949347810251050?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/1637949347810251050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/03/alfresco-cmis-support-for-custom-types.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/1637949347810251050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/1637949347810251050'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/03/alfresco-cmis-support-for-custom-types.html' title='Alfresco CMIS support for Custom types'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-9096394723051306958</id><published>2011-03-23T09:57:00.000-07:00</published><updated>2011-03-23T10:05:54.776-07:00</updated><title type='text'>Loading of files in Liferay</title><content type='html'>Initially the servlet init method will get called,&lt;br /&gt;Refer to MainServlet used by Main Servlet.&lt;br /&gt;It is going to read the files from the classpath.&lt;br /&gt;It will load the themes and layouts related files from both the core and the ext environment.&lt;br /&gt;&lt;br /&gt;The following methods will be called&lt;br /&gt;initThemes()&lt;br /&gt;readPluginPackage();&lt;br /&gt;initPortlets(pluginPackage);&lt;br /&gt;initLayoutTemplates(pluginPackage, portlets);&lt;br /&gt;initThemes(pluginPackage, portlets);&lt;br /&gt;initSocialEquityLogScheduler();&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-9096394723051306958?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/9096394723051306958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/03/loading-of-files-in-liferay.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/9096394723051306958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/9096394723051306958'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/03/loading-of-files-in-liferay.html' title='Loading of files in Liferay'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-7227166354990065031</id><published>2011-03-20T00:52:00.000-07:00</published><updated>2011-03-20T00:53:19.564-07:00</updated><title type='text'>SCJP Naming convention and First Java Program</title><content type='html'>/**&lt;br /&gt; * &lt;br /&gt; */&lt;br /&gt;package com.patil.chapter1;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * @author basanagowda.patil&lt;br /&gt; *&lt;br /&gt; */&lt;br /&gt;public class NamingConvention {&lt;br /&gt;&lt;br /&gt; private static int  $1;&lt;br /&gt; private static Integer  integr2;&lt;br /&gt; private static double  dou1ble;&lt;br /&gt; private static Double  $dou1$ble2;&lt;br /&gt; private static float  floatValue;&lt;br /&gt; private static Float  floatValue$;&lt;br /&gt; private static boolean  boolean1;&lt;br /&gt; private static Boolean  _boolean$;&lt;br /&gt;&lt;br /&gt; public static void main(String[] args) {&lt;br /&gt;  &lt;br /&gt;   &lt;br /&gt;  System.out.println("static method can access only static variable or the static method");&lt;br /&gt;  System.out.println("Naming Convention and default value is:::"+ $1);&lt;br /&gt;  System.out.println("default value of double is:::"+ dou1ble);&lt;br /&gt;  System.out.println("default value of Integer is:::"+ integr2);&lt;br /&gt;  System.out.println("default value of double is:::"+ dou1ble);&lt;br /&gt;  System.out.println("default value of Double is:::"+ $dou1$ble2);&lt;br /&gt;  System.out.println("default value of float is:::"+ floatValue);&lt;br /&gt;  System.out.println("default value of Float is:::"+ floatValue$);&lt;br /&gt;  System.out.println("default value of boolean is:::"+ boolean1);&lt;br /&gt;  System.out.println("default value of Boolean is:::"+ _boolean$);&lt;br /&gt;  &lt;br /&gt; &lt;br /&gt;  &lt;br /&gt;&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; static{&lt;br /&gt;  System.out.println("Starting with the static block");&lt;br /&gt;  System.out.println("variable can be started with the number or characters,only $ is allowed as the special character");&lt;br /&gt;    $1 = 100;&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; NamingConvention(){&lt;br /&gt;  System.out.println("Inside the Constructor"); &lt;br /&gt;  System.out.println("Constructor is not called since we have not instantiated");&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; public void nonstaticMethod(){&lt;br /&gt;  System.out.println("Inside nonstaticMethod");&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; public void $methodWithNumber1AndSpecial$Character(){&lt;br /&gt;  System.out.println("Inside nonstaticMethod");&lt;br /&gt;  System.out.println("Method can start only with the special character $, other characters are not allowed");&lt;br /&gt;  System.out.println("Method cannot start with the Number,but inbetween it can have the number");&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; public void _methodWithUnderScore1AndSpecial$Character(){&lt;br /&gt;  System.out.println("Method Name can be started with the underscore, and even the character can start with the underscore");&lt;br /&gt;  &lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-7227166354990065031?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/7227166354990065031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/03/scjp-naming-convention-and-first-java.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/7227166354990065031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/7227166354990065031'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/03/scjp-naming-convention-and-first-java.html' title='SCJP Naming convention and First Java Program'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-2679452133235029416</id><published>2011-03-13T22:23:00.000-07:00</published><updated>2011-03-14T01:01:09.137-07:00</updated><title type='text'>WebServices of Alfresco</title><content type='html'>End point to access the Authority WebService&lt;br /&gt;&lt;br /&gt;http://localhost:8080/alfresco/wsdl/authoring-service.wsdl&lt;br /&gt;&lt;br /&gt;The bean which has the declaration of the beans are in the location&lt;br /&gt;D:\Alfresco3.3.4\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\web-services-application-context&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;All these services are implemented in JAX-RPC protocol(Validate this once)&lt;br /&gt;&lt;br /&gt;package org.alfresco.repo.webservice.administration;&lt;br /&gt;&lt;br /&gt;public interface AdministrationServiceSoapPort &lt;span style="font-weight:bold;"&gt;extends java.rmi.Remote&lt;/span&gt; {&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * Gets the details of the requested users.&lt;br /&gt;     */&lt;br /&gt;    public org.alfresco.repo.webservice.administration.UserQueryResults queryUsers(org.alfresco.repo.webservice.administration.UserFilter filter) throws java.rmi.RemoteException, org.alfresco.repo.webservice.administration.AdministrationFault;&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * Fetch the next bathc of users from an existing user query.&lt;br /&gt;     */&lt;br /&gt;    public org.alfresco.repo.webservice.administration.UserQueryResults fetchMoreUsers(java.lang.String querySession) throws java.rmi.RemoteException, org.alfresco.repo.webservice.administration.AdministrationFault;&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * Get the details of a specified user.&lt;br /&gt;     */&lt;br /&gt;    public org.alfresco.repo.webservice.administration.UserDetails getUser(java.lang.String userName) throws java.rmi.RemoteException, org.alfresco.repo.webservice.administration.AdministrationFault;&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * Create new users with the details provided.&lt;br /&gt;     */&lt;br /&gt;    public org.alfresco.repo.webservice.administration.UserDetails[] createUsers(org.alfresco.repo.webservice.administration.NewUserDetails[] newUsers) throws java.rmi.RemoteException, org.alfresco.repo.webservice.administration.AdministrationFault;&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * Updates the details of the specified users.&lt;br /&gt;     */&lt;br /&gt;    public org.alfresco.repo.webservice.administration.UserDetails[] updateUsers(org.alfresco.repo.webservice.administration.UserDetails[] users) throws java.rmi.RemoteException, org.alfresco.repo.webservice.administration.AdministrationFault;&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * Changes the password of the specified user.&lt;br /&gt;     */&lt;br /&gt;    public void changePassword(java.lang.String userName, java.lang.String oldPassword, java.lang.String newPassword) throws java.rmi.RemoteException, org.alfresco.repo.webservice.administration.AdministrationFault;&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * Delete the specified users.&lt;br /&gt;     */&lt;br /&gt;    public void deleteUsers(java.lang.String[] userNames) throws java.rmi.RemoteException, org.alfresco.repo.webservice.administration.AdministrationFault;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A pattern called "WSDL First" is generally considered the best approach for developing interoperable web services. We have defined the schemas for all the types we'll use in the web services and are in the process of defining the WSDL for each of the services.&lt;br /&gt;&lt;br /&gt;Once the WSDL is defined we use Axis's WSDL2Java tool to generate the classes required to support the service. We then write a class implementing the generated interface for the service and add setters for all the services that need to be injected by Spring. This class is then referenced in web-services-application-context.xml so that it can be referenced by server-config.wsdd using the Axis/Spring integration.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;One of the class implementation is given below&lt;br /&gt;/*&lt;br /&gt; * Copyright (C) 2005-2010 Alfresco Software Limited.&lt;br /&gt; *&lt;br /&gt; * This file is part of Alfresco&lt;br /&gt; *&lt;br /&gt; * Alfresco is free software: you can redistribute it and/or modify&lt;br /&gt; * it under the terms of the GNU Lesser General Public License as published by&lt;br /&gt; * the Free Software Foundation, either version 3 of the License, or&lt;br /&gt; * (at your option) any later version.&lt;br /&gt; *&lt;br /&gt; * Alfresco is distributed in the hope that it will be useful,&lt;br /&gt; * but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt; * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt; * GNU Lesser General Public License for more details.&lt;br /&gt; *&lt;br /&gt; * You should have received a copy of the GNU Lesser General Public License&lt;br /&gt; * along with Alfresco. If not, see &lt;http://www.gnu.org/licenses/&gt;.&lt;br /&gt; */&lt;br /&gt;package org.alfresco.repo.webservice.administration;&lt;br /&gt;&lt;br /&gt;import java.io.Serializable;&lt;br /&gt;import java.rmi.RemoteException;&lt;br /&gt;import java.text.MessageFormat;&lt;br /&gt;import java.util.ArrayList;&lt;br /&gt;import java.util.HashMap;&lt;br /&gt;import java.util.HashSet;&lt;br /&gt;import java.util.List;&lt;br /&gt;import java.util.Map;&lt;br /&gt;import java.util.Set;&lt;br /&gt;&lt;br /&gt;import org.alfresco.error.AlfrescoRuntimeException;&lt;br /&gt;import org.alfresco.model.ContentModel;&lt;br /&gt;import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;&lt;br /&gt;import org.alfresco.repo.webservice.AbstractWebService;&lt;br /&gt;import org.alfresco.repo.webservice.Utils;&lt;br /&gt;import org.alfresco.repo.webservice.action.ActionFault;&lt;br /&gt;import org.alfresco.repo.webservice.repository.RepositoryFault;&lt;br /&gt;import org.alfresco.repo.webservice.types.NamedValue;&lt;br /&gt;import org.alfresco.service.cmr.repository.NodeRef;&lt;br /&gt;import org.alfresco.service.cmr.repository.NodeService;&lt;br /&gt;import org.alfresco.service.cmr.repository.datatype.DefaultTypeConverter;&lt;br /&gt;import org.alfresco.service.cmr.security.AuthorityService;&lt;br /&gt;import org.alfresco.service.cmr.security.MutableAuthenticationService;&lt;br /&gt;import org.alfresco.service.cmr.security.PersonService;&lt;br /&gt;import org.alfresco.service.namespace.QName;&lt;br /&gt;import org.alfresco.service.transaction.TransactionService;&lt;br /&gt;import org.apache.axis.MessageContext;&lt;br /&gt;import org.apache.commons.logging.Log;&lt;br /&gt;import org.apache.commons.logging.LogFactory;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * @author Roy Wetherall&lt;br /&gt; */&lt;br /&gt;public class AdministrationWebService extends AbstractWebService implements&lt;br /&gt;        AdministrationServiceSoapPort&lt;br /&gt;{&lt;br /&gt;    /** Log */&lt;br /&gt;    private static Log logger = LogFactory.getLog(AdministrationWebService.class);&lt;br /&gt;    &lt;br /&gt;    /** The person service */&lt;br /&gt;    private PersonService personService = null;&lt;br /&gt;    &lt;br /&gt;    /** &lt;br /&gt;     * Indicates whether the user administration methods should manage the authentication&lt;br /&gt;     * details, or just the person details.&lt;br /&gt;     * &lt;br /&gt;     * Set this to true if an 3rd party authentication implementation has been pluged into&lt;br /&gt;     * the repository that manages authentication details.&lt;br /&gt;     */&lt;br /&gt;    private boolean manageAuthenticationDetails = true;&lt;br /&gt;    &lt;br /&gt;    /** The authentication service */&lt;br /&gt;    private MutableAuthenticationService authenticationService = null;&lt;br /&gt;    &lt;br /&gt;    private AuthorityService authorityService;&lt;br /&gt;    &lt;br /&gt;    /** The transaction service */&lt;br /&gt;    private TransactionService transactionService = null;&lt;br /&gt;    &lt;br /&gt;    /** A set of ignored properties */&lt;br /&gt;    private static Set&lt;QName&gt; ignoredProperties = new HashSet&lt;QName&gt;(3);&lt;br /&gt;    &lt;br /&gt;    /**&lt;br /&gt;     * Constructor&lt;br /&gt;     */&lt;br /&gt;    public AdministrationWebService()&lt;br /&gt;    {&lt;br /&gt;        // Set properties to ignore&lt;br /&gt;        AdministrationWebService.ignoredProperties.add(ContentModel.PROP_STORE_PROTOCOL);&lt;br /&gt;        AdministrationWebService.ignoredProperties.add(ContentModel.PROP_STORE_IDENTIFIER);&lt;br /&gt;        AdministrationWebService.ignoredProperties.add(ContentModel.PROP_NODE_UUID);&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    /**&lt;br /&gt;     * Set the flag that indicates whether this service should manage user authentication details as&lt;br /&gt;     * well as person details.&lt;br /&gt;     * &lt;br /&gt;     * @param manageAuthenticationDetails	true if authentication details are managed, false otherwise&lt;br /&gt;     */&lt;br /&gt;    public void setManageAuthenticationDetails(boolean manageAuthenticationDetails) &lt;br /&gt;    {&lt;br /&gt;		this.manageAuthenticationDetails = manageAuthenticationDetails;&lt;br /&gt;	}&lt;br /&gt;    &lt;br /&gt;    /**&lt;br /&gt;     * Set the transaction service&lt;br /&gt;     * &lt;br /&gt;     * @param transactionService    the transaction service&lt;br /&gt;     */&lt;br /&gt;    public void setTransactionService(TransactionService transactionService)&lt;br /&gt;    {&lt;br /&gt;        this.transactionService = transactionService;&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    /**&lt;br /&gt;     * Set the person service&lt;br /&gt;     * &lt;br /&gt;     * @param personService     sets the person service&lt;br /&gt;     */&lt;br /&gt;    public void setPersonService(PersonService personService)&lt;br /&gt;    {&lt;br /&gt;        this.personService = personService;&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    /**&lt;br /&gt;     * Set the authentication service&lt;br /&gt;     * &lt;br /&gt;     * @param authenticationService     the authentication service&lt;br /&gt;     */&lt;br /&gt;    public void setAuthenticationService(MutableAuthenticationService authenticationService)&lt;br /&gt;    {&lt;br /&gt;        this.authenticationService = authenticationService;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * Set the authority service used to determine admin rights.&lt;br /&gt;     * &lt;br /&gt;     * @param authorityService          the service implementation&lt;br /&gt;     */&lt;br /&gt;    public void setAuthorityService(AuthorityService authorityService)&lt;br /&gt;    {&lt;br /&gt;        this.authorityService = authorityService;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * @see org.alfresco.repo.webservice.administration.AdministrationServiceSoapPort#queryUsers(org.alfresco.repo.webservice.administration.UserFilter)&lt;br /&gt;     */&lt;br /&gt;    public UserQueryResults queryUsers(final UserFilter filter)&lt;br /&gt;            throws RemoteException, AdministrationFault&lt;br /&gt;    {&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            RetryingTransactionCallback&lt;UserQueryResults&gt; callback = new RetryingTransactionCallback&lt;UserQueryResults&gt;()&lt;br /&gt;            {&lt;br /&gt;                public UserQueryResults execute() throws Exception&lt;br /&gt;                {&lt;br /&gt;                    return queryUsersImpl(filter);&lt;br /&gt;                }&lt;br /&gt;            };&lt;br /&gt;            return transactionService.getRetryingTransactionHelper().doInTransaction(callback);&lt;br /&gt;        }&lt;br /&gt;        catch (Throwable exception)&lt;br /&gt;        {&lt;br /&gt;            if (logger.isDebugEnabled())&lt;br /&gt;            {&lt;br /&gt;                logger.error("Unexpected error occurred", exception);&lt;br /&gt;            }&lt;br /&gt;            &lt;br /&gt;            throw new ActionFault(0, exception.getMessage());&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * Query users, batch by set size&lt;br /&gt;     * &lt;br /&gt;     * @param filter    used to filter results&lt;br /&gt;     * @return          user query results, optionally batched&lt;br /&gt;     */&lt;br /&gt;    private UserQueryResults queryUsersImpl(UserFilter filter)&lt;br /&gt;    {&lt;br /&gt;        MessageContext msgContext = MessageContext.getCurrentContext();&lt;br /&gt;        &lt;br /&gt;        // Create the query&lt;br /&gt;        UserQuery query = new UserQuery(filter);&lt;br /&gt;        &lt;br /&gt;        // Create a user query session&lt;br /&gt;        UserQuerySession userQuerySession = new UserQuerySession(Long.MAX_VALUE, Utils.getBatchSize(msgContext), query);&lt;br /&gt;        &lt;br /&gt;        // Get the next batch of results&lt;br /&gt;        UserQueryResults userQueryResults = userQuerySession.getNextResults(serviceRegistry);&lt;br /&gt;&lt;br /&gt;        String querySessionId = userQuerySession.getId();&lt;br /&gt;        // add the session to the cache if there are more results to come&lt;br /&gt;        boolean haveMoreResults = userQuerySession.haveMoreResults();&lt;br /&gt;        if (haveMoreResults)&lt;br /&gt;        {&lt;br /&gt;            querySessionCache.put(querySessionId, userQuerySession);&lt;br /&gt;        }&lt;br /&gt;        &lt;br /&gt;        // Construct the return value&lt;br /&gt;        // TODO: http://issues.alfresco.com/browse/AR-1689&lt;br /&gt;        // This looks odd, but I've chosen to be specific about when the ID is set on the return&lt;br /&gt;        // results and when it isn't.&lt;br /&gt;        UserQueryResults result = new UserQueryResults(&lt;br /&gt;                haveMoreResults ? querySessionId : null,&lt;br /&gt;                        userQueryResults.getUserDetails());&lt;br /&gt;        &lt;br /&gt;        // Done&lt;br /&gt;        return result;&lt;br /&gt;    }    &lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     *  @see org.alfresco.repo.webservice.administration.AdministrationServiceSoapPort#fetchMoreUsers(java.lang.String)&lt;br /&gt;     */&lt;br /&gt;    public UserQueryResults fetchMoreUsers(final String querySession)&lt;br /&gt;            throws RemoteException, AdministrationFault&lt;br /&gt;    {&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            RetryingTransactionCallback&lt;UserQueryResults&gt; callback = new RetryingTransactionCallback&lt;UserQueryResults&gt;()&lt;br /&gt;            {&lt;br /&gt;                public UserQueryResults execute() throws Exception&lt;br /&gt;                {&lt;br /&gt;                    return fetchMoreUsersImpl(querySession);&lt;br /&gt;                }&lt;br /&gt;            };&lt;br /&gt;            return transactionService.getRetryingTransactionHelper().doInTransaction(callback);&lt;br /&gt;        }&lt;br /&gt;        catch (Throwable exception)&lt;br /&gt;        {&lt;br /&gt;            if (logger.isDebugEnabled())&lt;br /&gt;            {&lt;br /&gt;                logger.error("Unexpected error occurred", exception);&lt;br /&gt;            }&lt;br /&gt;            &lt;br /&gt;            throw new ActionFault(0, exception.getMessage());&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * &lt;br /&gt;     * @param querySessionId&lt;br /&gt;     * @return&lt;br /&gt;     */&lt;br /&gt;    private UserQueryResults fetchMoreUsersImpl(String querySessionId) throws RepositoryFault&lt;br /&gt;    {&lt;br /&gt;        UserQuerySession session = null;&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            session = (UserQuerySession) querySessionCache.get(querySessionId);&lt;br /&gt;        }&lt;br /&gt;        catch (ClassCastException e)&lt;br /&gt;        {&lt;br /&gt;            if (logger.isDebugEnabled())&lt;br /&gt;            {&lt;br /&gt;                logger.debug("Query session was not generated by the AdministrationWebService: " + querySessionId);&lt;br /&gt;            }&lt;br /&gt;            throw new RepositoryFault(&lt;br /&gt;                    4,&lt;br /&gt;                    "querySession with id '" + querySessionId + "' is invalid");&lt;br /&gt;        }&lt;br /&gt;        &lt;br /&gt;        UserQueryResults queryResult = null;&lt;br /&gt;        if (session != null)&lt;br /&gt;        {&lt;br /&gt;            queryResult = session.getNextResults(serviceRegistry);&lt;br /&gt;            if (!session.haveMoreResults())&lt;br /&gt;            {&lt;br /&gt;                this.querySessionCache.remove(querySessionId);&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;                // Update the cache instance so that it can trigger replication as required&lt;br /&gt;                querySessionCache.put(querySessionId, session);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        &lt;br /&gt;        return queryResult;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * @see org.alfresco.repo.webservice.administration.AdministrationServiceSoapPort#getUser(java.lang.String)&lt;br /&gt;     */&lt;br /&gt;    public UserDetails getUser(final String userName) throws RemoteException, AdministrationFault&lt;br /&gt;    {&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            RetryingTransactionCallback&lt;UserDetails&gt; callback = new RetryingTransactionCallback&lt;UserDetails&gt;()&lt;br /&gt;            {&lt;br /&gt;                public UserDetails execute() throws Exception&lt;br /&gt;                {&lt;br /&gt;                    return getUserImpl(userName);&lt;br /&gt;                }&lt;br /&gt;            };&lt;br /&gt;            return transactionService.getRetryingTransactionHelper().doInTransaction(callback);&lt;br /&gt;        }&lt;br /&gt;        catch (Throwable exception)&lt;br /&gt;        {&lt;br /&gt;            if (logger.isDebugEnabled())&lt;br /&gt;            {&lt;br /&gt;                logger.error("Unexpected error occurred", exception);&lt;br /&gt;            }&lt;br /&gt;            &lt;br /&gt;            throw new ActionFault(0, exception.getMessage());&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    /**&lt;br /&gt;     * Get the user details&lt;br /&gt;     * &lt;br /&gt;     * @param userName              the user name&lt;br /&gt;     * @return                      the user details object&lt;br /&gt;     * @throws RemoteException&lt;br /&gt;     * @throws AdministrationFault&lt;br /&gt;     */&lt;br /&gt;    private UserDetails getUserImpl(String userName)&lt;br /&gt;    {&lt;br /&gt;        NodeService nodeService = serviceRegistry.getNodeService();&lt;br /&gt;        UserDetails userDetails = null;&lt;br /&gt;        &lt;br /&gt;        if (this.personService.personExists(userName) == true)&lt;br /&gt;        {&lt;br /&gt;            NodeRef nodeRef = this.personService.getPerson(userName);            &lt;br /&gt;            userDetails = createUserDetails(nodeService, userName, nodeRef);&lt;br /&gt;        }&lt;br /&gt;        else&lt;br /&gt;        {&lt;br /&gt;            // Throw an exception to indicate that the user does not exist&lt;br /&gt;            throw new AlfrescoRuntimeException(MessageFormat.format("The user with name {0} does not exist.", new Object[]{userName}));&lt;br /&gt;        }&lt;br /&gt;        &lt;br /&gt;        return userDetails;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * Given a valid person node reference will create a user details object&lt;br /&gt;     * &lt;br /&gt;     * @param nodeRef   the node reference&lt;br /&gt;     * @return          the user details object populated with the appropriate property values&lt;br /&gt;     */&lt;br /&gt;    /* package */ static UserDetails createUserDetails(NodeService nodeService, String userName, NodeRef nodeRef)&lt;br /&gt;    {&lt;br /&gt;        // Create the user details object&lt;br /&gt;        UserDetails userDetails = new UserDetails();&lt;br /&gt;        &lt;br /&gt;        // Set the user name&lt;br /&gt;        userDetails.setUserName(userName);&lt;br /&gt;        &lt;br /&gt;        // Set the various property values&lt;br /&gt;        Map&lt;QName, Serializable&gt; properties = nodeService.getProperties(nodeRef);&lt;br /&gt;        List&lt;NamedValue&gt; namedValues = new ArrayList&lt;NamedValue&gt;(properties.size());&lt;br /&gt;        for (Map.Entry&lt;QName, Serializable&gt; entry : properties.entrySet())&lt;br /&gt;        {&lt;br /&gt;            if (AdministrationWebService.ignoredProperties.contains(entry.getKey()) == false)&lt;br /&gt;            {&lt;br /&gt;                String value = null;&lt;br /&gt;                try&lt;br /&gt;                {&lt;br /&gt;                    value = DefaultTypeConverter.INSTANCE.convert(String.class, entry.getValue());&lt;br /&gt;                } &lt;br /&gt;                catch (Throwable exception)&lt;br /&gt;                {&lt;br /&gt;                    value = entry.getValue().toString();&lt;br /&gt;                } &lt;br /&gt;                NamedValue namedValue = new NamedValue();&lt;br /&gt;                namedValue.setName(entry.getKey().toString());&lt;br /&gt;                namedValue.setIsMultiValue(false);&lt;br /&gt;                namedValue.setValue(value);&lt;br /&gt;                namedValues.add(namedValue);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        userDetails.setProperties((NamedValue[])namedValues.toArray(new NamedValue[namedValues.size()]));&lt;br /&gt;        &lt;br /&gt;        return userDetails;        &lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * @see org.alfresco.repo.webservice.administration.AdministrationServiceSoapPort#createUsers(org.alfresco.repo.webservice.administration.NewUserDetails[])&lt;br /&gt;     */&lt;br /&gt;    public UserDetails[] createUsers(final NewUserDetails[] newUsers) throws RemoteException, AdministrationFault&lt;br /&gt;    {&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            RetryingTransactionCallback&lt;UserDetails[]&gt; callback = new RetryingTransactionCallback&lt;UserDetails[]&gt;()&lt;br /&gt;            {&lt;br /&gt;                public UserDetails[] execute() throws Exception&lt;br /&gt;                {&lt;br /&gt;                    return createUsersImpl(newUsers);&lt;br /&gt;                }&lt;br /&gt;            };&lt;br /&gt;            return transactionService.getRetryingTransactionHelper().doInTransaction(callback);&lt;br /&gt;        }&lt;br /&gt;        catch (Throwable exception)&lt;br /&gt;        {&lt;br /&gt;            if (logger.isDebugEnabled())&lt;br /&gt;            {&lt;br /&gt;                logger.error("Unexpected error occurred", exception);&lt;br /&gt;            }&lt;br /&gt;            &lt;br /&gt;            throw new ActionFault(0, exception.getMessage());&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    /**&lt;br /&gt;     * Create the new users&lt;br /&gt;     * &lt;br /&gt;     * @param newUsers          the new users detail&lt;br /&gt;     * @return                  the details of the created users&lt;br /&gt;     * @throws RemoteException&lt;br /&gt;     * @throws AdministrationFault&lt;br /&gt;     */&lt;br /&gt;    private UserDetails[] createUsersImpl(NewUserDetails[] newUsers)&lt;br /&gt;    {&lt;br /&gt;        NodeService nodeService = serviceRegistry.getNodeService();&lt;br /&gt;        UserDetails[] userDetails = new UserDetails[newUsers.length];&lt;br /&gt;        &lt;br /&gt;        int index = 0;&lt;br /&gt;        for (NewUserDetails newUser : newUsers)&lt;br /&gt;        {&lt;br /&gt;        	if (this.manageAuthenticationDetails == true)&lt;br /&gt;        	{&lt;br /&gt;        		// Create a new authentication&lt;br /&gt;        		this.authenticationService.createAuthentication(newUser.getUserName(), newUser.getPassword().toCharArray());&lt;br /&gt;        	}&lt;br /&gt;            &lt;br /&gt;            // Create a new person&lt;br /&gt;            Map&lt;QName, Serializable&gt; properties = new HashMap&lt;QName, Serializable&gt;(7);&lt;br /&gt;            properties.put(ContentModel.PROP_USERNAME, newUser.getUserName());&lt;br /&gt;            for (NamedValue namedValue : newUser.getProperties())&lt;br /&gt;            {&lt;br /&gt;                properties.put(QName.createQName(namedValue.getName()), namedValue.getValue());&lt;br /&gt;            }&lt;br /&gt;            NodeRef personNodeRef = this.personService.createPerson(properties);&lt;br /&gt;            &lt;br /&gt;            // Add the details to the result&lt;br /&gt;            userDetails[index] = createUserDetails(nodeService, newUser.getUserName(), personNodeRef);&lt;br /&gt;            index++;&lt;br /&gt;        }&lt;br /&gt;                &lt;br /&gt;        return userDetails;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * @see org.alfresco.repo.webservice.administration.AdministrationServiceSoapPort#updateUsers(org.alfresco.repo.webservice.administration.UserDetails[])&lt;br /&gt;     */&lt;br /&gt;    public UserDetails[] updateUsers(final UserDetails[] users) throws RemoteException, AdministrationFault&lt;br /&gt;    {&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            RetryingTransactionCallback&lt;UserDetails[]&gt; callback = new RetryingTransactionCallback&lt;UserDetails[]&gt;()&lt;br /&gt;            {&lt;br /&gt;                public UserDetails[] execute() throws Exception&lt;br /&gt;                {&lt;br /&gt;                    return updateUsersImpl(users);&lt;br /&gt;                }&lt;br /&gt;            };&lt;br /&gt;            return transactionService.getRetryingTransactionHelper().doInTransaction(callback);&lt;br /&gt;        }&lt;br /&gt;        catch (Throwable exception)&lt;br /&gt;        {&lt;br /&gt;            if (logger.isDebugEnabled())&lt;br /&gt;            {&lt;br /&gt;                logger.error("Unexpected error occurred", exception);&lt;br /&gt;            }&lt;br /&gt;            &lt;br /&gt;            throw new ActionFault(0, exception.getMessage());&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    /**&lt;br /&gt;     * Update the users details&lt;br /&gt;     * &lt;br /&gt;     * @param users     the user details to update&lt;br /&gt;     * @return          the updated user details&lt;br /&gt;     */&lt;br /&gt;    private UserDetails[] updateUsersImpl(UserDetails[] users)&lt;br /&gt;    {&lt;br /&gt;        NodeService nodeService = serviceRegistry.getNodeService();&lt;br /&gt;        UserDetails[] userDetails = new UserDetails[users.length];&lt;br /&gt;        &lt;br /&gt;        int index = 0;&lt;br /&gt;        for (UserDetails user : users)&lt;br /&gt;        {&lt;br /&gt;            // Build the property map&lt;br /&gt;            Map&lt;QName, Serializable&gt; properties = new HashMap&lt;QName, Serializable&gt;(7);&lt;br /&gt;            properties.put(ContentModel.PROP_USERNAME, user.getUserName());&lt;br /&gt;            for (NamedValue namedValue : user.getProperties())&lt;br /&gt;            {&lt;br /&gt;                properties.put(QName.createQName(namedValue.getName()), namedValue.getValue());&lt;br /&gt;            }&lt;br /&gt;            &lt;br /&gt;            // Update the properties of the person&lt;br /&gt;            this.personService.setPersonProperties(user.getUserName(), properties);&lt;br /&gt;            &lt;br /&gt;            // Add the details to the result&lt;br /&gt;            NodeRef nodeRef = this.personService.getPerson(user.getUserName());&lt;br /&gt;            userDetails[index] = createUserDetails(nodeService, user.getUserName(), nodeRef);&lt;br /&gt;            index++;&lt;br /&gt;        }&lt;br /&gt;                &lt;br /&gt;        return userDetails;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * @see org.alfresco.repo.webservice.administration.AdministrationServiceSoapPort#changePassword(java.lang.String, java.lang.String, java.lang.String)&lt;br /&gt;     */&lt;br /&gt;    public void changePassword(final String userName, final String oldPassword, final String newPassword) throws RemoteException, AdministrationFault&lt;br /&gt;    {&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            RetryingTransactionCallback&lt;Object&gt; callback = new RetryingTransactionCallback&lt;Object&gt;()&lt;br /&gt;            {&lt;br /&gt;                public Object execute() throws Exception&lt;br /&gt;                {&lt;br /&gt;                    changePasswordImpl(userName, oldPassword, newPassword);&lt;br /&gt;                    return null;&lt;br /&gt;                }&lt;br /&gt;            };&lt;br /&gt;            transactionService.getRetryingTransactionHelper().doInTransaction(callback);&lt;br /&gt;        }&lt;br /&gt;        catch (Throwable exception)&lt;br /&gt;        {&lt;br /&gt;            if (logger.isDebugEnabled())&lt;br /&gt;            {&lt;br /&gt;                logger.error("Unexpected error occurred", exception);&lt;br /&gt;            }&lt;br /&gt;            &lt;br /&gt;            throw new ActionFault(0, exception.getMessage());&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * Change the current password of the user&lt;br /&gt;     * &lt;br /&gt;     * @param userName      the user name&lt;br /&gt;     * @param oldPassword   the old (current) password&lt;br /&gt;     * @param newPassword   the new password&lt;br /&gt;     */&lt;br /&gt;    private void changePasswordImpl(String userName, String oldPassword, String newPassword)&lt;br /&gt;    {&lt;br /&gt;    	if (this.manageAuthenticationDetails == true)&lt;br /&gt;    	{&lt;br /&gt;	        // Update the authentication details&lt;br /&gt;	    	if (this.authorityService.hasAdminAuthority() == true)&lt;br /&gt;	    	{&lt;br /&gt;	    		this.authenticationService.setAuthentication(userName, newPassword.toCharArray());&lt;br /&gt;	    	}&lt;br /&gt;	    	else&lt;br /&gt;	    	{&lt;br /&gt;	    		this.authenticationService.updateAuthentication(userName, oldPassword.toCharArray(), newPassword.toCharArray());&lt;br /&gt;	    	}&lt;br /&gt;    	}&lt;br /&gt;    	else&lt;br /&gt;    	{&lt;br /&gt;    		throw new RuntimeException("Web service has been configured so that user authenticaiton details are not managed.");&lt;br /&gt;    	}&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * @see org.alfresco.repo.webservice.administration.AdministrationServiceSoapPort#deleteUsers(java.lang.String[])&lt;br /&gt;     */&lt;br /&gt;    public void deleteUsers(final String[] userNames) throws RemoteException,&lt;br /&gt;            AdministrationFault&lt;br /&gt;    {&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            RetryingTransactionCallback&lt;Object&gt; callback = new RetryingTransactionCallback&lt;Object&gt;()&lt;br /&gt;            {&lt;br /&gt;                public Object execute() throws Exception&lt;br /&gt;                {&lt;br /&gt;                    deleteUsersImpl(userNames);&lt;br /&gt;                    return null;&lt;br /&gt;                }&lt;br /&gt;            };&lt;br /&gt;            transactionService.getRetryingTransactionHelper().doInTransaction(callback);&lt;br /&gt;        }&lt;br /&gt;        catch (Throwable exception)&lt;br /&gt;        {&lt;br /&gt;            if (logger.isDebugEnabled())&lt;br /&gt;            {&lt;br /&gt;                logger.error("Unexpected error occurred", exception);&lt;br /&gt;            }&lt;br /&gt;            &lt;br /&gt;            throw new ActionFault(0, exception.getMessage());&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * Delete users&lt;br /&gt;     * &lt;br /&gt;     * @param userNames     the names of the users to delete&lt;br /&gt;     */&lt;br /&gt;    private void deleteUsersImpl(String[] userNames)&lt;br /&gt;    {&lt;br /&gt;        for (String userName : userNames)&lt;br /&gt;        {&lt;br /&gt;            this.personService.deletePerson(userName);&lt;br /&gt;        }        &lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-2679452133235029416?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/2679452133235029416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/03/webservices-of-alfresco.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2679452133235029416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2679452133235029416'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/03/webservices-of-alfresco.html' title='WebServices of Alfresco'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-280058265285882885</id><published>2011-03-13T19:59:00.001-07:00</published><updated>2011-03-13T21:09:36.272-07:00</updated><title type='text'>Integration with CXF</title><content type='html'>&lt;servlet&gt;&lt;br /&gt;   &lt;servlet-name&gt;&lt;/servlet-name&gt;&lt;load-on-startup&gt;&lt;/load-on-startup&gt;  &lt;servlet&gt;&lt;br /&gt;     &lt;servlet-name&gt;CXFServlet&lt;/servlet-name&gt;&lt;br /&gt;     &lt;servlet-class&gt;org.apache.cxf.transport.servlet.CXFServlet&lt;/servlet-class&gt;&lt;br /&gt;     &lt;load-on-startup&gt;6&lt;/load-on-startup&gt;&lt;br /&gt;  &lt;/servlet&gt;&lt;br /&gt;&lt;/servlet&gt;&lt;br /&gt;&lt;br /&gt;The above servlet config is responsible for CXF WebServices integration in alfresco.&lt;br /&gt;&lt;br /&gt;The beans are loaded from the configuration as below&lt;br /&gt;&lt;br /&gt;   &lt;!-- Spring Application Context location --&gt;&lt;br /&gt;   &lt;context-param&gt;&lt;br /&gt;      &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;&lt;br /&gt;      &lt;param-value&gt;/WEB-INF/web-application-context.xml&lt;/param-value&gt;&lt;br /&gt;      &lt;description&gt;Spring config file location&lt;/description&gt;&lt;br /&gt;   &lt;/context-param&gt;&lt;br /&gt;&lt;br /&gt;   &lt;listener&gt;&lt;br /&gt;  &lt;listener-class&gt;&lt;br /&gt;   org.springframework.web.context.ContextLoaderListener&lt;br /&gt;  &lt;/listener-class&gt;&lt;br /&gt;   &lt;/listener&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-280058265285882885?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/280058265285882885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/03/integration-with-cxf.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/280058265285882885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/280058265285882885'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/03/integration-with-cxf.html' title='Integration with CXF'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-5427872715933144940</id><published>2011-03-13T19:50:00.000-07:00</published><updated>2011-03-13T19:54:41.695-07:00</updated><title type='text'>Configuring Log4j in alfresco</title><content type='html'>Below command is responsible for loading the log4j configuration.&lt;br /&gt; &lt;br /&gt;&lt;listener&gt;&lt;br /&gt;      &lt;listener-class&gt;org.springframework.web.util.Log4jConfigListener&lt;/listener-class&gt;&lt;br /&gt;   &lt;/listener&gt;&lt;br /&gt;&lt;br /&gt;The above line has to be declared in the web.xml file&lt;br /&gt;&lt;br /&gt;# Set root logger level to error&lt;br /&gt;log4j.rootLogger=error, Console, File&lt;br /&gt;//2 appenders been defined&lt;br /&gt; 1. Console&lt;br /&gt; 2. FIle&lt;br /&gt;&lt;br /&gt;###### Console appender definition #######&lt;br /&gt;&lt;br /&gt;# All outputs currently set to be a ConsoleAppender.&lt;br /&gt;log4j.appender.Console=org.apache.log4j.ConsoleAppender&lt;br /&gt;log4j.appender.Console.layout=org.apache.log4j.PatternLayout&lt;br /&gt;&lt;br /&gt;# use log4j NDC to replace %x with tenant domain / username&lt;br /&gt;log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %x %-5p [%c{3}] %m%n&lt;br /&gt;#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-5427872715933144940?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/5427872715933144940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/03/configuring-log4j-in-alfresco.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/5427872715933144940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/5427872715933144940'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/03/configuring-log4j-in-alfresco.html' title='Configuring Log4j in alfresco'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-8210403979087973557</id><published>2011-02-24T22:10:00.001-08:00</published><updated>2011-02-24T22:10:53.775-08:00</updated><title type='text'>How Javascript integrated with Java</title><content type='html'>Alfresco JavaScript Debugger&lt;br /&gt;&lt;br /&gt;The Alfresco Server provides a built-in server-side JavaScript debugger which allows line by line step through, variable inspection and arbitrary script execution.&lt;br /&gt;&lt;br /&gt;Note:&lt;br /&gt;&lt;br /&gt;    * The debugger executes in the Java VM of the Alfresco Server. It must be executed on the same machine as the Alfresco Server - remote debugging is not supported.&lt;br /&gt;    * The debugger does not function correctly on early SunJDK1.6 series JVMs - enabling it will crash the entire JVM. &lt;br /&gt;&lt;br /&gt;To enable and disable the JavaScript debugger use the following URL (you must be logged in as an administrator):&lt;br /&gt;&lt;br /&gt;http://&lt;host&gt;:&lt;port&gt;/alfresco/service/api/javascript/debugger&lt;br /&gt;&lt;br /&gt;This URL displays the current status of the debugger and allows you toggle between enabled and disabled.&lt;br /&gt;&lt;br /&gt;When enabled, the JavaScript Debugger window is displayed. Upon execution of any server-side JavaScript, the debugger will intercept and stop execution at the first JavaScript statement. You can then step through, view variables etc or resume execution. When disabled, server-side JavaScript is executed without interruption.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;How is Scripting integrated into Alfresco?&lt;br /&gt;&lt;br /&gt;The Script Service is a typical Alfresco repository service accessed via a Spring managed bean with the name of ScriptService.&lt;br /&gt;&lt;br /&gt;Only developers will be interested in accessing the ScriptService directly, those more interested in simply writing scripts themselves should skip this section and jump to Scripting API.&lt;br /&gt;&lt;br /&gt;The available scripting engines can be configured in the Alfresco Spring config file script-services-context.xml. You should download the Alfresco SDK to examine the structure of this file.&lt;br /&gt;&lt;br /&gt;As of Alfresco 2.1 a mechanism for adding additional scripting engines has been available. It is possible to completely replace or augment the existing JavaScript implemenation with others such as PHP or Ruby. The correct script engine implementation will be automatically selected by the ScriptService when executing a script based on the file extension of the script being executed. If it cannot resolve the engine to use, then the developer can specify it explicitly when calling the ScriptService.&lt;br /&gt;&lt;br /&gt;Further engines can be added by developers. Examining the script-services-context.xml for configuration examples. The engine must implement org.alfresco.service.cmr.repository.ScriptProcessor interface and it is recommend to extend the org.alfresco.repo.processor.BaseProcessor abstract class and override the various execute() methods.&lt;br /&gt;&lt;br /&gt;A Java based PHP engine has been integrated and is a good example of this, it is available as an AMP download for addition into an existing Alfresco installation.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Adding Custom Script APIs&lt;br /&gt;&lt;br /&gt;It is possible to create and add custom script API's implemented in Java and accessible as root objects in JavaScript. This provides an integration point for Alfresco extensions to provide custom API's where appropriate.&lt;br /&gt;&lt;br /&gt;In order to implement a custom JavaScript API it is recommended that you develop a POJO (Plain Old Java Object) that extends the base class org.alfresco.repo.processor.BaseProcessorExtension. The public methods of your class will be those that will be accessable from JavaScript. (For example see org.alfresco.repo.jscript.ScriptLogger).&lt;br /&gt;&lt;br /&gt;Once complete, you must then configure your bean in Spring. Make use of the baseJavaScriptExtension parent bean definition in order to ensure your object is automatically registered with the ScriptService framework. The name of the object as it will appear to script writers must also be specified in the bean definition.&lt;br /&gt;&lt;br /&gt;The following example shows the bean definition for the ScriptLogger custom API.&lt;br /&gt;&lt;br /&gt;&lt;bean id="loggerScript" parent="baseJavaScriptExtension" class="org.alfresco.repo.jscript.ScriptLogger"&gt;&lt;br /&gt;    &lt;property name="extensionName"&gt;&lt;br /&gt;        &lt;value&gt;logger&lt;/value&gt;&lt;br /&gt;    &lt;/property&gt;&lt;br /&gt;&lt;/bean&gt;&lt;br /&gt;&lt;br /&gt;Since this is a standard Spring bean definition any additional services that are required can be injected as properties into the bean definition in the usual way.&lt;br /&gt;&lt;br /&gt;Once this bean have been loaded the custom API object will be accessible directly in JavaScript by calling the public methods on the named object. For example the following shows how the log method can be called on the logger API we have defined above.&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;logger.log("This is a log message.");&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Native Java API Access&lt;br /&gt;&lt;br /&gt;In some cases you may find that you're unable to satisfy a requirement using the Javascript API, but that a Java API (perhaps the Alfresco Foundation Services API or AVMService for our WCM module) contains facilities that would allow you to do so.&lt;br /&gt;&lt;br /&gt;Using the method described in Adding Custom Script APIs, it is possible to add additional root scope objects to Javascript. In the case of the Alfresco Foundation Services API the only object that needs to be injected is the ServiceRegistry (or a proxy of it) - an example implementation of this may be found at Configuring the ServiceRegistry as a Javascript Root Object.&lt;br /&gt;&lt;br /&gt;As of Alfresco 2.1.3, Javascript scripts stored in the classpath (e.g. in the file system at the extension directory) can also leverage the Rhino Javascript interpreter's native Java integration facilities (see the Rhino documentation for more details).&lt;br /&gt;&lt;br /&gt;However, for security reasons these mechanisms are completely disabled for Javascript scripts that are stored in the repository. This means that the Javascript file has to be stored in the filesystem to be able to access the Native Java API.&lt;br /&gt;&lt;br /&gt;Note that there are some important things to keep in mind when calling native Java APIs from Javascript:&lt;br /&gt;&lt;br /&gt;    * Mixing the standard JavaScript APIs and Alfresco Java APIs is not recommended - the JavaScript API caches some values which may not be reflected when using Java APIs and vice-versa.&lt;br /&gt;    * Extreme care must be taken when using certain Alfresco APIs, for example the transaction APIs. This is because in many cases the Alfresco scripting framework includes logic that handles some of these "plumbing" concerns automatically - for example the Javascript script for a Web Script is automatically executed within an Alfresco transaction - programmatic transaction handling within the Javascript is not required and may interfere with the default behaviour.&lt;br /&gt;    * Native Java collections (Arrays, Maps, Lists etc.) do not get translated into their Javascript equivalents, so you cannot use Javascript idioms when accessing them. For example, instead of accessing a java.util.Map using code such as: &lt;br /&gt;&lt;br /&gt;var value1 = javaMap["key1"]&lt;br /&gt;var value2 = javaMap.key2&lt;br /&gt;&lt;br /&gt;You must call the underlying Java methods instead:&lt;br /&gt;&lt;br /&gt;var value1 = javaMap.get("key1")&lt;br /&gt;var value2 = javaMap.get("key2")&lt;br /&gt;&lt;br /&gt;Please note that these techniques are solely intended for developers who wish to take advantage of the productivity benefits of a scripted language while still having access to the full power of native Java APIs. They should not be used for end user scripting scenarios (eg. end user developed custom actions uploaded to the repository, workflow scripts, etc.).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-8210403979087973557?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/8210403979087973557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/02/how-javascript-integrated-with-java.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/8210403979087973557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/8210403979087973557'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/02/how-javascript-integrated-with-java.html' title='How Javascript integrated with Java'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-640200510317612061</id><published>2011-02-22T19:17:00.000-08:00</published><updated>2011-02-22T19:18:05.273-08:00</updated><title type='text'>Config for datasource configuration alfresco</title><content type='html'>&lt;bean id="dataSource" class="org.alfresco.config.JndiObjectFactoryBean"&gt;&lt;br /&gt;        &lt;property name="jndiName"&gt;&lt;br /&gt;            &lt;value&gt;java:comp/env/jdbc/dataSource&lt;/value&gt;&lt;br /&gt;        &lt;/property&gt;&lt;br /&gt;        &lt;property name="defaultObject"&gt;&lt;br /&gt;            &lt;ref bean="defaultDataSource" /&gt;&lt;br /&gt;        &lt;/property&gt;&lt;br /&gt;    &lt;/bean&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-640200510317612061?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/640200510317612061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/02/config-for-datasource-configuration.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/640200510317612061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/640200510317612061'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/02/config-for-datasource-configuration.html' title='Config for datasource configuration alfresco'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-5949359922024200879</id><published>2011-02-22T19:00:00.000-08:00</published><updated>2011-02-22T19:01:09.425-08:00</updated><title type='text'>Getting and using the config service</title><content type='html'>/**&lt;br /&gt;    * Retrieves the list of configured dialog container pages&lt;br /&gt;    * &lt;br /&gt;    * @param context FacesContext&lt;br /&gt;    * @return The container pages&lt;br /&gt;    */&lt;br /&gt;   protected List&lt;String&gt; getDialogContainers(FacesContext context)&lt;br /&gt;   {&lt;br /&gt;    if ((this.dialogContainers == null) || (Application.isDynamicConfig(FacesContext.getCurrentInstance())))&lt;br /&gt;      {&lt;br /&gt;       this.dialogContainers = new ArrayList&lt;String&gt;(2);&lt;br /&gt;       &lt;br /&gt;         ConfigService configSvc = Application.getConfigService(context);&lt;br /&gt;         Config globalConfig = configSvc.getGlobalConfig();&lt;br /&gt;         &lt;br /&gt;         if (globalConfig != null)&lt;br /&gt;         {&lt;br /&gt;            this.dialogContainers.add(globalConfig.getConfigElement("dialog-container").getValue());&lt;br /&gt;            this.dialogContainers.add(globalConfig.getConfigElement("plain-dialog-container").getValue());&lt;br /&gt;         }&lt;br /&gt;      }&lt;br /&gt;      &lt;br /&gt;      return this.dialogContainers;&lt;br /&gt;   }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-5949359922024200879?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/5949359922024200879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/02/getting-and-using-config-service.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/5949359922024200879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/5949359922024200879'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/02/getting-and-using-config-service.html' title='Getting and using the config service'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-5181652443611358582</id><published>2011-02-22T18:47:00.000-08:00</published><updated>2011-02-22T19:00:30.385-08:00</updated><title type='text'>Accessing the components of Alfresco as portlet config</title><content type='html'>This config is available in the file&lt;br /&gt;C:\Alfresco3.3.3\tomcat\webapps\alfresco\WEB-INF\portlet.xml&lt;br /&gt;&lt;br /&gt;The class is haveing portletRuntime implementation as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-5181652443611358582?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/5181652443611358582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/02/accessing-components-of-alfresco-as.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/5181652443611358582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/5181652443611358582'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/02/accessing-components-of-alfresco-as.html' title='Accessing the components of Alfresco as portlet config'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-785937051132963808</id><published>2011-02-22T18:38:00.000-08:00</published><updated>2011-02-22T18:40:35.401-08:00</updated><title type='text'>Integration between spring and jsf</title><content type='html'>The spring beans can be used in the JSF and the JSF beans in Spring this is possible because of the below configuration&lt;br /&gt;&lt;br /&gt;&lt;?xml version='1.0' encoding='UTF-8'?&gt;&lt;br /&gt;&lt;!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"&lt;br /&gt;                              "http://java.sun.com/dtd/web-facesconfig_1_1.dtd"&gt;&lt;br /&gt;&lt;faces-config&gt;&lt;br /&gt;&lt;br /&gt;   &lt;!-- ==================== APPLICATION ==================== --&gt;&lt;br /&gt;   &lt;application&gt;&lt;br /&gt;      &lt;navigation-handler&gt;org.alfresco.web.app.AlfrescoNavigationHandler&lt;/navigation-handler&gt;&lt;br /&gt;      &lt;variable-resolver&gt;org.alfresco.web.app.AlfrescoVariableResolver&lt;/variable-resolver&gt;&lt;br /&gt;      &lt;locale-config&gt;&lt;br /&gt;         &lt;default-locale&gt;en&lt;/default-locale&gt;&lt;br /&gt;      &lt;/locale-config&gt;&lt;br /&gt;   &lt;/application&gt;&lt;br /&gt;   &lt;br /&gt;   &lt;!-- ==================== LIFECYCLE ==================== --&gt;&lt;br /&gt;   &lt;!--&lt;br /&gt;   &lt;lifecycle&gt;&lt;br /&gt;      &lt;phase-listener&gt;org.alfresco.web.app.DebugPhaseListener&lt;/phase-listener&gt;&lt;br /&gt;   &lt;/lifecycle&gt;&lt;br /&gt;   --&gt;&lt;br /&gt;   &lt;br /&gt;&lt;/faces-config&gt;&lt;br /&gt;&lt;br /&gt;This file is available in the location&lt;br /&gt;C:\Alfresco3.3.3\tomcat\webapps\alfresco\WEB-INF\faces-config-app.xml&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-785937051132963808?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/785937051132963808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/02/integration-between-spring-and-jsf.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/785937051132963808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/785937051132963808'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/02/integration-between-spring-and-jsf.html' title='Integration between spring and jsf'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-1361309032202353789</id><published>2011-02-14T08:57:00.001-08:00</published><updated>2011-02-14T08:58:50.369-08:00</updated><title type='text'>Mail Issues</title><content type='html'>For any issues related to mail see MailActionExecuter,&lt;br /&gt;it has ther code for sending mail to group as well as to user&lt;br /&gt;&lt;br /&gt;  protected void executeImpl(&lt;br /&gt;            final Action ruleAction,&lt;br /&gt;            final NodeRef actionedUponNodeRef) &lt;br /&gt;    {&lt;br /&gt;        // Create the mime mail message&lt;br /&gt;        MimeMessagePreparator mailPreparer = new MimeMessagePreparator()&lt;br /&gt;        {&lt;br /&gt;            @SuppressWarnings("unchecked")&lt;br /&gt;            public void prepare(MimeMessage mimeMessage) throws MessagingException&lt;br /&gt;            {&lt;br /&gt;                if (logger.isDebugEnabled())&lt;br /&gt;                {&lt;br /&gt;                   logger.debug(ruleAction.getParameterValues());&lt;br /&gt;                }&lt;br /&gt;                &lt;br /&gt;                MimeMessageHelper message = new MimeMessageHelper(mimeMessage);&lt;br /&gt;                &lt;br /&gt;                // set header encoding if one has been supplied&lt;br /&gt;                if (headerEncoding != null &amp;&amp; headerEncoding.length() != 0)&lt;br /&gt;                {&lt;br /&gt;                    mimeMessage.setHeader("Content-Transfer-Encoding", headerEncoding);&lt;br /&gt;                }&lt;br /&gt;                &lt;br /&gt;                // set recipient&lt;br /&gt;                String to = (String)ruleAction.getParameterValue(PARAM_TO);&lt;br /&gt;                if (to != null &amp;&amp; to.length() != 0)&lt;br /&gt;                {&lt;br /&gt;                    message.setTo(to);&lt;br /&gt;                }&lt;br /&gt;                else&lt;br /&gt;                {&lt;br /&gt;                    // see if multiple recipients have been supplied - as a list of authorities&lt;br /&gt;                    Serializable authoritiesValue = ruleAction.getParameterValue(PARAM_TO_MANY);&lt;br /&gt;                    List&lt;String&gt; authorities = null;&lt;br /&gt;                    if (authoritiesValue != null)&lt;br /&gt;                    {&lt;br /&gt;                        if (authoritiesValue instanceof String)&lt;br /&gt;                        {&lt;br /&gt;                            authorities = new ArrayList&lt;String&gt;(1);&lt;br /&gt;                            authorities.add((String)authoritiesValue);&lt;br /&gt;                        }&lt;br /&gt;                        else&lt;br /&gt;                        {&lt;br /&gt;                            authorities = (List&lt;String&gt;)authoritiesValue;&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;                    &lt;br /&gt;                    if (authorities != null &amp;&amp; authorities.size() != 0)&lt;br /&gt;                    {&lt;br /&gt;                        List&lt;String&gt; recipients = new ArrayList&lt;String&gt;(authorities.size());&lt;br /&gt;                        for (String authority : authorities)&lt;br /&gt;                        {&lt;br /&gt;                            AuthorityType authType = AuthorityType.getAuthorityType(authority);&lt;br /&gt;                            if (authType.equals(AuthorityType.USER))&lt;br /&gt;                            {&lt;br /&gt;                                if (personService.personExists(authority) == true)&lt;br /&gt;                                {&lt;br /&gt;                                    NodeRef person = personService.getPerson(authority);&lt;br /&gt;                                    String address = (String)nodeService.getProperty(person, ContentModel.PROP_EMAIL);&lt;br /&gt;                                    if (address != null &amp;&amp; address.length() != 0 &amp;&amp; validateAddress(address))&lt;br /&gt;                                    {&lt;br /&gt;                                        recipients.add(address);&lt;br /&gt;                                    }&lt;br /&gt;                                }&lt;br /&gt;                            }&lt;br /&gt;                            else if (authType.equals(AuthorityType.GROUP))&lt;br /&gt;                            {&lt;br /&gt;                                // else notify all members of the group&lt;br /&gt;                                Set&lt;String&gt; users = authorityService.getContainedAuthorities(AuthorityType.USER, authority, false);&lt;br /&gt;                                for (String userAuth : users)&lt;br /&gt;                                {&lt;br /&gt;                                    if (personService.personExists(userAuth) == true)&lt;br /&gt;                                    {&lt;br /&gt;                                        NodeRef person = personService.getPerson(userAuth);&lt;br /&gt;                                        String address = (String)nodeService.getProperty(person, ContentModel.PROP_EMAIL);&lt;br /&gt;                                        if (address != null &amp;&amp; address.length() != 0)&lt;br /&gt;                                        {&lt;br /&gt;                                            recipients.add(address);&lt;br /&gt;                                        }&lt;br /&gt;                                    }&lt;br /&gt;                                }&lt;br /&gt;                            }&lt;br /&gt;                        }&lt;br /&gt;                        &lt;br /&gt;                        message.setTo(recipients.toArray(new String[recipients.size()]));&lt;br /&gt;                    }&lt;br /&gt;                    else&lt;br /&gt;                    {&lt;br /&gt;                        // No recipiants have been specified&lt;br /&gt;                        logger.error("No recipiant has been specified for the mail action");&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;                &lt;br /&gt;                // set subject line&lt;br /&gt;                message.setSubject((String)ruleAction.getParameterValue(PARAM_SUBJECT));&lt;br /&gt;                &lt;br /&gt;                // See if an email template has been specified&lt;br /&gt;                String text = null;&lt;br /&gt;                NodeRef templateRef = (NodeRef)ruleAction.getParameterValue(PARAM_TEMPLATE);&lt;br /&gt;                if (templateRef != null)&lt;br /&gt;                {&lt;br /&gt;                    // build the email template model&lt;br /&gt;                    Map&lt;String, Object&gt; model = createEmailTemplateModel(actionedUponNodeRef);&lt;br /&gt;                    &lt;br /&gt;                    // process the template against the model&lt;br /&gt;                    text = templateService.processTemplate("freemarker", templateRef.toString(), model);&lt;br /&gt;                }&lt;br /&gt;                &lt;br /&gt;                // set the text body of the message&lt;br /&gt;                if (text == null)&lt;br /&gt;                {&lt;br /&gt;                    text = (String)ruleAction.getParameterValue(PARAM_TEXT);&lt;br /&gt;                }&lt;br /&gt;                message.setText(text);&lt;br /&gt;                &lt;br /&gt;                // set the from address&lt;br /&gt;                NodeRef person = personService.getPerson(authService.getCurrentUserName());&lt;br /&gt;                &lt;br /&gt;                String fromActualUser = null;&lt;br /&gt;                if (person != null)&lt;br /&gt;                {&lt;br /&gt;                    fromActualUser = (String) nodeService.getProperty(person, ContentModel.PROP_EMAIL);&lt;br /&gt;                }&lt;br /&gt;                if( fromActualUser != null &amp;&amp; fromActualUser.length() != 0)&lt;br /&gt;                {&lt;br /&gt;                    message.setFrom(fromActualUser);&lt;br /&gt;                }&lt;br /&gt;                else&lt;br /&gt;                {&lt;br /&gt;                    String from = (String)ruleAction.getParameterValue(PARAM_FROM);&lt;br /&gt;                    if (from == null || from.length() == 0)&lt;br /&gt;                    {&lt;br /&gt;                        message.setFrom(fromAddress);&lt;br /&gt;                    }&lt;br /&gt;                    else&lt;br /&gt;                    {&lt;br /&gt;                        message.setFrom(from);&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        };&lt;br /&gt;                &lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            // Send the message unless we are in "testMode"&lt;br /&gt;            if(!testMode)&lt;br /&gt;            {&lt;br /&gt;                javaMailSender.send(mailPreparer);&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;               try {&lt;br /&gt;                  MimeMessage mimeMessage = javaMailSender.createMimeMessage(); &lt;br /&gt;                  mailPreparer.prepare(mimeMessage);&lt;br /&gt;                  lastTestMessage = mimeMessage;&lt;br /&gt;               } catch(Exception e) {&lt;br /&gt;                  System.err.println(e);&lt;br /&gt;               }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        catch (MailException e)&lt;br /&gt;        {&lt;br /&gt;            String to = (String)ruleAction.getParameterValue(PARAM_TO);&lt;br /&gt;            if (to == null)&lt;br /&gt;            {&lt;br /&gt;               Object obj = ruleAction.getParameterValue(PARAM_TO_MANY);&lt;br /&gt;               if (obj != null)&lt;br /&gt;               {&lt;br /&gt;                  to = obj.toString();&lt;br /&gt;               }&lt;br /&gt;            }&lt;br /&gt;            &lt;br /&gt;            logger.error("Failed to send email to " + to, e);&lt;br /&gt;            &lt;br /&gt;            throw new AlfrescoRuntimeException("Failed to send email to:" + to, e);   &lt;br /&gt;        }&lt;br /&gt;    }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-1361309032202353789?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/1361309032202353789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/02/mail-issues.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/1361309032202353789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/1361309032202353789'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/02/mail-issues.html' title='Mail Issues'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-2711383992922748771</id><published>2011-02-04T21:09:00.000-08:00</published><updated>2011-02-04T21:10:19.224-08:00</updated><title type='text'>Refreshing the richlist</title><content type='html'>If I want to reset the data then use the binding parameter.&lt;br /&gt;In the startworkflowwizard,you can see one component by name packageRichnamelist,which is getting nullified.&lt;br /&gt;Since its been binded to the richlist,whenever you make the value of this&lt;br /&gt;component null then that portion will get refreshed.&lt;br /&gt;&lt;br /&gt;Ex:&lt;br /&gt;&lt;br /&gt;JSP code :&lt;br /&gt;&lt;a:richList id="resources-list" viewMode="details" value="#{WizardManager.bean.resources}" var="r"&lt;br /&gt;binding="#{WizardManager.bean.packageItemsRichList}"&lt;br /&gt;styleClass="recordSet" headerStyleClass="recordSetHeader" rowStyleClass="recordSetRow"&lt;br /&gt;altRowStyleClass="recordSetRowAlt" width="100%" pageSize="10"&lt;br /&gt;initialSortColumn="name" initialSortDescending="true"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Java code :&lt;br /&gt;&lt;br /&gt;  // reset the rich list so it re-renders&lt;br /&gt;          this.packageItemsRichList.setValue(null);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Refer to the class StartWorkflowWizard&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-2711383992922748771?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/2711383992922748771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/02/refreshing-richlist.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2711383992922748771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2711383992922748771'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/02/refreshing-richlist.html' title='Refreshing the richlist'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-8524191670094427039</id><published>2011-02-03T07:36:00.000-08:00</published><updated>2011-02-04T01:17:34.484-08:00</updated><title type='text'></title><content type='html'>refer to the class for checking how the groups will be created in alfresco.&lt;br /&gt;&lt;br /&gt;  &lt;!-- Regularly exports user and group information from LDAP --&gt;&lt;br /&gt;    &lt;br /&gt;    &lt;bean id="userRegistry" class="org.alfresco.repo.security.sync.ldap.LDAPUserRegistry"&gt;&lt;br /&gt;        &lt;property name="active"&gt;&lt;br /&gt;            &lt;value&gt;${ldap.synchronization.active}&lt;/value&gt;&lt;br /&gt;        &lt;/property&gt;&lt;br /&gt;&lt;br /&gt;        &lt;!--&lt;br /&gt;        If positive, this property indicates that RFC 2696 paged results should be&lt;br /&gt;        used to split query results into batches of the specified size. This&lt;br /&gt;        overcomes any size limits imposed by the LDAP server.        &lt;br /&gt;        --&gt;&lt;br /&gt;        &lt;property name="queryBatchSize"&gt;&lt;br /&gt;            &lt;value&gt;${ldap.synchronization.queryBatchSize}&lt;/value&gt;&lt;br /&gt;        &lt;/property&gt;&lt;br /&gt;&lt;br /&gt;        &lt;!--&lt;br /&gt;        If positive, this property indicates that range retrieval should be used to fetch&lt;br /&gt;        multi-valued attributes (such as member) in batches of the specified size.&lt;br /&gt;        Overcomes any size limits imposed by Active Directory.        &lt;br /&gt;        --&gt;&lt;br /&gt;        &lt;property name="attributeBatchSize"&gt;&lt;br /&gt;            &lt;value&gt;${ldap.synchronization.attributeBatchSize}&lt;/value&gt;&lt;br /&gt;        &lt;/property&gt;&lt;br /&gt;&lt;br /&gt;        &lt;!--&lt;br /&gt;        The query to select all objects that represent the groups to import.&lt;br /&gt;        &lt;br /&gt;        For Open LDAP, using a basic schema, the following is probably what you want:&lt;br /&gt;        (objectclass=groupOfNames)&lt;br /&gt;        &lt;br /&gt;        For Active Directory:&lt;br /&gt;        (objectclass=group)&lt;br /&gt;        --&gt;&lt;br /&gt;        &lt;property name="groupQuery"&gt;&lt;br /&gt;            &lt;value&gt;${ldap.synchronization.groupQuery}&lt;/value&gt;&lt;br /&gt;        &lt;/property&gt;&lt;br /&gt;        &lt;br /&gt;        &lt;!--&lt;br /&gt;        The query to select objects that represent the groups to import that have changed since a certain time.&lt;br /&gt;        &lt;br /&gt;        For Open LD&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;?_______________________&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public Collection&lt;String&gt; getGroupNames()&lt;br /&gt;    {&lt;br /&gt;        final List&lt;String&gt; groupNames = new LinkedList&lt;String&gt;();&lt;br /&gt;        processQuery(new SearchCallback()&lt;br /&gt;        {&lt;br /&gt;&lt;br /&gt;            public void process(SearchResult result) throws NamingException, ParseException&lt;br /&gt;            {&lt;br /&gt;                Attribute nameAttribute = result.getAttributes().get(LDAPUserRegistry.this.groupIdAttributeName);&lt;br /&gt;                if (nameAttribute == null)&lt;br /&gt;                {&lt;br /&gt;                    if (LDAPUserRegistry.this.errorOnMissingGID)&lt;br /&gt;                    {&lt;br /&gt;                        throw new AlfrescoRuntimeException(&lt;br /&gt;                                "NodeDescription returned by group search does not have mandatory group id attribute "&lt;br /&gt;                                        + result.getNameInNamespace());&lt;br /&gt;                    }&lt;br /&gt;                    else&lt;br /&gt;                    {&lt;br /&gt;                        LDAPUserRegistry.logger.warn("Missing GID on " + result.getNameInNamespace());&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;                else&lt;br /&gt;                {&lt;br /&gt;                    String authority = "GROUP_" + (String) nameAttribute.get();&lt;br /&gt;                    groupNames.add(authority);&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            public void close() throws NamingException&lt;br /&gt;            {&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;        }, this.groupSearchBase, this.groupQuery, new String[]&lt;br /&gt;        {&lt;br /&gt;            this.groupIdAttributeName&lt;br /&gt;        });&lt;br /&gt;        return groupNames;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The above method is responsible for migrating the users from ldap to alfresco&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ChainingUserRegistrySynchronizer is responsible for synching&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-8524191670094427039?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/8524191670094427039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/02/refer-to-class-for-checking-how-groups.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/8524191670094427039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/8524191670094427039'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/02/refer-to-class-for-checking-how-groups.html' title=''/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-4301499040919105441</id><published>2011-02-02T01:37:00.000-08:00</published><updated>2011-02-02T01:40:05.243-08:00</updated><title type='text'>Activating Microsoft addin</title><content type='html'>Alfresco addin might appear only for the admin of the machine.&lt;br /&gt;To enabe for the other users follow the below steps&lt;br /&gt;&lt;br /&gt;1. View --&gt; Toolbars ---&gt; Check Alfresco&lt;br /&gt;&lt;br /&gt;IF it is not available then do the below step&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Go to Help --&gt; About MicrosoftWindows --&gt;DisabledItemss --&gt; Enable Alfresco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-4301499040919105441?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/4301499040919105441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/02/activating-microsoft-addin.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/4301499040919105441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/4301499040919105441'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/02/activating-microsoft-addin.html' title='Activating Microsoft addin'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-5179492476203999227</id><published>2011-01-31T10:48:00.000-08:00</published><updated>2011-01-31T10:49:06.307-08:00</updated><title type='text'>import org.springframework.extensions.surf.util.Base64; encding</title><content type='html'>import org.springframework.extensions.surf.util.Base64;&lt;br /&gt;&lt;br /&gt;It is the encoding used&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-5179492476203999227?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/5179492476203999227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/01/import-orgspringframeworkextensionssurf.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/5179492476203999227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/5179492476203999227'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/01/import-orgspringframeworkextensionssurf.html' title='import org.springframework.extensions.surf.util.Base64; encding'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-84840860575728543</id><published>2011-01-31T10:42:00.000-08:00</published><updated>2011-01-31T10:46:23.863-08:00</updated><title type='text'></title><content type='html'>LoginController present in package&lt;br /&gt;&lt;br /&gt;org.springframework.extensions.surf.mvc&lt;br /&gt;&lt;br /&gt;is the entry point for setting the user related data.&lt;br /&gt;Using this we can do anything.&lt;br /&gt; public ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception&lt;br /&gt;    {&lt;br /&gt;        request.setCharacterEncoding("UTF-8");&lt;br /&gt;        &lt;br /&gt;        String username = (String) request.getParameter("username");&lt;br /&gt;        String password = (String) request.getParameter("password");&lt;br /&gt;        String successPage = (String) request.getParameter("success");&lt;br /&gt;        String failurePage = (String) request.getParameter("failure");&lt;br /&gt;        &lt;br /&gt;        boolean success = false;&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            // check whether there is already a user logged in&lt;br /&gt;            HttpSession session = request.getSession(false);&lt;br /&gt;            if (session != null)&lt;br /&gt;            {&lt;br /&gt;                // destroy old session and log out the current user&lt;br /&gt;                AuthenticationUtil.logout(request, response);&lt;br /&gt;            }&lt;br /&gt;            &lt;br /&gt;            UserFactory userFactory = FrameworkUtil.getServiceRegistry().getUserFactory();&lt;br /&gt;            &lt;br /&gt;            // see if we can authenticate the user&lt;br /&gt;            boolean authenticated = userFactory.authenticate(request, username, password);&lt;br /&gt;            if (authenticated)&lt;br /&gt;            {&lt;br /&gt;                // this will fully reset all connector sessions&lt;br /&gt;                RequestContext context = FrameworkUtil.getCurrentRequestContext();&lt;br /&gt;                AuthenticationUtil.login(request, response, username, false);&lt;br /&gt;                &lt;br /&gt;                // mark the fact that we succeeded&lt;br /&gt;                success = true;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        catch (Throwable err)&lt;br /&gt;        {&lt;br /&gt;            throw new ServletException(err);&lt;br /&gt;        }&lt;br /&gt;        &lt;br /&gt;        // If they succeeded in logging in, redirect to the success page&lt;br /&gt;        // Otherwise, redirect to the failure page&lt;br /&gt;        if (success)&lt;br /&gt;        {&lt;br /&gt;            if (successPage != null)&lt;br /&gt;            {&lt;br /&gt;                response.sendRedirect(successPage);&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;                response.sendRedirect(request.getContextPath());&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        else&lt;br /&gt;        {&lt;br /&gt;            // inval&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;_______________________________________&lt;br /&gt;&lt;br /&gt;AuthenticationUtil in the org.springframework.extensions.surf.site has the code for handling the user and cookies, which will be used for the future calls&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-84840860575728543?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/84840860575728543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/01/logincontroller-present-in-package-org.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/84840860575728543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/84840860575728543'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/01/logincontroller-present-in-package-org.html' title=''/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-952604952357012245</id><published>2011-01-31T10:23:00.000-08:00</published><updated>2011-01-31T10:26:13.371-08:00</updated><title type='text'>Initializing share framework</title><content type='html'>AlfrescoUserFactory present in org.springframework.extensions.surf.support&lt;br /&gt;is responsible for giving all the data related to Alfresco user in share.&lt;br /&gt;LoginController tells about how to authenticate the user and initialize the framework&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-952604952357012245?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/952604952357012245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/01/initializing-share-framework.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/952604952357012245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/952604952357012245'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/01/initializing-share-framework.html' title='Initializing share framework'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-14941174883188912</id><published>2011-01-27T22:54:00.000-08:00</published><updated>2011-01-27T22:56:31.275-08:00</updated><title type='text'>Storing the complex type in the content model</title><content type='html'>In the alfresco content model property you can store List, HashMap,Set etc&lt;br /&gt;&lt;br /&gt;For this do the below&lt;br /&gt;&lt;br /&gt;In your model define the property&lt;br /&gt;&lt;br /&gt; &lt;property name="pcm:regions"&gt;&lt;br /&gt;               &lt;type&gt;d:any&lt;/type&gt;             &lt;br /&gt;            &lt;/property&gt;&lt;br /&gt;&lt;br /&gt;To store the value use the below code&lt;br /&gt;&lt;br /&gt; //storing all the selected regions&lt;br /&gt;        final HashMap&lt;String, String&gt; regionMap = new HashMap&lt;String, String&gt;();&lt;br /&gt;        for(String region : selectedRegions){&lt;br /&gt;         regionMap.put(region, region);&lt;br /&gt;        }      &lt;br /&gt;        _map.put(PowerGridContentModel.PROP_REGIONS, (Serializable)regionMap);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To retrieve use the below code, I am considering example of getting property from executionContext&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   HashMap&lt;String,String&gt; regionsMap =   (HashMap&lt;String,String&gt;) executionContext.getContextInstance().getVariables().get("pcm_regions");&lt;br /&gt;        if(regionsMap != null){&lt;br /&gt;         &lt;br /&gt;         for (Map.Entry&lt;String,String&gt; pair : regionsMap.entrySet()) {&lt;br /&gt;&lt;br /&gt;            System.out.println("Region name::"+pair.getKey() + " = " + pair.getValue());&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hope it helps.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-14941174883188912?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/14941174883188912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/01/storing-complex-type-in-content-model.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/14941174883188912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/14941174883188912'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/01/storing-complex-type-in-content-model.html' title='Storing the complex type in the content model'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-3149503524918626071</id><published>2011-01-27T21:59:00.000-08:00</published><updated>2011-01-27T22:03:43.023-08:00</updated><title type='text'>Run Action</title><content type='html'>Refer to classes&lt;br /&gt;&lt;br /&gt;ScriptActionExecuter class finishImpl() to find the code to &lt;br /&gt;execute the script.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;refer to the ActionExecuter class implemented classes to find out the implementation of each method.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-3149503524918626071?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/3149503524918626071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/01/run-action.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/3149503524918626071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/3149503524918626071'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/01/run-action.html' title='Run Action'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-6557458869250812500</id><published>2011-01-27T07:18:00.001-08:00</published><updated>2011-01-27T07:18:35.562-08:00</updated><title type='text'>Code for creating the links in alfresco</title><content type='html'>/**&lt;br /&gt;  * It links the source noderef to the destination noderef.&lt;br /&gt;  * Code needs to be tested&lt;br /&gt;  * Refer to WorkspaceClipboardItem.&lt;br /&gt;  * @param sourceNodeRef the noderef which is to be linked&lt;br /&gt;  * @param destNodeRef  where the new link to be put&lt;br /&gt;  */&lt;br /&gt; private void establishLinkages(NodeRef sourceNodeRef , NodeRef destNodeRef){&lt;br /&gt;  boolean operationComplete = false;&lt;br /&gt;    // TODO: Should we be using primary parent here?&lt;br /&gt;        //       We are assuming that the item exists in only a single parent and that the source for&lt;br /&gt;        //       the clipboard operation (e.g. the source folder) is specifically that parent node.&lt;br /&gt;        //       So does not allow for more than one possible parent node - or for linked objects!&lt;br /&gt;        //       This code should be refactored to use a parent ID when appropriate.&lt;br /&gt; &lt;br /&gt;  //    ChildAssociationRef assocRef = nodeService.getPrimaryParent(getNodeRef());&lt;br /&gt;        ChildAssociationRef assocRef = this.getServiceRegistry().getNodeService().getPrimaryParent(sourceNodeRef);&lt;br /&gt;       String name =  getName(sourceNodeRef);&lt;br /&gt;        String linkTo ="Link to";&lt;br /&gt;        name = linkTo + ' ' + name;&lt;br /&gt;        &lt;br /&gt;       //Now perform linking&lt;br /&gt;        &lt;br /&gt;&lt;br /&gt;        // LINK operation&lt;br /&gt;      &lt;br /&gt;        LOGGER.debug("Attempting to link node ID: " + sourceNodeRef + " into node: " + destNodeRef.toString());&lt;br /&gt;&lt;br /&gt;        // we create a special Link Object node that has a property to reference the original&lt;br /&gt;        // create the node using the nodeService (can only use FileFolderService for content)&lt;br /&gt;        String LINK_NODE_EXTENSION = ".url";&lt;br /&gt;        if (checkExists(name + LINK_NODE_EXTENSION, destNodeRef) == false)&lt;br /&gt;        {&lt;br /&gt;           Map&lt;QName, Serializable&gt; props = new HashMap&lt;QName, Serializable&gt;(2, 1.0f);&lt;br /&gt;           String newName = name + LINK_NODE_EXTENSION;&lt;br /&gt;           props.put(ContentModel.PROP_NAME, newName);&lt;br /&gt;           props.put(ContentModel.PROP_LINK_DESTINATION, sourceNodeRef);&lt;br /&gt;           DictionaryService dd = getServiceRegistry().getDictionaryService();&lt;br /&gt;           if (dd.isSubClass(getType(sourceNodeRef), ContentModel.TYPE_CONTENT))&lt;br /&gt;           {&lt;br /&gt;              // create File Link node&lt;br /&gt;              ChildAssociationRef childRef = this.getServiceRegistry().getNodeService().createNode(&lt;br /&gt;                destNodeRef,&lt;br /&gt;                    ContentModel.ASSOC_CONTAINS,&lt;br /&gt;                    QName.createQName(assocRef.getQName().getNamespaceURI(), newName),&lt;br /&gt;                    ApplicationModel.TYPE_FILELINK,&lt;br /&gt;                    props);&lt;br /&gt;&lt;br /&gt;              // apply the titled aspect - title and description&lt;br /&gt;              Map&lt;QName, Serializable&gt; titledProps = new HashMap&lt;QName, Serializable&gt;(2, 1.0f);&lt;br /&gt;              titledProps.put(ContentModel.PROP_TITLE, name);&lt;br /&gt;              titledProps.put(ContentModel.PROP_DESCRIPTION, name);&lt;br /&gt;              this.getServiceRegistry().getNodeService().addAspect(childRef.getChildRef(), ContentModel.ASPECT_TITLED, titledProps);&lt;br /&gt;           }&lt;br /&gt;           else&lt;br /&gt;           {&lt;br /&gt;              // create Folder link node&lt;br /&gt;              ChildAssociationRef childRef = this.getServiceRegistry().getNodeService().createNode(&lt;br /&gt;                destNodeRef,&lt;br /&gt;                    ContentModel.ASSOC_CONTAINS,&lt;br /&gt;                    assocRef.getQName(),&lt;br /&gt;                    ApplicationModel.TYPE_FOLDERLINK,&lt;br /&gt;                    props);&lt;br /&gt;&lt;br /&gt;              // apply the uifacets aspect - icon, title and description props&lt;br /&gt;              Map&lt;QName, Serializable&gt; uiFacetsProps = new HashMap&lt;QName, Serializable&gt;(4, 1.0f);&lt;br /&gt;              uiFacetsProps.put(ApplicationModel.PROP_ICON, "space-icon-link");&lt;br /&gt;              uiFacetsProps.put(ContentModel.PROP_TITLE, name);&lt;br /&gt;              uiFacetsProps.put(ContentModel.PROP_DESCRIPTION, name);&lt;br /&gt;              this.getServiceRegistry().getNodeService().addAspect(childRef.getChildRef(), ApplicationModel.ASPECT_UIFACETS, uiFacetsProps);&lt;br /&gt;           }&lt;br /&gt;&lt;br /&gt;           // if we get here without an exception, the clipboard link operation was successful&lt;br /&gt;           operationComplete = true;&lt;br /&gt;        }&lt;br /&gt;        &lt;br /&gt;        LOGGER.debug("Is Linkage operation complete????"+ operationComplete);&lt;br /&gt;     &lt;br /&gt;        &lt;br /&gt;        &lt;br /&gt;        &lt;br /&gt;        &lt;br /&gt;  &lt;br /&gt; }&lt;br /&gt; &lt;br /&gt;  public String getName(NodeRef sourceNodeRef)&lt;br /&gt;    {&lt;br /&gt;      &lt;br /&gt;        String name = (String)getServiceRegistry().getNodeService().getProperty(&lt;br /&gt;          sourceNodeRef, ContentModel.PROP_NAME);&lt;br /&gt;      &lt;br /&gt;       return name;&lt;br /&gt;    }&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  protected boolean checkExists(String name, NodeRef parent)&lt;br /&gt;    {&lt;br /&gt;    /** Shallow search for nodes with a name pattern */&lt;br /&gt;    String XPATH_QUERY_NODE_MATCH = "./*[like(@cm:name, $cm:name, false)]";&lt;br /&gt;       QueryParameterDefinition[] params = new QueryParameterDefinition[1];&lt;br /&gt;       params[0] = new QueryParameterDefImpl(&lt;br /&gt;             ContentModel.PROP_NAME,&lt;br /&gt;             getServiceRegistry().getDictionaryService().getDataType(&lt;br /&gt;                   DataTypeDefinition.TEXT),&lt;br /&gt;                   true,&lt;br /&gt;                   name);&lt;br /&gt;       &lt;br /&gt;       // execute the query&lt;br /&gt;       List&lt;NodeRef&gt; nodeRefs = getServiceRegistry().getSearchService().selectNodes(&lt;br /&gt;             parent,&lt;br /&gt;             XPATH_QUERY_NODE_MATCH,&lt;br /&gt;             params,&lt;br /&gt;             getServiceRegistry().getNamespaceService(),&lt;br /&gt;             false);&lt;br /&gt;       &lt;br /&gt;       return (nodeRefs.size() != 0);&lt;br /&gt;    }&lt;br /&gt;  &lt;br /&gt;  public QName getType(NodeRef nodeRef)&lt;br /&gt;    {&lt;br /&gt;       &lt;br /&gt;   QName type = getServiceRegistry().getNodeService().getType(nodeRef);&lt;br /&gt;      &lt;br /&gt;       return type;&lt;br /&gt;    }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-6557458869250812500?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/6557458869250812500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/01/code-for-creating-links-in-alfresco.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/6557458869250812500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/6557458869250812500'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/01/code-for-creating-links-in-alfresco.html' title='Code for creating the links in alfresco'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-8338246368499716671</id><published>2011-01-27T03:21:00.000-08:00</published><updated>2011-01-27T03:26:46.223-08:00</updated><title type='text'>Mapping of javascript and Java</title><content type='html'>sitedata object of Alfresco share(Surf) is availbale through&lt;br /&gt;the class ScriptSiteData class present in the spring-surf-1.0.0.CI-SNAPSHOT.jar&lt;br /&gt;Explore this to get the newPreset method.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-8338246368499716671?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/8338246368499716671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/01/mapping-of-javascript-and-java.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/8338246368499716671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/8338246368499716671'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/01/mapping-of-javascript-and-java.html' title='Mapping of javascript and Java'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7553750431826607898.post-2673135785257278500</id><published>2011-01-26T05:43:00.000-08:00</published><updated>2011-01-26T05:50:37.951-08:00</updated><title type='text'>Hiding Guest Home, UserHomes , DataDictionary in Alfresco share</title><content type='html'>Follow the below steps&lt;br /&gt;&lt;br /&gt;1. Hide in the tree.&lt;br /&gt;Basically share will make the call to alfresco get all the nodeRef so we need to change the corresponding javascript.&lt;br /&gt;Script responsible for the tree population of Repository is treenode.get.js present in the location &lt;br /&gt;&lt;br /&gt;D:\Alfresco3.3\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\templates\webscripts\org\alfresco\slingshot\documentlibrary\treenode.get.js&lt;br /&gt;&lt;br /&gt;&lt;import resource="classpath:/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/parse-args.lib.js"&gt;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * Document List Component: treenode&lt;br /&gt; */&lt;br /&gt;model.treenode = getTreeNode();&lt;br /&gt;&lt;br /&gt;/* Create collection of folders in the given space */&lt;br /&gt;function getTreeNode()&lt;br /&gt;{&lt;br /&gt;   try&lt;br /&gt;   {&lt;br /&gt;      var items = new Array(),&lt;br /&gt;         hasSubfolders = true,&lt;br /&gt;         ignoredTypes =&lt;br /&gt;         {&lt;br /&gt;            "{http://www.alfresco.org/model/forum/1.0}forum": true,&lt;br /&gt;            "{http://www.alfresco.org/model/forum/1.0}topic": true,&lt;br /&gt;            "{http://www.alfresco.org/model/content/1.0}systemfolder": true&lt;br /&gt;         },&lt;br /&gt;         evalChildFolders = args["children"] !== "false",&lt;br /&gt;         resultsTrimmed = false,&lt;br /&gt;         argMax = parseInt(args["max"], 10),&lt;br /&gt;         maxItems = isNaN(argMax) ? -1 : argMax;&lt;br /&gt;   &lt;br /&gt;      // Use helper function to get the arguments&lt;br /&gt;      var parsedArgs = ParseArgs.getParsedArgs();&lt;br /&gt;      if (parsedArgs === null)&lt;br /&gt;      {&lt;br /&gt;         return;&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      // Look for folders in the pathNode&lt;br /&gt;      for each (item in parsedArgs.pathNode.children)&lt;br /&gt;      { &lt;span style="font-weight:bold;"&gt;//added by patil to check folders  &lt;br /&gt;         if (item.isSubType("cm:folder") &amp;&amp; !(item.type in ignoredTypes) &amp;&amp; !( (item.properties.name =="Data Dictionary") || (item.properties.name =="Guest Home")|| (item.properties.name =="User Homes")|| (item.properties.name =="Imap Home")))&lt;/span&gt;&lt;br /&gt;         {  &lt;br /&gt;            if (evalChildFolders)&lt;br /&gt;            {&lt;br /&gt;               hasSubfolders = item.childFileFolders(false, true, "fm:forum").length &gt; 0;&lt;br /&gt;            }&lt;br /&gt;            &lt;br /&gt;            items.push(&lt;br /&gt;            {&lt;br /&gt;               node: item,&lt;br /&gt;               hasSubfolders: hasSubfolders&lt;br /&gt;            });&lt;br /&gt;         }&lt;br /&gt;         &lt;br /&gt;         if (maxItems !== -1 &amp;&amp; items.length &gt; maxItems)&lt;br /&gt;         {&lt;br /&gt;            items.pop();&lt;br /&gt;            resultsTrimmed = true;&lt;br /&gt;            break;&lt;br /&gt;         }&lt;br /&gt;      }&lt;br /&gt;   &lt;br /&gt;      items.sort(sortByName);&lt;br /&gt;   &lt;br /&gt;      return (&lt;br /&gt;      {&lt;br /&gt;         parent: parsedArgs.pathNode,&lt;br /&gt;         resultsTrimmed: resultsTrimmed,&lt;br /&gt;         items: items&lt;br /&gt;      });&lt;br /&gt;   }&lt;br /&gt;   catch(e)&lt;br /&gt;   {&lt;br /&gt;      status.setCode(status.STATUS_INTERNAL_SERVER_ERROR, e.toString());&lt;br /&gt;      return;&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/* Sort the results by case-insensitive name */&lt;br /&gt;function sortByName(a, b)&lt;br /&gt;{&lt;br /&gt;   return (b.node.name.toLowerCase() &gt; a.node.name.toLowerCase() ? -1 : 1);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Similarly in the body part the listing will happen from the script doclist.get.js&lt;br /&gt;&lt;br /&gt;&lt;import resource="classpath:/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/evaluator.lib.js"&gt;&lt;br /&gt;&lt;import resource="classpath:/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/filters.lib.js"&gt;&lt;br /&gt;&lt;import resource="classpath:/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/parse-args.lib.js"&gt;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * Main entry point: Create collection of documents and folders in the given space&lt;br /&gt; *&lt;br /&gt; * @method getDoclist&lt;br /&gt; */&lt;br /&gt;function getDoclist()&lt;br /&gt;{&lt;br /&gt;   // Use helper function to get the arguments&lt;br /&gt;   var parsedArgs = ParseArgs.getParsedArgs();&lt;br /&gt;   if (parsedArgs === null)&lt;br /&gt;   {&lt;br /&gt;      return;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   var filter = args.filter,&lt;br /&gt;      items = [];&lt;br /&gt;&lt;br /&gt;   // Try to find a filter query based on the passed-in arguments&lt;br /&gt;   var allNodes = [],&lt;br /&gt;      favourites = Common.getFavourites(),&lt;br /&gt;      filterParams = Filters.getFilterParams(filter, parsedArgs,&lt;br /&gt;      {&lt;br /&gt;         favourites: favourites&lt;br /&gt;      }),&lt;br /&gt;      query = filterParams.query;&lt;br /&gt;&lt;br /&gt;   // Query the nodes - passing in sort and result limit parameters&lt;br /&gt;   if (query !== "")&lt;br /&gt;   {&lt;br /&gt;      allNodes = search.query(&lt;br /&gt;      {&lt;br /&gt;         query: query,&lt;br /&gt;         language: filterParams.language,&lt;br /&gt;         page:&lt;br /&gt;         {&lt;br /&gt;            maxItems: (filterParams.limitResults ? parseInt(filterParams.limitResults, 10) : 0)&lt;br /&gt;         },&lt;br /&gt;         sort: filterParams.sort,&lt;br /&gt;         templates: filterParams.templates,&lt;br /&gt;         namespace: (filterParams.namespace ? filterParams.namespace : null)&lt;br /&gt;      });&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Ensure folders and folderlinks appear at the top of the list&lt;br /&gt;   var folderNodes = [],&lt;br /&gt;      documentNodes = [];&lt;br /&gt;   &lt;br /&gt;   for each (node in allNodes)&lt;br /&gt;   {&lt;br /&gt;      try&lt;br /&gt;      {&lt;br /&gt;         if (node.isContainer || node.typeShort == "app:folderlink")&lt;br /&gt;         {&lt;br /&gt;    //added by patil to filter&lt;br /&gt;   &lt;span style="font-weight:bold;"&gt; if(!( (node.properties.name =="Data Dictionary") || (node.properties.name =="Guest Home")|| (node.properties.name =="User Homes")|| (node.properties.name =="Imap Home"))){&lt;br /&gt;     folderNodes.push(node);&lt;br /&gt;    }&lt;/span&gt;&lt;br /&gt;            &lt;br /&gt;         }&lt;br /&gt;         else&lt;br /&gt;         {&lt;br /&gt;            documentNodes.push(node);&lt;br /&gt;         }&lt;br /&gt;      }&lt;br /&gt;      catch (e)&lt;br /&gt;      {&lt;br /&gt;         // Possibly an old indexed node - ignore it&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;   &lt;br /&gt;   // Node type counts&lt;br /&gt;   var folderNodesCount = folderNodes.length,&lt;br /&gt;      documentNodesCount = documentNodes.length,&lt;br /&gt;      nodes, totalRecords;&lt;br /&gt;&lt;br /&gt;   if (parsedArgs.type === "documents")&lt;br /&gt;   {&lt;br /&gt;      nodes = documentNodes;&lt;br /&gt;   }&lt;br /&gt;   else&lt;br /&gt;   {&lt;br /&gt;      nodes = folderNodes.concat(documentNodes);&lt;br /&gt;   }&lt;br /&gt;   totalRecords = nodes.length;&lt;br /&gt;   &lt;br /&gt;   // Pagination&lt;br /&gt;   var pageSize = args.size || nodes.length,&lt;br /&gt;      pagePos = args.pos || "1",&lt;br /&gt;      startIndex = (pagePos - 1) * pageSize;&lt;br /&gt;&lt;br /&gt;   // Trim the nodes array down to the page size&lt;br /&gt;   nodes = nodes.slice(startIndex, pagePos * pageSize);&lt;br /&gt;&lt;br /&gt;   // Common or variable parent container?&lt;br /&gt;   var parent = null;&lt;br /&gt;   &lt;br /&gt;   if (!filterParams.variablePath)&lt;br /&gt;   {&lt;br /&gt;      // Parent node permissions (and Site role if applicable)&lt;br /&gt;      parent =&lt;br /&gt;      {&lt;br /&gt;         node: parsedArgs.pathNode,&lt;br /&gt;         userAccess: Evaluator.run(parsedArgs.pathNode, true).actionPermissions&lt;br /&gt;      };&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   var isThumbnailNameRegistered = thumbnailService.isThumbnailNameRegistered(THUMBNAIL_NAME),&lt;br /&gt;      thumbnail = null,&lt;br /&gt;      locationNode,&lt;br /&gt;      item;&lt;br /&gt;   &lt;br /&gt;   // Loop through and evaluate each node in this result set&lt;br /&gt;   for each (node in nodes)&lt;br /&gt;   {&lt;br /&gt;      // Get evaluated properties.&lt;br /&gt;      item = Evaluator.run(node);&lt;br /&gt;      item.isFavourite = (favourites[item.node.nodeRef] === true);&lt;br /&gt;&lt;br /&gt;      // Does this collection of nodes have potentially differering paths?&lt;br /&gt;      if (filterParams.variablePath || item.isLink)&lt;br /&gt;      {&lt;br /&gt;         locationNode = (item.isLink &amp;&amp; item.type == "document") ? item.linkNode : item.node;&lt;br /&gt;         location = Common.getLocation(locationNode);&lt;br /&gt;      }&lt;br /&gt;      else&lt;br /&gt;      {&lt;br /&gt;         location =&lt;br /&gt;         {&lt;br /&gt;            site: parsedArgs.location.site,&lt;br /&gt;            siteTitle: parsedArgs.location.siteTitle,&lt;br /&gt;            container: parsedArgs.location.container,&lt;br /&gt;            path: parsedArgs.location.path,&lt;br /&gt;            file: node.name&lt;br /&gt;         };&lt;br /&gt;      }&lt;br /&gt;      &lt;br /&gt;      // Resolved location&lt;br /&gt;      item.location = location;&lt;br /&gt;      &lt;br /&gt;      // Is our thumbnail type registered?&lt;br /&gt;      if (isThumbnailNameRegistered)&lt;br /&gt;      {&lt;br /&gt;         // Make sure we have a thumbnail.&lt;br /&gt;         thumbnail = item.node.getThumbnail(THUMBNAIL_NAME);&lt;br /&gt;         if (thumbnail === null)&lt;br /&gt;         {&lt;br /&gt;            // No thumbnail, so queue creation&lt;br /&gt;            item.node.createThumbnail(THUMBNAIL_NAME, true);&lt;br /&gt;         }&lt;br /&gt;      }&lt;br /&gt;      &lt;br /&gt;      items.push(item);&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   return (&lt;br /&gt;   {&lt;br /&gt;      luceneQuery: query,&lt;br /&gt;      paging:&lt;br /&gt;      {&lt;br /&gt;         totalRecords: totalRecords,&lt;br /&gt;         startIndex: startIndex&lt;br /&gt;      },&lt;br /&gt;      parent: parent,&lt;br /&gt;      onlineEditing: utils.moduleInstalled("org.alfresco.module.vti"),&lt;br /&gt;      itemCount:&lt;br /&gt;      {&lt;br /&gt;         folders: folderNodesCount,&lt;br /&gt;         documents: documentNodesCount&lt;br /&gt;      },&lt;br /&gt;      items: items&lt;br /&gt;   });&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * Document List Component: doclist&lt;br /&gt; */&lt;br /&gt;model.doclist = getDoclist();&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7553750431826607898-2673135785257278500?l=basanagowdapatil.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basanagowdapatil.blogspot.com/feeds/2673135785257278500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/01/hiding-guest-home-userhomes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2673135785257278500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7553750431826607898/posts/default/2673135785257278500'/><link rel='alternate' type='text/html' href='http://basanagowdapatil.blogspot.com/2011/01/hiding-guest-home-userhomes.html' title='Hiding Guest Home, UserHomes , DataDictionary in Alfresco share'/><author><name>Basu</name><uri>http://www.blogger.com/profile/17566381043369080635</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://1.bp.blogspot.com/_L9WLEGhh9fU/TPdnjtcJNQI/AAAAAAAABd0/8Gelb73qjdI/S220/Patil.jpg'/></author><thr:total>0</thr:total></entry></feed>
