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"/>
59 <MarkContent key="article"/>
60 <!-- <IndexContent key="article" pathToIndex="/tmp/index"/>-->
65 <!-- <producer name="search-articles">
67 <verb name="changed" default="1">
68 <Define key="verbcondition" value=" and (not is_produced)"/>
69 <Set key="limit" value="10"/>
72 <Define key="verbcondition" value=""/>
73 <Set key="limit" value="-1"/>
77 <Define key="verbcondition" value=""/>
78 <Set key="limit" value="10"/>
82 <Enumerate key="article" table="content" selection="is_published='t' ${verbcondition}"
83 limit="limit" order="webdb_create desc, date desc">
84 <IndexContent key="article" pathToIndex="/tmp/index"/>
90 <producer name="navigation">
92 <verb name="generate" default="1" description="generates the left column"/>
97 generator="/navigation.template"
98 destination="${config.storageRoot}/${pathprefix}/navigation.inc"/>
103 <producer name="staticimages">
105 <verb name="generate" default="1" description="copies all the static image files into place"/>
108 <CopyDir destination="img" source="etc/producer/images"/>
112 <producer name="newswirearchive">
115 <Set key="pages" value="3"/>
118 <Set key="pages" value="-1"/>
122 <Define key="docSuffix" value=".shtml"/>
123 <Define key="storageSuffix" value=".shtml"/>
125 <Batch key="articles" infokey="batch" table="content"
126 process="pages" batchsize="20" minbatchsize="10"
127 selection="is_published='1' and to_article_type = ${articletype.newswire}"
128 order="webdb_create asc">
131 <Define key="pagePrefix" value="${pathprefix}/newswire/archive"/>
132 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
133 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
136 generator="newswirearchive.template"
137 destination="${storagePrefix}${batch.current.identifier}${storageSuffix}"/>
143 <Define key="pagePrefix" value="${pathprefix}/newswire/archive"/>
144 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
145 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
147 generator="batchnav.template"
148 destination="${storagePrefix}nav${storageSuffix}"/>
155 <producer name="featurearchive">
158 <Set key="pages" value="3"/>
161 <Set key="pages" value="-1"/>
165 <Define key="docSuffix" value=".shtml"/>
166 <Define key="storageSuffix" value=".shtml"/>
168 <Batch key="articles" infokey="batch" table="content"
169 process="pages" batchsize="20" minbatchsize="10"
170 selection="is_published='1' and to_article_type in (${articletype.feature}, ${articletype.startspecial})"
171 order="webdb_create asc">
174 <Define key="pagePrefix" value="${pathprefix}/feature/archive"/>
175 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
176 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
179 generator="featurearchive.template"
180 destination="${storagePrefix}${batch.current.identifier}${storageSuffix}"/>
186 <Define key="pagePrefix" value="${pathprefix}/feature/archive"/>
187 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
188 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
190 generator="batchnav.template"
191 destination="${storagePrefix}nav${storageSuffix}"/>
198 <producer name="topicpages">
201 <Set key="_topics" value="-1"/>
202 <Set key="pages" value="3"/>
205 <Set key="_topics" value="-1"/>
206 <Set key="pages" value="-1"/>
209 <Set key="_topics" value="2"/>
210 <Set key="pages" value="4"/>
214 <Enumerate key="topic" table="topic" limit="_topics">
215 <Define key="docSuffix" value=".shtml"/>
216 <Define key="storageSuffix" value=".shtml"/>
218 <List key="special" table="content"
219 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})"
220 order = "webdb_create desc, date desc" limit="1"/>
222 <Batch key="articles" infokey="batch" table="content"
223 process="pages" batchsize="20" minbatchsize="10"
224 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})"
225 order="webdb_create asc">
228 <Define key="pagePrefix" value="${pathprefix}/${topic.filename}/archive"/>
229 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
230 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
233 generator="topicpage.template"
234 destination="${storagePrefix}${batch.current.identifier}${storageSuffix}"/>
240 <Define key="pagePrefix" value="${pathprefix}/${topic.filename}/archive"/>
241 <Define key="storagePrefix" value="${config["Producer.StorageRoot"]}/${pagePrefix}"/>
242 <Define key="docPrefix" value="${config["Producer.DocRoot"]}/${pagePrefix}"/>
244 generator="batchnav.template"
245 destination="${storagePrefix}nav${storageSuffix}"/>
253 <producer name="startpage">
255 <verb name="generate" default="1" description="Generates the startpage"/>
259 <List key="startspecial" table="content" limit="1"
260 selection="is_published=true and to_article_type=${articletype.startspecial}"
261 order="webdb_create desc, date desc"/>
263 <List key="features" table="content" limit="10"
264 selection="is_published=true and to_article_type=${articletype.feature}"
265 order="webdb_create desc, date desc"/>
267 <List key="newswire" table="content" limit="30"
268 selection="is_published=true and to_article_type=${articletype.newswire}"
269 order="webdb_create desc, date desc"/>
271 <List key="breakingnews" table="breakingNews" limit="10"
272 order="webdb_create desc"/>
276 generator="/startpage.template"
277 destination="${config.storageRoot}/${pathprefix}/index.shtml"/>
282 <producer name="synchronization">
284 <verb name="run" default="1" description="Synchronizes the publication site with the production site"/>
288 <If condition="config['Rsync'] in ('1', 'y', 'yes', 'Y')">
290 <Execute command="${config['Rsync.Script.Path']}"/>