Added by Jasha Joachimsthal, last edited by Jasha Joachimsthal on Sep 05, 2008  (view change)

Labels:

templates templates Delete
poll poll Delete
picker picker Delete
backend backend Delete
communityapps communityapps Delete
Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.

In the business logic:

<!-- in pickers -->
<picker id="activePolls" class="GenericPicker">
    <arg><![CDATA['/editing/dialogs/listpicker/key-value-pairs?editor=cforms&single-item=true&source=cocoon://extensions/project-specific/activePollsAsNodelist']]></arg>
</picker>

<!-- in sources -->
<source id="allPolls" type="nodetree">cocoon://extensions/project-specific/anyPollsAsNodelist</source>

<rule for="/document/poll">
  <picker id="activePolls"/>
</rule>

In the layout:

<template name="/document/poll">
  <listitempreview id="/document/poll" value-type="comma-separated"/>
</template>

The extensions/project-specific/sitemap.xmap:

<?xml version="1.0" encoding="UTF-8"?>
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
  <map:components>
    <map:generators default="file">
      <map:generator label="polls" logger="sitemap.generator.file" name="polls" pool-grow="4" pool-max="32" pool-min="4" src="nl.hippo.cocoon.generation.poll.PollListGenerator"/>
    </map:generators>
  </map:components>

  <map:pipelines>
    <map:pipeline  type="ecaching">
      <map:match pattern="*PollsAsNodelist">
        <map:generate type="polls">
          <map:parameter name="dateformat" value="dd-MM-yyyy"/>
          <map:parameter name="expires" value="200"/>
          <map:parameter name="poll-status" value="{1}"/>
          <map:parameter name="offset" value="0"/>
          <map:parameter name="nresults" value="500"/>
          <map:parameter name="paging" value="true"/>
          <map:parameter name="crpage" value="1"/>
          <map:parameter name="pagesize" value="500"/>
        </map:generate>
        <map:transform src="transformers/polls2nodes.xsl"/>
        <map:serialize type="xml"/>
      </map:match>
    </map:pipeline>
  </map:pipelines>
</map:sitemap>

extensions/project-specific/transformers/polls2nodes.xsl:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:poll="http://hippo.nl/cocoon/generation/poll" version="1.0">
  
  <xsl:template match="/">
    <nodes>
      <xsl:apply-templates select="poll:polls/poll:poll"/>
    </nodes>
  </xsl:template>
  
  <xsl:template match="poll:poll">
    <node id="{@pollid}" value="{poll:question}"/>
  </xsl:template>
</xsl:stylesheet>