<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DEUBQnY8fyp7ImA9Wx5RGEQ.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472</id><updated>2010-08-27T01:04:13.877-07:00</updated><title>Going to an OpenSource ECM World....</title><subtitle type="html">Since New Technology of Information and Communication creation, our society become a mass information network. 
But what should we do with this information generally unstructured ? How can we share it ? How can we manage and distribute it ?  
A possible answer : Open Source ECM !</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://www.open-source-ecm.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>95</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/GoingToAnOpensourceEcmWorld" /><feedburner:info uri="goingtoanopensourceecmworld" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-nc/3.0/" /><feedburner:emailServiceId>GoingToAnOpensourceEcmWorld</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;CEQFR3k5cSp7ImA9WxFRFEg.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472.post-5598070701325906631</id><published>2010-04-28T02:49:00.000-07:00</published><updated>2010-04-28T03:58:36.729-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-28T03:58:36.729-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Tutorial" /><category scheme="http://www.blogger.com/atom/ns#" term="Maven+Alfresco" /><category scheme="http://www.blogger.com/atom/ns#" term="Contribution" /><category scheme="http://www.blogger.com/atom/ns#" term="Alfresco" /><category scheme="http://www.blogger.com/atom/ns#" term="Maven" /><title>Maven + Alfresco : Delivery and Assembly</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_HuDWht5cbyc/S8F2u0M8JwI/AAAAAAAAAxQ/x0yv4w6f7UY/s1600/AlfrescoMaven.PNG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 142px;" src="http://3.bp.blogspot.com/_HuDWht5cbyc/S8F2u0M8JwI/AAAAAAAAAxQ/x0yv4w6f7UY/s320/AlfrescoMaven.PNG" alt="" id="BLOGGER_PHOTO_ID_5458774770008729346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Hello everyone!&lt;br /&gt;&lt;br /&gt;It is time to talk about the delivery format of your project. You tell me, he use for many post AMP format and now he wants to give us something else? Yeap it's true...!&lt;br /&gt;&lt;br /&gt;Depending on your projects, your distribution of roles, your teams and your business practices, the delivery format can be simple or very very complex!&lt;br /&gt;&lt;br /&gt;Take the classic case, on the one side we have a development team and in the other side we have an operation (production) team. The first one is responsible for creating the product, the other is in charge of installing the product and verify that it works throughout its lifetime.&lt;br /&gt;&lt;br /&gt;The question: &lt;span style="font-weight: bold;"&gt;What is the exchange format of product between these two teams?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;Ps: we will not consider here all the documentation from the production team ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Let's make a list of possible cases:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;    &lt;span style="font-weight: bold;"&gt;AMP(s)&lt;/span&gt;: For the development team is the simple format. Indeed it is the output format of our project! So you have just to get AMP file and send it! Of course if our project consists of several AMPs, we will send all AMPs. In this case, the production team is responsible for generating the WAR application using the script provided by Alfresco.&lt;/li&gt;&lt;li&gt;    &lt;span style="font-weight: bold;"&gt;A WAR&lt;/span&gt;: Here the development team is responsible for creating the war. They have to integrate different modules in the default Alfresco war. The production team have to simply install the application.&lt;/li&gt;&lt;li&gt;    &lt;span style="font-weight: bold;"&gt;AMP + WAR&lt;/span&gt;: In this scenario, the production team want to have the application and AMPs.&lt;/li&gt;&lt;li&gt;    &lt;span style="font-weight: bold;"&gt;Other&lt;/span&gt;: Here you can invent anything that goes through your head. If you work in big projects, or in a large size companies, I think you have very beautiful examples!&lt;/li&gt;&lt;/ul&gt;As you can see, examples are not lacking! It is rather the opposite. The question :&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;How can we create these new delivery formats in our AMP project ?&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The idea as usual is to run a Maven command and wait for the generated file(s). Never forget that the developer is supposed to be lazy  ^ ^.&lt;br /&gt;&lt;br /&gt;In lines below, I will present two approaches to generate anything other than your AMP. These approaches are based on a new project called &lt;span style="font-weight: bold;"&gt;war-alf-osecm&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Note: This approach is not very consistent with the philosophy but Maven does the work desired.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;Creating a new project AMP&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Defining Structure&lt;/span&gt;&lt;br /&gt;Create a directory with the name: &lt;span style="font-weight: bold;"&gt;alf-war-osecm&lt;/span&gt; and add a &lt;span style="font-weight: bold;"&gt;pom.xml&lt;/span&gt; with value below&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&lt;br /&gt; xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;&lt;br /&gt; &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;&lt;br /&gt; &lt;groupId&gt;fr.opensourceecm&lt;/groupId&gt;&lt;br /&gt; &lt;artifactId&gt;alf-war-osecm&lt;/artifactId&gt;&lt;br /&gt; &lt;packaging&gt;pom&lt;/packaging&gt;&lt;br /&gt; &lt;version&gt;0.1&lt;/version&gt;&lt;br /&gt; &lt;name&gt;Alfresco AMP Open Source ECM&lt;/name&gt;&lt;br /&gt; &lt;description&gt;Open Source ECM - Extension&lt;/description&gt;&lt;br /&gt;&lt;/project&gt;&lt;br /&gt;&lt;/pre&gt;   &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;br /&gt;Integrating the tool into a repository&lt;/span&gt;&lt;br /&gt;In this project, we will use &lt;a href="http://wiki.alfresco.com/wiki/Module_Management_Tool"&gt;AlfrescoModule Management Tool&lt;/a&gt; . This module is available in the &lt;span style="font-weight: bold;"&gt;bin&lt;/span&gt; directory of Alfresco standard installation . It is also available here:&lt;a href="http://wiki.alfresco.com/wiki/Community_Edition_file_list_3.3"&gt; http://wiki.alfresco.com/wiki/Community_Edition_file_list_3.3&lt;/a&gt;.&lt;br /&gt;So initially, we will install this file in our maven repository with the command:&lt;br /&gt;&lt;pre class="brush: plain"&gt;&lt;br /&gt;call mvn install:install-file  -Dfile=alfresco-mmt.jar -DgroupId=org.alfresco.sdk -DartifactId=mmt  -Dversion=3.3 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;Note : We perform this command in the directory where Alfresco module management tool file is. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Due to this integreation, It will be possible to find it through the classic mechanism of dependency .&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Create a new Alfresco WAR&lt;/span&gt;&lt;br /&gt;Now, as the title suggests, I want to generate a WAR with all AMPs. It will integrate all AMPs in a WAR Alfresco. This process will be divided into 4 parts.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;    &lt;span style="font-weight: bold;"&gt;Setting Properties&lt;/span&gt;: In this part, we will initialize the properties that we used during other parts.&lt;/li&gt;&lt;li&gt;    &lt;span style="font-weight: bold;"&gt;Import pre-requisite&lt;/span&gt;: We will install  Alfresco war and tool into our working directory.&lt;/li&gt;&lt;li&gt;    &lt;span style="font-weight: bold;"&gt;Import of AMP&lt;/span&gt;: In our working directory, we will create a subdirectory that will serve to contain all AMPs to integrate.&lt;/li&gt;&lt;li&gt;    &lt;span style="font-weight: bold;"&gt;War &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Generation &lt;/span&gt;: Here, we will launch a command line to integrate AMPs&lt;/li&gt;&lt;li&gt;    &lt;span style="font-weight: bold;"&gt;(Optional) Install war in maven repository&lt;/span&gt;: After generation, you can optionally add the generated war in our maven repository.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Setting Properties&lt;/span&gt;&lt;br /&gt;We will define four properties&lt;br /&gt;&lt;ul&gt;&lt;li&gt;    &lt;span style="font-weight: bold;"&gt;Work.dir&lt;/span&gt;: Working directory&lt;/li&gt;&lt;li&gt;    &lt;span style="font-weight: bold;"&gt;Amps.dir:&lt;/span&gt; AMP directory&lt;br /&gt;&lt;/li&gt;&lt;li&gt;    &lt;span style="font-weight: bold;"&gt;Mmt.jar:&lt;/span&gt; Module Management Tool filename &lt;/li&gt;&lt;li&gt;    &lt;span style="font-weight: bold;"&gt;Alfresco.war:&lt;/span&gt; Alfresco war filename&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;properties&gt;&lt;br /&gt;    &lt;work.dir&gt;livraison&lt;/work.dir&gt;&lt;br /&gt;    &lt;amps.dir&gt;amps&lt;/amps.dir&gt;&lt;br /&gt;    &lt;mmt.jar&gt;mmt.jar&lt;/mmt.jar&gt;&lt;br /&gt;    &lt;alfresco.war&gt;alfresco.war&lt;/alfresco.war&gt;&lt;br /&gt;&lt;/properties&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Import pre-requisites&lt;/span&gt;&lt;br /&gt;Via the plugin &lt;a href="http://maven.apache.org/plugins/maven-dependency-plugin/index.html"&gt;maven-dependency-plugin&lt;/a&gt; we will use the goal &lt;a href="http://maven.apache.org/plugins/maven-dependency-plugin/copy-mojo.html"&gt;copy&lt;/a&gt; during the &lt;a href="http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference"&gt;prepare-package &lt;/a&gt;phase. To simplify, we want to copy a set of dependencies (alfresco.war and tool) in our working directory.&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;plugin&gt;&lt;br /&gt;    &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;&lt;br /&gt;    &lt;artifactId&gt;maven-dependency-plugin&lt;/artifactId&gt;&lt;br /&gt;    &lt;executions&gt;&lt;br /&gt;        &lt;execution&gt;&lt;br /&gt;            &lt;id&gt;war-copy-requisites&lt;/id&gt;&lt;br /&gt;            &lt;phase&gt;prepare-package&lt;/phase&gt;&lt;br /&gt;            &lt;goals&gt;&lt;br /&gt;                &lt;goal&gt;copy&lt;/goal&gt;&lt;br /&gt;            &lt;/goals&gt;&lt;br /&gt;            &lt;configuration&gt;&lt;br /&gt;                &lt;artifactItems&gt;&lt;br /&gt;                    &lt;artifactItem&gt;&lt;br /&gt;                        &lt;groupId&gt;org.alfresco.sdk&lt;/groupId&gt;&lt;br /&gt;                        &lt;artifactId&gt;alfresco-community-war&lt;/artifactId&gt;&lt;br /&gt;                        &lt;version&gt;3.3&lt;/version&gt;&lt;br /&gt;                        &lt;type&gt;war&lt;/type&gt;&lt;br /&gt;                        &lt;outputDirectory&gt;${project.build.directory}/${work.dir}&lt;/outputDirectory&gt;&lt;br /&gt;                        &lt;destFileName&gt;${alfresco.war}&lt;/destFileName&gt;&lt;br /&gt;                    &lt;/artifactItem&gt;&lt;br /&gt;                    &lt;artifactItem&gt;&lt;br /&gt;                        &lt;groupId&gt;org.alfresco.sdk&lt;/groupId&gt;&lt;br /&gt;                        &lt;artifactId&gt;mmt&lt;/artifactId&gt;&lt;br /&gt;                        &lt;version&gt;3.3&lt;/version&gt;&lt;br /&gt;                        &lt;type&gt;jar&lt;/type&gt;&lt;br /&gt;                        &lt;outputDirectory&gt;${project.build.directory}/${work.dir}&lt;/outputDirectory&gt;&lt;br /&gt;                        &lt;destFileName&gt;${mmt.jar}&lt;/destFileName&gt;&lt;br /&gt;                    &lt;/artifactItem&gt;&lt;br /&gt;                &lt;/artifactItems&gt;&lt;br /&gt;            &lt;/configuration&gt;&lt;br /&gt;        &lt;/execution&gt;&lt;br /&gt;    &lt;/executions&gt;&lt;br /&gt;&lt;/plugin&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Import AMP&lt;/span&gt;&lt;br /&gt;In this stage, we will add a &lt;span style="font-weight: bold;"&gt;dependencies &lt;/span&gt;block in our pom.xml. In our case, dependencies  contains 2 dependencies :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;    &lt;span style="font-weight: bold;"&gt;fr.opensourceecm:alf-osecm-am:amp:0.0.5&lt;/span&gt;&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;    org.alfresco.sample:SDK-CustomWizard:amp:1.0&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Our pom.xml looks like&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;dependencies&gt;&lt;br /&gt;    &lt;dependency&gt;&lt;br /&gt;        &lt;groupId&gt;fr.opensourceecm&lt;/groupId&gt;&lt;br /&gt;        &lt;artifactId&gt;alf-amp-osecm&lt;/artifactId&gt;&lt;br /&gt;        &lt;version&gt;0.0.5&lt;/version&gt;&lt;br /&gt;        &lt;type&gt;amp&lt;/type&gt;&lt;br /&gt;    &lt;/dependency&gt;&lt;br /&gt;    &lt;dependency&gt;&lt;br /&gt;        &lt;groupId&gt;org.alfresco.sample&lt;/groupId&gt;&lt;br /&gt;        &lt;artifactId&gt;SDK-CustomWizard&lt;/artifactId&gt;&lt;br /&gt;        &lt;version&gt;1.0&lt;/version&gt;&lt;br /&gt;        &lt;type&gt;amp&lt;/type&gt;&lt;br /&gt;    &lt;/dependency&gt;&lt;br /&gt;&lt;/dependencies&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Then, we continue using maven-dependency-plugin.  We will realize the goal copy-dependencies in the phase of prepare-package. More simply, we want to copy all MPAs (defined in length) in a subdirectory of work amps.dir ().&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;plugin&gt;&lt;br /&gt;    &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;&lt;br /&gt;    &lt;artifactId&gt;maven-dependency-plugin&lt;/artifactId&gt;&lt;br /&gt;    &lt;executions&gt;&lt;br /&gt;        &lt;execution&gt;&lt;br /&gt;            &lt;id&gt;war-copy-amp&lt;/id&gt;&lt;br /&gt;            &lt;phase&gt;prepare-package&lt;/phase&gt;&lt;br /&gt;            &lt;goals&gt;&lt;br /&gt;                &lt;goal&gt;copy-dependencies&lt;/goal&gt;&lt;br /&gt;            &lt;/goals&gt;&lt;br /&gt;            &lt;configuration&gt;&lt;br /&gt;                &lt;includeTypes&gt;amp&lt;/includeTypes&gt;&lt;br /&gt;                &lt;outputDirectory&gt;${project.build.directory}/${work.dir}/${amps.dir}&lt;/outputDirectory&gt;&lt;br /&gt;                &lt;overWriteReleases&gt;false&lt;/overWriteReleases&gt;&lt;br /&gt;                &lt;overWriteSnapshots&gt;true&lt;/overWriteSnapshots&gt;&lt;br /&gt;                &lt;excludeTransitive&gt;true&lt;/excludeTransitive&gt;&lt;br /&gt;            &lt;/configuration&gt;&lt;br /&gt;        &lt;/execution&gt;&lt;br /&gt;    &lt;/executions&gt;&lt;br /&gt;&lt;/plugin&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;War &lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Generation&lt;/span&gt;&lt;br /&gt;Via the plugin&lt;a href="http://mojo.codehaus.org/exec-maven-plugin/"&gt; exec-maven-plugin&lt;/a&gt;, we will realize the goal &lt;a href="http://mojo.codehaus.org/exec-maven-plugin/exec-mojo.html"&gt;exec&lt;/a&gt; during the package &lt;a href="http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference"&gt;phase&lt;/a&gt;. In other words, we want to achieve the same behavior as &lt;span style="font-weight: bold;"&gt;apply-amps.bat&lt;/span&gt; file (or .sh) but via Maven.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;plugin&gt;&lt;br /&gt;    &lt;groupId&gt;org.codehaus.mojo&lt;/groupId&gt;&lt;br /&gt;    &lt;artifactId&gt;exec-maven-plugin&lt;/artifactId&gt;&lt;br /&gt;    &lt;version&gt;1.1&lt;/version&gt;&lt;br /&gt;    &lt;executions&gt;&lt;br /&gt;        &lt;execution&gt;&lt;br /&gt;            &lt;id&gt;war-create&lt;/id&gt;&lt;br /&gt;            &lt;phase&gt;package&lt;/phase&gt;&lt;br /&gt;            &lt;goals&gt;&lt;br /&gt;                &lt;goal&gt;exec&lt;/goal&gt;&lt;br /&gt;            &lt;/goals&gt;&lt;br /&gt;        &lt;/execution&gt;&lt;br /&gt;    &lt;/executions&gt;&lt;br /&gt;    &lt;configuration&gt;&lt;br /&gt;        &lt;executable&gt;java&lt;/executable&gt;&lt;br /&gt;        &lt;arguments&gt;&lt;br /&gt;            &lt;argument&gt;-jar&lt;/argument&gt;&lt;br /&gt;            &lt;argument&gt;${project.build.directory}/${work.dir}/${mmt.jar}&lt;/argument&gt;&lt;br /&gt;            &lt;argument&gt;install&lt;/argument&gt;&lt;br /&gt;            &lt;argument&gt;${project.build.directory}/${work.dir}/${amps.dir}&lt;/argument&gt;&lt;br /&gt;            &lt;argument&gt;${project.build.directory}/${work.dir}/${alfresco.war}&lt;/argument&gt;&lt;br /&gt;            &lt;argument&gt;-directory&lt;/argument&gt;&lt;br /&gt;        &lt;/arguments&gt;&lt;br /&gt;    &lt;/configuration&gt;&lt;br /&gt;&lt;/plugin&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now it is possible to run the command&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: plain"&gt;&lt;br /&gt;mvn clean package&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can now find in your &lt;span style="font-weight: bold;"&gt;work.dir&lt;/span&gt; a new &lt;span style="font-weight: bold;"&gt;alfresco.war&lt;/span&gt; containing &lt;span style="font-weight: bold;"&gt;all AMP  dependencies&lt;/span&gt; defined in our pom.xml.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;(Optional) Install the war locally&lt;/span&gt;&lt;br /&gt;If you want to install this war in your local repository (and thus be able to create dependencies for testing or integration purposes), here is the configuration to add to your build phase:&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;plugin&gt;&lt;br /&gt;    &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;&lt;br /&gt;    &lt;artifactId&gt;maven-install-plugin&lt;/artifactId&gt;&lt;br /&gt;    &lt;version&gt;2.3&lt;/version&gt;&lt;br /&gt;    &lt;executions&gt;&lt;br /&gt;        &lt;execution&gt;&lt;br /&gt;            &lt;id&gt;war-install&lt;/id&gt;&lt;br /&gt;            &lt;phase&gt;install&lt;/phase&gt;&lt;br /&gt;            &lt;goals&gt;&lt;br /&gt;                &lt;goal&gt;install-file&lt;/goal&gt;&lt;br /&gt;            &lt;/goals&gt;&lt;br /&gt;            &lt;configuration&gt;&lt;br /&gt;                &lt;file&gt;${project.build.directory}/${work.dir}/${alfresco.war}&lt;/file&gt;&lt;br /&gt;                &lt;groupId&gt;${project.groupId}&lt;/groupId&gt;&lt;br /&gt;                &lt;artifactId&gt;${project.artifactId}&lt;/artifactId&gt;&lt;br /&gt;                &lt;version&gt;${project.version}&lt;/version&gt;&lt;br /&gt;                &lt;packaging&gt;war&lt;/packaging&gt;&lt;br /&gt;                &lt;classifier&gt;test&lt;/classifier&gt;&lt;br /&gt;                &lt;generatePom&gt;true&lt;/generatePom&gt;&lt;br /&gt;                &lt;createChecksum&gt;true&lt;/createChecksum&gt;&lt;br /&gt;            &lt;/configuration&gt;&lt;br /&gt;        &lt;/execution&gt;&lt;br /&gt;    &lt;/executions&gt;&lt;br /&gt;&lt;/plugin&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;With the command&lt;br /&gt;&lt;pre class="brush: plain"&gt;&lt;br /&gt;mvn clean install&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;you can install your new war. Of course, you can change various settings to suit your needs ...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;Note: You can do the same deploy phase if you change some parameters... ^ ^&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Create a custom delivery format&lt;/span&gt;&lt;br /&gt;Now we'll look at creating a custom delivery format. In my case, I wish&lt;br /&gt;&lt;ul&gt;&lt;li&gt;    Create a &lt;span style="font-weight: bold;"&gt;zip file&lt;/span&gt; containing&lt;br /&gt;&lt;/li&gt;&lt;li&gt;    A root folder : &lt;span style="font-weight: bold;"&gt;groupId.artifactId&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;    A sub-folder &lt;span style="font-weight: bold;"&gt;amps &lt;/span&gt;containing my amps&lt;br /&gt;&lt;/li&gt;&lt;li&gt;    A sub-folder &lt;span style="font-weight: bold;"&gt;application &lt;/span&gt;containing alfresco.war (with the amp already include)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;To do the job, I'll use &lt;a bitly="BITLY_PROCESSED" href="http://maven.apache.org/plugins/maven-assembly-plugin/"&gt;maven-assembly-plugin&lt;/a&gt;. This plugin is used to create custom distribution formats. Configuration of this plugin is done in 2 steps:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Create a description file&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Adding configuration in pom.xml&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;br /&gt;Create a description file&lt;/span&gt;&lt;br /&gt;This description file defines the expected result ie what are the directories to create, file formats, rights, encoding ... We can actually define a lot of parameters!&lt;br /&gt;&lt;br /&gt;In our case, we will create &lt;span style="font-weight: bold;"&gt;osecm-assembly.xml&lt;/span&gt; in &lt;span style="font-weight: bold;"&gt;alf-war-osecm\src\assembly&lt;/span&gt; directory&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;. This file contains the following configuration:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" &lt;br /&gt;  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&lt;br /&gt;  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd"&gt;&lt;br /&gt;  &lt;id&gt;production&lt;/id&gt;&lt;br /&gt;  &lt;formats&gt;&lt;br /&gt;    &lt;format&gt;zip&lt;/format&gt;&lt;br /&gt;  &lt;/formats&gt;&lt;br /&gt;  &lt;baseDirectory&gt;${project.groupId}.${project.artifactId}.${project.version}&lt;/baseDirectory&gt;&lt;br /&gt;  &lt;fileSets&gt;&lt;br /&gt;   &lt;fileSet&gt;&lt;br /&gt;    &lt;directory&gt;target/${work.dir}&lt;/directory&gt;&lt;br /&gt;    &lt;lineEnding&gt;unix&lt;/lineEnding&gt;&lt;br /&gt;    &lt;outputDirectory&gt;/application&lt;/outputDirectory&gt;&lt;br /&gt;    &lt;includes&gt;&lt;br /&gt;     &lt;include&gt;${alfresco.war}&lt;/include&gt;&lt;br /&gt;    &lt;/includes&gt;&lt;br /&gt;   &lt;/fileSet&gt;&lt;br /&gt;  &lt;/fileSets&gt;&lt;br /&gt;  &lt;dependencySets&gt;&lt;br /&gt;    &lt;dependencySet&gt;&lt;br /&gt;      &lt;outputDirectory&gt;/${amps.dir}&lt;/outputDirectory&gt;&lt;br /&gt;      &lt;includes&gt;&lt;br /&gt;        &lt;include&gt;org.alfresco.sample:SDK-CustomWizard&lt;/include&gt;&lt;br /&gt;        &lt;include&gt;fr.opensourceecm:alf-amp-osecm&lt;/include&gt;&lt;br /&gt;      &lt;/includes&gt;&lt;br /&gt;    &lt;/dependencySet&gt;&lt;br /&gt;  &lt;/dependencySets&gt;&lt;br /&gt;&lt;/assembly&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As you can see, it takes the configuration expected in my requirements.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Adding to the pom.xml&lt;/span&gt;&lt;br /&gt;Now we must declare in the pom.xml this new file. So we add &lt;a href="http://maven.apache.org/plugins/maven-assembly-plugin/"&gt;maven-assembly-plugin&lt;/a&gt; with the configuration below&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;plugin&gt;&lt;br /&gt;    &lt;artifactId&gt;maven-assembly-plugin&lt;/artifactId&gt;&lt;br /&gt;    &lt;configuration&gt;&lt;br /&gt;        &lt;descriptors&gt;&lt;br /&gt;            &lt;descriptor&gt;src/assembly/osecm-assembly.xml&lt;/descriptor&gt;&lt;br /&gt;        &lt;/descriptors&gt;&lt;br /&gt;    &lt;/configuration&gt;&lt;br /&gt;&lt;/plugin&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Start assembly&lt;/span&gt;&lt;br /&gt;Finally, I can run the command :&lt;br /&gt;&lt;pre class="brush: plain"&gt;&lt;br /&gt;mvn clean assembly:assembly&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This command assemble my custom distribution format. In the &lt;span style="font-weight: bold;"&gt;target &lt;/span&gt;directory, you can find your custom file called : &lt;span style="font-weight: bold;"&gt;alf-war-osecm-0.1-production.zip&lt;/span&gt; ready to be sent!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic; color: rgb(255, 0, 0);"&gt;Note: This plugin may be greedy in memory. To resolve this problem increase values  in MAVEN_OPTS environment variable.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1400114241100585472-5598070701325906631?l=www.open-source-ecm.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=FZEiuheFJW0:-7nT13eq5qw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=FZEiuheFJW0:-7nT13eq5qw:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=FZEiuheFJW0:-7nT13eq5qw:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=FZEiuheFJW0:-7nT13eq5qw:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=FZEiuheFJW0:-7nT13eq5qw:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=FZEiuheFJW0:-7nT13eq5qw:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=FZEiuheFJW0:-7nT13eq5qw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=FZEiuheFJW0:-7nT13eq5qw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=FZEiuheFJW0:-7nT13eq5qw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=FZEiuheFJW0:-7nT13eq5qw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=FZEiuheFJW0:-7nT13eq5qw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=FZEiuheFJW0:-7nT13eq5qw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=FZEiuheFJW0:-7nT13eq5qw:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoingToAnOpensourceEcmWorld/~4/FZEiuheFJW0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/5598070701325906631/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1400114241100585472&amp;postID=5598070701325906631" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/5598070701325906631?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/5598070701325906631?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoingToAnOpensourceEcmWorld/~3/FZEiuheFJW0/maven-alfresco-delivery-and-assembly.html" title="Maven + Alfresco : Delivery and Assembly" /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07200841589930120062" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_HuDWht5cbyc/S8F2u0M8JwI/AAAAAAAAAxQ/x0yv4w6f7UY/s72-c/AlfrescoMaven.PNG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.open-source-ecm.com/2010/04/maven-alfresco-delivery-and-assembly.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08GRX4zfyp7ImA9WxFRFEk.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472.post-2179664099000255418</id><published>2010-04-28T01:02:00.000-07:00</published><updated>2010-04-28T02:10:24.087-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-28T02:10:24.087-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Tutorial" /><category scheme="http://www.blogger.com/atom/ns#" term="Maven+Alfresco" /><category scheme="http://www.blogger.com/atom/ns#" term="Contribution" /><category scheme="http://www.blogger.com/atom/ns#" term="Alfresco" /><category scheme="http://www.blogger.com/atom/ns#" term="Maven" /><title>Maven + Alfresco : Multi-AMP relationship</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_HuDWht5cbyc/S8F2u0M8JwI/AAAAAAAAAxQ/x0yv4w6f7UY/s1600/AlfrescoMaven.PNG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 142px;" src="http://3.bp.blogspot.com/_HuDWht5cbyc/S8F2u0M8JwI/AAAAAAAAAxQ/x0yv4w6f7UY/s320/AlfrescoMaven.PNG" alt="" id="BLOGGER_PHOTO_ID_5458774770008729346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hello World!&lt;br /&gt;&lt;br /&gt;This time I'll try to explain multi-AMP relationships and how they can be managed with Maven and Alfresco...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;Introduction&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The problem is as follows:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;In a multi-AMP project, how we organize those relationships  in our &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Maven &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;project(s) ?&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Suppose we want to create a project with 3 AMPS: A, B, C&lt;br /&gt;&lt;br /&gt;Above all, what are the relationships between these three AMPS? Are they independent, interdependent ? What are relations induced?&lt;br /&gt;&lt;br /&gt;Then, what is the delivery format of our application? Is it a WAR, a single AMP, a set of AMP, a particular format of delivery...&lt;br /&gt;&lt;br /&gt;According to the answers of each question, we have to create different policy! and of course, we have to create different configuration of Maven projects!&lt;br /&gt;&lt;br /&gt;In general, I identify several use cases.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Simple relationships&lt;/span&gt;: In other words it is the same dependency that we've seen since we began our projects. In our case, modules A, B and C are independent, but our production server needs these three AMP to match our user's needs. For example, we want to integrate Alfresco RM module, SharePoint module and our own module including our personalization.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Dependencies (weak and strong)&lt;/span&gt;: In this case, one module needs another module to work. A simple example is the association that may exist between a model of data and actions associated with this data model. If the model doesn't exist and if is not installed then B can't work. If B is changed so it changes the behavior of A.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;How to define (and test!) these relationships in our project?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Simple relationships&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;First, we will use our historical &lt;span style="font-weight: bold;"&gt;alf-amp-osecm&lt;/span&gt; module.&lt;br /&gt;&lt;br /&gt;Currently, our module has only dependencies to libraries already present in the Alfresco war. There are no problem because when we start our jetty server with Alfresco war.&lt;br /&gt;&lt;br /&gt;But now I want to test my module with the presence of another modules.&lt;br /&gt;&lt;br /&gt;Today for example, I'll take the module &lt;span style="font-weight: bold;"&gt;SDK-TaggingSample&lt;/span&gt; (previously created - cf. &lt;a href="http://www.open-source-ecm.com/2010/04/maven-alfresco-alfresco-sdk-migration.html"&gt;Post here&lt;/a&gt;). The idea is to&lt;br /&gt;&lt;ul&gt;&lt;li&gt;add &lt;span style="font-weight: bold;"&gt;SDK-TaggingSample &lt;/span&gt;module into Alfresco.war,&lt;br /&gt;&lt;/li&gt;&lt;li&gt;package my &lt;span style="font-weight: bold;"&gt;alf-amp-osecm &lt;/span&gt;module&lt;br /&gt;&lt;/li&gt;&lt;li&gt;run jetty to test the intregation and interaction between these modules&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;To add &lt;span style="font-weight: bold;"&gt;SDK-TaggingSample &lt;/span&gt;module, we will modify the pom.xml of &lt;span style="font-weight: bold;"&gt;alf-amp-osecm&lt;/span&gt; and the declaration below between &lt;span style="font-weight: bold;"&gt;dependencies&lt;/span&gt; tags  &lt;span style="font-weight: bold;"&gt;&lt;/span&gt; in the &lt;span style="font-weight: bold;"&gt;webapp Profile&lt;/span&gt;.&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;dependency&gt;&lt;br /&gt;   &lt;groupid&gt;org.alfresco.sample&lt;/groupid&gt;&lt;br /&gt;   &lt;artifactid&gt;SDK-TaggingSample&lt;/artifactid&gt;&lt;br /&gt;   &lt;type&gt;amp&lt;/type&gt;&lt;br /&gt;   &lt;version&gt;1.0&lt;/version&gt;&lt;br /&gt;&lt;/dependency&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;At this stage, we might say, it's good ! We can launch our application with the maven command:&lt;br /&gt;&lt;pre class="brush: plain"&gt;&lt;br /&gt;mvn clean integration-test -P webapp,clean-jetty -DskipTests=true&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;and we will have an Alfresco started with our two modules. Well in fact no... That would be too easy!&lt;br /&gt;&lt;br /&gt;The AMP format is a custom format which is not well recognized by Maven and related plugins. Maven recognized this format thanks to &lt;a href="http://maven.alfresco.com/nexus/content/repositories/alfresco-docs/maven-alfresco-lifecycle/plugins/maven-amp-plugin/index.html"&gt;&lt;span style="font-weight: bold;"&gt;maven-amp-plugin&lt;/span&gt;&lt;/a&gt;. But here we add an AMP dependency! The question  is : Does Maven know how to integrate this AMP into exploded war necessary to jetty server ? The answer is obviously NO!&lt;br /&gt;&lt;br /&gt;The solution lies in the declaration of a new plugin: &lt;a href="http://maven.apache.org/plugins/maven-dependency-plugin/"&gt;&lt;span style="font-weight: bold;"&gt;maven-dependency-plugin&lt;/span&gt;&lt;/a&gt;. This plugin as its name suggests can manipulate dependencies and artifacts and therefore AMP! We will configure this plugin to use our dependency and install AMP into our exploded war.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How ?&lt;/span&gt; We have to add the configuration below. It has to be incorporated in webapp profile (in my case, it is now in the project &lt;span style="font-weight: bold;"&gt;alf-sdk&lt;/span&gt;. re-factoring required! Nevertheless the declaration of dependency is in my pom.xml)&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;plugin&gt;&lt;br /&gt;   &lt;groupid&gt;org.apache.maven.plugins&lt;/groupid&gt;&lt;br /&gt;   &lt;artifactid&gt;maven-dependency-plugin&lt;/artifactid&gt;&lt;br /&gt;   &lt;executions&gt;&lt;br /&gt;       &lt;execution&gt;&lt;br /&gt;           &lt;id&gt;unpack-amps&lt;/id&gt;&lt;br /&gt;           &lt;phase&gt;process-resources&lt;/phase&gt;&lt;br /&gt;           &lt;goals&gt;&lt;br /&gt;               &lt;goal&gt;unpack-dependencies&lt;/goal&gt;&lt;br /&gt;           &lt;/goals&gt;&lt;br /&gt;           &lt;configuration&gt;&lt;br /&gt;               &lt;includetypes&gt;amp&lt;/includetypes&gt;&lt;br /&gt;               &lt;outputdirectory&gt;${build.directory}/${webapp.name}&lt;/outputdirectory&gt;&lt;br /&gt;               &lt;excludes&gt;META*&lt;/excludes&gt;&lt;br /&gt;           &lt;/configuration&gt;&lt;br /&gt;       &lt;/execution&gt;&lt;br /&gt;   &lt;/executions&gt;&lt;br /&gt;   &lt;dependencies&gt;&lt;br /&gt;       &lt;dependency&gt;&lt;br /&gt;           &lt;groupid&gt;org.alfresco.maven.plugin&lt;/groupid&gt;&lt;br /&gt;           &lt;artifactid&gt;maven-amp-plugin&lt;/artifactid&gt;&lt;br /&gt;           &lt;version&gt;3.0.2&lt;/version&gt;&lt;br /&gt;       &lt;/dependency&gt;&lt;br /&gt;   &lt;/dependencies&gt;&lt;br /&gt;&lt;/plugin&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Note that this plugin will take all the dependencies of AMP type and will execute the goal: &lt;a href="http://maven.apache.org/plugins/maven-dependency-plugin/unpack-dependencies-mojo.html"&gt;&lt;span style="font-weight: bold;"&gt;unpack-dependencies&lt;/span&gt;&lt;/a&gt; in the directory &lt;span style="font-weight: bold;"&gt;$ (build.directory) / $ (webapp.name)&lt;/span&gt;. In other words, it will install AMP as would (almost) &lt;a href="http://wiki.alfresco.com/wiki/Module_Management_Tool"&gt;Alfresco Module Management Tool&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Next, we must add a &lt;span style="font-weight: bold;"&gt;testRessource &lt;/span&gt;block in &lt;span style="font-weight: bold;"&gt;webapp Profile &lt;/span&gt;.&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;testresource&gt;&lt;br /&gt;   &lt;filtering&gt;true&lt;/filtering&gt;&lt;br /&gt;   &lt;directory&gt;.&lt;/directory&gt;&lt;br /&gt;   &lt;includes&gt;&lt;br /&gt;       &lt;include&gt;module.properties&lt;/include&gt;&lt;br /&gt;   &lt;/includes&gt;&lt;br /&gt;   &lt;targetpath&gt;alfresco/module/${project.groupId}.${project.artifactId}&lt;/targetpath&gt;&lt;br /&gt;&lt;/testresource&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This block is necessary when we want to integrate several AMP in a war (which is our case here).&lt;br /&gt;&lt;br /&gt;Now we can run the command:&lt;br /&gt;&lt;pre class="brush: plain"&gt;&lt;br /&gt;mvn clean integration-test -P webapp,clean-jetty -DskipTests=true&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;and check (after a few minutes) our working AMPS!&lt;br /&gt;&lt;br /&gt;Technology is beautiful sometimes ;o)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Dependencies&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now we will focus on dependencies. In this case, I don't want my Alfresco app starts if my module doesn't have all necessary dependencies. If this case happens, we would have an unstable application that could damage data! (I obviously don't wish it...).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How to define these strong dependencies between my modules?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Due to significant changes in my code, I want to create a strong link between my &lt;span style="font-weight: bold;"&gt;alf-amp-osecm&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;SDK-TaggingSample&lt;/span&gt;. To do this, there is a mechanism defined in the AMP and available via &lt;span style="font-weight: bold;"&gt;module.properties&lt;/span&gt; (located at the root of our project).&lt;br /&gt;At the end of this file, simply add the line below to create a dependency:&lt;br /&gt;&lt;pre class="brush: plain"&gt;&lt;br /&gt;module.depends.org.alfresco.sample.SDK-TaggingSample=0.1-*&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Note the simple formalism:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Module.depends&lt;/span&gt;: to define a dependency module&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;groupId.artifactId  or module name&lt;/span&gt; : to identify the module&lt;/li&gt;&lt;li&gt;  &lt;span style="font-weight: bold;"&gt;XX - YY&lt;/span&gt;: To determine version range of the module to be taken into account (between XX and YY). In our exemple, our module depends on &lt;span style="font-weight: bold;"&gt;SDK-TaggingSample&lt;/span&gt; from version 0.1. (Note the possibility to use wildcard character that means any)&lt;/li&gt;&lt;/ul&gt;For more information: &lt;a href="http://wiki.alfresco.com/wiki/Developing_an_Alfresco_Module#Module_Properties"&gt;wiki.alfresco.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can now start the application via this Maven command:&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;mvn clean integration-test -P webapp -DskipTests=true&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;As you can see, nothing change! It's good but what we would like here is to verify that our mechanism works well. For this you have two choices.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;  Change the version number in the file &lt;span style="font-weight: bold;"&gt;module.properties.&lt;/span&gt; For example: &lt;span style="font-weight: bold;"&gt;module.depends.org.alfresco.sample.SDK-TaggingSample = 99.99-*&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Remove &lt;span style="font-weight: bold;"&gt;SDK-TaggingSample &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;dependency &lt;/span&gt;in dependencies block in our pom.xml.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;In both cases, restart the application and you will see in the console a nice stacktrace! It prohibits that you start the application if the dependency is not respected!&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;That's all for today!&lt;br /&gt;&lt;br /&gt;Mavenize well!&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;PS&lt;/span&gt; :&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;alf-sdk&lt;/span&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;sources &lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;are available here:&lt;br /&gt;&lt;a href="http://www.box.net/shared/exremqsr0m"&gt;http://www.box.net/shared/exremqsr0m&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;alf-amp-osecm&lt;/span&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;sources &lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;are available here:&lt;br /&gt;&lt;a href="http://www.box.net/shared/dzige0nchr"&gt;http://www.box.net/shared/dzige0nchr&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1400114241100585472-2179664099000255418?l=www.open-source-ecm.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=lNU7wX0b2J4:0zCEM2Blh9s:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=lNU7wX0b2J4:0zCEM2Blh9s:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=lNU7wX0b2J4:0zCEM2Blh9s:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=lNU7wX0b2J4:0zCEM2Blh9s:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=lNU7wX0b2J4:0zCEM2Blh9s:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=lNU7wX0b2J4:0zCEM2Blh9s:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=lNU7wX0b2J4:0zCEM2Blh9s:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=lNU7wX0b2J4:0zCEM2Blh9s:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=lNU7wX0b2J4:0zCEM2Blh9s:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=lNU7wX0b2J4:0zCEM2Blh9s:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=lNU7wX0b2J4:0zCEM2Blh9s:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=lNU7wX0b2J4:0zCEM2Blh9s:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=lNU7wX0b2J4:0zCEM2Blh9s:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoingToAnOpensourceEcmWorld/~4/lNU7wX0b2J4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/2179664099000255418/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1400114241100585472&amp;postID=2179664099000255418" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/2179664099000255418?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/2179664099000255418?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoingToAnOpensourceEcmWorld/~3/lNU7wX0b2J4/maven-alfresco-multi-amp-relationship.html" title="Maven + Alfresco : Multi-AMP relationship" /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07200841589930120062" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_HuDWht5cbyc/S8F2u0M8JwI/AAAAAAAAAxQ/x0yv4w6f7UY/s72-c/AlfrescoMaven.PNG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.open-source-ecm.com/2010/04/maven-alfresco-multi-amp-relationship.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08GRX4zcSp7ImA9WxFRFEk.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472.post-544166647623808579</id><published>2010-04-27T04:35:00.000-07:00</published><updated>2010-04-28T02:10:24.089-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-28T02:10:24.089-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Maven+Alfresco" /><category scheme="http://www.blogger.com/atom/ns#" term="Contribution" /><category scheme="http://www.blogger.com/atom/ns#" term="Alfresco" /><category scheme="http://www.blogger.com/atom/ns#" term="Maven" /><title>Maven + Alfresco : Alfresco SDK Migration</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_HuDWht5cbyc/S8F2u0M8JwI/AAAAAAAAAxQ/x0yv4w6f7UY/s1600/AlfrescoMaven.PNG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 142px;" src="http://3.bp.blogspot.com/_HuDWht5cbyc/S8F2u0M8JwI/AAAAAAAAAxQ/x0yv4w6f7UY/s320/AlfrescoMaven.PNG" alt="" id="BLOGGER_PHOTO_ID_5458774770008729346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Welcome Again (maybe...)!&lt;br /&gt;&lt;br /&gt;To continue my series about Maven and Alfresco practice, I propose today a straightforward exercise. Your mission, if you accept it, &lt;span style="font-weight: bold;"&gt;is to change Alfresco SDK samples to our custom AMP format !&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;What for ? Clearly... It's only for practice. With this exercice, you can see the benefits and limitations of this approach. This approach allow you to understand how maven build, test and integrate Alfresco AMP.&lt;br /&gt;&lt;br /&gt;For information about SDK, you can find this url very useful : &lt;a href="http://wiki.alfresco.com/wiki/Alfresco_SDK_3.3"&gt;http://wiki.alfresco.com/wiki/Alfresco_SDK_3.3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Currently I have successfully migrated following samples:&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;SDK Custom Dialog&lt;/li&gt;&lt;li&gt;JSP Custom SDK&lt;/li&gt;&lt;li&gt;Custom Log SDK&lt;/li&gt;&lt;li&gt;Custom SDK Wizard&lt;/li&gt;&lt;li&gt;Tagging SDK Sample&lt;/li&gt;&lt;/ul&gt;Each sample inherit the project &lt;span style="font-weight: bold;"&gt;alf-sdk&lt;/span&gt;. That's why you can execute commands below to:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Run unit tests:&lt;span style="font-weight: bold;"&gt; mvn clean test&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Install the project in the local repository: &lt;span style="font-weight: bold;"&gt;mvn install&lt;/span&gt;&lt;/li&gt;&lt;li&gt;(Reset)Initiate the database /: &lt;span style="font-weight: bold;"&gt;mvn clean -P clean-jetty&lt;/span&gt;&lt;/li&gt;&lt;li&gt; Restart the application: &lt;span style="font-weight: bold;"&gt;mvn integration-test -P&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; webapp&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;If you followed my previous posts, you should be able to do the same thing. Otherwise please see &lt;a style="font-weight: bold;" href="http://www.box.net/shared/vx57fetjg8"&gt;SOURCES&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;&lt;/a&gt;of each project that I made.&lt;br /&gt;&lt;br /&gt;See you soon for new adventures !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1400114241100585472-544166647623808579?l=www.open-source-ecm.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=NKXg39v70Ag:WtOCFgbG2Lg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=NKXg39v70Ag:WtOCFgbG2Lg:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=NKXg39v70Ag:WtOCFgbG2Lg:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=NKXg39v70Ag:WtOCFgbG2Lg:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=NKXg39v70Ag:WtOCFgbG2Lg:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=NKXg39v70Ag:WtOCFgbG2Lg:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=NKXg39v70Ag:WtOCFgbG2Lg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=NKXg39v70Ag:WtOCFgbG2Lg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=NKXg39v70Ag:WtOCFgbG2Lg:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=NKXg39v70Ag:WtOCFgbG2Lg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=NKXg39v70Ag:WtOCFgbG2Lg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=NKXg39v70Ag:WtOCFgbG2Lg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=NKXg39v70Ag:WtOCFgbG2Lg:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoingToAnOpensourceEcmWorld/~4/NKXg39v70Ag" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/544166647623808579/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1400114241100585472&amp;postID=544166647623808579" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/544166647623808579?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/544166647623808579?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoingToAnOpensourceEcmWorld/~3/NKXg39v70Ag/maven-alfresco-alfresco-sdk-migration.html" title="Maven + Alfresco : Alfresco SDK Migration" /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07200841589930120062" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_HuDWht5cbyc/S8F2u0M8JwI/AAAAAAAAAxQ/x0yv4w6f7UY/s72-c/AlfrescoMaven.PNG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.open-source-ecm.com/2010/04/maven-alfresco-alfresco-sdk-migration.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08GRX4yeCp7ImA9WxFRFEk.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472.post-841539496075181473</id><published>2010-04-25T13:25:00.001-07:00</published><updated>2010-04-28T02:10:24.090-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-28T02:10:24.090-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Tutorial" /><category scheme="http://www.blogger.com/atom/ns#" term="Maven+Alfresco" /><category scheme="http://www.blogger.com/atom/ns#" term="Contribution" /><category scheme="http://www.blogger.com/atom/ns#" term="Alfresco" /><category scheme="http://www.blogger.com/atom/ns#" term="Maven" /><title>Maven + Alfresco : Jetty, Boostrap and Profil</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_HuDWht5cbyc/S8F2u0M8JwI/AAAAAAAAAxQ/x0yv4w6f7UY/s1600/AlfrescoMaven.PNG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 142px;" src="http://3.bp.blogspot.com/_HuDWht5cbyc/S8F2u0M8JwI/AAAAAAAAAxQ/x0yv4w6f7UY/s320/AlfrescoMaven.PNG" alt="" id="BLOGGER_PHOTO_ID_5458774770008729346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hello everyone!&lt;br /&gt;&lt;br /&gt;This time I'll show you how you can bootstrap (initialize) data during the installation of our AMP and how we can test it easily.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;&lt;br /&gt;1. Bootstrap&lt;/span&gt;&lt;br /&gt;First of all, there are several ways to create a bootstrap&lt;br /&gt;&lt;ul&gt;&lt;li&gt;    by XML files,&lt;/li&gt;&lt;li&gt;    programmatically (via a java class).&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;The advantage of the first approach is its simplicity&lt;/span&gt;! Indeed, a bootstrap XML is nothing more than the equivalent of the import / export available in Alfresco Explorer. You know the green arrows on a folder in Details screen ... Anyway...  Nodes are exported as XML and then (re) integrate into a (new) Alfresco instance. A typical example is the transition between a test server to a production server. On the DEV server, the development team has created a specific project tree, which must be installed on the PROD server automatically . This must be done during the first installation of our AMP on the PROD server.&lt;br /&gt;&lt;br /&gt;The limitation of this approach is that only object creation is possible. You can not delete or change nodes...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The advantage of the second approach is its richness&lt;/span&gt;! Indeed, we have access to all Alfresco services plus (possibly) services of our project. We can do whatever you want .. You can reorganize a tree, perform a mass change of nodes or transform some contents ...&lt;br /&gt;&lt;br /&gt;The disadvantage : you  need to know programming  :o/  and know how Alfresco service works.&lt;br /&gt;&lt;br /&gt;In following I am going to explore the first approach. I may focus on the second approach in a future post ..&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;1.1 Boostrap via XML&lt;/span&gt;&lt;br /&gt;So first, I'll explain the approach by an XML file.&lt;br /&gt;In our example of bootstrapping, I want to create &lt;span style="font-weight: bold;"&gt;four spaces&lt;/span&gt;: a root space : &lt;span style="font-style: italic;"&gt;BASE DOCUMENTAIRE&lt;/span&gt; (don't forget I'm a little french) + 3 sub-spaces&lt;span style="font-style: italic;"&gt; PROJET 1 PROJET 2 PROJET 3&lt;/span&gt;. These spaces have been previously  created in my Alfresco TEST instance. Now I want to boostrap my project with this data. In this manner, I can share data with any instance of Alfresco.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;1.2 Export&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;First I export spaces in my Alfresco TEST (via the &lt;span style="font-weight: bold;"&gt;export action&lt;/span&gt;), then I download locally the ACP  file generated in order to extract the XML file. My XML file is called &lt;span style="font-weight: bold;"&gt;spaces.xml&lt;/span&gt; (orginal isn't it ...).&lt;br /&gt;&lt;br /&gt;For more information on the IMPORT / EXPORT: &lt;a href="http://wiki.alfresco.com/wiki/Export_and_Import"&gt;http://wiki.alfresco.com/wiki/Export_and_Import&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;1.3 Integration in the project&lt;/span&gt;&lt;br /&gt;I will add this file to the new directory&lt;span style="font-weight: bold;"&gt; /alf-amp-osecm/src/main/config/bootstrap&lt;/span&gt;. Currently, this file is orphaned and will not be taken into account. We must declare it in Alfresco (and in Spring of course...).&lt;br /&gt;For this, we will create a new file called &lt;span style="font-weight: bold;"&gt;bootstrap-context.xml&lt;/span&gt; in the directory&lt;span style="font-weight: bold;"&gt; /alf-amp-osecm/src/main/config/context&lt;/span&gt;&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;beans&gt;&lt;br /&gt;&lt;bean id="osecm.bootstrapSpaces" class="org.alfresco.repo.module.ImporterModuleComponent" parent="module.baseComponent"&gt;&lt;br /&gt;&lt;br /&gt;&lt;property name="moduleId" value="fr.opensourceecm.alf-amp-osecm"&gt;&lt;br /&gt;&lt;property name="name" value="osecm.bootstrapSpaces"&gt;&lt;br /&gt;&lt;property name="description" value="Creation des principaux espaces"&gt;&lt;br /&gt;&lt;property name="sinceVersion" value="0.0.4"&gt;&lt;br /&gt;&lt;property name="appliesFromVersion" value="0.0.4"&gt;&lt;br /&gt;&lt;property name="executeOnceOnly" value="true"&gt;&lt;br /&gt;&lt;br /&gt;&lt;property name="importer" ref="spacesBootstrap"&gt;&lt;br /&gt;&lt;property name="bootstrapViews"&gt;&lt;br /&gt; &lt;list&gt;&lt;br /&gt;  &lt;props&gt;&lt;br /&gt;   &lt;prop key="path"&gt;/${spaces.company_home.childname}&lt;/prop&gt;&lt;br /&gt;   &lt;prop key="location"&gt;alfresco/module/fr.opensourceecm.alf-amp-osecm/bootstrap/spaces.xml&lt;/prop&gt;&lt;br /&gt;  &lt;/props&gt;&lt;br /&gt; &lt;/list&gt;&lt;br /&gt;&lt;/property&gt;&lt;br /&gt;&lt;/property&gt;&lt;br /&gt;&lt;/property&gt;&lt;br /&gt;&lt;/property&gt;&lt;/property&gt;&lt;/property&gt;&lt;/property&gt;&lt;/property&gt;&lt;/bean&gt;&lt;/beans&gt;&lt;/pre&gt;&lt;br /&gt;To summarize how to understand this file?&lt;br /&gt;Literally, that's what he means:&lt;br /&gt;We create a Spring bean identified by &lt;span style="font-weight: bold;"&gt;osecm.bootstrapSpaces . &lt;/span&gt;It inherits &lt;span style="font-weight: bold;"&gt;module.baseComponent&lt;/span&gt;. This bean is used to import spaces. It applies to the module &lt;span style="font-weight: bold;"&gt;fr.opensourceecm.alf-amp-osecm&lt;/span&gt; (our AMP), since version&lt;span style="font-weight: bold;"&gt; 0.0.4&lt;/span&gt;. Treatment of bean (hence the import) is required only &lt;span style="font-weight: bold;"&gt;once &lt;/span&gt;(so only during the first start). It takes as a parameter &lt;span style="font-weight: bold;"&gt;"bootstrapViews&lt;/span&gt;". This will allow us to create our tree structure as a subspace of &lt;span style="font-weight: bold;"&gt;{spaces.company_home.childname}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Simple isn't it ? :o)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;1.4 Creating the project&lt;/span&gt;&lt;br /&gt;Now we have our bootstrap. We just have to test it ! We can make a package of our AMP via the maven command&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;mvn clean install&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;In target folder, you have &lt;span style="font-weight: bold;"&gt;alf-amp-osecm-0.0.4.amp&lt;/span&gt;.  It's possible to integrate it into your alfresco.war and test it.&lt;br /&gt;&lt;br /&gt;Copy/paste  the file &lt;span style="font-weight: bold;"&gt;alf-amp-osecm-0.0.4.amp&lt;/span&gt;  to the &lt;span style="font-weight: bold;"&gt;amps &lt;/span&gt;directory in your  Alfresco installation. Then run the installation script :&lt;span style="font-weight: bold;"&gt; apply_amps.bat&lt;/span&gt; in your root Alfresco  installation folder. Follow instructions, wait few seconds and after  that you have a new&lt;span style="font-weight: bold;"&gt; alfresco.war&lt;/span&gt;  in &lt;span style="font-weight: bold;"&gt;tomcat/webapps &lt;/span&gt;folder.&lt;br /&gt;&lt;br /&gt;Now you can run Alfresco and verify the integration of your custom  module.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;For more information : &lt;/span&gt;&lt;a bitly="BITLY_PROCESSED" style="font-style: italic;" href="http://wiki.alfresco.com/wiki/AMP_Files"&gt;http://wiki.alfresco.com/wiki/AMP_Files&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;2. Starting and Testing Alfresco via Maven&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you've followed all of preceding posts on integrating Alfresco + Maven, you realized that you spend a lot of time to incorporate an AMP in Alfresco... Copy / paste is well but is a bit repetitive... The idea to improve the process would execute a maven command to start Alfresco !&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How?&lt;/span&gt;&lt;br /&gt;Well through the use of new plugins: &lt;a href="http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin/"&gt;&lt;span style="font-weight: bold;"&gt;maven-jetty&lt;/span&gt;&lt;/a&gt; and &lt;a href="http://maven.apache.org/plugins/maven-war-plugin/"&gt;&lt;span style="font-weight: bold;"&gt;war&lt;/span&gt;&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;Jetty is a lightweight HTTP container (just the same style as Tomcat ...) which will enable us to launch Alfresco. Maven-war allow us to create the war of our application.&lt;br /&gt;&lt;br /&gt;Simply, we want to create an exploded alfresco.war  in a subdirectory of target folder (with  maven-war plugin) and launch it as a web application (with the Jetty server).&lt;br /&gt;&lt;br /&gt;Here we go!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;2.1 Profile&lt;/span&gt;&lt;br /&gt;In fact the majority of the configuration work is done at our project's pom.xml. We will create what is called a &lt;a href="http://maven.apache.org/guides/introduction/introduction-to-profiles.html"&gt;&lt;span style="font-weight: bold;"&gt;PROFILE&lt;/span&gt;&lt;/a&gt;. A profile is a set of maven action made optional or not by the user during the execution of a command. It can be seen as a conditional statement controlled by the user. In this case, we try to start an Alfresco to verify that bootstrap has worked. We also try to verify if our AMP works.&lt;br /&gt;&lt;br /&gt;However, before setting up our profile, we need to create some properties files.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;br /&gt;2.2 Jetty-env.xml&lt;/span&gt;&lt;br /&gt;Above all, we create&lt;span style="font-weight: bold;"&gt; jetty-env.xml &lt;/span&gt; in &lt;span style="font-weight: bold;"&gt;/alf-amp-osecm/src/test/properties/local&lt;/span&gt;. This file configure connection to the database via JNDI.&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;configure class="org.mortbay.jetty.webapp.WebAppContext"&gt;&lt;br /&gt;&lt;br /&gt;&lt;new id="myDataSource" class="org.mortbay.jetty.plus.naming.Resource"&gt;&lt;br /&gt;&lt;arg&gt;jdbc/dataSource&lt;/arg&gt;&lt;br /&gt;&lt;arg&gt;&lt;br /&gt; &lt;new class="com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource"&gt;&lt;br /&gt;  &lt;set name="Url"&gt;jdbc:mysql://localhost/${alfresco.db.name}&lt;/set&gt;&lt;br /&gt;  &lt;set name="User"&gt;${alfresco.db.username}&lt;/set&gt;&lt;br /&gt;  &lt;set name="Password"&gt;${alfresco.db.password}&lt;/set&gt;&lt;br /&gt; &lt;/new&gt;&lt;br /&gt;&lt;/arg&gt;&lt;br /&gt;&lt;/new&gt;&lt;br /&gt;&lt;/configure&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;2.3  Application.properties&lt;/span&gt;&lt;br /&gt;if you say new environment inevitably you say new repository configuration. We will create a new file for this called &lt;span style="font-weight: bold;"&gt;application.properties and &lt;/span&gt;we will add it to the directory: &lt;span style="font-weight: bold;"&gt;/alf-amp-osecm/src/test/properties/local&lt;/span&gt;&lt;br /&gt;This file contains a set of key / value which can be used by the &lt;span style="font-style: italic;"&gt;pom.xml&lt;/span&gt; and by &lt;span style="font-style: italic;"&gt;dev.properties&lt;/span&gt; file.&lt;br /&gt;&lt;pre class="brush: plain"&gt;&lt;br /&gt;webapp.name=alfresco-jetty&lt;br /&gt;alfresco.data.jetty=alf_data_jetty&lt;br /&gt;alfresco.data.location=./alf_data_jetty&lt;br /&gt;alfresco.db.driver=org.gjt.mm.mysql.Driver&lt;br /&gt;alfresco.hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect&lt;br /&gt;alfresco.db.url=localhost&lt;br /&gt;alfresco.db.name=alfjetty&lt;br /&gt;alfresco.db.username=alfresco33&lt;br /&gt;alfresco.db.password=alfresco&lt;br /&gt;webapp.log.level=error&lt;br /&gt;webapp.log.dir=&lt;br /&gt;module.log.level=debug&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;2.4 Dev.properties&lt;/span&gt;&lt;br /&gt;Here we will create a file called &lt;span style="font-weight: bold;"&gt;dev.properties&lt;/span&gt; and we'll add it to the directory: &lt;span style="font-weight: bold;"&gt;/alf-amp-osecm/src/test/properties/local.&lt;/span&gt; This file create the link between variables defined in &lt;span style="font-style: italic;"&gt;application.properties&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;dev-context.xml&lt;/span&gt;. When creating our war, this file will overwrite our &lt;span style="font-style: italic;"&gt;dev.properties&lt;/span&gt; previously defined.&lt;br /&gt;&lt;pre class="brush: plain"&gt;&lt;br /&gt;dir.root=${alfresco.data.location}&lt;br /&gt;index.recovery.mode=AUTO&lt;br /&gt;integrity.failOnError=true&lt;br /&gt;db.test.name=${alfresco.db.name}&lt;br /&gt;db.username=${alfresco.db.username}&lt;br /&gt;db.password=${alfresco.db.password}&lt;br /&gt;db.host=${alfresco.db.host}&lt;br /&gt;db.port=${alfresco.db.port}&lt;br /&gt;db.driver=${alfresco.db.driver}&lt;br /&gt;db.url=jdbc:mysql://${db.test.host}:${db.test.port}/${db.test.name}&lt;br /&gt;hibernate.dialect=${alfresco.hibernate.dialect}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;2.5 properties&lt;/span&gt;&lt;br /&gt;Now we can attack the configuration of our pom.xml. First we will declare two property : &lt;span style="font-weight: bold;"&gt;env and webapp.name. &lt;/span&gt;Those properties are defined after &lt;span style="font-style: italic;"&gt;project &lt;/span&gt;declaration block and before the dependencies block .&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt; &lt;properties&gt;&lt;br /&gt;&lt;env&gt;local&lt;/env&gt;&lt;br /&gt;&lt;webapp.name&gt;alfresco-jetty&lt;/webapp.name&gt;&lt;br /&gt;&lt;/properties&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;2.6 Create Profile&lt;/span&gt;&lt;br /&gt;As the title indicates, we will now create a block profile called &lt;span style="font-weight: bold;"&gt;webapp&lt;/span&gt;. Its main default goal is&lt;span style="font-weight: bold;"&gt; jetty: run-exploded&lt;/span&gt; (ie launch exploded war as a webapp application into jetty). This block is to add at the end of our pom.xml but before the project closing tag.&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;profiles&gt;&lt;br /&gt;&lt;profile&gt;&lt;br /&gt; &lt;id&gt;webapp&lt;/id&gt;&lt;br /&gt; &lt;build&gt;&lt;br /&gt;  &lt;filters&gt;&lt;br /&gt;   &lt;filter&gt;src/test/properties/${env}/application.properties&lt;/filter&gt;&lt;br /&gt;  &lt;/filters&gt;&lt;br /&gt;  &lt;defaultgoal&gt;jetty:run-exploded&lt;/defaultgoal&gt;&lt;br /&gt;  &lt;plugins&gt;&lt;br /&gt;   &lt;plugin&gt;&lt;br /&gt;                 ... Following points...&lt;br /&gt;    &lt;/plugin&gt;&lt;br /&gt;  &lt;/plugins&gt;&lt;br /&gt;             &lt;testresources&gt;&lt;br /&gt;                 &lt;testresource&gt;&lt;br /&gt;                     &lt;filtering&gt;true&lt;/filtering&gt;&lt;br /&gt;                     &lt;directory&gt;src/test/resources&lt;/directory&gt;&lt;br /&gt;                     &lt;excludes&gt;&lt;br /&gt;                         &lt;exclude&gt;alfresco/desktop/*.*&lt;/exclude&gt;&lt;br /&gt;                     &lt;/excludes&gt;&lt;br /&gt;                 &lt;/testresource&gt;&lt;br /&gt;                 &lt;testresource&gt;&lt;br /&gt;                     &lt;filtering&gt;true&lt;/filtering&gt;&lt;br /&gt;                     &lt;directory&gt;src/test/properties/${env}&lt;/directory&gt;&lt;br /&gt;                     &lt;targetpath&gt;alfresco/extension&lt;/targetpath&gt;&lt;br /&gt;                     &lt;includes&gt;&lt;br /&gt;                         &lt;include&gt;dev.properties&lt;/include&gt;&lt;br /&gt;                     &lt;/includes&gt;&lt;br /&gt;                 &lt;/testresource&gt;&lt;br /&gt;             &lt;/testresources&gt;&lt;br /&gt;         &lt;/build&gt;&lt;br /&gt;         &lt;dependencies&gt;&lt;br /&gt;             &lt;dependency&gt;&lt;br /&gt;                 &lt;groupid&gt;org.alfresco.sdk&lt;/groupid&gt;&lt;br /&gt;                 &lt;artifactid&gt;alfresco-community-war&lt;/artifactid&gt;&lt;br /&gt;                 &lt;version&gt;3.3&lt;/version&gt;&lt;br /&gt;                 &lt;type&gt;war&lt;/type&gt;&lt;br /&gt;             &lt;/dependency&gt;&lt;br /&gt;         &lt;/dependencies&gt;&lt;br /&gt;     &lt;/profile&gt;&lt;br /&gt; &lt;/profiles&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Note several points:&lt;br /&gt;First we added &lt;a style="font-weight: bold;" href="http://maven.apache.org/guides/getting-started/index.html#How_do_I_filter_resource_files"&gt;FILTER&lt;/a&gt; via the file&lt;span style="font-weight: bold;"&gt; application.properties&lt;/span&gt;. It will allow us to use all the variables defined in this file in the rest of the pom.xml and more specifically in our &lt;span style="font-weight: bold;"&gt;profile&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Then we added&lt;span style="font-weight: bold;"&gt;alfresco-community-war&lt;/span&gt; (ie the application Alfresco Explorer) as a dependency. Of course, we have previously added to our Maven repository local via a maven command :&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: plain"&gt;&lt;br /&gt;call mvn install:install-file -Dfile=alfresco.war -DgroupId=org.alfresco.sdk -DartifactId=alfresco-community-war -Dversion=3.3 -Dpackaging=war&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;After that we added a &lt;span style="font-weight: bold;"&gt;testResource. It allow us&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;to ignore desktops actions into our AMP (As reminder desktop actions are simply necessary for unit testing in Eclipse)&lt;/li&gt;&lt;li&gt;to declare repository configuration defined by dev.properties.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;2.6 Configure Maven-War plugin&lt;/span&gt;&lt;br /&gt;This plugin will allow us to deploy the alfresco war and to add our configuration files.&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;     &lt;plugin&gt;&lt;br /&gt;         &lt;groupid&gt;org.apache.maven.plugins&lt;/groupid&gt;&lt;br /&gt;         &lt;artifactid&gt;maven-war-plugin&lt;/artifactid&gt;&lt;br /&gt;         &lt;version&gt;2.0.2&lt;/version&gt;&lt;br /&gt;         &lt;executions&gt;&lt;br /&gt;             &lt;execution&gt;&lt;br /&gt;                 &lt;id&gt;it&lt;/id&gt;&lt;br /&gt;                 &lt;phase&gt;package&lt;/phase&gt;&lt;br /&gt;                 &lt;goals&gt;&lt;br /&gt;                     &lt;goal&gt;exploded&lt;/goal&gt;&lt;br /&gt;                 &lt;/goals&gt;&lt;br /&gt;                 &lt;configuration&gt;&lt;br /&gt;                     &lt;archiveclasses&gt;true&lt;/archiveclasses&gt;&lt;br /&gt;                 &lt;/configuration&gt;&lt;br /&gt;             &lt;/execution&gt;&lt;br /&gt;         &lt;/executions&gt;&lt;br /&gt;         &lt;configuration&gt;&lt;br /&gt;             &lt;primaryartifact&gt;false&lt;/primaryartifact&gt;&lt;br /&gt;             &lt;webappdirectory&gt;${project.build.directory}/${webapp.name}&lt;/webappdirectory&gt;&lt;br /&gt;             &lt;archive&gt;&lt;br /&gt;                 &lt;addmavendescriptor&gt;false&lt;/addmavendescriptor&gt;&lt;br /&gt;             &lt;/archive&gt;&lt;br /&gt;             &lt;warsourceexcludes&gt;licenses/**&lt;/warsourceexcludes&gt;&lt;br /&gt;             &lt;webresources&gt;&lt;br /&gt;                 &lt;resource&gt;&lt;br /&gt;                     &lt;directory&gt;${project.build.testOutputDirectory}&lt;/directory&gt;&lt;br /&gt;                     &lt;targetpath&gt;WEB-INF/classes&lt;/targetpath&gt;&lt;br /&gt;                     &lt;filtering&gt;true&lt;/filtering&gt;&lt;br /&gt;                     &lt;includes&gt;&lt;br /&gt;                         &lt;include&gt;**&lt;/include&gt;&lt;br /&gt;                     &lt;/includes&gt;&lt;br /&gt;                 &lt;/resource&gt;&lt;br /&gt;                 &lt;resource&gt;&lt;br /&gt;                     &lt;directory&gt;src/test/properties/${env}&lt;/directory&gt;&lt;br /&gt;                     &lt;targetpath&gt;WEB-INF&lt;/targetpath&gt;&lt;br /&gt;                     &lt;filtering&gt;true&lt;/filtering&gt;&lt;br /&gt;                     &lt;includes&gt;&lt;br /&gt;                         &lt;include&gt;jetty*&lt;/include&gt;&lt;br /&gt;                     &lt;/includes&gt;&lt;br /&gt;                 &lt;/resource&gt;&lt;br /&gt;             &lt;/webresources&gt;&lt;br /&gt;         &lt;/configuration&gt;&lt;br /&gt;     &lt;/plugin&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;We note in resources block that we&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Add all configuration files in &lt;span style="font-weight: bold;"&gt;src/test/resource/alfresco/*&lt;/span&gt; (equivalent to &lt;span style="font-style: italic;"&gt;${project.build.testOutputDirectory}&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add &lt;span style="font-weight: bold;"&gt;jetty-env.xml&lt;/span&gt; for JNDI database setting&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2.8 Configure Jetty plugin&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;This plugin will enable us to launch the alfresco application and to declare sources of our project.&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;     &lt;plugin&gt;&lt;br /&gt;         &lt;groupid&gt;org.mortbay.jetty&lt;/groupid&gt;&lt;br /&gt;         &lt;artifactid&gt;maven-jetty-plugin&lt;/artifactid&gt;&lt;br /&gt;         &lt;version&gt;6.1.22&lt;/version&gt;&lt;br /&gt;         &lt;executions&gt;&lt;br /&gt;             &lt;execution&gt;&lt;br /&gt;                 &lt;id&gt;it&lt;/id&gt;&lt;br /&gt;                 &lt;phase&gt;integration-test&lt;/phase&gt;&lt;br /&gt;                 &lt;goals&gt;&lt;br /&gt;                     &lt;goal&gt;run-exploded&lt;/goal&gt;&lt;br /&gt;                 &lt;/goals&gt;&lt;br /&gt;                 &lt;configuration&gt;&lt;br /&gt;                     &lt;contextpath&gt;/${webapp.name}&lt;/contextpath&gt;&lt;br /&gt;                     &lt;webapp&gt;${project.build.directory}/${webapp.name}&lt;/webapp&gt;&lt;br /&gt;                     &lt;scanintervalseconds&gt;10&lt;/scanintervalseconds&gt;&lt;br /&gt;                     &lt;connectors&gt;&lt;br /&gt;                         &lt;connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"&gt;&lt;br /&gt;                             &lt;port&gt;8080&lt;/port&gt;&lt;br /&gt;                             &lt;maxidletime&gt;60000&lt;/maxidletime&gt;&lt;br /&gt;                         &lt;/connector&gt;&lt;br /&gt;                     &lt;/connectors&gt;&lt;br /&gt;                 &lt;/configuration&gt;&lt;br /&gt;             &lt;/execution&gt;&lt;br /&gt;         &lt;/executions&gt;&lt;br /&gt;         &lt;dependencies&gt;&lt;br /&gt;             &lt;dependency&gt;&lt;br /&gt;                 &lt;groupid&gt;mysql&lt;/groupid&gt;&lt;br /&gt;                 &lt;artifactid&gt;mysql-connector-java&lt;/artifactid&gt;&lt;br /&gt;                 &lt;version&gt;5.0.3&lt;/version&gt;&lt;br /&gt;                 &lt;scope&gt;provided&lt;/scope&gt;&lt;br /&gt;             &lt;/dependency&gt;&lt;br /&gt;         &lt;/dependencies&gt;&lt;br /&gt;     &lt;/plugin&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Don't forget the dependence with mysql!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;2.9 Launch application&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Now you are ready to launch your application via a simple command&lt;br /&gt;&lt;pre class="brush: plain"&gt;&lt;br /&gt; mvn clean integration-test -P webapp&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;For information, we use a profile by adding the parameter &lt;span style="font-weight: bold;"&gt;-P&lt;/span&gt;  followed by the profile name. If you do not want to play the tests, add the parameter &lt;span style="font-weight: bold;"&gt;-DskipTests = true&lt;/span&gt; at the end of the command.&lt;br /&gt;&lt;br /&gt;A few minutes later if all goes well, you can open a browser and type the address &lt;a href="http://localhost:8080/alfresco-jetty/"&gt;http://localhost:8080/alfresco-jetty/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;You realize then the presence of a space called BASE DOCUMENTAIRE!&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Well Done!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;3. Extras&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Generally, a bootstrap test does not work the first time! If you want to retry again, it would be useful to reset our application (and your repository).&lt;br /&gt;&lt;br /&gt;Now you are familiar with profiles and configuration plugin, so I want to share this extra profile : &lt;span style="font-weight: bold;"&gt;clean-jetty. &lt;/span&gt;Its main goal is to erase your database, stores and lucenes indexes.&lt;br /&gt;It's your turn to place it judiciously in the pom.xml and eventually to improve it!&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;profile&gt;&lt;br /&gt; &lt;id&gt;clean-jetty&lt;/id&gt;&lt;br /&gt; &lt;build&gt;&lt;br /&gt;     &lt;plugins&gt;&lt;br /&gt;         &lt;plugin&gt;&lt;br /&gt;             &lt;artifactid&gt;maven-clean-plugin&lt;/artifactid&gt;&lt;br /&gt;             &lt;version&gt;2.4&lt;/version&gt;&lt;br /&gt;             &lt;configuration&gt;&lt;br /&gt;                 &lt;excludedefaultdirectories&gt;true&lt;/excludedefaultdirectories&gt;&lt;br /&gt;                 &lt;filesets&gt;&lt;br /&gt;                     &lt;fileset&gt;&lt;br /&gt;                         &lt;directory&gt;target&lt;/directory&gt;&lt;br /&gt;                         &lt;excludes&gt;&lt;br /&gt;                             &lt;exclude&gt;war/**&lt;/exclude&gt;&lt;br /&gt;                         &lt;/excludes&gt;&lt;br /&gt;                         &lt;includes&gt;&lt;br /&gt;                             &lt;include&gt;**&lt;/include&gt;&lt;br /&gt;                         &lt;/includes&gt;&lt;br /&gt;                     &lt;/fileset&gt;&lt;br /&gt;                     &lt;fileset&gt;&lt;br /&gt;                         &lt;directory&gt;alf_data_jetty&lt;/directory&gt;&lt;br /&gt;                         &lt;excludes&gt;&lt;br /&gt;                             &lt;exclude&gt;oouser/**&lt;/exclude&gt;&lt;br /&gt;                         &lt;/excludes&gt;&lt;br /&gt;                     &lt;/fileset&gt;&lt;br /&gt;                 &lt;/filesets&gt;&lt;br /&gt;             &lt;/configuration&gt;&lt;br /&gt;         &lt;/plugin&gt;&lt;br /&gt;         &lt;plugin&gt;&lt;br /&gt;             &lt;groupid&gt;org.codehaus.mojo&lt;/groupid&gt;&lt;br /&gt;             &lt;artifactid&gt;sql-maven-plugin&lt;/artifactid&gt;&lt;br /&gt;             &lt;version&gt;1.4&lt;/version&gt;&lt;br /&gt;&lt;br /&gt;             &lt;dependencies&gt;&lt;br /&gt;                 &lt;dependency&gt;&lt;br /&gt;                     &lt;groupid&gt;mysql&lt;/groupid&gt;&lt;br /&gt;                     &lt;artifactid&gt;mysql-connector-java&lt;/artifactid&gt;&lt;br /&gt;                     &lt;version&gt;5.0.3&lt;/version&gt;&lt;br /&gt;                 &lt;/dependency&gt;&lt;br /&gt;             &lt;/dependencies&gt;&lt;br /&gt;             &lt;configuration&gt;&lt;br /&gt;                 &lt;driver&gt;org.gjt.mm.mysql.Driver&lt;/driver&gt;&lt;br /&gt;                 &lt;url&gt;jdbc:mysql://localhost/&lt;/url&gt;&lt;br /&gt;                 &lt;username&gt;root&lt;/username&gt;&lt;br /&gt;                 &lt;password&gt;admin&lt;/password&gt;&lt;br /&gt;                 &lt;settingskey&gt;true&lt;/settingskey&gt;&lt;br /&gt;             &lt;/configuration&gt;&lt;br /&gt;             &lt;executions&gt;&lt;br /&gt;                 &lt;execution&gt;&lt;br /&gt;                     &lt;id&gt;drop-db-jetty&lt;/id&gt;&lt;br /&gt;                     &lt;phase&gt;pre-clean&lt;/phase&gt;&lt;br /&gt;                     &lt;goals&gt;&lt;br /&gt;                         &lt;goal&gt;execute&lt;/goal&gt;&lt;br /&gt;                     &lt;/goals&gt;&lt;br /&gt;                     &lt;configuration&gt;&lt;br /&gt;                         &lt;autocommit&gt;true&lt;/autocommit&gt;&lt;br /&gt;                         &lt;sqlcommand&gt;drop database IF EXISTS alfjetty &lt;/sqlcommand&gt;&lt;br /&gt;                     &lt;/configuration&gt;&lt;br /&gt;                 &lt;/execution&gt;&lt;br /&gt;                 &lt;execution&gt;&lt;br /&gt;                     &lt;id&gt;create-db-jetty&lt;/id&gt;&lt;br /&gt;                     &lt;phase&gt;clean&lt;/phase&gt;&lt;br /&gt;                     &lt;goals&gt;&lt;br /&gt;                         &lt;goal&gt;execute&lt;/goal&gt;&lt;br /&gt;                     &lt;/goals&gt;&lt;br /&gt;                     &lt;configuration&gt;&lt;br /&gt;                         &lt;autocommit&gt;true&lt;/autocommit&gt;&lt;br /&gt;                         &lt;sqlcommand&gt;create database alfjetty default character set utf8 collate utf8_bin&lt;/sqlcommand&gt;&lt;br /&gt;                     &lt;/configuration&gt;&lt;br /&gt;                 &lt;/execution&gt;&lt;br /&gt;             &lt;/executions&gt;&lt;br /&gt;         &lt;/plugin&gt;&lt;br /&gt;     &lt;/plugins&gt;&lt;br /&gt; &lt;/build&gt;&lt;br /&gt;&lt;/profile&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hope you enjoy this post. Rendez vous to the next chapter!&lt;br /&gt;&lt;br /&gt;A ++&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;PS&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;All sources of &lt;span style="color: rgb(255, 0, 0);"&gt;alf-amp-osecm&lt;/span&gt; can be downloaded at:&lt;/span&gt;&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://www.box.net/shared/bpcx8kl7dn"&gt;http://www.box.net/shared/bpcx8kl7dn&lt;/a&gt;&lt;/div&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/1400114241100585472-841539496075181473?l=www.open-source-ecm.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=rLuPvK9SemA:fgcsrGj29Wo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=rLuPvK9SemA:fgcsrGj29Wo:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=rLuPvK9SemA:fgcsrGj29Wo:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=rLuPvK9SemA:fgcsrGj29Wo:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=rLuPvK9SemA:fgcsrGj29Wo:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=rLuPvK9SemA:fgcsrGj29Wo:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=rLuPvK9SemA:fgcsrGj29Wo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=rLuPvK9SemA:fgcsrGj29Wo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=rLuPvK9SemA:fgcsrGj29Wo:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=rLuPvK9SemA:fgcsrGj29Wo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=rLuPvK9SemA:fgcsrGj29Wo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=rLuPvK9SemA:fgcsrGj29Wo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=rLuPvK9SemA:fgcsrGj29Wo:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoingToAnOpensourceEcmWorld/~4/rLuPvK9SemA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/841539496075181473/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1400114241100585472&amp;postID=841539496075181473" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/841539496075181473?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/841539496075181473?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoingToAnOpensourceEcmWorld/~3/rLuPvK9SemA/maven-alfresco-jetty-boostrap-and.html" title="Maven + Alfresco : Jetty, Boostrap and Profil" /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07200841589930120062" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_HuDWht5cbyc/S8F2u0M8JwI/AAAAAAAAAxQ/x0yv4w6f7UY/s72-c/AlfrescoMaven.PNG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.open-source-ecm.com/2010/04/maven-alfresco-jetty-boostrap-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08GRX4yeSp7ImA9WxFRFEk.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472.post-6464773337796795984</id><published>2010-04-21T06:13:00.000-07:00</published><updated>2010-04-28T02:10:24.091-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-28T02:10:24.091-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Tutorial" /><category scheme="http://www.blogger.com/atom/ns#" term="Maven+Alfresco" /><category scheme="http://www.blogger.com/atom/ns#" term="Alfresco" /><category scheme="http://www.blogger.com/atom/ns#" term="Maven" /><title>Maven + Alfresco : Unit Test</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_HuDWht5cbyc/S8F2u0M8JwI/AAAAAAAAAxQ/x0yv4w6f7UY/s1600/AlfrescoMaven.PNG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 142px;" src="http://3.bp.blogspot.com/_HuDWht5cbyc/S8F2u0M8JwI/AAAAAAAAAxQ/x0yv4w6f7UY/s320/AlfrescoMaven.PNG" alt="" id="BLOGGER_PHOTO_ID_5458774770008729346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hello world!&lt;br /&gt;&lt;br /&gt;In this post, I'll try to share my approach to unit tests with Maven during AMP creation.&lt;br /&gt;Of course if I say TEST, I say CODE! So prepare your eclipse !&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;Objectives&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:180%;"&gt; :&lt;/span&gt;&lt;br /&gt;As a developer and integrator my goal is multiple :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;First of all I want to run unit tests in Eclipse. I want to keep the debugger. It helps me a lot during coding!&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Then I want to run all my unit tests via Maven. So when I want to create a version of my AMP, it has to pass all tests! I think it's a good practice (^^)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;So how?&lt;/span&gt;&lt;br /&gt;If you followed my 2 previous posts &lt;a href="http://www.open-source-ecm.com/2010/04/maven-alfresco-creating-amp.html"&gt;here &lt;/a&gt;and &lt;a href="http://www.open-source-ecm.com/2010/04/maven-alfresco-sdk-dependencies.html"&gt;here&lt;/a&gt;, we have in our possession &lt;span style="font-weight: bold;"&gt;two &lt;/span&gt;AMP (well. .. 2 projects MAVEN to be exact ...).&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;First, &lt;span style="font-weight: bold;"&gt;alf-sdk&lt;/span&gt;. It is a kind of &lt;span style="font-weight: bold;"&gt;PARENT-AMP&lt;/span&gt; which contains all dependencies of  Alfresco  SDK and all plugins to create an AMP.&lt;/li&gt;&lt;li&gt;Second, &lt;span style="font-weight: bold;"&gt;alf-amp-osecm&lt;/span&gt;. This is our AMP. It inherit &lt;span style="font-weight: bold;"&gt;alf-sdk&lt;/span&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;We will modify these 2 projects to implement unit tests.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;1. Updating ALF-SDK&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;First we will put some news in our parent pom. The main changes occur at build tag.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Maven-compiler-plugin&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;maven-resources-plugin.&lt;/span&gt; They received parameters for encoding.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Maven-eclipse-plugin&lt;/span&gt; has been installed. We will see in the next paragraph why ...&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;br /&gt;&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xsi="http://www.w3.org/2001/XMLSchema-instance" schemalocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;&lt;br /&gt;&lt;modelversion&gt;4.0.0&lt;/modelversion&gt;&lt;br /&gt;&lt;groupid&gt;fr.opensourceecm&lt;/groupid&gt;&lt;br /&gt;&lt;artifactid&gt;alf-sdk&lt;/artifactid&gt;&lt;br /&gt;&lt;packaging&gt;pom&lt;/packaging&gt;&lt;br /&gt;&lt;version&gt;3.3C&lt;/version&gt;&lt;br /&gt;&lt;name&gt;Maven - Alfresco SDK 3.3C&lt;/name&gt;&lt;br /&gt;&lt;description&gt;Super POM Maven Alfresco SDK 3.3C &lt;/description&gt;&lt;br /&gt;&lt;br /&gt;&lt;/project&gt;&lt;br /&gt;&lt;br /&gt;....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;build&gt;&lt;br /&gt;&lt;resources&gt;&lt;br /&gt;&lt;resource&gt;&lt;br /&gt;&lt;filtering&gt;true&lt;/filtering&gt;&lt;br /&gt;&lt;directory&gt;src/main/resources&lt;/directory&gt;&lt;br /&gt;&lt;excludes&gt;&lt;br /&gt;&lt;exclude&gt;**README-*&lt;/exclude&gt;&lt;br /&gt;&lt;/excludes&gt;&lt;br /&gt;&lt;/resource&gt;&lt;br /&gt;&lt;resource&gt;&lt;br /&gt;&lt;filtering&gt;true&lt;/filtering&gt;&lt;br /&gt;&lt;directory&gt;src/main/config&lt;/directory&gt;&lt;br /&gt;&lt;targetpath&gt;alfresco/module/${groupId}.${artifactId}&lt;/targetpath&gt;&lt;br /&gt;&lt;excludes&gt;&lt;br /&gt;&lt;exclude&gt;**README-*&lt;/exclude&gt;&lt;br /&gt;&lt;/excludes&gt;&lt;br /&gt;&lt;/resource&gt;&lt;br /&gt;&lt;/resources&gt;&lt;br /&gt;&lt;br /&gt;&lt;plugins&gt;&lt;br /&gt;&lt;br /&gt;&lt;plugin&gt;&lt;br /&gt;&lt;groupid&gt;org.apache.maven.plugins&lt;/groupid&gt;&lt;br /&gt;&lt;artifactid&gt;maven-eclipse-plugin&lt;/artifactid&gt;&lt;br /&gt;&lt;version&gt;2.8&lt;/version&gt;&lt;br /&gt;&lt;configuration&gt;&lt;br /&gt;&lt;additionalprojectnatures&gt;&lt;br /&gt;&lt;projectnature&gt;org.springframework.ide.eclipse.core.springnature&lt;/projectnature&gt;&lt;br /&gt;&lt;/additionalprojectnatures&gt;&lt;br /&gt;&lt;additionalbuildcommands&gt;&lt;br /&gt;&lt;buildcommand&gt;org.springframework.ide.eclipse.core.springbuilder&lt;/buildcommand&gt;&lt;br /&gt;&lt;/additionalbuildcommands&gt;&lt;br /&gt;&lt;/configuration&gt;&lt;br /&gt;&lt;/plugin&gt;&lt;br /&gt;&lt;br /&gt;&lt;plugin&gt;&lt;br /&gt;&lt;groupid&gt;org.apache.maven.plugins&lt;/groupid&gt;&lt;br /&gt;&lt;artifactid&gt;maven-resources-plugin&lt;/artifactid&gt;&lt;br /&gt;&lt;version&gt;2.2&lt;/version&gt;&lt;br /&gt;&lt;configuration&gt;&lt;br /&gt;&lt;encoding&gt;UTF-8&lt;/encoding&gt;&lt;br /&gt;&lt;/configuration&gt;&lt;br /&gt;&lt;/plugin&gt;&lt;br /&gt;&lt;br /&gt;&lt;plugin&gt;&lt;br /&gt;&lt;groupid&gt;org.apache.maven.plugins&lt;/groupid&gt;&lt;br /&gt;&lt;artifactid&gt;maven-compiler-plugin&lt;/artifactid&gt;&lt;br /&gt;&lt;configuration&gt;&lt;br /&gt;&lt;source&gt;1.6&lt;br /&gt;&lt;target&gt;1.6&lt;/target&gt;&lt;br /&gt;&lt;encoding&gt;UTF-8&lt;/encoding&gt;&lt;br /&gt;&lt;optimize&gt;true&lt;/optimize&gt;&lt;br /&gt;&lt;/source&gt;&lt;br /&gt;&lt;/configuration&gt;&lt;br /&gt;&lt;br /&gt;&lt;plugin&gt;&lt;br /&gt;&lt;groupid&gt;org.alfresco.maven.plugin&lt;/groupid&gt;&lt;br /&gt;&lt;artifactid&gt;maven-amp-plugin&lt;/artifactid&gt;&lt;br /&gt;&lt;version&gt;3.0.2&lt;/version&gt;&lt;br /&gt;&lt;extensions&gt;true&lt;/extensions&gt;&lt;br /&gt;&lt;configuration&gt;&lt;br /&gt;&lt;archive&gt;&lt;br /&gt;&lt;addmavendescriptor&gt;false&lt;/addmavendescriptor&gt;&lt;br /&gt;&lt;/archive&gt;&lt;br /&gt;&lt;mampjarexcludes&gt;alfresco/extension/**,alfresco/module/**&lt;/mampjarexcludes&gt;&lt;br /&gt;&lt;/configuration&gt;&lt;br /&gt;&lt;/plugin&gt;&lt;br /&gt;&lt;/plugin&gt;&lt;br /&gt;&lt;/plugins&gt;&lt;br /&gt;&lt;br /&gt;&lt;/build&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Once modified, you can install and deploy the artifact locally with a simple command maven :&lt;br /&gt;&lt;pre class="brush: plain"&gt;&lt;br /&gt;mvn clean install&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;In our repository, we now have access to the module &lt;span style="font-weight: bold;"&gt;fr.opensourceecm:alf-sdk:pom:3.3C&lt;/span&gt;&lt;br /&gt;Projects inheriting from this artifact will automatically receive the updates.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;2. Updating our AMP&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now we'll create &lt;span style="font-weight: bold;"&gt;an Alfresco  action and a test&lt;/span&gt;. As reminder, an action is a unit of work on Alfresco Repository. It can be run via a rule or directly by the user via Alfresco Explorer.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;In our case, the action simply performs the creation of a sub-space.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The test class will start a background Alfresco (creation of a store), create a space, launch the action on this space and check the creation of one new sub-space.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;2.1 Adding an action Alfresco&lt;/span&gt;&lt;br /&gt;In the directory&lt;span style="font-weight: bold;"&gt; /alf-amp-osecm/src/main/java/fr/opensourceecm/alf/amp/osecm/actions /&lt;/span&gt; I add the action: &lt;span style="font-weight: bold;"&gt;sampleActionExecuter.java&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;package fr.opensourceecm.alf.amp.osecm.actions;&lt;br /&gt;&lt;br /&gt;import java.util.List;&lt;br /&gt;&lt;br /&gt;import org.alfresco.model.ContentModel;&lt;br /&gt;import org.alfresco.repo.action.executer.ActionExecuterAbstractBase;&lt;br /&gt;import org.alfresco.service.cmr.action.Action;&lt;br /&gt;import org.alfresco.service.cmr.action.ParameterDefinition;&lt;br /&gt;import org.alfresco.service.cmr.model.FileFolderService;&lt;br /&gt;import org.alfresco.service.cmr.model.FileInfo;&lt;br /&gt;import org.alfresco.service.cmr.repository.NodeRef;&lt;br /&gt;&lt;br /&gt;public class sampleActionExecuter extends ActionExecuterAbstractBase{&lt;br /&gt;&lt;br /&gt;private FileFolderService fileFolderService;&lt;br /&gt;&lt;br /&gt;private final String FOLDER_TEST_NAME = "FolderTest";&lt;br /&gt;&lt;br /&gt;@Override&lt;br /&gt;protected void executeImpl(Action arg0, NodeRef actionUponRef) {&lt;br /&gt;List&lt;fileinfo&gt; listNodeRef = fileFolderService.listFolders(actionUponRef);&lt;br /&gt;fileFolderService.create(actionUponRef, FOLDER_TEST_NAME + "_" +  listNodeRef.size(), ContentModel.TYPE_FOLDER);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;@Override&lt;br /&gt;protected void addParameterDefinitions(List&lt;parameterdefinition&gt; arg0) {&lt;br /&gt;// TODO Auto-generated method stub&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void setFileFolderService(FileFolderService fileFolderService) {&lt;br /&gt;this.fileFolderService = fileFolderService;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/parameterdefinition&gt;&lt;/fileinfo&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Note :  To create our subspace, we use the &lt;span style="font-weight: bold;"&gt;FileFolderService &lt;/span&gt;and the name of our space will be the concatenation between FolderTest and number of folder present.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;2.2 Adding a unit test&lt;/span&gt;&lt;br /&gt;In the directory &lt;span style="font-weight: bold;"&gt;/alf-amp-osecm/src/test/java/fr/opensourceecm/alf/amp/osecm/actions&lt;/span&gt;, I add the test: &lt;span style="font-weight: bold;"&gt;sampleActionExecuterTest.java&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;package fr.opensourceecm.alf.amp.osecm.actions;&lt;br /&gt;&lt;br /&gt;import junit.framework.Assert;&lt;br /&gt;&lt;br /&gt;import org.alfresco.model.ContentModel;&lt;br /&gt;import org.alfresco.service.cmr.action.Action;&lt;br /&gt;import org.alfresco.service.cmr.repository.NodeRef;&lt;br /&gt;import org.alfresco.util.BaseAlfrescoTestCase;&lt;br /&gt;import org.junit.Test;&lt;br /&gt;&lt;br /&gt;public class sampleActionExecuterTest extends BaseAlfrescoTestCase {&lt;br /&gt;&lt;br /&gt;protected NodeRef companyHomeRef;&lt;br /&gt;protected NodeRef rootFolderTestRef;&lt;br /&gt;protected final String rootFolderTestName = "ROOTFOLDERTEST";&lt;br /&gt;&lt;br /&gt;@Test&lt;br /&gt;public void testIntegrerFluxCreationParAction() throws Throwable {&lt;br /&gt;&lt;br /&gt;// Création d'un répertoire de test dans le store de test.&lt;br /&gt;rootFolderTestRef = serviceRegistry.getNodeService().createNode(&lt;br /&gt;rootNodeRef, ContentModel.ASSOC_CHILDREN,&lt;br /&gt;ContentModel.TYPE_FOLDER, ContentModel.TYPE_FOLDER).getChildRef();&lt;br /&gt;&lt;br /&gt;//Lancement de l'action de création d'un sous-répertoire.&lt;br /&gt;Action action = serviceRegistry.getActionService().createAction("createFolderTest-action");&lt;br /&gt;serviceRegistry.getActionService().executeAction(action,rootFolderTestRef);&lt;br /&gt;&lt;br /&gt;//Vérification de la présence du sous-répertoire.&lt;br /&gt;Assert.assertEquals("ERREUR LORS DE LA RECHERCHE", 1, serviceRegistry.getNodeService().getChildAssocs(rootFolderTestRef).size());&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Here I draw your attention to the inheritance. &lt;span style="font-weight: bold;"&gt;sampleActionExecuterTest&lt;/span&gt; extends the class &lt;span style="font-weight: bold;"&gt;BaseAlfrescoTestCase&lt;/span&gt;. It's a util class which allow to start a spring/alfresco context. In my class, I just create a test to start my work and verify the result.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;2.3 Configuring the pom.xml&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Our pom.xml will of course changed after this integration of Java code. In fact, Maven must know dependencies needed to compile classes. In this sample, we need&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Alfresco-repository-3.3&lt;/span&gt; for Alfresco services&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Org.springframework.beans-3.0.0&lt;/span&gt; to create Spring context&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Junit &lt;/span&gt;for unit testing.&lt;/li&gt;&lt;/ul&gt;Our pom.xml becomes:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xsi="http://www.w3.org/2001/XMLSchema-instance" schemalocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;&lt;br /&gt;&lt;parent&gt;&lt;br /&gt;&lt;groupid&gt;fr.opensourceecm&lt;/groupid&gt;&lt;br /&gt;&lt;artifactid&gt;alf-sdk&lt;/artifactid&gt;&lt;br /&gt;&lt;version&gt;3.3C&lt;/version&gt;&lt;br /&gt;&lt;/parent&gt;&lt;br /&gt;&lt;modelversion&gt;4.0.0&lt;/modelversion&gt;&lt;br /&gt;&lt;artifactid&gt;alf-amp-osecm&lt;/artifactid&gt;&lt;br /&gt;&lt;packaging&gt;jar&lt;/packaging&gt;&lt;br /&gt;&lt;version&gt;0.0.3&lt;/version&gt;&lt;br /&gt;&lt;name&gt;Alfresco AMP Open Source ECM&lt;/name&gt;&lt;br /&gt;&lt;description&gt;Open Source ECM - Extension&lt;/description&gt;&lt;br /&gt;&lt;br /&gt;&lt;dependencies&gt;&lt;br /&gt;&lt;dependency&gt;&lt;br /&gt;&lt;groupid&gt;org.alfresco.sdk&lt;/groupid&gt;&lt;br /&gt;&lt;artifactid&gt;alfresco-repository-3.3&lt;/artifactid&gt;&lt;br /&gt;&lt;version&gt;3.3&lt;/version&gt;&lt;br /&gt;&lt;classifier&gt;community&lt;/classifier&gt;&lt;br /&gt;&lt;scope&gt;provided&lt;/scope&gt;&lt;br /&gt;&lt;/dependency&gt;&lt;br /&gt;&lt;dependency&gt;&lt;br /&gt;&lt;groupid&gt;org.alfresco.sdk&lt;/groupid&gt;&lt;br /&gt;&lt;artifactid&gt;org.springframework.beans-3.0.0&lt;/artifactid&gt;&lt;br /&gt;&lt;version&gt;3.3&lt;/version&gt;&lt;br /&gt;&lt;classifier&gt;community&lt;/classifier&gt;&lt;br /&gt;&lt;scope&gt;provided&lt;/scope&gt;&lt;br /&gt;&lt;/dependency&gt;&lt;br /&gt;&lt;dependency&gt;&lt;br /&gt;&lt;groupid&gt;junit&lt;/groupid&gt;&lt;br /&gt;&lt;artifactid&gt;junit&lt;/artifactid&gt;&lt;br /&gt;&lt;version&gt;4.7&lt;/version&gt;&lt;br /&gt;&lt;scope&gt;test&lt;/scope&gt;&lt;br /&gt;&lt;/dependency&gt;&lt;br /&gt;&lt;/dependencies&gt;&lt;br /&gt;&lt;/project&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(153, 0, 0);"&gt;IMPORTANT NOTE: The packaging is &lt;span style="color: rgb(255, 0, 0);"&gt;JAR&lt;/span&gt;! Don't put it into &lt;span style="color: rgb(255, 0, 0);"&gt;AMP&lt;/span&gt; (it's a little "trick" to configure the project in Eclipse ...)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;2.4 Configuring the Eclipse workspace&lt;/span&gt;&lt;br /&gt;Generally (and if you've followed instructions above) you have never opened Eclipse for the previous manipulations! I agree ... is difficult. But you have to know that &lt;span style="font-weight: bold;"&gt;a Maven project generated is not directly integratable in Eclipse!&lt;/span&gt; In fact it is not planned for! There is no .classpath, .project file or .settings for configuring your project in Eclipse.&lt;br /&gt;But Maven has a plugin to automatically create all of these configuration files. This is the &lt;span style="font-weight: bold;"&gt;maven-eclipse-plugin&lt;/span&gt; defined previously in the parent pom.&lt;br /&gt;&lt;br /&gt;To create this configuration, type a command in the root directory of the maven project :&lt;br /&gt;&lt;pre class="brush: plain"&gt;&lt;br /&gt;mvn eclipse:eclipse&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Automatically, &lt;span style="font-weight: bold;"&gt;maven-eclipse.xml&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;.project&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;.classpath&lt;/span&gt; files have been created as well as .settings directories and ExternalToolBuilders (and eventually target).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Note: For users of Spring IDE, the project will have the nature of project Spring by default.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Note: If you have already joined the project in eclipse, or if you want to delete the configuration eclipse, type the following command:&lt;/span&gt;&lt;br /&gt;&lt;pre class="brush: plain"&gt;&lt;br /&gt;mvn eclipse:clean&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2.5 Importing the project in eclipse&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;You can now launch an eclipse (3.5R2 Galilleo for me) and import the project into your workspace. The project now looks like the image below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_HuDWht5cbyc/S8Xz4UME6_I/AAAAAAAAAxY/fP4JEmTpGqo/s1600/ProjetAMP.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor: pointer; width: 151px; height: 207px; text-align: center;" src="http://1.bp.blogspot.com/_HuDWht5cbyc/S8Xz4UME6_I/AAAAAAAAAxY/fP4JEmTpGqo/s320/ProjetAMP.png" alt="" id="BLOGGER_PHOTO_ID_5460038272074181618" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Note: If you do not have this configuration, make sure you launch the command eclipse while the packaging is JAR. Indeed, if you execute this command with amp packagin the plugin will build another tree. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;font-size:130%;" &gt;&lt;br /&gt;2.6 (Re) Definition of spring beans&lt;/span&gt;&lt;br /&gt;We will now modify the declaration of spring beans for each part of our AMP to improve readability. For this, we will specialize a directory : &lt;span style="font-weight: bold;"&gt;context &lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;So in the &lt;span style="font-weight: bold;"&gt;\alf-amp-osecm\src\main\config&lt;/span&gt;, create a directory &lt;span style="font-weight: bold;"&gt;context &lt;/span&gt;and create &lt;span style="font-weight: bold;"&gt;3 files&lt;/span&gt;:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;action-context.xml&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;model-context.xml&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;webclient-context.xml&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;action-context.xml&lt;/span&gt;&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;beans&gt;&lt;br /&gt;&lt;bean id="createFolderTest-action" class="fr.opensourceecm.alf.amp.osecm.actions.sampleActionExecuter" parent="action-executer"&gt;&lt;br /&gt;&lt;property name="fileFolderService"&gt;&lt;br /&gt;&lt;ref bean="FileFolderService"&gt;&lt;br /&gt;&lt;/ref&gt;&lt;br /&gt;&lt;/property&gt;&lt;br /&gt;&lt;/bean&gt;&lt;br /&gt;&lt;/beans&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;model-context.xml&lt;/span&gt;&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;beans&gt;&lt;br /&gt;&lt;bean id="extension.dictionaryBootstrap" parent="dictionaryModelBootstrap" on="dictionaryBootstrap"&gt;&lt;br /&gt;&lt;property name="models"&gt;&lt;br /&gt;&lt;list&gt;&lt;br /&gt;&lt;value&gt;alfresco/module/fr.opensourceecm.alf-amp-osecm/model/ecmModele.xml&lt;/value&gt;&lt;br /&gt;&lt;/list&gt;&lt;br /&gt;&lt;/property&gt;&lt;br /&gt;&lt;/bean&gt;&lt;br /&gt;&lt;/beans&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This statement, as its name suggests will allow us to define the data model. Note that in my previous post, I replaced &lt;span style="font-weight: bold;"&gt;fr.opensourceecm.alf-amp-osecm&lt;/span&gt; by &lt;span style="font-weight: bold;"&gt;(groupId)&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;(artifactId)&lt;/span&gt;. But here, I want Eclipse to be able to understand after a compilation. Indeed Maven is the only one capable of replacing these values! So we must declare this value ...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Note: In general, groupId and artifactId must be defined at the beginning of your project.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Note&lt;/span&gt;&lt;span style="font-style: italic;"&gt;: I take advantage of refactoring to simplify the &lt;/span&gt;&lt;span style="font-style: italic;"&gt;name &lt;/span&gt;&lt;span style="font-style: italic;"&gt;of my data model.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now we will create the file&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;webclient-context.xml&lt;/span&gt;&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;beans&gt;&lt;br /&gt;&lt;bean id="ds_web.configBootstrap" class="org.alfresco.web.config.WebClientConfigBootstrap" method="init"&gt;&lt;br /&gt;&lt;property name="configs"&gt;&lt;br /&gt;&lt;list&gt;&lt;br /&gt;&lt;value&gt;alfresco/module/fr.opensourceecm.alf-amp-osecm/ui/ecm-web-client-config.xml&lt;/value&gt;&lt;br /&gt;&lt;/list&gt;&lt;br /&gt;&lt;/property&gt;&lt;br /&gt;&lt;/bean&gt;&lt;br /&gt;&lt;/beans&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This statement, as its name suggests will allow us to define the configuration of the web client.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Note&lt;/span&gt;&lt;span style="font-style: italic;"&gt;: I take advantage of refactoring to simplify the &lt;/span&gt;&lt;span style="font-style: italic;"&gt;name &lt;/span&gt;&lt;span style="font-style: italic;"&gt;of my web client config.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In the &lt;span style="font-weight: bold;"&gt;\alf-amp-osecm\src\main\config&lt;/span&gt;, edit the file:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;module-context.xml&lt;/span&gt;&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;beans&gt;&lt;br /&gt;&lt;import resource="classpath:alfresco/module/fr.opensourceecm.alf-amp-osecm/context/actions-context.xml"&gt;&lt;br /&gt;&lt;import resource="classpath:alfresco/module/fr.opensourceecm.alf-amp-osecm/context/model-context.xml"&gt;&lt;br /&gt;&lt;import resource="classpath:alfresco/module/fr.opensourceecm.alf-amp-osecm/context/webclient-context.xml"&gt;&lt;br /&gt;&lt;/import&gt;&lt;br /&gt;&lt;/import&gt;&lt;/import&gt;&lt;/beans&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This file will serve to reference all statements necessary for our Spring module. In our case, to summarize, our module have : &lt;span style="font-weight: bold;"&gt;a data model, an action and a web client configuration&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;2.7 Definition of our test environment&lt;/span&gt;&lt;br /&gt;Now we will define and configure our Alfresco repository. Ie we will define the configuration settings of the database and where we put our folder (content-store and lucene indexes).&lt;br /&gt;&lt;br /&gt;For this purpose in the directory &lt;span style="font-weight: bold;"&gt;/alf-amp-osecm/src/test/resources/alfresco/extension/ &lt;/span&gt;(create the missing directories if necessary) create the file&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;dev.properties&lt;/span&gt;&lt;br /&gt;&lt;pre class="brush: plain"&gt;&lt;br /&gt;dir.root=./alf_data&lt;br /&gt;index.recovery.mode=AUTO&lt;br /&gt;integrity.failOnError=true&lt;br /&gt;db.name=alf33Test&lt;br /&gt;db.username=alfresco33&lt;br /&gt;db.password=alfresco&lt;br /&gt;db.host=localhost&lt;br /&gt;db.port=3306&lt;br /&gt;db.driver=org.gjt.mm.mysql.Driver&lt;br /&gt;db.url=jdbc:mysql://${db.host}:${db.port}/${db.name}&lt;br /&gt;hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This file defines all properties of our test environment. In my case, I already installed and configured a MySQL database.&lt;br /&gt;&lt;br /&gt;For more information on how to configure an environment, please download the following pdf: &lt;a href="http://wiki.alfresco.com/w/images/8/88/Installing_and_Configuring_Alfresco_Community_Edition_3_3.pdf"&gt;Manual Configuration and Installation of Alfresco 3.3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Then in the same directory, you must create the file&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;dev-context.xml&lt;/span&gt;&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;br /&gt;&lt;beans&gt;&lt;br /&gt;&lt;bean id="global-properties" class="org.alfresco.config.JndiPropertiesFactoryBean"&gt;&lt;br /&gt;&lt;property name="locations"&gt;&lt;br /&gt;&lt;list&gt;&lt;br /&gt;  &lt;value&gt;classpath:alfresco/repository.properties&lt;/value&gt;&lt;br /&gt;  &lt;value&gt;classpath:alfresco/domain/transaction.properties&lt;/value&gt;&lt;br /&gt;  &lt;!-- &lt;value&gt;classpath:alfresco/jndi.properties&lt;/value&gt; --&gt;&lt;br /&gt;  &lt;!--  Overrides supplied by modules --&gt;&lt;br /&gt;  &lt;value&gt;classpath*:alfresco/module/*/alfresco-global.properties&lt;/value&gt;&lt;br /&gt;  &lt;!--  Installer or user-provided defaults --&gt;&lt;br /&gt;  &lt;value&gt;classpath*:alfresco-global.properties&lt;/value&gt;&lt;br /&gt;  &lt;value&gt;classpath:alfresco/extension/dev.properties&lt;/value&gt;&lt;br /&gt;&lt;/list&gt;&lt;br /&gt;&lt;/property&gt;&lt;br /&gt;&lt;property name="systemPropertiesModeName"&gt;&lt;br /&gt;&lt;value&gt;SYSTEM_PROPERTIES_MODE_OVERRIDE&lt;/value&gt;&lt;br /&gt;&lt;/property&gt;&lt;br /&gt;&lt;!-- Extra properties that have no defaults that we allow to be defined through JNDI or System properties --&gt;&lt;br /&gt;&lt;property name="systemProperties"&gt;&lt;br /&gt;&lt;list&gt;&lt;br /&gt;  &lt;value&gt;hibernate.dialect&lt;/value&gt;&lt;br /&gt;  &lt;value&gt;hibernate.query.substitutions&lt;/value&gt;&lt;br /&gt;  &lt;value&gt;hibernate.jdbc.use_get_generated_keys&lt;/value&gt;&lt;br /&gt;  &lt;value&gt;hibernate.default_schema&lt;/value&gt;&lt;br /&gt;&lt;/list&gt;&lt;br /&gt;&lt;/property&gt;&lt;br /&gt;&lt;/bean&gt;&lt;br /&gt;&lt;/beans&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This bean will identify the properties file previously created. This is used only during maven test phase&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;NOTES&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;In this step, you can add a directory /alf-amp-osecm/src/test/resources/alfresco/desktop containing the default &lt;span style="font-weight: bold;"&gt;desktop ations&lt;/span&gt; Alfresco (available in the sdk). Apparently it can't have them in my environment ...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;In this step, you can also add a &lt;span style="font-weight: bold;"&gt;log4j.properties&lt;/span&gt; file in the directory /alf-amp-osecm/src/test/resources to determine levels of logs.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;br /&gt;2.8 Changing the pom.xml&lt;/span&gt;&lt;br /&gt;We now have an environment ready. You just have to change the packaging tag in pom.xml to &lt;span style="font-weight: bold;"&gt;AMP&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;2.9 Starting the Packaging&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now your project should look like the image below:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_HuDWht5cbyc/S8X018nb88I/AAAAAAAAAxg/pEamLXONwEc/s1600/envEclipse.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 148px; height: 320px;" src="http://2.bp.blogspot.com/_HuDWht5cbyc/S8X018nb88I/AAAAAAAAAxg/pEamLXONwEc/s320/envEclipse.png" alt="" id="BLOGGER_PHOTO_ID_5460039330898375618" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The project is complete, you can start packaging via the command&lt;br /&gt;&lt;pre class="brush: plain"&gt;&lt;br /&gt;mvn clean install&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;If all goes well, you see the famous and coveted&lt;span style="font-weight: bold;"&gt; BUILD SUCCESSFULL&lt;/span&gt; and if you pay attention to the console, it display the results of tests like&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Tests run: 1, Failures: 0, Errors: 0, Skipped: 0&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;If so you have your first AMP tested by Maven.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;CONGRATULATIONS!&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;In the target directory of the project, you have packaged your AMP: &lt;span style="font-weight: bold;"&gt;alf-amp_osecm.0.0.3.amp&lt;/span&gt;. You can install it on your local Alfresco instance.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;2.10 Starting the test via Eclipse&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;As I said at the beginning, I also want to use Eclipse to debug my application if necessary. I execute my JUnit test and verify the result.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_HuDWht5cbyc/S8X29OXXhUI/AAAAAAAAAxo/Yr4YFLP9_bI/s1600/junitTest.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 50px;" src="http://3.bp.blogspot.com/_HuDWht5cbyc/S8X29OXXhUI/AAAAAAAAAxo/Yr4YFLP9_bI/s320/junitTest.png" alt="" id="BLOGGER_PHOTO_ID_5460041654945154370" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; color: rgb(255, 0, 0);"&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;Goals achieved!&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;That's all for today!&lt;br /&gt;If you have any questions, remarks or bug / improvement to report for example, feel free to post a comment.&lt;br /&gt;&lt;br /&gt;For this part, I wish to thank&lt;span style="font-weight: bold;"&gt; G. Tournier&lt;/span&gt; for his help and advice.&lt;br /&gt;Without him Alfresco  nodes would probably still a big mystery to me.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Stay Tuned ! &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;PS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;All sources of &lt;span style="color: rgb(255, 0, 0);"&gt;alf-amp-osecm&lt;/span&gt; can be downloaded at:&lt;br /&gt;&lt;a href="http://www.box.net/shared/374lms3ogv"&gt;http://www.box.net/shared/374lms3ogv&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;All sources of &lt;span style="color: rgb(255, 0, 0);"&gt;alf-sdk &lt;/span&gt;can be downloaded at:&lt;br /&gt;&lt;a href="http://www.box.net/shared/oevx14hy8n"&gt;http://www.box.net/shared/oevx14hy8n &lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;a href="http://www.box.net/shared/oevx14hy8n"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1400114241100585472-6464773337796795984?l=www.open-source-ecm.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=deWbPpNuvco:kLluaalssyo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=deWbPpNuvco:kLluaalssyo:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=deWbPpNuvco:kLluaalssyo:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=deWbPpNuvco:kLluaalssyo:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=deWbPpNuvco:kLluaalssyo:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=deWbPpNuvco:kLluaalssyo:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=deWbPpNuvco:kLluaalssyo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=deWbPpNuvco:kLluaalssyo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=deWbPpNuvco:kLluaalssyo:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=deWbPpNuvco:kLluaalssyo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=deWbPpNuvco:kLluaalssyo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=deWbPpNuvco:kLluaalssyo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=deWbPpNuvco:kLluaalssyo:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoingToAnOpensourceEcmWorld/~4/deWbPpNuvco" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/6464773337796795984/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1400114241100585472&amp;postID=6464773337796795984" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/6464773337796795984?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/6464773337796795984?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoingToAnOpensourceEcmWorld/~3/deWbPpNuvco/maven-alfresco-unit-test.html" title="Maven + Alfresco : Unit Test" /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07200841589930120062" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_HuDWht5cbyc/S8F2u0M8JwI/AAAAAAAAAxQ/x0yv4w6f7UY/s72-c/AlfrescoMaven.PNG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.open-source-ecm.com/2010/04/maven-alfresco-unit-test.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08GRX4yeip7ImA9WxFRFEk.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472.post-6478802422023760487</id><published>2010-04-21T04:03:00.000-07:00</published><updated>2010-04-28T02:10:24.092-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-28T02:10:24.092-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Tutorial" /><category scheme="http://www.blogger.com/atom/ns#" term="Maven+Alfresco" /><category scheme="http://www.blogger.com/atom/ns#" term="Alfresco" /><category scheme="http://www.blogger.com/atom/ns#" term="Maven" /><title>Maven + Alfresco : SDK, Dependencies, Inheritance</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_HuDWht5cbyc/S8F2u0M8JwI/AAAAAAAAAxQ/x0yv4w6f7UY/s1600/AlfrescoMaven.PNG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 142px;" src="http://3.bp.blogspot.com/_HuDWht5cbyc/S8F2u0M8JwI/AAAAAAAAAxQ/x0yv4w6f7UY/s320/AlfrescoMaven.PNG" alt="" id="BLOGGER_PHOTO_ID_5458774770008729346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hello,&lt;br /&gt;&lt;br /&gt;This time, I want to discuss about the integration of &lt;span style="font-weight: bold;"&gt;Alfresco SDK &lt;/span&gt;and &lt;span style="font-weight: bold;"&gt;dependencies&lt;/span&gt; in  creation . &lt;span style="font-weight: bold;"&gt;The goal of this post is to explain how we can manage AMP dependency with Alfresco SDK.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;If you are not familiar with dependency and maven, have a look at &lt;a href="http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html"&gt;this&lt;/a&gt;&lt;a href="http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html"&gt; adress&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Actually, there's two mode to manage dependency.&lt;br /&gt;&lt;ul&gt;&lt;li style="font-weight: bold;"&gt;Eclipse project mode or Build Path Dependency&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Maven Mode or Maven Dependency Mechanism&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;Eclipse mode&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;In Eclipse mode, dependency are managed by links between Eclipse Projects. It's your responsability to define your builpath and classpath via Eclipse settings. In our case, we have a link between our eclipse AMP Project and Alfresco SDK. In details, this is the procedure to add SDK dependency with our project :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;First, you have to download Alfresco SDK  and unzip it in a directory. (let's say &lt;span style="font-weight: bold;"&gt;ALF_SDK_HOME&lt;/span&gt;)&lt;/li&gt;&lt;li&gt;Then in Eclipse, you have to perform the operation "&lt;span style="font-style: italic;"&gt;Import Existing Project&lt;/span&gt;", usually  &lt;span style="font-weight: bold;"&gt;AlfrescoEmbedded SDK &lt;/span&gt;project,  in the directory &lt;span style="font-weight: bold;"&gt;ALF_SDK_HOME\lib&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Always in Eclipse, you have to configure AMP Project Build Path. Most of the time, you have to open "&lt;span style="font-style: italic;"&gt;Configure Build Path&lt;/span&gt;" form and add &lt;span style="font-weight: bold;"&gt;AlfrescoEmbedded SDK &lt;/span&gt;in "&lt;span style="font-style: italic;"&gt;Project&lt;/span&gt;" tab.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Once all these steps accomplished, you can use the SDK in Eclipse. All links and dependencies are now available for auto-completion and compilation in Eclipse.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Maven Mode &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;In this mode, you have all AlfrescoEmbedded SDK dependencies integrated in a Maven 2 repository. It could be your local, your project, your company or a third party maven 2 repository. It doesn't really matter. You have just to know where to find it!&lt;br /&gt;&lt;br /&gt;For information, Alfresco has recently open its own repository at &lt;a href="http://maven.alfresco.com/nexus/index.html"&gt;&lt;span style="font-weight: bold;"&gt;Alfresco Nexus / Maven&lt;/span&gt;&lt;/a&gt;. Nevertheless, all AlfrescoEmbedded SDK dependencies are not available. But day after day it's going to be better ! Thanks at &lt;a href="http://twitter.com/mindthegabz"&gt;@Gabriele Columbro&lt;/a&gt; to his work &lt;a href="http://mindthegab.com/"&gt; http://mindthegab.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now the job is to search, define and identify in our project pom.xml all AMP dependencies with the n-tuple : &lt;span style="font-weight: bold;"&gt;groupId, artifactId, version, classifier&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;packaging&lt;/span&gt;. According to this parameters, we can retrieve all dependency you want! When the pom.xml is complete and comprehensive, it becomes possible to compile and test the application with Maven.&lt;br /&gt;&lt;br /&gt;But that's not enough... I'm a developper and I WANT(!!) my project into Eclipse ! How can I do if all is manage with Maven ??? Simple answer : Maven can generate Eclipse configuration thanks to a &lt;a href="http://maven.apache.org/plugins/maven-eclipse-plugin/"&gt;maven-eclipse-plugin&lt;/a&gt;. With just on Maven command : &lt;span style="font-weight: bold;"&gt;mvn eclipse:eclipse&lt;/span&gt;, you can (re)generate Eclipse configuration. But it's note the right time...&lt;br /&gt;&lt;br /&gt;Anyway, it is this second method I will try to present.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;How to set up Alfresco SDK in a Maven 2 repository&lt;br /&gt;and use it to build an AMP&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center; color: rgb(255, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;Note and warning:&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;This procedure is far (very far even ...) to be the cleanest or most aesthetic method. It does not necessarily meet the very basic principles of Maven.&lt;br /&gt;That's why it should be used with caution!&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt; &lt;span style="font-weight: bold;"&gt;1. Integrating Alfresco SDK locally&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As you know, Alfresco SDK includes all dependencies needed to run an Alfresco and to use it.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Problem : How can we add this dependency into our Maven repository ?&lt;/span&gt;&lt;br /&gt;Via a small project written in Java and compiled using Maven (if you want to make Maven as well do it anywhere ^^ ).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Principle?&lt;/span&gt;&lt;br /&gt;List all dependencies present in AlfrescoEmbedded SDK and integrate them into our repository via a script (. Bat or. Sh)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Code?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;package fr.opensourceecm;&lt;br /&gt;&lt;br /&gt;import java.io.BufferedReader;&lt;br /&gt;import java.io.BufferedWriter;&lt;br /&gt;import java.io.File;&lt;br /&gt;import java.io.FileNotFoundException;&lt;br /&gt;import java.io.FileWriter;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.io.InputStreamReader;&lt;br /&gt;import java.util.ArrayList;&lt;br /&gt;&lt;br /&gt;public class AlfrescoMavenSDKCreator {&lt;br /&gt;&lt;br /&gt;   public static String isWindows = "O";&lt;br /&gt;&lt;br /&gt;   public static String pathToSDK = "D:\\opt\\JM-Alfresco\\SDK\\3.3C\\lib\\server";&lt;br /&gt;   public static String sdkGroupId = "org.alfresco.sdk";&lt;br /&gt;   public static String sdkVersion = "3.3";&lt;br /&gt;   public static String sdkClassifier = "community";&lt;br /&gt;   public static String mavenLocation = "call mvn";&lt;br /&gt;&lt;br /&gt;   private static final String ln = System.getProperty("line.separator");&lt;br /&gt;&lt;br /&gt;   private static void execute() {&lt;br /&gt;&lt;br /&gt;      String nomFichier = null;&lt;br /&gt;&lt;br /&gt;      FileWriter fout1 = null;&lt;br /&gt;      FileWriter fout2 = null;&lt;br /&gt;      try {&lt;br /&gt;&lt;br /&gt;         showVariables();&lt;br /&gt;&lt;br /&gt;         System.out.println("Voulez-vous modifier ces paramètres (O/N) ? ");&lt;br /&gt;         BufferedReader in = new BufferedReader(&lt;br /&gt;               new InputStreamReader(System.in));&lt;br /&gt;         String reponse = in.readLine();&lt;br /&gt;         if (reponse.toUpperCase().equals("O")) {&lt;br /&gt;            System.out.println("Windows (O/N) ? ");&lt;br /&gt;            isWindows = in.readLine();&lt;br /&gt;            System.out.println("PATH SDK ? ");&lt;br /&gt;            pathToSDK = in.readLine();&lt;br /&gt;            System.out.println("Version d'Alfresco ? ");&lt;br /&gt;            sdkVersion = in.readLine();&lt;br /&gt;            System.out.println("GroupID ? ");&lt;br /&gt;            sdkGroupId = in.readLine();&lt;br /&gt;            System.out.println("emplacement de Maven (binaire) ? ");&lt;br /&gt;            mavenLocation = in.readLine();&lt;br /&gt;            System.out.println("classifier (labs/enterprise) ? ");&lt;br /&gt;            sdkClassifier = in.readLine();&lt;br /&gt;         }&lt;br /&gt;&lt;br /&gt;         if (isWindows.toUpperCase().equals("O")) {&lt;br /&gt;            nomFichier = "maven-sdk-install-files.bat";&lt;br /&gt;         } else {&lt;br /&gt;            nomFichier = "maven-sdk-install-files.sh";&lt;br /&gt;         }&lt;br /&gt;&lt;br /&gt;         File file1 = new File("maven-dependencies.txt");&lt;br /&gt;         fout1 = new FileWriter(file1, false);&lt;br /&gt;         BufferedWriter out1 = new BufferedWriter(fout1);&lt;br /&gt;&lt;br /&gt;         File file2 = new File(nomFichier);&lt;br /&gt;         fout2 = new FileWriter(file2, false);&lt;br /&gt;         BufferedWriter out2 = new BufferedWriter(fout2);&lt;br /&gt;&lt;br /&gt;         if (isWindows.toUpperCase().equals("O")) {&lt;br /&gt;            out2.write("cd " + pathToSDK + ln);&lt;br /&gt;            out2.write(ln);&lt;br /&gt;         } else {&lt;br /&gt;            out2.write("#!/bin/bash" + ln);&lt;br /&gt;            out2.write(". /etc/profile" + ln);&lt;br /&gt;            out2.write(ln);&lt;br /&gt;            out2.write("cd " + pathToSDK + ln);&lt;br /&gt;            out2.write(ln);&lt;br /&gt;         }&lt;br /&gt;&lt;br /&gt;         ArrayList&lt;File&gt; listingFiles = getFiles(pathToSDK);&lt;br /&gt;&lt;br /&gt;         for (File file : listingFiles) {&lt;br /&gt;&lt;br /&gt;            String librairieNameJar = file.getName();&lt;br /&gt;            String librairieName = librairieNameJar.substring(0,&lt;br /&gt;                  librairieNameJar.length() - 4); // moins ".jar"&lt;br /&gt;&lt;br /&gt;            out1.write("&lt;dependency&gt;" + ln);&lt;br /&gt;            out1.write("  &lt;groupId&gt;" + sdkGroupId + "&lt;/groupId&gt;" + ln);&lt;br /&gt;            out1.write("  &lt;artifactId&gt;" + librairieName + "&lt;/artifactId&gt;" + ln);&lt;br /&gt;            out1.write("  &lt;version&gt;" + sdkVersion + "&lt;/version&gt;" + ln);&lt;br /&gt;            out1.write("  &lt;classifier&gt;" + sdkClassifier + "&lt;/classifier&gt;" + ln);&lt;br /&gt;            out1.write("  &lt;scope&gt;test&lt;/scope&gt;" + ln);&lt;br /&gt;            out1.write("&lt;/dependency&gt;" + ln);&lt;br /&gt;&lt;br /&gt;            out2.write(mavenLocation + " install:install-file" + &lt;br /&gt;                  " -Dfile=" + file.getPath().substring(pathToSDK.length() + 1) + &lt;br /&gt;                  " -DgroupId=" + sdkGroupId + &lt;br /&gt;                  " -DartifactId=" + librairieName + &lt;br /&gt;                  " -Dversion=" + sdkVersion + &lt;br /&gt;                  " -Dpackaging=jar" +&lt;br /&gt;                  " -Dclassifier=" + sdkClassifier + &lt;br /&gt;                  " -DgeneratePom=true" +&lt;br /&gt;                  " -DcreateChecksum=true" + ln) ;&lt;br /&gt;&lt;br /&gt;            out1.flush();&lt;br /&gt;            out2.flush();&lt;br /&gt;         }&lt;br /&gt;         fout1.close();&lt;br /&gt;         fout2.close();&lt;br /&gt;&lt;br /&gt;         System.out.println("Les fichiers ont été générés : ");&lt;br /&gt;         System.out.println(file1.getAbsolutePath());&lt;br /&gt;         System.out.println(file2.getAbsolutePath());&lt;br /&gt;      } catch (FileNotFoundException e) {&lt;br /&gt;         e.printStackTrace();&lt;br /&gt;      } catch (IOException e) {&lt;br /&gt;         e.printStackTrace();&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   private static void showVariables() {&lt;br /&gt;      System.out.println("This utils is going to generate two files");&lt;br /&gt;      System.out.println("");&lt;br /&gt;      System.out.println("Le programme va s'ex�cuter avec les paramtres suivants :");&lt;br /&gt;      System.out.println("- pathSDK : " + pathToSDK);&lt;br /&gt;      System.out.println("- Windows : " + System.getProperty("os.name"));&lt;br /&gt;      System.out.println("- GroupID Alfresco : " + sdkGroupId);&lt;br /&gt;      System.out.println("- version d'Alfresco : " + sdkVersion);&lt;br /&gt;      System.out.println("- classifier : " + sdkClassifier);&lt;br /&gt;      System.out.println("- emplacement de Maven (binaire) : " + mavenLocation);&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   private static ArrayList&lt;File&gt; getFiles(String root) {&lt;br /&gt;      ArrayList&lt;File&gt; listeFichiersJar = new ArrayList&lt;File&gt;();&lt;br /&gt;      getFilesRec(listeFichiersJar, root);&lt;br /&gt;      return listeFichiersJar;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   private static void getFilesRec(ArrayList&lt;File&gt; listeFichiersJar, String root) {&lt;br /&gt;      File f = new File(root);&lt;br /&gt;      File[] listFiles = f.listFiles();&lt;br /&gt;      for (int i = 0; i &lt; listFiles.length; i++) {&lt;br /&gt;         if (listFiles[i].isDirectory()) {&lt;br /&gt;            getFilesRec(listeFichiersJar, listFiles[i].toString());&lt;br /&gt;         } else if (listFiles[i].getName().endsWith(".jar")) {&lt;br /&gt;            listeFichiersJar.add(listFiles[i]);&lt;br /&gt;         }&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   public static void main(String[] args) {&lt;br /&gt;      (new AlfrescoMavenSDKCreator()).execute();&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;Warning : My code formatter (in this blog) sometimes modify or delete some part of the code. If you want to be sure to have the correct one, download the source of this project at the end of this post.&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Running this small program from the command line interface or via Eclipse create &lt;span style="font-weight: bold;"&gt;two files&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The first file (a. Bat) &lt;/span&gt;can install dependencies in the repository. This file launch a serie of call maven as :&lt;br /&gt;&lt;pre class="brush: plain"&gt;call mvn install:install-file -Dfile=alfresco-core-3.3.jar -DgroupId=org.alfresco.sdk -DartifactId=alfresco-core-3.3 -Dversion=3.3 -Dclassifier=community -Dpackaging=jar&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;We can notice from this sample, there's a "problem" in version number! Indeed, my script will generate an artifact name like : &lt;span style="font-weight: bold;"&gt;alfresco-core-&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;3.3-3.3&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;-community.jar&lt;/span&gt;.&lt;br /&gt;It's a little bit non conform with Maven principle... That's why I consider this method as not aesthetic... but clearly the fastest!&lt;br /&gt;If you want to resolve this problem, you have multiple choice.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;First, identify one by one each dependency (and repository). Next, create files... if you have time to spend...&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Second, you have to wait that Alfresco will add all dependency in his official repository or create a pom.xml with them.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Third, it's a mix between all of preceding solutions.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;The second file creates all dependencies declarations&lt;/span&gt;. It can be easy to integrate them  into a pom.xml This file contains a list of element below :&lt;br /&gt;&lt;pre class="brush: plain"&gt;&lt;br /&gt;&lt;dependency&gt;&lt;br /&gt;&lt;groupid&gt;org.alfresco.sdk&lt;/groupid&gt;&lt;br /&gt;&lt;artifactid&gt;alfresco-core-3.3&lt;/artifactid&gt;&lt;br /&gt;&lt;version&gt;3.3&lt;/version&gt;&lt;br /&gt;&lt;classifier&gt;community&lt;/classifier&gt;&lt;br /&gt;&lt;scope&gt;test&lt;/scope&gt;&lt;br /&gt;&lt;/dependency&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;All dependencies have &lt;span style="font-weight: bold;"&gt;TEST&lt;/span&gt; scope&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;. Indeed Alfresco already has all of its libraries. It is therefore not necessary to add them at the creation of our AMP. By cons it is needed to test the module.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Now how to use dependencies?&lt;/span&gt;&lt;br /&gt;A strong point of Maven is its inheritance ability between artifact (plugin). It's the same as Java Classes inheritance. On object can inherit from its parent object.&lt;br /&gt;&lt;br /&gt;In this context, one idea is to consider Alfresco SDK as the father of our draft AMP. Thus All  SDK dependencies can be available for the project son.&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;2. Create a Super Pom Alfresco SDK&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;1. Creating a Maven 2 project&lt;/span&gt;&lt;br /&gt;Via this command line in a directory :&lt;br /&gt;&lt;pre class="brush: plain"&gt;&lt;br /&gt;mvn archetype:create -DgroupId=fr.opensourceecm -DartifactId=alf-sdk -Dpackagename=fr.opensourceecm.alf.sdk&lt;br /&gt;&lt;/pre&gt;you can create the whole tree of a jar Maven 2 project type.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;2. Cleaning&lt;/span&gt;&lt;br /&gt;I delete subdirectories from &lt;span style="font-weight: bold;"&gt; src/main/java&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;src/test/java&lt;/span&gt; to remove default generated class .&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;3. Changing pom&lt;/span&gt;&lt;br /&gt;Now I take the content of &lt;span style="font-weight: bold;"&gt;maven-file dependencies.txt&lt;/span&gt; and I add it between &amp;alt;depedencies&gt; tags in my pom.xml. Next, I modify the defintion of my artifact to create  : &lt;span style="font-weight: bold;"&gt;fr.opensourceecm: alf-sdk: pom: 3.3C.&lt;/span&gt;&lt;br /&gt;Indeed, I know this project will become a parent project, so it must be automatically package as &lt;span style="font-weight: bold;"&gt;pom&lt;/span&gt;. Finally I add the plugin configuration for the build phase.&lt;br /&gt;This produces the file below :&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xsi="http://www.w3.org/2001/XMLSchema-instance" schemalocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;&lt;br /&gt;&lt;modelversion&gt;4.0.0&lt;/modelversion&gt;&lt;br /&gt;&lt;groupid&gt;fr.opensourceecm&lt;/groupid&gt;&lt;br /&gt;&lt;artifactid&gt;alf-sdk&lt;/artifactid&gt;&lt;br /&gt;&lt;packaging&gt;pom&lt;/packaging&gt;&lt;br /&gt;&lt;version&gt;3.3C&lt;/version&gt;&lt;br /&gt;&lt;name&gt;Maven - Alfresco SDK 3.3C&lt;/name&gt;&lt;br /&gt;&lt;description&gt;Super POM Maven Alfresco SDK 3.3C &lt;/description&gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- REPOSITORY --&gt;&lt;br /&gt;&lt;repositories&gt;&lt;br /&gt;&lt;repository&gt;&lt;br /&gt;&lt;id&gt;alfresco-public-snapshots&lt;/id&gt;&lt;br /&gt;&lt;url&gt;http://maven.alfresco.com/nexus/content/groups/public-snapshots&lt;/url&gt;&lt;br /&gt;&lt;snapshots&gt;&lt;br /&gt;&lt;enabled&gt;true&lt;/enabled&gt;&lt;br /&gt;&lt;updatepolicy&gt;daily&lt;/updatepolicy&gt;&lt;br /&gt;&lt;/snapshots&gt;&lt;br /&gt;&lt;/repository&gt;&lt;br /&gt;&lt;repository&gt;&lt;br /&gt;&lt;id&gt;alfresco-public&lt;/id&gt;&lt;br /&gt;&lt;url&gt;http://maven.alfresco.com/nexus/content/groups/public&lt;/url&gt;&lt;br /&gt;&lt;/repository&gt;&lt;br /&gt;&lt;/repositories&gt;&lt;br /&gt;&lt;pluginrepositories&gt;&lt;br /&gt;&lt;pluginrepository&gt;&lt;br /&gt;&lt;id&gt;alfresco-public&lt;/id&gt;&lt;br /&gt;&lt;url&gt;http://maven.alfresco.com/nexus/content/groups/public&lt;/url&gt;&lt;br /&gt;&lt;/pluginrepository&gt;&lt;br /&gt;&lt;pluginrepository&gt;&lt;br /&gt;&lt;id&gt;alfresco-public-snapshots&lt;/id&gt;&lt;br /&gt;&lt;url&gt;http://repository.sourcesense.com/nexus/content/groups/public-snapshots&lt;/url&gt;&lt;br /&gt;&lt;snapshots&gt;&lt;br /&gt;&lt;enabled&gt;true&lt;/enabled&gt;&lt;br /&gt;&lt;updatepolicy&gt;daily&lt;/updatepolicy&gt;&lt;br /&gt;&lt;/snapshots&gt;&lt;br /&gt;&lt;/pluginrepository&gt;&lt;br /&gt;&lt;/pluginrepositories&gt;&lt;br /&gt;&lt;br /&gt;&lt;dependencies&gt;&lt;br /&gt;&lt;dependency&gt;&lt;br /&gt;&lt;groupid&gt;org.alfresco.sdk&lt;/groupid&gt;&lt;br /&gt;&lt;artifactid&gt;alfresco-core-3.3&lt;/artifactid&gt;&lt;br /&gt;&lt;version&gt;3.3&lt;/version&gt;&lt;br /&gt;&lt;classifier&gt;community&lt;/classifier&gt;&lt;br /&gt;&lt;scope&gt;test&lt;/scope&gt;&lt;br /&gt;&lt;/dependency&gt;&lt;br /&gt;&lt;dependency&gt;&lt;br /&gt;&lt;groupid&gt;org.alfresco.sdk&lt;/groupid&gt;&lt;br /&gt;&lt;artifactid&gt;alfresco-deployment-3.3&lt;/artifactid&gt;&lt;br /&gt;&lt;version&gt;3.3&lt;/version&gt;&lt;br /&gt;&lt;classifier&gt;community&lt;/classifier&gt;&lt;br /&gt;&lt;scope&gt;test&lt;/scope&gt;&lt;br /&gt;&lt;/dependency&gt;&lt;br /&gt;...&lt;br /&gt;&lt;dependency&gt;&lt;br /&gt;&lt;groupid&gt;org.alfresco.sdk&lt;/groupid&gt;&lt;br /&gt;&lt;artifactid&gt;mysql-connector-java-5.1.7-bin&lt;/artifactid&gt;&lt;br /&gt;&lt;version&gt;3.3&lt;/version&gt;&lt;br /&gt;&lt;classifier&gt;community&lt;/classifier&gt;&lt;br /&gt;&lt;scope&gt;test&lt;/scope&gt;&lt;br /&gt;&lt;/dependency&gt;&lt;br /&gt;&lt;dependency&gt;&lt;br /&gt;&lt;groupid&gt;org.alfresco.sdk&lt;/groupid&gt;&lt;br /&gt;&lt;artifactid&gt;dom4j-1.6.1&lt;/artifactid&gt;&lt;br /&gt;&lt;version&gt;3.3&lt;/version&gt;&lt;br /&gt;&lt;classifier&gt;community&lt;/classifier&gt;&lt;br /&gt;&lt;scope&gt;test&lt;/scope&gt;&lt;br /&gt;&lt;/dependency&gt;&lt;br /&gt;&lt;dependency&gt;&lt;br /&gt;&lt;groupid&gt;org.alfresco.sdk&lt;/groupid&gt;&lt;br /&gt;&lt;artifactid&gt;ehcache-core-2.0.0&lt;/artifactid&gt;&lt;br /&gt;&lt;version&gt;3.3&lt;/version&gt;&lt;br /&gt;&lt;classifier&gt;community&lt;/classifier&gt;&lt;br /&gt;&lt;scope&gt;test&lt;/scope&gt;&lt;br /&gt;&lt;/dependency&gt;&lt;br /&gt;...&lt;br /&gt;&lt;dependency&gt;&lt;br /&gt;&lt;groupid&gt;org.alfresco.sdk&lt;/groupid&gt;&lt;br /&gt;&lt;artifactid&gt;org.springframework.beans-3.0.0&lt;/artifactid&gt;&lt;br /&gt;&lt;version&gt;3.3&lt;/version&gt;&lt;br /&gt;&lt;classifier&gt;community&lt;/classifier&gt;&lt;br /&gt;&lt;scope&gt;test&lt;/scope&gt;&lt;br /&gt;&lt;/dependency&gt;&lt;br /&gt;&lt;dependency&gt;&lt;br /&gt;&lt;groupid&gt;org.alfresco.sdk&lt;/groupid&gt;&lt;br /&gt;&lt;artifactid&gt;org.springframework.context-3.0.0&lt;/artifactid&gt;&lt;br /&gt;&lt;version&gt;3.3&lt;/version&gt;&lt;br /&gt;&lt;classifier&gt;community&lt;/classifier&gt;&lt;br /&gt;&lt;scope&gt;test&lt;/scope&gt;&lt;br /&gt;&lt;/dependency&gt;&lt;br /&gt;...&lt;br /&gt;&lt;/dependencies&gt;&lt;br /&gt;&lt;br /&gt;&lt;build&gt;&lt;br /&gt;&lt;resources&gt;&lt;br /&gt;&lt;resource&gt;&lt;br /&gt;&lt;filtering&gt;true&lt;/filtering&gt;&lt;br /&gt;&lt;directory&gt;src/main/resources&lt;/directory&gt;&lt;br /&gt;&lt;/resource&gt;&lt;br /&gt;&lt;resource&gt;&lt;br /&gt;&lt;filtering&gt;true&lt;/filtering&gt;&lt;br /&gt;&lt;directory&gt;src/main/config&lt;/directory&gt;&lt;br /&gt;&lt;targetpath&gt;alfresco/module/${groupId}.${artifactId}&lt;/targetpath&gt;&lt;br /&gt;&lt;/resource&gt;&lt;br /&gt;&lt;/resources&gt;&lt;br /&gt;&lt;br /&gt;&lt;plugins&gt;&lt;br /&gt;&lt;br /&gt;&lt;plugin&gt;&lt;br /&gt;&lt;groupid&gt;org.apache.maven.plugins&lt;/groupid&gt;&lt;br /&gt;&lt;artifactid&gt;maven-compiler-plugin&lt;/artifactid&gt;&lt;br /&gt;&lt;version&gt;2.2&lt;/version&gt;&lt;br /&gt;&lt;configuration&gt;&lt;br /&gt;&lt;source&gt;1.6&lt;br /&gt;&lt;target&gt;1.6&lt;/target&gt;&lt;br /&gt;&lt;/source&gt;&lt;br /&gt;&lt;/configuration&gt;&lt;br /&gt;&lt;br /&gt;&lt;plugin&gt;&lt;br /&gt;&lt;groupid&gt;org.alfresco.maven.plugin&lt;/groupid&gt;&lt;br /&gt;&lt;artifactid&gt;maven-amp-plugin&lt;/artifactid&gt;&lt;br /&gt;&lt;version&gt;3.0.1-SNAPSHOT&lt;/version&gt;&lt;br /&gt;&lt;extensions&gt;true&lt;/extensions&gt;&lt;br /&gt;&lt;configuration&gt;&lt;br /&gt;&lt;archive&gt;&lt;br /&gt;&lt;addmavendescriptor&gt;false&lt;/addmavendescriptor&gt;&lt;br /&gt;&lt;/archive&gt;&lt;br /&gt;&lt;/configuration&gt;&lt;br /&gt;&lt;/plugin&gt;&lt;br /&gt;&lt;/plugin&gt;&lt;br /&gt;&lt;/plugins&gt;&lt;br /&gt;&lt;br /&gt;&lt;/build&gt;&lt;br /&gt;&lt;/project&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;4. Installation and Deployment Project&lt;/span&gt;&lt;br /&gt;A simple command maven is enough to create our artifact and deploy it in our local repository :&lt;br /&gt;&lt;pre class="brush: plain"&gt;&lt;br /&gt;mvn clean install&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;In our repository, we now have access to the module &lt;span style="font-weight: bold;"&gt;fr.opensourceecm:alf-sdk:pom:3.3C&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Important !&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;If you use version 3.3C (like me here), we don't have &lt;span style="font-weight: bold;"&gt;config.jar&lt;/span&gt; in Alfresco SDK&lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;. In SDK it's a &lt;span style="font-weight: bold;"&gt;folder &lt;/span&gt;and not a jar. For information, this folder contains all configuration files for Alfresco. So it's clearly important to have it! This means, you have to create a jar of this directory and put it as a dependency in our pom.xml.&lt;/span&gt;&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;dependency&gt;&lt;br /&gt;&lt;groupid&gt;org.alfresco.sdk&lt;/groupid&gt;&lt;br /&gt;&lt;artifactid&gt;alfresco-config&lt;/artifactid&gt;&lt;br /&gt;&lt;version&gt;3.3&lt;/version&gt;&lt;br /&gt;&lt;classifier&gt;community&lt;/classifier&gt;&lt;br /&gt;&lt;scope&gt;test&lt;/scope&gt;&lt;br /&gt;&lt;/dependency&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;3. Update alf-amp-osecm&lt;/span&gt; &lt;/span&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;project &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;1. Changing the pom.xml&lt;/span&gt;&lt;br /&gt;Now we can modify our AMP Project pom.xml to take into account the parent. Note that we added the parent block in first place to define inheritance.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xsi="http://www.w3.org/2001/XMLSchema-instance" schemalocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;&lt;br /&gt;&lt;parent&gt;&lt;br /&gt;&lt;groupid&gt;fr.opensourceecm&lt;/groupid&gt;&lt;br /&gt;&lt;artifactid&gt;alf-sdk&lt;/artifactid&gt;&lt;br /&gt;&lt;version&gt;3.3C&lt;/version&gt;&lt;br /&gt;&lt;/parent&gt;&lt;br /&gt;&lt;modelversion&gt;4.0.0&lt;/modelversion&gt;&lt;br /&gt;&lt;artifactid&gt;alf-amp-osecm&lt;/artifactid&gt;&lt;br /&gt;&lt;packaging&gt;amp&lt;/packaging&gt;&lt;br /&gt;&lt;version&gt;0.0.2&lt;/version&gt;&lt;br /&gt;&lt;name&gt;alf-amp-osecm&lt;/name&gt;&lt;br /&gt;&lt;description&gt;Open Source ECM - Extension&lt;/description&gt;&lt;br /&gt;&lt;/project&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;We realize now that the pom is shorter. The information about dependencies and plugins have been inherited from the project SDK. That's the magic of inheritance!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;2. AMP Creation&lt;/span&gt;&lt;br /&gt;Now we have everything to create our module. You have just to execute one command in your project folder :&lt;br /&gt;&lt;pre class="brush: plain"&gt;&lt;br /&gt;mvn clean install&lt;br /&gt;&lt;/pre&gt;In target folder, you have &lt;span style="font-weight: bold;"&gt;alf-amp-osecm-0.0.2.amp&lt;/span&gt;. It's possible to integrate it into your alfresco.war and test it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;3. Integration&lt;/span&gt;&lt;br /&gt;Copy/paste the file &lt;span style="font-weight: bold;"&gt;alf-amp-osecm-0.0.2.amp&lt;/span&gt; to the &lt;span style="font-weight: bold;"&gt;amps &lt;/span&gt;directory in your Alfresco installation. Then run the installation script :&lt;span style="font-weight: bold;"&gt; apply_amps.bat&lt;/span&gt; in your root Alfresco installation folder. Follow instructions, wait few seconds and after that you have a new&lt;span style="font-weight: bold;"&gt; alfresco.war&lt;/span&gt; in &lt;span style="font-weight: bold;"&gt;tomcat/webapps &lt;/span&gt;folder.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;For more information : &lt;/span&gt;&lt;a bitly="BITLY_PROCESSED" style="font-style: italic;" href="http://wiki.alfresco.com/wiki/AMP_Files"&gt;http://wiki.alfresco.com/wiki/AMP_Files&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;4. Starting Alfresco&lt;/span&gt;&lt;br /&gt;Now you can run Alfresco and verify the integration of your custom module.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;WELL DONE ! &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Here I think, how we can do more with Maven Alfresco.&lt;br /&gt;&lt;br /&gt;In the next post will explore&lt;span style="font-weight: bold;"&gt; how to set up tests with Maven.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;PS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;All sources of &lt;span style="color: rgb(255, 0, 0);"&gt;alf-sdk&lt;/span&gt; can be downloaded at: &lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.box.net/shared/2zpgm3fcag"&gt;&lt;span style="font-weight: bold;"&gt;http://www.box.net/shared/2zpgm3fcag&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;All sources of &lt;span style="color: rgb(255, 0, 0);"&gt;alf-sdk-osecm&lt;/span&gt; (for creating dependency files) can be downloaded at:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.box.net/shared/fe6ftxeb4y"&gt;&lt;span style="font-weight: bold;"&gt;http://www.box.net/shared/fe6ftxeb4y&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;All sources of &lt;span style="color: rgb(255, 0, 0);"&gt;alf-amp-osecm&lt;/span&gt; be downloaded at:&lt;a href="http://www.box.net/shared/s966vj1xqz"&gt;http://www.box.net/shared/s966vj1xqz&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1400114241100585472-6478802422023760487?l=www.open-source-ecm.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=vXiH346wMAg:WLSi_ObQNRQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=vXiH346wMAg:WLSi_ObQNRQ:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=vXiH346wMAg:WLSi_ObQNRQ:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=vXiH346wMAg:WLSi_ObQNRQ:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=vXiH346wMAg:WLSi_ObQNRQ:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=vXiH346wMAg:WLSi_ObQNRQ:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=vXiH346wMAg:WLSi_ObQNRQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=vXiH346wMAg:WLSi_ObQNRQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=vXiH346wMAg:WLSi_ObQNRQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=vXiH346wMAg:WLSi_ObQNRQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=vXiH346wMAg:WLSi_ObQNRQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=vXiH346wMAg:WLSi_ObQNRQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=vXiH346wMAg:WLSi_ObQNRQ:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoingToAnOpensourceEcmWorld/~4/vXiH346wMAg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/6478802422023760487/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1400114241100585472&amp;postID=6478802422023760487" title="1 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/6478802422023760487?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/6478802422023760487?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoingToAnOpensourceEcmWorld/~3/vXiH346wMAg/maven-alfresco-sdk-dependencies.html" title="Maven + Alfresco : SDK, Dependencies, Inheritance" /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07200841589930120062" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_HuDWht5cbyc/S8F2u0M8JwI/AAAAAAAAAxQ/x0yv4w6f7UY/s72-c/AlfrescoMaven.PNG" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://www.open-source-ecm.com/2010/04/maven-alfresco-sdk-dependencies.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08GRX4yfCp7ImA9WxFRFEk.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472.post-3295219072954579828</id><published>2010-04-21T01:53:00.000-07:00</published><updated>2010-04-28T02:10:24.094-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-28T02:10:24.094-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Tutorial" /><category scheme="http://www.blogger.com/atom/ns#" term="Maven+Alfresco" /><category scheme="http://www.blogger.com/atom/ns#" term="Alfresco" /><category scheme="http://www.blogger.com/atom/ns#" term="Maven" /><title>Maven + Alfresco : Creating AMP</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_HuDWht5cbyc/S8F2u0M8JwI/AAAAAAAAAxQ/x0yv4w6f7UY/s1600/AlfrescoMaven.PNG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 142px;" src="http://3.bp.blogspot.com/_HuDWht5cbyc/S8F2u0M8JwI/AAAAAAAAAxQ/x0yv4w6f7UY/s320/AlfrescoMaven.PNG" alt="" id="BLOGGER_PHOTO_ID_5458774770008729346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hello everyone,&lt;br /&gt;&lt;br /&gt;Recently I just finished the excellent Maven  book written by &lt;a href="http://twitter.com/aheritier"&gt;A.Heritier&lt;/a&gt; and &lt;a href="http://twitter.com/ndeloof"&gt;N.De Loof&lt;/a&gt;.&lt;br /&gt;This is the kind of book I love because it is not just a catalog of functions but a big use case with idea and thinkings! So if you have not yet, I suggest you buy it at this &lt;a href="http://www.pearson.fr/livre/?GCOI=27440100730370"&gt;address &lt;/a&gt;or any other good bookstore that has Technology / Computers shelf. Sadly it's only in French... It's a good ocasion to start learning french :)&lt;br /&gt;&lt;br /&gt;I digress ... what I would like to share today is the &lt;span style="font-weight: bold;"&gt;integration between Maven and Alfresco&lt;/span&gt;. I think it's time to have a little reflection on this topic during several posts.&lt;br /&gt;&lt;br /&gt;If you use a little bit &lt;a href="http://maven.apache.org/"&gt;Maven &lt;/a&gt;and &lt;a href="http://www.alfresco.com/"&gt;Alfresco&lt;/a&gt;, you know there's something on the subject.&lt;br /&gt;In fact when we go to this &lt;a href="http://wiki.alfresco.com/wiki/Managing_Alfresco_Lifecyle_with_Maven"&gt;address&lt;/a&gt;, we can found all information to build Alfresco via Maven. Documentation is not necessarily clear at the first glance but after a while, you begin to understand all the ins and outs.&lt;br /&gt;&lt;br /&gt;Let's start an example&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;I want to create an AMP to add my custom data model and my custom web client config.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In my toolbox, I have one maven plugin : &lt;a href="http://maven.alfresco.com/nexus/content/repositories/alfresco-docs/maven-alfresco-lifecycle/plugins/maven-amp-plugin/index.html"&gt;maven-amp-plugin&lt;/a&gt; and one maven archetype &lt;a href="http://maven.alfresco.com/nexus/content/repositories/alfresco-docs/maven-alfresco-lifecycle/maven-alfresco-archetypes/maven-alfresco-amp-archetype/index.html"&gt;maven-alfresco-amp-archetype&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;For now I will only use the plugin. I want to start a little bit "From scratch". It's more shaping.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;In pre-requisite,&lt;/span&gt; I installed &lt;a href="http://www.eclipse.org/"&gt;&lt;span style="font-weight: bold;"&gt;Eclipse 3.5&lt;/span&gt;&lt;/a&gt; and &lt;a href="http://maven.apache.org/"&gt;&lt;span style="font-weight: bold;"&gt;Maven 2.2&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;I set the environment variables &lt;span style="font-weight: bold;"&gt;MAVEN_HOME&lt;/span&gt; and I configured my Eclipse workspace with this command in my eclipse workspace folder.&lt;br /&gt;&lt;pre class="brush: plain"&gt;&lt;br /&gt;mvn archetype:create -DgroupId=fr.opensourceecm -DartifactId=alf-amp-osecm -Dpackagename=fr.opensourceecm.alf.amp.osecm&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;How to Create my AMP ?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;br /&gt;1. Create Maven 2 project&lt;/span&gt;&lt;br /&gt;Via a command line in my Eclipse Workspace Folder :&lt;br /&gt;&lt;pre class="brush: plain"&gt;&lt;br /&gt;mvn archetype:create -DgroupId=fr.opensourceecm -DartifactId=alf-amp-osecm -Dpackagename=fr.opensourceecm.alf.amp.osecm&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I create a complete folder tree of Maven 2 project (type jar).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;2. Clean generated sample&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;I delete the subfolders of &lt;span style="font-weight: bold;"&gt;src/main/java&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;src/test/java&lt;/span&gt; to remove default class generated.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;3. Add my custom model&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;In the &lt;span style="font-weight: bold;"&gt;src/main/config/model&lt;/span&gt;, I add my data model: openSourceEcmModele.xml&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;NOTES&lt;/span&gt; &lt;span style="font-style: italic;"&gt;If you have no model, you can take "customExample.xml" from an Alfresco extension folder ( tomcat\shared\classes\alfresco\extension&lt;/span&gt;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;4. Add my web-client-config&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;In the &lt;span style="font-weight: bold;"&gt;src/main/config/ui&lt;/span&gt;, add the client configuration web openSourceEcm-web-client-config.xml&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;NOTES&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;If you have no model, you can take "web-client-config-custom.xml.sample" from an Alfresco extension folder ( tomcat\shared\classes\alfresco\extension&lt;/span&gt;&lt;/span&gt;) &lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;NOTES&lt;br /&gt;Previously, we have verified that the two above files are well-formatted and valid using the principles of dynamic models: &lt;a href="http://wiki.alfresco.com/wiki/Dynamic_Models"&gt;http://wiki.alfresco.com/wiki/Dynamic_Models&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;5. Add module-context.xml&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;In the &lt;span style="font-weight: bold;"&gt;src/main/config&lt;/span&gt;, I created the file &lt;span style="font-weight: bold;"&gt;module-context.xml&lt;/span&gt;. Through this file, I defined spring beans to identify  my model and web client configuration.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;beans&gt;&lt;br /&gt;   &lt;bean id="extension.dictionaryBootstrap" parent="dictionaryModelBootstrap" on="dictionaryBootstrap"&gt;&lt;br /&gt;       &lt;property name="models"&gt;&lt;br /&gt;           &lt;list&gt;&lt;br /&gt;               &lt;value&gt;alfresco/module/${groupId}.${artifactId}/model/openSourceEcmModele.xml&lt;/value&gt;&lt;br /&gt;           &lt;/list&gt;&lt;br /&gt;       &lt;/property&gt;&lt;br /&gt;   &lt;/bean&gt;&lt;br /&gt;&lt;br /&gt;   &lt;bean id="ds_web.configBootstrap" class="org.alfresco.web.config.WebClientConfigBootstrap" method="init"&gt;&lt;br /&gt;       &lt;property name="configs"&gt;&lt;br /&gt;           &lt;list&gt;&lt;br /&gt;               &lt;value&gt;classpath:alfresco/module/${groupId}.${artifactId}/ui/openSourceEcm-web-client-config.xml&lt;/value&gt;&lt;br /&gt;           &lt;/list&gt;&lt;br /&gt;       &lt;/property&gt;&lt;br /&gt;   &lt;/bean&gt;&lt;br /&gt;&lt;/beans&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;6. Add module.properties&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;This file is needed to identify the module and its details when it was installed by the ModuleService. It incorporates the values defined in the pom.xml of the project.&lt;br /&gt;&lt;pre class="brush: plain"&gt;&lt;br /&gt;module.id=${pom.groupId}.${pom.artifactId}&lt;br /&gt;module.title=${pom.name}&lt;br /&gt;module.description=${pom.description}&lt;br /&gt;module.version=${pom.version}&lt;br /&gt;module.repo.version.min=3.3&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;7. Change pom.xml&lt;/span&gt;&lt;br /&gt;This file is the unit of work for Maven. This is an XML file that contains information and configuration of your project. Maven used it to configure, generate and build what you may except of your project. It also contains the default values of the projects.&lt;br /&gt;&lt;pre class="brush: xml"&gt;&lt;br /&gt;&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xsi="http://www.w3.org/2001/XMLSchema-instance" schemalocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;&lt;br /&gt;&lt;modelversion&gt;4.0.0&lt;/modelversion&gt;&lt;br /&gt;&lt;groupid&gt;fr.opensourceecm&lt;/groupid&gt;&lt;br /&gt;&lt;artifactid&gt;alf-amp-osecm&lt;/artifactid&gt;&lt;br /&gt;&lt;packaging&gt;amp&lt;/packaging&gt;&lt;br /&gt;&lt;version&gt;0.0.1&lt;/version&gt;&lt;br /&gt;&lt;name&gt;alf-amp-osecm&lt;/name&gt;&lt;br /&gt;&lt;description&gt;Open Source ECM - Extension&lt;/description&gt;&lt;br /&gt;&lt;br /&gt;&lt;repositories&gt;&lt;br /&gt;&lt;repository&gt;&lt;br /&gt;&lt;id&gt;alfresco-public-snapshots&lt;/id&gt;&lt;br /&gt;&lt;url&gt;http://maven.alfresco.com/nexus/content/groups/public-snapshots&lt;/url&gt;&lt;br /&gt;&lt;snapshots&gt;&lt;br /&gt;&lt;enabled&gt;true&lt;/enabled&gt;&lt;br /&gt;&lt;updatepolicy&gt;daily&lt;/updatepolicy&gt;&lt;br /&gt;&lt;/snapshots&gt;&lt;br /&gt;&lt;/repository&gt;&lt;br /&gt;&lt;repository&gt;&lt;br /&gt;&lt;id&gt;alfresco-public&lt;/id&gt;&lt;br /&gt;&lt;url&gt;http://maven.alfresco.com/nexus/content/groups/public&lt;/url&gt;&lt;br /&gt;&lt;/repository&gt;&lt;br /&gt;&lt;/repositories&gt;&lt;br /&gt;&lt;pluginrepositories&gt;&lt;br /&gt;&lt;pluginrepository&gt;&lt;br /&gt;&lt;id&gt;alfresco-public&lt;/id&gt;&lt;br /&gt;&lt;url&gt;http://maven.alfresco.com/nexus/content/groups/public&lt;/url&gt;&lt;br /&gt;&lt;/pluginrepository&gt;&lt;br /&gt;&lt;pluginrepository&gt;&lt;br /&gt;&lt;id&gt;alfresco-public-snapshots&lt;/id&gt;&lt;br /&gt;&lt;url&gt;http://repository.sourcesense.com/nexus/content/groups/public-snapshots&lt;/url&gt;&lt;br /&gt;&lt;snapshots&gt;&lt;br /&gt;&lt;enabled&gt;true&lt;/enabled&gt;&lt;br /&gt;&lt;updatepolicy&gt;daily&lt;/updatepolicy&gt;&lt;br /&gt;&lt;/snapshots&gt;&lt;br /&gt;&lt;/pluginrepository&gt;&lt;br /&gt;&lt;/pluginrepositories&gt;&lt;br /&gt;&lt;br /&gt;&lt;build&gt;&lt;br /&gt;&lt;resources&gt;&lt;br /&gt;&lt;resource&gt;&lt;br /&gt;&lt;filtering&gt;true&lt;/filtering&gt;&lt;br /&gt;&lt;directory&gt;src/main/resources&lt;/directory&gt;&lt;br /&gt;&lt;/resource&gt;&lt;br /&gt;&lt;resource&gt;&lt;br /&gt;&lt;filtering&gt;true&lt;/filtering&gt;&lt;br /&gt;&lt;directory&gt;src/main/config&lt;/directory&gt;&lt;br /&gt;&lt;targetpath&gt;alfresco/module/${groupId}.${artifactId}&lt;/targetpath&gt;&lt;br /&gt;&lt;/resource&gt;&lt;br /&gt;&lt;/resources&gt;&lt;br /&gt;&lt;br /&gt;&lt;plugins&gt;&lt;br /&gt;&lt;plugin&gt;&lt;br /&gt;&lt;groupid&gt;org.alfresco.maven.plugin&lt;/groupid&gt;&lt;br /&gt;&lt;artifactid&gt;maven-amp-plugin&lt;/artifactid&gt;&lt;br /&gt;&lt;version&gt;3.0.1-SNAPSHOT&lt;/version&gt;&lt;br /&gt;&lt;extensions&gt;true&lt;/extensions&gt;&lt;br /&gt;&lt;configuration&gt;&lt;br /&gt;&lt;archive&gt;&lt;br /&gt;&lt;addmavendescriptor&gt;false&lt;/addmavendescriptor&gt;&lt;br /&gt;&lt;/archive&gt;&lt;br /&gt;&lt;/configuration&gt;&lt;br /&gt;&lt;/plugin&gt;&lt;br /&gt;&lt;/plugins&gt;&lt;br /&gt;&lt;br /&gt;&lt;/build&gt;&lt;br /&gt;&lt;/project&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We notice the presence of &lt;span style="font-weight: bold;"&gt;maven-amp-plugin&lt;/span&gt; as dependency. It allows the packaging of the project to AMP (see tags &lt;span style="font-weight: bold;"&gt; &amp;lt;packaging&gt; amp &amp;lt;/packaging&gt;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;To find this dependency, we add the tag &lt;span style="font-weight: bold;"&gt;&lt;&gt;&lt;/span&gt;. It authorize Maven to search and get various dependencies from this place.&lt;br /&gt;&lt;br /&gt;We also note the presence of tags &lt;span style="font-weight: bold;"&gt;&amp;lt;resource&gt; &amp;amp; &amp;lt;filtering&gt; &lt;/span&gt; for updating &lt;span style="font-weight: bold;"&gt;${...} &lt;/span&gt;values&lt;span style="font-weight: bold;"&gt;&lt;/span&gt; by the values defined in the pom.xml.&lt;br /&gt;For example, in our case the value of = &lt;span style="font-weight: bold;"&gt;$ (pom.version module.version)&lt;/span&gt; in the &lt;span style="font-weight: bold;"&gt;module.properties &lt;/span&gt;will be replaced by the value&lt;span style="font-weight: bold;"&gt; &amp;lt;version&gt; 0.0.1 &amp;lt;/version&gt;&lt;/span&gt; in the pom.xml. Useful for defining a single variable values.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;8. Compilation&lt;/span&gt;&lt;br /&gt;Now we have everything to create our module. We just have to execute one command line in our module folder :&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now you can find in the target directory of our project, the file&lt;span style="font-weight: bold;"&gt; alf-amp-osecm-0.0.1.amp&lt;/span&gt;. It's now possible to integrate it in an Alfresco.war.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;9. Integration&lt;/span&gt;&lt;br /&gt;Copy/paste the file &lt;span style="font-weight: bold;"&gt;alf-amp-osecm-0.0.1.amp&lt;/span&gt; to the &lt;span style="font-weight: bold;"&gt;amps &lt;/span&gt;directory in your Alfresco installation. Then run the installation script :&lt;span style="font-weight: bold;"&gt; apply_amps.bat&lt;/span&gt; in your root Alfresco installation folder. Follow instructions, wait few seconds and after that you have a new&lt;span style="font-weight: bold;"&gt; alfresco.war&lt;/span&gt; in &lt;span style="font-weight: bold;"&gt;tomcat/webapps &lt;/span&gt;folder.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;For more information : &lt;/span&gt;&lt;a style="font-style: italic;" href="http://wiki.alfresco.com/wiki/AMP_Files"&gt;http://wiki.alfresco.com/wiki/AMP_Files&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;10. Starting Alfresco&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Now you can run Alfresco and verify the integration of your custom module.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Good Job ! &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;For me, this is the simplest example of creating an AMP into Alfresco.&lt;br /&gt;&lt;br /&gt;In the next post, we will explore &lt;span style="font-weight: bold;"&gt;how to manage dependencies and inheritance.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;PS : Sources of this project, called alf-amp-osecm, can be downloaded at: &lt;br/&gt;&lt;a href="http://www.box.net/shared/tvkc3olink"&gt;http://www.box.net/shared/tvkc3olink&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1400114241100585472-3295219072954579828?l=www.open-source-ecm.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=UjwzE1eXEFU:aYTqJJ8abwU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=UjwzE1eXEFU:aYTqJJ8abwU:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=UjwzE1eXEFU:aYTqJJ8abwU:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=UjwzE1eXEFU:aYTqJJ8abwU:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=UjwzE1eXEFU:aYTqJJ8abwU:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=UjwzE1eXEFU:aYTqJJ8abwU:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=UjwzE1eXEFU:aYTqJJ8abwU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=UjwzE1eXEFU:aYTqJJ8abwU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=UjwzE1eXEFU:aYTqJJ8abwU:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=UjwzE1eXEFU:aYTqJJ8abwU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=UjwzE1eXEFU:aYTqJJ8abwU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=UjwzE1eXEFU:aYTqJJ8abwU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=UjwzE1eXEFU:aYTqJJ8abwU:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoingToAnOpensourceEcmWorld/~4/UjwzE1eXEFU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/3295219072954579828/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1400114241100585472&amp;postID=3295219072954579828" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/3295219072954579828?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/3295219072954579828?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoingToAnOpensourceEcmWorld/~3/UjwzE1eXEFU/maven-alfresco-creating-amp.html" title="Maven + Alfresco : Creating AMP" /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07200841589930120062" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_HuDWht5cbyc/S8F2u0M8JwI/AAAAAAAAAxQ/x0yv4w6f7UY/s72-c/AlfrescoMaven.PNG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.open-source-ecm.com/2010/04/maven-alfresco-creating-amp.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUNSXs8eip7ImA9WxFSGE4.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472.post-4258489356127712621</id><published>2010-04-21T00:44:00.000-07:00</published><updated>2010-04-21T01:24:58.572-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-21T01:24:58.572-07:00</app:edited><title>My news...</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jonkie.ch/img/thumb/tb-tuxitecte.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 128px; height: 128px;" src="http://jonkie.ch/img/thumb/tb-tuxitecte.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Hello World !&lt;br /&gt;&lt;br /&gt;As you have seen, it's been a while that i didn't post anything on this blog ?&lt;br /&gt;Why...? I'm a french guy so I have a lot of excuses ! :o)&lt;br /&gt;&lt;br /&gt;Seriously,  I have 3 excuses ...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;1. Merry Christmas ! &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;What's the link between my production of posts and Santa Claus ...? Bill's gaming console !&lt;br /&gt;Since christmas, I passed most of my free time&lt;br /&gt;&lt;ul&gt;&lt;li&gt;searching Cortana and save humanity in my green armour suite...&lt;br /&gt;&lt;/li&gt;&lt;li&gt;fighting in the street...&lt;br /&gt;&lt;/li&gt;&lt;li&gt;becoming the hero of bowerstone...&lt;/li&gt;&lt;li&gt;traveling through Pulse and Cocoon...&lt;/li&gt;&lt;li&gt;dropping bombs everywhere to explose funny character...&lt;br /&gt;&lt;/li&gt;&lt;li&gt;etc...&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;If you recognized and played all of those game, you have spend a lot of time like me.&lt;br /&gt;Welcome in my gaming world ! :o)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;2. Project Time !&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Since the beginning of january, my Alfresco project for "French Postal Company" started a new phase. Naturally, I had a lot of work to do. So I spend my working time developping new features, improving my code and trying new pratices... I had no time to blog during this time...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;3. Winter break&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Finally, it's good to have a break :) Like bear or marmot, a good hibernation is always a good thing.&lt;span style="font-size:130%;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;And now, what's the plan ?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Since last week, I re-start blogging on my french blog about the integration between &lt;span style="font-weight: bold;"&gt;Alfresco and Maven&lt;/span&gt;. I used it a lot in my work and I didn't know if my approach is the best approach. So I'm going to explain it to try improve it.  It's time to share my experience.&lt;br /&gt;&lt;br /&gt;So rendez-vous très bientôt ! Stay tuned!&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1400114241100585472-4258489356127712621?l=www.open-source-ecm.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=4o68bIpOylM:aycuG2ruwzg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=4o68bIpOylM:aycuG2ruwzg:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=4o68bIpOylM:aycuG2ruwzg:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=4o68bIpOylM:aycuG2ruwzg:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=4o68bIpOylM:aycuG2ruwzg:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=4o68bIpOylM:aycuG2ruwzg:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=4o68bIpOylM:aycuG2ruwzg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=4o68bIpOylM:aycuG2ruwzg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=4o68bIpOylM:aycuG2ruwzg:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=4o68bIpOylM:aycuG2ruwzg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=4o68bIpOylM:aycuG2ruwzg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=4o68bIpOylM:aycuG2ruwzg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=4o68bIpOylM:aycuG2ruwzg:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoingToAnOpensourceEcmWorld/~4/4o68bIpOylM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/4258489356127712621/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1400114241100585472&amp;postID=4258489356127712621" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/4258489356127712621?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/4258489356127712621?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoingToAnOpensourceEcmWorld/~3/4o68bIpOylM/my-news.html" title="My news..." /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07200841589930120062" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.open-source-ecm.com/2010/04/my-news.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0cHQ387fyp7ImA9WxNaF0k.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472.post-81289087316346972</id><published>2009-12-02T00:02:00.000-08:00</published><updated>2009-12-02T01:10:32.107-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-02T01:10:32.107-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Nuxeo" /><title>Nuxeo in 2009</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_HuDWht5cbyc/SxWGh3RixMI/AAAAAAAAAxE/CYOK418QDK0/s1600/nuxeo_logo.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 113px;" src="http://1.bp.blogspot.com/_HuDWht5cbyc/SxWGh3RixMI/AAAAAAAAAxE/CYOK418QDK0/s320/nuxeo_logo.png" alt="" id="BLOGGER_PHOTO_ID_5410378443686855874" border="0" /&gt;&lt;/a&gt;It's been a while that I didn't share some news about Nuxeo on this blog. I'll try to make up for it...&lt;br /&gt;&lt;br /&gt;Let's go back to the future... In 2009.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Nuxeo 5.3&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;During October, Nuxeo announced availability of its new version of Nuxeo DM: the &lt;span style="font-weight: bold;"&gt;5.3&lt;/span&gt;.&lt;br /&gt;This version is the most complete Nuxeo that we've seen. Functionally richer, it covers more complex and extensive needs.&lt;br /&gt;&lt;br /&gt;Among the list of new features, I will mention two of them&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Open Social&lt;/span&gt;: When we met "clients", one recurrent need is the famous "portal". I put out the word "portal" between quotes because, as the term ECM, portal are not a friendly term and can explain anything at the same time. Here I talk about Widget/Gadget Portal like Google or Netvibes. We can arrange on a single page a set of small square to form a mosaic that meet the functional requirements of the customer. In other words how, in my application, can I aggregate content and applications from different sources ? (and if it looks like Google it's even better!)&lt;br /&gt;&lt;br /&gt;To satisfy this need, Nuxeo has integrated&lt;a href="http://www.opensocial.org/"&gt; http://www.opensocial.org/&lt;/a&gt;. This is THE reference (de facto standard) in terms of creating composite application. Nuxeo DM becomes both Open Social Gadgets client and server . Think about it when you customer want to add the famous Weather box. ;o)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Federated publishing &lt;/b&gt;: This need is more technical oriented and really important for integrator or any large company. To understand the usefulness, consider the example of a company which has 2 remote sites (geographically and functionally). One site is the head office while the other site is a production site. At head office, product team develop and creates all of new products documentation (product schema, manufacturing instructions, user guide...) and stores / shares then in ECM Repository. The production team uses this documentation everyday. A lack of documentation can generate the malfunction of production site. To avoid such unforeseen, we will create an 'master-slave "solution between the main ECM repository and a local one only for production. Between these two sites, we can create a link to share and distribute information. This practice guarantee and ensure high data availability.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;You can find the announcement at &lt;a href="http://www.nuxeo.com/en/about/news/nuxeo-dm-53"&gt;http://www.nuxeo.com/en/about/news/nuxeo-dm-53&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you prefer video, you can find a webinar presenting the capabilities of Nuxeo at:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.nuxeo.com/en/about/events/webinar_nuxeo_dm_53" target="_blank"&gt;http://www.nuxeo.com/en/&lt;wbr&gt;about/events/webinar_nuxeo_dm_&lt;wbr&gt;53&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Nuxeo and marketing&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;For over a year and to support its international expansion, Nuxeo has considerably improved its marketing presence. Concretely this means more events both on the web via webinars, videos, presentations, participating in social networks or concrete meetings.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Reminder &lt;/span&gt;&lt;span style="font-style: italic;"&gt;: Nuxeo World &lt;/span&gt;&lt;a style="font-style: italic;" href="http://www.nuxeo.com/fr/societe/actualites/nuxeo-world-2010"&gt;http://www.nuxeo.com/fr/societe/actualites/nuxeo-world-2010&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;One of the highlights of this strategy was the appointment of &lt;span style="font-weight: bold;"&gt;Cheryl McKinnon&lt;/span&gt; as CMO (Chief Marketing Officer in English). You will say "yes, what's else?" I will answer that she was  Director of Program Management, Enterprise 2.0 from Open Text (proprietary editor solutions  content management world and a leader in this market ... and Nuxeo competitor) and secondly she is known and recognized in the international ECM community. If you want further evidence of the rise of open source document management, I think you have a new ;-)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Nb: If you want to follow Cheryl McKinnon&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Blog: &lt;a href="http://candyandaspirin.blogspot.com/" target="_blank"&gt;http://candyandaspirin.blogspot.com/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Nuxeo Blog :&lt;a href="http://blogs.nuxeo.com/cmckinnon/"&gt; http://blogs.nuxeo.com/cmckinnon/&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Twitter : &lt;a href="http://twitter.com/CherylMcKinnon"&gt;http://twitter.com/CherylMcKinnon&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Three axes of conquest&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;During 2009, we discover that Nuxeo is moving  to 3 directions (which I consider important)&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;Semantic area&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Apache Chemistry and CMIS&lt;/li&gt;&lt;li&gt;Nuxeo Cloud&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Semantic area&lt;/span&gt;&lt;br /&gt;To be honest, I'm not an expert in this area but I know how important it is to provide intelligence into data stored in content management system .&lt;br /&gt;&lt;br /&gt;To get an idea of integrating this component in Nuxeo, I'll refer you to the various available resources . They are mainly from Olivier Grisel work at Nuxeo and Yerbabuena Software which has developed the first module Nuxeo in this area.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Article&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://blogs.nuxeo.com/dev/semantic/" target="_blank"&gt;Nuxeo Blogs&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;a href="http://www.computerworlduk.com/community/blogs/index.cfm?entryid=2644&amp;amp;blogid=14"&gt;ComputerWorld&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Videos&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://vimeo.com/channels/chtijug#7544566"&gt;[FRENCH] Presentation by Olivier Grisel about Nuxeo and Semantic durign Chti'jug (ppt)&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Nuxeo Semantic by Yerbabuena Software&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://blog.yerbabuenasoftware.com/2009/08/nuxeo-thinks-itself-semantics-for-nuxeo.html"&gt;Nuxeo Thinks itself: Semantics for Nuxeo&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.yerbabuenasoftware.com/2009/08/semantics-for-nuxeo-nti-second-demo.html"&gt;Semantics For Nuxeo (NTI) : Second demo released&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.yerbabuenasoftware.com/2009/09/yerbabuena-has-published-third-version.html"&gt;Semantics For Nuxeo (NTI) - Third demo implemented&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.yerbabuenasoftware.com/2009/10/nuxeo-nti-demo-available.html"&gt;Nuxeo NTI demo available&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.yerbabuenasoftware.com/2009/11/semantics-for-nuxeo-nti-fourth-demo.html"&gt;Semantics For Nuxeo (NTI) - Fourth demo implemented&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;span style="font-style: italic;"&gt;Nb: If you want to follow Olivier Grisel: &lt;/span&gt;&lt;a style="font-style: italic;" href="http://twitter.com/ogrisel"&gt;http://twitter.com/ogrisel&lt;/a&gt; or Yerbabuena &lt;a href="http://twitter.com/yerbabuenasoft"&gt;http://twitter.com/yerbabuenasoft&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;Apache Chemistry and CMIS&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Nuxeo has launched for several months now the Chemistry initiative : &lt;a href="http://incubator.apache.org/chemistry/"&gt;http://incubator.apache.org/chemistry/&lt;/a&gt;. This initiative seeks to become the open source  implementation reference  of CMIS standard. Due to the approaching end of CMIS public review, we can suspect that this part will be increasingly important in the coming months and will contribute to Nuxeo reputation.&lt;br /&gt;&lt;br /&gt;NB : Have a look to&lt;a href="http://jonontech.com/"&gt; jonontech.com&lt;/a&gt; blog :&lt;br /&gt;&lt;a href="http://jonontech.com/2009/11/26/cmis-jcr-and-osgi-for-idiots/"&gt;http://jonontech.com/2009/11/26/cmis-jcr-and-osgi-for-idiots/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Nuxeo Cloud&lt;/span&gt;&lt;br /&gt;You want an ECM Solution without worry of technical infrastructure ? You want a distributed system which can support easily high availability ? So take &lt;a href="http://www.nuxeo.com/fr/societe/actualites/nuxeo_annonce_nuxeo_document_management_cloud_edition_loffre_saas_de_sa_ged_collaborative"&gt;Nuxeo cloud&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;And tomorrow?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;This &lt;a href="http://wordofpie.com/2009/12/01/nuxeo-comes-courting/"&gt;post&lt;/a&gt;  by &lt;a href="http://www.open-source-ecm.com/2009/09/interview-laurence-hart-senior.html"&gt;Laurence Hart&lt;/a&gt; on his blog &lt;a href="http://wordofpie.com/"&gt;wordofpie.com&lt;/a&gt; inform us about Nuxeo main development axes. We can find Record Management and a catalog of application services (mail management, DAM, Cloud ...).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Voila Ladies and gentlemen, all I can summarize about Nuxeo. I remain at your disposal for further information and to share various news about Nuxeo.&lt;br /&gt;&lt;br /&gt;See you soon!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1400114241100585472-81289087316346972?l=www.open-source-ecm.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=-OGyhhvpzk8:Ub6Np5p_icc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=-OGyhhvpzk8:Ub6Np5p_icc:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=-OGyhhvpzk8:Ub6Np5p_icc:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=-OGyhhvpzk8:Ub6Np5p_icc:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=-OGyhhvpzk8:Ub6Np5p_icc:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=-OGyhhvpzk8:Ub6Np5p_icc:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=-OGyhhvpzk8:Ub6Np5p_icc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=-OGyhhvpzk8:Ub6Np5p_icc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=-OGyhhvpzk8:Ub6Np5p_icc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=-OGyhhvpzk8:Ub6Np5p_icc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=-OGyhhvpzk8:Ub6Np5p_icc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=-OGyhhvpzk8:Ub6Np5p_icc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=-OGyhhvpzk8:Ub6Np5p_icc:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoingToAnOpensourceEcmWorld/~4/-OGyhhvpzk8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/81289087316346972/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1400114241100585472&amp;postID=81289087316346972" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/81289087316346972?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/81289087316346972?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoingToAnOpensourceEcmWorld/~3/-OGyhhvpzk8/nuxeo-in-2009.html" title="Nuxeo in 2009" /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07200841589930120062" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_HuDWht5cbyc/SxWGh3RixMI/AAAAAAAAAxE/CYOK418QDK0/s72-c/nuxeo_logo.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.open-source-ecm.com/2009/12/nuxeo-in-2009.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEIARno4fCp7ImA9WxNaE0w.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472.post-4673252699938344846</id><published>2009-11-27T02:00:00.000-08:00</published><updated>2009-11-27T02:09:07.434-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-27T02:09:07.434-08:00</app:edited><title>Open Source ECM V2</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://jonkie.ch/index.html"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 128px; height: 128px;" src="http://jonkie.ch/img/thumb/tb-tux_peintre.png" alt="" border="0" /&gt;&lt;/a&gt;As you can see, &lt;a href="http://www.open-source-ecm.com/"&gt;http://www.open-source-ecm.com/ &lt;/a&gt;has changed its look!&lt;br /&gt;&lt;br /&gt;Lighter, larger, whiter, more simple, morecollaborative ... in other words more better!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;So What's New ?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I changed the blue template for a &lt;span style="font-weight: bold;"&gt;white template&lt;/span&gt;. It's more ergonomic and allow an easy-reading. I drop "full-post" design for a preview one. Indeed on the homepage it is now possible to see the latest articles published on the blog (and not the long last one)...  To go further, just click on &lt;span style="font-weight: bold;"&gt;"Read More"&lt;/span&gt; to see the whole article.&lt;br /&gt;&lt;br /&gt;A &lt;span style="font-weight: bold;"&gt;menu bar&lt;/span&gt; appeared! Cruel missing in my previous blog, this bar will allow me to create links quickly and easily to a particular aspect of my blog. The 3 subject are currently "&lt;span style="font-weight: bold;"&gt;About&lt;/span&gt;", "&lt;span style="font-weight: bold;"&gt;My Interviews&lt;/span&gt;", "&lt;span style="font-weight: bold;"&gt;My Presentations&lt;/span&gt;".&lt;br /&gt;&lt;br /&gt;To the right of the menu bar (this time properly integrated), we find a field of &lt;span style="font-weight: bold;"&gt;"quick search"&lt;/span&gt;. Useful is not it?&lt;br /&gt;&lt;br /&gt;A &lt;span style="font-weight: bold;"&gt;new mascot&lt;/span&gt; is also appearing! &lt;span style="font-weight: bold;"&gt;Tuxitecte (in english equivalent as &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Architect &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Tux) &lt;/span&gt;  arrived from&lt;span style="text-decoration: underline;"&gt; &lt;/span&gt;&lt;a href="http://www.blogger.com/%3C%21--%20%3Cimg%20alt=%27Digg%27%20height=%27100%27%20src=%27http://i307.photobucket.com/albums/nn294/jm_pascal/kami23-tuxitecte-13668.png%27%20width=%27100%27/%3E--%3E%20%3Ca%20alt=%27Tuxitecte%20par%20Kami23%27%20href=%27http://jonkie.ch/index.html%27%3E%3Cimg%20alt=%27Tuxitecte%27%20height=%27100%27%20src=%27http://jonkie.ch/img/thumb/tb-tuxitecte.png%27%20width=%27100%27/%3E%3C/a%3E"&gt;http://tux.crystalxp.net/fr.id.13668-tuxitecte.html&lt;/a&gt; site and was created by &lt;a href="http://igloo.crystalxp.net/kami23"&gt;kami23 &lt;/a&gt;under creative commons license. You can find his works on the site &lt;a href="http://jonkie.ch/index.html"&gt;http://jonkie.ch/index.html&lt;/a&gt;. Merci kami23!&lt;br /&gt;&lt;br /&gt;In 2.0 section, you can find all my sharing  space and "social networking" in &lt;span style="font-weight: bold;"&gt;My Universe Space&lt;/span&gt;. In this same category please subscribe to the &lt;span style="font-weight: bold;"&gt;RSS feed&lt;/span&gt; as a &lt;span style="font-weight: bold;"&gt;feed &lt;/span&gt;or as &lt;span style="font-weight: bold;"&gt;email&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;The categories changed into "&lt;span style="font-weight: bold;"&gt;cloud&lt;/span&gt;" for better readability. We realize very quickly what are my interests. ^^&lt;br /&gt;&lt;br /&gt;Each section is now "&lt;span style="font-weight: bold;"&gt;retweet&lt;/span&gt;". On my old version I tried Dzone and Digg indicators  but I soon realized that these indicators (for the content of my blog) were not necessarily very convincing ...&lt;br /&gt;&lt;br /&gt;The creation of &lt;span style="font-weight: bold;"&gt;comment&lt;/span&gt; is now simpler and clearer. By doing a little inventory of my old blog, I think the lack of simplicity was probably a brake ... I hope now that this mistake will now be corrected. Stay tuned...&lt;br /&gt;&lt;br /&gt;Each post now has the famous "&lt;span style="font-weight: bold;"&gt;5 star ratings&lt;/span&gt;". I don't know you but for me I do it more and more. It become a reflex. If this works, these little stars will guide me a little setting up my articles.&lt;br /&gt;&lt;br /&gt;Finally, each post also has links to various "&lt;span style="font-weight: bold;"&gt;favorites&lt;/span&gt;" to social tools &amp;amp; networks.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Now it's your turn, enjoy !&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1400114241100585472-4673252699938344846?l=www.open-source-ecm.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=j0j5enbImHY:gl0cuyS1IvM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=j0j5enbImHY:gl0cuyS1IvM:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=j0j5enbImHY:gl0cuyS1IvM:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=j0j5enbImHY:gl0cuyS1IvM:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=j0j5enbImHY:gl0cuyS1IvM:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=j0j5enbImHY:gl0cuyS1IvM:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=j0j5enbImHY:gl0cuyS1IvM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=j0j5enbImHY:gl0cuyS1IvM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=j0j5enbImHY:gl0cuyS1IvM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=j0j5enbImHY:gl0cuyS1IvM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=j0j5enbImHY:gl0cuyS1IvM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=j0j5enbImHY:gl0cuyS1IvM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=j0j5enbImHY:gl0cuyS1IvM:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoingToAnOpensourceEcmWorld/~4/j0j5enbImHY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/4673252699938344846/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1400114241100585472&amp;postID=4673252699938344846" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/4673252699938344846?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/4673252699938344846?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoingToAnOpensourceEcmWorld/~3/j0j5enbImHY/open-source-ecm-v2.html" title="Open Source ECM V2" /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07200841589930120062" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.open-source-ecm.com/2009/11/open-source-ecm-v2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQBRXw6eyp7ImA9WxNaEUk.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472.post-2200974813479952579</id><published>2009-11-25T00:06:00.000-08:00</published><updated>2009-11-25T01:12:34.213-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-25T01:12:34.213-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Contribution" /><category scheme="http://www.blogger.com/atom/ns#" term="Tips" /><category scheme="http://www.blogger.com/atom/ns#" term="Definition" /><category scheme="http://www.blogger.com/atom/ns#" term="Socila Networking" /><title>How to choose a *CM solution ?</title><content type="html">Hello everyone,&lt;br /&gt;&lt;br /&gt;The topic of the day is devoted to an old problem:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;How to choose &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;*CM &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;solution  (Content Management)?&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center; font-style: italic;"&gt;&lt;span style="font-size:85%;"&gt;(* represents a letter of your choice, but commonly an E or W)&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;This question implies many issues, include many methodologies and is unique to each project context. In other words it is not easy (or impossible) to standardize a single approach to the problem. Nevertheless it is possible to avoid major pitfalls and use best pratices. This is what we'll try to see later through a series of rules.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Note: This rules are from  different &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;feedback which you can fin as references at the end of this post. It engages only me and can't be THE good road to choose its solution ...&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Rule No. 1: What are my needs ?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Need : I remind you that this is the basis ... Without a &lt;span style="font-weight: bold;"&gt;LITERAL &lt;/span&gt;definition of need, without use cases &lt;span style="font-weight: bold;"&gt;DIAGRAM &lt;/span&gt;described by&lt;span style="font-weight: bold;"&gt; LITERAL &lt;/span&gt;explanations , without a &lt;span style="font-weight: bold;"&gt;HISTORY &lt;/span&gt;of functional requirements it is necessary to start a project that will result in inadequatechoice ?&lt;br /&gt;This point is the famous WHAT for &lt;span style="font-weight: bold;"&gt;"What is the future scope of my work?"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In document management project, you must identify documents type that the system must manage. What are their format, their average size, frequency of creation or modification, deletion. Who is responsible for this data ...?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Rule No. 2: What are my technical requirements?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;Following the recommendation of my Enterpise Architect I must be able to retrieve information from an application. Is there a connector with this application or what's the feature which can help to retrieve this information?&lt;br /&gt;From my architects, my future solution must be based on an EJB3 architecture and must be installed on Ubuntu Linux.&lt;br /&gt;The operating service needs to monitor the future application via JMX.&lt;/blockquote&gt;&lt;br /&gt;When such constraints is known, it is easier (for both client and supplier) to choose an appropriate solution. These constraints could create a list of MUST-HAVE. It can be useful to discriminate when comparing offers. It's up to you to place your cursor on the importance of criteria (don't forget of course that few solutions satisfying all criteria)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Rule No. 3: Small streams make large rivers&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size:78%;"&gt;(translation of french proverb.)&lt;/span&gt;&lt;br /&gt;Based on this principle or the famous KISS (Keep It Simple Stupid), it's best to start simply, quickly and humbly then verify, validate and begin to see in a second time how to extend the functionality and features offered. With this methodology, you can have quick feedbacks from your operational and this is priceless!&lt;br /&gt;&lt;br /&gt;In the area of development this is called Agile Development :o)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Rule No. 4: To choose a solution, the rating scale/matrix you must ban!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;To have performed the exercise as a consultant and as user grids are useful in fact... for nothing... Except to prove and say what you want!&lt;br /&gt;&lt;br /&gt;For those who had never seen, here's a little description:&lt;br /&gt;&lt;br /&gt;This is usually an Excel file with a list of criteria grouped into families, which themselves are clustered in groups, which themselves are grouped by category. Each critera has a weighting. Sometimes it's also considered for families, groups and categories ... This list represents the Y axis (from top to bottom).&lt;br /&gt;Then on the X axis (left to right), we'll add different solutions. They have to pass with success or not the treatment of the matrix.&lt;br /&gt;The intersection of critera line and solution column must be filled by a combination of score between 0 and 5.&lt;br /&gt;Finally, in the bottom of the Excel sheet, there is the final grade. Resulting in average weights between products and notes, this note is responsible for the choice of solution. This "scientific" approach allow to find right choice without doubt!&lt;br /&gt;&lt;br /&gt;Simple isn't it ?  :o)&lt;br /&gt;&lt;br /&gt;The main criticism of this practice comes from the "subjectivity" in the criteria selection, weighting and rating.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;My need&lt;/span&gt;&lt;br /&gt;The technical staff (designer of our products) need to share their good practices in a collaborative way.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Possible criteria&lt;/span&gt;&lt;br /&gt;Wiki Integration in my CM System&lt;br /&gt;&lt;br /&gt;Possible responses&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Response from a consultant: For the solution X, there's a possibility to integrate a Wiki solution via the API.&lt;/li&gt;&lt;li&gt;Response from an editor: In my solution, One of our features can manage a wiki.&lt;/li&gt;&lt;li&gt;Answer  from an integrator: With a little code, you can create a simple wiki system that you can connect to the solution Z DM system.&lt;/li&gt;&lt;/ul&gt;Now It's your turn.  Post a score from 0 to 4.&lt;br /&gt;&lt;br /&gt;In fact, do you ask what is the syntax of the engine? Do your colleagues want to learned a new syntax ?  or do they simply want a simple (or rich) text editor, with the integration of media such as images ...?&lt;br /&gt;Then you have to think how these contents are stored? How they can be reused, shared and indexed? and so on ...&lt;br /&gt;&lt;br /&gt;Now you would put the same note?&lt;br /&gt;&lt;br /&gt;This essentially limits the Matrix system ...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Rule No. 5: In a RFP don't require a matrix list of critera ! &lt;/span&gt;&lt;br /&gt;Corollary to the previous point, if you do not want wrong and subjective answers, don't ask to complete a grid. Simple...&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Rule No. 6: With whom I want to work?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;It's a simple rule but it's not always applied. Is not it easier to work with people we know and with whom we have create trust link, respect, honesty and efficiency?&lt;br /&gt;&lt;br /&gt;Do not hesitate to meet different people who are involved both in choice phase, design phase or production. Those are the people who are foremost guaranteeing the success of your project.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Rule No. 7: You know your budget? Then don't hide it !&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;I know that this choice may be considered as crazy, but it will save your time! On the one hand you will know which suppliers are really interested in the project and on the other hand, it allows you to choose the product range wich best match your needs.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Note: As a fervent open-source addict, I want to remember that Open Source Solution is NOT a synonym of FREE!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Rule No. 8: Open Source or Proprietary same fight or in other language there's no prejudice you should have!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Although I am a strong supporter of open source, you can't exclude the choice of a solution due to this Proprietary approach(and vice versa!). In choosing a solution only your needs should count (and your budget of course ^^...)!&lt;br /&gt;If the need is well covered by a proprietary solution and you can buy licences with your budget, &lt;span class="clickable" onclick="'dr4sdgryt(event,"&gt;why deprive yourselves?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Rule No. 9: A prototype you have to test !&lt;/span&gt;&lt;br /&gt;Sometimes in the selection criteria, we find the words: "2.0 user Experience", or "Enriched Usability and Experience". If you have never installed or used the product how can you trust a note or a description. It is in these times that we see the usefulness of a prototype.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Small reminder: A prototype is not the final solution. It's a few days work and not your several months project result.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Prototype goal is to demonstrate the strengths and weaknesses of a product on a particular use case. In addition, you will see solution degree of mastery by an integrator, or product  degree of adaptability by an editor. This is not the Supplier(Integrator or Editor) to show what the product can do but the product to show what he can do in your context. And if the prototype crashes it does not matter, it shows instead what it should really do.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Rule No. 10: I don't understand ...&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;You have trouble understanding the principles of content management project. Simply, call for help !&lt;br /&gt;&lt;br /&gt;That's all folks. Don't hesitate to post a comment.&lt;br /&gt;&lt;br /&gt;This entire article wouldn't have been possible without precious post and articles on the subject. Here are some selections:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;[FR] BPMBulletin : &lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.bpmbulletin.com/2009/11/23/5-facteurs-cles-de-succes-pour-mettre-en-oeuvre-une-application-ecm-bpm/"&gt;http://www.bpmbulletin.com/2009/11/23/5-facteurs-cles-de-succes-pour-mettre-en-oeuvre-une-application-ecm-bpm/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;[ENG] BIG MEN ON CONTENT&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://bigmenoncontent.com/2009/11/03/8-dimensions-of-cms-technical-evaluation/"&gt;http://bigmenoncontent.com/2009/11/03/8-dimensions-of-cms-technical-evaluation/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;[ENG] BLEND INTERACTIVE &lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://blendinteractive.com/blog/business/getting-good-rfp-response/"&gt;http://blendinteractive.com/blog/business/getting-good-rfp-response/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;[ENG] CMS WATCH &lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.cmswatch.com/Trends/1657-Beyond-the-RFP"&gt;http://www.cmswatch.com/Trends/1657-Beyond-the-RFP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.cmswatch.com/Feature/97-Implementation-Choices"&gt;http://www.cmswatch.com/Feature/97-Implementation-Choices&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;[ENG] CONTENT HERE&lt;/span&gt; &lt;span style="font-style: italic;"&gt;(My favourite!)&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.contenthere.net/2008/11/leading-requirements.html"&gt;http://www.contenthere.net/2008/11/leading-requirements.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.contenthere.net/2007/05/how-to-select-a-cms.html"&gt;http://www.contenthere.net/2007/05/how-to-select-a-cms.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.contenthere.net/2007/05/how-to-select-a-cms.html"&gt;http://www.contenthere.net/2009/11/when-it-is-not-all-about-the-software.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.contenthere.net/2008/02/the-rfp-is-dead-long-live-the-rfp.html"&gt;http://www.contenthere.net/2008/02/the-rfp-is-dead-long-live-the-rfp.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.contenthere.net/2008/02/to-tell-or-not-to-tell.html"&gt;http://www.contenthere.net/2008/02/to-tell-or-not-to-tell.html&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;[ENG] JON ON TECH&lt;/span&gt; &lt;span style="font-style: italic;"&gt;(MUST READ!)&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://jonontech.com/2009/04/12/which-comes-first-the-crew-or-the-cms/"&gt;http://jonontech.com/2009/04/12/which-comes-first-the-crew-or-the-cms/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1400114241100585472-2200974813479952579?l=www.open-source-ecm.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=TEYxn46dOhg:OvNAbKWXmhw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=TEYxn46dOhg:OvNAbKWXmhw:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=TEYxn46dOhg:OvNAbKWXmhw:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=TEYxn46dOhg:OvNAbKWXmhw:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=TEYxn46dOhg:OvNAbKWXmhw:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=TEYxn46dOhg:OvNAbKWXmhw:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=TEYxn46dOhg:OvNAbKWXmhw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=TEYxn46dOhg:OvNAbKWXmhw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=TEYxn46dOhg:OvNAbKWXmhw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=TEYxn46dOhg:OvNAbKWXmhw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=TEYxn46dOhg:OvNAbKWXmhw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=TEYxn46dOhg:OvNAbKWXmhw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=TEYxn46dOhg:OvNAbKWXmhw:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoingToAnOpensourceEcmWorld/~4/TEYxn46dOhg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/2200974813479952579/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1400114241100585472&amp;postID=2200974813479952579" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/2200974813479952579?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/2200974813479952579?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoingToAnOpensourceEcmWorld/~3/TEYxn46dOhg/how-to-choose-cm-solution.html" title="How to choose a *CM solution ?" /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07200841589930120062" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.open-source-ecm.com/2009/11/how-to-choose-cm-solution.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUHR3g6eSp7ImA9WxNaEEw.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472.post-1798067041602941012</id><published>2009-11-23T13:57:00.000-08:00</published><updated>2009-11-23T14:43:56.611-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-23T14:43:56.611-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Tools" /><category scheme="http://www.blogger.com/atom/ns#" term="Contribution" /><category scheme="http://www.blogger.com/atom/ns#" term="Definition" /><category scheme="http://www.blogger.com/atom/ns#" term="wave" /><category scheme="http://www.blogger.com/atom/ns#" term="Socila Networking" /><title>Wave &amp; ECM : My feelings and opinions</title><content type="html">Hello everyone!&lt;br /&gt;If you don't live on another planet, you've probably heard about &lt;span style="font-size:78%;"&gt;G&lt;/span&gt;&lt;span style="font-size:85%;"&gt;O&lt;/span&gt;&lt;span style="font-size:100%;"&gt;O&lt;/span&gt;&lt;span style="font-size:130%;"&gt;G&lt;/span&gt;&lt;span style="font-size:180%;"&gt;LE&lt;/span&gt; &lt;span style="font-size:130%;"&gt;W&lt;/span&gt;A&lt;span style="font-size:85%;"&gt;V&lt;/span&gt;&lt;span style="font-size:78%;"&gt;E&lt;/span&gt; phenomenon. Having obtained the precious sesame since october, I've tested the tool and I'm now ready to explain my opinion about it.&lt;br /&gt;&lt;br /&gt;I'm not going to get an n-th presentation of Google Wave. The resources on Internet (and google of course) are not lacking.  So today I just want to share with you my recent thoughts on the relationship between ECM or CM in general with Google Wave ... Does Google Wave will crush ECM or marry to it ? Is it a white elephant or technological breakthrough?&lt;span id="result_box" class="long_text"&gt;&lt;span title="Mouton à cinq pattes ou réelle avancée technologique ?" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span title="Collaboration et communication" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Collaboration and Communication &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;First Wave is like Google's definition says:&lt;br /&gt;  &lt;span style="font-weight: bold; font-style: italic;"&gt;&lt;blockquote&gt;Google Wave is an online tool for real-time communication and collaboration. A wave can be both a conversation and a document where people can discuss and work together using richly formatted text, photos, videos, maps, and more. &lt;/blockquote&gt;&lt;/span&gt;&lt;span id="result_box" class="long_text"&gt;&lt;blockquote&gt;&lt;span title="A wave can be both a conversation and a document where people can discuss and work together using richly formatted text, photos, videos, maps, and more." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="un outil qui permet d'échanger de l'information (communiquer quoi...) entre une ou plusieurs personnes de manière synchrone (interactive) ou asynchrone (statique)..." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;/span&gt;&lt;/span&gt;a tool to exchange information (in other words communicate...) between one or more persons synchronously (interactive) or asynchronous (Static) ...&lt;br /&gt;&lt;br /&gt;Let's do a little inventory. In the category of collaboration tools and communication exist:&lt;span id="result_box" class="long_text"&gt;&lt;span title="Dans la catégorie des outils de collaboration et de communication il existe :" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span id="result_box" class="long_text"&gt;&lt;span title="* E-Mail : Il s'agit d'un service de transfert de messages envoyés par un système de messagerie électronique via un réseau informatique (principalement Internet) dans la boîte aux lettres électronique d'un destinataire choisi par l'émetteur." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;a style="font-weight: bold;" href="http://en.wikipedia.org/wiki/E-mail"&gt;E-Mail&lt;/a&gt; : &lt;/span&gt;&lt;/span&gt;is a method of exchanging digital messages.&lt;/li&gt;&lt;li&gt;&lt;span title="* Forums : Lieu d'échange où les internautes posent ou répondent à une question donnée." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;a style="font-weight: bold;" href="http://en.wikipedia.org/wiki/Internet_forum"&gt;Forums&lt;/a&gt;: &lt;/span&gt;Exchange Place where users ask or answer a given question. The various contributions, accessible to everyone, from forming a thread (thread in english). Each forum addresses a specific theme. &lt;/li&gt;&lt;li&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="* Messagerie Instantanée : permet l'échange instantané de messages textuels entre plusieurs ordinateurs connectés au même réseau informatique, et plus communément celui d'Internet." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;a style="font-weight: bold;" href="http://en.wikipedia.org/wiki/Instant_messaging"&gt;Instant Messaging&lt;/a&gt;: &lt;/span&gt;allows the instant exchange of text messages between computers connected to the same computer network, and most commonly the Internet. Unlike email, this medium is characterized by the fact that messages are displayed in near-real time and enable an interactive dialogue. &lt;/li&gt;&lt;li&gt;&lt;span title="Contrairement au courrier électronique, ce moyen de communication est caractérisé par le fait que les messages s'affichent en quasi-temps-réel et permettent un dialogue interactif." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;/span&gt;&lt;a style="font-weight: bold;" href="http://en.wikipedia.org/wiki/Mailing_list"&gt;Mailling Lis&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;t&lt;/span&gt;: is a specific use of email that allows the mailing of information to users who are enrolled. &lt;span style="background-color: rgb(255, 255, 255);" title="* Mailling List : est une utilisation spécifique du courrier électronique qui permet le publipostage d'informations aux utilisateurs qui y sont inscrits." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Podcast"&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="* Mailling List : est une utilisation spécifique du courrier électronique qui permet le publipostage d'informations aux utilisateurs qui y sont inscrits." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Podcast&lt;/span&gt;&lt;/a&gt;: podcasting allows users to listen or download the automatic audio and video broadcasts for personal music players for an immediate or later viewing. &lt;span title="* Podcast : le podcasting permet aux utilisateurs l'écoute ou le téléchargement automatique d'émissions audio ou vidéo pour les baladeurs numériques en vue d'une écoute immédiate ou ultérieure." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://fr.wikipedia.org/wiki/Wiki"&gt;&lt;span title="* Podcast : le podcasting permet aux utilisateurs l'écoute ou le téléchargement automatique d'émissions audio ou vidéo pour les baladeurs numériques en vue d'une écoute immédiate ou ultérieure." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Wiki&lt;/span&gt;&lt;/a&gt;: This is a website that offers users the chance to make editing pages. &lt;span style="background-color: rgb(255, 255, 255);" title="* Wiki : Il s'agit d'un site Internet qui offre aux utilisateurs la possibilité de procéder à l'édition des pages du site." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="* Wiki : Il s'agit d'un site Internet qui offre aux utilisateurs la possibilité de procéder à l'édition des pages du site." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Collaborative Document Edition&lt;/span&gt;: Set of tools to create jointly in a group one or more documents.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span id="result_box" class="long_text"&gt;&lt;span title="* Edition collaborative de document : Ensemble d'outils permettant de créer de manière conjointe au sein d'un groupe un ou plusieurs documents." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt; &lt;/span&gt;&lt;span title="Maintenant mettez le tout dans une seule et même application, ajoutez y une forte dose de Mashup à base de widgets, secouez le tout et vous obtiendrez un Google Shake à la sauce collaborative c'est à dire Google Wave!" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;/span&gt;&lt;/span&gt;Now put everything into a single application, add a strong dose of Mashup-based widgets, shake it all and you get a &lt;span style="font-weight: bold;"&gt;Collaborative Google Shake&lt;/span&gt; ie &lt;span style="font-weight: bold;"&gt;Google Wave&lt;/span&gt;!&lt;span id="result_box" class="long_text"&gt;&lt;span title="Maintenant mettez le tout dans une seule et même application, ajoutez y une forte dose de Mashup à base de widgets, secouez le tout et vous obtiendrez un Google Shake à la sauce collaborative c'est à dire Google Wave!" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;" title="Google Wave : Un Outil de Collaboration Génétiquement Modifié." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Google Wave: A Genetically Modified Collaboration Tool . &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;That is what appears when you use Google Wave. This UFO is impossible to store in a box and that is what is surprising and disturbing at the same time most users.  Deja vu for some, a revolution for others. And you, how you can see this UFO?&lt;span id="result_box" class="long_text"&gt;&lt;span title="Et vous comment le voyez vous ?" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Google Wave: One ring to rule them all? &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Compare that with the phone. 10 years ago, the phone was used to ... Call! Then it allowed us to send SMS, MMS, E-Mails ... It turned into portable music player, photo album, and movie theater ... Today it serves to locate us, to browse Internet or just playing ... Yes there's an app for that!&lt;br /&gt;&lt;br /&gt;Well you can compare Google Wave Revolution to  mobile phone Evolution . It will allow us to make a lot of stuff most brilliant (or not. It depends on the ideas ...) between you and me (why not!) Or between you and us (I have friends!) Or between you and us (because you also have friends) or within a community now, tomorrow or even later.&lt;br /&gt;&lt;br /&gt;In content modeling we call this a primary or generic content (Does Google put a node into genetic heritage of a Wave ... Mystery ...) able to adapt and adjust.&lt;span id="result_box" class="long_text"&gt;&lt;span title="Dans la modélisation de contenu on appellerait cela un contenu générique ou primaire(Google at-il mis un noeud dans le patrimoine génétique d'une Wave... Mystère...) capable de s'adapter et d'être adapté." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span title="Alors Google Wave : ECM Killer ?" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Google Wave: ECM Killer? &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;And well, given its genetic heritage ... My answer is NO! (After I'm possibly go wrong ...)&lt;br /&gt;Rather it is a very promising PLUS (meaning +) to make content management easier (?). Indeed the interest of a wave is that&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Is &lt;span style="font-weight: bold;"&gt;not replicated &lt;/span&gt;on each client (as in every mailbox in the case of e-mails)&lt;/li&gt;&lt;li&gt;Is easily &lt;span style="font-weight: bold;"&gt;shareable &lt;/span&gt;(you can easily tell who has right or not being in a wave)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Is &lt;span style="font-weight: bold;"&gt;classifiable &lt;/span&gt;and therefore &lt;span style="font-weight: bold;"&gt;indexable &lt;/span&gt;and thus &lt;span style="font-weight: bold;"&gt;discoverable &lt;/span&gt;(it's still the job of google to find after all...)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Can be &lt;span style="font-weight: bold;"&gt;changed &lt;/span&gt;at will! (everybody can put his personal touch)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Can be &lt;span style="font-weight: bold;"&gt;synchronous &lt;/span&gt;or &lt;span style="font-weight: bold;"&gt;asynchronous &lt;/span&gt;(you're not there ... too bad I'll leave a message. You're here so we can go faster!)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Manage &lt;span style="font-weight: bold;"&gt;versions &lt;/span&gt;(Playback. .. I'd like to see who added what and when)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Is &lt;span style="font-weight: bold;"&gt;deployable &lt;/span&gt;at both in supplier and in my network safely behind my firewall! &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Google Wave has taken some basic principles of content management (versioning, categorization, collaborative editing, user management ...) but can not be a "tool for content management" (as I said earlier we can't put in a box ...). Its raw material is the content! &lt;span style="font-weight: bold;"&gt;Remember : Content is everywhere and is everything!&lt;/span&gt; Wave can create and disseminate information easily and simply.&lt;span id="result_box" class="long_text"&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Wave permet de créer, diffuser l'information facilement et simplement." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span title="Google Wave en entreprise ?" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Google Wave in Business? &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Google Wave will, of course, land in business like most Google tools. Who has never used a Gmail, a Google map, a Google Reader or Google for his professional usage? (Yes, you can excludes those without Internet at work...) But this will not immediately .. Firstly because it is a beta (a real one), partly because it requires that everyone starts to tame the monster to be a faithful companion and finally because we must invent new practices based (or not) on the ancient best-practice.&lt;span id="result_box" class="long_text"&gt;&lt;span title="parce qu'il faut inventer de nouvelles pratiques basées (ou pas) sur les anciennes bonnes pratiques." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span title="Qui va en profiter ?" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Who will benefit? &lt;/span&gt;&lt;br /&gt;First, the &lt;span style="font-weight: bold;"&gt;small &lt;/span&gt;will still lucky for one simple reason.&lt;br /&gt;Why do we invest in each tool like wiki + instant messaging + e-mail + collaboration tool + Forum ... One tool is clearly enough for my needs.  Furthermore I have no infrastructure and I don't want! An SMEs / PMI offers should be available soon as is already the case for Google Apps.&lt;span id="result_box" class="long_text"&gt;&lt;span title="PMI devrait être vite disponible comme c'est déjà le cas pour les Google Apps." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span title="Ensuite les créateurs d'apps" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;/span&gt;&lt;/span&gt;Then &lt;span style="font-weight: bold;"&gt;Apps Creators &lt;/span&gt;&lt;br /&gt;As for Iphone, Facebook and other means of communication in the wind, we'll see (and is already the case) full of gadgets, widgets and other add-ons to increase and enrich our user experience. It will be probably the same with some shiny and smarty User Interface.&lt;span id="result_box" class="long_text"&gt;&lt;span style="background-color: rgb(255, 255, 255);" title="Il est à parier que de nouveaux clients vont aussi apparaître." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span title="Après les intégrateurs tiers." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;/span&gt;&lt;/span&gt;After &lt;span style="font-weight: bold;"&gt;Third integrators&lt;/span&gt;&lt;br /&gt;A good integration will be Archiving Application which can long-term preservation of waves ie how to archive information exchange  between one or more persons. This will be less dependent on storage volume but probably more complex due to integrating external data sources.&lt;span id="result_box" class="long_text"&gt;&lt;span title="Cela s'avérera moins gourmand en volumétrique que pour les e-mails mais sans doute plus complexe car intégrant plus de sources de données externes." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span title="Les autres intégrations seront celles que l'on voit récursivement c'est à dire intégration avec l'existant (outils bureautique, outils de gestion de contenus bien sur, applications métiers, système de sécurité...)" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;/span&gt;&lt;/span&gt;Other integrations are those that we see recursively : office desktop tools, CM or ECM apps, business applications, security system...&lt;br /&gt;&lt;br /&gt;And then &lt;span style="font-weight: bold;"&gt;WE&lt;/span&gt;... Because we are at the root of everything.&lt;span id="result_box" class="long_text"&gt;&lt;span title="Parce que nous sommes à l'origine de tout." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span title="Finalement" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Finally &lt;/span&gt;&lt;br /&gt;Once Windows providing all services through one operating system and softwares.&lt;br /&gt;&lt;br /&gt;Now Google offers all services through Internet and Apps.&lt;br /&gt;&lt;br /&gt;This becomes increasingly visible and palpable. Impressive for an integrator like me, normal for lambda users ... That is also the magic of computers!&lt;br /&gt;&lt;br /&gt;Thank you for reading and see you soon.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;PS: I still have 2 invitations Google Wave ... The first 2 to post a comment will be lucky! That is also the magic of the waves. The hunt for the invitation ...&lt;/span&gt;&lt;span id="result_box" class="long_text"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="background-color: rgb(255, 255, 255); font-style: italic;" title="La chasse à l'invitation..." onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1400114241100585472-1798067041602941012?l=www.open-source-ecm.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=TGRDW26q94s:Eci2osp1g_s:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=TGRDW26q94s:Eci2osp1g_s:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=TGRDW26q94s:Eci2osp1g_s:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=TGRDW26q94s:Eci2osp1g_s:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=TGRDW26q94s:Eci2osp1g_s:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=TGRDW26q94s:Eci2osp1g_s:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=TGRDW26q94s:Eci2osp1g_s:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=TGRDW26q94s:Eci2osp1g_s:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=TGRDW26q94s:Eci2osp1g_s:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=TGRDW26q94s:Eci2osp1g_s:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=TGRDW26q94s:Eci2osp1g_s:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=TGRDW26q94s:Eci2osp1g_s:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=TGRDW26q94s:Eci2osp1g_s:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoingToAnOpensourceEcmWorld/~4/TGRDW26q94s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/1798067041602941012/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1400114241100585472&amp;postID=1798067041602941012" title="1 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/1798067041602941012?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/1798067041602941012?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoingToAnOpensourceEcmWorld/~3/TGRDW26q94s/wave-ecm-my-feelings-and-opinions.html" title="Wave &amp; ECM : My feelings and opinions" /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07200841589930120062" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.open-source-ecm.com/2009/11/wave-ecm-my-feelings-and-opinions.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQAQ3Yzfip7ImA9WxNVGEg.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472.post-4336167054099931204</id><published>2009-10-29T01:07:00.000-07:00</published><updated>2009-10-29T15:12:22.886-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-29T15:12:22.886-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Tutorial" /><category scheme="http://www.blogger.com/atom/ns#" term="Nuxeo" /><category scheme="http://www.blogger.com/atom/ns#" term="Contribution" /><category scheme="http://www.blogger.com/atom/ns#" term="Open Source" /><category scheme="http://www.blogger.com/atom/ns#" term="Alfresco" /><category scheme="http://www.blogger.com/atom/ns#" term="ECM" /><category scheme="http://www.blogger.com/atom/ns#" term="KnowledgeTree" /><title>Install and Test My Open Source ECM Family</title><content type="html">Hello Folks,&lt;br /&gt;&lt;br /&gt;Do you know one main advantage of OpenSource ECM Solution ? &lt;span style="font-weight: bold;"&gt;You can test it !&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As ECM consultant / Integrator, I have to install, test, configure, use, modify many different solutions in differnt environment. But I have a BIG problem... I just have my XP dev machine and no test Server... Of course I can install all of this things in my computer... But I'm very limited by my hard disk space... And I prefer to dedicate my machine for dev only! I fed up sparing time... Futhermore I can't share my installation and best pratice configuration and my colleague can't help me and can't share their experience.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;So what's the solution ?&lt;/span&gt; Virtualization of course!&lt;br /&gt;&lt;br /&gt;That's why, since a few moment now, I start a collection of virtual OpenSource ECM  Solution.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How ?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;First, I have to find "Ready" VMWare Images. Indeed, I don't always have time to download and burn  ISO images of operating systems and then create a VM image.  It could be very long. So I was looking for a way to get VMWare images and then use them directly without having a VMWare Workstation installed on my computer. So I opted to retrieve images on sites like  &lt;a href="http://www.thoughtpolice.co.uk/vmware/"&gt;Http://www.thoughtpolice.co.uk/vmware/&lt;/a&gt; I have an external 320GB hard drive and a good ADSL internet connection.&lt;br /&gt;&lt;br /&gt;Then to use them, I download VMWare (FREE) Player &lt;a href="http://www.vmware.com/products/player/"&gt;http://www.vmware.com/products/player/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I have all I want to start my collection. All of this for 0 € free of taxes and legally!&lt;br /&gt;&lt;br /&gt;Now what's the menu boss ? &lt;span style="font-weight: bold;"&gt;SHARING !&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Below, you can find presentation (or simple HOW-TO)  to install my collection of OpenSource CM Solution. You will also find some important links.&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;PS : This installation is only for test purpose! &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Configure Your Virtual Server&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.scribd.com/doc/21823447/VMWARE-ENG-How-To-Simple-install-and-configure-an-Ubuntu-Virtual-Server"&gt;Ubuntu 9.04&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Simple Installation&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.scribd.com/doc/21822580/VMWARE-ENG-How-To-Simple-install-Alfresco-3-2R-CE-on-an-Ubuntu-Virtual-Server"&gt;Alfresco&lt;/a&gt;&lt;/li&gt;&lt;li&gt;EzPublish (Work in progress)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Drupal (Work in progress)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.scribd.com/doc/21822668/VMWARE-ENG-How-To-Simple-install-GateIn-on-an-Ubuntu-Virtual-Server"&gt;GateIn&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.scribd.com/doc/21822836/VMWARE-ENG-How-To-Simple-install-Jahia-on-an-Ubuntu-Virtual-Server"&gt;Jahia&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.scribd.com/doc/21822924/VMWARE-ENG-How-To-Simple-install-KnowledgeTree-on-an-Ubuntu-Virtual-Server"&gt;KnowledgeTree&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.scribd.com/doc/21823169/VMWARE-ENG-How-To-Simple-install-Nuxeo-5-3-DM-on-an-Ubuntu-Virtual-Server"&gt;Nuxeo&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Advanced Installation&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Alfresco (Work in progress)&lt;/li&gt;&lt;li&gt;Nuxeo (Work in progress)&lt;/li&gt;&lt;/ul&gt; &lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;In a near future(If all goes right...), I will share other presentations on specific aspect...(LDAP Connexion, Database configuration, continuous integration, clustering...)&lt;br /&gt;&lt;br /&gt;With all my CM family, I can create my private network! Test combination, configuration, new version or just create prototype and share it.&lt;br /&gt;&lt;br /&gt;Of course, I can't start all of this virtual machine at the same time. But it's enough to me :-)&lt;br /&gt;&lt;br /&gt;Hope it will help you!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1400114241100585472-4336167054099931204?l=www.open-source-ecm.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=9z0BBXtrcx4:_8O9QPzDRLg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=9z0BBXtrcx4:_8O9QPzDRLg:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=9z0BBXtrcx4:_8O9QPzDRLg:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=9z0BBXtrcx4:_8O9QPzDRLg:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=9z0BBXtrcx4:_8O9QPzDRLg:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=9z0BBXtrcx4:_8O9QPzDRLg:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=9z0BBXtrcx4:_8O9QPzDRLg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=9z0BBXtrcx4:_8O9QPzDRLg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=9z0BBXtrcx4:_8O9QPzDRLg:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=9z0BBXtrcx4:_8O9QPzDRLg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=9z0BBXtrcx4:_8O9QPzDRLg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=9z0BBXtrcx4:_8O9QPzDRLg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=9z0BBXtrcx4:_8O9QPzDRLg:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoingToAnOpensourceEcmWorld/~4/9z0BBXtrcx4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/4336167054099931204/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1400114241100585472&amp;postID=4336167054099931204" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/4336167054099931204?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/4336167054099931204?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoingToAnOpensourceEcmWorld/~3/9z0BBXtrcx4/install-and-test-my-open-source-ecm.html" title="Install and Test My Open Source ECM Family" /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07200841589930120062" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.open-source-ecm.com/2009/10/install-and-test-my-open-source-ecm.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQDSXwzfip7ImA9WxNWFk0.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472.post-2549371407466891059</id><published>2009-10-14T12:46:00.000-07:00</published><updated>2009-10-15T05:06:18.286-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-15T05:06:18.286-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Nuxeo" /><category scheme="http://www.blogger.com/atom/ns#" term="Interview" /><category scheme="http://www.blogger.com/atom/ns#" term="Open Source" /><title>Interview : Daniel Tellez, CTO &amp; Owner of Yerbabuena Software</title><content type="html">&lt;span class="text"&gt;Buenos dias a todo el mundo !&lt;br /&gt;&lt;br /&gt;This time we make a travel to Spain.&lt;br /&gt;&lt;br /&gt;Today, I have the honor and pleasure to interview &lt;span style="font-weight: bold;"&gt;Daniel Tellez, CTO &amp;amp; Owner of Yerbabuena Software. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Hello Daniel, &lt;/span&gt;&lt;/span&gt;&lt;span class="text"&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="text"&gt;Hello Jean Marie. I'm very pleased to answer all your questions and to appear in your blog. I've been following your blog for some time because of your interesting posts about ECM, specially in the opensource world.&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="text"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;To begin this interview, I wanted to thank you for giving me a little of your time to answer this interview and to share your knowledge of open source ECM and specially Nuxeo. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;First Daniel, what's the purpose and objectives of Yerbabuena Software ? What kind of services do you offer?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="text"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="text"&gt;We, Yerbabuena Software, are a very young company, and we are very proud to count with a staff of young professionals who want to do very big things in their career. I tell you that because this is one of the main reasons because we have embarked in many interesting and great projects, like the one that will let us annotate semmantically and classify contents in Nuxeo, or access to its repositories through a smartphone.&lt;br /&gt;&lt;br /&gt;Our mission and goals fit perfectly with all of these, and can be summarized in the next sentence: to be a leading and international company, reference in the field of development, research and innovation based on opensource enterprise content management solutions. This mission has not been chosen randomly, but has been the result of a hard but funny process or rediscovering of our ideas and goals. You can find a picture here, in the form of a roadmap that drives our actions to that goal:&lt;br /&gt;&lt;/span&gt;                    &lt;a href="http://www.linkedin.com/redirect?url=http%3A%2F%2Ftranslate%2Egoogle%2Ecom%2Ftranslate%3Fclient%3Dtmpg%26hl%3Den%26u%3Dhttp%253A%252F%252Fblog%2Eyerbabuena%2Ees%252F2009%252F04%252Fmapa-estrategico%2Ehtml%26langpair%3Des%7Cen%3Cbr%2F&amp;amp;urlhash=-QZv&amp;amp;_t=mbox_mebc"&gt;http://translate.google.com/translate?client=tmpg&amp;amp;hl=en&amp;amp;u=http%3A%2F%2Fblog.yerbabuena.es%2F2009%2F04%2Fmapa-estrategico.html&amp;amp;langpair=es|en&lt;br /&gt;&lt;/a&gt;                    &lt;span class="text"&gt;&lt;br /&gt;Sorry, we still have to translate it. ;-)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="text"&gt;About our services portfolio, I have to say that our company provides mainly consulting, training and development services over opensource ecm software solutions. It is in this field where we can add more value to our ecosystem, and where we can deploy more freely our ideas and innovation, to apply them to our customers.&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;span class="text"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;As Owner and CTO can you describe your work in Yerbabuena Software ? What's your role and your work day after day ?&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="text"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="text"&gt;In Yerbabuena Software we have a very horizontal organization. We are all folks, in and out of the office, in the most of times. So, my daily work is mainly to help my colleagues in the three development teams we have, to care for the methodologies used (always agile) and to provide a seamless connection between development and comercial sides.&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="text"&gt;     &lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Why did you choose CM ecosystem ? Is there some opportunities ?&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="text"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="text"&gt;Well, as I said before, we have a small company that knows perfectly the problems of small companies. In the earlier days of Yerbabuena Software, we had to face with all these problems, decisions and investments like all the companies do. How easy it looks when you are in college !&lt;br /&gt;&lt;br /&gt;We thought it will be a good way to earn money to sell ECM solutions to SMEs, because we are convinced that this is not a field of software that could only fit in great organizations. All the companies have to manage papers and documents. We have seen very little companies with whole rooms full of boxes full of papers. Yes, very hard.&lt;br /&gt;&lt;br /&gt;Web content management and opensource is a good entry point to begin to work with SMEs. Basically because of the simplicity of the WCM concepts and the cheaper costs of opensource. It can begin publishing news, events and descriptive web pages, and sooner the need to share and generate documentation comes through this tool, as so does the need to deliver it with other departments, with companies, with customers. Very soon the need of applying workflows, auditing, etcetera comes.&lt;br /&gt;&lt;br /&gt;Actually we are jumping from SMEs to bigger organizations with large amounts of documents and users, like Diputación de Malaga (regional government of Malaga) or La Salle colleges.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="text"&gt;Definitively, in Yerbabuena we are always researching these gaps not covered for common ECM providers, from earlier days by offering ECM to SMEs, until today, when we develop solutions for problems like accesibility and usability in reading documents (&lt;/span&gt;                    &lt;a href="http://www.linkedin.com/redirect?url=http%3A%2F%2Ftranslate%2Egoogle%2Ecom%2Ftranslate%3Fclient%3Dtmpg%26hl%3Den%26u%3Dhttp%253A%252F%252Fblog%2Eyerbabuena%2Ees%252F2009%252F05%252Fprimera-beta-de-easyreader-desarrollada%2Ehtml%26langpair%3Des%7Cen&amp;amp;urlhash=1DCO&amp;amp;_t=mbox_mebc"&gt;http://translate.google.com/translate?client=tmpg&amp;amp;hl=en&amp;amp;u=http%3A%2F%2Fblog.yerbabuena.es%2F2009%2F05%2Fprimera-beta-de-easyreader-desarrollada.html&amp;amp;langpair=es|en&lt;/a&gt;                    &lt;span class="text"&gt;), or increasing ubiquity in the access to the repository (&lt;/span&gt;                    &lt;a href="http://www.linkedin.com/redirect?url=http%3A%2F%2Ftranslate%2Egoogle%2Ecom%2Ftranslate%3Fclient%3Dtmpg%26hl%3Den%26u%3Dhttp%253A%252F%252Fblog%2Eyerbabuena%2Ees%252F2009%252F07%252Fprimera-beta-de-yerbabuena-ercp%2Ehtml%26langpair%3Des%7Cen%29%2E%3Cbr%2F&amp;amp;urlhash=DmHz&amp;amp;_t=mbox_mebc"&gt;http://translate.google.com/translate?client=tmpg&amp;amp;hl=en&amp;amp;u=http%3A%2F%2Fblog.yerbabuena.es%2F2009%2F07%2Fprimera-beta-de-yerbabuena-ercp.html&amp;amp;langpair=es|en).&lt;/a&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;span class="text"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What are the main trends in ECM in Spain?&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="text"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="text"&gt;Well, in the last months we are hearing very much noise around ECM like some time before, at least in Spain. This is good. The market of ECM is becoming bigger in Spain. And the companies that did know ECM before, are replanning its resources to change to a more opensource scenario. In these crisis days, harder in our country, the companies are realizing that it is not easy to justify licenses costs.&lt;br /&gt;&lt;br /&gt;Now, we can see how many companies knows about the leading ECM providers in the open source side, like Nuxeo and Alfresco. The first mainly because of us ;-)&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="text"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Now, let's talk about Nuxeo. Why did you choose to use Nuxeo for CM problematics?&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="text"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="text"&gt;When we began to plan our business strategy around document management, more or less in 2006, Alfresco was a little toy, while a french company called Nuxeo few years working with a very cool document management and web content management tool. We loved it. And we did many projects with that foundation. And we continue doing it. (Nuxeo CPS)&lt;br /&gt;&lt;br /&gt;After, Nuxeo decided to switch to JavaEE technologies. This was a full reimplementation of the previous tool, maintaining all they learned before about ECM.&lt;br /&gt;&lt;br /&gt;But we are an independent consultancy company, so we didn't take the JavaEE option given by Nuxeo 5, but we decided to take a look at the tools around ECM in this year. I will not go into much detail, but we couldn't find no one platform that fits so well than Nuxeo: we loved its architecture, we loved the real opensource policy, we loved that all of the CPSLovers like me didn't have to face many troubles to understand Nuxeo 5 concepts.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="text"&gt;&lt;span style="font-weight: bold;"&gt;On the technical side, what are the advantages and disadvantages of this solution ?&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="text"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="text"&gt;The more important technical advantage of Nuxeo over any other document management system is its transparency and easyer way to fit it in any existing information system. This can be checked in many aspects, like:&lt;br /&gt;- It is totally and really open source, like no other ECM application in the market.&lt;br /&gt;- The active participation in CMIS technical committee of specification, in which the other big players in the ECM world participates also, like EMC, Microsoft, Alfresco, etcetera.&lt;br /&gt;Nuxeo participates also in the development of Apache Chemistry, in partnership with Day Software.&lt;br /&gt;- Nuxeo 5 provides different types of APIs, making easier the integration with third parties software.&lt;br /&gt;- The use of standars and wide used technologies ensure the interoperability with other systems, the easy of access to the system to software professionals, the low chance to get into a vender lock-in strategy, etcetera.&lt;br /&gt;&lt;br /&gt;Is very difficult for me to find a technical disadvantage over other content management systems. Maybe we could go into the typical discussion about the systems needed by JavaEE based technologies, more expensive than in others like Python or PHP.&lt;br /&gt;But JavaEE has shown that it is a more reliable framework, resolving common problems for enterprise software.&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="text"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Did you make some contribution ?&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="text"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="text"&gt;We started to contribute to Nuxeo 5 in the typical starting way: reporting issues and providing translations to the system, like iberian languages: castilian, gallego, catalá, euskera, portuguese and from others places like vietnamese.&lt;br /&gt;&lt;br /&gt;Today, we have a very interesting project, commented before. We want to build two great components to Nuxeo 5: one rich interface to access document management repositories and most functions, and another component to annotate semmantically the contents and to automatically classify docs in Nuxeo 5. This is being the most important contribution for us in the project.&lt;br /&gt;&lt;br /&gt;Like a non-technical contrib, we have to say that Yerbabuena have been, and still is, the main driver in the spanish-speaking community for Nuxeo 5 and one leader in evangelism of open source content management in this community and also in others like Viet Nam. To do it, we have participated in events and programs like Open Source World Conference last summer in Málaga, FOSS Bridge program or Open World Forum in Paris.&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="text"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Personally, are you part of another open source community? Do you have examples of participation (Animation, articles, forums ...)?&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="text"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="text"&gt;Me and my colleagues have participated actively mostly in Nuxeo 5 and Nuxeo CPS projects. The main proofs of it can be viewed in the mailing lists of both projects.&lt;br /&gt;Although Nuxeo CPS has lost great part of its strength as a community in favor of its elder brother Nuxeo 5, it continues to be an interesting project and a very powerful option for ECM and WCM, competing greatly with more popular platforms. So I participate yet in this project all the times I can by reporting new incidences or patches.&lt;br /&gt;&lt;br /&gt;Our contributions feed also our blog posts, so I recommend you to visit frecquently ;-)&lt;br /&gt;&lt;br /&gt;In the other hand, we have an own product, Bluesearch, that can be viewed as totally independent of ECM business line. This is a project oriented to marketing, which relates user profiles of mobile phones, so if they match in preferences or likes, it lets them connect to talk or so. This product is also totally open and our other great contribution to open source community.&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="text"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;To conclude this interview, what's your favorite blogs and links on IT in general?&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="text"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="text"&gt;Well, I follow many ECM related blogs, although in the latests days I prefer to use twitter to be in touch with the latest technologies and news. I know you also like twitter ;-) Here I can link you and interesting resource to follow the list of the main ECM gurus:&lt;br /&gt;&lt;/span&gt;                    &lt;a href="http://www.linkedin.com/redirect?url=http%3A%2F%2Fjonontech%2Ecom%2F2009%2F07%2F21%2Ffollow-forty-twitter-cms-gurus-in-three-clicks%2F%3Cbr%2F&amp;amp;urlhash=oUi4&amp;amp;_t=mbox_mebc"&gt;http://jonontech.com/2009/07/21/follow-forty-twitter-cms-gurus-in-three-clicks/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="text"&gt; ... BTW, Jean Marie... you are also here ;-D&lt;br /&gt;&lt;br /&gt;In the blogsphere, I follow specially and recommend the Nuxeo one, the John Mancini's blog (&lt;/span&gt;                    &lt;a href="http://www.linkedin.com/redirect?url=http%3A%2F%2Faiim%2Etypepad%2Ecom%2Faiim_blog&amp;amp;urlhash=Zpvl&amp;amp;_t=mbox_mebc"&gt;http://aiim.typepad.com/aiim_blog&lt;/a&gt;                    &lt;span class="text"&gt;), and the Word of pie (&lt;/span&gt;                    &lt;a href="http://www.linkedin.com/redirect?url=http%3A%2F%2Fwordofpie%2Ecom%2F&amp;amp;urlhash=S66A&amp;amp;_t=mbox_mebc"&gt;http://wordofpie.com/&lt;/a&gt;                    &lt;span class="text"&gt;), the three highly recommended, and of course yours ;-D&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="text"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;One last word before leaving?&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="text"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="text"&gt;Don't forget to visit our blog. We are starting publishing our only english blog, in the way you do it with &lt;/span&gt;                    &lt;a href="http://www.linkedin.com/redirect?url=http%3A%2F%2Fwww%2Eopen-source-ecm%2Ecom%2F&amp;amp;urlhash=id5O&amp;amp;_t=mbox_mebc"&gt;http://www.open-source-ecm.com/&lt;/a&gt;                    &lt;span class="text"&gt;, and where we publish very frecquently our contributions to the community.&lt;br /&gt;&lt;br /&gt;It's in &lt;/span&gt;                    &lt;a href="http://www.linkedin.com/redirect?url=http%3A%2F%2Fblog%2Eyerbabuenasoftware%2Ecom&amp;amp;urlhash=1mTZ&amp;amp;_t=mbox_mebc"&gt;http://blog.yerbabuenasoftware.com&lt;/a&gt;                    &lt;span class="text"&gt; (english)&lt;br /&gt;&lt;/span&gt;                    &lt;a href="http://www.linkedin.com/redirect?url=http%3A%2F%2Fblog%2Eyerbabuena%2Ees&amp;amp;urlhash=ticw&amp;amp;_t=mbox_mebc"&gt;http://blog.yerbabuena.es&lt;/a&gt;                    &lt;span class="text"&gt; (spanish)&lt;br /&gt;&lt;br /&gt;And, of course, that the world of opensource ECM continue doing great!!&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="text"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Thank you again Daniel for this interview and we wish you a nice and exciting journey on Open Source ECM Road!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Ps: As usual, you can download this interview at this url : &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a style="font-style: italic;" href="http://www.linkedin.com/redirect?url=http%3A%2F%2Fwww%2Escribd%2Ecom%2Fdoc%2F21070811%2FOpen-Source-ECM-Interview-ENG-Daniel-Tellez-Yerbabuena%3Cbr%2F&amp;amp;urlhash=C0lh&amp;amp;_t=mbox_mebc"&gt;http://www.scribd.com/doc/21070811/Open-Source-ECM-Interview-ENG-Daniel-Tellez-Yerbabuena&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1400114241100585472-2549371407466891059?l=www.open-source-ecm.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=7B_CHYTa4BM:W_XcK0uHxF4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=7B_CHYTa4BM:W_XcK0uHxF4:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=7B_CHYTa4BM:W_XcK0uHxF4:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=7B_CHYTa4BM:W_XcK0uHxF4:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=7B_CHYTa4BM:W_XcK0uHxF4:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=7B_CHYTa4BM:W_XcK0uHxF4:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=7B_CHYTa4BM:W_XcK0uHxF4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=7B_CHYTa4BM:W_XcK0uHxF4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=7B_CHYTa4BM:W_XcK0uHxF4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=7B_CHYTa4BM:W_XcK0uHxF4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=7B_CHYTa4BM:W_XcK0uHxF4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=7B_CHYTa4BM:W_XcK0uHxF4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=7B_CHYTa4BM:W_XcK0uHxF4:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoingToAnOpensourceEcmWorld/~4/7B_CHYTa4BM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/2549371407466891059/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1400114241100585472&amp;postID=2549371407466891059" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/2549371407466891059?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/2549371407466891059?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoingToAnOpensourceEcmWorld/~3/7B_CHYTa4BM/interview-daniel-tellez-cto-owner-of.html" title="Interview : Daniel Tellez, CTO &amp; Owner of Yerbabuena Software" /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07200841589930120062" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.open-source-ecm.com/2009/10/interview-daniel-tellez-cto-owner-of.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QMRHs5fSp7ImA9WxNWFUU.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472.post-7678946926760426054</id><published>2009-09-29T23:55:00.000-07:00</published><updated>2009-10-14T23:49:45.525-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-14T23:49:45.525-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Interview" /><category scheme="http://www.blogger.com/atom/ns#" term="Blog" /><title>Interview Laurence Hart, Senior Manager/Information Management Solution Lead at Washington Consulting</title><content type="html">Hello Everybody !&lt;br /&gt;&lt;br /&gt;For the next interview, we will go to U.S.A.&lt;br /&gt;&lt;br /&gt;Today, I have the great privilege to interview &lt;span style="font-weight: bold;"&gt;Laurence Hart, Senior Manager/Information Management Solution Lead at Washington Consulting, Documentum Expert, blogger of www.wordofpie.com, ECM philosopher and twitter junkie.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Hello Laurence !&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    First of all as usual, let me thank you for the time you take to share your knowledge about ECM.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;So Laurence,  where content management experience has begun for you ? What was your first CM project and which solutions did you take?&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;Coincidently enough, I recently wrote about this very topic on my blog.  My first system was a correspondence tracking system for the U.S. Air Force.  I was brought onto the project as the database expert and was tossed the content management piece.  It was DOCS Open from PC DOCS (later acquired by Hummingbird and then Open Text).  We used a custom interface, but all of the content and search was powered by DOCS Open. &lt;a href="http://wordofpie.com/2009/09/08/my-first-content-management-application/"&gt;cf. http://wordofpie.com/2009/09/08/my-first-content-management-application/&lt;/a&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        Nowadays, Is there an evolution of CM needs or is it the same as your first experience ?&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;The needs are the same, but the context and scale are changing.  Users still need to track and manage their content, but now we are dealing with images and web content in addition to the scanned images and Word documents.  Before, we were juggling between a network share and the new repository, now we are juggling SharePoint, multiple legacy repositories, and content stored in non-content focused business applications.  I used to just worry about securing a document, but now I have to consider records management and eDiscovery when determining how to handle some content.&lt;br /&gt;&lt;br /&gt;Sometimes I miss the old days.&lt;/blockquote&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;Let's back to you for a moment, Can you tell us more about your position? What's your role and what are you doing day after day?&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;I run the Information Management Solution for Washington Consulting, Inc.  I'm the leading subject matter expert for our company and I provide guidance to multiple projects and clients on how to address their needs.  On good days, I'm sitting with clients and talking about how to solve their problems and designing solutions for them.  Quite often, I am writing proposals and finding good people to work with on delivering solutions.  I still keep my hands dirty by playing with the latest releases of software in the ECM space.  I say it is to keep current, but I really do it because I find it relaxing and fun.&lt;/blockquote&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;Could you present Washington Consulting ? What's the purpose and objectives? What kind of services do you offer&lt;/span&gt;?&lt;br /&gt;&lt;blockquote&gt;We are a Management and Technology consulting firm located in Washington, DC.  Information Management is a big piece of what we do, and that ranges from developing strategic roadmaps to "simple" Documentum and SharePoint work.  However, we also have ERP implementations, Project Management Office (PMO) support, Organizational Change Management, and Business Process Reengineering (BPR) practices. They joy of my piece is that I get to work with all the different groups because everybody is trying to solve the content "problem".&lt;/blockquote&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;You have worked with Documentum, since 2000. For my readers, who essentially love Open Source :o) , could you present this historical CM Solution (its history, its functionality and its architecture)?&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;    No problem.  Founded in 1991, Documentum has been one of the "big-three" ECM vendors for years, even as that membership has evolved.  It is immensely scalable (I have a system with 40TB of content) and is free of proprietary languages or interfaces.  It is very strong in core content management, RM, and BPM.  It's collaboration efforts had been withering for a few years as eRoom grew old, but their new CenterStage product shows some promise.  While they deliver on WCM and Digital Asset Management, those offerings are stronger when viewed in combination with the rest of their suite.&lt;/blockquote&gt;&lt;blockquote&gt;I think one area that shows great promise is their work with XML content.  Their acquisition of X-Hive has really helped them here and I think that could become a big differentiators between the big ECM vendors, assuming that SharePoint doesn't wipe them all out.&lt;br /&gt;&lt;br /&gt;Now if only they could simplify their license model.&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        Can you tell us what are the strengths and weaknesses of this solution from your point of view?&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;I think I covered that to some extent, but I think Documentum has two weaknesses, the user interface and the complexity.  My most successful projects do not utilize the standard user interface. We use it as a content platform.  This is also where it gets complex.  I keep learning things about Documentum everyday.  A Document expert is someone that knows enough to get through any client meeting and can then quickly look-up detailed answers to the things that they had to bluff their way through.  I, and others in the community like Scott Roth and Johnny Gee, have forgotten more about Documentum than many with 3-4 years experience.&lt;br /&gt;&lt;br /&gt;As for strengths, it is strong.  I can throw users and content at it without fears that it will scale.  I think that it's object-oriented approach to modeling content is flexible and powerful.  They've extended this to allow custom behaviors on actions, and with version 6.x, they support aspects.  Their is very little that the Documentum platform cannot do, as long as you understand the complexity.&lt;/blockquote&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;Now let's start some philosophy :o), during this summer (and last years), you have post on your blog some information about your vision of ECM ? Could you resume your vision ? Why have you your personal ECM definition?&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;My vision for ECM is more than the tools.  That is a problem with the AIIM definition, it talks about tools.  Content is everywhere.  We need it accessible from everywhere without emailing it to other companies or having to take it out of one system and placing it in another.  ECM is a platform that provides content to users in the business context where they need it most.  Users shouldn't know about Nuxeo, Alfresco, or Documentum.  They should only know that if I scan this document, I can grab it and the presentation I made yesterday and share it with my business partner without worrying about the "how".&lt;br /&gt;&lt;br /&gt;The technology isn't there yet, but we should be aiming for that target.  When ECM was first coined 10 years ago, no vendor could state that they met the definition.&lt;/blockquote&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;During this year, you also worked on CMIS. Why are you enthusiastic whith this future standard and Is it a revolution ?&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;I'm enthusiastic because the CMIS standard is the first step to making my vision for ECM complete.  Applications need to access content without worrying about the specifics of the repository in which it is contained.  It will allow legacy systems to stay in place longer and help separate the business application decision from the platform decision.&lt;br /&gt;&lt;br /&gt;Is CMIS a revolution?  That is a tough question.  It is still early to tell as it is just approaching the Public Review stage.  It is already starting to gain traction with vendors and customers, so I would say that it has the makings of a revolution.  If Microsoft continues to support it, and incorporates it into SharePoint, then I see a revolution as being entirely possible.&lt;/blockquote&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;What's your feelings about Open Source solution and open source move in CM ecosystem ?&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;    I'm glad that Open Source is gaining ground.  I think it will force the ECM "leaders" to focus more on simplicity and responding to users.  I already see the vendors starting to be more responsive to user feedback than they had in the past.  To be honest, I think the Open Source movement is a blessing for small to medium organizations that needed content management but couldn't afford the license fees.  I am also beginning to strongly believe that the Open Source approach is the only way to deliver WCM systems that can keep up with the rapidly changing face of the Web.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        For you what was the worst and best idea on content management area?&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;    The worst idea is simple, moving everyone to a web interface in the 90s.  Users had a tightly integrated desktop environment until IT management fell in love with using web interfaces for content management. Bad move.  We are just now getting to the point where the integration is as tight with the desktop applications, and that seriously hurt user adoption across the board.  The browsers and web applications just weren't advanced enough, but everyone fell in love with the sexy new kid on the block.&lt;/blockquote&gt;&lt;blockquote&gt;The best ideas are a toss-up.  I think standards like ODMA and CMIS are some of the better ideas.  XML has also been a great idea for changing the way content exists, but the adoption has been incredibly slow.  The best idea may boil down to going electronic and forgetting about all of that microfiche.&lt;/blockquote&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;Why have you started wordofpie.com ?&lt;/span&gt;&lt;br /&gt; &lt;blockquote&gt;I started the blog back in 2007 because I wanted to rant about a recent Documentum conference.  Luckily I started engaging in dialog with other bloggers and turned it into something far more constructive.  Now I use it to expand on opinions initially shared on Twitter and to share news and other insights.  I wish I had more time to write for it, but my day job and family keep me very busy.&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        Finally, can you recommend us weblinks or blogs about ECM or IT in general ?&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;For news and analysis, I keep close tabs on CMS Watch (&lt;a href="http://www.blogger.com/www.cmswatch.com"&gt;www.cmswatch.com&lt;/a&gt;).  I've met several of the analysts and they always give you their honest opinion.  I enjoy reading the Big Men on Content (&lt;a href="http://bigmenoncontent.com/"&gt;http://bigmenoncontent.com/&lt;/a&gt;) for their insightful view into events around the industry.  They aren't as active since EMC hired them, but they always have some great reads.  Billy Cripe's Fusion ECM blog (&lt;a href="http://blogs.oracle.com/fusionecm/"&gt;http://blogs.oracle.com/fusionecm/&lt;/a&gt;) and Cheryl McKinnon's Candy and Aspiring (&lt;a href="http://candyandaspirin.blogspot.com/"&gt;http://candyandaspirin.blogspot.com/&lt;/a&gt;) are also favorites.&lt;/blockquote&gt;&lt;blockquote&gt;Oh, and I seem to recall enjoying your blog as well.  :)&lt;/blockquote&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;What would you say to conclude this interview?&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;Thanks for being patient with me in getting these responses and reading through them.  If you've made it this far, it is fair to say that you have a passion for Content Management.  Use that passion to help guide the industry towards your vision of ECM. You can sit by, watch things change, and point out issues, but don't stop there.  Get involved. Offer solutions. Offer to help.  It doesn't have to take much time. That is how I got involved with CMIS through AIIM.  I saw a problem and realized that AIIM's iECM committee was chartered to find a solution. Go out and do the same thing so that our kids aren't solving the same content problems that we are solving today.&lt;/blockquote&gt; &lt;span style="font-weight: bold;"&gt;    Many thanks, Laurence, for this interview. We wish you a nice and exciting journey on Open Source (or not) ECM Road!&lt;/span&gt;  &lt;span style="font-weight: bold;"&gt;    If you want to follow ideas and thinking of Laurence, you can follow this links :&lt;/span&gt;  &lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;        Blog : &lt;a href="http://wordofpie.com/"&gt;http://wordofpie.com&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;        Twitter : &lt;a href="http://twitter.com/piewords"&gt;http://twitter.com/piewords&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;        and his company : &lt;a href="http://www.washingtonconsulting.com/"&gt;http://www.washingtonconsulting.com/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;PS : you can download this interview at &lt;/span&gt;&lt;a style="font-style: italic;" href="http://www.scribd.com/doc/20438655/Open-Source-ECM-Interview-ENG-Laurence-Hart-Word-Of-Pie-"&gt;http://www.scribd.com/doc/20438655/Open-Source-ECM-Interview-ENG-Laurence-Hart-Word-Of-Pie-&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1400114241100585472-7678946926760426054?l=www.open-source-ecm.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=yNTXNzVLWs8:e19I6A0D2bQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=yNTXNzVLWs8:e19I6A0D2bQ:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=yNTXNzVLWs8:e19I6A0D2bQ:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=yNTXNzVLWs8:e19I6A0D2bQ:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=yNTXNzVLWs8:e19I6A0D2bQ:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=yNTXNzVLWs8:e19I6A0D2bQ:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=yNTXNzVLWs8:e19I6A0D2bQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=yNTXNzVLWs8:e19I6A0D2bQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=yNTXNzVLWs8:e19I6A0D2bQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=yNTXNzVLWs8:e19I6A0D2bQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=yNTXNzVLWs8:e19I6A0D2bQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=yNTXNzVLWs8:e19I6A0D2bQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=yNTXNzVLWs8:e19I6A0D2bQ:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoingToAnOpensourceEcmWorld/~4/yNTXNzVLWs8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/7678946926760426054/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1400114241100585472&amp;postID=7678946926760426054" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/7678946926760426054?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/7678946926760426054?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoingToAnOpensourceEcmWorld/~3/yNTXNzVLWs8/interview-laurence-hart-senior.html" title="Interview Laurence Hart, Senior Manager/Information Management Solution Lead at Washington Consulting" /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07200841589930120062" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.open-source-ecm.com/2009/09/interview-laurence-hart-senior.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4NRH89fyp7ImA9WxNSFE0.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472.post-4987074858765446523</id><published>2009-08-27T11:53:00.000-07:00</published><updated>2009-08-27T12:23:15.167-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-27T12:23:15.167-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Interview" /><title>Open Source ECM Interview : French to English</title><content type="html">Hello everybody !&lt;br /&gt;&lt;br /&gt;As you know, I have two blogs : one in french (&lt;a href="http://www.opensourceecm.fr"&gt;www.opensourceecm.fr&lt;/a&gt;) and another in english (&lt;a href="http://www.open-source-ecm.com"&gt;www.open-source-ecm.com&lt;/a&gt;). I try to have same posts in both of them but due to time crisis it's really hard. Conclusion : I have some interesting post ONLY in French... I think it's really really sad for you my sympathic english readers... and futhermore I always made a link between my english to my french post but rarely in the other way... It's not acceptable!!&lt;br /&gt;&lt;br /&gt;That's why, I decided to recap french interview here and, with my Google translator friend, I propose direct link to english translation.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;08.09 : &lt;a href="http://translate.google.fr/translate?u=http%3A%2F%2Fwww.opensourceecm.fr%2F2009%2F08%2Finterview-julien-viet-product-manager.html&amp;amp;sl=fr&amp;amp;tl=en&amp;amp;hl=fr&amp;amp;ie=UTF-8"&gt;&lt;span style="font-weight: bold;"&gt;Julien Viet&lt;/span&gt;, Product Manager &lt;span style="font-weight: bold;"&gt;eXo SAS&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;06.09 : &lt;a href="http://translate.google.fr/translate?hl=fr&amp;amp;sl=fr&amp;amp;tl=en&amp;amp;u=http%3A%2F%2Fwww.opensourceecm.fr%2F2009%2F06%2Finterview-benjamin-jean-juriste.html"&gt;&lt;span style="font-weight: bold;"&gt;Benjamin Jean&lt;/span&gt;, legal advisor &lt;span style="font-weight: bold;"&gt;Linagora&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;06.09 : &lt;a href="http://translate.google.fr/translate?hl=fr&amp;amp;sl=fr&amp;amp;tl=en&amp;amp;u=http%3A%2F%2Fwww.opensourceecm.fr%2F2009%2F06%2Finterview-nicolas-de-loof-architecte.html"&gt;&lt;span style="font-weight: bold;"&gt;Nicolas De Loof,&lt;/span&gt; Architect Software Solution &lt;span style="font-weight: bold;"&gt;Capgemini&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;02.09 : &lt;a href="http://translate.google.fr/translate?hl=fr&amp;amp;sl=fr&amp;amp;tl=en&amp;amp;u=http%3A%2F%2Fwww.opensourceecm.fr%2F2009%2F02%2Fherve-quiroz-lead-architect-componize.html"&gt;&lt;span style="font-weight: bold;"&gt;Herve Quiroz&lt;/span&gt;, Lead Architect &lt;span style="font-weight: bold;"&gt;Componize&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;01.09 : &lt;a href="http://translate.google.fr/translate?hl=fr&amp;amp;sl=fr&amp;amp;tl=en&amp;amp;u=http%3A%2F%2Fwww.opensourceecm.fr%2F2009%2F01%2Finterview-jean-marc-orliaguet.html"&gt;&lt;span style="font-weight: bold;"&gt;Jean Marc Orliaguet&lt;/span&gt;, Contributor of Nuxeo Theme&lt;/a&gt;&lt;br /&gt;11.08 : &lt;a href="http://translate.google.fr/translate?hl=fr&amp;amp;sl=fr&amp;amp;tl=en&amp;amp;u=http%3A%2F%2Fwww.opensourceecm.fr%2F2008%2F11%2Finterview-jean-christophe-dichant.html"&gt;&lt;span style="font-weight: bold;"&gt;Jean Christophe Dichant&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;IBM &lt;/span&gt;collaborator &amp;amp; Blogger (bpmbulletin.com)&lt;/a&gt;&lt;br /&gt;11.08 : &lt;a href="http://translate.google.fr/translate?hl=fr&amp;amp;sl=fr&amp;amp;tl=en&amp;amp;u=http%3A%2F%2Fwww.opensourceecm.fr%2F2008%2F11%2Finterview-jean-philippe-clair-directeur.html"&gt;&lt;span style="font-weight: bold;"&gt;Jean Philippe Clair&lt;/span&gt;, Commercial Leader &lt;span style="font-weight: bold;"&gt;Knowings&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;07.08 : &lt;a href="http://translate.google.fr/translate?hl=fr&amp;amp;sl=fr&amp;amp;tl=en&amp;amp;u=http%3A%2F%2Fwww.opensourceecm.fr%2F2008%2F07%2Finterview-michael-harlaut-ingnieur.html"&gt;&lt;span style="font-weight: bold;"&gt;Michael Harlaut&lt;/span&gt;, Solution Engineer &lt;span style="font-weight: bold;"&gt;Alfresco&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;07.08 : &lt;a href="http://translate.google.fr/translate?hl=fr&amp;amp;sl=fr&amp;amp;tl=en&amp;amp;u=http%3A%2F%2Fwww.opensourceecm.fr%2F2008%2F07%2Finterview-christophe-bec-senior.html"&gt;&lt;span style="font-weight: bold;"&gt;Christophe Bec&lt;/span&gt;, Senior Architect ECM &lt;span style="font-weight: bold;"&gt;Capgemini Sud&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;07.08 : &lt;a href="http://translate.google.fr/translate?hl=fr&amp;amp;sl=fr&amp;amp;tl=en&amp;amp;u=http%3A%2F%2Fwww.opensourceecm.fr%2F2008%2F07%2Finterview-romain-guinot-atos-origin.html"&gt;&lt;span style="font-weight: bold;"&gt;Romain GUINOT&lt;/span&gt; (&lt;span style="font-weight: bold;"&gt;Atos Origin&lt;/span&gt;), Contributor of the month Alfresco&lt;/a&gt;&lt;br /&gt;06.08 : &lt;a href="http://translate.google.fr/translate?hl=fr&amp;amp;sl=fr&amp;amp;tl=en&amp;amp;u=http%3A%2F%2Fwww.opensourceecm.fr%2F2008%2F06%2Finterview-thomas-choppy-consultant-ecm.html"&gt;&lt;span style="font-weight: bold;"&gt;Thomas CHOPPY&lt;/span&gt;, ECM Consultant &lt;span style="font-weight: bold;"&gt;Smile&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Enjoy! :o)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1400114241100585472-4987074858765446523?l=www.open-source-ecm.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=pvN788WXzR8:xGVFCcUy97I:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=pvN788WXzR8:xGVFCcUy97I:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=pvN788WXzR8:xGVFCcUy97I:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=pvN788WXzR8:xGVFCcUy97I:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=pvN788WXzR8:xGVFCcUy97I:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=pvN788WXzR8:xGVFCcUy97I:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=pvN788WXzR8:xGVFCcUy97I:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=pvN788WXzR8:xGVFCcUy97I:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=pvN788WXzR8:xGVFCcUy97I:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=pvN788WXzR8:xGVFCcUy97I:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=pvN788WXzR8:xGVFCcUy97I:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=pvN788WXzR8:xGVFCcUy97I:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=pvN788WXzR8:xGVFCcUy97I:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoingToAnOpensourceEcmWorld/~4/pvN788WXzR8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/4987074858765446523/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1400114241100585472&amp;postID=4987074858765446523" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/4987074858765446523?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/4987074858765446523?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoingToAnOpensourceEcmWorld/~3/pvN788WXzR8/open-source-ecm-interview-french-to.html" title="Open Source ECM Interview : French to English" /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07200841589930120062" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.open-source-ecm.com/2009/08/open-source-ecm-interview-french-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8GRH0zfip7ImA9WxNTEUU.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472.post-8723838387229867842</id><published>2009-08-13T04:20:00.000-07:00</published><updated>2009-08-13T11:23:45.386-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-13T11:23:45.386-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Interview" /><category scheme="http://www.blogger.com/atom/ns#" term="Definition" /><category scheme="http://www.blogger.com/atom/ns#" term="ECM" /><category scheme="http://www.blogger.com/atom/ns#" term="WCM" /><title>Interview : Dr. Ulrich Kampffmeyer, Managing Director and Founder of PROJECT CONSULT</title><content type="html">&lt;span style="font-weight: bold;"&gt;„Guten Tag“ everybody !&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Today we make a travel to Germany.&lt;br /&gt;&lt;br /&gt;Today, I have the great honor to interview &lt;span style="font-weight: bold;"&gt;Dr. Ulrich Kampffmeyer, Managing Director and Founder of PROJECT CONSULT in Hamburg, Germany&lt;/span&gt;. He is as well a member of the Board of Managers of the &lt;span style="font-weight: bold;"&gt;DLM Network&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;EEIG&lt;/span&gt;, the organization which administers the &lt;span style="font-weight: bold;"&gt;new records management standard MoReq2&lt;/span&gt;, published by the &lt;span style="font-weight: bold;"&gt;European Commission&lt;/span&gt;. He was also founder and chair oft he German &lt;span style="font-weight: bold;"&gt;association VOI&lt;/span&gt; and held different positions within the international association &lt;span style="font-weight: bold;"&gt;AIIM&lt;/span&gt;. In other words, he know the meaning of content and information.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Guten Tag Dr. Ulrich !&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;First of all, let me thank you for the time you take to make this interview reality and to share your knowledge about ECM.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;So Ulrich, as usual I read  information about my interviewee and I find a number : 30. You have been in the document, content and knowledge management industry now for over 30 years... For a young happy-go-lucky ecm consultant like me it's "Woooowww". Could you present yourself and main facts of your experience ?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;Well JM, it is not „in the industry“ because we both know that our industry, described as document management or enterprise content management, is not that old. Since 1976 I have been working with software in the field of analysis and documentation. My first computer projects were in the archaeology and soil sciences domain. I developed software for cartography, automatic classification of objects, statistics, video acquisition, documentation, classification and reconstruction system for archaeological findings. So my first document management projects were for museums and research institutes.   &lt;br /&gt;&lt;br /&gt;Later on, I was working for scientific research institutions, document management vendors, universities and consulting companies. This led me to combine theoretical academic, programming and system design skills with project management, business process analysis, moderation and solution design advising. July 1st, 1992, I founded my own consulting company, which is working in Enterprise Content, Records, and Knowledge Management field for end user organizations only. Beside that I was active in associations like &lt;span style="font-weight: bold;"&gt;AIIM&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;VOI&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;DLM Forum&lt;/span&gt; and others, and wrote some books, studies, lots of articles and other publications like our P&lt;span style="font-weight: bold;"&gt;ROJECT CONSULT Newsletter&lt;/span&gt;.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;And now what's your work day after day ?&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;Part of the day – when I am not under a tone of our customers sites – is filled with administrative work. I have to perform as Managing Director. In regard to projects I have to control quality of final versions of documents where I have the role of quality manager in the project. A lot of time is taken by email correspondence and phoning with prospects, customers, staff, freelance consultants, journalists and so. I try to reserve blocks of hours for writing reports for my customers, research or just contemplation. Some hours a day, when I'm in the office, I go to the internet – communities like XING, Informationzen.org, facebook, bloglines, publishing sites, industry portals a.s.o. When I'm travelling for seminare, customer workshops, or congresses, most of this work is delegated to the traveling and waiting hours. But most important of my time is spent with my customers  in workshops, discussions, or meetings. It's not only to give advice but also to learn each day as well.&lt;br /&gt;&lt;/blockquote&gt;&lt;/div&gt; &lt;span style="font-weight: bold;"&gt;You have found project-consult, in 1992. Could you present your firm ? What kinf of services do you offers ?&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;"&gt;PROJECT CONSULT Unternehmensberatung GmbH&lt;/span&gt; works in the field of archive, document, content, records, business process, information lifecycle, and knowledge management only. With my colleagues at PROJECT CONSULT we have been running more than &lt;span style="font-weight: bold;"&gt;200 projects&lt;/span&gt; designing information management strategies, carrying out analysis and design of organisation and processes, writing tenders, selecting products, solutions and system integrators, running projects as project managers or as quality control managers, conducting workshops, writing policies and legal expertises and so on...&lt;br /&gt;&lt;br /&gt;We are small company combining hired staff with speciliazed free lance consulters. Our customers mainly come from Germany and Switzerland, but we have as well worked for supra-international organizations like UNEP or ESA, international companies in Europe and other clients from abroad. Clients come from all industries and our main task is to help them to solve organisational problems related to documents.&lt;br /&gt;&lt;br /&gt;Beside projects work, we were engaged in the creation of standards like &lt;span style="font-weight: bold;"&gt;GEVER &lt;/span&gt;in Switzerland, the electronic archiving standards for the Federal Savings Banks Group, and the ECM standards for the Social Insurance Group in Germany, we engaged in &lt;span style="font-weight: bold;"&gt;MoReq2&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;ISO 15489&lt;/span&gt; and&lt;span style="font-weight: bold;"&gt; ISO 19005&lt;/span&gt;, and more.&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;Let's back to future, I know it will be quite long but is it possible to summarize the computerization and dematerialization of information since you started your experience ? &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;In the last 30 years I faced a lot of changes from host computers with character-only display, the first PCs, early networks, evolving internet and now all this 2.0 stuff. I looked on all the short-sighted developments of the hardware and software industry in the early years.&lt;br /&gt;&lt;br /&gt;Imaging was born because host and early PCs could not display and handle images.Document management was born due to the restrictions of hierarchical file manager.Workflow was born to support collaboration and to conncect the users.   &lt;br /&gt;&lt;br /&gt;Our industry in the past lived by the errors and niches created by the IT mainstream vendors. This time is gone and our industry is loosing its USPs, Unique Selling Propositions. Document and enterprise content management is becoming IT infrastructure, dissolving at the middleware layer, becoming services, being no longer visible at the user desktop. Modern clients and web interfaces are enabled with the capabilities to handle documents, processes and other information assets.&lt;br /&gt;&lt;br /&gt;We are living in a digital world and I sometimes suffer as digital native. Especially the last ten years have changed the perception of how we handle and how we use information. With 2.0 it is beyond everything our industry had developed as assets in the past. Document related technologies become integral part of every software application.&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;For you what was the worst and best idea on content management area?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;The worst idea in the CMS arena was to re-develop everything which had already been developed in the document management arena. The web guys often re-invented the wheel and created solutions, which didn't take care about compliance, documentation, consistency, authenticity, persistance and other issues. The web generated more problems for document management, records management and electronic archival than we had before and these problems are not solved today.   &lt;br /&gt;&lt;br /&gt;The best idea of content management was lately skipping the barriers between structured and unstructured information. The key is, to look at digital information as an integrative concept – data in an database is just information, content in an WCM is just another form of digital information, and records and documents are as well only different by format, legal or business value, it is all digital information, that may become - combined with logic, context and meaning - even knowledge. Modern information and content management solutions must and can handle any type and format of information. This is the important step to overcome the differences in systems and concepts of the past, which will lead to the development, that ECM and WCM will disappear inside the IT infrastructure. Their functionality will become part of standard software and operating systems, and will be a commodity in the near future&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;In functional domain is there the same or have you noticed an evolution? Is it possible to illustrate it with your own project experience?&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;Yes ! There have been some interesting developments in the past years. On the one hand vendors add more and more functionality to their products or their products suite. End users often get overwhelmed with un-needed functionality. The big shots are offering suites which include almost every function somebody wants. Smaller vendors have been moving towards integrated solutions which special applications for certain industries.   &lt;br /&gt;&lt;br /&gt;There's some kind of special markets like the capture industry, compliance software offerings, email-management or archiving solutions for certain standard ERP or CRM products, and others, which are common to most vendors. And there's another trend in functionality to cover the gap in big software vendors product offerings like Microsoft with Exchange and Sharepoint, IBM, SAP or others. Business process management developed to an industry of its own like output management always has been – both are major components of the overall ECM concept. Although Enterprise Content Management has something like an universal approach, a lot of vendors focus on „filling-the-gap“ of Microsoft. If we look on all of these developments – standalone products, complete suites, “Gap”-solutions  and new functionality entering from the Web 2.0 world, a lot of mid size vendors are in the danger of overstretching their resources. And even the big players do not manage to get their product offerings consolidated.&lt;br /&gt;&lt;br /&gt;Today the most important applications in Europe are&lt;br /&gt;•    electronic virtual folders,&lt;br /&gt;•    “in-bound” capture systems for unified acquisition and distribution of information,&lt;br /&gt;•    automated classification and categorization,&lt;br /&gt;•    electronic long term archival (call it digital preservation in the archivists realm),&lt;br /&gt;•    collaboration,&lt;br /&gt;•    Web-2.0-functionality inside traditional document management solutions,&lt;br /&gt;•    standardised records management for paper and electronic records combined,&lt;br /&gt;•    enhanced business process management including business intelligence,&lt;br /&gt;•    compliance,&lt;br /&gt;•    ediscovery and auditings solutions,&lt;br /&gt;•  portals with integrated document management and similar advanced ECM solutions.&lt;/div&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;Now let's talk about ECM, do you have your personal ECM definition?&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;Yes and no, I have a definition for ECM. I'm supporting the definition of AIIM international now for nearly a decade. It changed a little bit over time, but the message and the core ideas are still the same. You will find some books I wrote (for example the &lt;span style="font-weight: bold;"&gt;synchronized-three-lingual publication ECM Enterprise Content Management&lt;/span&gt;), lots of articles (even the &lt;span style="font-weight: bold;"&gt;entries in the German and English Wikipedia&lt;/span&gt;)  lots of seminars and lots of presentation about this definition.    &lt;br /&gt;&lt;br /&gt;It is important that the industry sticks to one definition. A lot of vendors, analysts and consultants came up with definitions of their own – no better, no worse. But to help the market to identify itself with this complex software and technology environment, to position ECM besides other IT topics like ERP, CRM, Enterprise 2.0, and to help the end users finding the right solutions, to make them familiar with ECM, it is important, that we all tell the same story, have the same definition, and here it goes: „&lt;span style="font-weight: bold; font-style: italic;"&gt;Enterprise Content Management (ECM) is the strategies, methods and tools used to capture, manage, store, preserve, and deliver content and documents related to organizational processes. ECM tools and strategies allow the management of an organization's unstructured information, wherever that information exists.“&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;I had the opportunity to read one of your report on ECM and I learned many good things about content management. Does your work participate to the elaboration of ECM Definition ? Do you work for a standardization of ECM with AIIM ?&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;I was fortunate to be one of  the members of the AIIM Europe and the AIIM international boards of directors when AIIM developed ECM as new strategy for the future. So I had the chance to discuss issues of re-positioning the industry in 1999 (after the first internet wave) with AIIM officials and other industry peers. My first presentations about the new vision of the market where already in 2000 in London and Berlin. The roadmap was always developed by AIIM but it took the liberty to add some features and create my own image of the ECM message.&lt;br /&gt;&lt;br /&gt;Today there are a lot of discussions if we should stick to ECM or if the community should move on the EIM Enterprise Information Management or Enterprise 2.0. The image of ECM is blurring at the edges as the big vendors like Oracle or Microsoft introduced their own interpretation of ECM (based on what their products do). So we might stick for a while to the current idea of ECM, but this will change within this decade and ECM will become history like microforms – still surving in niches, but no longer mainstream.&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Do you make other contribution (Animation, articles, posts, forums ...) ?&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;Thank you for this question – the answer is YES! I wrote some books and studies – have a look on &lt;span style="font-weight: bold;"&gt;Amazon.de&lt;/span&gt; (German Amazon!). I was editor for a whitepaper series by &lt;span style="font-weight: bold;"&gt;AIIM &lt;/span&gt;with &lt;span style="font-weight: bold;"&gt;seven booklets&lt;/span&gt;. I have been member of the editorial board of &lt;span style="font-weight: bold;"&gt;MoReq2 standard&lt;/span&gt;. I am editor of the &lt;span style="font-weight: bold;"&gt;PROJECT CONSULT Newsletter,&lt;/span&gt; which covers the ECM industry in middle Europe since 1999. The newsletter is as well available as fill text database and on several social publishing platforms.     There are lots of white papers I wrote for vendors like IBM, EMC, SER, HP and more.&lt;br /&gt;&lt;br /&gt;And there lots of presentations including the slides, videos, multimedia and handouts. Most of the material can be accessed using our website &lt;a href="http://www.PROJECT-CONSULT.com"&gt;http://www.PROJECT-CONSULT.com&lt;/a&gt; (in German), but I published as well quite a lot on &lt;a href="http://www.scribd.com"&gt;www.scribd.com&lt;/a&gt;, &lt;a href="http://www.slideshare.net"&gt;www.slideshare.net&lt;/a&gt;, &lt;a href="http://www.doxtop.com"&gt;www.doxtop.com&lt;/a&gt; and other platforms (look for &lt;span style="font-weight: bold;"&gt;„DrUKff“&lt;/span&gt; …).    &lt;br /&gt;&lt;br /&gt;I am running a discussion group about information &amp;amp; document management in four languages and with around &lt;span style="font-weight: bold;"&gt;6.000 members&lt;/span&gt; on &lt;a href="http://www.XING.com"&gt;www.XING.com&lt;/a&gt;. Sorry, most of the material is only available in German language, but I have as well some whitepapers and presentations in English and French.&lt;br /&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Do you have an explanation of ECM needs ? Is it normal the way of consolidation in content management (Document management, Web Content Management, Records Management, Information management...) into one system ?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;It's not only about the integration of different components into one suite or system. The real challenge is, to make ECM known with the decision makers in the companies, who should by ECM solutions. I believe that quite a lot of components may be used as well stand alone in the future because ECM, as a whole, might be too complex for the users within a “normal” business organisation. And I already mentioned that ECM will become infrastructure/services. It will be important to avoid islands of information and to create universal federated repositories which can be used by every application, not only by ECM applications. To get a grip on information, to control information, to assure quality and correctness, to implement transparency, to support end-to-end processes, to bridge the existing applications and to help the organisation to be compliant – these are true ECM needs and ECM assets.&lt;/blockquote&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;What's your feelings about Open Source solution and open source move in CM ecosystem ?&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;OpenSource has been playing a very important role in the WCM (Web Content Management) market from the beginning. It took some time before the first ECM open source products appeared. People find the interesting especially because there is a mix up of the terms freeware and opensource. Open source can be free ware, but it must. The market thinks of Open Source ECM  products being cheap, being publicly available, being easy to adopt. This is not always true and I remember projects  where the open source implementation was more expensive than a standard product solution!    &lt;br /&gt;&lt;br /&gt;In middle Europe most people think of Alfresco when considering an open source product. Other solutions like Knowledgetree etc. are not much known. I think open source will gain a little more importance in the ECM market in the near future, but the real thread for the traditional industry is SaaS, software as a service. We see the first ECM SaaS solutions on the market and more and more applications are moving into the cloud.  Google is adding pressure and Microsoft is starting as well. So records management, long term digital preservation, document management, workflow, colloboration and other tools will be offered as well via the web. This will change the market in the next ten years because ECM installations at the customer site are known to be complex :  you have to care for migration on your own, you hardly can afford a redundant backup solution, a.s.o. The same way project management and CRM customer relationship management is moving to web today, we will see all the ECM components and applications move into the cloud tomorrow.&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;In 2009, can you advise us on public meeting/ event or conference we must not miss ? Will you be present ?&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;The most important fair with a congress on site is the &lt;span style="font-weight: bold;"&gt;DMS EXPO in Cologne, Germany, September 15th to 17th, 2009&lt;/span&gt;. Nearly all vendors (IBM; Open Text, Oracle, SAP, Microsoft, Alfresco, Optimal Systems, Iron Mountain, ELO, Docuware, Ceyoniq, ITESOFT, COI, windream, Readsoft, Autonomy, Docuportal, Coremedia ...and integrators are present. ). There will be about 400 exhibitors and the KoelnMesse expects about 20.000 visitors. In the exhibition hall and as well in seminar rooms there are conferences and free presentations. The entrance and the catalogue is free of charge if you register in advance : &lt;a href="http://www.DMSEXPO.com"&gt;www.DMSEXPO.com&lt;/a&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;Finally, can you recommend us weblinks or blogs about ECM or IT in general ?&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;First of all – internationally – there is &lt;a href="http://www.AIIM.org"&gt;www.AIIM.org&lt;/a&gt;. I am as well a member of the AIIM community &lt;a href="http://www.informationzen.org"&gt;www.informationzen.org&lt;/a&gt;. Most of my activities ist he the group on XING &lt;a href="https://www.xing.com/net/informationlifecyclemanagement"&gt;https://www.xing.com/net/informationlifecyclemanagement&lt;/a&gt;  both communities are free.&lt;br /&gt;&lt;br /&gt;There are a lot of blogs about ECM and related topics, so for consolidation and overview I use Bloglines and Delicious (you can subscribe to  &lt;a href="http://www.bloglines.com/public/DrUKff"&gt;http://www.bloglines.com/public/DrUKff&lt;/a&gt; and &lt;a href="http://delicious.com/DruKff"&gt;http://delicious.com/DruKff&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;If you are looking for sources in Germany and in German language, check on &lt;a href="http://www.ECMGUIDE.de"&gt;www.ECMGUIDE.de&lt;/a&gt;, &lt;a href="http://www.ContentManager.de"&gt;www.ContentManager.de&lt;/a&gt;, or&lt;a href="http://www.Documanager.de"&gt; www.Documanager.de&lt;/a&gt;.    &lt;br /&gt;&lt;br /&gt;If you are looking for new records management standards and archiving practices, have a look at the DLM Forum &lt;a href="http://www.dlm-network.org"&gt;www.dlm-network.org&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Groups on publishing sites with ECM related content are &lt;a href="http://www.doxtop.com/groups/view/feb95ada/ecm-enterprise-content-management.aspx"&gt;http://www.doxtop.com/groups/view/feb95ada/ecm-enterprise-content-management.aspx&lt;/a&gt; or &lt;a href="http://www.slideshare.net/group/ecm"&gt;http://www.slideshare.net/group/ecm&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;And not  to forget my own sites &lt;a href="http://www.PROJECT-CONSULT.com"&gt;www.PROJECT-CONSULT.com&lt;/a&gt;, &lt;a href="http://pcnewsletter.coextant.info/"&gt;http://pcnewsletter.coextant.info/&lt;/a&gt; and &lt;a href="http://www.MoReq2.de"&gt;www.MoReq2.de&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;What would you say to conclude this interview?&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;First of all – thank you for giving me the chance to participate in your series of interviews. To conclude this interview – the growth of information, the speed of development in the ITC industry and restrictions of human nature and brain capacity create together one of the most interesting mass experiments in mankinds existance. We moved in one generation from an analogue world of information management to a digital world of information management with new rules, new behaviours, new visions. I am glad living in this interesting era and being able to contribute a little bit to solve the big challenge to save the memory of the information society - in this early, still dark age. &lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;Many thanks, Ulrich, for this interview. We wish you a nice and exciting journey on Open Source (or not) ECM Road!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;To find out more about Project Consult : &lt;a href="http://www.project-consult.com/"&gt;http://www.PROJECT-CONSULT.com&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;and if you want more information, you can follow this links :&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.moreq2.de/"&gt;&lt;span style="font-weight: bold;"&gt;http://www.moreq2.de&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://pcnewsletter.coextant.info/"&gt;&lt;span style="font-weight: bold;"&gt;http://pcnewsletter.coextant.info/&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=1400114241100585472&amp;amp;postID=8723838387229867842#%20http://www.doxtop.com/groups/view/feb95ada/ecm-enterprise-content-management.aspx"&gt;&lt;span style="font-weight: bold;"&gt;http://www.doxtop.com/groups/view/feb95ada/ecm-enterprise-content-management.aspx&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.xing.com/net/informationlifecyclemanagement/"&gt;&lt;span style="font-weight: bold;"&gt;https://www.xing.com/net/informationlifecyclemanagement/&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;If you want to download this interview, follow this link : &lt;a href="http://www.scribd.com/doc/18551640/Open-Source-ECM-Interview-FR-Dr-Ulrich-Kampffmeyer-ProjectConsult-"&gt;http://www.scribd.com/doc/18551640/Open-Source-ECM-Interview-FR-Dr-Ulrich-Kampffmeyer-ProjectConsult-&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1400114241100585472-8723838387229867842?l=www.open-source-ecm.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=AtSTQe9wtr0:EfhhotQ7ATo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=AtSTQe9wtr0:EfhhotQ7ATo:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=AtSTQe9wtr0:EfhhotQ7ATo:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=AtSTQe9wtr0:EfhhotQ7ATo:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=AtSTQe9wtr0:EfhhotQ7ATo:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=AtSTQe9wtr0:EfhhotQ7ATo:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=AtSTQe9wtr0:EfhhotQ7ATo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=AtSTQe9wtr0:EfhhotQ7ATo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=AtSTQe9wtr0:EfhhotQ7ATo:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=AtSTQe9wtr0:EfhhotQ7ATo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=AtSTQe9wtr0:EfhhotQ7ATo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=AtSTQe9wtr0:EfhhotQ7ATo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=AtSTQe9wtr0:EfhhotQ7ATo:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoingToAnOpensourceEcmWorld/~4/AtSTQe9wtr0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/8723838387229867842/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1400114241100585472&amp;postID=8723838387229867842" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/8723838387229867842?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/8723838387229867842?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoingToAnOpensourceEcmWorld/~3/AtSTQe9wtr0/interview-dr-ulrich-kampffmeyer.html" title="Interview : Dr. Ulrich Kampffmeyer, Managing Director and Founder of PROJECT CONSULT" /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07200841589930120062" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.open-source-ecm.com/2009/08/interview-dr-ulrich-kampffmeyer.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08AQH4_cSp7ImA9WxNTEEQ.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472.post-3548855595485775077</id><published>2009-08-12T09:29:00.000-07:00</published><updated>2009-08-12T09:50:41.049-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-12T09:50:41.049-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Tutorial" /><category scheme="http://www.blogger.com/atom/ns#" term="Contribution" /><category scheme="http://www.blogger.com/atom/ns#" term="SlideShow" /><category scheme="http://www.blogger.com/atom/ns#" term="CMIS" /><title>CMIS SQL : Tutorial &amp; Presentation</title><content type="html">Hello everyone !&lt;br /&gt;&lt;br /&gt;Since CMIS was created, I'm interessted in CMIS-SQL. That's why I decided to search some documentation on it. Except CMIS Specification, I found very few documentation. I just want some CMIS SQL query sample...&lt;br /&gt;&lt;br /&gt;Yes I know, it's normal there's no document.. It's a young idea! Nevertheless I decided to test it and to share my discovery with you.&lt;br /&gt;&lt;br /&gt;So below, you can find my presentation about CMIS-SQL and how to test it with Alfresco ! As usual you can view, download, distribute and comment the presentation!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a title="View CMIS - CMIS SQL Search Tutorial - ENG on Scribd" href="http://www.scribd.com/doc/18495354/CMIS-CMIS-SQL-Search-Tutorial-ENG" style="margin: 12px auto 6px; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; display: block; text-decoration: underline;"&gt;CMIS - CMIS SQL Search Tutorial - ENG&lt;/a&gt; &lt;object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" id="doc_516261869315553" name="doc_516261869315553" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" align="middle" height="500" width="450"&gt;  &lt;param name="movie" value="http://d.scribd.com/ScribdViewer.swf?document_id=18495354&amp;amp;access_key=key-1ss0f00w2l14k66mmaia&amp;amp;page=1&amp;amp;version=1&amp;amp;viewMode=slideshow"&gt;   &lt;param name="quality" value="high"&gt;   &lt;param name="play" value="true"&gt;  &lt;param name="loop" value="true"&gt;   &lt;param name="scale" value="showall"&gt;  &lt;param name="wmode" value="opaque"&gt;   &lt;param name="devicefont" value="false"&gt;  &lt;param name="bgcolor" value="#ffffff"&gt;   &lt;param name="menu" value="true"&gt;  &lt;param name="allowFullScreen" value="true"&gt;   &lt;param name="allowScriptAccess" value="always"&gt;   &lt;param name="salign" value=""&gt;            &lt;param name="mode" value="slideshow"&gt;       &lt;embed src="http://d.scribd.com/ScribdViewer.swf?document_id=18495354&amp;amp;access_key=key-1ss0f00w2l14k66mmaia&amp;amp;page=1&amp;amp;version=1&amp;amp;viewMode=slideshow" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" play="true" loop="true" scale="showall" wmode="opaque" devicefont="false" bgcolor="#ffffff" name="doc_516261869315553_object" menu="true" allowfullscreen="true" allowscriptaccess="always" salign="" type="application/x-shockwave-flash" mode="slideshow" align="middle" height="500" width="450"&gt;&lt;/embed&gt; &lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To be continued...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1400114241100585472-3548855595485775077?l=www.open-source-ecm.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=oRhzPR1iBMA:EBH2e5KIXaU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=oRhzPR1iBMA:EBH2e5KIXaU:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=oRhzPR1iBMA:EBH2e5KIXaU:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=oRhzPR1iBMA:EBH2e5KIXaU:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=oRhzPR1iBMA:EBH2e5KIXaU:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=oRhzPR1iBMA:EBH2e5KIXaU:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=oRhzPR1iBMA:EBH2e5KIXaU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=oRhzPR1iBMA:EBH2e5KIXaU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=oRhzPR1iBMA:EBH2e5KIXaU:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=oRhzPR1iBMA:EBH2e5KIXaU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=oRhzPR1iBMA:EBH2e5KIXaU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=oRhzPR1iBMA:EBH2e5KIXaU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=oRhzPR1iBMA:EBH2e5KIXaU:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoingToAnOpensourceEcmWorld/~4/oRhzPR1iBMA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/3548855595485775077/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1400114241100585472&amp;postID=3548855595485775077" title="1 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/3548855595485775077?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/3548855595485775077?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoingToAnOpensourceEcmWorld/~3/oRhzPR1iBMA/cmis-tutorial-cmis-sql.html" title="CMIS SQL : Tutorial &amp; Presentation" /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07200841589930120062" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.open-source-ecm.com/2009/08/cmis-tutorial-cmis-sql.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUBQX0-eip7ImA9WxJbGEo.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472.post-6133568210634404909</id><published>2009-07-29T05:18:00.000-07:00</published><updated>2009-07-29T06:30:50.352-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-29T06:30:50.352-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Tutorial" /><category scheme="http://www.blogger.com/atom/ns#" term="Nuxeo" /><category scheme="http://www.blogger.com/atom/ns#" term="Contribution" /><category scheme="http://www.blogger.com/atom/ns#" term="Tips" /><title>Nuxeo Tips : Installation and configuration</title><content type="html">Hello Readers and Followers.&lt;br /&gt;&lt;br /&gt;Today I would like to share some information about how to install and configure Nuxeo 5.2.&lt;br /&gt;Indeed, recently I help a customer to install, configure and customize this OpenSource ECM System in its Windows environment. So let's share :o)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;Nuxeo Installation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;How to install Nuxeo ?&lt;/span&gt;&lt;br /&gt;In general manner, you should download and use Nuxeo 5.2 Windows Installer. You can find it at this url : &lt;a href="http://www.nuxeo.com/en/downloads/"&gt;http://www.nuxeo.com/en/downloads/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This installer is a good starting point to begin a Nuxeo Project. Moreover it also incorporates Nuxeo Shell (a beautiful gift for ECM Administrators). However it embed a java light  database (Derby). This database is for demonstration , developments or experiments environments. It's NOT a production database! That's why we have to change Nuxeo settings.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;How to configure Nuxeo and PostgreSQL ?&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt; &lt;/span&gt;For step by step explanation, have a look at the :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.nuxeo.org/xwiki/bin/view/FAQ/"&gt;FAQ : http://www.nuxeo.org/xwiki/bin/view/FAQ/&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt; Nuxeo Book &lt;a href="http://doc.nuxeo.org/5.1/books/nuxeo-book/html/admin-database-configuration.html"&gt;http://doc.nuxeo.org/5.1/books/nuxeo-book/html/admin-database-configuration.html&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Admin Book:&lt;a&gt; http://doc.nuxeo .org/5.1/books/nuxeo-book/html/admin-database-configuration.html&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;How to configure Nuxeo for a production environment?&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;For Nuxeo, the information is here : &lt;a href="http://www.nuxeo.org/xwiki/bin/view/Main/NuxeoProdSetup/"&gt;http://www.nuxeo.org/xwiki/bin/view/Main/NuxeoProdSetup/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;For PostgreSQL, the information is there: &lt;a href="http://www.nuxeo.org/xwiki/bin/view/FAQ/PostgreSQLSettings/"&gt;http://www.nuxeo.org/xwiki/bin/view/FAQ/PostgreSQLSettings/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;If you follow all advices and recommendations, you have a good foundation to start a production server. So it's time to consider the functionallity side, ie different features that we want appear or not. &lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;strong&gt;&lt;span style="font-size:180%;"&gt;Configure&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-size:180%;"&gt; Nuxeo&lt;/span&gt;&lt;/strong&gt; &lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;Short Introduction&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;I usually say, in Open Source ECM context, there are 3 possible ways.&lt;br /&gt;&lt;br /&gt;&lt;div class="post-body entry-content"&gt;&lt;ul&gt;&lt;li&gt; &lt;span style="font-weight: bold;"&gt;User &lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;strong&gt;approach :&lt;/strong&gt; &lt;/span&gt;User only know how to click on buttons (This is not a criticism or an insult but it huge caricature...) &lt;/li&gt;&lt;li&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;strong&gt;Administrator &lt;/strong&gt;&lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;strong&gt;approach :&lt;/strong&gt; Administrator know how to use and modify humanly comprehensible files (XML, Properties, txt)&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;strong&gt;Developer / Integrator &lt;/strong&gt;&lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;approach &lt;/strong&gt;&lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;strong&gt;:&lt;/strong&gt; Developer is omniscient and omnipotent.&lt;/span&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt; He understands and knows everything in programming, configuration and utilization.&lt;/span&gt; &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;p&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;/span&gt;In our case we will look only at the administrator level. Indeed many features are configurable through XML files in Nuxeo.&lt;br /&gt;&lt;br /&gt;To illustrate this point, I propose the following use case: I want to increase the number of documents displayed in a space/folder/workspace.  By default this value is set at 10. If the space contains more than 10 documents, then the user interface will create an automatic 10 to 10 pagination.  For ergonomic purpose, I wan to set this value at 25.&lt;br /&gt;&lt;br /&gt;Let's explore what are the possible approaches to meet this need&lt;br /&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;First of all, Nuxeo has 3 IMPORTANT directories :&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;&lt;strong&gt;NuxeoEP5 \ NuxeoServer \ server \ default \ deploy \ nuxeo.ear \ System&lt;/strong&gt;&lt;/span&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;br /&gt;&lt;/span&gt;This directory contains &lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;Nuxeo &lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;heart.&lt;/span&gt; &lt;/li&gt;&lt;li&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;NuxeoEP5 \ NuxeoServer \ server \ default \ deploy \ nuxeo.ear \ plugins&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;This directory contains all the modules/ addons / plugins / extensions that are not part of the heart Nuxeo. In general this addons are your addons.&lt;/span&gt; &lt;/li&gt;&lt;li&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;NuxeoEP5 \ NuxeoServer \ server \ default \ deploy \ nuxeo.ear \ config&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;This directory contains all Nuxeo configuration files.&lt;/span&gt; &lt;/li&gt;&lt;/ul&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;These 3 directories will illustrate 3 ways to configure Nuxeo.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;System directory&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;If you already explore Nuxeo files and folder, you've noticed that most files inside System folder are Jar.&lt;/span&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;For those who are not familiar with this file format, take a look at wikipedia : &lt;a href="http://en.wikipedia.org/wiki/JAR_%28file_format%29"&gt;http://en.wikipedia.org/wiki/JAR&lt;/a&gt; . To generalize, it is a ZIP file wich contains java-like files.&lt;br /&gt;So if you have a zip utility like &lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt; winZip or 7-zip...&lt;/span&gt;&lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt; you can unzip a jar file!&lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt; So... you can open it&lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt; and therefore ...&lt;/span&gt;&lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt; you can change the contents of the ZIP!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;To complete our task, we have to focus on : &lt;strong&gt;Nuxeo-platform-webapp-core-5.2.0.jar&lt;/strong&gt;&lt;/span&gt; &lt;strong&gt;&lt;br /&gt;&lt;/strong&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;It is located in : &lt;strong&gt;NuxeoEP5 \ NuxeoServer \ server \ default \ deploy \ nuxeo.ear \&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;Open it (with 7-zip in my case) and locate the file &lt;span style="font-weight: bold;"&gt;OSGI-INF/querymodel-contrib.xml&lt;/span&gt;.&lt;/span&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt; Edit (or just extract) the file and replace the value 10 by 25 in the next block:&lt;/span&gt;&lt;br /&gt;&lt;p&gt; &lt;a href="http://3.bp.blogspot.com/_HuDWht5cbyc/SmW3P5WogDI/AAAAAAAAAvU/t5oQKkZGLcQ/s1600-h/nuxeo-methode-system.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5360892415176114226" style="margin: 0px auto 10px; display: block; width: 434px; height: 136px; text-align: center;" alt="" src="http://3.bp.blogspot.com/_HuDWht5cbyc/SmW3P5WogDI/AAAAAAAAAvU/t5oQKkZGLcQ/s400/nuxeo-methode-system.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Next, s&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;ave the file (or import it into the Jar).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;You can now restart Nuxeo, importing more than 10 documents in a space and see that there is no pagination creation.&lt;/span&gt; We have to import 26 document to see this component. &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt; Now to the second method:&lt;/span&gt; &lt;/p&gt;&lt;p&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;Config directory&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size:130%;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;As you can see, this directory is composed primarily by configuration XML&lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt; files&lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;.&lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt; The main purpose of this directory is to configure the global parameters of Nuxeo application.&lt;/span&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;So if we think 5 seconds, it's what we want : we want to s&lt;/span&gt;et the number of items displayed in a space.&lt;/span&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt; Before all, if you have tested the previous method, you have to remove your change.&lt;/span&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt; Then create a &lt;strong&gt;configuration-ui-config.xml&lt;/strong&gt; (the name does not change anything except &lt;strong&gt;-config.xml&lt;/strong&gt; part which should remain unchanged) in the config directory and add the block below:&lt;/span&gt; &lt;/p&gt; &lt;a href="http://4.bp.blogspot.com/_HuDWht5cbyc/SmW29kM6UEI/AAAAAAAAAvM/pw8IsF5sXik/s1600-h/nuxeo-methode-config.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5360892100260548674" style="margin: 0px auto 10px; display: block; width: 400px; height: 236px; text-align: center;" alt="" src="http://4.bp.blogspot.com/_HuDWht5cbyc/SmW29kM6UEI/AAAAAAAAAvM/pw8IsF5sXik/s400/nuxeo-methode-config.png" border="0" /&gt;&lt;/a&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;The most important part is the tag&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;REQUIRE&lt;/span&gt;&lt;require&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;.&lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt; In this tag we will set the default component name value (which we saw in the previous method). &lt;/span&gt;&lt;/require&gt;This allows us to&lt;require&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;   "overwrite" or "replace" the default component.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;You can now restart Nuxeo, import more than 10 documents in a space and see that there is no default pagination creation.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;You just learn a method that works for most of Nuxeo default component.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;If we have &lt;strong&gt;to create a procedure (a recipe),&lt;/strong&gt; it would be:&lt;/span&gt;&lt;br /&gt;&lt;/require&gt;&lt;ul&gt;&lt;li&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;Open and explore &lt;span style="font-weight: bold;"&gt;jar &lt;/span&gt;files in &lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;system &lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;directory (with your zip utility: 7zip for me ...).&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;Search outXML &lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;files &lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;(especially files ending &lt;strong&gt;with-contrib.xml)&lt;/strong&gt;&lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt; &lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;in OSGI-INF directories. &lt;strong&gt;&lt;/strong&gt;&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;Copy the block you want and remember the name of the component (in general it's the 2nd line of the -contrib.xml &lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;file&lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;/span&gt;&lt;component name="com.opensourceecm.nuxeo.configuration"&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;).&lt;/span&gt; &lt;/component&gt;&lt;/li&gt;&lt;li&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;Create your &lt;strong&gt;own config.xml&lt;/strong&gt; file in the &lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;strong&gt;config &lt;/strong&gt;&lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;directory &lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;Insert the block and change default parameters to match our requirements.&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;Remember : you have to respect XML validity and declare it as a XML  file.&lt;/span&gt; &lt;/li&gt;&lt;li&gt;R&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;estart your instance.&lt;/span&gt; &lt;/li&gt;&lt;li&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;/span&gt;You can serve, it is ready!&lt;/span&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;:o)&lt;/span&gt; : o)&lt;/span&gt; &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;Finally the last method&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;Plugins directory&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;This method (recommanded by Nuxeo) is more scalable, modular, but also the most complicated!&lt;/span&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;(Everything is not allowed particulary in computer science...).&lt;/span&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;I will not going deeper in details with this approach because it is well documented.&lt;/span&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;Remember, if you're interested in the topic, I advise you to read the Nuxeo book&lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt; draft &lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt; at: &lt;a href="http://74.125.87.132/translate_c?hl=fr&amp;amp;sl=fr&amp;amp;tl=en&amp;amp;u=http://www.nuxeo.org/static/dev-tutorial/&amp;amp;rurl=translate.google.fr&amp;amp;usg=ALkJrhipqAa6mfA7pWunV2mNt5I2vBTQlA"&gt;http://www.nuxeo.org/static/dev-tutorial/&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;/span&gt;Everybody doesn't have time and skills to install and configure Eclipse, JDK, Maven etc ... It's one criticism of this method. It can be a complex task which can sometimes take quite some time ... and therefore money.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;On the one hand  :  Is it advisable to install a development environment for our need ? The answer is NO of course. On the other hand : I want to add and modify many default Nuxeo components and functionality. Do I have to install Eclipse ? Answer is YES ! This environment is necessary. &lt;/p&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;As often: Everythin depends on your requirements and needs.&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;strong&gt;&lt;span style="font-size:180%;"&gt;Conclusion&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt; &lt;strong&gt;&lt;span style="font-size:180%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"  style="font-size:100%;"&gt;To simplify, this is my recommendations (to save time!)&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;span style="font-size:100%;"&gt;&lt;li&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;Banish editing Jar files in system directory !!&lt;/strong&gt; Sometimes this seems to be the easiest solution but it is the least profitable in the long term.&lt;/span&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;And in the world of opensource change are everywhere&lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt; (migration, upgrade ...)&lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;! &lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;The only possible case concerns &lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;feature &lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;removal.&lt;/span&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;If you have identified a feature that does not interest you, it may be useful to remove associated jar (simplify your installation, gain of time when application start...)&lt;/span&gt; &lt;/li&gt;&lt;li&gt; &lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;If you want to change a default &lt;/strong&gt;&lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;strong&gt;Nuxeo &lt;/strong&gt;&lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;strong&gt;component parameters&lt;/strong&gt;,&lt;strong&gt; choose the method based on the configuration directory.&lt;/strong&gt; It will be in long term the best method.&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="google-src-text" style="direction: ltr; text-align: left;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;If you need to change a component Nuxeo + add files (. Java, images, defining a workflow) or add a component, the preferred method is Plugins.&lt;/strong&gt;&lt;/span&gt; &lt;/li&gt;&lt;/span&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-size:100%;"&gt;Finally, if I have an advice : Be curious, navigate and explore the depths of Nuxeo jars!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span onmouseover="_tipon(this)" onmouseout="_tipoff()"  style="font-size:100%;"&gt;Have a good journey and see U&lt;br /&gt;&lt;/span&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/1400114241100585472-6133568210634404909?l=www.open-source-ecm.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=XVHcvvzRPkU:nGUxbuBockk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=XVHcvvzRPkU:nGUxbuBockk:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=XVHcvvzRPkU:nGUxbuBockk:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=XVHcvvzRPkU:nGUxbuBockk:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=XVHcvvzRPkU:nGUxbuBockk:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=XVHcvvzRPkU:nGUxbuBockk:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=XVHcvvzRPkU:nGUxbuBockk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=XVHcvvzRPkU:nGUxbuBockk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=XVHcvvzRPkU:nGUxbuBockk:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=XVHcvvzRPkU:nGUxbuBockk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=XVHcvvzRPkU:nGUxbuBockk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=XVHcvvzRPkU:nGUxbuBockk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=XVHcvvzRPkU:nGUxbuBockk:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoingToAnOpensourceEcmWorld/~4/XVHcvvzRPkU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/6133568210634404909/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1400114241100585472&amp;postID=6133568210634404909" title="2 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/6133568210634404909?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/6133568210634404909?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoingToAnOpensourceEcmWorld/~3/XVHcvvzRPkU/nuxeo-tips-installation-and.html" title="Nuxeo Tips : Installation and configuration" /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07200841589930120062" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_HuDWht5cbyc/SmW3P5WogDI/AAAAAAAAAvU/t5oQKkZGLcQ/s72-c/nuxeo-methode-system.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://www.open-source-ecm.com/2009/07/nuxeo-tips-installation-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MAQ3w9cCp7ImA9WxJWEUs.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472.post-7521143386170516861</id><published>2009-06-12T05:34:00.001-07:00</published><updated>2009-06-16T08:17:22.268-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-16T08:17:22.268-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Contribution" /><category scheme="http://www.blogger.com/atom/ns#" term="Alfresco" /><category scheme="http://www.blogger.com/atom/ns#" term="eXo" /><category scheme="http://www.blogger.com/atom/ns#" term="KnowledgeTree" /><title>News of the week via twitter</title><content type="html">Hello everybody !&lt;br /&gt;&lt;br /&gt;It's time to share some news finding on twitter. Did i mention Twitter is THE genial tools to find informations about ECM ? Yes ...? Ok! Let's begin.&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;eXo Portal &amp;amp; JBoss Portal : Happy Union !&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;First important news of this week is the union of eXo Portal and JBoss Portal project.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Business Wire&lt;/span&gt; : &lt;a href="http://www.businesswire.com/portal/site/google/?ndmViewId=news_view&amp;amp;newsId=20090610005342&amp;amp;newsLang=en"&gt;eXo Platform Merges Portal Software Development into JBoss        Community&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Reuters : &lt;/span&gt;&lt;a href="http://www.reuters.com/article/pressRelease/idUS115834+10-Jun-2009+BW20090610"&gt;eXo PlatformMerges Portal Software Development into JBoss Community&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;J.Boye&lt;/span&gt; : &lt;a href="http://www.jboye.com/blogpost/exo-portal-and-jboss-portal-join-forces/"&gt;eXo Portal and JBoss Portal join forces&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;eXoPlatform Blog&lt;/span&gt; : &lt;a href="http://blog.exoplatform.org/2009/06/10/exo-jboss-partnership/"&gt;Julien Viet Post&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Red Hat&lt;/span&gt; : &lt;a href="http://press.redhat.com/2009/06/10/jboss-org-community-grows/" rel="bookmark" title="Permanent Link: JBoss.org Community Grows" class="headline"&gt;JBoss.org Community Grows&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;JBoss Portal Blog&lt;/span&gt; :&lt;a href="http://blog.jboss-portal.org/2009/06/welcome-exo.html"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;Welcome eXo !&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;JBoss FAQ&lt;/span&gt; : &lt;a href="http://www.jboss.org/community/wiki/JBossPortal-eXoPortalFAQ"&gt;http://www.jboss.org/community/wiki/JBossPortal-eXoPortalFAQ&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;CMSWatch &lt;/span&gt;: &lt;a href="http://www.cmswatch.com/Trends/1615-eXo-JBoss-Merger"&gt;http://www.cmswatch.com/Trends/1615-eXo-JBoss-Merger&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Twitter Source : &lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Tugdual Grall : &lt;a href="http://twitter.com/tgrall"&gt;http://twitter.com/tgrall&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Julien Viet : &lt;a href="http://twitter.com/julienviet"&gt;http://twitter.com/julienviet&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Benjamin Mestrallet : &lt;a href="http://twitter.com/benjmestrallet"&gt;http://twitter.com/benjmestrallet&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;New version of KnowledgeTree&lt;/span&gt;&lt;br /&gt;&lt;span class="status-body"&gt;&lt;span class="entry-content"&gt;KnowledgeTree&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10;"&gt; &lt;/span&gt;Releases New Version of Its Commercial Open Source Solution as well as a Microsoft® Office Add-In.&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:10;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style="font-size:10;"&gt;This release focuses on helping companies ease the burden of compliance, provides improved usability and ensures increased interoperability between KnowledgeTree and other productivity tools. Significant new features and enhancements include:&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-indent: -0.25in;"&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt;&lt;span&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size:10;"&gt;Document Type Alerts&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10;"&gt; make it possible to manage document retention policies, contracts and other time-based events with less effort by applying alerts to groups of documents.&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-indent: -0.25in;"&gt;&lt;span style=";font-family:Symbol;font-size:10;"  &gt;&lt;span&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size:10;"&gt;Configurable Electronic Signatures&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10;"&gt; ensure accountability and compliance with regulations such as the US Food and Drug Administration’s (FDA) Title 21 Code of Federal Regulations (CFR) Part 11, &lt;em&gt;&lt;span&gt;Health Insurance Portability and Accountability Act&lt;/span&gt;&lt;/em&gt;&lt;i&gt; &lt;/i&gt;(HIPAA) and others by requiring a user to re-authenticate when changing a document. &lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:10;"&gt;“KnowledgeTree can significantly ease the compliance burden for smaller companies,” said Daniel Chalef, CEO of KnowledgeTree. “The combination of electronic signatures with a complete audit trail fulfills regulatory requirements, while the affordable price appeals to decision-makers.”&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:10;"&gt;Also featured prominently in this release is the Microsoft Office Add-in, which integrates KnowledgeTree seamlessly with the entire Office suite. Microsoft users can open, edit, save and email documents that reside in the KnowledgeTree repository from within Office applications, exactly as they would if that document was located on a shared drive. In addition, a powerful built-in search makes it even easier to find documents in the repository from within Office applications. &lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:10;"&gt;“The Microsoft Office Add-in allows users to enjoy the benefits of collaboration and version control afforded by KnowledgeTree without changing the way they work,” noted Philip Arkcoll, product manager at KnowledgeTree. “Customers using this feature report enhanced productivity as a result of the streamlined process.”&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;span style="font-size:10;"&gt;&lt;/span&gt;&lt;/p&gt;For more informations visit KT website  : &lt;a href="http://www.knowledgetree.com/"&gt;http://www.knowledgetree.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Other Links&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;CMSWire &lt;/span&gt;: &lt;a href="http://www.cmswire.com/cms/enterprise-cms/knowledgetree-updates-open-source-ecm-adds-key-enterprise-features-004797.php"&gt;KnowledgeTree Updates Open Source ECM, Adds Key Enterprise Features&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Read Write Web&lt;/span&gt; : &lt;a href="http://www.readwriteweb.com/archives/knowledgetree_makes_upgrades_to_its_open_source_document_manager.php"&gt;KnowledgeTree Makes Upgrades to its Open Source Document Manager&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Twitter source : &lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;KnowledgeTree &lt;/span&gt;: &lt;a href="http://twitter.com/knowledgetreesw"&gt;http://twitter.com/knowledgetreesw&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Daniel Chalef&lt;/span&gt; : &lt;a href="http://twitter.com/danielchalef"&gt;http://twitter.com/danielchalef&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;PS : If you are curious and want to know who are behind technology and sales in KnowledgeTree, let's take a look at this 2 posts : &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul style="font-style: italic;"&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.knowledgetree.com/blog/engineer-hires"&gt;http://www.knowledgetree.com/blog/sales-marketing-hires&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.knowledgetree.com/blog/engineer-hires"&gt;http://www.knowledgetree.com/blog/engineer-hires&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;New Alfresco Book&lt;/span&gt;&lt;br /&gt;If you search a book to learn how to customize, use, and administer Alfresco, I think the last new book : "Alfresco 3 Enterprise Content Management Implementation" is the best one !&lt;br /&gt;&lt;br /&gt;For further information visit Packtpub : &lt;a href="https://www.packtpub.com/alfresco-3-enterprise-content-management-implementation/book"&gt;http://www.packtpub.com/alfresco-3-enterprise-content-management-implementation/book&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Twitter source :&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;DRB &lt;/span&gt;: &lt;a href="http://twitter.com/DRB"&gt;http://twitter.com/DRB&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;Bunch of links&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://aiim.typepad.com/aiim_blog/2009/06/8-things-vendors-need-to-know-about-selling-document-management-to-small-businesses.html"&gt;8 Things Vendors Need To Know About Selling Document Management to Small Businesses&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.cmswatch.com/Trends/1616-Drupal-Hype"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;Is Drupal Over-hyped?&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1400114241100585472-7521143386170516861?l=www.open-source-ecm.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=uomqMqipcg0:rYvA9cq-f0o:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=uomqMqipcg0:rYvA9cq-f0o:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=uomqMqipcg0:rYvA9cq-f0o:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=uomqMqipcg0:rYvA9cq-f0o:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=uomqMqipcg0:rYvA9cq-f0o:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=uomqMqipcg0:rYvA9cq-f0o:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=uomqMqipcg0:rYvA9cq-f0o:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=uomqMqipcg0:rYvA9cq-f0o:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=uomqMqipcg0:rYvA9cq-f0o:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=uomqMqipcg0:rYvA9cq-f0o:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=uomqMqipcg0:rYvA9cq-f0o:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=uomqMqipcg0:rYvA9cq-f0o:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=uomqMqipcg0:rYvA9cq-f0o:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoingToAnOpensourceEcmWorld/~4/uomqMqipcg0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/7521143386170516861/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1400114241100585472&amp;postID=7521143386170516861" title="1 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/7521143386170516861?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/7521143386170516861?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoingToAnOpensourceEcmWorld/~3/uomqMqipcg0/news-of-week-via-twitter.html" title="News of the week via twitter" /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07200841589930120062" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.open-source-ecm.com/2009/06/news-of-week-via-twitter.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0cERXY9fip7ImA9WxJWE0w.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472.post-146077233651779265</id><published>2009-06-12T01:48:00.000-07:00</published><updated>2009-06-18T00:43:24.866-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-18T00:43:24.866-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="twitter" /><title>Twitter List : Capgemini &amp; Sogeti</title><content type="html">After my &lt;a href="http://www.open-source-ecm.com/2009/03/twitter-new-way-to-follow-ecm-news.html"&gt;ECM Twitter list&lt;/a&gt;, I'm going to create a Capgemini (official account) Twitter List :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;Capgemini&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Capgemini  &lt;/span&gt;: &lt;a href="http://twitter.com/Capgemini"&gt;http://twitter.com/Capgemini&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Capgemini North America (Us/Canada)&lt;/span&gt; : &lt;a href="http://twitter.com/CapgeminiNA"&gt;http://twitter.com/CapgeminiNA&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Capgemini Cloud, Global &lt;/span&gt;&lt;span style="font-weight: bold;" class="fn"&gt;Center of Excellence&lt;/span&gt; : &lt;a href="http://twitter.com/Capgemini_cloud"&gt;http://twitter.com/Capgemini_cloud&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Capgemini Outsourcing&lt;/span&gt; : &lt;a href="http://twitter.com/CapgeminiOS"&gt;http://twitter.com/CapgeminiOS&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Capgemini Espagna&lt;/span&gt; : &lt;a href="http://twitter.com/capgemini_es"&gt;http://twitter.com/capgemini_es&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Capgemini Espagna&lt;/span&gt; : &lt;a href="http://twitter.com/capgemini_rrhh"&gt;http://twitter.com/capgemini_rrhh&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Capgemini OutSourcing UK&lt;/span&gt; : &lt;a href="http://twitter.com/osukcto"&gt;http://twitter.com/osukcto&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Capgemini Norway&lt;/span&gt; : &lt;a href="http://twitter.com/CapgeminiNorge"&gt;http://twitter.com/CapgeminiNorge&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Capgemini FR ADC Toulouse&lt;/span&gt; : &lt;a href="http://twitter.com/ADC_Toulouse"&gt;http://twitter.com/ADC_Toulouse&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Capgemini UK Public Relation&lt;/span&gt; : &lt;a href="http://twitter.com/CapgeminiUKPR"&gt;http://twitter.com/CapgeminiUKPR&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Capgemini Netherlands Global Services&lt;/span&gt; : &lt;a href="http://twitter.com/CapgeminiGSCAPS"&gt;http://twitter.com/CapgeminiGSCAPS&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;" class="bio"&gt;Capgemini RMG team&lt;/span&gt; : &lt;a href="http://twitter.com/capgeminijobs"&gt;http://twitter.com/capgeminijobs&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;Capgemini Group &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;If you work @ capgemini, don't hesitate to join us at :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://twittgroups.com/group/capgemini"&gt;http://twittgroups.com/group/capgemini&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.yammer.com/"&gt;http://www.yammer.com&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;Sogeti&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Sogeti France :&lt;/span&gt; &lt;a href="http://twitter.com/sogeti_fr"&gt;http://twitter.com/sogeti_fr&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Sogeti NetherLands :&lt;/span&gt; &lt;a href="http://twitter.com/sogeti_nl"&gt;http://twitter.com/sogeti_nl&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Sogeti NetherLands  High Tech : &lt;/span&gt;&lt;a href="http://twitter.com/sogeti_nl_ht"&gt;http://twitter.com/sogeti_nl_ht&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Sogeti USA&lt;/span&gt; : &lt;a href="http://twitter.com/sogeti_usa"&gt;http://twitter.com/sogeti_usa&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Sogeti &lt;/span&gt;&lt;span style="font-weight: bold;" class="fn"&gt;Seattle Sogeti&lt;/span&gt; : &lt;a href="http://twitter.com/SeattleSogeti"&gt;&lt;span style="text-decoration: underline;"&gt;http://twitter.com/SeattleSogeti&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Sogeti Espagna :&lt;/span&gt; &lt;a href="http://twitter.com/sogeti_es"&gt;http://twitter.com/sogeti_es&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Sogeti SAP Ireland &lt;/span&gt;: &lt;a href="http://twitter.com/SAP_IN_IRELAND"&gt;http://twitter.com/SAP_IN_IRELAND&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Of course this listing is not thorough and extra hands are always welcome to complete this list!&lt;span style="font-size:180%;"&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;&lt;br /&gt;&lt;br /&gt;Finally, if you want to follow me ? &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:130%;"&gt;&lt;a style="font-weight: bold;" href="http://twitter.com/jeanmariepascal"&gt;http://twitter.com/jeanmariepascal&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1400114241100585472-146077233651779265?l=www.open-source-ecm.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=HBebEQk3r-Y:yY25xBe6l78:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=HBebEQk3r-Y:yY25xBe6l78:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=HBebEQk3r-Y:yY25xBe6l78:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=HBebEQk3r-Y:yY25xBe6l78:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=HBebEQk3r-Y:yY25xBe6l78:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=HBebEQk3r-Y:yY25xBe6l78:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=HBebEQk3r-Y:yY25xBe6l78:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=HBebEQk3r-Y:yY25xBe6l78:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=HBebEQk3r-Y:yY25xBe6l78:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=HBebEQk3r-Y:yY25xBe6l78:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=HBebEQk3r-Y:yY25xBe6l78:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=HBebEQk3r-Y:yY25xBe6l78:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=HBebEQk3r-Y:yY25xBe6l78:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoingToAnOpensourceEcmWorld/~4/HBebEQk3r-Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/146077233651779265/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1400114241100585472&amp;postID=146077233651779265" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/146077233651779265?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/146077233651779265?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoingToAnOpensourceEcmWorld/~3/HBebEQk3r-Y/twitter-list-capgemini-sogeti.html" title="Twitter List : Capgemini &amp; Sogeti" /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07200841589930120062" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.open-source-ecm.com/2009/06/twitter-list-capgemini-sogeti.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEMQno5fyp7ImA9WxJXFk4.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472.post-4606533634436461919</id><published>2009-06-10T04:46:00.001-07:00</published><updated>2009-06-10T05:24:43.427-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-10T05:24:43.427-07:00</app:edited><title>Happy One Year !</title><content type="html">&lt;span style="font-weight: bold;"&gt;Hello Readers !&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Today it's a special day.&lt;br /&gt;Today I celebrate the first year of this blog !&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt; &lt;/span&gt;&lt;div style="text-align: center; color: rgb(255, 0, 0);"&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;Happy One Year ! &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm1.static.flickr.com/88/264384675_d9b72b951d.jpg?v=0"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 500px; height: 333px;" src="http://farm1.static.flickr.com/88/264384675_d9b72b951d.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;Licence Creative Commons (Attribution-Noncommercial 2.0 Generic) :&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/smcgee/264384675/"&gt;http://www.flickr.com/photos/smcgee/264384675/&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;For this event, I want to share some stats about this blog :&lt;br /&gt;&lt;ul&gt;&lt;li style="font-weight: bold;"&gt;74 posts&lt;br /&gt;&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;Number of visits : &gt; 9800 &lt;/li&gt;&lt;li style="font-weight: bold;"&gt;Number of unique visitors : &gt; 6900&lt;br /&gt;&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;Number of viewed pages : &gt;15000&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;Visits duration : 2 min (approx)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Country Stats and Repartition (USA, France India, Spain UK...)&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_HuDWht5cbyc/Si-gX7QQp4I/AAAAAAAAAuk/x82qv1jC2lE/s1600-h/repartition.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 434px; height: 180px;" src="http://1.bp.blogspot.com/_HuDWht5cbyc/Si-gX7QQp4I/AAAAAAAAAuk/x82qv1jC2lE/s400/repartition.png" alt="" id="BLOGGER_PHOTO_ID_5345667615615395714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For all of this result, I have just 2 words&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2200/1574355646_97c9d88d71.jpg?v=0"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 500px; height: 375px;" src="http://farm3.static.flickr.com/2200/1574355646_97c9d88d71.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.0/deed.en"&gt;&lt;span style="font-size:78%;"&gt;Licence Creative Commons &lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/vernhart/1574355646/"&gt;&lt;span style="font-size:78%;"&gt;http://www.flickr.com/photos/vernhart/1574355646/&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;Thank you for your visit !&lt;br /&gt;Thank you for your share !&lt;br /&gt;Thank you for everything ! &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;And of course,&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;don't hesitate to come on the road to an Open Source ECM World ! &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&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/1400114241100585472-4606533634436461919?l=www.open-source-ecm.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=3-BERB195zE:w9eSC6sN904:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=3-BERB195zE:w9eSC6sN904:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=3-BERB195zE:w9eSC6sN904:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=3-BERB195zE:w9eSC6sN904:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=3-BERB195zE:w9eSC6sN904:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=3-BERB195zE:w9eSC6sN904:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=3-BERB195zE:w9eSC6sN904:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=3-BERB195zE:w9eSC6sN904:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=3-BERB195zE:w9eSC6sN904:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=3-BERB195zE:w9eSC6sN904:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=3-BERB195zE:w9eSC6sN904:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=3-BERB195zE:w9eSC6sN904:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=3-BERB195zE:w9eSC6sN904:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoingToAnOpensourceEcmWorld/~4/3-BERB195zE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/4606533634436461919/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1400114241100585472&amp;postID=4606533634436461919" title="2 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/4606533634436461919?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/4606533634436461919?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoingToAnOpensourceEcmWorld/~3/3-BERB195zE/happy-one-year.html" title="Happy One Year !" /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07200841589930120062" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_HuDWht5cbyc/Si-gX7QQp4I/AAAAAAAAAuk/x82qv1jC2lE/s72-c/repartition.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://www.open-source-ecm.com/2009/06/happy-one-year.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcNQ38_fSp7ImA9WxJRF08.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472.post-2484295295724255518</id><published>2009-05-19T01:11:00.000-07:00</published><updated>2009-05-19T03:14:52.145-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-19T03:14:52.145-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Strategy" /><category scheme="http://www.blogger.com/atom/ns#" term="ECM" /><title>Evolution of Content Management : Thoughts and Ideas</title><content type="html">Today I would like to share one of my recent philosophical... technical... functionnal... reflections in content management world. Particularly I want to speak about content creation ...&lt;br /&gt;&lt;br /&gt;Today's theme (if you wish) is focus&lt;span style="font-weight: bold;"&gt; on the evolution of content creation best practices&lt;/span&gt; ... To be more explicit, I'll  use a comparison with the world of software development (yes ... I will talk about code! ^^)&lt;br /&gt;&lt;br /&gt;So if I had to ask a question:&lt;br /&gt;&lt;span class="clickable" onclick="'dr4sdgryt(event,"&gt;to draw one's inspiration from.&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt; &lt;span style="font-weight: bold;"&gt;How content production can draw inspiration from software code's production ? &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Does content production should take the same path and adopt the same principles? &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;br /&gt;First, an observation  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;In non-structured information world (ie in the functionnal world generally...)  &lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Users &lt;span onclick="dr4sdgryt(event)"&gt;enjoy the use of&lt;/span&gt; desktop tools (MS Office, Open Office ...) to create the vast majority of content (Report, documentation, manual, form ...) inside the company. &lt;/li&gt;&lt;li&gt;They store information locally on their computer (hard drive).  &lt;/li&gt;&lt;li&gt;They share content via network shares (shared hard drives in a network) or via an e-mail attachment.  &lt;/li&gt;&lt;li&gt;Sometimes content will be grouped, merged with other content to form for example a multilingual advertising campaign, a response to &lt;span onclick="dr4sdgryt(event)"&gt;prospect&lt;/span&gt;, a manual for mounting a furniture, a booklet, a catalog ... &lt;/li&gt;&lt;li&gt;One of the best practices in content creation is to create a template to re-use it. In general we want to re-use the style of the document (PowerPoint template), or content (word document template ...) &lt;/li&gt;&lt;li&gt;To share these models, we publish the file in a shared directory or website  &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; In technical information world (eg software development)  &lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Developers &lt;span onclick="dr4sdgryt(event)"&gt;enjoy the use of&lt;/span&gt; development tools (Eclipse, Visual Studio ...) to create the vast majority of code file (.java, .c, .html ....). &lt;/li&gt;&lt;li&gt;They store files locally on their computer (hard drive)  &lt;/li&gt;&lt;li&gt;They share code via a management system version (SVN, Hg, CVS ...).  &lt;/li&gt;&lt;li&gt;With all code, developers create a project which will be compiled using automated environments (Maven, Continuous Integration...) to produce a program (software solution) &lt;/li&gt;&lt;li&gt;When code can be reused, developers include this code in a library(.NET, Java, Spring ...) This library can then be used in new code. &lt;/li&gt;&lt;li&gt;To share libraries, they publish it in a system directory or a website.  &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Now it's game time !  Let's &lt;b&gt;spot the difference ! &lt;/b&gt;... ie try to find the differences between the two worlds. You have 5 minutes!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ok... let's forge ahead ...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;My vision  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I think best practices and principles acquired through development (or other) will be increasingly used in content creation.&lt;br /&gt;&lt;br /&gt;It's time to explain ...&lt;br /&gt;&lt;br /&gt;As you can see, there are differences in how to create / share / edit content between  functional and technical domain.&lt;br /&gt;&lt;br /&gt;In software development world, we assist in last few decades :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Local code&lt;/li&gt;&lt;li&gt;Shared code  &lt;/li&gt;&lt;li&gt;Shared code in a version management system&lt;/li&gt;&lt;li&gt;Shared code in a standardized code management system  &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;In content creation world, we assist :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Local file  &lt;/li&gt;&lt;li&gt;Shared file  &lt;/li&gt;&lt;li&gt;File in a content management system  &lt;/li&gt;&lt;li&gt;File in a component management system   &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;In other words, content management will know (and already knows... I have to be precise ! ) the same changes than development with  programming had with object-oriented approach and continuous integration !&lt;br /&gt;&lt;br /&gt;We try to apply to content the well-known principles :&lt;br /&gt;&lt;ul&gt;&lt;li style="font-weight: bold;"&gt;Write Once, Deploy Everywhere &lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;     Stop Reinventing the Wheel &lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;This new idea tries to create and use tools like :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;     A management tool for configuring multi-dimensional content (how to manage versioned content composed by other versioned content which are composed by other versioned content)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;     A generation platform&lt;br /&gt;&lt;/li&gt;&lt;li&gt;     An editor (integrated in office tools or not)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;     A coherent system to rule them all !&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What are benefits of this approach? &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Take the example of "response to a call for tender" (Sorry if it's the wrong term...)&lt;br /&gt;&lt;br /&gt;For those who are not familiar here is the principle.&lt;br /&gt; &lt;blockquote&gt;A call for tender is a procedure by which a potential buyer requests different suppliers to make a commercial proposition to the detailed formulation (specification) of buyer's need (product or service). Of course all communication between the parties is usually done with documents in office format (printed or not). Response to a call for tenders is the technical proposal and commercial office format.&lt;/blockquote&gt;&lt;br /&gt;Let's explore the difference between a company called A which owns a component management tool and a company called B which have no tool.&lt;br /&gt;&lt;br /&gt;Company A has made an habit of creating components. That's why it has a catalog of&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Client references&lt;/li&gt;&lt;li&gt;Architecture and methodology&lt;/li&gt;&lt;li&gt;Proposals&lt;/li&gt;&lt;li&gt;Resources&lt;/li&gt;&lt;li&gt;Stylesheets &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;User, who are reponsible for the response, will simply assemble major components (up to 80% of the document) in a few clicks and work on the last 20% (the heart of the response...)&lt;br /&gt;&lt;br /&gt;Company B does not have such a system. User must seek in his old one example the one that will serve as start model. It should then do a lot of copying and pasting, checking the different information, may update or ask to update ...&lt;br /&gt;And usually, this person finds few hours before the deadline he had forgotten to take the right stylesheet or the last reference ...&lt;br /&gt;&lt;br /&gt;To conclude, according to this quick example, the gains are many:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;     Gain of time &lt;/li&gt;&lt;li&gt;     Gain of money (because time is money!) &lt;/li&gt;&lt;li&gt;Gain of modularity &lt;/li&gt;&lt;li&gt;Gain of efficiency ... &lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What's this system? &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I do not know if there is still a true acronym, but the term &lt;span style="font-weight: bold;"&gt;CCMS for Component Content Management System (CCMS)&lt;/span&gt; is the one who is closest!&lt;br /&gt;So don't hesitate to inquire about it! (And me too at the same time ....)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;And future term may be ECCMS (Enterprise Component Content Management System) ... &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Special Thanks to &lt;a href="http://www.componize.com/"&gt;&lt;span style="font-weight: bold;"&gt;Componize.com&lt;/span&gt;&lt;/a&gt; (and staff cf. [FR] Interview of &lt;a href="http://www.opensourceecm.fr/2009/02/herve-quiroz-lead-architect-componize.html"&gt;Herve Quiroz&lt;/a&gt; ) which help me to understand &lt;span style="font-weight: bold;"&gt;Component Content Management&lt;/span&gt; and don't hesitate to try their CCM solution !&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Note &lt;/span&gt;&lt;br /&gt;The only problem I find with CCM adoption would still the graphical interfaces and user experience. The man (and woman) still remain the key and most important variable...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thanks to everyone and don't hesitate to post a comment !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1400114241100585472-2484295295724255518?l=www.open-source-ecm.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=wfOhyKrT6FE:sl-DIPJ8qIc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=wfOhyKrT6FE:sl-DIPJ8qIc:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=wfOhyKrT6FE:sl-DIPJ8qIc:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=wfOhyKrT6FE:sl-DIPJ8qIc:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=wfOhyKrT6FE:sl-DIPJ8qIc:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=wfOhyKrT6FE:sl-DIPJ8qIc:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=wfOhyKrT6FE:sl-DIPJ8qIc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=wfOhyKrT6FE:sl-DIPJ8qIc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=wfOhyKrT6FE:sl-DIPJ8qIc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=wfOhyKrT6FE:sl-DIPJ8qIc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=wfOhyKrT6FE:sl-DIPJ8qIc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=wfOhyKrT6FE:sl-DIPJ8qIc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=wfOhyKrT6FE:sl-DIPJ8qIc:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoingToAnOpensourceEcmWorld/~4/wfOhyKrT6FE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/2484295295724255518/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1400114241100585472&amp;postID=2484295295724255518" title="2 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/2484295295724255518?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/2484295295724255518?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoingToAnOpensourceEcmWorld/~3/wfOhyKrT6FE/evolution-of-content-management-thought.html" title="Evolution of Content Management : Thoughts and Ideas" /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07200841589930120062" /></author><thr:total>2</thr:total><feedburner:origLink>http://www.open-source-ecm.com/2009/05/evolution-of-content-management-thought.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYCRngzeyp7ImA9WxJRE0Q.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472.post-8257098988944751616</id><published>2009-05-06T02:11:00.000-07:00</published><updated>2009-05-15T06:29:27.683-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-15T06:29:27.683-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="News" /><category scheme="http://www.blogger.com/atom/ns#" term="Alfresco" /><title>Alfresco Meetup Paris : Review and Feedbacks</title><content type="html">Hello everyone!&lt;br /&gt;&lt;br /&gt;On Thursday 30.04 I was in Paris at the Alfresco Meetup.&lt;br /&gt;&lt;br /&gt;First the planning : the day was divided into 2 parts.&lt;br /&gt;Part 1 : Alfresco "Crew" (Morning)&lt;br /&gt;Part 2 : Alfresco Partners (afternoon).&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Alfresco Morning&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;The first presentation session was devoted to ...........? Alfresco of course!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Submitted by Denis Dorval Vice President EMEA Alfresco, the session was about Alfresco, ECM and the ECM market in general.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I noted some interesting key points like :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;     A person who uses Alfresco is called: "Alfrescan(s)" (I didn't know I had this name too...)&lt;/li&gt;&lt;li&gt;     Alfresco community represents 90 000 people worldwide.&lt;/li&gt;&lt;li&gt;     France is the 2nd community after the USA.&lt;/li&gt;&lt;li&gt;     Alfresco won 270 customers, 90 partners and 18 OEM 2008.&lt;/li&gt;&lt;li&gt;     2009 is the year of open source acceptation.&lt;/li&gt;&lt;li&gt;     2009 is a consolidation year for the software market.&lt;/li&gt;&lt;li&gt;     More than a dozen clients manage more than 10 million documents with Alfresco.&lt;/li&gt;&lt;li&gt;     Adobe (with acrobat.com) manages the largest number of documents with Alfresco: over 120 million documents.&lt;/li&gt;&lt;li&gt;     Alfresco want to test its application to cover one billion of documents.&lt;/li&gt;&lt;/ul&gt;If you want more informations : &lt;a href="http://share.alfresco.com/share/page/site/community/documentlibrary#path=%2FCommunity%20Conference%20Presentations%2FMeetups%20Worlwide%2FEMEA%20Meetups%2FFrance%20Meetup&amp;amp;page=1"&gt;Support Alfresco&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Then I attended a case study entitled: "EADS (Astrium &amp;amp; EPS) paperless HR solution or UBIC project (Atol CD / Astrium)".&lt;/span&gt;&lt;br /&gt;During this presentation, we discovered how it's possible to dematerialize all HR processes of a large company such Astrium (and EADS in the future).&lt;br /&gt;&lt;br /&gt;Interesting points were :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;     2008 : Project Initiation&lt;/li&gt;&lt;li&gt;     600,000 : Number of documents managed in a first step,&lt;/li&gt;&lt;li&gt;     10 million : Number of documents managed in a near future.&lt;/li&gt;&lt;li&gt;     Alfresco 2.2E, GWT, Red Hat Linux, Oracle 10g, JBPM, WebDav, Webscripts: Main components of architecture and implementation.&lt;/li&gt;&lt;/ul&gt;For more information, you can see a screencast of the application at this url : &lt;a href="http://www.atolcd.com/ubic-demo-flash.html"&gt;http://www.atolcd.com/ubic-demo-flash.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;At the end, UBIC will become a plug-in that can be added in Alfresco for HR document management. This project will also be supported by Astrium and Atol CD.&lt;br /&gt;&lt;br /&gt;To learn more about UBIC project: &lt;a href="http://www.atolcd.com/btn-ll/alfresco-ecm-ged/personnalisation-avancee.html"&gt;http://www.atolcd.com/btn-ll/alfresco-ecm-ged/personnalisation-avancee.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;To conclude morning sessions, Mike Farman, Director of Product Management at Alfresco presented Alfresco Roadmap, Vision and Strategy.&lt;/span&gt;&lt;br /&gt;Important points were :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Record Management: DOD5015.2 Certification in September 2009&lt;/li&gt;&lt;li&gt;     Managing and archiving e-mails. (MUST-SEE!)&lt;/li&gt;&lt;li&gt;     IMAP Implementation and creation of Virtualized Repository (MUST-SEE!)&lt;/li&gt;&lt;li&gt;     Alfresco SURF means .... NOTHING! (always good to know ...)&lt;/li&gt;&lt;li&gt;     Admin tools for Alfresco Enterprise subscribers  (Enterprise Only Capabilities: clustering, monitoring ...)&lt;/li&gt;&lt;li&gt;     Share Service Forms&lt;/li&gt;&lt;li&gt;     Web Delivery Runtime&lt;/li&gt;&lt;li&gt;     Alfresco Query Language (based on CMIS + Alfresco Extensions)&lt;/li&gt;&lt;li&gt;     Index Consistency Check&lt;/li&gt;&lt;li&gt;     Alfresco Mobile (Example:iPhone integration)&lt;/li&gt;&lt;/ul&gt;If I had to summarize, Alfresco continues to spread its perimeter on corporate documents life cycle. Next targets are e-mails and legal archiving. These 2 aspects are strongly expected by functional people. To support inevitable and unavoidable document spread, Enterprise customers will benefit tools for managing Alfresco clusters !&lt;br /&gt;Did you say Alfresco continue its evolution ?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;&lt;br /&gt;Partners Afternoon&lt;/span&gt;&lt;br /&gt;The afternoon was devoted to technical presentations from Alfresco partners. Overview :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;NB: "Alfresco Partner of the Year" to Sopra Group: http://www.sopragroup.f&lt;/span&gt;r/&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Componize and XML document management solution.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;As a neighbor(Marseille, France), I finally discovered Componize solution! It is based on components principle. Indeed when we create office or technical documents by default we create documents by components without realizing it.&lt;br /&gt;A paragraph is a component of a chapter.&lt;br /&gt;A chapter is a component of a book.&lt;br /&gt;A book is a component of a library&lt;br /&gt;etc ...&lt;br /&gt;&lt;br /&gt;And often, we realize these components are the same in a lot of documents!&lt;br /&gt;and what happend when we decide to modify one ? We have to go back over ALL the documents having this component! Lost time guarantee!&lt;br /&gt;To optimize document management, we have to use a tool like Componize!&lt;br /&gt;&lt;br /&gt;For more information: &lt;a href="http://www.componize.com/overview/overview-home.html"&gt;http://www.componize.com/overview/overview-home.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Xenit and Castor integration .&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Firstly if you do not know what is CAStor Caringo, let's have a look at : &lt;a href="http://www.caringo.com/products_castor.html"&gt;http://www.caringo.com/products_castor.html&lt;/a&gt;&lt;br /&gt;Now try to make links with document management system like Alfresco. Next, use an addon developped by Xenit...&lt;br /&gt;You have a solution that can easily manage millions of documents with high-scalability and high performance guaranteed!&lt;br /&gt;Impressive!&lt;br /&gt;&lt;br /&gt;For more information on Xenit: &lt;a href="http://www.xenit.eu/"&gt;http://www.xenit.eu/&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Openwide and data migration with ETL (Talend)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Generally, when we start an ECM project, there are always existing documents. So, we have to find a way to transfer this documentation to Alfresco.&lt;br /&gt;How? With an ETL (Talend in our case) and a component developed by Openwide. This one allows you to create and integrate content within Alfresco through "jobs" (automated).&lt;br /&gt;&lt;br /&gt;For more information on Openwide: &lt;a href="http://www.openwide.fr/"&gt;http://www.openwide.fr/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Atol CD and SURF applications :&lt;/span&gt;&lt;br /&gt;JSF is dead, long live REST! It's the main idea or slogan of this presentation which explains how to create a new user experience with Alfresco.&lt;br /&gt;&lt;br /&gt;For more information about this presentation : h&lt;a href="ttp://www.atolcd.com/fileadmin/Publications/Alfresco_Meetup_RIA_et_SURF.pdf"&gt;ttp://www.atolcd.com/fileadmin/Publications/Alfresco_Meetup_RIA_et_SURF.pdf&lt;/a&gt;&lt;br /&gt;and Atol CD: &lt;a href="http://www.atolcd.com/"&gt;http://www.atolcd.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Workflow conception with BlueXML&lt;/span&gt;&lt;br /&gt;How is it possible to generate 1200 lines of code to create and setup a workflow in Alfresco in a few minutes?&lt;br /&gt;The answer is simple: You have to user BlueXMl Alfresco Generator !&lt;br /&gt;This tool, based on Eclipse, allows via drag &amp;amp; drop (and forms) to create all necessary files for setting up a workflow Alfresco.&lt;br /&gt;The dream of every developer!&lt;br /&gt;&lt;br /&gt;For more information on BlueXML: &lt;a href="http://www.bluexml.com/v2/alfresco-generator/"&gt;http://www.bluexml.com/v2/alfresco-generator/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;Finally&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;First as its logo suggests, Alfresco can be compared to a flower that has evolved in its ecosystem (content management).&lt;br /&gt;In this ecosystem, it met&lt;br /&gt;&lt;ul&gt;&lt;li&gt;     Bees (OEM) who have created their miels (solution) from the pollen of the flower (Alfresco. ..)&lt;/li&gt;&lt;li&gt; Florists (OEMs) who used the flower (Alfresco. ..) to create compositions (specific solutions)&lt;/li&gt;&lt;li&gt;Horticulturalists (Partners / Integrator / Community) who took the flower to make it evolve (Alfresco. ..) and make it even stronger.&lt;/li&gt;&lt;li&gt;     Enthusiasts (Communitu) who think this flower is beautiful.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Then, if you want to live happy, you have to live hidden. This idea is THE fundamental trend of Alfresco, integrators and partners.&lt;br /&gt;They are abandoning more and more history JSF interface to more responsive and more 2.0 interfaces. Goodbye Java, Hello Java... script! (I am exaggerating but the idea is here ...)&lt;br /&gt;&lt;br /&gt;Finally Alfresco continues to integrate its application seamlessly with tools that the user knows and uses every day!&lt;br /&gt;Yesterday CIFS for sharing documents in a Windows folder. Today Windows Office suite via Sharepoint Protocol integration. Tomorrow IMAP for sharing and managing emails in Microsoft Outlook ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;And me ?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For my first participation in an event Alfresco (my second for an ECM community event), I think I have to improve "networking" between sessions :o)&lt;br /&gt;It is important that I improve my "commercial" side.&lt;br /&gt;&lt;br /&gt;Then I totally confirms my interest for integration and information (content) systems.&lt;br /&gt;Indeed, if you have read all of this article you can:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;     Manage your documents and e-mails (Alfresco ECM)&lt;/li&gt;&lt;li&gt;     Collaborate (Alfresco Share)&lt;/li&gt;&lt;li&gt;     Create and manage websites (Alfresco WCM)&lt;/li&gt;&lt;li&gt;     Manage technical documentation and XML (Componize)&lt;/li&gt;&lt;li&gt;     Divide your data in high availability (Castor - Xenit) with tools (Enterprise Capabilities Only)&lt;/li&gt;&lt;li&gt;     Integrate existing data via ETL (Talend - Openwide)&lt;/li&gt;&lt;li&gt;     Create rich interfaces (Alfresco SURF) for specific business needs&lt;/li&gt;&lt;li&gt;     Create workflows in a simple and intuitive way (BlueXML)&lt;/li&gt;&lt;li&gt;     Archive everything (Alfresco RM)&lt;/li&gt;&lt;/ul&gt;And who are the people with this kind of abilities ?&lt;br /&gt;&lt;br /&gt;Integrators (like me ...)!!!&lt;br /&gt;&lt;br /&gt;Finally, when I was young I loved playing with Lego ... I think I'll continue on this path ...&lt;br /&gt;&lt;br /&gt;As you can see, the road is still long.&lt;br /&gt;&lt;br /&gt;Thank you for everything. And see you soon!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PS: You can find some pictures I took during the event at: &lt;a href="http://www.flickr.com/photos/36931301@N03/sets/72157617655796047/"&gt;&lt;span style="text-decoration: underline;"&gt;http://www.flickr.com/photos/36931301@N03/sets/72157617655796047/&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1400114241100585472-8257098988944751616?l=www.open-source-ecm.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=Oilok6QEbGE:c8TKw9CpmbY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=Oilok6QEbGE:c8TKw9CpmbY:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=Oilok6QEbGE:c8TKw9CpmbY:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=Oilok6QEbGE:c8TKw9CpmbY:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=Oilok6QEbGE:c8TKw9CpmbY:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=Oilok6QEbGE:c8TKw9CpmbY:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=Oilok6QEbGE:c8TKw9CpmbY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=Oilok6QEbGE:c8TKw9CpmbY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=Oilok6QEbGE:c8TKw9CpmbY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=Oilok6QEbGE:c8TKw9CpmbY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=Oilok6QEbGE:c8TKw9CpmbY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=Oilok6QEbGE:c8TKw9CpmbY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=Oilok6QEbGE:c8TKw9CpmbY:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoingToAnOpensourceEcmWorld/~4/Oilok6QEbGE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/8257098988944751616/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1400114241100585472&amp;postID=8257098988944751616" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/8257098988944751616?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/8257098988944751616?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoingToAnOpensourceEcmWorld/~3/Oilok6QEbGE/alfresco-meetup-paris-review-and.html" title="Alfresco Meetup Paris : Review and Feedbacks" /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07200841589930120062" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.open-source-ecm.com/2009/05/alfresco-meetup-paris-review-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYMSXs6fSp7ImA9WxVbFko.&quot;"><id>tag:blogger.com,1999:blog-1400114241100585472.post-5163860227557412737</id><published>2009-04-02T06:12:00.000-07:00</published><updated>2009-04-02T06:16:28.515-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-02T06:16:28.515-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Contribution" /><category scheme="http://www.blogger.com/atom/ns#" term="Presentation" /><category scheme="http://www.blogger.com/atom/ns#" term="ECM" /><category scheme="http://www.blogger.com/atom/ns#" term="Socila Networking" /><title>Open Source ECM : This is my way...</title><content type="html">&lt;div style="width: 425px; text-align: left;" id="__ss_1232886"&gt;&lt;a style="margin: 12px 0pt 3px; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; display: block; text-decoration: underline;" href="http://www.slideshare.net/JM.Pascal/jmpascal-this-is-my-way?type=powerpoint" title="JM.PASCAL - This is my way..."&gt;JM.PASCAL - This is my way...&lt;/a&gt;&lt;object style="margin: 0px;" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=ecmjmpascal-myjob-090401092210-phpapp01&amp;amp;stripped_title=jmpascal-this-is-my-way"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=ecmjmpascal-myjob-090401092210-phpapp01&amp;amp;stripped_title=jmpascal-this-is-my-way" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;"&gt;View more &lt;a style="text-decoration: underline;" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a style="text-decoration: underline;" href="http://www.slideshare.net/JM.Pascal"&gt;Pascal Jean marie&lt;/a&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/1400114241100585472-5163860227557412737?l=www.open-source-ecm.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=ytDz5Gz1oBk:ynm8i3dyBOo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=ytDz5Gz1oBk:ynm8i3dyBOo:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=ytDz5Gz1oBk:ynm8i3dyBOo:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=ytDz5Gz1oBk:ynm8i3dyBOo:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=ytDz5Gz1oBk:ynm8i3dyBOo:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=ytDz5Gz1oBk:ynm8i3dyBOo:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=ytDz5Gz1oBk:ynm8i3dyBOo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=ytDz5Gz1oBk:ynm8i3dyBOo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=ytDz5Gz1oBk:ynm8i3dyBOo:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=ytDz5Gz1oBk:ynm8i3dyBOo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?i=ytDz5Gz1oBk:ynm8i3dyBOo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=ytDz5Gz1oBk:ynm8i3dyBOo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?a=ytDz5Gz1oBk:ynm8i3dyBOo:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoingToAnOpensourceEcmWorld?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoingToAnOpensourceEcmWorld/~4/ytDz5Gz1oBk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.open-source-ecm.com/feeds/5163860227557412737/comments/default" title="Publier les commentaires" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=1400114241100585472&amp;postID=5163860227557412737" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/5163860227557412737?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1400114241100585472/posts/default/5163860227557412737?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GoingToAnOpensourceEcmWorld/~3/ytDz5Gz1oBk/open-source-ecm-this-is-my-way.html" title="Open Source ECM : This is my way..." /><author><name>JM.Pascal</name><uri>http://www.blogger.com/profile/10333594424307724060</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="07200841589930120062" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.open-source-ecm.com/2009/04/open-source-ecm-this-is-my-way.html</feedburner:origLink></entry></feed>
