2 This XML file defines a set of producers intended for a typical indymedia
14 <nodedefinition name="Language">
16 <string name="languagecondition" defaultvalue=""/>
17 <string name="bundle" defaultvalue="bundles.producer" />
22 <List key="languages" table="language" selection="${languagecondition}" order="code"/>
23 <Enumerate key="language" table="language" selection="${languagecondition}" order="code">
24 <Resource bundle="${bundle}" key="lang" language="${language.code}"/>
25 <Define key="pathprefix" value="${language.code}" />
31 <producer name="articles">
33 <verb name="changed" default="1">
34 <Define key="verbcondition" value="(not is_produced)"/>
35 <Set key="limit" value="10"/>
38 <Define key="verbcondition" value=""/>
39 <Set key="limit" value="-1"/>
43 <Define key="verbcondition" value=""/>
44 <Set key="limit" value="10"/>
48 <Enumerate key="article" table="content" selection="${verbcondition}"
49 limit="limit" order="webdb_create desc">
50 <If condition="article.is_published == '1'">
54 generator="/article.template"
55 destination="${config.storageRoot}/${pathprefix}/${article.date.formatted.yyyy}/${article.date.formatted.MM}/${article.id}.shtml"/>
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 <IndexContent key="article" pathToIndex="${config['IndexPath']}"/>
77 <UnIndexContent key="article" pathToIndex="${config['IndexPath']}"/>
80 <MarkContent key="article"/>
85 <producer name="navigation">
87 <verb name="generate" default="1" description="generates the left column"/>
92 generator="/navigation.template"
93 destination="${config.storageRoot}/${pathprefix}/navigation.inc"/>
98 <producer name="staticimages">
100 <verb name="generate" default="1" description="copies all the static image files into place"/>
103 <CopyDir destination="img" source="etc/producer/images"/>
107 <producer name="newswirearchive">
110 <Set key="pages" value="3"/>
113 <Set key="pages" value="-1"/>
117 <Define key="docSuffix" value=".shtml"/>
118 <Define key="storageSuffix" value=".shtml"/>
120 <Batch key="articles" infokey="batch" table="content"
121 process="pages" batchsize="20" minbatchsize="10"
122 selection="is_published='1' and to_article_type = ${articletype.newswire}"
123 order="webdb_create asc">
126 <Define key="pagePrefix" value="${pathprefix}/newswire/archive"/>
127 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
128 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
131 generator="newswirearchive.template"
132 destination="${storagePrefix}${batch.current.identifier}${storageSuffix}"/>
138 <Define key="pagePrefix" value="${pathprefix}/newswire/archive"/>
139 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
140 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
142 generator="batchnav.template"
143 destination="${storagePrefix}nav${storageSuffix}"/>
150 <producer name="featurearchive">
153 <Set key="pages" value="3"/>
156 <Set key="pages" value="-1"/>
160 <Define key="docSuffix" value=".shtml"/>
161 <Define key="storageSuffix" value=".shtml"/>
163 <Batch key="articles" infokey="batch" table="content"
164 process="pages" batchsize="20" minbatchsize="10"
165 selection="is_published='1' and to_article_type in (${articletype.feature}, ${articletype.startspecial})"
166 order="webdb_create asc">
169 <Define key="pagePrefix" value="${pathprefix}/feature/archive"/>
170 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
171 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
174 generator="featurearchive.template"
175 destination="${storagePrefix}${batch.current.identifier}${storageSuffix}"/>
181 <Define key="pagePrefix" value="${pathprefix}/feature/archive"/>
182 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
183 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
185 generator="batchnav.template"
186 destination="${storagePrefix}nav${storageSuffix}"/>
193 <producer name="topicpages">
196 <Set key="_topics" value="-1"/>
197 <Set key="pages" value="3"/>
200 <Set key="_topics" value="-1"/>
201 <Set key="pages" value="-1"/>
204 <Set key="_topics" value="2"/>
205 <Set key="pages" value="4"/>
209 <Enumerate key="topic" table="topic" limit="_topics">
210 <Define key="docSuffix" value=".shtml"/>
211 <Define key="storageSuffix" value=".shtml"/>
213 <List key="special" table="content"
214 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})"
215 order = "webdb_create desc" limit="1"/>
217 <Batch key="articles" infokey="batch" table="content"
218 process="pages" batchsize="20" minbatchsize="10"
219 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})"
220 order="webdb_create asc">
223 <Define key="pagePrefix" value="${pathprefix}/${topic.filename}/archive"/>
224 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
225 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
228 generator="topicpage.template"
229 destination="${storagePrefix}${batch.current.identifier}${storageSuffix}"/>
235 <Define key="pagePrefix" value="${pathprefix}/${topic.filename}/archive"/>
236 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
237 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
239 generator="batchnav.template"
240 destination="${storagePrefix}nav${storageSuffix}"/>
248 <producer name="startpage">
250 <verb name="generate" default="1" description="Generates the startpage"/>
254 <List key="startspecial" table="content" limit="1"
255 selection="is_published=true and to_article_type=${articletype.startspecial}"
256 order="webdb_create desc"/>
258 <List key="features" table="content" limit="10"
259 selection="is_published=true and to_article_type=${articletype.feature}"
260 order="webdb_create desc"/>
262 <List key="newswire" table="content" limit="30"
263 selection="is_published=true and to_article_type=${articletype.newswire}"
264 order="webdb_create desc"/>
266 <List key="breakingnews" table="breakingNews" limit="10"
267 order="webdb_create desc"/>
271 generator="/startpage.template"
272 destination="${config.storageRoot}/${pathprefix}/index.shtml"/>
277 <producer name="synchronization">
279 <verb name="run" default="1" description="Synchronizes the publication site with the production site"/>
283 <If condition="config['Rsync'] in ('1', 'y', 'yes', 'Y')">
285 <Execute command="${config['Rsync.Script.Path']}"/>
292 <producer name="media">
294 <verb name="new" default="1">
295 <Define key="verbcondition" value="(not is_produced)"/>
296 <Set key="limit" value="10"/>
299 <Define key="verbcondition" value=""/>
300 <Set key="limit" value="-1"/>
304 <Define key="verbcondition" value=""/>
305 <Set key="limit" value="10"/>
310 key="media" table="image"
311 selection="${verbcondition}"
313 order="webdb_create desc">
315 <GenerateMedia key="media" />
318 key="media" table="video"
319 selection="${verbcondition}"
321 order="webdb_create desc">
323 <GenerateMedia key="media" />
326 key="media" table="audio"
327 selection="${verbcondition}"
329 order="webdb_create desc">
331 <GenerateMedia key="media" />
334 key="media" table="otherMedia"
335 selection="${verbcondition}"
337 order="webdb_create desc">
339 <GenerateMedia key="media" />