Re: motd question

Vicent Mas <[email protected]>
Newsgroups gmane.text.xml.forrest.devel
Message-ID <[email protected]>
On 2011-04-13 David Crossley <[email protected]> said:

> Vicent Mas wrote:
> > I've updated my local repo and checked that the 'starts-with' attribute
> > stuff of motd is not available with dispatcher. I've customised the
> > content-motd- page.contract.xml that comes with dispatcher adding some
> > 'starts-with' stuff. I've used
> > $FORREST_HOME/main/webapp/skins/pelt/xslt/html/site-to-xhtml.xsl as a
> > guide (not sure if it is the best choice but it has been good enough for
> > me). Now the motd contract works as I want.
> > 
> > So again thanks for your help,
> 
> Yes the "pelt" skin is the one that the Forrest project
> keeps up-to-date. It is what the Forrest project website uses.
> http://forrest.apache.org/docs/dev/status-themes.html
> So that is the correct one to base your work upon.
> 
> Are you able to provide a patch for Dispatcher?
> 
> -David

Hi,

I've attached the patch to this mail. You can apply it from the FORREST_HOME 
like this:

$ patch -p0 <content-motd-page-contract.diff

Please, note that I've not tried to port all motd functionality from 
$FORREST_HOME/main/webapp/skins/pelt/xslt/html/site-to-xhtml.xsl to the 
dispatcher contract. I've just picked what I needed to achieve my goal.

That being said, If the patch is fine with you I can attach it to an issue at 
jira.

Hope it helps,

Vicent
::

	Share what you know, learn what you don't
content-motd-page.contract.diff (text/x-patch, 2.5 KB)
--- whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/themer/themes/common/html/content-motd-page.contract.xml	2011-02-19 18:44:54.000000000 +0100
+++ whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/themer/themes/common/html/my-content-motd-page.contract.xml	2011-04-14 18:03:33.000000000 +0200
@@ -26,7 +26,8 @@
     <br />Each option will match a pattern and apply its text. The "pattern"
     attribute specifies the pattern to be matched. This can be a specific page,
     or a general pattern to match a set of pages, e.g. everything in the
-    "samples" directory.</p>
+    "samples" directory.
+    <br />The @starts-with=true anchors the string to the start, otherwise contains.</p>
     <p>motd-title : 
     <br />This text will be added in brackets after the
     &lt;html&gt;&lt;title&gt; and this can be empty.</p>
@@ -44,10 +45,11 @@
     <![CDATA[<forrest:contract name="content-motd-page">
   <forrest:property name="content-motd-page">
     <motd>
-      <motd-option pattern="samples/sample.html">
+      <motd-option pattern="index.html" starts-with="true">
         <motd-title>sample</motd-title>
-        <motd-page location="both">
-          This is an example of a Message of the day (MOTD).
+        <motd-page location="page">
+          This is an example of a Message of the day (MOTD) that will be displayed
+          only in the main index page.
         </motd-page>
         <motd-page-url>/samples/faq.html</motd-page-url>
       </motd-option>
@@ -76,6 +78,15 @@
             <xsl:comment>+ |start content-motd-page +</xsl:comment>
             <xsl:if test="$content-motd-page/motd">
               <xsl:for-each select="$content-motd-page/motd/motd-option">
+                <xsl:choose>
+                  <xsl:when test="@starts-with='true'">
+                    <xsl:if test="starts-with($path, @pattern)">
+                        <div class="motd-area">
+                          <xsl:value-of select="motd-page"/>
+                        </div>
+                    </xsl:if>
+                  </xsl:when>
+                <xsl:otherwise>
                 <xsl:if test="contains($path, @pattern)">
                   <div class="motd-area">
                     <xsl:value-of select="motd-page" />
@@ -95,6 +106,8 @@
                     </xsl:if>
                   </div>
                 </xsl:if>
+                </xsl:otherwise>
+              </xsl:choose>
               </xsl:for-each>
             </xsl:if>
             <xsl:comment>+ |end content-motd-page +</xsl:comment>
signature.asc (application/pgp-signature, 198 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iEYEABECAAYFAk2nJsMACgkQkNEIe15lPah7jgCfayv7cBdHSYx3vuYRVkCa9DXh
V2UAnjxExtjdwazV9lEX41Cl8SyFCAoC
=go9z
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.