2 This XML file defines a set of producers intended for a typical indymedia
13 <nodedefinition name="Language">
15 <string name="languagecondition" defaultvalue=""/>
16 <string name="bundle" defaultvalue="bundles.producer" />
21 <List key="languages" table="language" selection="${languagecondition}" order="code"/>
22 <Enumerate key="language" table="language" selection="${languagecondition}" order="code">
23 <Resource bundle="${bundle}" key="lang" language="${language.code}"/>
24 <Define key="pathprefix" value="${language.code}" />
30 <producer name="articles">
32 <verb name="changed" default="1">
33 <Define key="verbcondition" value=" and (not is_produced)"/>
34 <Set key="limit" value="10"/>
37 <Define key="verbcondition" value=""/>
38 <Set key="limit" value="-1"/>
42 <Define key="verbcondition" value=""/>
43 <Set key="limit" value="10"/>
47 <Enumerate key="article" table="content" selection="1=1 ${verbcondition}"
48 limit="limit" order="webdb_create desc, date desc">
49 <If condition="article.is_published == '1'">
53 generator="/article.template"
54 destination="${config.storageRoot}/${pathprefix}/${article.date.formatted.yyyy}/${article.date.formatted.MM}/${article.id}.shtml"/>
56 generator="/emailThisArticle.template"
57 destination="${config.storageRoot}/${pathprefix}/${article.date.formatted.yyyy}/${article.date.formatted.MM}/${article.id}.txt"/>
60 numLinesBetweenImages="3"
63 contentAreaWidthCM="16"
66 generator="/printablecontent.template"
67 destination="${config.storageRoot}/${pathprefix}/${article.date.formatted.yyyy}/${article.date.formatted.MM}/${article.id}.fo"
70 generator="${config.storageRoot}/${pathprefix}/${article.date.formatted.yyyy}/${article.date.formatted.MM}/${article.id}.fo"
71 destination="${config.storageRoot}/${pathprefix}/${article.date.formatted.yyyy}/${article.date.formatted.MM}/${article.id}.pdf"
72 stylesheet="${config["Producer.HTML2FOStyleSheet"]}" />
74 <MarkContent key="article"/>
75 <IndexContent key="article" pathToIndex="${config["IndexPath"]}"/>
78 <UnIndexContent key="article" pathToIndex="${config["IndexPath"]}"/>
85 <!-- <producer name="index-articles">
87 <verb name="changed" default="1">
88 <Define key="verbcondition" value=" and (not is_produced)"/>
89 <Set key="limit" value="10"/>
92 <Define key="verbcondition" value=""/>
93 <Set key="limit" value="-1"/>
97 <Define key="verbcondition" value=""/>
98 <Set key="limit" value="10"/>
102 <Enumerate key="article" table="content" selection="is_published='t' ${verbcondition}"
103 limit="limit" order="webdb_create desc, date desc">
104 <IndexContent key="article" pathToIndex="/tmp/index"/>
110 <producer name="navigation">
112 <verb name="generate" default="1" description="generates the left column"/>
117 generator="/navigation.template"
118 destination="${config.storageRoot}/${pathprefix}/navigation.inc"/>
123 <producer name="staticimages">
125 <verb name="generate" default="1" description="copies all the static image files into place"/>
128 <CopyDir destination="img" source="etc/producer/images"/>
132 <producer name="newswirearchive">
135 <Set key="pages" value="3"/>
138 <Set key="pages" value="-1"/>
142 <Define key="docSuffix" value=".shtml"/>
143 <Define key="storageSuffix" value=".shtml"/>
145 <Batch key="articles" infokey="batch" table="content"
146 process="pages" batchsize="20" minbatchsize="10"
147 selection="is_published='1' and to_article_type = ${articletype.newswire}"
148 order="webdb_create asc">
151 <Define key="pagePrefix" value="${pathprefix}/newswire/archive"/>
152 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
153 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
156 generator="newswirearchive.template"
157 destination="${storagePrefix}${batch.current.identifier}${storageSuffix}"/>
163 <Define key="pagePrefix" value="${pathprefix}/newswire/archive"/>
164 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
165 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
167 generator="batchnav.template"
168 destination="${storagePrefix}nav${storageSuffix}"/>
175 <producer name="featurearchive">
178 <Set key="pages" value="3"/>
181 <Set key="pages" value="-1"/>
185 <Define key="docSuffix" value=".shtml"/>
186 <Define key="storageSuffix" value=".shtml"/>
188 <Batch key="articles" infokey="batch" table="content"
189 process="pages" batchsize="20" minbatchsize="10"
190 selection="is_published='1' and to_article_type in (${articletype.feature}, ${articletype.startspecial})"
191 order="webdb_create asc">
194 <Define key="pagePrefix" value="${pathprefix}/feature/archive"/>
195 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
196 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
199 generator="featurearchive.template"
200 destination="${storagePrefix}${batch.current.identifier}${storageSuffix}"/>
206 <Define key="pagePrefix" value="${pathprefix}/feature/archive"/>
207 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
208 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
210 generator="batchnav.template"
211 destination="${storagePrefix}nav${storageSuffix}"/>
218 <producer name="topicpages">
221 <Set key="_topics" value="-1"/>
222 <Set key="pages" value="3"/>
225 <Set key="_topics" value="-1"/>
226 <Set key="pages" value="-1"/>
229 <Set key="_topics" value="2"/>
230 <Set key="pages" value="4"/>
234 <Enumerate key="topic" table="topic" limit="_topics">
235 <Define key="docSuffix" value=".shtml"/>
236 <Define key="storageSuffix" value=".shtml"/>
238 <List key="special" table="content"
239 selection="is_published='1' and to_article_type = ${articletype.topicspecial} and id in (select content_id from content_x_topic where topic_id = ${topic.id})"
240 order = "webdb_create desc, date desc" limit="1"/>
242 <Batch key="articles" infokey="batch" table="content"
243 process="pages" batchsize="20" minbatchsize="10"
244 selection="is_published='1' and to_article_type in (${articletype.newswire}, ${articletype.feature}) and id in (select content_id from content_x_topic where topic_id = ${topic.id})"
245 order="webdb_create asc">
248 <Define key="pagePrefix" value="${pathprefix}/${topic.filename}/archive"/>
249 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
250 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
253 generator="topicpage.template"
254 destination="${storagePrefix}${batch.current.identifier}${storageSuffix}"/>
260 <Define key="pagePrefix" value="${pathprefix}/${topic.filename}/archive"/>
261 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
262 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
264 generator="batchnav.template"
265 destination="${storagePrefix}nav${storageSuffix}"/>
273 <producer name="startpage">
275 <verb name="generate" default="1" description="Generates the startpage"/>
279 <List key="startspecial" table="content" limit="1"
280 selection="is_published=true and to_article_type=${articletype.startspecial}"
281 order="webdb_create desc, date desc"/>
283 <List key="features" table="content" limit="10"
284 selection="is_published=true and to_article_type=${articletype.feature}"
285 order="webdb_create desc, date desc"/>
287 <List key="newswire" table="content" limit="30"
288 selection="is_published=true and to_article_type=${articletype.newswire}"
289 order="webdb_create desc, date desc"/>
291 <List key="breakingnews" table="breakingNews" limit="10"
292 order="webdb_create desc"/>
296 generator="/startpage.template"
297 destination="${config.storageRoot}/${pathprefix}/index.shtml"/>
302 <producer name="synchronization">
304 <verb name="run" default="1" description="Synchronizes the publication site with the production site"/>
308 <If condition="config['Rsync'] in ('1', 'y', 'yes', 'Y')">
310 <Execute command="${config['Rsync.Script.Path']}"/>