<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
{font-family:"HelveticaNeueLT Pro 45 Lt";
panose-1:2 11 4 3 2 2 2 2 2 4;}
@font-face
{font-family:Verdana;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
{mso-style-priority:99;
mso-style-link:"Sprechblasentext Zchn";
margin:0cm;
margin-bottom:.0001pt;
font-size:8.0pt;
font-family:"Tahoma","sans-serif";}
span.E-MailFormatvorlage17
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:windowtext;}
span.E-MailFormatvorlage18
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:#1F497D;}
span.SprechblasentextZchn
{mso-style-name:"Sprechblasentext Zchn";
mso-style-priority:99;
mso-style-link:Sprechblasentext;
font-family:"Tahoma","sans-serif";}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="DE" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">Hi Kai,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">this are my or better the comundus answers:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">- What IDE do you use to edit your module resources (e.g. Eclipse, IntelliJ, NetBeans, Text Editor, …)?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">--Eclipse<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">- Would you prefer another IDE that you can’t use because of any restrictions (e.g. missing OpenCms VFS sync capability)? If so, which IDE would you like to use?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">--No.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">- How do you sync your module resources from your IDE to the OpenCms VFS and vice versa (e.g. IDE plugin, OpenCms Synchronization, WebDav, Network Share, Cut & Paste)?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">--we are using the OpenCms Maven-Plugin developed by ourselves which is Open Source and hosted on Github (<a href="https://github.com/comundus/vfs-maven-plugin"><span style="color:#1F497D;text-decoration:none">https://github.com/comundus/vfs-maven-plugin</span></a>).
On <a href="http://opencms-maven.comundus.com/documentation/"><span style="color:#1F497D;text-decoration:none">http://opencms-maven.comundus.com/documentation/</span></a> is a very well written documentation on how to do the initial setup. So once you have
done this, the main steps during the development process is the use of the maven goal mvn:sync. Usually you have one Eclipse project for each of your custom OpenCms modules.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">This goal does almost the same as the built in OpenCms syncronisation. Here are some details:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">+All files from the VFS are written / updated from / to the real file system (RFS).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">+the metadata like properties, create date, modification date, permissions are written to a separate folder tree (vfs-metadata). This tree contains exactly the same file and folder structure as the
vfs tree. All files have an additional suffix .xml (because they are xml files).
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">+ so you can change files in OpenCms or in Eclipse. When calling mvn:sync, the files and folders are syncronised. We are using this mechanism since OpenCms 7 and we are happy with it. Especially
what the versioning of the VFS resources is concerned. <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">- Do you use a version control system and if yes, which (eg. Git, svn, CVS, …)?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">-- we use SVN. But for the OpenCms Maven plugin it doesn’t matter, which one you use.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">- How do you build module classes (e.g. javac, integrated IDE build system, Maven, Gradle, …)?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">--Maven<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">- How do you package your modules to module zips (e.g. manual module export from OpenCms, IDE plugin, Maven, Gradle, …)?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">--A combination of Maven, Ant and OpenCms Shell. We have Maven profile which gets the information it needs from an Ant script. The Ant script executes a cms shell script file. In the end, we have
release package, which can be (manually) deployed to test or production environments. We do NOT need this for every development. There is no need to create a module zip, every time you changed code in your JSP, XML schema or CSS file.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">- How do you deploy modules to integration and/or production environments (e.g. manual import of module zips in OpenCms, copy & paste of changed resources, automated deployment using CI, …)?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">--A combination of Maven, Ant and OpenCms Shell. We have Maven profile which gets the information it needs from an Ant script. The Ant script executes a cms shell script file. In the end, we have
release package, which can be (manually) deployed to integration or production environments. For our internal test environment we use Jenkins. It does a complete build after each checkin.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">- Do you use Continuous Integration for OpenCms modules and if yes, what tools do you use (e.g. Jenkins, Hudson, Bamboo, …)?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">--Yes, as written above. But we are not using it just for the modules. The complete OpenCms is built by Jenkins.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Additional info:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">-We thought about doing automatic deployment to integration or production servers, but didn’t go into detail, because we think we are losing too much control. But this is surely discussable. Currently
our release package is good enough for us. It includes an installation guide, which even allows us to give the package to our customer and let them do the installation. That is the case, when we do not have remote access to their system.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">-We are using the /org/opencms/main/version.properties file to write our release version into it. So we can check the version when calling the workspace login page (…/system/login/). The version
comes from the pom of the maven parent.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">I hope this helps you.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Looking forward to seeing you and hearing your talk at the OpenCms Days.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:gray">Best regards</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#FF7F00"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#FF7F00">________________________________________</span><b><span style="font-size:9.0pt;font-family:"HelveticaNeueLT Pro 45 Lt";color:#1F497D"> <o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:gray"><o:p> </o:p></span></b></p>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:gray">Kai Schliemann<br>
</span></b><b><span style="font-size:7.5pt;font-family:"Arial","sans-serif";color:gray">Dipl.-Wirtschaftsingenieur (FH)</span></b><span style="color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:7.5pt;font-family:"Arial","sans-serif";color:gray">Teamleiter Softwareentwicklung</span><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#FF7F00"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:7.5pt;font-family:"Arial","sans-serif";color:gray">
</span><span style="color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:7.5pt;font-family:"Arial","sans-serif";color:gray">comundus GmbH</span></b><span style="color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:7.5pt;font-family:"Arial","sans-serif";color:gray">Schüttelgrabenring 3, D-71332 Waiblingen<br>
</span><b><span style="font-size:7.5pt;font-family:"Arial","sans-serif";color:#FF7F00">Zentrale +49 7151-94421-10</span></b><span style="color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:7.5pt;font-family:"Arial","sans-serif";color:#FF7F00">Durchwahl +49 7151-94421-20<br>
Fax +49 7151-94421-39</span></b><span style="color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:7.5pt;font-family:"Arial","sans-serif";color:gray">E-Mail <a href="mailto:k.schliemann@comundus.com">k.schliemann@comundus.com</a></span><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#FF7F00">
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:7.5pt;font-family:"Arial","sans-serif";color:gray">Internet
<a href="http://www.comundus.com/">www.comundus.com</a></span><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#FF7F00"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#FF7F00"> </span><span style="color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:7.5pt;font-family:"Arial","sans-serif";color:gray">Geschäftsführer Klaus Hillemeier </span><span style="color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:7.5pt;font-family:"Arial","sans-serif";color:gray">Amtsgericht Stuttgart, HRB 264290</span><span style="color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:7.5pt;font-family:"Arial","sans-serif";color:gray">
</span><span style="color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:7.5pt;font-family:"Arial","sans-serif";color:gray">comundus ist ein Unternehmen der IT EXCELLENCE Group</span><span style="color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#FF7F00">________________________________________</span><b><span style="font-size:9.0pt;font-family:"HelveticaNeueLT Pro 45 Lt";color:#1F497D"> <o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><a href="http://www.facebook.com/pages/Comundus-GmbH/163398933697079?v=wall"><span style="color:#1F497D;text-decoration:none"><img border="0" width="16" height="16" id="Bild_x0020_1" src="cid:image001.jpg@01CFC2E9.5EF81980" alt="facebook"></span></a><b><span style="font-size:8.0pt;color:#FF7F00"> </span></b><b><span style="font-size:8.0pt;color:#1F497D">comundus
bei Facebook </span></b><b><span style="color:#FF7F00"><o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">Von:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> opencms-dev-bounces@opencms.org [mailto:opencms-dev-bounces@opencms.org]
<b>Im Auftrag von </b>Kai Widmann<br>
<b>Gesendet:</b> Donnerstag, 28. August 2014 13:26<br>
<b>An:</b> opencms-dev@opencms.org<br>
<b>Betreff:</b> [opencms-dev] Survey: How do you develop and deploy OpenCms modules?<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US">Hello to all OpenCms developers, <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">at the OpenCms Days 2014 we’ll be holding a session that outlines how we at mediaworx do OpenCms module development and deployment using IntelliJ, Maven and Jenkins.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">In preparation I would like to find out how other OpenCms developers are approaching that task, so I’ve assembled some questions I’d like to ask you all. Every reply would be of great value to us (and probably to other
developers) and everyone sharing his answers will be mentioned in the “Thank You” section of our slides.
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">So let’s head straight to the questions.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">- What IDE do you use to edit your module resources (e.g. Eclipse, IntelliJ, NetBeans, Text Editor, …)?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">- Would you prefer another IDE that you can’t use because of any restrictions (e.g. missing OpenCms VFS sync capability)? If so, which IDE would you like to use?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">- How do you sync your module resources from your IDE to the OpenCms VFS and vice versa (e.g. IDE plugin, OpenCms Synchronization, WebDav, Network Share, Cut & Paste)?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">- Do you use a version control system and if yes, which (eg. Git, svn, CVS, …)?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">- How do you build module classes (e.g. javac, integrated IDE build system, Maven, Gradle, …)?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">- How do you package your modules to module zips (e.g. manual module export from OpenCms, IDE plugin, Maven, Gradle, …)?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">- How do you deploy modules to integration and/or production environments (e.g. manual import of module zips in OpenCms, copy & paste of changed resources, automated deployment using CI, …)?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">- Do you use Continuous Integration for OpenCms modules and if yes, what tools do you use (e.g. Jenkins, Hudson, Bamboo, …)?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">A big thank you in advance to everyone willing to reply!<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Cheers<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Kai Widmann<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana","sans-serif"">_______________________________________________<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana","sans-serif""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana","sans-serif"">Kai Widmann<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana","sans-serif"">mediaworx berlin AG<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana","sans-serif""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana","sans-serif"">Fon (0 30) 2 75 80 – 262<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana","sans-serif"">Fax (0 30) 2 75 80 – 200<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>