<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1126" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2>Hi  Aaron,</FONT></DIV>
<DIV><FONT size=2> </DIV>
<DIV>I've implemented a form to send email (OpenCms 4.6). </DIV>
<DIV>The element.cache variable is set to true in my opencms.properties 
file.</DIV>
<DIV> </DIV>
<DIV>I've used the method "getCacheDirectives" in this way:<BR></DIV>
<DIV><BR> public CmsCacheDirectives getCacheDirectives(</DIV>
<DIV>             
CmsObject cms, String templateFile, String elementName, Hashtable parameters, 
String templateSelector) {</DIV>
<DIV> </DIV>
<DIV>   Vector para = new Vector();</DIV>
<DIV> </DIV>
<DIV>   // new object CmsCacheDirectives<BR>   
CmsCacheDirectives cd = new 
CmsCacheDirectives(true,false,false,false,true);</DIV>
<DIV> </DIV>
<DIV>   para.addElement("action");</DIV>
<DIV>   // my form parameters<BR>   para.addElement("name"); 
<BR>   para.addElement("tel");<BR>   
para.addElement("e_mail");<BR>   para.addElement("address");<BR></DIV>
<DIV>   cd.setNoCacheParameters(para);</DIV>
<DIV> </DIV>
<DIV>   cd.renewAfterEveryPublish();</DIV>
<DIV> </DIV>
<DIV>   return cd;</DIV>
<DIV> </DIV>
<DIV>  }<BR></FONT><FONT size=2></FONT></DIV>
<DIV><FONT size=2>I hope this can help you.</DIV></FONT>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>Irene</FONT></DIV>
<DIV><FONT size=2></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=astaffo2@csc.com.au 
  href="mailto:astaffo2@csc.com.au">astaffo2@csc.com.au</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A title=opencms-dev@www.opencms.org 
  href="mailto:opencms-dev@www.opencms.org">opencms-dev@www.opencms.org</A> 
  </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Wednesday, February 26, 2003 4:23 
  AM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [opencms-dev] contact us 
  form not working in online project</DIV>
  <DIV><FONT size=2></FONT><FONT size=2></FONT><BR></DIV><BR><FONT 
  face=sans-serif size=2>Further to my last email regarding my cache 
  issue:</FONT> <BR><BR><FONT face=sans-serif size=2>We're running ocms 
  5RC2</FONT> <BR><BR><FONT face=sans-serif size=2>We are currently extending 
  the CmsXmlTemplate (eg. CmsXmlTemplateX) and use it for the frame template and 
  the content template.</FONT> <BR><BR><FONT face=sans-serif size=2>The element 
  used for the form extends the CmsXmlTemplateX class.</FONT> <BR><BR><FONT 
  face=sans-serif size=2>In the CmsXmlTemplateX I include the following overide 
  to the getCacheDirectives:</FONT> <BR><BR><FONT face=sans-serif size=2>  
    public CmsCacheDirectives getCacheDirectives(CmsObject cms,</FONT> 
  <BR><FONT face=sans-serif size=2>            
  String templateFile, String elementName, Hashtable parameters,</FONT> 
  <BR><FONT face=sans-serif size=2>            
  String templateSelector) {</FONT> <BR><FONT face=sans-serif size=2>  
        System.out.println("in getCacheDirectives: " + 
  templateFile);</FONT> <BR><FONT face=sans-serif size=2>      
            return new 
  CmsCacheDirectives(false);</FONT> <BR><FONT face=sans-serif size=2>  
    }</FONT> <BR><BR><FONT face=sans-serif size=2>I'm using the System.out 
  to prove the method is being overidden and to tell me which template is 
  calling it.</FONT> <BR><BR><FONT face=sans-serif size=2>Assuming the 
  element.cache variable is set to true in the opencms.properties file (due to 
  the error in my last email); when I hit my contact us form from the offline 
  project I get three returns from the System.out:</FONT> <BR><BR><FONT 
  face=sans-serif size=2>in getCacheDirectives: 
  /system/modules/org.opencms.default/frametemplates/myFrame</FONT> <BR><FONT 
  face=sans-serif size=2>in getCacheDirectives: 
  /system/modules/org.opencms.default/contenttemplates/myContent</FONT> 
  <BR><FONT face=sans-serif size=2>in getCacheDirectives: 
  /content/elements/contactUs</FONT> <BR><BR><FONT face=sans-serif size=2>Which 
  I would expect given the inheritence.  And from this the form works well 
  and sends the emails.</FONT> <BR><BR><FONT face=sans-serif size=2>When I 
  access this form from the online version, I get no entries from the System out 
  (this is even the case when the element.cache is set to false).</FONT> 
  <BR><BR><FONT face=sans-serif size=2>Are there any differences with version 5 
  RC 2?  I've tried returning the CMSCacheDirectives with specific boolean 
  values and I've tried the setNoCacheParameters to the parameter "action" which 
  is set when the form is submitted.  None of this has made a 
  difference.</FONT> <BR><BR><FONT face=sans-serif size=2>Any help is 
  appreciated.</FONT> <BR><BR><FONT face=sans-serif size=2>BTW if you missed my 
  last email, the error message produced when I request the contact us form from 
  the offline version when elelment,cache is set to false is:</FONT> 
  <BR><BR><FONT face=sans-serif size=2>com.opencms.core.CmsException: 0 Unknown 
  exception. Detailed error: A relative path has entered the A_CmsXmlContent 
  class. filename=../frametemplates/secondLevelFrame. </FONT><BR><FONT 
  face=sans-serif size=2>        at 
  com.opencms.template.A_CmsXmlContent.init(A_CmsXmlContent.java:1031)</FONT> 
  <BR><FONT face=sans-serif size=2>        at 
  com.opencms.template.CmsXmlTemplateFile.<init>(CmsXmlTemplateFile.java:105)</FONT> 
  <BR><FONT face=sans-serif size=2>        at 
  com.opencms.template.CmsXmlTemplate.getOwnTemplateFile(CmsXmlTemplate.java:399)</FONT> 
  <BR><FONT face=sans-serif size=2>        at 
  com.opencms.template.CmsXmlTemplate.getContent(CmsXmlTemplate.java:160)</FONT> 
  <BR><FONT face=sans-serif size=2>        at 
  com.opencms.template.CmsXmlTemplate.templateElement(CmsXmlTemplate.java:1468)</FONT> 
  <BR><FONT face=sans-serif size=2>        at 
  sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</FONT> <BR><FONT 
  face=sans-serif size=2>        ......</FONT> <BR><BR><FONT 
  face=sans-serif size=2><BR>Regards,<BR>Aaron<BR></FONT><BR><BR><BR>
  <TABLE width="100%">
    <TBODY>
    <TR vAlign=top>
      <TD>
      <TD><FONT face=sans-serif size=1><B>"Irene Santerini" 
        <i.santerini@inera.it></B></FONT> <BR><FONT face=sans-serif 
        size=1>Sent by: owner-opencms-dev@www.opencms.org</FONT> 
        <P><FONT face=sans-serif size=1>25/02/03 19:46</FONT> <BR><FONT 
        face=sans-serif size=1>Please respond to opencms-dev</FONT> </P>
      <TD><FONT face=Arial size=1>        </FONT><BR><FONT 
        face=sans-serif size=1>        To:     
           <opencms-dev@www.opencms.org></FONT> <BR><FONT 
        face=sans-serif size=1>        cc:     
           </FONT> <BR><FONT face=sans-serif size=1>    
            Subject:        Re: [opencms-dev] 
        contact us form not working in online 
  project</FONT></TR></TBODY></TABLE><BR><BR><BR><BR><FONT size=2>Hi 
  Aaron,</FONT> <BR><FONT size=3> </FONT> <BR><FONT size=2>  do you 
  have implemented the method "getCacheDirectives"  in your class?</FONT> 
  <BR><FONT size=3> </FONT> <BR><FONT size=2>Irene.</FONT> <BR><FONT 
  size=3>----- Original Message ----- </FONT><BR><FONT size=3><B>From:</B> 
   </FONT><A href="mailto:astaffo2@csc.com.au"><FONT color=blue 
  size=3><U>astaffo2@csc.com.au</U></FONT></A><FONT size=3> </FONT><BR><FONT 
  size=3><B>To:</B> </FONT><A href="mailto:opencms-dev@opencms.com"><FONT 
  color=blue size=3><U>opencms-dev@opencms.com</U></FONT></A><FONT size=3> 
  </FONT><BR><FONT size=3><B>Sent:</B> Tuesday, February 25, 2003 6:25 
   AM</FONT> <BR><FONT size=3><B>Subject:</B> [opencms-dev] contact us form 
   not working in online project</FONT> <BR><BR><BR><FONT size=2>Hi 
   all</FONT><FONT size=3> </FONT><BR><BR><FONT size=2>We've implemented a 
  Contact Us  form using the built-in form handling facility of 
  ocms.</FONT><FONT size=3> </FONT><BR><BR><FONT size=2>This form utilises the 
  code example set found in the  user's guide and works perfectly in the 
  offline project.</FONT><FONT size=3> </FONT><BR><BR><FONT size=2>The problem 
  lies in the online project when we publish  this form.  When we 
  access the form, it displays fine, but when submitted  it flicks back to 
  the form as a basic html form would behave.</FONT><FONT size=3>  </FONT> 
  <BR><BR><FONT size=2>What I'm assuming is that the class isn't  being 
  invoked at this point.</FONT><FONT size=3> </FONT><BR><BR><FONT size=2>Other 
   custom classes we've created are being called happily in the online 
  project -  all the classes including the contact us class are in a jar 
  file in the  WEB-INF/lib directory.</FONT><FONT size=3> 
  </FONT><BR><BR><FONT size=2>Has anyone  experienced this or have any 
  suggestions?</FONT><FONT size=3> </FONT><BR><BR><FONT size=2>Regards,</FONT> 
  <BR><FONT size=2>Aaron</FONT> <BR></BLOCKQUOTE></BODY></HTML>