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"]}" />
73 <MarkContent key="article"/>
74 <!-- <IndexContent key="article" pathToIndex="/tmp/index"/>-->
79 <!-- <producer name="search-articles">
81 <verb name="changed" default="1">
82 <Define key="verbcondition" value=" and (not is_produced)"/>
83 <Set key="limit" value="10"/>
86 <Define key="verbcondition" value=""/>
87 <Set key="limit" value="-1"/>
91 <Define key="verbcondition" value=""/>
92 <Set key="limit" value="10"/>
96 <Enumerate key="article" table="content" selection="is_published='t' ${verbcondition}"
97 limit="limit" order="webdb_create desc, date desc">
98 <IndexContent key="article" pathToIndex="/tmp/index"/>
104 <producer name="navigation">
106 <verb name="generate" default="1" description="generates the left column"/>
111 generator="/navigation.template"
112 destination="${config.storageRoot}/${pathprefix}/navigation.inc"/>
117 <producer name="staticimages">
119 <verb name="generate" default="1" description="copies all the static image files into place"/>
122 <CopyDir destination="img" source="etc/producer/images"/>
126 <producer name="newswirearchive">
129 <Set key="pages" value="3"/>
132 <Set key="pages" value="-1"/>
136 <Define key="docSuffix" value=".shtml"/>
137 <Define key="storageSuffix" value=".shtml"/>
139 <Batch key="articles" infokey="batch" table="content"
140 process="pages" batchsize="20" minbatchsize="10"
141 selection="is_published='1' and to_article_type = ${articletype.newswire}"
142 order="webdb_create asc">
145 <Define key="pagePrefix" value="${pathprefix}/newswire/archive"/>
146 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
147 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
150 generator="newswirearchive.template"
151 destination="${storagePrefix}${batch.current.identifier}${storageSuffix}"/>
157 <Define key="pagePrefix" value="${pathprefix}/newswire/archive"/>
158 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
159 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
161 generator="batchnav.template"
162 destination="${storagePrefix}nav${storageSuffix}"/>
169 <producer name="featurearchive">
172 <Set key="pages" value="3"/>
175 <Set key="pages" value="-1"/>
179 <Define key="docSuffix" value=".shtml"/>
180 <Define key="storageSuffix" value=".shtml"/>
182 <Batch key="articles" infokey="batch" table="content"
183 process="pages" batchsize="20" minbatchsize="10"
184 selection="is_published='1' and to_article_type in (${articletype.feature}, ${articletype.startspecial})"
185 order="webdb_create asc">
188 <Define key="pagePrefix" value="${pathprefix}/feature/archive"/>
189 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
190 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
193 generator="featurearchive.template"
194 destination="${storagePrefix}${batch.current.identifier}${storageSuffix}"/>
200 <Define key="pagePrefix" value="${pathprefix}/feature/archive"/>
201 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
202 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
204 generator="batchnav.template"
205 destination="${storagePrefix}nav${storageSuffix}"/>
212 <producer name="topicpages">
215 <Set key="_topics" value="-1"/>
216 <Set key="pages" value="3"/>
219 <Set key="_topics" value="-1"/>
220 <Set key="pages" value="-1"/>
223 <Set key="_topics" value="2"/>
224 <Set key="pages" value="4"/>
228 <Enumerate key="topic" table="topic" limit="_topics">
229 <Define key="docSuffix" value=".shtml"/>
230 <Define key="storageSuffix" value=".shtml"/>
232 <List key="special" table="content"
233 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})"
234 order = "webdb_create desc, date desc" limit="1"/>
236 <Batch key="articles" infokey="batch" table="content"
237 process="pages" batchsize="20" minbatchsize="10"
238 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})"
239 order="webdb_create asc">
242 <Define key="pagePrefix" value="${pathprefix}/${topic.filename}/archive"/>
243 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
244 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
247 generator="topicpage.template"
248 destination="${storagePrefix}${batch.current.identifier}${storageSuffix}"/>
254 <Define key="pagePrefix" value="${pathprefix}/${topic.filename}/archive"/>
255 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
256 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
258 generator="batchnav.template"
259 destination="${storagePrefix}nav${storageSuffix}"/>
267 <producer name="startpage">
269 <verb name="generate" default="1" description="Generates the startpage"/>
273 <List key="startspecial" table="content" limit="1"
274 selection="is_published=true and to_article_type=${articletype.startspecial}"
275 order="webdb_create desc, date desc"/>
277 <List key="features" table="content" limit="10"
278 selection="is_published=true and to_article_type=${articletype.feature}"
279 order="webdb_create desc, date desc"/>
281 <List key="newswire" table="content" limit="30"
282 selection="is_published=true and to_article_type=${articletype.newswire}"
283 order="webdb_create desc, date desc"/>
285 <List key="breakingnews" table="breakingNews" limit="10"
286 order="webdb_create desc"/>
290 generator="/startpage.template"
291 destination="${config.storageRoot}/${pathprefix}/index.shtml"/>
296 <producer name="synchronization">
298 <verb name="run" default="1" description="Synchronizes the publication site with the production site"/>
302 <If condition="config['Rsync'] in ('1', 'y', 'yes', 'Y')">
304 <Execute command="${config['Rsync.Script.Path']}"/>