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="is_published='t' ${verbcondition}"
48 limit="limit" order="webdb_create desc, date desc">
51 generator="/article.template"
52 destination="${config.storageRoot}/${pathprefix}/${article.date.formatted.yyyy}/${article.date.formatted.MM}/${article.id}.shtml"/>
54 generator="/emailThisArticle.template"
55 destination="${config.storageRoot}/${pathprefix}/${article.date.formatted.yyyy}/${article.date.formatted.MM}/${article.id}.txt"/>
58 numLinesBetweenImages="3"
61 contentAreaWidthCM="16"
64 generator="/printablecontent.template"
65 destination="${config.storageRoot}/${pathprefix}/${article.date.formatted.yyyy}/${article.date.formatted.MM}/${article.id}.fo"
68 generator="${config.storageRoot}/${pathprefix}/${article.date.formatted.yyyy}/${article.date.formatted.MM}/${article.id}.fo"
69 destination="${config.storageRoot}/${pathprefix}/${article.date.formatted.yyyy}/${article.date.formatted.MM}/${article.id}.pdf"
70 stylesheet="${config["Producer.HTML2FOStyleSheet"]}" />
72 <MarkContent key="article"/>
73 <IndexContent key="article" pathToIndex="/tmp/index"/>
78 <!-- <producer name="index-articles">
80 <verb name="changed" default="1">
81 <Define key="verbcondition" value=" and (not is_produced)"/>
82 <Set key="limit" value="10"/>
85 <Define key="verbcondition" value=""/>
86 <Set key="limit" value="-1"/>
90 <Define key="verbcondition" value=""/>
91 <Set key="limit" value="10"/>
95 <Enumerate key="article" table="content" selection="is_published='t' ${verbcondition}"
96 limit="limit" order="webdb_create desc, date desc">
97 <IndexContent key="article" pathToIndex="/tmp/index"/>
103 <producer name="navigation">
105 <verb name="generate" default="1" description="generates the left column"/>
110 generator="/navigation.template"
111 destination="${config.storageRoot}/${pathprefix}/navigation.inc"/>
116 <producer name="staticimages">
118 <verb name="generate" default="1" description="copies all the static image files into place"/>
121 <CopyDir destination="img" source="etc/producer/images"/>
125 <producer name="newswirearchive">
128 <Set key="pages" value="3"/>
131 <Set key="pages" value="-1"/>
135 <Define key="docSuffix" value=".shtml"/>
136 <Define key="storageSuffix" value=".shtml"/>
138 <Batch key="articles" infokey="batch" table="content"
139 process="pages" batchsize="20" minbatchsize="10"
140 selection="is_published='1' and to_article_type = ${articletype.newswire}"
141 order="webdb_create asc">
144 <Define key="pagePrefix" value="${pathprefix}/newswire/archive"/>
145 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
146 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
149 generator="newswirearchive.template"
150 destination="${storagePrefix}${batch.current.identifier}${storageSuffix}"/>
156 <Define key="pagePrefix" value="${pathprefix}/newswire/archive"/>
157 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
158 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
160 generator="batchnav.template"
161 destination="${storagePrefix}nav${storageSuffix}"/>
168 <producer name="featurearchive">
171 <Set key="pages" value="3"/>
174 <Set key="pages" value="-1"/>
178 <Define key="docSuffix" value=".shtml"/>
179 <Define key="storageSuffix" value=".shtml"/>
181 <Batch key="articles" infokey="batch" table="content"
182 process="pages" batchsize="20" minbatchsize="10"
183 selection="is_published='1' and to_article_type in (${articletype.feature}, ${articletype.startspecial})"
184 order="webdb_create asc">
187 <Define key="pagePrefix" value="${pathprefix}/feature/archive"/>
188 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
189 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
192 generator="featurearchive.template"
193 destination="${storagePrefix}${batch.current.identifier}${storageSuffix}"/>
199 <Define key="pagePrefix" value="${pathprefix}/feature/archive"/>
200 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
201 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
203 generator="batchnav.template"
204 destination="${storagePrefix}nav${storageSuffix}"/>
211 <producer name="topicpages">
214 <Set key="_topics" value="-1"/>
215 <Set key="pages" value="3"/>
218 <Set key="_topics" value="-1"/>
219 <Set key="pages" value="-1"/>
222 <Set key="_topics" value="2"/>
223 <Set key="pages" value="4"/>
227 <Enumerate key="topic" table="topic" limit="_topics">
228 <Define key="docSuffix" value=".shtml"/>
229 <Define key="storageSuffix" value=".shtml"/>
231 <List key="special" table="content"
232 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})"
233 order = "webdb_create desc, date desc" limit="1"/>
235 <Batch key="articles" infokey="batch" table="content"
236 process="pages" batchsize="20" minbatchsize="10"
237 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})"
238 order="webdb_create asc">
241 <Define key="pagePrefix" value="${pathprefix}/${topic.filename}/archive"/>
242 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
243 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
246 generator="topicpage.template"
247 destination="${storagePrefix}${batch.current.identifier}${storageSuffix}"/>
253 <Define key="pagePrefix" value="${pathprefix}/${topic.filename}/archive"/>
254 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
255 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
257 generator="batchnav.template"
258 destination="${storagePrefix}nav${storageSuffix}"/>
266 <producer name="startpage">
268 <verb name="generate" default="1" description="Generates the startpage"/>
272 <List key="startspecial" table="content" limit="1"
273 selection="is_published=true and to_article_type=${articletype.startspecial}"
274 order="webdb_create desc, date desc"/>
276 <List key="features" table="content" limit="10"
277 selection="is_published=true and to_article_type=${articletype.feature}"
278 order="webdb_create desc, date desc"/>
280 <List key="newswire" table="content" limit="30"
281 selection="is_published=true and to_article_type=${articletype.newswire}"
282 order="webdb_create desc, date desc"/>
284 <List key="breakingnews" table="breakingNews" limit="10"
285 order="webdb_create desc"/>
289 generator="/startpage.template"
290 destination="${config.storageRoot}/${pathprefix}/index.shtml"/>
295 <producer name="synchronization">
297 <verb name="run" default="1" description="Synchronizes the publication site with the production site"/>
301 <If condition="config['Rsync'] in ('1', 'y', 'yes', 'Y')">
303 <Execute command="${config['Rsync.Script.Path']}"/>