<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Nachricht</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2600.0" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT color=#0000ff size=2>
<P>Due to recent discussion about Velocity and OpenCMS, one or two weeks ago we 
(Labor_C) developed such a solution for OpenCMS as helper classes. It is rather 
a small hack to integrate Velocity with OpenCMS. We will send the code to the 
OpenCMS developers tomorrow (give us time to clean up the code a little bit and 
write some end user documentation to the thing-you know time constraints 
etc...). And it also will be posted on our website tomorrow for fast access (a 
when and where will come when it is posted) if anybody needs it before tomorrow 
simply send us a mail.</P>
<P>Here is a short description what it does:</P>
<P>a) A backend driver for Velocity to access files in the OpenCMS 
filesystem.</P>
<P>b) An access class to pass down the OpenCMS parameters properly into the 
Velocity driver.</P>
<P>The code is very short (merely about 200 lines of code but very powerful). 
Unfortunately due to the parameter passing the whole Velocity call has to be 
done synchronized which could pose a problem on heavy loads. But so far it seems 
to work really well, despite it. I will have a look into it more exactly soon if 
there is a way to pass down the parameters unsynchronized, but due to time 
constraints - I simply was bound with other things, although I felt a little bit 
uneasy about my current solution.</P>
<P>If its nothing else it is at least a headstart on how to integrate both 
systems in a proper way without rewriting Velocity entirely to fit into 
OpenCMS.</P>
<P>Werner Punz Labor_C</P>
<P> </P></FONT></DIV>
<BLOCKQUOTE dir=ltr 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
  <DIV></DIV>
  <DIV class=OutlookMessageHeader lang=de dir=ltr align=left><FONT face=Tahoma 
  size=2>-----Ursprüngliche Nachricht-----<BR><B>Von:</B> 
  owner-opencms-dev@www.opencms.com [mailto:owner-opencms-dev@www.opencms.com] 
  <B>Im Auftrag von </B>Alexander Kandzior<BR><B>Gesendet:</B> Dienstag, 26. 
  März 2002 10:20<BR><B>An:</B> opencms-dev@www.opencms.com<BR><B>Betreff:</B> 
  [opencms-dev] Velocity support<BR><BR></FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN class=058051709-26032002>Hi 
  Jozef,</SPAN></FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
  class=058051709-26032002></SPAN></FONT> </DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
  class=058051709-26032002>Velocity support is something that I have thought 
  about, too. It seems JSP is in more popular demand, though. However, since I 
  am working on JSP already I will also try to add Velocity support along the 
  way. I am not really sure jet if this is easier or more 
  difficult.</SPAN></FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
  class=058051709-26032002></SPAN></FONT> </DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
  class=058051709-26032002>Regards,</SPAN></FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><SPAN 
  class=058051709-26032002>Alex.</SPAN></FONT></DIV>
  <BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
    <DIV></DIV>
    <DIV class=OutlookMessageHeader lang=de dir=ltr align=left><FONT face=Tahoma 
    size=2>-----Original Message-----<BR><B>From:</B> 
    owner-opencms-dev@www.opencms.com [mailto:owner-opencms-dev@www.opencms.com] 
    <B>On Behalf Of </B>Jozef Hribik<BR><B>Sent:</B> Monday, March 25, 2002 2:05 
    PM<BR><B>To:</B> opencms-dev@www.opencms.com<BR><B>Subject:</B> Re: 
    [opencms-dev] Re: JSP Support in 4.6.0<BR><BR></FONT></DIV>
    <DIV><FONT face=Arial size=2>Hi Alex,</FONT></DIV>
    <DIV><FONT face=Arial size=2></FONT> </DIV>
    <DIV><FONT face=Arial size=2>I have been also thinking about the JSP 
    integration.</FONT></DIV>
    <DIV><FONT face=Arial size=2>But what about to integrate some servlet-based 
    templating engine e.g. Jakarta Velocity?</FONT></DIV>
    <DIV><FONT face=Arial size=2>Could it be easier?</FONT></DIV>
    <DIV><FONT face=Arial size=2>Of course, i would like to have JSP with Struts 
    MVC integrated in OpenCMS to be able to integrate our e-commerce 
    apps, but it seems to be impossible.</FONT></DIV>
    <DIV><FONT face=Arial size=2></FONT> </DIV>
    <DIV><FONT face=Arial size=2>Best Regards</FONT></DIV>
    <DIV><FONT face=Arial size=2>Jozef Hribik</FONT></DIV>
    <BLOCKQUOTE 
    style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
      <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
      <DIV 
      style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B> 
      <A title=alex@opencms.com href="mailto:alex@opencms.com">Alexander 
      Kandzior</A> </DIV>
      <DIV style="FONT: 10pt arial"><B>To:</B> <A 
      title=opencms-dev@www.opencms.com 
      href="mailto:opencms-dev@www.opencms.com">opencms-dev@www.opencms.com</A> 
      </DIV>
      <DIV style="FONT: 10pt arial"><B>Sent:</B> Monday, March 25, 2002 1:35 
      PM</DIV>
      <DIV style="FONT: 10pt arial"><B>Subject:</B> RE: [opencms-dev] Re: JSP 
      Support in 4.6.0</DIV>
      <DIV><BR></DIV>Dear Patrick,<BR><BR>I was the one mentioning the "proof of 
      concept". You are right in<BR>assuming that currently no one is working on 
      the integration of JSP in<BR>OpenCms. I would very much like to change 
      that and I also can commit<BR>some time to this project. <BR><BR>Here's an 
      overview about what the issues of integrating JSP are:<BR><BR>1. JSP in 
      the VFS<BR>First point is that usually all resources of OpenCms are 
      residing in the<BR>VFS (virtual file system). However, the JSP engine 
      usually expects the<BR>JSP pages to be files in or below a certain 
      directory of the "real" FS.<BR>It would be preferable to use the existing 
      engine (e.g. Tomcats) to<BR>process the JSP. Therefore, all JSP in the VFS 
      must be synchronized to<BR>the "real" FS, so that the JSP engine can 
      process them. <BR><BR>2. Online / Offline Projects<BR>In the OpenCms 
      project mechanism, a resource can exist twice: In the<BR>"Online" project 
      and in all offline projects that you might have<BR>created. To keep this 
      working, there must also be 2 versions of the JSP<BR>- pages that get 
      synchronized to the "real" FS. <BR><BR>3. Access to the OpenCms 
      object<BR>When a JSP gets processed, you want to have access to the 
      OpenCms<BR>resources and user - related information. Which User is 
      currently logged<BR>in? What are his permissions? Which files can he 
      access? <BR><BR>4. Output - caching<BR>OpenCms has a sophisticaed caching 
      mechanism. It would be preferable if<BR>the JSP output is also cachable 
      using that mechanism.<BR><BR>5. Static export<BR>This new feature in 
      OpenCms 4.6 makes use of of URL rewriting. To enable<BR>this feature with 
      JSP, this URL rewriting has somehow to be integrated. <BR><BR><BR>My 
      "proof of concept" solves issues 1-3. Here's how I think it should 
      be<BR>done:<BR><BR>In the web application directory e.g. 
      {$TOMCAT-HOME}\webapps\opencms<BR>there should be a directory "jsp" with 
      subdirectories "online" and<BR>"offline". Whenever a JSP page in an 
      offline project is changed, it gets<BR>copied from the VFS to this 
      "offline" directory. If it gets published,<BR>it is copied to the "online" 
      directory. So the file exists in the<BR>OpenCms VFS and the real FS. If a 
      request is made to a JSP page<BR>resource, this first is routed through 
      the opencms servlet, as usual.<BR>Here, permissions get checked. If 
      permission to the requested JSP page<BR>is granted, the opencms servlet 
      (that knows which project is active and<BR>in which directory of the 
      "real" FS the corrosponding JSP files reside)<BR>just calls the JSP, which 
      processes and returns the output to the<BR>servlet through standard Java 
      servlet chaining. This approach solves<BR>issues 1 + 2 from above. This 
      BTW is also a valid model of<BR>Model-View-Controller (MVC) programming 
      for JSP pages, with the opencms<BR>servlet being the controller. Now 
      accessing the OpenCms object (see 3<BR>above) could be easily handled by 
      just placing the current CmsObject in<BR>the request context that the JSP 
      of course will have access to. <BR><BR>This approach is, of course, just a 
      DRAFT PROPOSAL from my side. I would<BR>be happy to exchange some ideas 
      around this topic. <BR><BR>Best Regards,<BR>Alex.<BR><BR><BR>Alexander 
      Kandzior<BR>OpenCms Group<BR><BR><BR><BR><BR><BR>-----Original 
      Message-----<BR>From: <A 
      href="mailto:owner-opencms-dev@www.opencms.com">owner-opencms-dev@www.opencms.com</A><BR>[<A 
      href="mailto:owner-opencms-dev@www.opencms.com">mailto:owner-opencms-dev@www.opencms.com</A>] 
      On Behalf Of Patrick Pyette<BR>Sent: Sunday, March 24, 2002 10:46 
      PM<BR>To: Opencms-Dev (E-mail)<BR>Subject: [opencms-dev] Re: JSP Support 
      in 4.6.0<BR><BR><BR>About three weeks ago, I asked about the status of the 
      JSP support in<BR>openCMS.  I didn't get any responses so I'm 
      assuming that no one is<BR>working<BR>on it.   If that's the 
      case, I'm going to try to get something to work<BR>myself.<BR><BR>What I'd 
      really appreciate that someone let me know what "proof of<BR>concept" (as 
      is mentioned on the website) has been performed, so that I<BR>don't have 
      to reinvent the wheel.  Any helpful pointers would 
      be<BR>appreciated.<BR><BR>Thanks,<BR>Pat<BR><BR><BR></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BODY></HTML>